Skip to content

Commit 5e69846

Browse files
jonpalmiscjeffli678
authored andcommitted
Bare minimum Qt 6 compatibility fixups
- Imports have been adjusted as needed for PySide6 - Table column size hint configuration has been removed as it depended on the now-missing `viewOptions()` function* * This didn't work in the first place, so no harm done
1 parent b2f710c commit 5e69846

11 files changed

+118
-62
lines changed

dockwidgets/AdapterSettingsDialog.py

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,15 @@
1-
from PySide2 import QtCore
2-
from PySide2.QtCore import Qt, QAbstractItemModel, QModelIndex, QSize
3-
from PySide2.QtGui import QPalette, QFontMetricsF
4-
from PySide2.QtWidgets import QApplication, QHBoxLayout, QVBoxLayout, QWidget, QDialog, QPushButton, QFormLayout, QLineEdit, QLabel, QMenu, QCheckBox
5-
61
import binaryninjaui
2+
if "qt_major_version" in binaryninjaui.__dict__ and binaryninjaui.qt_major_version == 6:
3+
from PySide6 import QtCore
4+
from PySide6.QtCore import Qt, QAbstractItemModel, QModelIndex, QSize
5+
from PySide6.QtGui import QPalette, QFontMetricsF
6+
from PySide6.QtWidgets import QApplication, QHBoxLayout, QVBoxLayout, QWidget, QDialog, QPushButton, QFormLayout, QLineEdit, QLabel, QMenu, QCheckBox
7+
else:
8+
from PySide2 import QtCore
9+
from PySide2.QtCore import Qt, QAbstractItemModel, QModelIndex, QSize
10+
from PySide2.QtGui import QPalette, QFontMetricsF
11+
from PySide2.QtWidgets import QApplication, QHBoxLayout, QVBoxLayout, QWidget, QDialog, QPushButton, QFormLayout, QLineEdit, QLabel, QMenu, QCheckBox
12+
713
from binaryninja import BinaryView, Settings, SettingsScope
814
from binaryninjaui import DockContextHandler, UIActionHandler, LinearView, ViewFrame, UIContext
915

dockwidgets/BreakpointsWidget.py

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,15 @@
1-
from PySide2 import QtCore
2-
from PySide2.QtCore import Qt, QAbstractItemModel, QModelIndex, QSize
3-
from PySide2.QtGui import QPalette, QFontMetricsF
4-
from PySide2.QtWidgets import QApplication, QHBoxLayout, QVBoxLayout, QWidget, QTableView, QItemDelegate, QStyle, QHeaderView, QAbstractItemView
5-
61
import binaryninjaui
2+
if "qt_major_version" in binaryninjaui.__dict__ and binaryninjaui.qt_major_version == 6:
3+
from PySide6 import QtCore
4+
from PySide6.QtCore import Qt, QAbstractItemModel, QModelIndex, QSize
5+
from PySide6.QtGui import QPalette, QFontMetricsF
6+
from PySide6.QtWidgets import QApplication, QHBoxLayout, QVBoxLayout, QWidget, QTableView, QItemDelegate, QStyle, QHeaderView, QAbstractItemView
7+
else:
8+
from PySide2 import QtCore
9+
from PySide2.QtCore import Qt, QAbstractItemModel, QModelIndex, QSize
10+
from PySide2.QtGui import QPalette, QFontMetricsF
11+
from PySide2.QtWidgets import QApplication, QHBoxLayout, QVBoxLayout, QWidget, QTableView, QItemDelegate, QStyle, QHeaderView, QAbstractItemView
12+
713
from binaryninjaui import DockContextHandler, UIActionHandler, ThemeColor
814
from binaryninja import BinaryView
915

@@ -169,9 +175,6 @@ def __init__(self, parent, name, data):
169175

170176
self.table.resizeColumnsToContents()
171177
self.table.resizeRowsToContents()
172-
173-
for i in range(len(self.model.columns)):
174-
self.table.setColumnWidth(i, self.item_delegate.sizeHint(self.table.viewOptions(), self.model.index(-1, i, QModelIndex())).width())
175178
self.table.horizontalHeader().setSectionResizeMode(1, QHeaderView.Stretch)
176179

177180
layout = QVBoxLayout()

dockwidgets/ConsoleWidget.py

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,15 @@
1-
from PySide2 import QtCore
2-
from PySide2.QtCore import Qt, QSize
3-
from PySide2.QtWidgets import QApplication, QHBoxLayout, QVBoxLayout, QLabel, QWidget, QPushButton, QLineEdit, QTextEdit
4-
from PySide2.QtGui import QTextCursor
1+
import binaryninjaui
2+
if "qt_major_version" in binaryninjaui.__dict__ and binaryninjaui.qt_major_version == 6:
3+
from PySide6 import QtCore
4+
from PySide6.QtCore import Qt, QSize
5+
from PySide6.QtWidgets import QApplication, QHBoxLayout, QVBoxLayout, QLabel, QWidget, QPushButton, QLineEdit, QTextEdit
6+
from PySide6.QtGui import QTextCursor
7+
else:
8+
from PySide2 import QtCore
9+
from PySide2.QtCore import Qt, QSize
10+
from PySide2.QtWidgets import QApplication, QHBoxLayout, QVBoxLayout, QLabel, QWidget, QPushButton, QLineEdit, QTextEdit
11+
from PySide2.QtGui import QTextCursor
12+
513
import binaryninja
614
from binaryninjaui import DockHandler, DockContextHandler, UIActionHandler, getMonospaceFont
715

dockwidgets/ControlsWidget.py

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,14 @@
1-
from PySide2 import QtCore, QtGui
2-
from PySide2.QtCore import Qt
3-
from PySide2.QtWidgets import QApplication, QHBoxLayout, QVBoxLayout, QLabel, QWidget, QPushButton, QLineEdit, QToolBar, QToolButton, QMenu, QAction
1+
import binaryninjaui
2+
if "qt_major_version" in binaryninjaui.__dict__ and binaryninjaui.qt_major_version == 6:
3+
from PySide6 import QtCore, QtGui
4+
from PySide6.QtCore import Qt
5+
from PySide6.QtGui import QAction
6+
from PySide6.QtWidgets import QApplication, QHBoxLayout, QVBoxLayout, QLabel, QWidget, QPushButton, QLineEdit, QToolBar, QToolButton, QMenu
7+
else:
8+
from PySide2 import QtCore, QtGui
9+
from PySide2.QtCore import Qt
10+
from PySide2.QtWidgets import QApplication, QHBoxLayout, QVBoxLayout, QLabel, QWidget, QPushButton, QLineEdit, QToolBar, QToolButton, QMenu, QAction
11+
412
from binaryninja import execute_on_main_thread_and_wait, BinaryView
513
from binaryninja.interaction import show_message_box, MessageBoxIcon, MessageBoxButtonSet, MessageBoxButtonResult
614
from binaryninjaui import ViewFrame

dockwidgets/DebugView.py

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,18 @@
1-
from PySide2 import QtCore
2-
from PySide2.QtCore import Qt, QAbstractItemModel, QModelIndex, QSize, QTimer
3-
from PySide2.QtGui import QPalette, QFontMetricsF
4-
from PySide2.QtWidgets import QApplication, QHBoxLayout, QVBoxLayout, QWidget, QStyle, QSplitter, QLabel
1+
import binaryninjaui
2+
if "qt_major_version" in binaryninjaui.__dict__ and binaryninjaui.qt_major_version == 6:
3+
from PySide6 import QtCore
4+
from PySide6.QtCore import Qt, QAbstractItemModel, QModelIndex, QSize, QTimer
5+
from PySide6.QtGui import QPalette, QFontMetricsF
6+
from PySide6.QtWidgets import QApplication, QHBoxLayout, QVBoxLayout, QWidget, QStyle, QSplitter, QLabel
7+
else:
8+
from PySide2 import QtCore
9+
from PySide2.QtCore import Qt, QAbstractItemModel, QModelIndex, QSize, QTimer
10+
from PySide2.QtGui import QPalette, QFontMetricsF
11+
from PySide2.QtWidgets import QApplication, QHBoxLayout, QVBoxLayout, QWidget, QStyle, QSplitter, QLabel
512

613
import re
714
import threading
815

9-
import binaryninjaui
1016
from binaryninja import BinaryView, PythonScriptingInstance, InstructionTextToken, InstructionTextTokenType, DisassemblyTextLine, LinearDisassemblyLine, LinearDisassemblyLineType, HighlightStandardColor, core_version
1117
from binaryninja.enums import InstructionTextTokenType
1218
from binaryninjaui import View, ViewType, UIAction, UIActionHandler, LinearView, DisassemblyContainer, ViewFrame, DockHandler, TokenizedTextView, HistoryEntry

