diff --git a/src/SARibbonBar/3rdparty/qwindowkit b/src/SARibbonBar/3rdparty/qwindowkit index 07e9440..79b1f31 160000 --- a/src/SARibbonBar/3rdparty/qwindowkit +++ b/src/SARibbonBar/3rdparty/qwindowkit @@ -1 +1 @@ -Subproject commit 07e9440b52d74e2b21b0b1df4bb959b553670452 +Subproject commit 79b1f3110754f9c21af2d7dacbd07b1a9dbaf6ef diff --git a/src/SARibbonBar/SARibbonBar.cpp b/src/SARibbonBar/SARibbonBar.cpp index 821c22a..3099677 100644 --- a/src/SARibbonBar/SARibbonBar.cpp +++ b/src/SARibbonBar/SARibbonBar.cpp @@ -152,10 +152,7 @@ void SARibbonBar::PrivateData::init() // mStackedContainerWidget = RibbonSubElementFactory->createRibbonStackedWidget(q_ptr); mStackedContainerWidget->setObjectName(QStringLiteral("objSARibbonStackedContainerWidget")); - mStackedContainerWidget->connect(mStackedContainerWidget, - &SARibbonStackedWidget::hidWindow, - q_ptr, - &SARibbonBar::onStackWidgetHided); + mStackedContainerWidget->connect(mStackedContainerWidget, &SARibbonStackedWidget::hidWindow, q_ptr, &SARibbonBar::onStackWidgetHided); // 捕获事件,在popmode时必须用到 mStackedContainerWidget->installEventFilter(q_ptr); // @@ -175,8 +172,8 @@ void SARibbonBar::PrivateData::init() */ int SARibbonBar::PrivateData::calcTabBarHeight() { - int defaultHeight = q_ptr->style()->pixelMetric(QStyle::PM_TabBarBaseHeight); - int fontHeight = q_ptr->fontMetrics().lineSpacing(); // 不要用height,像宋体这种字体,height=12,lineSpacing=14,有些就无法显示 + int defaultHeight = q_ptr->style()->pixelMetric(QStyle::PM_TabBarBaseHeight); + int fontHeight = q_ptr->fontMetrics().lineSpacing(); // 不要用height,像宋体这种字体,height=12,lineSpacing=14,有些就无法显示 int defaultHeight2 = fontHeight * 1.6; if (defaultHeight2 < fontHeight + 10) { defaultHeight2 = fontHeight + 10; // 主要为了满足office2021主题,tab下有个4px的横杠 @@ -234,11 +231,7 @@ int SARibbonBar::PrivateData::calcCategoryHeight() * @param categoryHeight * @return */ -int SARibbonBar::PrivateData::calcMainBarHeight(int tabHegith, - int titleHeight, - int categoryHeight, - bool tabOnTitle, - SARibbonBar::RibbonMode rMode) +int SARibbonBar::PrivateData::calcMainBarHeight(int tabHegith, int titleHeight, int categoryHeight, bool tabOnTitle, SARibbonBar::RibbonMode rMode) { if (rMode == MinimumRibbonMode) { // 最小模式,没有categoryHeight @@ -517,14 +510,14 @@ QString SARibbonBar::versionString() QList< QColor > SARibbonBar::defaultContextCategoryColorList() { QList< QColor > res; - res // - << QColor(206, 232, 252) // 蓝 - << QColor(253, 238, 179) // 黄 - << QColor(212, 255, 174) // 绿 - << QColor(255, 196, 214) // 红 - << QColor(255, 216, 153) // 橙 - << QColor(255, 224, 243) // 玫红 - ; + res // + << QColor(206, 232, 252) // 蓝 + << QColor(253, 238, 179) // 黄 + << QColor(212, 255, 174) // 绿 + << QColor(255, 196, 214) // 红 + << QColor(255, 216, 153) // 橙 + << QColor(255, 224, 243) // 玫红 + ; return res; } @@ -1089,13 +1082,11 @@ void SARibbonBar::showMinimumModeButton(bool isShow) d_ptr->mMinimumCategoryButtonAction = new QAction(this); d_ptr->mMinimumCategoryButtonAction->setIcon( - style()->standardIcon(isMinimumMode() ? QStyle::SP_TitleBarUnshadeButton : QStyle::SP_TitleBarShadeButton, - nullptr)); + style()->standardIcon(isMinimumMode() ? QStyle::SP_TitleBarUnshadeButton : QStyle::SP_TitleBarShadeButton, nullptr)); connect(d_ptr->mMinimumCategoryButtonAction, &QAction::triggered, this, [ this ]() { this->setMinimumMode(!isMinimumMode()); this->d_ptr->mMinimumCategoryButtonAction->setIcon( - style()->standardIcon(isMinimumMode() ? QStyle::SP_TitleBarUnshadeButton : QStyle::SP_TitleBarShadeButton, - nullptr)); + style()->standardIcon(isMinimumMode() ? QStyle::SP_TitleBarUnshadeButton : QStyle::SP_TitleBarShadeButton, nullptr)); }); d_ptr->mRightButtonGroup->addAction(d_ptr->mMinimumCategoryButtonAction); @@ -1270,30 +1261,29 @@ void SARibbonBar::onCurrentRibbonTabChanged(int index) _SARibbonTabData p = var.value< _SARibbonTabData >(); category = p.category; } - if (category) { - if (d_ptr->mStackedContainerWidget->currentWidget() != category) { - d_ptr->mStackedContainerWidget->setCurrentWidget(category); - } - if (isMinimumMode()) { - d_ptr->mRibbonTabBar->clearFocus(); - if (!d_ptr->mStackedContainerWidget->isVisible()) { - if (d_ptr->mStackedContainerWidget->isPopupMode()) { - // 在stackedContainerWidget弹出前,先给tabbar一个QHoverEvent,让tabbar知道鼠标已经移开 - QHoverEvent ehl(QEvent::HoverLeave, - d_ptr->mRibbonTabBar->mapToGlobal(QCursor::pos()), - d_ptr->mRibbonTabBar->mapToGlobal(QCursor::pos())); - QApplication::sendEvent(d_ptr->mRibbonTabBar, &ehl); - resizeStackedContainerWidget(); - d_ptr->mStackedContainerWidget->setFocus(); - d_ptr->mStackedContainerWidget->exec(); - // 在最小模式下,每次显示完stackedContainerWidget后把tab的 - // 的index设置为-1,这样每次点击都会触发onCurrentRibbonTabChanged - } - } else { + if (!category) { + return; + } + if (d_ptr->mStackedContainerWidget->currentWidget() != category) { + d_ptr->mStackedContainerWidget->setCurrentWidget(category); + } + emit currentRibbonTabChanged(index); + if (isMinimumMode()) { + d_ptr->mRibbonTabBar->clearFocus(); + if (!d_ptr->mStackedContainerWidget->isVisible()) { + if (d_ptr->mStackedContainerWidget->isPopupMode()) { + // 在stackedContainerWidget弹出前,先给tabbar一个QHoverEvent,让tabbar知道鼠标已经移开 + QHoverEvent ehl(QEvent::HoverLeave, + d_ptr->mRibbonTabBar->mapToGlobal(QCursor::pos()), + d_ptr->mRibbonTabBar->mapToGlobal(QCursor::pos())); + QApplication::sendEvent(d_ptr->mRibbonTabBar, &ehl); + resizeStackedContainerWidget(); + d_ptr->mStackedContainerWidget->setFocus(); + // exec之前先发射信息号,否则会被exec阻塞 + d_ptr->mStackedContainerWidget->show(); } } } - emit currentRibbonTabChanged(index); } /** @@ -1485,7 +1475,7 @@ void SARibbonBar::setRibbonStyle(SARibbonBar::RibbonStyles v) << "\n isTwoRowStyle=" << isTwoRowStyle() // << "\n isLooseStyle=" << isLooseStyle() // << "\n isCompactStyle=" << isCompactStyle() // - ; + ; #endif // 执行判断 setEnableWordWrap(isThreeRowStyle(v)); @@ -2079,11 +2069,10 @@ void SARibbonBar::paintInLooseStyle() titleRegion.setRect(d_ptr->mQuickAccessBar->geometry().right() + 1, border.top(), width() - d_ptr->mIconRightBorderPosition - border.right() - - d_ptr->mWindowButtonSize.width() - d_ptr->mQuickAccessBar->geometry().right() - 1, + - d_ptr->mWindowButtonSize.width() - d_ptr->mQuickAccessBar->geometry().right() - 1, titleBarHeight()); } else { - int leftwidth = contextCategoryRegion.x() - d_ptr->mQuickAccessBar->geometry().right() - - d_ptr->mIconRightBorderPosition; + int leftwidth = contextCategoryRegion.x() - d_ptr->mQuickAccessBar->geometry().right() - d_ptr->mIconRightBorderPosition; int rightwidth = width() - contextCategoryRegion.y() - d_ptr->mWindowButtonSize.width(); // if (width() - contextCategoryRegion.y() > contextCategoryRegion.x()-x) { if (rightwidth > leftwidth) { @@ -2561,7 +2550,7 @@ QDebug operator<<(QDebug debug, const SARibbonBar& ribbon) << "\n -mEnableShowPannelTitle=" << ribbon.d_ptr->mEnableShowPannelTitle // << "\n -mWindowButtonSize=" << ribbon.d_ptr->mWindowButtonSize // << "\n -mIconRightBorderPosition=" << ribbon.d_ptr->mIconRightBorderPosition // - ; + ; return debug; } diff --git a/src/example/MainWindowExample/mainwindow.cpp b/src/example/MainWindowExample/mainwindow.cpp index 2b4f17f..fde2b45 100644 --- a/src/example/MainWindowExample/mainwindow.cpp +++ b/src/example/MainWindowExample/mainwindow.cpp @@ -168,6 +168,9 @@ MainWindow::MainWindow(QWidget* par) #if SA_DEBUG_PRINT_SARIBBONBAR qDebug() << *ribbon; #endif + connect(ribbon, &SARibbonBar::currentRibbonTabChanged, this, [ this ](int v) { + mTextedit->append(QString("SARibbonBar::currentRibbonTabChanged(%1)").arg(v)); + }); } void MainWindow::createRibbonApplicationButton() @@ -223,36 +226,36 @@ void MainWindow::onStyleClicked(int id) // cn:"LooseThreeRow"样式的文字显示是换行的,同时也会显示标题栏,你也可以通过SARibbonBar::setEnableWordWrap来控制按钮是否换行显示, // 可以通过SARibbonBar::setEnableShowPannelTitle控制标题栏是否显示 mTextedit->append( - tr("\nThe text display of the \"LooseThreeRow\" style is word wrap and also displays the title bar. " - "You can also control whether the button is line breaking through SARibbonBar::setEnableWordWrap," - "and whether the title bar is displayed through SARibbonBar::setEnableShowPannelTitle")); + tr("\nThe text display of the \"LooseThreeRow\" style is word wrap and also displays the title bar. " + "You can also control whether the button is line breaking through SARibbonBar::setEnableWordWrap," + "and whether the title bar is displayed through SARibbonBar::setEnableShowPannelTitle")); mTextedit->append(tr("ribbonBar()->setRibbonStyle(SARibbonBar::RibbonStyleLooseThreeRow);")); break; case SARibbonBar::RibbonStyleLooseTwoRow: // cn:"LooseThreeRow"样式的文字显示是不换行的,同时也会显示标题栏,你也可以通过SARibbonBar::setEnableWordWrap来控制按钮是否换行显示, // 可以通过SARibbonBar::setEnableShowPannelTitle控制标题栏是否显示 mTextedit->append( - tr("\nThe text display of the \"LooseTwoRow\" style is not word wrap and also displays the title bar. " - "You can also control whether the button is line breaking through SARibbonBar::setEnableWordWrap," - "and whether the title bar is displayed through SARibbonBar::setEnableShowPannelTitle")); + tr("\nThe text display of the \"LooseTwoRow\" style is not word wrap and also displays the title bar. " + "You can also control whether the button is line breaking through SARibbonBar::setEnableWordWrap," + "and whether the title bar is displayed through SARibbonBar::setEnableShowPannelTitle")); mTextedit->append(tr("ribbonBar()->setRibbonStyle(SARibbonBar::RibbonStyleLooseTwoRow);")); break; case SARibbonBar::RibbonStyleCompactThreeRow: // cn:"CompactThreeRow"样式的文字显示是换行的,不会显示标题栏,你也可以通过SARibbonBar::setEnableWordWrap来控制按钮是否换行显示, // 可以通过SARibbonBar::setEnableShowPannelTitle控制标题栏是否显示 mTextedit->append( - tr("\nThe text display of the \"LooseThreeRow\" style is word wrap and not displays the title bar. " - "You can also control whether the button is line breaking through SARibbonBar::setEnableWordWrap," - "and whether the title bar is displayed through SARibbonBar::setEnableShowPannelTitle")); + tr("\nThe text display of the \"LooseThreeRow\" style is word wrap and not displays the title bar. " + "You can also control whether the button is line breaking through SARibbonBar::setEnableWordWrap," + "and whether the title bar is displayed through SARibbonBar::setEnableShowPannelTitle")); mTextedit->append(tr("ribbonBar()->setRibbonStyle(SARibbonBar::RibbonStyleCompactThreeRow);")); break; case SARibbonBar::RibbonStyleCompactTwoRow: // cn:"CompactTwoRow"样式的文字显示是不换行的,不会显示标题栏,你也可以通过SARibbonBar::setEnableWordWrap来控制按钮是否换行显示, // 可以通过SARibbonBar::setEnableShowPannelTitle控制标题栏是否显示 mTextedit->append( - tr("\nThe text display of the \"CompactTwoRow\" style is not word wrap and not displays the title bar. " - "You can also control whether the button is line breaking through SARibbonBar::setEnableWordWrap," - "and whether the title bar is displayed through SARibbonBar::setEnableShowPannelTitle")); + tr("\nThe text display of the \"CompactTwoRow\" style is not word wrap and not displays the title bar. " + "You can also control whether the button is line breaking through SARibbonBar::setEnableWordWrap," + "and whether the title bar is displayed through SARibbonBar::setEnableShowPannelTitle")); mTextedit->append(tr("ribbonBar()->setRibbonStyle(SARibbonBar::RibbonStyleCompactTwoRow);")); break; default: @@ -264,10 +267,7 @@ void MainWindow::onActionCustomizeTriggered(bool b) { Q_UNUSED(b); if (nullptr == mWidgetForCustomize) { - mWidgetForCustomize = new SARibbonCustomizeWidget(this, - this, - Qt::WindowMinMaxButtonsHint | Qt::WindowCloseButtonHint - | Qt::Dialog); + mWidgetForCustomize = new SARibbonCustomizeWidget(this, this, Qt::WindowMinMaxButtonsHint | Qt::WindowCloseButtonHint | Qt::Dialog); mWidgetForCustomize->setWindowModality(Qt::ApplicationModal); // 设置阻塞类型 mWidgetForCustomize->setAttribute(Qt::WA_ShowModal, true); // 属性设置 true:模态 false:非模态 mWidgetForCustomize->setupActionsManager(mActionsManager); @@ -283,9 +283,7 @@ void MainWindow::onActionCustomizeAndSaveTriggered(bool b) dlg.setupActionsManager(mActionsManager); // 如果启动时未应用上次修改,先应用再读取,保持本地数据和ui一致 if (!mHasApplyCustomizeXmlFile) { - auto res = QMessageBox::question(this, - tr("question"), - tr("Apply the last modification?\nIf not, local data will be reset")); + auto res = QMessageBox::question(this, tr("question"), tr("Apply the last modification?\nIf not, local data will be reset")); if (res == QMessageBox::Yes) { onActionLoadCustomizeXmlFileTriggered(); return; @@ -305,9 +303,9 @@ void MainWindow::onActionCustomizeAndSaveTriggered(bool b) // 无更改直接退出 if (!dlg.isApplied()) { - mTextedit->append("no change to save"); - return; - } + mTextedit->append("no change to save"); + return; + } QByteArray str; QXmlStreamWriter xml(&str); @@ -339,62 +337,59 @@ void MainWindow::onActionCustomizeAndSaveWithApplyTriggered(bool b) { // 如果启动时未应用上次修改,先应用再读取,保持本地数据和ui一致 if (!mHasApplyCustomizeXmlFile) { - auto res = QMessageBox::question(this, - tr("question"), - tr("Apply the last modification?\nIf not, local data will be reset")); - if (res == QMessageBox::Yes) { - onActionLoadCustomizeXmlFileTriggered(); - return; - } else { - QFile::remove("customize.xml"); - mHasApplyCustomizeXmlFile = true; - } - } - - QDialog dlg; + auto res = QMessageBox::question(this, tr("question"), tr("Apply the last modification?\nIf not, local data will be reset")); + if (res == QMessageBox::Yes) { + onActionLoadCustomizeXmlFileTriggered(); + return; + } else { + QFile::remove("customize.xml"); + mHasApplyCustomizeXmlFile = true; + } + } + + QDialog dlg; QVBoxLayout* main = new QVBoxLayout; - dlg.setLayout(main); - SARibbonCustomizeWidget* widgetForCustomize = new SARibbonCustomizeWidget(this, &dlg); - widgetForCustomize->setupActionsManager(mActionsManager); + dlg.setLayout(main); + SARibbonCustomizeWidget* widgetForCustomize = new SARibbonCustomizeWidget(this, &dlg); + widgetForCustomize->setupActionsManager(mActionsManager); main->addWidget(widgetForCustomize, 1); - QDialogButtonBox* buttonBox = new QDialogButtonBox(QDialogButtonBox::Save | QDialogButtonBox::Cancel - | QDialogButtonBox::Apply); + QDialogButtonBox* buttonBox = new QDialogButtonBox(QDialogButtonBox::Save | QDialogButtonBox::Cancel | QDialogButtonBox::Apply); main->addWidget(buttonBox); - connect(buttonBox, &QDialogButtonBox::accepted, &dlg, &QDialog::accept); - connect(buttonBox, &QDialogButtonBox::rejected, &dlg, &QDialog::reject); + connect(buttonBox, &QDialogButtonBox::accepted, &dlg, &QDialog::accept); + connect(buttonBox, &QDialogButtonBox::rejected, &dlg, &QDialog::reject); connect(buttonBox, &QDialogButtonBox::clicked, &dlg, [ = ](QAbstractButton* button) { - auto role = buttonBox->buttonRole(button); + auto role = buttonBox->buttonRole(button); if (role == QDialogButtonBox::ApplyRole) // apply - { + { if (widgetForCustomize->isCached()) { - widgetForCustomize->applys(); - mTextedit->append("change applied"); + widgetForCustomize->applys(); + mTextedit->append("change applied"); } else { - mTextedit->append("no change to apply"); - } - } - }); + mTextedit->append("no change to apply"); + } + } + }); - widgetForCustomize->fromXml("customize.xml"); + widgetForCustomize->fromXml("customize.xml"); if (QDialog::Accepted == dlg.exec()) { // 先apply if (widgetForCustomize->isCached()) - widgetForCustomize->applys(); + widgetForCustomize->applys(); // 无更改直接退出 if (!widgetForCustomize->isApplied()) { - mTextedit->append("no change to save"); - return; - } - - QByteArray str; - QXmlStreamWriter xml(&str); - xml.setAutoFormatting(true); - xml.setAutoFormattingIndent(2); + mTextedit->append("no change to save"); + return; + } + + QByteArray str; + QXmlStreamWriter xml(&str); + xml.setAutoFormatting(true); + xml.setAutoFormattingIndent(2); #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) // QXmlStreamWriter always encodes XML in UTF-8. xml.setCodec("utf-8"); #endif @@ -408,17 +403,17 @@ void MainWindow::onActionCustomizeAndSaveWithApplyTriggered(bool b) #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) // QTextStream always encodes XML in UTF-8. s.setCodec("utf-8"); #endif - s << str; - s.flush(); - } - mTextedit->append("write xml:"); - mTextedit->append(str); - } + s << str; + s.flush(); + } + mTextedit->append("write xml:"); + mTextedit->append(str); + } } else { // 清除所有动作 - widgetForCustomize->clear(); - mTextedit->append("all changes clear, the applied changes will take no effect afer restart"); - } + widgetForCustomize->clear(); + mTextedit->append("all changes clear, the applied changes will take no effect afer restart"); + } } void MainWindow::onActionHelpTriggered() @@ -430,7 +425,7 @@ void MainWindow::onActionHelpTriggered() "\n Author:czy" "\n Email:czy.t@163.com" "\n ===============") - .arg(SARibbonBar::versionString())); + .arg(SARibbonBar::versionString())); } void MainWindow::onActionRemoveAppBtnTriggered(bool b) @@ -563,7 +558,7 @@ void MainWindow::onColorButtonColorClicked(const QColor& c, bool on) void MainWindow::onRibbonThemeComboBoxCurrentIndexChanged(int index) { SARibbonMainWindow::RibbonTheme t = static_cast< SARibbonMainWindow::RibbonTheme >( - mComboboxRibbonTheme->itemData(index).toInt()); + mComboboxRibbonTheme->itemData(index).toInt()); setRibbonTheme(t); } @@ -731,10 +726,7 @@ void MainWindow::createCategoryMain(SARibbonCategory* page) mComboboxRibbonTheme->addItem("Theme Dark", SARibbonMainWindow::RibbonThemeDark); mComboboxRibbonTheme->addItem("Theme Dark2", SARibbonMainWindow::RibbonThemeDark2); mComboboxRibbonTheme->setCurrentIndex(mComboboxRibbonTheme->findData(static_cast< int >(ribbonTheme()))); - connect(mComboboxRibbonTheme, - QOverload< int >::of(&SARibbonComboBox::currentIndexChanged), - this, - &MainWindow::onRibbonThemeComboBoxCurrentIndexChanged); + connect(mComboboxRibbonTheme, QOverload< int >::of(&SARibbonComboBox::currentIndexChanged), this, &MainWindow::onRibbonThemeComboBoxCurrentIndexChanged); pannelStyle->addSmallWidget(mComboboxRibbonTheme); SARibbonCheckBox* checkBox = new SARibbonCheckBox(this); @@ -956,15 +948,13 @@ void MainWindow::createCategoryOther(SARibbonCategory* page) galleryActions.append(lambdaCreateGalleryAction("File Error", ":/gallery-icon/icon/gallery/File-Error.svg")); galleryActions.append(lambdaCreateGalleryAction("File Read Only", ":/gallery-icon/icon/gallery/File-Readonly.svg")); galleryActions.append(lambdaCreateGalleryAction("File Settings", ":/gallery-icon/icon/gallery/File-Settings.svg")); - galleryActions.append( - lambdaCreateGalleryAction("Presentation File", ":/gallery-icon/icon/gallery/Presentation-File.svg")); + galleryActions.append(lambdaCreateGalleryAction("Presentation File", ":/gallery-icon/icon/gallery/Presentation-File.svg")); SARibbonGalleryGroup* group1 = gallery->addCategoryActions(tr("Files"), galleryActions); group1->setGalleryGroupStyle(SARibbonGalleryGroup::IconWithWordWrapText); group1->setGridMinimumWidth(80); galleryActions.clear(); galleryActions.append(lambdaCreateGalleryAction("Photoshop", ":/gallery-icon/icon/gallery/Photoshop.svg")); - galleryActions.append( - lambdaCreateGalleryAction("Internet-Explorer", ":/gallery-icon/icon/gallery/Internet-Explorer.svg")); + galleryActions.append(lambdaCreateGalleryAction("Internet-Explorer", ":/gallery-icon/icon/gallery/Internet-Explorer.svg")); galleryActions.append(lambdaCreateGalleryAction("Illustrator", ":/gallery-icon/icon/gallery/Illustrator.svg")); galleryActions.append(lambdaCreateGalleryAction("Google-Maps", ":/gallery-icon/icon/gallery/Google-Maps.svg")); galleryActions.append(lambdaCreateGalleryAction("Adobe", ":/gallery-icon/icon/gallery/Adobe.svg")); @@ -986,9 +976,7 @@ void MainWindow::createCategoryOther(SARibbonCategory* page) connect(actionRemoveAppBtn, &QAction::toggled, this, &MainWindow::onActionRemoveAppBtnTriggered); pannel2->addLargeAction(actionRemoveAppBtn); - QAction* actionLongText = createAction(tr("show very long text in a button,balabalabala etc"), - ":/icon/icon/long-text.svg", - "long-text"); + QAction* actionLongText = createAction(tr("show very long text in a button,balabalabala etc"), ":/icon/icon/long-text.svg", "long-text"); pannel2->addLargeAction(actionLongText); SARibbonPannel* pannelStyle = new SARibbonPannel(tr("style")); @@ -1013,9 +1001,7 @@ void MainWindow::createCategoryOther(SARibbonCategory* page) pannelUtf8->setObjectName("CategoryOther-pannelUtf8"); page->addPannel(pannelUtf8); - QAction* actionChangeText = createAction(QStringLiteral(u"改变显示为英文"), - ":/icon/icon/chinese-char.svg", - "actionChangeText"); + QAction* actionChangeText = createAction(QStringLiteral(u"改变显示为英文"), ":/icon/icon/chinese-char.svg", "actionChangeText"); actionChangeText->setCheckable(true); actionChangeText->setChecked(false); pannelUtf8->addLargeAction(actionChangeText); @@ -1349,69 +1335,43 @@ void MainWindow::createContextCategoryPage2(SARibbonCategory* page) }); SARibbonPannel* pannelLayout = page->addPannel(("特殊布局")); - pannelLayout->addAction(createAction("Large", ":/icon/icon/layout.svg", "@Large1"), - QToolButton::InstantPopup, - SARibbonPannelItem::Large); - pannelLayout->addAction(createAction("Small", ":/icon/icon/layout.svg", "@Small1"), - QToolButton::InstantPopup, - SARibbonPannelItem::Small); - pannelLayout->addAction(createAction("Small", ":/icon/icon/layout.svg", "@Small2"), - QToolButton::InstantPopup, - SARibbonPannelItem::Small); + pannelLayout->addAction(createAction("Large", ":/icon/icon/layout.svg", "@Large1"), QToolButton::InstantPopup, SARibbonPannelItem::Large); + pannelLayout->addAction(createAction("Small", ":/icon/icon/layout.svg", "@Small1"), QToolButton::InstantPopup, SARibbonPannelItem::Small); + pannelLayout->addAction(createAction("Small", ":/icon/icon/layout.svg", "@Small2"), QToolButton::InstantPopup, SARibbonPannelItem::Small); pannelLayout->addSeparator(); - pannelLayout->addAction(createAction("Small", ":/icon/icon/layout.svg", "@Small3"), - QToolButton::InstantPopup, - SARibbonPannelItem::Small); - pannelLayout->addAction(createAction("Small", ":/icon/icon/layout.svg", "@Small4"), - QToolButton::InstantPopup, - SARibbonPannelItem::Small); - pannelLayout->addAction(createAction("Small", ":/icon/icon/layout.svg", "@Small5"), - QToolButton::InstantPopup, - SARibbonPannelItem::Small); - pannelLayout->addAction(createAction("Small", ":/icon/icon/layout.svg", "@Small6"), - QToolButton::InstantPopup, - SARibbonPannelItem::Small); + pannelLayout->addAction(createAction("Small", ":/icon/icon/layout.svg", "@Small3"), QToolButton::InstantPopup, SARibbonPannelItem::Small); + pannelLayout->addAction(createAction("Small", ":/icon/icon/layout.svg", "@Small4"), QToolButton::InstantPopup, SARibbonPannelItem::Small); + pannelLayout->addAction(createAction("Small", ":/icon/icon/layout.svg", "@Small5"), QToolButton::InstantPopup, SARibbonPannelItem::Small); + pannelLayout->addAction(createAction("Small", ":/icon/icon/layout.svg", "@Small6"), QToolButton::InstantPopup, SARibbonPannelItem::Small); pannelLayout->addSeparator(); - pannelLayout->addAction(createAction("Large", ":/icon/icon/layout.svg", "@Large2"), - QToolButton::InstantPopup, - SARibbonPannelItem::Large); + pannelLayout->addAction(createAction("Large", ":/icon/icon/layout.svg", "@Large2"), QToolButton::InstantPopup, SARibbonPannelItem::Large); pannelLayout->addAction(createAction("Medium", ":/icon/icon/layout.svg", "@Medium1"), QToolButton::InstantPopup, SARibbonPannelItem::Medium); pannelLayout->addAction(createAction("Medium", ":/icon/icon/layout.svg", "@Medium2"), QToolButton::InstantPopup, SARibbonPannelItem::Medium); - pannelLayout->addAction(createAction("Small", ":/icon/icon/layout.svg", "@Small7"), - QToolButton::InstantPopup, - SARibbonPannelItem::Small); + pannelLayout->addAction(createAction("Small", ":/icon/icon/layout.svg", "@Small7"), QToolButton::InstantPopup, SARibbonPannelItem::Small); pannelLayout->addAction(createAction("Medium", ":/icon/icon/layout.svg", "@Medium3"), QToolButton::InstantPopup, SARibbonPannelItem::Medium); - pannelLayout->addAction(createAction("Large", ":/icon/icon/layout.svg", "@Large3"), - QToolButton::InstantPopup, - SARibbonPannelItem::Large); + pannelLayout->addAction(createAction("Large", ":/icon/icon/layout.svg", "@Large3"), QToolButton::InstantPopup, SARibbonPannelItem::Large); pannelLayout->addAction(createAction("Medium", ":/icon/icon/layout.svg", "@Medium4"), QToolButton::InstantPopup, SARibbonPannelItem::Medium); pannelLayout->addAction(createAction("Medium", ":/icon/icon/layout.svg", "@Medium5"), QToolButton::InstantPopup, SARibbonPannelItem::Medium); - pannelLayout->addAction(createAction("Large", ":/icon/icon/layout.svg", "@Large4"), - QToolButton::InstantPopup, - SARibbonPannelItem::Large); + pannelLayout->addAction(createAction("Large", ":/icon/icon/layout.svg", "@Large4"), QToolButton::InstantPopup, SARibbonPannelItem::Large); pannelLayout->addSeparator(); pannelLayout->addAction(createAction("Medium", ":/icon/icon/layout.svg", "@Medium6"), QToolButton::InstantPopup, SARibbonPannelItem::Medium); - pannelLayout->addAction(createAction("Large", ":/icon/icon/layout.svg", "@Large5"), - QToolButton::InstantPopup, - SARibbonPannelItem::Large); + pannelLayout->addAction(createAction("Large", ":/icon/icon/layout.svg", "@Large5"), QToolButton::InstantPopup, SARibbonPannelItem::Large); pannelLayout->addAction(createAction("Medium", ":/icon/icon/layout.svg", "@Medium7"), QToolButton::InstantPopup, SARibbonPannelItem::Medium); - pannelLayout->addAction(createAction("Small", ":/icon/icon/layout.svg", "@Small8"), - QToolButton::InstantPopup, - SARibbonPannelItem::Small); + pannelLayout->addAction(createAction("Small", ":/icon/icon/layout.svg", "@Small8"), QToolButton::InstantPopup, SARibbonPannelItem::Small); } void MainWindow::createQuickAccessBar()