1597 Commits

Author SHA1 Message Date
Nyall Dawson
4a6fef278e Cleanup docs, don't mention QString in python docs 2025-04-19 18:17:34 +10:00
Nyall Dawson
161ef62ca0 Fix inconsistent heading warnings when building PyQGIS docs
Fixes missing subclass/base class sections in some class docs (
eg QgsVectorLayer)
2025-04-19 18:17:34 +10:00
Alexander Bruy
a584e533d9 use enum for return value instead of plain int in the QgsNineCellFilter 2025-04-10 14:11:19 +10:00
Nyall Dawson
bdb5904283 Fix more malformed docstrings, enforce correct format in sipify 2025-04-09 14:04:24 +10:00
Nyall Dawson
e5327c3749 Fix build error for PyQGIS docs
Correctly convert typehints for c++ pointer arguments
2025-04-09 14:04:24 +10:00
bdm-oslandia
37eec98dbf chore(code_layout): use env var and pipe to bypass the "Argument list too long" error (again) 2025-04-05 07:51:27 +10:00
Nyall Dawson
d4027f3c09 [sipify] Strip \ref tags 2025-04-03 11:44:59 +10:00
Nyall Dawson
a9fc31921e No need to use string for bool type 2025-04-03 01:05:31 +10:00
Nyall Dawson
d597113368 [sipify] Store __annotations__ for class member typehints
This allows python's introspection functions to retrieve them,
(e.g. inspect.getannotations), and ultimately makes them
accessible to Sphinx when the PyQGIS documentation is being built

Fixes https://github.com/qgis/pyqgis-api-docs-builder/issues/184
2025-04-03 01:05:31 +10:00
Nyall Dawson
2eed9f3a01 [sipify] Automatically re-format docstrings to fit ideal line lengths
This improves the experience in IDEs or when querying documentation
via the Python introspection methods
2025-04-02 11:11:10 +10:00
Nyall Dawson
19755421f6 Make doxygen check enfore full sentences, sentence case for class briefs
Some of this needs to be checked in sipify, as doxygen internally
appends a trailing '.' to briefs when they aren't present.
2025-04-01 09:44:00 +10:00
Nyall Dawson
0556cbfd11 Ensure sipify strips initial empty lines from docstrings 2025-03-30 20:48:07 +10:00
Nyall Dawson
d52974eb69 [sipify] Enforce single sentence first paragraph for class docstrings
While doxygen automatically just splits off the first sentence for
the class brief description, Python docstrings require these to be separate paragraphs
2025-03-30 20:48:07 +10:00
Julien
99637cc430 fix(PyQt5toPyQt6): check if object has an attribute id
Error fixed running the migration script on a certain plugin:

