Add icons only sidebar mode
This commit is contained in:
committed by
Jonas Kvinge
parent
d87560b73e
commit
167e0d73d1
@@ -1757,6 +1757,9 @@ msgstr ""
|
|||||||
msgid "Large sidebar"
|
msgid "Large sidebar"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Icons sidebar"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Small sidebar"
|
msgid "Small sidebar"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|||||||
@@ -112,6 +112,9 @@ QSize FancyTabBar::tabSizeHint(const int index) const {
|
|||||||
QRect rect = fm.boundingRect(QRect(0, 0, w, height()), Qt::TextWordWrap, TabText(index));
|
QRect rect = fm.boundingRect(QRect(0, 0, w, height()), Qt::TextWordWrap, TabText(index));
|
||||||
size = QSize(w, tabWidget->iconsize_largesidebar() + rect.height() + 10);
|
size = QSize(w, tabWidget->iconsize_largesidebar() + rect.height() + 10);
|
||||||
}
|
}
|
||||||
|
else if (tabWidget->mode() == FancyTabWidget::Mode::IconsSidebar) {
|
||||||
|
size = QSize(tabWidget->iconsize_largesidebar() + 20, tabWidget->iconsize_largesidebar() + 20);
|
||||||
|
}
|
||||||
else if (tabWidget->mode() == FancyTabWidget::Mode::SmallSidebar) {
|
else if (tabWidget->mode() == FancyTabWidget::Mode::SmallSidebar) {
|
||||||
|
|
||||||
QFont bold_font(font());
|
QFont bold_font(font());
|
||||||
@@ -156,7 +159,9 @@ void FancyTabBar::paintEvent(QPaintEvent *pe) {
|
|||||||
|
|
||||||
FancyTabWidget *tabWidget = qobject_cast<FancyTabWidget*>(parentWidget());
|
FancyTabWidget *tabWidget = qobject_cast<FancyTabWidget*>(parentWidget());
|
||||||
|
|
||||||
if (tabWidget->mode() != FancyTabWidget::Mode::LargeSidebar && tabWidget->mode() != FancyTabWidget::Mode::SmallSidebar) {
|
if (tabWidget->mode() != FancyTabWidget::Mode::LargeSidebar &&
|
||||||
|
tabWidget->mode() != FancyTabWidget::Mode::SmallSidebar &&
|
||||||
|
tabWidget->mode() != FancyTabWidget::Mode::IconsSidebar) {
|
||||||
QTabBar::paintEvent(pe);
|
QTabBar::paintEvent(pe);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -273,7 +278,13 @@ void FancyTabBar::paintEvent(QPaintEvent *pe) {
|
|||||||
tabrectIcon.setSize(QSize(tabWidget->iconsize_largesidebar(), tabWidget->iconsize_largesidebar()));
|
tabrectIcon.setSize(QSize(tabWidget->iconsize_largesidebar(), tabWidget->iconsize_largesidebar()));
|
||||||
// Center the icon
|
// Center the icon
|
||||||
const int moveRight = (QTabBar::width() - tabWidget->iconsize_largesidebar() - 1) / 2;
|
const int moveRight = (QTabBar::width() - tabWidget->iconsize_largesidebar() - 1) / 2;
|
||||||
tabrectIcon.translate(moveRight, 5);
|
|
||||||
|
if (tabWidget->mode() == FancyTabWidget::Mode::IconsSidebar) {
|
||||||
|
tabrectIcon.translate(moveRight, (tabSizeHint(0).height() - tabWidget->iconsize_largesidebar() - 5) / 2);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
tabrectIcon.translate(moveRight, 5);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
tabIcon(index).paint(&p, tabrectIcon, iconFlags);
|
tabIcon(index).paint(&p, tabrectIcon, iconFlags);
|
||||||
p.restore();
|
p.restore();
|
||||||
|
|||||||
@@ -199,7 +199,7 @@ void FancyTabWidget::SetMode(const Mode mode) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#ifndef Q_OS_MACOS
|
#ifndef Q_OS_MACOS
|
||||||
if (mode_ == Mode::LargeSidebar) {
|
if (mode_ == Mode::LargeSidebar || mode_ == Mode::IconsSidebar) {
|
||||||
setIconSize(QSize(iconsize_largesidebar_, iconsize_largesidebar_));
|
setIconSize(QSize(iconsize_largesidebar_, iconsize_largesidebar_));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@@ -207,13 +207,15 @@ void FancyTabWidget::SetMode(const Mode mode) {
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (previous_mode == Mode::IconOnlyTabs && mode != Mode::IconOnlyTabs) {
|
if ((previous_mode == Mode::IconOnlyTabs || previous_mode == Mode::IconsSidebar) &&
|
||||||
|
(mode != Mode::IconOnlyTabs && mode != Mode::IconsSidebar)) {
|
||||||
for (int i = 0; i < count(); ++i) {
|
for (int i = 0; i < count(); ++i) {
|
||||||
tabBar()->setTabText(i, tabBar()->tabData(i).value<FancyTabData*>()->label());
|
tabBar()->setTabText(i, tabBar()->tabData(i).value<FancyTabData*>()->label());
|
||||||
tabBar()->setTabToolTip(i, ""_L1);
|
tabBar()->setTabToolTip(i, ""_L1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (previous_mode != Mode::IconOnlyTabs && mode == Mode::IconOnlyTabs) {
|
else if ((previous_mode != Mode::IconOnlyTabs && previous_mode != Mode::IconsSidebar) &&
|
||||||
|
(mode == Mode::IconOnlyTabs || mode == Mode::IconsSidebar)) {
|
||||||
for (int i = 0; i < count(); ++i) {
|
for (int i = 0; i < count(); ++i) {
|
||||||
tabBar()->setTabText(i, ""_L1);
|
tabBar()->setTabText(i, ""_L1);
|
||||||
tabBar()->setTabToolTip(i, tabBar()->tabData(i).value<FancyTabData*>()->label());
|
tabBar()->setTabToolTip(i, tabBar()->tabData(i).value<FancyTabData*>()->label());
|
||||||
@@ -286,7 +288,7 @@ int FancyTabWidget::IndexOfTab(QWidget *widget) {
|
|||||||
|
|
||||||
void FancyTabWidget::paintEvent(QPaintEvent *pe) {
|
void FancyTabWidget::paintEvent(QPaintEvent *pe) {
|
||||||
|
|
||||||
if (mode() != Mode::LargeSidebar && mode() != Mode::SmallSidebar) {
|
if (mode() != Mode::LargeSidebar && mode() != Mode::SmallSidebar && mode() != Mode::IconsSidebar) {
|
||||||
QTabWidget::paintEvent(pe);
|
QTabWidget::paintEvent(pe);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -383,6 +385,7 @@ void FancyTabWidget::contextMenuEvent(QContextMenuEvent *e) {
|
|||||||
menu_ = new QMenu(this);
|
menu_ = new QMenu(this);
|
||||||
QActionGroup *group = new QActionGroup(this);
|
QActionGroup *group = new QActionGroup(this);
|
||||||
addMenuItem(group, tr("Large sidebar"), Mode::LargeSidebar);
|
addMenuItem(group, tr("Large sidebar"), Mode::LargeSidebar);
|
||||||
|
addMenuItem(group, tr("Icons sidebar"), Mode::IconsSidebar);
|
||||||
addMenuItem(group, tr("Small sidebar"), Mode::SmallSidebar);
|
addMenuItem(group, tr("Small sidebar"), Mode::SmallSidebar);
|
||||||
addMenuItem(group, tr("Plain sidebar"), Mode::PlainSidebar);
|
addMenuItem(group, tr("Plain sidebar"), Mode::PlainSidebar);
|
||||||
addMenuItem(group, tr("Tabs on top"), Mode::Tabs);
|
addMenuItem(group, tr("Tabs on top"), Mode::Tabs);
|
||||||
|
|||||||
@@ -48,7 +48,8 @@ class FancyTabWidget : public QTabWidget {
|
|||||||
SmallSidebar,
|
SmallSidebar,
|
||||||
Tabs,
|
Tabs,
|
||||||
IconOnlyTabs,
|
IconOnlyTabs,
|
||||||
PlainSidebar
|
PlainSidebar,
|
||||||
|
IconsSidebar,
|
||||||
};
|
};
|
||||||
|
|
||||||
Mode mode() const { return mode_; }
|
Mode mode() const { return mode_; }
|
||||||
|
|||||||
Reference in New Issue
Block a user