Add Quassel::scriptDirPaths() to get a list of locations we look for scripts in
authorManuel Nickschas <sputnick@quassel-irc.org>
Thu, 5 Mar 2009 15:59:47 +0000 (16:59 +0100)
committerManuel Nickschas <sputnick@quassel-irc.org>
Fri, 13 Mar 2009 19:03:06 +0000 (20:03 +0100)
This includes a subdirectory named scripts/ in the configdir and in all dataDirPaths(),
where configdir/scripts/ takes precedence to allow for overriding the system installation.

src/common/quassel.cpp
src/common/quassel.h

index 50651bd..08652ab 100644 (file)
@@ -336,6 +336,13 @@ QString Quassel::findDataFilePath(const QString &fileName) {
   return QString();
 }
 
   return QString();
 }
 
+QStringList Quassel::scriptDirPaths() {
+  QStringList res(configDirPath() + "scripts/");
+  foreach(QString path, dataDirPaths())
+    res << path + "scripts/";
+  return res;
+}
+
 QString Quassel::translationDirPath() {
   if(_translationDirPath.isEmpty()) {
     // We support only one translation dir; fallback mechanisms wouldn't work else.
 QString Quassel::translationDirPath() {
   if(_translationDirPath.isEmpty()) {
     // We support only one translation dir; fallback mechanisms wouldn't work else.
index 7e78f73..53d9e0b 100644 (file)
@@ -84,6 +84,12 @@ public:
 
   static QString translationDirPath();
 
 
   static QString translationDirPath();
 
+  //! Returns a list of directories we look for scripts in
+  /** We look for a subdirectory named "scripts" in the configdir and in all datadir paths.
+  *   \return A list of directory paths containing executable scripts for /exec
+  */
+  static QStringList scriptDirPaths();
+
   static void loadTranslation(const QLocale &locale);
 
   static inline void setCliParser(AbstractCliParser *cliParser);
   static void loadTranslation(const QLocale &locale);
 
   static inline void setCliParser(AbstractCliParser *cliParser);