1// qdir.sip generated by MetaSIP 2// 3// This file is part of the QtCore Python extension module. 4// 5// Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com> 6// 7// This file is part of PyQt5. 8// 9// This file may be used under the terms of the GNU General Public License 10// version 3.0 as published by the Free Software Foundation and appearing in 11// the file LICENSE included in the packaging of this file. Please review the 12// following information to ensure the GNU General Public License version 3.0 13// requirements will be met: http://www.gnu.org/copyleft/gpl.html. 14// 15// If you do not wish to use this file under the terms of the GPL version 3.0 16// then you may purchase a commercial license. For more information contact 17// info@riverbankcomputing.com. 18// 19// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 20// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 21 22 23class QDir 24{ 25%TypeHeaderCode 26#include <qdir.h> 27%End 28 29public: 30 enum Filter 31 { 32 Dirs, 33 Files, 34 Drives, 35 NoSymLinks, 36 AllEntries, 37 TypeMask, 38 Readable, 39 Writable, 40 Executable, 41 PermissionMask, 42 Modified, 43 Hidden, 44 System, 45 AccessMask, 46 AllDirs, 47 CaseSensitive, 48 NoDotAndDotDot, 49 NoFilter, 50 NoDot, 51 NoDotDot, 52 }; 53 54 typedef QFlags<QDir::Filter> Filters; 55 56 enum SortFlag 57 { 58 Name, 59 Time, 60 Size, 61 Unsorted, 62 SortByMask, 63 DirsFirst, 64 Reversed, 65 IgnoreCase, 66 DirsLast, 67 LocaleAware, 68 Type, 69 NoSort, 70 }; 71 72 typedef QFlags<QDir::SortFlag> SortFlags; 73 QDir(const QDir &); 74 QDir(const QString &path = QString()); 75 QDir(const QString &path, const QString &nameFilter, QFlags<QDir::SortFlag> sort /TypeHintValue="QDir.Name|QDir.IgnoreCase"/ = QDir::SortFlags(QDir::Name|QDir::IgnoreCase), QFlags<QDir::Filter> filters = AllEntries); 76 ~QDir(); 77 void setPath(const QString &path); 78 QString path() const; 79 QString absolutePath() const; 80 QString canonicalPath() const; 81 QString dirName() const; 82 QString filePath(const QString &fileName) const; 83 QString absoluteFilePath(const QString &fileName) const; 84 QString relativeFilePath(const QString &fileName) const; 85 bool cd(const QString &dirName); 86 bool cdUp(); 87 QStringList nameFilters() const; 88 void setNameFilters(const QStringList &nameFilters); 89 QDir::Filters filter() const; 90 void setFilter(QDir::Filters filter); 91 QDir::SortFlags sorting() const; 92 void setSorting(QDir::SortFlags sort); 93 uint count() const /__len__/; 94 QString operator[](int) const; 95%MethodCode 96 Py_ssize_t idx = sipConvertFromSequenceIndex(a0, sipCpp->count()); 97 98 if (idx < 0) 99 sipIsErr = 1; 100 else 101 sipRes = new QString(sipCpp->operator[]((int)idx)); 102%End 103 104 QStringList operator[](SIP_PYSLICE) const; 105%MethodCode 106 Py_ssize_t start, stop, step, slicelength; 107 108 if (sipConvertFromSliceObject(a0, sipCpp->count(), &start, &stop, &step, &slicelength) < 0) 109 { 110 sipIsErr = 1; 111 } 112 else 113 { 114 sipRes = new QStringList(); 115 116 for (Py_ssize_t i = 0; i < slicelength; ++i) 117 { 118 (*sipRes) += (*sipCpp)[start]; 119 start += step; 120 } 121 } 122%End 123 124 int __contains__(const QString &) const; 125%MethodCode 126 sipRes = bool(sipCpp->entryList().contains(*a0)); 127%End 128 129 static QStringList nameFiltersFromString(const QString &nameFilter); 130 QStringList entryList(QDir::Filters filters = QDir::NoFilter, QDir::SortFlags sort = QDir::SortFlag::NoSort) const; 131 QStringList entryList(const QStringList &nameFilters, QDir::Filters filters = QDir::NoFilter, QDir::SortFlags sort = QDir::SortFlag::NoSort) const; 132 QFileInfoList entryInfoList(QDir::Filters filters = QDir::NoFilter, QDir::SortFlags sort = QDir::SortFlag::NoSort) const; 133 QFileInfoList entryInfoList(const QStringList &nameFilters, QDir::Filters filters = QDir::NoFilter, QDir::SortFlags sort = QDir::SortFlag::NoSort) const; 134 bool mkdir(const QString &dirName) const; 135 bool rmdir(const QString &dirName) const; 136 bool mkpath(const QString &dirPath) const; 137 bool rmpath(const QString &dirPath) const; 138 bool isReadable() const; 139 bool exists() const; 140 bool isRoot() const; 141 static bool isRelativePath(const QString &path); 142 static bool isAbsolutePath(const QString &path); 143 bool isRelative() const; 144 bool isAbsolute() const; 145 bool makeAbsolute(); 146 bool operator==(const QDir &dir) const; 147 bool operator!=(const QDir &dir) const; 148 bool remove(const QString &fileName); 149 bool rename(const QString &oldName, const QString &newName); 150 bool exists(const QString &name) const; 151 void refresh() const; 152 static QFileInfoList drives(); 153 static QChar separator(); 154 static bool setCurrent(const QString &path); 155 static QDir current(); 156 static QString currentPath(); 157 static QDir home(); 158 static QString homePath(); 159 static QDir root(); 160 static QString rootPath(); 161 static QDir temp(); 162 static QString tempPath(); 163 static bool match(const QStringList &filters, const QString &fileName); 164 static bool match(const QString &filter, const QString &fileName); 165 static QString cleanPath(const QString &path); 166 static QString toNativeSeparators(const QString &pathName); 167 static QString fromNativeSeparators(const QString &pathName); 168 static void setSearchPaths(const QString &prefix, const QStringList &searchPaths); 169 static void addSearchPath(const QString &prefix, const QString &path); 170 static QStringList searchPaths(const QString &prefix); 171 bool removeRecursively(); 172 void swap(QDir &other /Constrained/); 173%If (Qt_5_6_0 -) 174 static QChar listSeparator(); 175%End 176%If (Qt_5_9_0 -) 177 bool isEmpty(QDir::Filters filters = QDir::AllEntries | QDir::NoDotAndDotDot) const; 178%End 179}; 180 181QFlags<QDir::Filter> operator|(QDir::Filter f1, QFlags<QDir::Filter> f2); 182QFlags<QDir::SortFlag> operator|(QDir::SortFlag f1, QFlags<QDir::SortFlag> f2); 183