QCAD
Open Source 2D CAD
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
RSettings.h
Go to the documentation of this file.
1 
20 #ifndef RSETTINGS_H
21 #define RSETTINGS_H
22 
23 #include "core_global.h"
24 
25 #include <QColor>
26 #include <QDir>
27 #include <QSettings>
28 #include <QFont>
29 
30 #include "RColor.h"
31 
32 // workaround for src2srcml bug:
33 #ifndef RDEFAULT_RCOLOR
34 #define RDEFAULT_RCOLOR RColor()
35 #endif
36 
37 #ifndef RDEFAULT_QVARIANT
38 #define RDEFAULT_QVARIANT QVariant()
39 #endif
40 
41 #ifndef RDEFAULT_QSTRINGLIST
42 #define RDEFAULT_QSTRINGLIST QStringList()
43 #endif
44 
50 public:
51  static void uninit();
52 
53  static QString getAppId();
54 
55  static QString getLocale();
56  static void loadTranslations(const QString& module, const QStringList& dirs = RDEFAULT_QSTRINGLIST);
57  static QString translate(const QString& context, const QString& str);
58 
59  static QStringList getOriginalArguments();
60  static void setOriginalArguments(const QStringList& a);
61 
62  static bool isDeployed();
63  static QString getApplicationPath();
64  static QString getPluginPath();
65 
66  static QString getStandardLocation(int sl);
67  static QString getCacheLocation();
68  static QString getDesktopLocation();
69  static QString getDocumentsLocation();
70  static QString getHomeLocation();
71 
72  //static void setEventBlocking(bool on);
73  //static bool isEventBlockingEnabled();
74  static bool isGuiEnabled();
75  static bool isDebuggerEnabled();
76  static bool hasQuitFlag();
77  static void setQuitFlag();
78 
79  static QString getFileName();
80  static QString getPath();
81  static QString getLaunchPath();
82  static void setLaunchPath(const QString& launchPath);
83 
84  static QString getDefaultStyle();
85 
86  // GraphicsView Appearance Fonts
87  static void setRulerFont(const QFont& font);
88  static QFont getRulerFont();
89  static void setSnapLabelFont(const QFont& font);
90  static QFont getSnapLabelFont();
91  static QFont getInfoLabelFont();
92  static QFont getStatusBarFont();
93 
94  static bool getAutoScaleGrid();
95  static bool getAutoScaleMetaGrid();
96  static bool getAutoScalePatterns();
97  static bool getColorCorrection();
98  static int getColorThreshold();
99  static int getTextHeightThreshold();
100  static double getArcAngleLengthThreshold();
101  static QString getQtVersion();
102  static bool isQt(int majorVersion);
103  static QString getCompilerVersion();
104  static QString getOSVersion();
105  static QString getReleaseDate();
106  static QString getVersionString();
107  static QString getNumericalVersionString();
108  static int getMajorVersion();
109  static int getMinorVersion();
110  static int getRevisionVersion();
111  static int getBuildVersion();
112  static int getSnapRange();
113  static int getPickRange();
114  static int getZeroWeightWeight();
115  static int getPreviewEntities();
116  static bool getLimitZoomAndScroll();
117  static bool getShowCrosshair();
118  static void setShowCrosshair(bool on);
119  static bool getShowLargeCrosshair();
120  static void setShowLargeCrosshair(bool on);
121  static bool getShowLargeOriginAxis();
122  static void setShowLargeOriginAxis(bool on);
123  static bool getConcurrentDrawing();
124  static void setConcurrentDrawing(bool on);
125  static QLocale getNumberLocale();
126 
127  static void initRecentFiles();
128  static void addRecentFile(const QString& fileName);
129  static void removeRecentFile(const QString& fileName);
130  static QStringList getRecentFiles();
131  static void clearRecentFiles();
132 
133  static RColor getColor(const QString& key, const RColor& defaultValue=RDEFAULT_RCOLOR);
134 
135  static bool hasValue(const QString& key);
136  static QVariant getValue(const QString& key, const QVariant& defaultValue=RDEFAULT_QVARIANT);
137  static bool getBoolValue(const QString& key, bool defaultValue);
138  static double getDoubleValue(const QString& key, double defaultValue);
139  static int getIntValue(const QString& key, int defaultValue);
140  static QString getStringValue(const QString& key, const QString& defaultValue);
141 
142  static void setValue(const QString& key, const QVariant& value);
143  static void removeValue(const QString& key);
144 
145  static void setApplicationName(const QString& n);
146 
147  static QStringList getAllKeys(const QString& group);
148 
149  static QSettings* getQSettings();
150 
151  static void resetCache();
152 
153  static void setXDataEnabled(bool on);
154  static bool isXDataEnabled();
155 
156  static bool getAutoScaleLinetypePatterns();
157  static bool getUseSecondarySelectionColor();
158  static bool getUseSolidLineSelection();
159 
160 private:
161  static bool isInitialized();
162  static void shortenRecentFiles();
163 
164 private:
165  // cache for faster access:
166  static QVariantMap cache;
167 
168  // variables for very fast access:
169  static QFont* rulerFont;
170  static QFont* snapLabelFont;
171  static QFont* infoLabelFont;
172  static QFont* statusBarFont;
173  static int snapRange;
174  static int pickRange;
175  static int zeroWeightWeight;
176  static int showCrosshair;
177  static int showLargeCrosshair;
179  static int concurrentDrawing;
180  static int previewEntities;
181  static int limitZoomAndScroll;
185  static double arcAngleLengthThreshold;
186  static QStringList recentFiles;
187  static QLocale* numberLocale;
188 
189  static QString applicationNameOverride;
190 
191  static QString launchPath;
192 
193  static QSettings* qSettings;
194 
195  static QStringList originalArguments;
196 
197  static bool quitFlag;
198 
199  static bool xDataEnabled;
200 };
201 
203 
204 #endif