dockwidgets/ModulesWidget.py

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,16 @@
1-
from PySide2 import QtCore
2-
from PySide2.QtCore import Qt, QAbstractItemModel, QModelIndex, QSize
3-
from PySide2.QtGui import QPalette, QFontMetricsF
4-
from PySide2.QtWidgets import QApplication, QHBoxLayout, QVBoxLayout, QWidget, QTableView, QItemDelegate, QStyle, QHeaderView, QAbstractItemView, QLabel, QPushButton
1+
import binaryninjaui
2+
if "qt_major_version" in binaryninjaui.__dict__ and binaryninjaui.qt_major_version == 6:
3+
from PySide6 import QtCore
4+
from PySide6.QtCore import Qt, QAbstractItemModel, QModelIndex, QSize
5+
from PySide6.QtGui import QPalette, QFontMetricsF
6+
from PySide6.QtWidgets import QApplication, QHBoxLayout, QVBoxLayout, QWidget, QTableView, QItemDelegate, QStyle, QHeaderView, QAbstractItemView, QLabel, QPushButton
7+
else:
8+
from PySide2 import QtCore
9+
from PySide2.QtCore import Qt, QAbstractItemModel, QModelIndex, QSize
10+
from PySide2.QtGui import QPalette, QFontMetricsF
11+
from PySide2.QtWidgets import QApplication, QHBoxLayout, QVBoxLayout, QWidget, QTableView, QItemDelegate, QStyle, QHeaderView, QAbstractItemView, QLabel, QPushButton
512

613
import binaryninja
7-
import binaryninjaui
814
from binaryninjaui import DockContextHandler, UIActionHandler, ThemeColor
915

1016
from . import widget
@@ -145,9 +151,6 @@ def __init__(self, parent, name, data):
145151
self.table.resizeColumnsToContents()
146152
self.table.resizeRowsToContents()
147153

148-
for i in range(len(self.model.columns)):
149-
self.table.setColumnWidth(i, self.item_delegate.sizeHint(self.table.viewOptions(), self.model.index(-1, i, QModelIndex())).width())
150-
151154
update_layout = QHBoxLayout()
152155
update_layout.setContentsMargins(0, 0, 0, 0)
153156

dockwidgets/RegistersWidget.py

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,15 @@
1-
from PySide2 import QtCore
2-
from PySide2.QtCore import Qt, QAbstractItemModel, QModelIndex, QSize
3-
from PySide2.QtGui import QPalette, QFontMetricsF
4-
from PySide2.QtWidgets import QApplication, QHBoxLayout, QVBoxLayout, QWidget, QTableView, QItemDelegate, QStyle, QHeaderView, QAbstractItemView
5-
61
import binaryninjaui
2+
if "qt_major_version" in binaryninjaui.__dict__ and binaryninjaui.qt_major_version == 6:
3+
from PySide6 import QtCore
4+
from PySide6.QtCore import Qt, QAbstractItemModel, QModelIndex, QSize
5+
from PySide6.QtGui import QPalette, QFontMetricsF
6+
from PySide6.QtWidgets import QApplication, QHBoxLayout, QVBoxLayout, QWidget, QTableView, QItemDelegate, QStyle, QHeaderView, QAbstractItemView
7+
else:
8+
from PySide2 import QtCore
9+
from PySide2.QtCore import Qt, QAbstractItemModel, QModelIndex, QSize
10+
from PySide2.QtGui import QPalette, QFontMetricsF
11+
from PySide2.QtWidgets import QApplication, QHBoxLayout, QVBoxLayout, QWidget, QTableView, QItemDelegate, QStyle, QHeaderView, QAbstractItemView
12+
713
from binaryninjaui import DockContextHandler, UIActionHandler, ThemeColor
814
from binaryninja import BinaryView
915

@@ -207,9 +213,6 @@ def __init__(self, parent, name, data):
207213
self.table.resizeColumnsToContents()
208214
self.table.resizeRowsToContents()
209215

210-
for i in range(len(self.model.columns)):
211-
self.table.setColumnWidth(i, self.item_delegate.sizeHint(self.table.viewOptions(), self.model.index(-1, i, QModelIndex())).width())
212-
213216
layout = QVBoxLayout()
214217
layout.setContentsMargins(0, 0, 0, 0)
215218
layout.setSpacing(0)

