AUDIT REPORT Qt5 → Qt6 / QGIS3 → QGIS4
====================================================================================================

1. GLOBAL SUMMARY
----------------------------------------------------------------------------------------------------
Scanned folder              : C:\Users\franc\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins\qdrawEVT
Python files found          : 11
Modified files              : 6
Files with fixes            : 6
Other files with fixes      : 1
Files with findings         : 1
Automatic replacements      : 105
Critical findings (ERROR)   : 0
Warnings (WARNING)          : 5

qt_compat source            : C:\Users\franc\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins\scan_qt6_compat\qt_compat.py
qt_compat destination       : C:\Users\franc\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins\qdrawEVT\qt_compat.py
qt_compat status            : copied

2. QT5 → QT6 STATISTICS
----------------------------------------------------------------------------------------------------
2.1 Automatic replacements by category

  - repository_enum_Qgis_Warning: 58
  - repository_enum_Qgis_Info: 26
  - repository_enum_Qgis_Critical: 15
  - Réécriture classes déplacées Qt5/Qt6: 2
  - QMessageBox.Warning: 1
  - Replace exec_() with exec(): 1
  - repository_enum_Qgis_Success: 1
  - repository_enum_QIODevice_ReadOnly: 1

2.2 Detailed fixes by applied rule

  - Rewrite enum for QGIS repository Qt6 compliance: 101
  - Add or merge qt_compat import: 5
  - Réécriture classes déplacées Qt5/Qt6: 2
  - Add supportsQt6 after qgisMaximumVersion: 1
  - Ajout QRegularExpression à l'import QtCore existant: 1
  - Enum/token replacement: 1
  - Increment metadata version: 1
  - Replace exec_() with exec(): 1
  - Update metadata block: changelog: 1
  - Validation tokenize échouée après ensure_imports: 1

3. REMAINING FINDINGS SUMMARY
----------------------------------------------------------------------------------------------------
Critical errors: 0

Warnings: 5
  - drawtools.py:26 | Partial QRegularExpression migration | QRegularExpression
  - drawtools.py:30 | QRegularExpressionValidator present | QRegularExpressionValidator
  - drawtools.py:504 | QRegularExpressionValidator present | QRegularExpressionValidator
  - drawtools.py:587 | QRegularExpressionValidator present | QRegularExpressionValidator
  - drawtools.py:588 | QRegularExpressionValidator present | QRegularExpressionValidator

4. FILE-BY-FILE AUDIT
----------------------------------------------------------------------------------------------------

FILE: __init__.py
====================================================================================================
Applied fixes       : 4
Findings ERROR      : 0
Findings WARNING    : 0

4.1 Applied fixes

Line: 1
Rule: Validation tokenize échouée après ensure_imports
Before:
    [texte avant étape conservé]
After:
    [étape annulée] from __future__ imports must occur at the beginning of the file (<scan_qt6_compat>, line 12)

Line: 40
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Critical
After:
    scoped_enum(Qgis, "MessageLevel", "Critical")

Line: 40
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Info
After:
    scoped_enum(Qgis, "MessageLevel", "Info")

Line: 176
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Critical
After:
    scoped_enum(Qgis, "MessageLevel", "Critical")

4.2 Remaining findings

No remaining findings.


FILE: AttributesTable.py
====================================================================================================
Applied fixes       : 45
Findings ERROR      : 0
Findings WARNING    : 0

4.1 Applied fixes

Line: 1
Rule: Add or merge qt_compat import
Before:
    [imports before merge]
After:
    [qt_compat imports added/merged]