```python
Traceback (most recent call last):
  File "/usr/local/bin/pyqt5_to_pyqt6.py", line 892, in <module>
    raise SystemExit(main())
                     ^^^^^^
  File "/usr/local/bin/pyqt5_to_pyqt6.py", line 887, in main
    ret |= fix_file(filename, not args.qgis3_incompatible_changes, dry_run)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/bin/pyqt5_to_pyqt6.py", line 461, in fix_file
    visit_call(node, parent)
  File "/usr/local/bin/pyqt5_to_pyqt6.py", line 338, in visit_call
    and _node.args[0].func.id == "QDate"
        ^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'Attribute' object has no attribute 'id'
```
2025-03-29 08:40:40 +10:00
Nyall Dawson
0254fc5fb7 Enforce no namespace rule in sipify 2025-03-29 07:55:27 +10:00
Nyall Dawson
8d30dc3448 Tag virtual, overridden and abstract methods in sip bindings 2025-03-27 14:00:26 +10:00
bdm-oslandia
77c01489c6 chore: fix prepare_commit to catch all modified/added files 2025-03-24 08:30:40 +10:00
Juergen E. Fischer
d9b5d8c9c5 update_ts.sh: alternatively use pylupdate6 + python translation string fixes 2025-03-23 23:23:02 +01:00
Juergen E. Fischer
c6edab485a release.pl: don't error out when a translation is dropped (because it falls below the 35% threshold)
(cherry picked from commit d363994a6480607d2d3ead3e41527cded38688de)
2025-03-21 13:40:42 +01:00
Florent Fougères
9ec5f29e38 pyqt5_to_pyqt6: import_warnings is a dict 2025-03-14 11:33:42 +10:00
Florent Fougères
ad3205c9e1 feat(pyqt5_to_pyqt6.py): Add --dry-run option to script to run and just see changes 2025-03-14 11:33:42 +10:00
Eduard Kazakov
56279528ca Update list of translators to russian 2025-03-05 08:54:21 +10:00
Nyall Dawson
632d196e62 Don't show useless "available in python as" notes in PyQGIS docs
Since the method name used in the docs is ALREADY the python version!
2025-02-28 18:32:09 +10:00
Juergen E. Fischer
01c9c27d45 release.pl: fail if transifex doesn't deliver an existing translation 2025-02-21 09:49:12 +10:00
Nyall Dawson
1403b2181b Rename qstringfixup to code_fixup 2025-02-07 13:10:27 +10:00
Nyall Dawson
e6746f35da Also upgrade make_shared 2025-02-07 13:10:27 +10:00
Nyall Dawson
0ac9936b62 Upgrade std::unique_ptr xx( new XX ) to auto/std::make_unique 2025-02-07 13:10:27 +10:00
Nyall Dawson
2db0254c9e Catch another variant of make_unique 2025-02-07 13:10:27 +10:00
Nyall Dawson
038036d021 Use "auto" for std::unique_ptr<X> = std::make_unique<X>
Refs https://github.com/qgis/QGIS-Enhancement-Proposals/pull/319
2025-02-07 13:10:27 +10:00
Nyall Dawson
033512a8d1 Remove unused widgets_tree.py script 2025-01-31 17:07:34 +10:00
Nyall Dawson
8977aac5e5 Remove unused sipdiff script 2025-01-31 17:07:34 +10:00
Nyall Dawson
68d29e9de3 Remove scripts/remove_non_svn_files.sh 2025-01-31 17:07:34 +10:00
Nyall Dawson
7a0e929ca7 Remove unused script for listing pull requests 2025-01-31 17:07:34 +10:00
Nyall Dawson
096d6d0b58 Remove unused/unmaintained jenkins_run script 2025-01-31 17:07:34 +10:00
Benoit D.-M. - oslandia
6ca514013c Update scripts/cppcheck.sh
Co-authored-by: Even Rouault <even.rouault@spatialys.com>
2025-01-27 18:16:51 +01:00
bdm-oslandia
78463c0226 chore(cppcheck): add optional parameter to specify the directory to check, ../src by default
co-author: rouault
2025-01-27 18:16:51 +01:00
Denis Rouzaud
9059f200a0
Add QtQuickWidgets pyqt5_to_pyqt6.py (#60128)
* Add QtQuickWidgets pyqt5_to_pyqt6.py

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update pyqt5_to_pyqt6.py

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-01-16 11:49:10 +01:00
Julien Cabieces
8e7781d4d9
Merge pull request #60073 from nicogodet/add-warning-pyqt5to6
[pyqt5to6] Add warning if PyQt5 if found
2025-01-07 16:14:39 +01:00
Nicolas Godet
9515c1ac29 [pyqt5to6] Add warning if PyQt5 if found 2025-01-07 14:22:08 +01:00
David Koňařík
4d86676c35 Fix SIP build errors by using /NoTypeName/
The typedef is only present in the .sip file, but without this
annotation SIP assumes it also exists in QGIS headers. This didn't
completely break the build, since we concatenate multiple SIP headers
into larger files, so the typedefs from one part "fixed" another. Run
sip-build without --concatenate to see the issue clearly.

This fix is currently sadly not fully effective due to a SIP bug:
https://github.com/Python-SIP/sip/issues/66
2025-01-06 21:31:40 +01:00
Matthias Kuhn
340861dc00 Remove PY_2TO3
let's say welcome to 2025
2025-01-01 08:55:56 +09:00
Nyall Dawson
667ba086e3 Fix mode for script 2024-12-18 19:12:29 +10:00
Julien Cabieces
0fdb3508a5 api(Deprecated): Remove strong requirement on \deprecated
Because some method (only QgsGeometry::set actually) can be deprecated
only in python, not in C++. But \deprecated triggers the need for Q_DECL_DEPRECATED
2024-12-17 09:06:44 +01:00
Julien Cabieces
51dc2ec2ac api(Deprecated): Generate always /Deprecated/ annotation with text
Use cmake to remove text when SIP version is less than 6.9.0
2024-12-17 09:06:44 +01:00
Julien Cabieces
92db5c2d82 feat(Deprecated): Add message to SIP deprecated annotation
Works only with SIP 6.9.0
2024-12-17 09:05:46 +01:00
Denis Rouzaud
7306e5b170
Merge branch 'master' into more-clang 2024-12-11 07:53:23 +01:00
Matthias Kuhn
1dd6a4ac72
Merge pull request #59769 from sebastic/appstream
Fix AppStream metadata.
2024-12-11 07:34:21 +01:00
Denis Rouzaud
eef2e2045f
add server and 3d to clang-format 2024-12-10 14:22:51 +01:00
Denis Rouzaud
5fdf6dd77a fix SIP_SKIP and SIP_FORCE being left alone 2024-12-07 05:16:00 +10:00
Denis Rouzaud
8c4b08dc07 fix windows build take 2 2024-12-07 05:16:00 +10:00