Engauge Digitizer  2
DlgSettingsMainWindow.h
1 /******************************************************************************************************
2  * (C) 2014 markummitchell@github.com. This file is part of Engauge Digitizer, which is released *
3  * under GNU General Public License version 2 (GPLv2) or (at your option) any later version. See file *
4  * LICENSE or go to gnu.org/licenses for details. Distribution requires prior written permission. *
5  ******************************************************************************************************/
6 
7 #ifndef DLG_SETTINGS_MAIN_WINDOW_H
8 #define DLG_SETTINGS_MAIN_WINDOW_H
9 
10 #include "DlgSettingsAbstractBase.h"
11 #include <QLocale>
12 
13 class QCheckBox;
14 class QComboBox;
15 class QDoubleSpinBox;
16 class QGridLayout;
17 class QPushButton;
18 class QSpinBox;
19 class MainWindowModel;
20 
23 {
24  Q_OBJECT;
25 
26 public:
29  virtual ~DlgSettingsMainWindow();
30 
31  virtual void createOptionalSaveDefault (QHBoxLayout *layout);
32  virtual QWidget *createSubPanel ();
33  virtual void load (CmdMediator &cmdMediator); // Not used. Use loadMainWindowModel instead
34 
36  void loadMainWindowModel (CmdMediator &cmdMediator,
37  const MainWindowModel &modelMainWindow);
38 
39 private slots:
40  void slotHighlightOpacity (double);
41  void slotImportCropping (int index);
42  void slotLocale (int index);
43  void slotMaximumGridLines (int limit);
44  void slotPdfResolution (const QString);
45  void slotRecentFileClear ();
46  void slotTitleBarFormat(bool);
47  void slotZoomControl (const QString);
48  void slotZoomFactor (const QString);
49 
50 protected:
51  virtual void handleOk ();
52 
53 private:
54 
55  void createControls (QGridLayout *layout,
56  int &row);
57  void updateControls();
58 
59  QComboBox *m_cmbZoomFactor;
60  QComboBox *m_cmbZoomControl;
61  QComboBox *m_cmbLocale;
62  QComboBox *m_cmbImportCropping;
63  QPushButton *m_btnRecentClear;
64  QCheckBox *m_chkTitleBarFormat;
65  QComboBox *m_cmbPdfResolution;
66  QSpinBox *m_spinMaximumGridLines;
67  QDoubleSpinBox *m_spinHighlightOpacity;
68 
69  MainWindowModel *m_modelMainWindowBefore;
70  MainWindowModel *m_modelMainWindowAfter;
71 };
72 
73 #endif // DLG_SETTINGS_MAIN_WINDOW_H
virtual void createOptionalSaveDefault(QHBoxLayout *layout)
Let subclass define an optional Save As Default button.
virtual void handleOk()
Process slotOk.
void loadMainWindowModel(CmdMediator &cmdMediator, const MainWindowModel &modelMainWindow)
Replaced load method since the main window settings are independent of document, unlike other DlgSett...
virtual void load(CmdMediator &cmdMediator)
Load settings from Document.
DlgSettingsMainWindow(MainWindow &mainWindow)
Single constructor.
Model for DlgSettingsMainWindow.
virtual QWidget * createSubPanel()
Create dialog-specific panel to which base class will add Ok and Cancel buttons.
Dialog for editing main window settings, which are entirely independent of all documents.
Command queue stack.
Definition: CmdMediator.h:23
Abstract base class for all Settings dialogs.
MainWindow & mainWindow()
Get method for MainWindow.
Main window consisting of menu, graphics scene, status bar and optional toolbars as a Single Document...
Definition: MainWindow.h:83
CmdMediator & cmdMediator()
Provide access to Document information wrapped inside CmdMediator.