1 /**************************************************************************** 2 ** 3 ** DQt - D bindings for the Qt Toolkit 4 ** 5 ** GNU Lesser General Public License Usage 6 ** This file may be used under the terms of the GNU Lesser 7 ** General Public License version 3 as published by the Free Software 8 ** Foundation and appearing in the file LICENSE.LGPL3 included in the 9 ** packaging of this file. Please review the following information to 10 ** ensure the GNU Lesser General Public License version 3 requirements 11 ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. 12 ** 13 ****************************************************************************/ 14 module qt.core.standardpaths; 15 extern(C++): 16 17 import qt.config; 18 import qt.helpers; 19 static if(!defined!"QT_NO_STANDARDPATHS") 20 { 21 import qt.core.flags; 22 import qt.core.objectdefs; 23 import qt.core.string; 24 import qt.core.stringlist; 25 } 26 27 static if(!defined!"QT_NO_STANDARDPATHS") 28 { 29 30 abstract class /+ Q_CORE_EXPORT +/ QStandardPaths 31 { 32 mixin(Q_GADGET); 33 34 public: 35 // Do not re-order, must match QDesktopServices 36 enum StandardLocation { 37 DesktopLocation, 38 DocumentsLocation, 39 FontsLocation, 40 ApplicationsLocation, 41 MusicLocation, 42 MoviesLocation, 43 PicturesLocation, 44 TempLocation, 45 HomeLocation, 46 DataLocation, 47 CacheLocation, 48 GenericDataLocation, 49 RuntimeLocation, 50 ConfigLocation, 51 DownloadLocation, 52 GenericCacheLocation, 53 GenericConfigLocation, 54 AppDataLocation, 55 AppConfigLocation, 56 AppLocalDataLocation = StandardLocation.DataLocation 57 } 58 /+ Q_ENUM(StandardLocation) +/ 59 60 static QString writableLocation(StandardLocation type); 61 static QStringList standardLocations(StandardLocation type); 62 63 enum LocateOption { 64 LocateFile = 0x0, 65 LocateDirectory = 0x1 66 } 67 /+ Q_DECLARE_FLAGS(LocateOptions, LocateOption) +/ 68 alias LocateOptions = QFlags!(LocateOption); /+ Q_FLAG(LocateOptions) +/ 69 70 static QString locate(StandardLocation type, ref const(QString) fileName, LocateOptions options = LocateOption.LocateFile); 71 static QStringList locateAll(StandardLocation type, ref const(QString) fileName, LocateOptions options = LocateOption.LocateFile); 72 /+ #ifndef QT_BOOTSTRAPPED +/ 73 static QString displayName(StandardLocation type); 74 /+ #endif +/ 75 76 static QString findExecutable(ref const(QString) executableName, ref const(QStringList) paths = globalInitVar!QStringList); 77 78 /+ #if QT_DEPRECATED_SINCE(5, 2) +/ 79 /+ QT_DEPRECATED +/ static void enableTestMode(bool testMode); 80 /+ #endif +/ 81 static void setTestModeEnabled(bool testMode); 82 static bool isTestModeEnabled(); 83 84 private: 85 // prevent construction 86 @disable this(); 87 //@disable ~this(); 88 } 89 /+pragma(inline, true) QFlags!(QStandardPaths.LocateOptions.enum_type) operator |(QStandardPaths.LocateOptions.enum_type f1, QStandardPaths.LocateOptions.enum_type f2)/+noexcept+/{return QFlags!(QStandardPaths.LocateOptions.enum_type)(f1)|f2;}+/ 90 /+pragma(inline, true) QFlags!(QStandardPaths.LocateOptions.enum_type) operator |(QStandardPaths.LocateOptions.enum_type f1, QFlags!(QStandardPaths.LocateOptions.enum_type) f2)/+noexcept+/{return f2|f1;}+/ 91 /+pragma(inline, true) QIncompatibleFlag operator |(QStandardPaths.LocateOptions.enum_type f1, int f2)/+noexcept+/{return QIncompatibleFlag(int(f1)|f2);}+/ 92 93 /+ Q_DECLARE_OPERATORS_FOR_FLAGS(QStandardPaths::LocateOptions) +/ 94 } 95