Skip to content
Snippets Groups Projects
Commit 6f968f17 authored by Matthias's avatar Matthias
Browse files

fix wrong modality of material editor

This fixes the issue 2503 (GUI: Material editor is a semi-modal toplevel window instead of modal dialog)

http://apps.jcns.fz-juelich.de/redmine/issues/2503
parent 59499780
No related branches found
No related tags found
No related merge requests found
......@@ -27,6 +27,7 @@
#include "GUI/coregui/Views/MaterialEditor/MaterialEditorDialog.h"
#include "GUI/coregui/Views/SampleDesigner/DesignerHelper.h"
#include "GUI/coregui/mainwindow/AppSvc.h"
#include "GUI/coregui/mainwindow/mainwindow.h"
#include "GUI/coregui/utils/GUIHelpers.h"
#include "Sample/Material/Material.h"
#include <QColorDialog>
......@@ -141,7 +142,7 @@ ExternalProperty MaterialItemUtils::colorProperty(const QColor& color) {
}
ExternalProperty MaterialItemUtils::selectMaterialProperty(const ExternalProperty& previous) {
MaterialEditorDialog dialog(AppSvc::materialModel());
MaterialEditorDialog dialog(AppSvc::materialModel(), MainWindow::instance());
dialog.setMaterialProperty(previous);
if (dialog.exec() == QDialog::Accepted) {
return dialog.selectedMaterialProperty();
......
......@@ -38,6 +38,8 @@
#include <qt-manhattan-style/progressbar.h>
#include <qt-manhattan-style/stylehelper.h>
MainWindow* MainWindow::s_instance = nullptr;
MainWindow::MainWindow()
: Manhattan::FancyMainWindow(nullptr)
, m_tabWidget(new Manhattan::FancyTabWidget(this))
......@@ -54,6 +56,7 @@ MainWindow::MainWindow()
, m_simulationView(0)
, m_jobView(0)
, m_sessionModelView(0) {
s_instance = this;
initApplication();
readSettings();
initProgressBar();
......@@ -65,6 +68,14 @@ MainWindow::MainWindow()
// m_applicationModels->createTestRealData();
}
MainWindow::~MainWindow() {
s_instance = nullptr;
}
MainWindow* MainWindow::instance() {
return s_instance;
}
MaterialModel* MainWindow::materialModel() {
return models()->materialModel();
}
......
......@@ -48,6 +48,10 @@ public:
enum ETabViewId { WELCOME, INSTRUMENT, SAMPLE, IMPORT, SIMULATION, JOB, MAXVIEWCOUNT };
explicit MainWindow();
~MainWindow();
//! Returns the one and only instance of this class
static MainWindow* instance();
MaterialModel* materialModel();
InstrumentModel* instrumentModel();
......@@ -96,6 +100,9 @@ private:
SimulationView* m_simulationView;
JobView* m_jobView;
SessionModelView* m_sessionModelView;
//! Holds the one and only instance of this class
static MainWindow* s_instance;
};
#endif // BORNAGAIN_GUI_COREGUI_MAINWINDOW_MAINWINDOW_H
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment