Commit 6c754e0f authored by Matt Edman's avatar Matt Edman
Browse files

Add a data directory setting, so we know where to store some data files (such

as ip-to-lat/long cache). This may also come in handy if we decide to Ticket
#27.


svn:r889
parent 24635e0c
Loading
Loading
Loading
Loading
+17 −0
Changes for src/config/vidaliasettings.cpp: 17 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -40,6 +40,7 @@
#define SETTING_LANGUAGE            "LanguageCode"
#define SETTING_STYLE               "InterfaceStyle"
#define SETTING_RUN_TOR_AT_START    "RunTorAtStart"
#define SETTING_DATA_DIRECTORY      "DataDirectory"

#define SETTING_MSG_FILTER          "MessageLog/MessageFilter"
#define SETTING_MAX_MESSAGE         "MessageLog/MaxMsgCount"
@@ -66,10 +67,12 @@
#define DEFAULT_ENABLE_LOG_FILE     false

#if defined(Q_OS_WIN32)
#define DEFAULT_DATA_DIRECTORY (QDir::homePath() + "\\Vidalia\\")
#define DEFAULT_LOG_FILE       (QDir::rootPath() + "Program Files\\Tor\\tor.log")
#define STARTUP_REG_KEY        "Software\\Microsoft\\Windows\\CurrentVersion\\Run"
#define VIDALIA_REG_KEY        "Vidalia" 
#else
#define DEFAULT_DATA_DIRECTORY (QDir::homePath() + "/.vidalia/")
#define DEFAULT_LOG_FILE       (QDir::homePath() + "/.tor/tor.log")
#endif

@@ -92,6 +95,20 @@ VidaliaSettings::reset()
  settings.clear();
}

/** Returns the directory Vidalia will use for its data files. */
QString
VidaliaSettings::getDataDirectory()
{
  return value(SETTING_DATA_DIRECTORY, DEFAULT_DATA_DIRECTORY).toString();
}

/** Sets the directory Vidalia will use for its data files. */
void
VidaliaSettings::setDataDirectory(QString dir)
{
  setValue(SETTING_DATA_DIRECTORY, dir);
}

/** Gets the currently preferred language code for Vidalia. */
QString
VidaliaSettings::getLanguageCode()
+5 −0
Changes for src/config/vidaliasettings.h: 5 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -50,6 +50,11 @@ public:
  /** Resets all of Vidalia's settings. */
  static void reset();
  
  /** Returns the directory Vidalia uses for its own data files. */
  QString getDataDirectory();
  /** Sets the directory Vidalia will use for its own data files. */
  void setDataDirectory(QString dir);

  /** Gets the currently preferred language code for Vidalia. */
  QString getLanguageCode();
  /** Saves the preferred language code. */