1 #ifndef UICONFIG_H
2 #define UICONFIG_H
3 
4 #include "guiSQLiteStudio_global.h"
5 #include "config_builder.h"
6 #include <QFont>
7 #include <QHash>
8 #include <QColor>
9 
10 namespace Cfg
11 {
12     GUI_API_EXPORT QVariant getStyleDefaultValue();
13     GUI_API_EXPORT QVariant getDefaultTextEditorFont();
14     GUI_API_EXPORT QVariant getDefaultItemViewFont();
15     GUI_API_EXPORT QVariant getDefaultDbTreeLabelFont();
16     typedef QHash<QString,QVariant> Session;
17     typedef QHash<QString,QVariant> DataEditorsOrder;
18     enum InsertRowPlacement
19     {
20         BEFORE_CURRENT,
21         AFTER_CURRENT,
22         AT_THE_END
23     };
24 }
25 
26 CFG_CATEGORIES(Ui,
27     CFG_CATEGORY(Fonts,
28         CFG_ENTRY(QFont,        SqlEditor,               &Cfg::getDefaultTextEditorFont)
29         CFG_ENTRY(QFont,        DataView,                &Cfg::getDefaultItemViewFont)
30         CFG_ENTRY(QFont,        DbTree,                  &Cfg::getDefaultItemViewFont)
31         CFG_ENTRY(QFont,        DbTreeLabel,             &Cfg::getDefaultDbTreeLabelFont)
32         CFG_ENTRY(QFont,        StatusField,             &Cfg::getDefaultItemViewFont)
33     )
34 
35     CFG_CATEGORY(DbList,
36     )
37 
38     CFG_CATEGORY(General,
39         CFG_ENTRY(QString,               DataViewTabs,               QString())
40         CFG_ENTRY(QString,               SqlEditorTabs,              QString())
41         CFG_ENTRY(QString,               SqlEditorDbListOrder,       "LikeDbTree")
42         CFG_ENTRY(bool,                  ExpandTables,               true)
43         CFG_ENTRY(bool,                  ExpandViews,                true)
44         CFG_ENTRY(bool,                  SortObjects,                true)
45         CFG_ENTRY(bool,                  SortColumns,                false)
46         CFG_ENTRY(bool,                  ExecuteCurrentQueryOnly,    true)
47         CFG_ENTRY(bool,                  ShowSystemObjects,          false)
48         CFG_ENTRY(bool,                  ShowDbTreeLabels,           true) // any labels at all
49         CFG_ENTRY(bool,                  ShowRegularTableLabels,     false)
50         CFG_ENTRY(bool,                  ShowVirtualTableLabels,     true)
51         CFG_ENTRY(int,                   NumberOfRowsPerPage,        1000)
52         CFG_ENTRY(bool,                  LimitRowsForManyColumns,    true)
53         CFG_ENTRY(QString,               Style,                      &Cfg::getStyleDefaultValue)
54         CFG_ENTRY(Cfg::Session,          Session,                    Cfg::Session())
55         CFG_ENTRY(bool,                  AllowMultipleSessions,      false)
56         CFG_ENTRY(bool,                  RestoreSession,             true)
57         CFG_ENTRY(bool,                  DontShowDdlPreview,         false)
58         CFG_ENTRY(bool,                  OpenTablesOnData,           false)
59         CFG_ENTRY(bool,                  DataTabAsFirstInTables,     false)
60         CFG_ENTRY(bool,                  OpenViewsOnData,            false)
61         CFG_ENTRY(bool,                  DataTabAsFirstInViews,      false)
62         CFG_ENTRY(bool,                  AutoOpenStatusField,        true)
63         CFG_ENTRY(bool,                  NewDbNotPermanentByDefault, false)
64         CFG_ENTRY(bool,                  BypassDbDialogWhenDropped,  false)
65         CFG_ENTRY(Cfg::DataEditorsOrder, DataEditorsOrder,           Cfg::DataEditorsOrder())
66         CFG_ENTRY(QString,               FileDialogLastPath,         QString())
67         CFG_ENTRY(int,                   MaxInitialColumnWith,       600)
68         CFG_ENTRY(bool,                  LanguageAsked,              false)
69         CFG_ENTRY(bool,                  OpenMaximized,              true)
70         CFG_ENTRY(QString,               DockLayout,                 "vertical")
71         CFG_ENTRY(QString,               CustomCss,                  QString())
72         CFG_ENTRY(bool,                  CompactLayout,              true)
73         CFG_ENTRY(int,                   InsertRowPlacement,         Cfg::BEFORE_CURRENT)
74         CFG_ENTRY(bool,                  ShowDataViewTooltips,       true)
75         CFG_ENTRY(bool,                  KeepNullWhenEmptyValue,     true)
76         CFG_ENTRY(bool,                  UseDefaultValueForNull,     false)
77     )
78 )
79 
80 GUI_API_EXPORT QString getFileDialogInitPath();
81 GUI_API_EXPORT void setFileDialogInitPath(const QString& path);
82 GUI_API_EXPORT void setFileDialogInitPathByFile(const QString& filePath);
83 
84 #define CFG_UI CFG_INSTANCE(Ui)
85 
86 #endif // UICONFIG_H
87