summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorisanae <14251494+isanae@users.noreply.github.com>2019-06-03 19:00:44 -0400
committerisanae <14251494+isanae@users.noreply.github.com>2019-06-03 19:00:44 -0400
commit254304217d6cb00cbedf13f8c493dc6c80e11e24 (patch)
treebf638887c919d12301f15b6d911d89baf6450b82 /src
parent97026b4da03dbb9dda460c6046aaa09a23a927bf (diff)
renamed some of the menus to remove underscores
added Run menu with shortcuts, only visible when there are shortcuts to show fixed menubar visibility not being remembered
Diffstat (limited to 'src')
-rw-r--r--src/mainwindow.cpp30
-rw-r--r--src/mainwindow.h6
-rw-r--r--src/mainwindow.ui22
3 files changed, 38 insertions, 20 deletions
diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp
index 1098b529..62971f00 100644
--- a/src/mainwindow.cpp
+++ b/src/mainwindow.cpp
@@ -201,6 +201,7 @@ MainWindow::MainWindow(QSettings &initSettings
: QMainWindow(parent)
, ui(new Ui::MainWindow)
, m_WasVisible(false)
+ , m_menuBarVisible(true)
, m_Tutorial(this, "MainWindow")
, m_OldProfileIndex(-1)
, m_ModListGroupingProxy(nullptr)
@@ -321,7 +322,7 @@ MainWindow::MainWindow(QSettings &initSettings
resizeLists(modListAdjusted, pluginListAdjusted);
QMenu *linkMenu = new QMenu(this);
- linkMenu->addAction(QIcon(":/MO/gui/link"), tr("Toolbar"), this, SLOT(linkToolbar()));
+ linkMenu->addAction(QIcon(":/MO/gui/link"), tr("Toolbar and Menu"), this, SLOT(linkToolbar()));
linkMenu->addAction(QIcon(":/MO/gui/link"), tr("Desktop"), this, SLOT(linkDesktop()));
linkMenu->addAction(QIcon(":/MO/gui/link"), tr("Start Menu"), this, SLOT(linkMenu()));
ui->linkButton->setMenu(linkMenu);
@@ -470,7 +471,7 @@ MainWindow::MainWindow(QSettings &initSettings
}
refreshExecutablesList();
- updateToolBar();
+ updatePinnedExecutables();
for (QAction *action : ui->toolBar->actions()) {
// set the name of the widget to the name of the action to allow styling
@@ -609,13 +610,15 @@ void MainWindow::setupActionMenu(QAction* a)
tb->setPopupMode(QToolButton::InstantPopup);
}
-void MainWindow::updateToolBar()
+void MainWindow::updatePinnedExecutables()
{
for (auto* a : ui->linksToolBar->actions()) {
ui->linksToolBar->removeAction(a);
a->deleteLater();
}
+ ui->menuRun->clear();
+
bool hasLinks = false;
std::vector<Executable>::iterator begin, end;
@@ -625,21 +628,23 @@ void MainWindow::updateToolBar()
if (iter->isShownOnToolbar()) {
hasLinks = true;
- QAction *exeAction = new QAction(iconForExecutable(iter->m_BinaryInfo.filePath()),
- iter->m_Title,
- ui->toolBar);
+ QAction *exeAction = new QAction(
+ iconForExecutable(iter->m_BinaryInfo.filePath()), iter->m_Title);
exeAction->setObjectName(QString("custom__") + iter->m_Title);
+
if (!connect(exeAction, SIGNAL(triggered()), this, SLOT(startExeAction()))) {
qDebug("failed to connect trigger?");
}
ui->linksToolBar->addAction(exeAction);
+ ui->menuRun->addAction(exeAction);
}
}
- // don't show the toolbar if there are no links
+ // don't show the toolbar or menu if there are no links
ui->linksToolBar->setVisible(hasLinks);
+ ui->menuRun->menuAction()->setVisible(hasLinks);
}
void MainWindow::toolbarMenu_aboutToShow()
@@ -674,6 +679,7 @@ QMenu* MainWindow::createPopupMenu()
void MainWindow::on_actionMainMenuToggle_triggered()
{
ui->menuBar->setVisible(!ui->menuBar->isVisible());
+ m_menuBarVisible = ui->menuBar->isVisible();
}
void MainWindow::on_actionToolBarMainToggle_triggered()
@@ -1952,7 +1958,8 @@ void MainWindow::readSettings()
}
if (settings.contains("menubar_visible")) {
- ui->menuBar->setVisible(settings.value("menubar_visible").toBool());
+ m_menuBarVisible = settings.value("menubar_visible").toBool();
+ ui->menuBar->setVisible(m_menuBarVisible);
}
if (settings.contains("window_split")) {
@@ -2047,7 +2054,7 @@ void MainWindow::storeSettings(QSettings &settings) {
settings.setValue("window_state", saveState());
settings.setValue("toolbar_size", ui->toolBar->iconSize());
settings.setValue("toolbar_button_style", static_cast<int>(ui->toolBar->toolButtonStyle()));
- settings.setValue("menubar_visible", ui->menuBar->isVisible());
+ settings.setValue("menubar_visible", m_menuBarVisible);
settings.setValue("window_split", ui->splitter->saveState());
settings.setValue("window_monitor", QApplication::desktop()->screenNumber(this));
settings.setValue("log_split", ui->topLevelSplitter->saveState());
@@ -5001,7 +5008,7 @@ void MainWindow::linkToolbar()
Executable &exe(getSelectedExecutable());
exe.showOnToolbar(!exe.isShownOnToolbar());
ui->linkButton->menu()->actions().at(static_cast<int>(ShortcutType::Toolbar))->setIcon(exe.isShownOnToolbar() ? QIcon(":/MO/gui/remove") : QIcon(":/MO/gui/link"));
- updateToolBar();
+ updatePinnedExecutables();
}
namespace {
@@ -6189,7 +6196,7 @@ void MainWindow::removeFromToolbar()
qDebug("executable doesn't exist any more");
}
- updateToolBar();
+ updatePinnedExecutables();
}
@@ -6850,6 +6857,7 @@ void MainWindow::keyPressEvent(QKeyEvent *event)
if (event->key() == Qt::Key_Alt) {
if (!ui->menuBar->isVisible()) {
ui->menuBar->setVisible(true);
+ m_menuBarVisible = true;
}
}
diff --git a/src/mainwindow.h b/src/mainwindow.h
index 09aeb044..4847d65c 100644
--- a/src/mainwindow.h
+++ b/src/mainwindow.h
@@ -211,7 +211,7 @@ private:
void createHelpMenu();
void createEndorseMenu();
- void updateToolBar();
+ void updatePinnedExecutables();
void setToolbarSize(const QSize& s);
void setToolbarButtonStyle(Qt::ToolButtonStyle s);
void toolbarMenu_aboutToShow();
@@ -324,6 +324,10 @@ private:
bool m_WasVisible;
+ // this has to be remembered because by the time storeSettings() is called,
+ // the window is closed and the menubar is hidden
+ bool m_menuBarVisible;
+
MOBase::TutorialControl m_Tutorial;
int m_OldProfileIndex;
diff --git a/src/mainwindow.ui b/src/mainwindow.ui
index e25111e1..e093fd3f 100644
--- a/src/mainwindow.ui
+++ b/src/mainwindow.ui
@@ -1392,7 +1392,7 @@ p, li { white-space: pre-wrap; }
<height>21</height>
</rect>
</property>
- <widget class="QMenu" name="menu_File">
+ <widget class="QMenu" name="menuFile">
<property name="title">
<string>&amp;File</string>
</property>
@@ -1402,7 +1402,7 @@ p, li { white-space: pre-wrap; }
<addaction name="separator"/>
<addaction name="actionExit"/>
</widget>
- <widget class="QMenu" name="menu_Tools">
+ <widget class="QMenu" name="menuTools">
<property name="title">
<string>&amp;Tools</string>
</property>
@@ -1413,7 +1413,7 @@ p, li { white-space: pre-wrap; }
<addaction name="separator"/>
<addaction name="actionSettings"/>
</widget>
- <widget class="QMenu" name="menu_Help">
+ <widget class="QMenu" name="menuHelp">
<property name="title">
<string>&amp;Help</string>
</property>
@@ -1421,7 +1421,7 @@ p, li { white-space: pre-wrap; }
<addaction name="actionUpdate"/>
<addaction name="actionEndorseMO"/>
</widget>
- <widget class="QMenu" name="menu_Edit">
+ <widget class="QMenu" name="menuEdit">
<property name="title">
<string>&amp;Edit</string>
</property>
@@ -1450,11 +1450,17 @@ p, li { white-space: pre-wrap; }
<addaction name="menuToolbars"/>
<addaction name="actionNotifications"/>
</widget>
- <addaction name="menu_File"/>
- <addaction name="menu_Edit"/>
+ <widget class="QMenu" name="menuRun">
+ <property name="title">
+ <string>&amp;Run</string>
+ </property>
+ </widget>
+ <addaction name="menuFile"/>
+ <addaction name="menuEdit"/>
<addaction name="menuView"/>
- <addaction name="menu_Tools"/>
- <addaction name="menu_Help"/>
+ <addaction name="menuTools"/>
+ <addaction name="menuRun"/>
+ <addaction name="menuHelp"/>
</widget>
<widget class="QToolBar" name="linksToolBar">
<property name="contextMenuPolicy">