Add icons only sidebar mode

This commit is contained in:
Christian Kr
2024-09-15 17:09:35 +02:00
committed by Jonas Kvinge
parent d87560b73e
commit 167e0d73d1
4 changed files with 25 additions and 7 deletions

View File

@@ -199,7 +199,7 @@ void FancyTabWidget::SetMode(const Mode mode) {
}
#ifndef Q_OS_MACOS
if (mode_ == Mode::LargeSidebar) {
if (mode_ == Mode::LargeSidebar || mode_ == Mode::IconsSidebar) {
setIconSize(QSize(iconsize_largesidebar_, iconsize_largesidebar_));
}
else {
@@ -207,13 +207,15 @@ void FancyTabWidget::SetMode(const Mode mode) {
}
#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) {
tabBar()->setTabText(i, tabBar()->tabData(i).value<FancyTabData*>()->label());
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) {
tabBar()->setTabText(i, ""_L1);
tabBar()->setTabToolTip(i, tabBar()->tabData(i).value<FancyTabData*>()->label());
@@ -286,7 +288,7 @@ int FancyTabWidget::IndexOfTab(QWidget *widget) {
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);
return;
}
@@ -383,6 +385,7 @@ void FancyTabWidget::contextMenuEvent(QContextMenuEvent *e) {
menu_ = new QMenu(this);
QActionGroup *group = new QActionGroup(this);
addMenuItem(group, tr("Large sidebar"), Mode::LargeSidebar);
addMenuItem(group, tr("Icons sidebar"), Mode::IconsSidebar);
addMenuItem(group, tr("Small sidebar"), Mode::SmallSidebar);
addMenuItem(group, tr("Plain sidebar"), Mode::PlainSidebar);
addMenuItem(group, tr("Tabs on top"), Mode::Tabs);