diff --git a/gui/spkmainwindow.cpp b/gui/spkmainwindow.cpp index ce4b72f..bc25c6e 100644 --- a/gui/spkmainwindow.cpp +++ b/gui/spkmainwindow.cpp @@ -10,13 +10,14 @@ SpkMainWindow::SpkMainWindow(QWidget *parent) : SpkWindow(parent) { - ui = new SpkUi::SpkMainWidget(parent); + ui = new SpkUi::SpkMainWidget(this); Initialize(); - SetUseTitleBar(false); SetCentralWidget(ui); - SetTitleBar(ui->TitleBar, false); RefreshCategoryData(); + GetTitleBar()->SetTitle(""); + GetTitleBar()->SetUseIcon(true); + GetTitleBar()->SetIcon(QIcon(":/icons/spark-store.svg").pixmap({ 40, 40 })); auto size = QGuiApplication::primaryScreen()->size() * 0.5; size = size.expandedTo(QSize(900, 600)); @@ -385,42 +386,6 @@ SpkUi::SpkMainWidget::SpkMainWidget(QWidget *parent) : QFrame(parent) Pager->setObjectName("spk_mw_pager"); Pager->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); - TitleBar = new SpkTitleBar(this); - TitleBar->setObjectName("spk_mw_titlebar"); - TitleBar->SetUseIcon(false); - TitleBar->SetTitle(""); - - VLayMain = new QVBoxLayout; - VLayMain->setObjectName("spk_mw_main_vlay"); - VLayMain->setSpacing(0); - VLayMain->setContentsMargins(0, 0, 0, 0); - VLayMain->addWidget(TitleBar); - VLayMain->addWidget(Pager); - - VLaySidebar = new QVBoxLayout; - VLaySidebar->setObjectName("spk_mw_sidebar_lay"); - VLaySidebar->setSpacing(0); - VLaySidebar->setContentsMargins(0, 0, 0, 0); - - SideBarRestrictor = new QWidget(this); - SideBarRestrictor->setObjectName("spk_mw_sidebar_restrictor"); - SideBarRestrictor->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Preferred); - SideBarRestrictor->setMaximumWidth(200); - SideBarRestrictor->setMinimumWidth(200); - SideBarRestrictor->setLayout(VLaySidebar); - - HLaySideTop = new QHBoxLayout; - HLaySideTop->setObjectName("spk_mw_sidebar_top_lay"); - HLaySideTop->setSpacing(8); - HLaySideTop->setContentsMargins(8, 4, 4, 4); - - StoreIcon = new QLabel(this); - StoreIcon->setObjectName("spk_mw_icon"); - StoreIcon->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); - StoreIcon->setMaximumSize({ 40, 40 }); - StoreIcon->setMinimumSize({ 40, 40 }); - StoreIcon->setPixmap(QIcon(":/icons/spark-store.svg").pixmap(StoreIcon->size())); - SidebarMgr = new SpkSidebarSelector(this); SidebarMgr->setObjectName("spk_mw_sidebar_mgr"); @@ -444,12 +409,6 @@ SpkUi::SpkMainWidget::SpkMainWidget(QWidget *parent) : QFrame(parent) BtnBack->SetIcon(QIcon(":/icons/back.svg"), QSize(20, 20)); BtnBack->setVisible(false); - HLaySideTop->addWidget(StoreIcon); - HLaySideTop->addStretch(); - HLaySideTop->addWidget(BtnDayNight); - HLaySideTop->addWidget(BtnSettings); - VLaySidebar->addLayout(HLaySideTop); - using SpkUi::SpkSidebarSelector; CategoryWidget = new SpkSidebarTree(this); CategoryWidget->setObjectName("styMwCateg"); @@ -457,6 +416,7 @@ SpkUi::SpkMainWidget::SpkMainWidget(QWidget *parent) : QFrame(parent) CategoryWidget->setColumnCount(1); CategoryWidget->setHeaderHidden(true); CategoryWidget->setSelectionMode(QAbstractItemView::SelectionMode::SingleSelection); + CategoryWidget->setFixedWidth(250); //============ Sidebar entries BEGIN ============ HomepageItem = new QTreeWidgetItem(QStringList(tr("Home"))); @@ -498,7 +458,6 @@ SpkUi::SpkMainWidget::SpkMainWidget(QWidget *parent) : QFrame(parent) // layer-of-gradient-to-my-selected-item-of-qtreewidget-even-with-qss if(SpkUi::OldSystemStyle) CategoryWidget->setStyle(SpkUi::OldSystemStyle); - VLaySidebar->addWidget(CategoryWidget); SidebarMgr->BindCategoryWidget(CategoryWidget); HorizontalDivide = new QHBoxLayout; @@ -508,8 +467,8 @@ SpkUi::SpkMainWidget::SpkMainWidget(QWidget *parent) : QFrame(parent) HorizontalDivide->setAlignment(Qt::AlignLeft); if(!SpkUi::States::IsUsingDtkPlugin) HorizontalDivide->addSpacing(SpkWindow::BorderWidth); - HorizontalDivide->addWidget(SideBarRestrictor); - HorizontalDivide->addLayout(VLayMain); + HorizontalDivide->addWidget(CategoryWidget); + HorizontalDivide->addWidget(Pager); //============ Search Bar ============ @@ -548,7 +507,11 @@ SpkUi::SpkMainWidget::SpkMainWidget(QWidget *parent) : QFrame(parent) BtnBack->setEnabled(false); }); - auto space = TitleBar->GetUserSpace(); + auto space = static_cast(parent)->GetTitleBar()->GetUserSpace(); + + space->addSpacing(50); + space->addWidget(BtnDayNight); + space->addWidget(BtnSettings); space->addWidget(BtnBack); space->addWidget(SearchEdit); space->addStretch(); diff --git a/gui/spktitlebar.cpp b/gui/spktitlebar.cpp index 69cfa87..f5cf6d9 100644 --- a/gui/spktitlebar.cpp +++ b/gui/spktitlebar.cpp @@ -15,7 +15,7 @@ SpkTitleBar::SpkTitleBar(QWidget *parent) : QWidget(parent) mIcon = new QLabel(this); mTitle = new QLabel(this); - mIcon->setFixedSize(32, 32); + mIcon->setFixedSize(40, 40); mMainLayout = new QHBoxLayout(this); mUserSpace = new QHBoxLayout(); diff --git a/inc/spkmainwindow.h b/inc/spkmainwindow.h index b752be5..bb09273 100644 --- a/inc/spkmainwindow.h +++ b/inc/spkmainwindow.h @@ -157,16 +157,10 @@ namespace SpkUi SpkMainWidget(QWidget *parent = nullptr); QHBoxLayout *HorizontalDivide; - QVBoxLayout *VLayMain; - SpkTitleBar *TitleBar; QStackedWidget *Pager; // Category widget is for switching pages - QWidget *SideBarRestrictor; - QVBoxLayout *VLaySidebar; - QHBoxLayout *HLaySideTop; - QLabel *StoreIcon; SpkIconButton *BtnSettings, *BtnFeedback, *BtnLogs, *BtnDayNight, *BtnBack; SpkSidebarTree *CategoryWidget; QMap *CategoryItemMap; diff --git a/inc/spktitlebar.h b/inc/spktitlebar.h index a8a0a34..c58f5b7 100644 --- a/inc/spktitlebar.h +++ b/inc/spktitlebar.h @@ -46,7 +46,7 @@ class SpkTitleBar : public QWidget using OperationButton = SpkTitleBarDefaultButton::OperationButton; void SetOperationButton(OperationButton); - void SetIcon(QPixmap &p) { mIcon->setPixmap(p); } + void SetIcon(QPixmap p) { mIcon->setPixmap(p); } void SetTitle(QString t) { mTitle->setText(t); } QString GetTitle() { return mTitle->text(); } void SetUseIcon(bool t) { mIcon->setVisible(t); }