X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSHAPERGUI%2FSHAPERGUI_ToolbarsMgr.cpp;h=ef05738791c25b21ff696052789919848c93bbf9;hb=refs%2Fheads%2FCR35150;hp=e1e6b11377ea91e04ec699078225f9e450a08f2a;hpb=67f3d1f9daf5dbbec9b01664435e8e76ea753ddb;p=modules%2Fshaper.git diff --git a/src/SHAPERGUI/SHAPERGUI_ToolbarsMgr.cpp b/src/SHAPERGUI/SHAPERGUI_ToolbarsMgr.cpp index e1e6b1137..ef0573879 100644 --- a/src/SHAPERGUI/SHAPERGUI_ToolbarsMgr.cpp +++ b/src/SHAPERGUI/SHAPERGUI_ToolbarsMgr.cpp @@ -1,4 +1,4 @@ -// Copyright (C) 2014-2017 CEA/DEN, EDF R&D +// Copyright (C) 2014-2023 CEA, EDF // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public @@ -12,10 +12,9 @@ // // You should have received a copy of the GNU Lesser General Public // License along with this library; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // -// See http://www.salome-platform.org/ or -// email : webmaster.salome@opencascade.com +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // #include "SHAPERGUI_ToolbarsMgr.h" @@ -23,6 +22,7 @@ #include #include +#include #include #include @@ -42,7 +42,7 @@ class SHAPERGUI_CommandIdItem : public QListWidgetItem { public: SHAPERGUI_CommandIdItem(QListWidget* theParent, int theId, SHAPERGUI* theModule) - : QListWidgetItem(theParent), myId(theId), myModule(theModule) {} + : QListWidgetItem(theParent), myModule(theModule), myId(theId) {} virtual QVariant data(int theRole) const { @@ -80,7 +80,8 @@ private: SHAPERGUI_ToolbarsDlg::SHAPERGUI_ToolbarsDlg(SHAPERGUI* theModule) : QDialog(theModule->application()->desktop()), myModule(theModule), - myResult(theModule->shaperToolbars()) + myResult(theModule->shaperToolbars()), + myIsReset(false) { myFreeCommands = theModule->getFreeCommands(); @@ -122,24 +123,35 @@ SHAPERGUI_ToolbarsDlg::SHAPERGUI_ToolbarsDlg(SHAPERGUI* theModule) aContolsLay->addWidget(aButtonsWgt); QPushButton* aAddBtn = new QPushButton(tr("Add..."), aButtonsWgt); + aAddBtn->setToolTip(tr("Add a new empty toolbar to the toolbars list")); connect(aAddBtn, SIGNAL(clicked(bool)), SLOT(onAdd())); aBtnLayout->addWidget(aAddBtn); QPushButton* aEditBtn = new QPushButton(tr("Edit..."), aButtonsWgt); + aEditBtn->setToolTip(tr("Edit currently selected toolbar")); connect(aEditBtn, SIGNAL(clicked(bool)), SLOT(onEdit())); aBtnLayout->addWidget(aEditBtn); QPushButton* aDeleteBtn = new QPushButton(tr("Delete"), aButtonsWgt); + aDeleteBtn->setToolTip(tr("Delete currently selected toolbar")); connect(aDeleteBtn, SIGNAL(clicked(bool)), SLOT(onDelete())); aBtnLayout->addWidget(aDeleteBtn); aBtnLayout->addStretch(1); + QPushButton* aResetBtn = new QPushButton(tr("Reset"), aButtonsWgt); + aResetBtn->setToolTip(tr("Restore default toolbars structure")); + connect(aResetBtn, SIGNAL(clicked(bool)), SLOT(onReset())); + aBtnLayout->addWidget(aResetBtn); + aBtnLayout->addSpacing(19); + // Buttons part of the dialog QDialogButtonBox* aButtons = - new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel, Qt::Horizontal, this); + new QDialogButtonBox(QDialogButtonBox::Help | QDialogButtonBox::Ok | QDialogButtonBox::Cancel, + Qt::Horizontal, this); aMailLayout->addWidget(aButtons); connect(aButtons, SIGNAL(accepted()), SLOT(accept())); connect(aButtons, SIGNAL(rejected()), SLOT(reject())); + connect(aButtons, SIGNAL(helpRequested()), SLOT(onHelp())); updateToolbarsList(); updateNumber(); @@ -153,6 +165,7 @@ void SHAPERGUI_ToolbarsDlg::onAdd() if (!myResult.contains(aNewToolbar)) { myResult[aNewToolbar] = QIntList(); updateToolbarsList(); + myIsReset = false; } else { QString aMsg = tr("A tool bar with name %1 already exists").arg(aNewToolbar); @@ -176,6 +189,7 @@ void SHAPERGUI_ToolbarsDlg::onEdit() myResult[aToolbarName] = aDlg.toolbarItems(); updateNumber(); updateToolbarsList(); + myIsReset = false; } } } @@ -196,6 +210,7 @@ void SHAPERGUI_ToolbarsDlg::onDelete() myResult.remove(aToolbarName); updateToolbarsList(); updateNumber(); + myIsReset = false; } } } @@ -206,7 +221,7 @@ void SHAPERGUI_ToolbarsDlg::updateToolbarsList() QStringList aItems; QMap::const_iterator aIt; for (aIt = myResult.cbegin(); aIt != myResult.cend(); aIt++) { - aItems.append(aIt.key() + tr(" (%1 items)").arg(aIt.value().size() - aIt.value().count(-1))); + aItems.append(aIt.key() + tr(" (%1 commands)").arg(aIt.value().size() - aIt.value().count(-1))); } myToolbarsList->addItems(aItems); } @@ -223,6 +238,22 @@ void SHAPERGUI_ToolbarsDlg::updateNumber() myFreeNbLbl->setText(QString::number(myFreeCommands.size())); } +void SHAPERGUI_ToolbarsDlg::onReset() +{ + myResult = myModule->defaultToolbars(); + updateNumber(); + updateToolbarsList(); + myIsReset = true; +} + +void SHAPERGUI_ToolbarsDlg::onHelp() +{ + SUIT_Application* app = SUIT_Session::session()->activeApplication(); + if (app) + app->onHelpContextModule("SHAPER", "Introduction.html", "toolbars-dialog-box"); +} + + //************************************************************************************ //************************************************************************************ //************************************************************************************ @@ -234,7 +265,7 @@ SHAPERGUI_ToolbarItemsDlg::SHAPERGUI_ToolbarItemsDlg(QWidget* theParent, : QDialog(theParent), myModule(theModule) { - setWindowTitle(tr("Edit toolbar items")); + setWindowTitle(tr("Edit toolbar")); QVBoxLayout* aMailLayout = new QVBoxLayout(this); @@ -329,10 +360,12 @@ SHAPERGUI_ToolbarItemsDlg::SHAPERGUI_ToolbarItemsDlg(QWidget* theParent, // Buttons part of the dialog QDialogButtonBox* aButtons = - new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel, Qt::Horizontal, this); + new QDialogButtonBox(QDialogButtonBox::Help | QDialogButtonBox::Ok | QDialogButtonBox::Cancel, + Qt::Horizontal, this); aMailLayout->addWidget(aButtons); connect(aButtons, SIGNAL(accepted()), SLOT(accept())); connect(aButtons, SIGNAL(rejected()), SLOT(reject())); + connect(aButtons, SIGNAL(helpRequested()), SLOT(onHelp())); } void SHAPERGUI_ToolbarItemsDlg::onAddItem() @@ -435,3 +468,10 @@ QIntList SHAPERGUI_ToolbarItemsDlg::getItems(QListWidget* theWidget, int theStar } return aList; } + +void SHAPERGUI_ToolbarItemsDlg::onHelp() +{ + SUIT_Application* app = SUIT_Session::session()->activeApplication(); + if (app) + app->onHelpContextModule("SHAPER", "Introduction.html", "edit-toolbar-dialog-box"); +}