fix import PySide6

This commit is contained in:
Paul Ebbers 2025-01-12 20:17:08 +01:00
parent 743fa13776
commit 8d41c037e4

View File

@ -2,14 +2,14 @@ import FreeCAD as App
import FreeCADGui as Gui import FreeCADGui as Gui
import os import os
from PySide6.QtCore import ( from PySide.QtCore import (
Qt, Qt,
SIGNAL, SIGNAL,
QSize, QSize,
QIdentityProxyModel, QIdentityProxyModel,
QPoint, QPoint,
) )
from PySide6.QtWidgets import ( from PySide.QtWidgets import (
QTabWidget, QTabWidget,
QSlider, QSlider,
QSpinBox, QSpinBox,
@ -28,7 +28,7 @@ from PySide6.QtWidgets import (
QApplication, QApplication,
QListWidget, QListWidget,
) )
from PySide6.QtGui import ( from PySide.QtGui import (
QIcon, QIcon,
QPixmap, QPixmap,
QColor, QColor,
@ -91,9 +91,7 @@ class SearchBox(QLineEdit):
self.getItemGroups = getItemGroups self.getItemGroups = getItemGroups
self.getToolTip = getToolTip self.getToolTip = getToolTip
self.itemGroups = None # Will be initialized by calling getItemGroups() the first time the search box gains focus, through focusInEvent and refreshItemGroups self.itemGroups = None # Will be initialized by calling getItemGroups() the first time the search box gains focus, through focusInEvent and refreshItemGroups
self.maxVisibleRows = ( self.maxVisibleRows = maxVisibleRows # TODO: use this to compute the correct height
maxVisibleRows # TODO: use this to compute the correct height
)
# Create proxy model # Create proxy model
self.proxyModel = QIdentityProxyModel() self.proxyModel = QIdentityProxyModel()
# Filtered model to which items are manually added. Store it as a property of the object instead of a local variable, to prevent grbage collection. # Filtered model to which items are manually added. Store it as a property of the object instead of a local variable, to prevent grbage collection.
@ -105,9 +103,7 @@ class SearchBox(QLineEdit):
self.listView.setWindowFlag(Qt.WindowType.FramelessWindowHint) self.listView.setWindowFlag(Qt.WindowType.FramelessWindowHint)
self.listView.setSelectionMode(self.listView.SelectionMode.SingleSelection) self.listView.setSelectionMode(self.listView.SelectionMode.SingleSelection)
self.listView.setModel(self.proxyModel) self.listView.setModel(self.proxyModel)
self.listView.setItemDelegate( self.listView.setItemDelegate(getItemDelegate()) # https://stackoverflow.com/a/65930408/324969
getItemDelegate()
) # https://stackoverflow.com/a/65930408/324969
self.listView.setMouseTracking(True) self.listView.setMouseTracking(True)
# make the QListView non-editable # make the QListView non-editable
self.listView.setEditTriggers(QAbstractItemView.EditTrigger.NoEditTriggers) self.listView.setEditTriggers(QAbstractItemView.EditTrigger.NoEditTriggers)
@ -137,18 +133,10 @@ class SearchBox(QLineEdit):
# Note: should probably use the eventFilter method instead... # Note: should probably use the eventFilter method instead...
wdgctx = Qt.ShortcutContext.WidgetShortcut wdgctx = Qt.ShortcutContext.WidgetShortcut
QShortcut( QShortcut(QKeySequence(Qt.Key.Key_Down), self, context=wdgctx).activated.connect(self.listDown)
QKeySequence(Qt.Key.Key_Down), self, context=wdgctx QShortcut(QKeySequence(Qt.Key.Key_Up), self, context=wdgctx).activated.connect(self.listUp)
).activated.connect(self.listDown) QShortcut(QKeySequence(Qt.Key.Key_PageDown), self, context=wdgctx).activated.connect(self.listPageDown)
QShortcut(QKeySequence(Qt.Key.Key_Up), self, context=wdgctx).activated.connect( QShortcut(QKeySequence(Qt.Key.Key_PageUp), self, context=wdgctx).activated.connect(self.listPageUp)
self.listUp
)
QShortcut(
QKeySequence(Qt.Key.Key_PageDown), self, context=wdgctx
).activated.connect(self.listPageDown)
QShortcut(
QKeySequence(Qt.Key.Key_PageUp), self, context=wdgctx
).activated.connect(self.listPageUp)
# Home and End do not work, for some reason. # Home and End do not work, for some reason.
# QShortcut(QKeySequence.MoveToEndOfDocument, self, context = wdgctx).activated.connect(self.listEnd) # QShortcut(QKeySequence.MoveToEndOfDocument, self, context = wdgctx).activated.connect(self.listEnd)
@ -156,25 +144,13 @@ class SearchBox(QLineEdit):
# QShortcut(QKeySequence(Qt.Key.Key_End), self, context = wdgctx).activated.connect(self.listEnd) # QShortcut(QKeySequence(Qt.Key.Key_End), self, context = wdgctx).activated.connect(self.listEnd)
# QShortcut(QKeySequence('Home'), self, context = wdgctx).activated.connect(self.listStart) # QShortcut(QKeySequence('Home'), self, context = wdgctx).activated.connect(self.listStart)
QShortcut( QShortcut(QKeySequence(Qt.Key.Key_Enter), self, context=wdgctx).activated.connect(self.listAccept)
QKeySequence(Qt.Key.Key_Enter), self, context=wdgctx QShortcut(QKeySequence(Qt.Key.Key_Return), self, context=wdgctx).activated.connect(self.listAccept)
).activated.connect(self.listAccept) QShortcut(QKeySequence("Ctrl+Return"), self, context=wdgctx).activated.connect(self.listAcceptToggle)
QShortcut( QShortcut(QKeySequence("Ctrl+Enter"), self, context=wdgctx).activated.connect(self.listAcceptToggle)
QKeySequence(Qt.Key.Key_Return), self, context=wdgctx QShortcut(QKeySequence("Ctrl+Space"), self, context=wdgctx).activated.connect(self.listAcceptToggle)
).activated.connect(self.listAccept)
QShortcut(QKeySequence("Ctrl+Return"), self, context=wdgctx).activated.connect(
self.listAcceptToggle
)
QShortcut(QKeySequence("Ctrl+Enter"), self, context=wdgctx).activated.connect(
self.listAcceptToggle
)
QShortcut(QKeySequence("Ctrl+Space"), self, context=wdgctx).activated.connect(
self.listAcceptToggle
)
QShortcut( QShortcut(QKeySequence(Qt.Key.Key_Escape), self, context=wdgctx).activated.connect(self.listCancel)
QKeySequence(Qt.Key.Key_Escape), self, context=wdgctx
).activated.connect(self.listCancel)
# Initialize the model with the full list (assuming the text() is empty) # Initialize the model with the full list (assuming the text() is empty)
# self.proxyFilterModel(self.text()) # This is done by refreshItemGroups on focusInEvent, because the initial loading from cache can take time # self.proxyFilterModel(self.text()) # This is done by refreshItemGroups on focusInEvent, because the initial loading from cache can take time
@ -221,9 +197,7 @@ class SearchBox(QLineEdit):
[ [
QStandardItem( QStandardItem(
genericToolIcon, genericToolIcon,
translate( translate("SearchBar", "Please wait, loading results from cache…"),
"SearchBar", "Please wait, loading results from cache…"
),
), ),
QStandardItem("0"), QStandardItem("0"),
QStandardItem("-1"), QStandardItem("-1"),
@ -275,17 +249,11 @@ class SearchBox(QLineEdit):
@staticmethod @staticmethod
def proxyListPageDown(self): def proxyListPageDown(self):
self.movementKey( self.movementKey(lambda current, nbRows: min(current + max(1, self.maxVisibleRows / 2), nbRows - 1))
lambda current, nbRows: min(
current + max(1, self.maxVisibleRows / 2), nbRows - 1
)
)
@staticmethod @staticmethod
def proxyListPageUp(self): def proxyListPageUp(self):
self.movementKey( self.movementKey(lambda current, nbRows: max(current - max(1, self.maxVisibleRows / 2), 0))
lambda current, nbRows: max(current - max(1, self.maxVisibleRows / 2), 0)
)
@staticmethod @staticmethod
def proxyListEnd(self): def proxyListEnd(self):
@ -422,9 +390,7 @@ class SearchBox(QLineEdit):
def getScreenPosition(widget): def getScreenPosition(widget):
geo = widget.geometry() geo = widget.geometry()
parent = widget.parent() parent = widget.parent()
parentPos = ( parentPos = getScreenPosition(parent) if parent is not None else QPoint(0, 0)
getScreenPosition(parent) if parent is not None else QPoint(0, 0)
)
return QPoint(geo.x() + parentPos.x(), geo.y() + parentPos.y()) return QPoint(geo.x() + parentPos.x(), geo.y() + parentPos.y())
pos = getScreenPosition(self) pos = getScreenPosition(self)