Added an AbstractDialog class and using it as base for a NewItemDialog class (no new item functionality yet).

This commit is contained in:
2025-12-07 10:56:30 +01:00
parent c7012ceff5
commit 928b795f4e
7 changed files with 214 additions and 14 deletions

View File

@ -5,6 +5,7 @@
#include <QMessageBox>
#include "../../ApplicationConfig.h"
#include "Dialogs/newitemdialog.h"
#include "data/settingshandler.h"
#include "genericcore.h"
@ -30,13 +31,14 @@ MainWindow::MainWindow(QWidget* parent)
setWindowIcon(QIcon(iconString));
#endif
createActions();
createHelpMenu();
const QVariantMap settings = SettingsHandler::getSettings("GUI");
restoreGeometry(settings.value("geometry").toByteArray());
restoreState(settings.value("windowState").toByteArray());
createActions();
createHelpMenu();
createGuiDialogs();
connect(m_core.get(), &GenericCore::displayStatusMessage, this,
&MainWindow::displayStatusMessage);
connect(this, &MainWindow::displayStatusMessage, this, &MainWindow::showStatusMessage);
@ -125,14 +127,11 @@ void MainWindow::on_pushButton_clicked() {
ui->label->setText(prefix + m_core->toString());
}
void MainWindow::createHelpMenu() {
QMenu* helpMenu = ui->menu_Help;
helpMenu->addSeparator();
QAction* aboutAct = helpMenu->addAction(tr("&About"), this, &MainWindow::onAboutClicked);
aboutAct->setStatusTip(tr("Show the application's About box"));
void MainWindow::openNewItemDialog() {
showStatusMessage(tr("Invoked 'Edit|New Item'"));
qInfo() << "'open new item dialog' action triggered...";
QAction* aboutQtAct = helpMenu->addAction(tr("About &Qt"), qApp, &QApplication::aboutQt);
aboutQtAct->setStatusTip(tr("Show the Qt library's About box"));
m_newItemDialog->show();
}
void MainWindow::createActions() {
@ -228,8 +227,8 @@ void MainWindow::createEditActions() {
m_openNewItemDialogAct = make_unique<QAction>(tr("&New item"), this);
m_openNewItemDialogAct->setShortcut(QKeySequence::New);
m_openNewItemDialogAct->setStatusTip(tr("Opens a dialog to add a new item"));
// connect(m_openNewItemDialogAct, &QAction::triggered, this, &MainWindow::openNewItemDialog);
m_openNewItemDialogAct->setEnabled(false);
connect(m_openNewItemDialogAct.get(), &QAction::triggered, this, &MainWindow::openNewItemDialog);
// m_openNewItemDialogAct->setEnabled(false);
ui->menu_Edit->addAction(m_openNewItemDialogAct.get());
m_openEditItemDialogAct = make_unique<QAction>(tr("&Edit item"), this);
@ -255,3 +254,18 @@ void MainWindow::createEditActions() {
m_findItemAct->setEnabled(false);
ui->menu_Edit->addAction(m_findItemAct.get());
}
void MainWindow::createHelpMenu() {
QMenu* helpMenu = ui->menu_Help;
helpMenu->addSeparator();
QAction* aboutAct = helpMenu->addAction(tr("&About"), this, &MainWindow::onAboutClicked);
aboutAct->setStatusTip(tr("Show the application's About box"));
QAction* aboutQtAct = helpMenu->addAction(tr("About &Qt"), qApp, &QApplication::aboutQt);
aboutQtAct->setStatusTip(tr("Show the Qt library's About box"));
}
void MainWindow::createGuiDialogs() {
m_newItemDialog = make_unique<NewItemDialog>(this);
m_newItemDialog->createContent();
}