Line: 40
Rule: Réécriture classes déplacées Qt5/Qt6
Before:
    from qgis.PyQt.QtWidgets import (
        QAction,
        QApplication,
        QComboBox,
        QDateEdit,
        QDateTimeEdit,
        QDialog,
        QFileDialog,
        QInputDialog,
        QLineEdit,
        QMenu,
        QMessageBox,
    … [11 ligne(s) supplémentaire(s) omise(s)]
After:
    from qgis.PyQt.QtWidgets import QApplication, QComboBox, QDateEdit, QDateTimeEdit, QDialog, QFileDialog, QInputDialog, QLineEdit, QMenu, QMessageBox, QProgressDialog, QStatusBar, QTabWidget, QTableWidget, QTableWidgetItem, QTimeEdit, QToolBar, QVBoxLayout, QWidget, QWidgetAction
    from .qt_compat import QAction

Line: 305
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Warning
After:
    scoped_enum(Qgis, "MessageLevel", "Warning")

Line: 308
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Warning
After:
    scoped_enum(Qgis, "MessageLevel", "Warning")

Line: 338
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Critical
After:
    scoped_enum(Qgis, "MessageLevel", "Critical")

Line: 359
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Warning
After:
    scoped_enum(Qgis, "MessageLevel", "Warning")

Line: 367
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Info
After:
    scoped_enum(Qgis, "MessageLevel", "Info")

Line: 379
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Info
After:
    scoped_enum(Qgis, "MessageLevel", "Info")

Line: 384
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Info
After:
    scoped_enum(Qgis, "MessageLevel", "Info")

Line: 420
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Warning
After:
    scoped_enum(Qgis, "MessageLevel", "Warning")

Line: 435
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Warning
After:
    scoped_enum(Qgis, "MessageLevel", "Warning")

Line: 450
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Info
After:
    scoped_enum(Qgis, "MessageLevel", "Info")

Line: 464
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Info
After:
    scoped_enum(Qgis, "MessageLevel", "Info")

Line: 469
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Warning
After:
    scoped_enum(Qgis, "MessageLevel", "Warning")

Line: 477
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Warning
After:
    scoped_enum(Qgis, "MessageLevel", "Warning")

Line: 493
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Info
After:
    scoped_enum(Qgis, "MessageLevel", "Info")

Line: 501
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Info
After:
    scoped_enum(Qgis, "MessageLevel", "Info")

Line: 507
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Warning
After:
    scoped_enum(Qgis, "MessageLevel", "Warning")

Line: 513
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Critical
After:
    scoped_enum(Qgis, "MessageLevel", "Critical")

Line: 523
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Warning
After:
    scoped_enum(Qgis, "MessageLevel", "Warning")

Line: 530
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Info
After:
    scoped_enum(Qgis, "MessageLevel", "Info")

Line: 539
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Warning
After:
    scoped_enum(Qgis, "MessageLevel", "Warning")

Line: 547
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Warning
After:
    scoped_enum(Qgis, "MessageLevel", "Warning")

Line: 557
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Info
After:
    scoped_enum(Qgis, "MessageLevel", "Info")

Line: 570
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Critical
After:
    scoped_enum(Qgis, "MessageLevel", "Critical")

Line: 583
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Info
After:
    scoped_enum(Qgis, "MessageLevel", "Info")

Line: 588
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Critical
After:
    scoped_enum(Qgis, "MessageLevel", "Critical")

Line: 594
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Info
After:
    scoped_enum(Qgis, "MessageLevel", "Info")

Line: 609
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Warning
After:
    scoped_enum(Qgis, "MessageLevel", "Warning")

Line: 623
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Warning
After:
    scoped_enum(Qgis, "MessageLevel", "Warning")

Line: 629
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Warning
After:
    scoped_enum(Qgis, "MessageLevel", "Warning")

Line: 640
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Critical
After:
    scoped_enum(Qgis, "MessageLevel", "Critical")

Line: 646
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Critical
After:
    scoped_enum(Qgis, "MessageLevel", "Critical")

Line: 660
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Warning
After:
    scoped_enum(Qgis, "MessageLevel", "Warning")

Line: 670
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Info
After:
    scoped_enum(Qgis, "MessageLevel", "Info")

Line: 675
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Critical
After:
    scoped_enum(Qgis, "MessageLevel", "Critical")

Line: 690
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Info
After:
    scoped_enum(Qgis, "MessageLevel", "Info")

Line: 695
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Warning
After:
    scoped_enum(Qgis, "MessageLevel", "Warning")

Line: 710
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Info
After:
    scoped_enum(Qgis, "MessageLevel", "Info")

Line: 715
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Warning
After:
    scoped_enum(Qgis, "MessageLevel", "Warning")

Line: 720
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Critical
After:
    scoped_enum(Qgis, "MessageLevel", "Critical")

Line: 1480
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Info
After:
    scoped_enum(Qgis, "MessageLevel", "Info")

Line: 1504
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Warning
After:
    scoped_enum(Qgis, "MessageLevel", "Warning")

Line: 1522
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Info
After:
    scoped_enum(Qgis, "MessageLevel", "Info")

Line: 1528
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Critical
After:
    scoped_enum(Qgis, "MessageLevel", "Critical")

4.2 Remaining findings

No remaining findings.


FILE: drawtools.py
====================================================================================================
Applied fixes       : 25
Findings ERROR      : 0
Findings WARNING    : 5

4.1 Applied fixes

Line: 1
Rule: Add or merge qt_compat import
Before:
    [imports before merge]
After:
    [qt_compat imports added/merged]

Line: 21
Rule: Ajout QRegularExpression à l'import QtCore existant
Before:
    from qgis.PyQt.QtCore import (
        Qt,
        QCoreApplication,
        pyqtSignal,
        QPoint,
    )
After:
    from qgis.PyQt.QtCore import (
        Qt,
        QCoreApplication,
        pyqtSignal,
        QPoint,
        QRegularExpression,
    )

Line: 62
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Warning
After:
    scoped_enum(Qgis, "MessageLevel", "Warning")

Line: 96
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Warning
After:
    scoped_enum(Qgis, "MessageLevel", "Warning")

Line: 106
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Warning
After:
    scoped_enum(Qgis, "MessageLevel", "Warning")

Line: 125
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Warning
After:
    scoped_enum(Qgis, "MessageLevel", "Warning")

Line: 145
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Warning
After:
    scoped_enum(Qgis, "MessageLevel", "Warning")

Line: 188
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Warning
After:
    scoped_enum(Qgis, "MessageLevel", "Warning")

Line: 214
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Warning
After:
    scoped_enum(Qgis, "MessageLevel", "Warning")

Line: 232
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Warning
After:
    scoped_enum(Qgis, "MessageLevel", "Warning")

Line: 243
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Warning
After:
    scoped_enum(Qgis, "MessageLevel", "Warning")

Line: 268
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Warning
After:
    scoped_enum(Qgis, "MessageLevel", "Warning")

Line: 297
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Warning
After:
    scoped_enum(Qgis, "MessageLevel", "Warning")

Line: 308
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Warning
After:
    scoped_enum(Qgis, "MessageLevel", "Warning")

Line: 326
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Warning
After:
    scoped_enum(Qgis, "MessageLevel", "Warning")

Line: 361
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Warning
After:
    scoped_enum(Qgis, "MessageLevel", "Warning")

Line: 377
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Warning
After:
    scoped_enum(Qgis, "MessageLevel", "Warning")

Line: 386
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Warning
After:
    scoped_enum(Qgis, "MessageLevel", "Warning")

Line: 422
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Warning
After:
    scoped_enum(Qgis, "MessageLevel", "Warning")

Line: 473
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Warning
After:
    scoped_enum(Qgis, "MessageLevel", "Warning")

Line: 552
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Critical
After:
    scoped_enum(Qgis, "MessageLevel", "Critical")

Line: 568
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Warning
After:
    scoped_enum(Qgis, "MessageLevel", "Warning")

Line: 606
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Warning
After:
    scoped_enum(Qgis, "MessageLevel", "Warning")

Line: 615
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Warning
After:
    scoped_enum(Qgis, "MessageLevel", "Warning")

Line: 630
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Warning
After:
    scoped_enum(Qgis, "MessageLevel", "Warning")

4.2 Remaining findings

[WARNING] line 26
  Rule : Partial QRegularExpression migration
  Code : QRegularExpression
  Hint : QRegularExpression detected: verify that the whole associated API has been migrated (imports, validators, setRegularExpression, regularExpression, regex logic).

[WARNING] line 30
  Rule : QRegularExpressionValidator present
  Code : QRegularExpressionValidator
  Hint : Partial migration detected: also check imports and QRegularExpression usages.

[WARNING] line 504
  Rule : QRegularExpressionValidator present
  Code : QRegularExpressionValidator
  Hint : Partial migration detected: also check imports and QRegularExpression usages.

[WARNING] line 587
  Rule : QRegularExpressionValidator present
  Code : QRegularExpressionValidator
  Hint : Partial migration detected: also check imports and QRegularExpression usages.

[WARNING] line 588
  Rule : QRegularExpressionValidator present
  Code : QRegularExpressionValidator
  Hint : Partial migration detected: also check imports and QRegularExpression usages.


FILE: logger.py
====================================================================================================
Applied fixes       : 2
Findings ERROR      : 0
Findings WARNING    : 0

4.1 Applied fixes

Line: 1
Rule: Add or merge qt_compat import
Before:
    [imports before merge]
After:
    [qt_compat imports added/merged]

Line: 144
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Info
After:
    scoped_enum(Qgis, "MessageLevel", "Info")

4.2 Remaining findings

No remaining findings.


FILE: metadata.txt
====================================================================================================
Applied fixes       : 3
Findings ERROR      : 0
Findings WARNING    : 0

4.1 Applied fixes

Line: 5
Rule: Add supportsQt6 after qgisMaximumVersion
Before:
    [missing line]
After:
    supportsQt6 = True

Line: 8
Rule: Increment metadata version
Before:
    version = 2.72
After:
    version = 2.72.1

Line: 22
Rule: Update metadata block: changelog
Before:
    changelog = 2.72 Fix Qt5 startup compatibility: remove dependency on IO_READ_ONLY alias
    	2.71 Bandit security scan corrections and safer Qt-based ODS/XML handling
    	2.70 Correction of translation errors and Flake8 code corrections
    	2.68 Developer mode fix
    	2.67 Update to the crisis management configuration and integrated sample project
    	2.66 : correction requiered by Qgis plugins server and correction of the coordinates entry window
    	2.61 : Joint Qgis3/Qgis compliance - Scan_qt6_compat plugin - Removal of the resource.py file
    	2.60 Fixed the selection bug in non-EVT mode and the bug that prevents the selected layers window from closing.
    	2.58 Fixed the bug that caused the Drawings group to be created when opening any project and/or reloading the plugin.
    	2.57 Fixed a bug that disabled the optional crisis management plugin tools when updating qdrawEVT
    	2.56 Fixed a bug that caused a duplicate toolbar to be created after the update.
    	2.55 General improvement of the ergonomics of the tools
    … [4 ligne(s) supplémentaire(s) omise(s)]
After:
    changelog = 2.72.1 : Mise en conformité conjointe Qgis3/Qgis4 - Plugin scan_qt6_compat
    	2.72 Fix Qt5 startup compatibility: remove dependency on IO_READ_ONLY alias
    	2.71 Bandit security scan corrections and safer Qt-based ODS/XML handling
    	2.70 Correction of translation errors and Flake8 code corrections
    	2.68 Developer mode fix
    	2.67 Update to the crisis management configuration and integrated sample project
    	2.66 : correction requiered by Qgis plugins server and correction of the coordinates entry window
    	2.61 : Joint Qgis3/Qgis compliance - Scan_qt6_compat plugin - Removal of the resource.py file
    	2.60 Fixed the selection bug in non-EVT mode and the bug that prevents the selected layers window from closing.
    	2.58 Fixed the bug that caused the Drawings group to be created when opening any project and/or reloading the plugin.
    	2.57 Fixed a bug that disabled the optional crisis management plugin tools when updating qdrawEVT
    	2.56 Fixed a bug that caused a duplicate toolbar to be created after the update.
    … [5 ligne(s) supplémentaire(s) omise(s)]

4.2 Remaining findings

No remaining findings.


FILE: qdrawEVT.py
====================================================================================================
Applied fixes       : 17
Findings ERROR      : 0
Findings WARNING    : 0

4.1 Applied fixes

Line: 1
Rule: Add or merge qt_compat import
Before:
    [imports before merge]
After:
    [qt_compat imports added/merged]

Line: 43
Rule: Réécriture classes déplacées Qt5/Qt6
Before:
    from qgis.PyQt.QtWidgets import (
        QAction,
        QApplication,
        QMessageBox,
        QMenu,
        QInputDialog,
        QLineEdit,
        QGroupBox,
        QPushButton,
        QLabel,
        QCheckBox,
        QProgressDialog,
    … [12 ligne(s) supplémentaire(s) omise(s)]
After:
    from qgis.PyQt.QtWidgets import QApplication, QMessageBox, QMenu, QInputDialog, QLineEdit, QGroupBox, QPushButton, QLabel, QCheckBox, QProgressDialog, QStyledItemDelegate, QDialog, QVBoxLayout, QDialogButtonBox, QButtonGroup, QRadioButton, QTextBrowser, QHBoxLayout, QToolBar, QTableWidget, QWidget
    from .qt_compat import QAction

Line: 338
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Warning
After:
    scoped_enum(Qgis, "MessageLevel", "Warning")

Line: 1646
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    QIODevice.ReadOnly
After:
    scoped_enum(QIODevice, "OpenModeFlag", "ReadOnly")

Line: 1772
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Info
After:
    scoped_enum(Qgis, "MessageLevel", "Info")

Line: 1775
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Warning
After:
    scoped_enum(Qgis, "MessageLevel", "Warning")

Line: 1824
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Warning
After:
    scoped_enum(Qgis, "MessageLevel", "Warning")

Line: 2237
Rule: Enum/token replacement
Before:
    QMessageBox.Warning
After:
    MSGBOX_WARNING

Line: 2303
Rule: Replace exec_() with exec()
Before:
    exec_
After:
    exec

Line: 2357
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Warning
After:
    scoped_enum(Qgis, "MessageLevel", "Warning")

Line: 2365
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Warning
After:
    scoped_enum(Qgis, "MessageLevel", "Warning")

Line: 2410
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Info
After:
    scoped_enum(Qgis, "MessageLevel", "Info")

Line: 3532
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Success
After:
    scoped_enum(Qgis, "MessageLevel", "Success")

Line: 3704
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Info
After:
    scoped_enum(Qgis, "MessageLevel", "Info")

Line: 3800
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Info
After:
    scoped_enum(Qgis, "MessageLevel", "Info")

Line: 3802
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Warning
After:
    scoped_enum(Qgis, "MessageLevel", "Warning")

Line: 3804
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Critical
After:
    scoped_enum(Qgis, "MessageLevel", "Critical")

4.2 Remaining findings

No remaining findings.


FILE: qdrawsettings.py
====================================================================================================
Applied fixes       : 19
Findings ERROR      : 0
Findings WARNING    : 0

4.1 Applied fixes

Line: 1
Rule: Add or merge qt_compat import
Before:
    [imports before merge]
After:
    [qt_compat imports added/merged]

Line: 146
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Warning
After:
    scoped_enum(Qgis, "MessageLevel", "Warning")

Line: 158
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Warning
After:
    scoped_enum(Qgis, "MessageLevel", "Warning")

Line: 169
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Warning
After:
    scoped_enum(Qgis, "MessageLevel", "Warning")

Line: 181
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Warning
After:
    scoped_enum(Qgis, "MessageLevel", "Warning")

Line: 200
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Warning
After:
    scoped_enum(Qgis, "MessageLevel", "Warning")

Line: 222
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Warning
After:
    scoped_enum(Qgis, "MessageLevel", "Warning")

Line: 313
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Info
After:
    scoped_enum(Qgis, "MessageLevel", "Info")

Line: 388
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Info
After:
    scoped_enum(Qgis, "MessageLevel", "Info")

Line: 393
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Info
After:
    scoped_enum(Qgis, "MessageLevel", "Info")

Line: 427
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Warning
After:
    scoped_enum(Qgis, "MessageLevel", "Warning")

Line: 436
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Info
After:
    scoped_enum(Qgis, "MessageLevel", "Info")

Line: 446
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Critical
After:
    scoped_enum(Qgis, "MessageLevel", "Critical")

Line: 456
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Warning
After:
    scoped_enum(Qgis, "MessageLevel", "Warning")

Line: 469
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Critical
After:
    scoped_enum(Qgis, "MessageLevel", "Critical")

Line: 490
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Warning
After:
    scoped_enum(Qgis, "MessageLevel", "Warning")

Line: 498
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Warning
After:
    scoped_enum(Qgis, "MessageLevel", "Warning")

Line: 506
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Warning
After:
    scoped_enum(Qgis, "MessageLevel", "Warning")

Line: 514
Rule: Rewrite enum for QGIS repository Qt6 compliance
Before:
    Qgis.Warning
After:
    scoped_enum(Qgis, "MessageLevel", "Warning")

4.2 Remaining findings

No remaining findings.


5. ANNEX - COMPACT REPLACEMENTS SUMMARY
----------------------------------------------------------------------------------------------------

QMessageBox.Warning : 1 -> MSGBOX_WARNING
Replace exec_() with exec() : 1 -> exec()
Réécriture classes déplacées Qt5/Qt6 : 2 -> from .qt_compat import QAction
repository_enum_QIODevice_ReadOnly : 1 -> scoped_enum(QIODevice, "OpenModeFlag", "ReadOnly")
repository_enum_Qgis_Critical : 15 -> scoped_enum(Qgis, "MessageLevel", "Critical")
repository_enum_Qgis_Info : 26 -> scoped_enum(Qgis, "MessageLevel", "Info")
repository_enum_Qgis_Success : 1 -> scoped_enum(Qgis, "MessageLevel", "Success")
repository_enum_Qgis_Warning : 58 -> scoped_enum(Qgis, "MessageLevel", "Warning")


====================================================================================================
PLUGIN RELOAD
====================================================================================================
Plugin reloaded: qdrawEVT
Python code was reloaded.
Plugin marked as enabled in QSettings: qdrawEVT
Plugin manager metadata reloaded. Close and reopen the Plugins window if it is already open.
UI refresh: processEvents OK | Main window refresh OK | Plugin manager interface update failed: 'QgsPluginManagerInterface' object has no attribute 'update'
If the Plugins window is already open, close and reopen it.
A QGIS restart may still be required for some fields in the plugin manager.
