1
Fork 0
mirror of https://github.com/redstrate/Novus.git synced 2025-04-23 20:47:45 +00:00

common: Allow further customizations of the built-in menus

This commit is contained in:
Joshua Goins 2023-10-10 18:20:48 -04:00
parent 19d1f56fc6
commit 623b0ee871
2 changed files with 20 additions and 0 deletions

View file

@ -9,4 +9,14 @@ class NovusMainWindow : public QMainWindow
{
public:
explicit NovusMainWindow();
protected:
void setupMenubar();
virtual void setupFileMenu(QMenu *menu)
{
}
virtual void setupAdditionalMenus(QMenuBar *menuBar)
{
}
};

View file

@ -12,13 +12,23 @@
NovusMainWindow::NovusMainWindow()
{
setWindowTitle(KAboutData::applicationData().displayName());
}
void NovusMainWindow::setupMenubar()
{
auto fileMenu = menuBar()->addMenu(QStringLiteral("File"));
setupFileMenu(fileMenu);
if (!fileMenu->isEmpty()) {
fileMenu->addSeparator();
}
auto quitAction = fileMenu->addAction(QStringLiteral("Quit"));
quitAction->setIcon(QIcon::fromTheme(QStringLiteral("gtk-quit")));
connect(quitAction, &QAction::triggered, qApp, &QCoreApplication::quit);
setupAdditionalMenus(menuBar());
auto helpMenu = menuBar()->addMenu(QStringLiteral("Help"));
auto donateAction = helpMenu->addAction(QStringLiteral("Donate"));