qdir.sip 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218
  1. // qdir.sip generated by MetaSIP
  2. //
  3. // This file is part of the QtCore Python extension module.
  4. //
  5. // Copyright (c) 2026 Riverbank Computing Limited <info@riverbankcomputing.com>
  6. //
  7. // This file is part of PyQt6.
  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. class QDir
  22. {
  23. %TypeHeaderCode
  24. #include <qdir.h>
  25. %End
  26. public:
  27. enum Filter /BaseType=Flag/
  28. {
  29. Dirs,
  30. Files,
  31. Drives,
  32. NoSymLinks,
  33. AllEntries,
  34. TypeMask,
  35. Readable,
  36. Writable,
  37. Executable,
  38. PermissionMask,
  39. Modified,
  40. Hidden,
  41. System,
  42. AccessMask,
  43. AllDirs,
  44. CaseSensitive,
  45. NoDotAndDotDot,
  46. NoFilter,
  47. NoDot,
  48. NoDotDot,
  49. };
  50. typedef QFlags<QDir::Filter> Filters;
  51. enum SortFlag /BaseType=Flag/
  52. {
  53. Name,
  54. Time,
  55. Size,
  56. Unsorted,
  57. SortByMask,
  58. DirsFirst,
  59. Reversed,
  60. IgnoreCase,
  61. DirsLast,
  62. LocaleAware,
  63. Type,
  64. NoSort,
  65. };
  66. typedef QFlags<QDir::SortFlag> SortFlags;
  67. QDir(const QString &path, const QString &nameFilter, QDir::SortFlags sort = QDir::SortFlags(QDir::Name | QDir::IgnoreCase), QDir::Filters filters = QDir::AllEntries);
  68. QDir(const QDir &);
  69. QDir(const QString &path = QString());
  70. ~QDir();
  71. void setPath(const QString &path);
  72. QString path() const;
  73. QString absolutePath() const;
  74. QString canonicalPath() const;
  75. QString dirName() const;
  76. QString filePath(const QString &fileName) const;
  77. QString absoluteFilePath(const QString &fileName) const;
  78. QString relativeFilePath(const QString &fileName) const;
  79. bool cd(const QString &dirName);
  80. bool cdUp();
  81. QStringList nameFilters() const;
  82. void setNameFilters(const QStringList &nameFilters);
  83. QDir::Filters filter() const;
  84. void setFilter(QDir::Filters filter);
  85. QDir::SortFlags sorting() const;
  86. void setSorting(QDir::SortFlags sort);
  87. %If (Qt_6_5_0 -)
  88. qsizetype count() const /__len__/;
  89. %MethodCode
  90. sipRes = sipCpp->count(Qt::Disambiguated);
  91. %End
  92. %End
  93. %If (- Qt_6_5_0)
  94. uint count() const /__len__/;
  95. %End
  96. %If (Qt_6_5_0 -)
  97. QString operator[](qsizetype) const;
  98. %MethodCode
  99. Py_ssize_t idx = sipConvertFromSequenceIndex(a0, sipCpp->count());
  100. if (idx < 0)
  101. sipIsErr = 1;
  102. else
  103. sipRes = new QString(sipCpp->operator[]((qsizetype)idx));
  104. %End
  105. %End
  106. %If (- Qt_6_5_0)
  107. QString operator[](int) const;
  108. %MethodCode
  109. Py_ssize_t idx = sipConvertFromSequenceIndex(a0, sipCpp->count());
  110. if (idx < 0)
  111. sipIsErr = 1;
  112. else
  113. sipRes = new QString(sipCpp->operator[]((int)idx));
  114. %End
  115. %End
  116. QStringList operator[](SIP_PYSLICE) const;
  117. %MethodCode
  118. Py_ssize_t start, stop, step, slicelength;
  119. if (sipConvertFromSliceObject(a0, sipCpp->count(), &start, &stop, &step, &slicelength) < 0)
  120. {
  121. sipIsErr = 1;
  122. }
  123. else
  124. {
  125. sipRes = new QStringList();
  126. for (Py_ssize_t i = 0; i < slicelength; ++i)
  127. {
  128. (*sipRes) += (*sipCpp)[start];
  129. start += step;
  130. }
  131. }
  132. %End
  133. int __contains__(const QString &) const;
  134. %MethodCode
  135. sipRes = bool(sipCpp->entryList().contains(*a0));
  136. %End
  137. static QStringList nameFiltersFromString(const QString &nameFilter);
  138. QStringList entryList(QDir::Filters filters = QDir::NoFilter, QDir::SortFlags sort = QDir::NoSort) const;
  139. QStringList entryList(const QStringList &nameFilters, QDir::Filters filters = QDir::NoFilter, QDir::SortFlags sort = QDir::NoSort) const;
  140. QFileInfoList entryInfoList(QDir::Filters filters = QDir::NoFilter, QDir::SortFlags sort = QDir::NoSort) const;
  141. QFileInfoList entryInfoList(const QStringList &nameFilters, QDir::Filters filters = QDir::NoFilter, QDir::SortFlags sort = QDir::NoSort) const;
  142. %If (Qt_6_3_0 -)
  143. bool mkdir(const QString &dirName, QFileDevice::Permissions permissions) const;
  144. %End
  145. bool mkdir(const QString &dirName) const;
  146. bool rmdir(const QString &dirName) const;
  147. %If (Qt_6_10_0 -)
  148. // We choose to make the permissions argument compulsory (to be consistent with
  149. // the existing mkdir() behaviour rather than adopt the new mkdir() and mkpath()
  150. // behaviour.
  151. bool mkpath(const QString &dirPath, QFileDevice::Permissions permissions) const;
  152. %End
  153. bool mkpath(const QString &dirPath) const;
  154. bool rmpath(const QString &dirPath) const;
  155. bool isReadable() const;
  156. bool exists() const;
  157. bool isRoot() const;
  158. static bool isRelativePath(const QString &path);
  159. static bool isAbsolutePath(const QString &path);
  160. bool isRelative() const;
  161. bool isAbsolute() const;
  162. bool makeAbsolute();
  163. %If (- Qt_6_8_0)
  164. bool operator==(const QDir &dir) const;
  165. %End
  166. %If (- Qt_6_8_0)
  167. bool operator!=(const QDir &dir) const;
  168. %End
  169. bool remove(const QString &fileName);
  170. bool rename(const QString &oldName, const QString &newName);
  171. bool exists(const QString &name) const;
  172. void refresh() const;
  173. static QFileInfoList drives();
  174. static QChar separator();
  175. static bool setCurrent(const QString &path);
  176. static QDir current();
  177. static QString currentPath();
  178. static QDir home();
  179. static QString homePath();
  180. static QDir root();
  181. static QString rootPath();
  182. static QDir temp();
  183. static QString tempPath();
  184. static bool match(const QStringList &filters, const QString &fileName);
  185. static bool match(const QString &filter, const QString &fileName);
  186. static QString cleanPath(const QString &path);
  187. static QString toNativeSeparators(const QString &pathName);
  188. static QString fromNativeSeparators(const QString &pathName);
  189. static void setSearchPaths(const QString &prefix, const QStringList &searchPaths);
  190. static void addSearchPath(const QString &prefix, const QString &path);
  191. static QStringList searchPaths(const QString &prefix);
  192. bool removeRecursively();
  193. void swap(QDir &other /Constrained/);
  194. static QChar listSeparator();
  195. bool isEmpty(QDir::Filters filters = QDir::Filters(QDir::AllEntries | QDir::NoDotAndDotDot)) const;
  196. };
  197. %If (Qt_6_8_0 -)
  198. bool operator!=(const QDir &lhs, const QDir &rhs);
  199. %End
  200. %If (Qt_6_8_0 -)
  201. bool operator==(const QDir &lhs, const QDir &rhs);
  202. %End