From aa486a5c0ca9b5e886fedd3b12acf0e5238f2ce7 Mon Sep 17 00:00:00 2001 From: Konstantinos Sideris Date: Sun, 7 Oct 2018 14:09:47 +0300 Subject: Adjustments for the minimized sidebar --- src/Splitter.cpp | 39 +++++++++++++++++++-------------------- 1 file changed, 19 insertions(+), 20 deletions(-) (limited to 'src/Splitter.cpp') diff --git a/src/Splitter.cpp b/src/Splitter.cpp index f5bbf367..ddb1dc1c 100644 --- a/src/Splitter.cpp +++ b/src/Splitter.cpp @@ -23,12 +23,12 @@ #include "Config.h" #include "Splitter.h" -#include "ui/Theme.h" constexpr auto MaxWidth = (1 << 24) - 1; Splitter::Splitter(QWidget *parent) : QSplitter(parent) + , sz_{utils::calculateSidebarSizes(QFont{})} { connect(this, &QSplitter::splitterMoved, this, &Splitter::onSplitterMoved); setChildrenCollapsible(false); @@ -45,17 +45,17 @@ Splitter::restoreSizes(int fallback) if (savedWidth == 0) { hideSidebar(); return; - } else if (savedWidth == ui::sidebar::SmallSize) { + } else if (savedWidth == sz_.small) { if (left) { - left->setMinimumWidth(ui::sidebar::SmallSize); - left->setMaximumWidth(ui::sidebar::SmallSize); + left->setMinimumWidth(sz_.small); + left->setMaximumWidth(sz_.small); return; } } - left->setMinimumWidth(ui::sidebar::NormalSize); - left->setMaximumWidth(2 * ui::sidebar::NormalSize); - setSizes({ui::sidebar::NormalSize, fallback - ui::sidebar::NormalSize}); + left->setMinimumWidth(sz_.normal); + left->setMaximumWidth(2 * sz_.normal); + setSizes({sz_.normal, fallback - sz_.normal}); setStretchFactor(0, 0); setStretchFactor(1, 1); @@ -84,7 +84,7 @@ Splitter::onSplitterMoved(int pos, int index) return; } - if (s[0] == ui::sidebar::NormalSize) { + if (s[0] == sz_.normal) { rightMoveCount_ += 1; if (rightMoveCount_ > moveEventLimit_) { @@ -94,13 +94,13 @@ Splitter::onSplitterMoved(int pos, int index) // if we are coming from the right, the cursor should // end up on the first widget. if (left->rect().contains(cursorPosition)) { - left->setMinimumWidth(ui::sidebar::SmallSize); - left->setMaximumWidth(ui::sidebar::SmallSize); + left->setMinimumWidth(sz_.small); + left->setMaximumWidth(sz_.small); rightMoveCount_ = 0; } } - } else if (s[0] == ui::sidebar::SmallSize) { + } else if (s[0] == sz_.small) { leftMoveCount_ += 1; if (leftMoveCount_ > moveEventLimit_) { @@ -115,10 +115,9 @@ Splitter::onSplitterMoved(int pos, int index) // if we are coming from the left, the cursor should // end up on the second widget. if (extended.contains(cursorPosition) && - right->size().width() >= - conf::sideBarCollapsePoint + ui::sidebar::NormalSize) { - left->setMinimumWidth(ui::sidebar::NormalSize); - left->setMaximumWidth(2 * ui::sidebar::NormalSize); + right->size().width() >= sz_.collapsePoint + sz_.normal) { + left->setMinimumWidth(sz_.normal); + left->setMaximumWidth(2 * sz_.normal); leftMoveCount_ = 0; } @@ -145,12 +144,12 @@ Splitter::showChatView() right->show(); // Restore previous size. - if (left->minimumWidth() == ui::sidebar::SmallSize) { - left->setMinimumWidth(ui::sidebar::SmallSize); - left->setMaximumWidth(ui::sidebar::SmallSize); + if (left->minimumWidth() == sz_.small) { + left->setMinimumWidth(sz_.small); + left->setMaximumWidth(sz_.small); } else { - left->setMinimumWidth(ui::sidebar::NormalSize); - left->setMaximumWidth(2 * ui::sidebar::NormalSize); + left->setMinimumWidth(sz_.normal); + left->setMaximumWidth(2 * sz_.normal); } } } -- cgit 1.5.1