Scribus
Open source desktop publishing at your fingertips
scpaths.h
1 /*
2 For general Scribus (>=1.3.2) copyright and licensing information please refer
3 to the COPYING file provided with the program. Following this notice may exist
4 a copyright and/or license notice that predates the release of Scribus 1.3.2
5 for which a new license (GPL+exception) is in place.
6 */
7 #ifndef SCPATHS_H
8 #define SCPATHS_H
9 
10 #include <QString>
11 #include <QStringList>
12 #include "scribusapi.h"
13 
14 class SCRIBUS_API ScPaths
15 {
16 public:
17  typedef enum {Hyph, Spell} DictType;
18 
24  static const ScPaths& instance();
29  static void destroy();
30 
31  /*** The separator used between path list entries in environment variables */
32  static const char envPathSeparator;
33 
35  const QString& docDir() const;
37  const QString& iconDir() const;
39  const QString& fontDir() const;
42  const QString& libDir() const;
44  const QString& pluginDir() const;
46  const QString& sampleScriptDir() const;
48  const QString& scriptDir() const;
50  const QString& templateDir() const;
52  const QString& shareDir() const;
54  const QString& qmlDir() const;
55 
57  QString translationDir() const;
59  QString dictDir() const;
61  QStringList spellDirs() const;
63  QStringList hyphDirs() const;
64 
66  static QStringList getSystemFontDirs(void);
68  static QStringList getSystemProfilesDirs(void);
70  static QStringList getSystemCreateSwatchesDirs(void);
72  static QStringList getDirsFromEnvVar(const QString envVar, const QString dirToFind);
74  static QString getApplicationDataDir(void);
76  static QString getUserDictDir(ScPaths::DictType dictType, bool createIfNotExists);
78  static QString getUserFontDir(bool createIfNotExists);
80  static QString getImageCacheDir(void);
82  static QString getPluginDataDir(void);
84  static QString getUserDocumentDir(void);
86  static QString getTempFileDir(void);
88  static QString downloadDir(void);
90  QString bundleDir(void) const;
91 
92 
94  static QString defaultImageEditorApp();
95 
96 protected:
98  ScPaths();
100  ~ScPaths();
101 
103  static QString getSpecialDir(int folder);
104 
107 
108  // Members to hold system paths
109  QString m_docDir;
110  QString m_fontDir;
111  QString m_iconDir;
112  QString m_libDir;
113  QString m_pluginDir;
114  QString m_qmlDir;
115  QString m_sampleScriptDir;
116  QString m_scriptDir;
117  QString m_shareDir;
118  QString m_templateDir;
119 };
120 #endif
Definition: scpaths.h:14
static ScPaths * m_instance
Pointer to existing instance of ScPaths, if any.
Definition: scpaths.h:106