21 #ifndef TULIPSETTINGS_H
22 #define TULIPSETTINGS_H
25 #include <QNetworkProxy>
28 #include <tulip/GlGraphRenderingParameters.h>
29 #include <tulip/Size.h>
30 #include <tulip/Graph.h>
39 class TLP_QT_SCOPE TulipSettings:
public QSettings, GlDefaultSelectionColorManager, Observable {
41 Q_ENUMS(DisplayProperty)
45 static const QString RemoteLocationsConfigEntry;
46 static const QString RecentDocumentsConfigEntry;
47 static const QString PluginsToRemoveConfigEntry;
48 static const QString DefaultColorConfigEntry;
49 static const QString DefaultLabelColorConfigEntry;
50 static const QString DefaultSizeConfigEntry;
51 static const QString DefaultShapeConfigEntry;
52 static const QString DefaultSelectionColorEntry;
53 static const QString FavoriteAlgorithmsEntry;
54 static const QString FirstRunEntry;
56 static const QString ProxyEnabledEntry;
57 static const QString ProxyTypeEntry;
58 static const QString ProxyHostEntry;
59 static const QString ProxyPortEntry;
60 static const QString ProxyUseAuthEntry;
61 static const QString ProxyUsernameEntry;
62 static const QString ProxyPasswordEntry;
64 static const QString AutomaticPerfectAspectRatioEntry;
65 static const QString ViewOrthoEntry;
66 static const QString AutomaticMapMetricEntry;
67 static const QString ResultPropertyStoredEntry;
68 static const QString RunningTimeComputedEntry;
70 static const QString WarnUserAboutGraphicsCardEntry;
72 static TulipSettings &instance();
74 static QString elementKey(const QString& configEntry, tlp::
ElementType elem);
76 void synchronizeViewSettings();
81 QStringList recentDocuments() const;
87 void addToRecentDocuments(const QString &);
92 void checkRecentDocuments();
100 void addRemoteLocation(const QString& remoteLocation);
108 void removeRemoteLocation(const QString& remoteLocation);
115 const QStringList remoteLocations() const;
116 const QStringList pluginsToRemove() const;
118 void markPluginForRemoval(const QString& pluginLibrary);
119 void unmarkPluginForRemoval(const QString& pluginLibrary);
122 void setDefaultColor(tlp::
ElementType elem, const tlp::Color& color);
124 tlp::Color defaultLabelColor();
125 void setDefaultLabelColor(const tlp::Color& color);
128 void setDefaultSize(tlp::
ElementType elem, const tlp::Size& size);
131 void setDefaultShape(tlp::
ElementType elem,
int shape);
134 tlp::Color defaultSelectionColor();
136 void setDefaultSelectionColor(const tlp::Color& color);
138 QSet<QString> favoriteAlgorithms() const;
139 void addFavoriteAlgorithm(const QString&name);
140 void removeFavoriteAlgorithm(const QString&name);
143 bool isProxyEnabled() const;
144 void setProxyEnabled(
bool);
146 QNetworkProxy::ProxyType proxyType() const;
147 void setProxyType(QNetworkProxy::ProxyType);
149 QString proxyHost() const;
150 void setProxyHost(const QString&);
152 unsigned int proxyPort() const;
153 void setProxyPort(
unsigned int);
155 bool isUseProxyAuthentification() const;
156 void setUseProxyAuthentification(
bool);
158 QString proxyUsername() const;
159 void setProxyUsername(const QString&);
161 QString proxyPassword() const;
162 void setProxyPassword(const QString&);
164 void applyProxySettings();
166 bool isFirstRun() const;
167 void setFirstRun(
bool);
169 bool isAutomaticMapMetric() const;
170 void setAutomaticMapMetric(
bool);
172 bool isAutomaticRatio() const;
173 void setAutomaticRatio(
bool);
175 bool isViewOrtho() const;
176 void setViewOrtho(
bool);
178 bool isResultPropertyStored() const;
179 void setResultPropertyStored(
bool);
181 bool isRunningTimeComputed() const;
182 void setRunningTimeComputed(
bool);
184 bool warnUserAboutGraphicsCard() const;
185 void setWarnUserAboutGraphicsCard(
bool);
187 void treatEvent(const Event &message);
191 static TulipSettings *_instance;
193 void setFavoriteAlgorithms(const QSet<QString> &lst);
196 #endif // TULIPSETTINGS_H