QCAD Application Framework
CAD Application Development and Automation.
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
RSettings.h
Go to the documentation of this file.
1 #ifndef RSETTINGS_H
2 #define RSETTINGS_H
3 
4 #include <QColor>
5 #include <QSettings>
6 #include <QFont>
7 
8 #include "RColor.h"
9 
10 // workaround for src2srcml bug:
11 #ifndef RDEFAULT_RCOLOR
12 #define RDEFAULT_RCOLOR RColor()
13 #endif
14 
15 #ifndef RDEFAULT_QVARIANT
16 #define RDEFAULT_QVARIANT QVariant()
17 #endif
18 
23 class RSettings {
24 public:
25  static void uninit();
26 
27  static QString getLocale();
28 
29  static QStringList getOriginalArguments();
30  static void setOriginalArguments(const QStringList& a);
31 
32  static void setEventBlocking(bool on);
33  static bool isEventBlockingEnabled();
34  static bool isGuiEnabled();
35  static bool isDebuggerEnabled();
36  static bool isTrial();
37  static bool isTrialPeriodOver();
38  static void setTrialPeriodOver();
39  static bool hasQuitFlag();
40  static void setQuitFlag();
41 
42  static QString getFileName();
43  static QString getPath();
44  static QString getLaunchPath();
45  static void setLaunchPath(const QString& launchPath);
46 
47  static QString getDefaultStyle();
48 
49  // GraphicsView Appearance Fonts
50  static void setRulerFont(const QFont& font);
51  static QFont getRulerFont();
52  static void setSnapLabelFont(const QFont& font);
53  static QFont getSnapLabelFont();
54  static QFont getInfoLabelFont();
55  static QFont getStatusBarFont();
56 
57  static bool getAutoScalePatterns();
58  static bool getColorCorrection();
59  static int getColorThreshold();
60  static int getTextHeightThreshold();
61  static QString getQtVersion();
62  static QString getReleaseDate();
63  static QString getVersionString();
64  static QString getNumericalVersionString();
65  static QString getVersionTicket();
66  static int getMajorVersion();
67  static int getMinorVersion();
68  static int getRevisionVersion();
69  static int getBuildVersion();
70  static int getSnapRange();
71  static int getPreviewEntities();
72  static bool getShowCrosshair();
73  static void setShowCrosshair(bool on);
74  static bool getShowLargeCrosshair();
75  static void setShowLargeCrosshair(bool on);
76  static bool getConcurrentDrawing();
77  static void setConcurrentDrawing(bool on);
78  static QLocale getNumberLocale();
79 
80  static void initRecentFiles();
81  static void addRecentFile(const QString& fileName);
82  static void removeRecentFile(const QString& fileName);
83  static QStringList getRecentFiles();
84  static void clearRecentFiles();
85 
86  static RColor getColor(const QString& key, const RColor& defaultValue=RDEFAULT_RCOLOR);
87 
88  static QVariant getValue(const QString& key, const QVariant& defaultValue=RDEFAULT_QVARIANT);
89  static bool getBoolValue(const QString& key, bool defaultValue);
90  static double getDoubleValue(const QString& key, double defaultValue);
91  static int getIntValue(const QString& key, int defaultValue);
92  static QString getStringValue(const QString& key, const QString& defaultValue);
93 
94  static void setValue(const QString& key, const QVariant& value);
95 
96  static void setApplicationName(const QString& n);
97 
98  static QStringList getAllKeys(const QString& group);
99 
100  static QSettings* getQSettings();
101 
102  static void resetCache();
103 
104  static bool isXDataEnabled();
105 
106 public:
107  // GraphicsView Appearance Colors
108  static const QString BackgroundColor;
109  static const QString GridColor;
110  static const QString ZoomBoxColor;
111  static const QString SelectionColor;
112  static const QString SelectionBoxColor;
113  static const QString SelectionBoxBackgroundColor;
114  static const QString SelectionBoxBackgroundCrossColor;
115  static const QString ReferencePointColor;
116  static const QString CrosshairColor;
117  static const QString CrosshairColorInactive;
118  static const QString AuxShapeColor;
119  static const QString MetaGridColor;
120  static const QString RelativeZeroColor;
121  static const QString OriginColor;
122  static const QString TextLabelBackgroundColor;
123  static const QString TextLabelColor;
124  static const QString MeasurementToolsColor;
125 
126  static const QString DrawingUnit;
127  static const QString LinetypeScale;
128 
129  //static const QString DimTxt;
130 
131  static const QString DecimalPoint;
132  static const QString CartesianCoordinateSeparator;
133  static const QString PolarCoordinateSeparator;
134  static const QString RelativeCoordinatePrefix;
135 
136  static const QString Locale;
137  static const QString CadToolBarColumns;
138  static const QString CadToolBarIconSize;
139  static const QString GraphicsViewMargin;
140  static const QString GraphicsViewColorCorrection;
141  static const QString GraphicsViewColorThreshold;
142  static const QString GraphicsViewTextHeightThreshold;
143 
144 private:
145  static bool isInitialized();
146  static void shortenRecentFiles();
147 
148 private:
149  // cache for faster access:
150  static QMap<QString, QVariant> cache;
151 
152  // variables for very fast access:
153  static QFont* rulerFont;
154  static QFont* snapLabelFont;
155  static QFont* infoLabelFont;
156  static QFont* statusBarFont;
157  static int snapRange;
158  static int showCrosshair;
159  static int showLargeCrosshair;
160  static int concurrentDrawing;
161  static int previewEntities;
162  static QStringList recentFiles;
163  static QLocale* numberLocale;
164 
165  static QString applicationNameOverride;
166 
167  static QString launchPath;
168 
169  static QSettings* qSettings;
170 
171  static QStringList originalArguments;
172 
173  static int enableXData;
174 
175  static bool quitFlag;
176  static bool eventBlocking;
177 
178 #ifdef RTRIAL
179  static bool trialPeriodOver;
180 #endif
181 };
182 
184 
185 #endif