dockwidgets/StackWidget.py

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,16 @@
1-
from PySide2 import QtCore
2-
from PySide2.QtCore import Qt, QAbstractItemModel, QModelIndex, QSize
3-
from PySide2.QtGui import QPalette, QFontMetricsF
4-
from PySide2.QtWidgets import QApplication, QHBoxLayout, QVBoxLayout, QWidget, QTableView, QItemDelegate, QStyle, QHeaderView, QAbstractItemView
1+
import binaryninjaui
2+
if "qt_major_version" in binaryninjaui.__dict__ and binaryninjaui.qt_major_version == 6:
3+
from PySide6 import QtCore
4+
from PySide6.QtCore import Qt, QAbstractItemModel, QModelIndex, QSize
5+
from PySide6.QtGui import QPalette, QFontMetricsF
6+
from PySide6.QtWidgets import QApplication, QHBoxLayout, QVBoxLayout, QWidget, QTableView, QItemDelegate, QStyle, QHeaderView, QAbstractItemView
7+
else:
8+
from PySide2 import QtCore
9+
from PySide2.QtCore import Qt, QAbstractItemModel, QModelIndex, QSize
10+
from PySide2.QtGui import QPalette, QFontMetricsF
11+
from PySide2.QtWidgets import QApplication, QHBoxLayout, QVBoxLayout, QWidget, QTableView, QItemDelegate, QStyle, QHeaderView, QAbstractItemView
512

613
from binaryninja import Endianness, BinaryView
7-
import binaryninjaui
814
from binaryninjaui import DockContextHandler, UIActionHandler, ThemeColor
915

1016
from . import widget
@@ -226,9 +232,6 @@ def __init__(self, parent, name, data):
226232
self.table.resizeColumnsToContents()
227233
self.table.resizeRowsToContents()
228234

229-
for i in range(len(self.model.columns)):
230-
self.table.setColumnWidth(i, self.item_delegate.sizeHint(self.table.viewOptions(), self.model.index(-1, i, QModelIndex())).width())
231-
232235
layout = QVBoxLayout()
233236
layout.setContentsMargins(0, 0, 0, 0)
234237
layout.setSpacing(0)

dockwidgets/ThreadsWidget.py

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,15 @@
1-
from PySide2 import QtCore
2-
from PySide2.QtCore import Qt, QAbstractItemModel, QModelIndex, QSize
3-
from PySide2.QtGui import QPalette, QFontMetricsF
4-
from PySide2.QtWidgets import QApplication, QHBoxLayout, QVBoxLayout, QWidget, QTableView, QItemDelegate, QStyle, QHeaderView, QAbstractItemView
5-
61
import binaryninjaui
2+
if "qt_major_version" in binaryninjaui.__dict__ and binaryninjaui.qt_major_version == 6:
3+
from PySide6 import QtCore
4+
from PySide6.QtCore import Qt, QAbstractItemModel, QModelIndex, QSize
5+
from PySide6.QtGui import QPalette, QFontMetricsF
6+
from PySide6.QtWidgets import QApplication, QHBoxLayout, QVBoxLayout, QWidget, QTableView, QItemDelegate, QStyle, QHeaderView, QAbstractItemView
7+
else:
8+
from PySide2 import QtCore
9+
from PySide2.QtCore import Qt, QAbstractItemModel, QModelIndex, QSize
10+
from PySide2.QtGui import QPalette, QFontMetricsF
11+
from PySide2.QtWidgets import QApplication, QHBoxLayout, QVBoxLayout, QWidget, QTableView, QItemDelegate, QStyle, QHeaderView, QAbstractItemView
12+
713
from binaryninja import BinaryView
814
from binaryninjaui import DockContextHandler, UIActionHandler, ThemeColor
915

@@ -191,9 +197,6 @@ def __init__(self, parent, name, data):
191197

192198
self.table.resizeColumnsToContents()
193199
self.table.resizeRowsToContents()
194-
195-
for i in range(len(self.model.columns)):
196-
self.table.setColumnWidth(i, self.item_delegate.sizeHint(self.table.viewOptions(), self.model.index(-1, i, QModelIndex())).width())
197200
self.table.horizontalHeader().setSectionResizeMode(1, QHeaderView.Stretch)
198201

199202
layout = QVBoxLayout()

dockwidgets/widget.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
1-
from PySide2.QtWidgets import QApplication, QWidget
1+
import binaryninjaui
2+
if "qt_major_version" in binaryninjaui.__dict__ and binaryninjaui.qt_major_version == 6:
3+
from PySide6.QtWidgets import QApplication, QWidget
4+
else:
5+
from PySide2.QtWidgets import QApplication, QWidget
6+
27
from binaryninjaui import DockHandler
38
import sys
49
import traceback

0 commit comments

Comments
 (0)