rewrite actions to qtoolbutton

This commit is contained in:
arcan1s 2014-08-25 11:34:08 +04:00
parent b49188c104
commit 8f35aeb88f
3 changed files with 41 additions and 26 deletions

View File

@ -84,6 +84,7 @@ void MainWindow::updateMenuMain()
{
if (debug) qDebug() << PDEBUG;
setMenuActionsShown(false);
actionMenu->setDefaultAction(toolBarActions[QString("mainStart")]);
toolBarActions[QString("mainRefresh")]->setVisible(true);
if (ui->tableWidget_main->currentItem() == 0) return;
@ -119,6 +120,7 @@ void MainWindow::updateMenuProfile()
{
if (debug) qDebug() << PDEBUG;
setMenuActionsShown(false);
actionMenu->setDefaultAction(toolBarActions[QString("profileSave")]);
toolBarActions[QString("profileClear")]->setVisible(true);
if (ui->comboBox_profile->currentText().isEmpty()) {
@ -137,6 +139,7 @@ void MainWindow::updateMenuWifi()
{
if (debug) qDebug() << PDEBUG;
setMenuActionsShown(false);
actionMenu->setDefaultAction(toolBarActions[QString("wifiStart")]);
toolBarActions[QString("wifiRefresh")]->setVisible(true);
if (ui->tableWidget_wifi->currentItem() == 0) return;

View File

@ -481,32 +481,38 @@ void MainWindow::createToolBars()
toolBarActions[QString("wifiRefresh")] = actionToolBar->addAction(QIcon::fromTheme(QString("stock-refresh")),
QApplication::translate("MainWindow", "Refresh"),
this, SLOT(updateWifiTab()));
actionToolBar->addSeparator();
toolBarActions[QString("mainStart")] = actionToolBar->addAction(QIcon::fromTheme(QString("system-run")),
QApplication::translate("MainWindow", "Start"),
this, SLOT(mainTabStartProfile()));
toolBarActions[QString("mainSwitch")] = actionToolBar->addAction(QIcon::fromTheme(QString("system-run")),
QApplication::translate("MainWindow", "Switch"),
this, SLOT(mainTabSwitchToProfile()));
toolBarActions[QString("mainRestart")] = actionToolBar->addAction(QIcon::fromTheme(QString("stock-refresh")),
QApplication::translate("MainWindow", "Restart"),
this, SLOT(mainTabRestartProfile()));
toolBarActions[QString("mainEnable")] = actionToolBar->addAction(QIcon::fromTheme(QString("edit-add")),
QApplication::translate("MainWindow", "Enable"),
this, SLOT(mainTabEnableProfile()));
toolBarActions[QString("mainStopAll")] = actionToolBar->addAction(QIcon::fromTheme(QString("process-stop")),
QApplication::translate("MainWindow", "Stop all"),
this, SLOT(mainTabStopAllProfiles()));
toolBarActions[QString("profileLoad")] = actionToolBar->addAction(QIcon::fromTheme(QString("document-open")),
QApplication::translate("MainWindow", "Load"),
this, SLOT(profileTabLoadProfile()));
toolBarActions[QString("profileSave")] = actionToolBar->addAction(QIcon::fromTheme(QString("document-save")),
QApplication::translate("MainWindow", "Save"),
this, SLOT(profileTabCreateProfile()));
toolBarActions[QString("wifiStart")] = actionToolBar->addAction(QIcon::fromTheme(QString("system-run")),
QApplication::translate("MainWindow", "Start"),
this, SLOT(wifiTabStart()));
actionToolBar->addSeparator();
actionMenu = new QToolButton(this);
actionMenu->setPopupMode(QToolButton::DelayedPopup);
actionMenu->setToolButtonStyle(Qt::ToolButtonFollowStyle);
QMenu *menu = new QMenu(actionMenu);
toolBarActions[QString("mainStart")] = menu->addAction(QIcon::fromTheme(QString("system-run")),
QApplication::translate("MainWindow", "Start"),
this, SLOT(mainTabStartProfile()));
toolBarActions[QString("mainSwitch")] = menu->addAction(QIcon::fromTheme(QString("system-run")),
QApplication::translate("MainWindow", "Switch"),
this, SLOT(mainTabSwitchToProfile()));
toolBarActions[QString("mainRestart")] = menu->addAction(QIcon::fromTheme(QString("stock-refresh")),
QApplication::translate("MainWindow", "Restart"),
this, SLOT(mainTabRestartProfile()));
toolBarActions[QString("mainEnable")] = menu->addAction(QIcon::fromTheme(QString("edit-add")),
QApplication::translate("MainWindow", "Enable"),
this, SLOT(mainTabEnableProfile()));
toolBarActions[QString("mainStopAll")] = menu->addAction(QIcon::fromTheme(QString("process-stop")),
QApplication::translate("MainWindow", "Stop all"),
this, SLOT(mainTabStopAllProfiles()));
toolBarActions[QString("profileLoad")] = menu->addAction(QIcon::fromTheme(QString("document-open")),
QApplication::translate("MainWindow", "Load"),
this, SLOT(profileTabLoadProfile()));
toolBarActions[QString("profileSave")] = menu->addAction(QIcon::fromTheme(QString("document-save")),
QApplication::translate("MainWindow", "Save"),
this, SLOT(profileTabCreateProfile()));
toolBarActions[QString("wifiStart")] = menu->addAction(QIcon::fromTheme(QString("system-run")),
QApplication::translate("MainWindow", "Start"),
this, SLOT(wifiTabStart()));
actionMenu->setMenu(menu);
actionToolBar->addWidget(actionMenu);
toolBarActions[QString("mainEdit")] = actionToolBar->addAction(QIcon::fromTheme(QString("edit")),
QApplication::translate("MainWindow", "Edit"),
this, SLOT(mainTabEditProfile()));
@ -568,6 +574,10 @@ void MainWindow::deleteObjects()
if (errorWin != nullptr) delete errorWin;
if (netctlAutoWin != nullptr) delete netctlAutoWin;
if (settingsWin != nullptr) delete settingsWin;
if (actionMenu != nullptr) {
actionMenu->menu()->clear();
delete actionMenu;
}
if (actionToolBar != nullptr) {
actionToolBar->clear();
delete actionToolBar;

View File

@ -23,6 +23,7 @@
#include <QShortcut>
#include <QTableWidgetItem>
#include <QToolBar>
#include <QToolButton>
#include <netctlgui/netctlgui.h>
@ -136,6 +137,7 @@ private:
TrayIcon *trayIcon = nullptr;
QMap<QString, QShortcut *> appShortcuts;
QMap<QString, QAction *> toolBarActions;
QToolButton *actionMenu = nullptr;
QToolBar *actionToolBar = nullptr;
QToolBar *helpToolBar = nullptr;
QToolBar *mainToolBar = nullptr;