Added fit mode to browsing settings
This commit is contained in:
parent
5882998c20
commit
5ad854e38a
7 changed files with 55 additions and 7 deletions
|
@ -33,6 +33,7 @@ App.BrowsingSettings = function(
|
||||||
unsafe: true,
|
unsafe: true,
|
||||||
},
|
},
|
||||||
keyboardShortcuts: true,
|
keyboardShortcuts: true,
|
||||||
|
fitMode: 'fit-width',
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -91,7 +92,6 @@ App.BrowsingSettings = function(
|
||||||
getSettings: getSettings,
|
getSettings: getSettings,
|
||||||
setSettings: setSettings,
|
setSettings: setSettings,
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
App.DI.registerSingleton('browsingSettings', ['promise', 'auth', 'api'], App.BrowsingSettings);
|
App.DI.registerSingleton('browsingSettings', ['promise', 'auth', 'api'], App.BrowsingSettings);
|
||||||
|
|
|
@ -7,7 +7,8 @@ App.Presenters.PostContentPresenter = function(
|
||||||
promise,
|
promise,
|
||||||
keyboard,
|
keyboard,
|
||||||
presenterManager,
|
presenterManager,
|
||||||
postNotesPresenter) {
|
postNotesPresenter,
|
||||||
|
browsingSettings) {
|
||||||
|
|
||||||
var post;
|
var post;
|
||||||
var templates = {};
|
var templates = {};
|
||||||
|
@ -72,7 +73,7 @@ App.Presenters.PostContentPresenter = function(
|
||||||
updatePostNotesSize();
|
updatePostNotesSize();
|
||||||
}
|
}
|
||||||
|
|
||||||
changeFitMode('fit-width');
|
changeFitMode(browsingSettings.getSettings().fitMode);
|
||||||
keyboard.keyup('f', cycleFitMode);
|
keyboard.keyup('f', cycleFitMode);
|
||||||
|
|
||||||
jQuery(window).resize(updatePostNotesSize);
|
jQuery(window).resize(updatePostNotesSize);
|
||||||
|
@ -114,5 +115,6 @@ App.DI.register('postContentPresenter', [
|
||||||
'promise',
|
'promise',
|
||||||
'keyboard',
|
'keyboard',
|
||||||
'presenterManager',
|
'presenterManager',
|
||||||
'postNotesPresenter'],
|
'postNotesPresenter',
|
||||||
|
'browsingSettings'],
|
||||||
App.Presenters.PostContentPresenter);
|
App.Presenters.PostContentPresenter);
|
||||||
|
|
|
@ -52,6 +52,7 @@ App.Presenters.UserBrowsingSettingsPresenter = function(
|
||||||
unsafe: $el.find('[name=listUnsafePosts]').is(':checked'),
|
unsafe: $el.find('[name=listUnsafePosts]').is(':checked'),
|
||||||
},
|
},
|
||||||
keyboardShortcuts: $el.find('[name=keyboardShortcuts]').is(':checked'),
|
keyboardShortcuts: $el.find('[name=keyboardShortcuts]').is(':checked'),
|
||||||
|
fitMode: $el.find('[name=fitMode]:checked').val(),
|
||||||
};
|
};
|
||||||
|
|
||||||
promise.wait(browsingSettings.setSettings(newSettings))
|
promise.wait(browsingSettings.setSettings(newSettings))
|
||||||
|
|
|
@ -51,6 +51,26 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="form-row">
|
||||||
|
<label class="form-label">Default fit mode:</label>
|
||||||
|
<div class="form-input">
|
||||||
|
<input <% print(settings.fitMode === 'fit-width' ? 'checked="checked"' : '') %> type="radio" id="browsing-settings-fit-width" name="fitMode" value="fit-width"/>
|
||||||
|
<label for="browsing-settings-fit-width">
|
||||||
|
Fit width
|
||||||
|
</label>
|
||||||
|
|
||||||
|
<input <% print(settings.fitMode === 'fit-height' ? 'checked="checked"' : '') %> type="radio" id="browsing-settings-fit-height" name="fitMode" value="fit-height"/>
|
||||||
|
<label for="browsing-settings-fit-height">
|
||||||
|
Fit height
|
||||||
|
</label>
|
||||||
|
|
||||||
|
<input <% print(settings.fitMode === 'original' ? 'checked="checked"' : '') %> type="radio" id="browsing-settings-fit-original" name="fitMode" value="original"/>
|
||||||
|
<label for="browsing-settings-fit-original">
|
||||||
|
Original
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="form-row">
|
<div class="form-row">
|
||||||
<label class="form-label"></label>
|
<label class="form-label"></label>
|
||||||
<div class="form-input">
|
<div class="form-input">
|
||||||
|
@ -58,5 +78,3 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -16,7 +16,6 @@ class Upgrade37 implements IUpgrade
|
||||||
{
|
{
|
||||||
foreach ($this->userDao->findAll() as $user)
|
foreach ($this->userDao->findAll() as $user)
|
||||||
{
|
{
|
||||||
echo $user->getName() . PHP_EOL;
|
|
||||||
$browsingSettings = $user->getBrowsingSettings();
|
$browsingSettings = $user->getBrowsingSettings();
|
||||||
if ($browsingSettings === null)
|
if ($browsingSettings === null)
|
||||||
$browsingSettings = new \StdClass;
|
$browsingSettings = new \StdClass;
|
||||||
|
|
27
src/Upgrades/Upgrade40.php
Normal file
27
src/Upgrades/Upgrade40.php
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
<?php
|
||||||
|
namespace Szurubooru\Upgrades;
|
||||||
|
use Szurubooru\Dao\UserDao;
|
||||||
|
use Szurubooru\DatabaseConnection;
|
||||||
|
|
||||||
|
class Upgrade40 implements IUpgrade
|
||||||
|
{
|
||||||
|
private $userDao;
|
||||||
|
|
||||||
|
public function __construct(UserDao $userDao)
|
||||||
|
{
|
||||||
|
$this->userDao = $userDao;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function run(DatabaseConnection $databaseConnection)
|
||||||
|
{
|
||||||
|
foreach ($this->userDao->findAll() as $user)
|
||||||
|
{
|
||||||
|
$browsingSettings = $user->getBrowsingSettings();
|
||||||
|
if ($browsingSettings === null)
|
||||||
|
$browsingSettings = new \StdClass;
|
||||||
|
$browsingSettings->fitMode = 'fit-width';
|
||||||
|
$user->setBrowsingSettings($browsingSettings);
|
||||||
|
$this->userDao->save($user);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -56,6 +56,7 @@ return [
|
||||||
$container->get(\Szurubooru\Upgrades\Upgrade37::class),
|
$container->get(\Szurubooru\Upgrades\Upgrade37::class),
|
||||||
$container->get(\Szurubooru\Upgrades\Upgrade38::class),
|
$container->get(\Szurubooru\Upgrades\Upgrade38::class),
|
||||||
$container->get(\Szurubooru\Upgrades\Upgrade39::class),
|
$container->get(\Szurubooru\Upgrades\Upgrade39::class),
|
||||||
|
$container->get(\Szurubooru\Upgrades\Upgrade40::class),
|
||||||
];
|
];
|
||||||
}),
|
}),
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue