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 QStringList getPluginPaths();
65  static QString getPluginPath();
66 
67  static QString getStandardLocation(int sl);
68  static QString getCacheLocation();
69  static QString getDataLocation();
70  static QString getDesktopLocation();
71  static QString getDocumentsLocation();
72  static QString getHomeLocation();
73 
74  //static void setEventBlocking(bool on);
75  //static bool isEventBlockingEnabled();
76  static bool isGuiEnabled();
77  static bool isDebuggerEnabled();
78  static bool hasQuitFlag();
79  static void setQuitFlag();
80 
81  static QString getFileName();
82  static QString getPath();
83  static QString getLaunchPath();
84  static void setLaunchPath(const QString& launchPath);
85 
86  static QString getDefaultStyle();
87 
88  // GraphicsView Appearance Fonts
89  static void setRulerFont(const QFont& font);
90  static QFont getRulerFont();
91  static void setSnapLabelFont(const QFont& font);
92  static QFont getSnapLabelFont();
93  static QFont getInfoLabelFont();
94  static QFont getStatusBarFont();
95 
96  static bool getAutoScaleGrid();
97  static bool getAutoScaleMetaGrid();
98  static bool getAutoScalePatterns();
99  static bool getColorCorrection();
100  static int getColorThreshold();
101  static int getTextHeightThreshold();
102  static double getArcAngleLengthThreshold();
103  static double getMinArcAngleStep();
104  static int getDashThreshold();
105  static QString getQtVersion();
106  static bool isQt(int majorVersion);
107  static QString getCompilerVersion();
108  static QString getOSVersion();
109  static QString getReleaseDate();
110  static QString getVersionString();
111  static QString getNumericalVersionString();
112  static int getMajorVersion();
113  static int getMinorVersion();
114  static int getRevisionVersion();
115  static int getBuildVersion();
116  static int getSnapRange();
117  static int getPickRange();
118  static int getZeroWeightWeight();
119  static int getPreviewEntities();
120  static bool getLimitZoomAndScroll();
121  static bool getShowCrosshair();
122  static void setShowCrosshair(bool on);
123  static bool getShowLargeCrosshair();
124  static void setShowLargeCrosshair(bool on);
125  static bool getShowLargeOriginAxis();
126  static void setShowLargeOriginAxis(bool on);
127  static bool getConcurrentDrawing();
128  static void setConcurrentDrawing(bool on);
129  static QLocale getNumberLocale();
130 
131  static void initRecentFiles();
132  static void addRecentFile(const QString& fileName);
133  static void removeRecentFile(const QString& fileName);
134  static QStringList getRecentFiles();
135  static void clearRecentFiles();
136 
137  static RColor getColor(const QString& key, const RColor& defaultValue=RDEFAULT_RCOLOR);
138 
139  static bool hasValue(const QString& key);
140  static QVariant getValue(const QString& key, const QVariant& defaultValue=RDEFAULT_QVARIANT);
141  static bool getBoolValue(const QString& key, bool defaultValue);
142  static double getDoubleValue(const QString& key, double defaultValue);
143  static int getIntValue(const QString& key, int defaultValue);
144  static QString getStringValue(const QString& key, const QString& defaultValue);
145  static QStringList getStringListValue(const QString& key, const QStringList& defaultValue);
146 
147  static void setValue(const QString& key, const QVariant& value, bool overwrite=true);
148  static void removeValue(const QString& key);
149 
150  static void setApplicationName(const QString& n);
151 
152  static QStringList getAllKeys(const QString& group);
153 
154  static QSettings* getQSettings();
155 
156  static void resetCache();
157 
158  static void setXDataEnabled(bool on);
159  static bool isXDataEnabled();
160 
161  static bool getAutoScaleLinetypePatterns();
162  static bool getUseSecondarySelectionColor();
163  static bool getUseSolidLineSelection();
164 
165  static int getMouseThreshold();
166 
167 private:
168  static bool isInitialized();
169  static void shortenRecentFiles();
170 
171 private:
172  // cache for faster access:
173  static QVariantMap cache;
174 
175  // variables for very fast access:
176  static QFont* rulerFont;
177  static QFont* snapLabelFont;
178  static QFont* infoLabelFont;
179  static QFont* statusBarFont;
180  static int snapRange;
181  static int pickRange;
182  static int zeroWeightWeight;
183  static int showCrosshair;
184  static int showLargeCrosshair;
186  static int concurrentDrawing;
187  static int previewEntities;
188  static int limitZoomAndScroll;
192  static int mouseThreshold;
193  static double arcAngleLengthThreshold;
194  static double minArcAngleStep;
195  static int dashThreshold;
196  static QStringList recentFiles;
197  static QLocale* numberLocale;
198 
199  static QString applicationNameOverride;
200 
201  static QString launchPath;
202 
203  static QSettings* qSettings;
204 
205  static QStringList originalArguments;
206 
207  static bool quitFlag;
208 
209  static bool xDataEnabled;
210 };
211 
213 
214 #endif