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