diff --git a/src/app/tape/dialogs/dialogmdatabase.cpp b/src/app/tape/dialogs/dialogmdatabase.cpp index 3ebd1a7e4..8f131e39d 100644 --- a/src/app/tape/dialogs/dialogmdatabase.cpp +++ b/src/app/tape/dialogs/dialogmdatabase.cpp @@ -52,9 +52,9 @@ DialogMDataBase::DialogMDataBase(QWidget *parent) list() { + ui->setupUi(this); InitDataBase(); - connect(ui->treeWidget, &QTreeWidget::itemChanged, this, &DialogMDataBase::UpdateChecks); connect(ui->treeWidget, &QTreeWidget::itemClicked, this, &DialogMDataBase::ShowDescription); } @@ -635,9 +635,9 @@ void DialogMDataBase::AddMeasurement(QTreeWidgetItem *group, const QString &name { m->setCheckState(0, Qt::Unchecked); } - } - UpdateChecks(m, 0); + UpdateChecks(m, 0); + } const QString text = qApp->TrVars()->MNumber(name) + ". " + qApp->TrVars()->MToUser(name); m->setText(0, text); diff --git a/src/app/tape/mapplication.cpp b/src/app/tape/mapplication.cpp index f95bda3db..438662286 100644 --- a/src/app/tape/mapplication.cpp +++ b/src/app/tape/mapplication.cpp @@ -36,13 +36,15 @@ #include #include #include +#include //--------------------------------------------------------------------------------------------------------------------- MApplication::MApplication(int &argc, char **argv) :VAbstractApplication(argc, argv), mainWindows(), localServer(nullptr), - trVars(nullptr) + trVars(nullptr), + dataBase(QPointer()) { setApplicationDisplayName(VER_PRODUCTNAME_STR); setApplicationName(VER_INTERNALNAME_STR); @@ -292,6 +294,22 @@ QString MApplication::diagramsPath() const #endif } +//--------------------------------------------------------------------------------------------------------------------- +void MApplication::ShowDataBase() +{ + if (dataBase.isNull()) + { + dataBase = new DialogMDataBase(); + dataBase->setAttribute(Qt::WA_DeleteOnClose, true); + dataBase->setModal(false); + dataBase->show(); + } + else + { + dataBase->activateWindow(); + } +} + //--------------------------------------------------------------------------------------------------------------------- #if defined(Q_WS_MAC) bool MApplication::event(QEvent* event) diff --git a/src/app/tape/mapplication.h b/src/app/tape/mapplication.h index 8bf1be478..71700b8de 100644 --- a/src/app/tape/mapplication.h +++ b/src/app/tape/mapplication.h @@ -33,6 +33,7 @@ #include "../vmisc/def.h" #include "../vmisc/vtapesettings.h" #include "../vmisc/vabstractapplication.h" +#include "dialogs/dialogmdatabase.h" class MApplication;// use in define class TMainWindow; @@ -70,6 +71,8 @@ public: QString translationsPath() const; QString diagramsPath() const; + void ShowDataBase(); + public slots: TMainWindow *NewMainWindow(); @@ -82,6 +85,7 @@ private: QList > mainWindows; QLocalServer *localServer; VTranslateVars *trVars; + QPointer dataBase; void Clean(); }; diff --git a/src/app/tape/tmainwindow.cpp b/src/app/tape/tmainwindow.cpp index e288a1d36..addb5bb96 100644 --- a/src/app/tape/tmainwindow.cpp +++ b/src/app/tape/tmainwindow.cpp @@ -1135,6 +1135,7 @@ void TMainWindow::SetupMenu() // Measurements connect(ui->actionAddCustom, &QAction::triggered, this, &TMainWindow::AddCustom); connect(ui->actionAddKnown, &QAction::triggered, this, &TMainWindow::AddKnown); + connect(ui->actionDatabase, &QAction::triggered, qApp, &MApplication::ShowDataBase); // Window connect(ui->menuWindow, &QMenu::aboutToShow, this, &TMainWindow::AboutToShowWindowMenu); diff --git a/src/app/tape/tmainwindow.ui b/src/app/tape/tmainwindow.ui index 2a3c24d58..d22121cc8 100644 --- a/src/app/tape/tmainwindow.ui +++ b/src/app/tape/tmainwindow.ui @@ -615,6 +615,7 @@ + @@ -784,6 +785,14 @@ Open template + + + Database + + + Show information about all known measurement + +