Auto-adjust fits collapsed columns to the screen; dims manual offset (v1.6.0)

This commit is contained in:
2026-07-12 08:37:18 -03:00
parent 5560c42bcc
commit 355104cf26
6 changed files with 135 additions and 3 deletions

View File

@@ -23,6 +23,7 @@ class ConfigController extends BaseController
$offset = (int) $this->configModel->get('shrink_vertically_offset', self::DEFAULT_OFFSET);
$barSize = (int) $this->configModel->get('shrink_vertically_bar_size', self::DEFAULT_BAR_SIZE);
$topScrollbar = (int) $this->configModel->get('shrink_vertically_top_scrollbar', 1);
$auto = (int) $this->configModel->get('shrink_vertically_auto', 0);
$this->response->html($this->helper->layout->config('shrinkVertically:config/show', array(
'title' => t('Settings').' > '.t('Shrink Vertically'),
@@ -30,6 +31,7 @@ class ConfigController extends BaseController
'shrink_vertically_offset' => $offset,
'shrink_vertically_bar_size' => $barSize,
'shrink_vertically_top_scrollbar' => $topScrollbar,
'shrink_vertically_auto' => $auto,
),
'errors' => array(),
)));
@@ -39,18 +41,24 @@ class ConfigController extends BaseController
{
$values = $this->request->getValues();
$offset = isset($values['shrink_vertically_offset']) ? (int) $values['shrink_vertically_offset'] : self::DEFAULT_OFFSET;
// In auto mode the offset input is disabled client-side, so the browser does not submit it.
// Fall back to the stored value (not the default) so enabling auto never wipes the manual offset.
$offset = isset($values['shrink_vertically_offset'])
? (int) $values['shrink_vertically_offset']
: (int) $this->configModel->get('shrink_vertically_offset', self::DEFAULT_OFFSET);
$offset = max(self::MIN_OFFSET, min(self::MAX_OFFSET, $offset));
$barSize = isset($values['shrink_vertically_bar_size']) ? (int) $values['shrink_vertically_bar_size'] : self::DEFAULT_BAR_SIZE;
$barSize = max(self::MIN_BAR_SIZE, min(self::MAX_BAR_SIZE, $barSize));
$topScrollbar = isset($values['shrink_vertically_top_scrollbar']) ? 1 : 0;
$auto = isset($values['shrink_vertically_auto']) ? 1 : 0;
if ($this->configModel->save(array(
'shrink_vertically_offset' => $offset,
'shrink_vertically_bar_size' => $barSize,
'shrink_vertically_top_scrollbar' => $topScrollbar,
'shrink_vertically_auto' => $auto,
))) {
$this->flash->success(t('Settings saved successfully.'));
} else {