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 getZeroWeightWeight();
114  static int getPreviewEntities();
115  static bool getLimitZoomAndScroll();
116  static bool getShowCrosshair();
117  static void setShowCrosshair(bool on);
118  static bool getShowLargeCrosshair();
119  static void setShowLargeCrosshair(bool on);
120  static bool getConcurrentDrawing();
121  static void setConcurrentDrawing(bool on);
122  static QLocale getNumberLocale();
123 
124  static void initRecentFiles();
125  static void addRecentFile(const QString& fileName);
126  static void removeRecentFile(const QString& fileName);
127  static QStringList getRecentFiles();
128  static void clearRecentFiles();
129 
130  static RColor getColor(const QString& key, const RColor& defaultValue=RDEFAULT_RCOLOR);
131 
132  static QVariant getValue(const QString& key, const QVariant& defaultValue=RDEFAULT_QVARIANT);
133  static bool getBoolValue(const QString& key, bool defaultValue);
134  static double getDoubleValue(const QString& key, double defaultValue);
135  static int getIntValue(const QString& key, int defaultValue);
136  static QString getStringValue(const QString& key, const QString& defaultValue);
137 
138  static void setValue(const QString& key, const QVariant& value);
139  static void removeValue(const QString& key);
140 
141  static void setApplicationName(const QString& n);
142 
143  static QStringList getAllKeys(const QString& group);
144 
145  static QSettings* getQSettings();
146 
147  static void resetCache();
148 
149  static void setXDataEnabled(bool on);
150  static bool isXDataEnabled();
151 
152 private:
153  static bool isInitialized();
154  static void shortenRecentFiles();
155 
156 private:
157  // cache for faster access:
158  static QVariantMap cache;
159 
160  // variables for very fast access:
161  static QFont* rulerFont;
162  static QFont* snapLabelFont;
163  static QFont* infoLabelFont;
164  static QFont* statusBarFont;
165  static int snapRange;
166  static int zeroWeightWeight;
167  static int showCrosshair;
168  static int showLargeCrosshair;
169  static int concurrentDrawing;
170  static int previewEntities;
171  static int limitZoomAndScroll;
172  static double arcAngleLengthThreshold;
173  static QStringList recentFiles;
174  static QLocale* numberLocale;
175 
176  static QString applicationNameOverride;
177 
178  static QString launchPath;
179 
180  static QSettings* qSettings;
181 
182  static QStringList originalArguments;
183 
184  static bool quitFlag;
185 
186  static bool xDataEnabled;
187 };
188 
190 
191 #endif