bugfix: add custom Exit action in menubar for macOS

Qt will create a default exit action for macOS which will crash the app.
This commit is contained in:
Le Tan 2017-03-24 20:29:05 +08:00
parent f52749f972
commit 1894606c10

View File

@ -208,7 +208,6 @@ void VMainWindow::initFileToolBar()
discardExitAct = new QAction(QIcon(":/resources/icons/discard_exit.svg"), discardExitAct = new QAction(QIcon(":/resources/icons/discard_exit.svg"),
tr("Discard Changes And Exit"), this); tr("Discard Changes And Exit"), this);
discardExitAct->setStatusTip(tr("Discard changes and exit edit mode")); discardExitAct->setStatusTip(tr("Discard changes and exit edit mode"));
discardExitAct->setShortcut(QKeySequence("Ctrl+Q"));
connect(discardExitAct, &QAction::triggered, connect(discardExitAct, &QAction::triggered,
editArea, &VEditArea::readFile); editArea, &VEditArea::readFile);
@ -262,7 +261,7 @@ void VMainWindow::initHelpMenu()
{ {
QMenu *helpMenu = menuBar()->addMenu(tr("&Help")); QMenu *helpMenu = menuBar()->addMenu(tr("&Help"));
QAction *aboutAct = new QAction(tr("&About"), this); QAction *aboutAct = new QAction(tr("&About VNote"), this);
aboutAct->setStatusTip(tr("View information about VNote")); aboutAct->setStatusTip(tr("View information about VNote"));
connect(aboutAct, &QAction::triggered, connect(aboutAct, &QAction::triggered,
this, &VMainWindow::aboutMessage); this, &VMainWindow::aboutMessage);
@ -365,9 +364,18 @@ void VMainWindow::initFileMenu()
connect(settingsAct, &QAction::triggered, connect(settingsAct, &QAction::triggered,
this, &VMainWindow::viewSettings); this, &VMainWindow::viewSettings);
// Exit.
QAction *exitAct = new QAction(tr("Exit"), this);
exitAct->setStatusTip(tr("Exit VNote"));
exitAct->setShortcut(QKeySequence("Ctrl+Q"));
connect(exitAct, &QAction::triggered,
this, &VMainWindow::close);
fileMenu->addAction(m_importNoteAct); fileMenu->addAction(m_importNoteAct);
fileMenu->addSeparator(); fileMenu->addSeparator();
fileMenu->addAction(settingsAct); fileMenu->addAction(settingsAct);
fileMenu->addSeparator();
fileMenu->addAction(exitAct);
} }
void VMainWindow::initEditMenu() void VMainWindow::initEditMenu()