[pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
This commit is contained in:
parent
de05468d5e
commit
0bbf54f035
|
@ -14,7 +14,15 @@ def loadAllWorkbenches():
|
||||||
lbl.show()
|
lbl.show()
|
||||||
lst = FreeCADGui.listWorkbenches()
|
lst = FreeCADGui.listWorkbenches()
|
||||||
for i, wb in enumerate(lst):
|
for i, wb in enumerate(lst):
|
||||||
msg = translate("SearchBar", "Loading workbench ") + wb + " (" + str(i) + "/" + str(len(lst)) + ")"
|
msg = (
|
||||||
|
translate("SearchBar", "Loading workbench ")
|
||||||
|
+ wb
|
||||||
|
+ " ("
|
||||||
|
+ str(i)
|
||||||
|
+ "/"
|
||||||
|
+ str(len(lst))
|
||||||
|
+ ")"
|
||||||
|
)
|
||||||
print(msg)
|
print(msg)
|
||||||
lbl.setText(msg)
|
lbl.setText(msg)
|
||||||
geo = lbl.geometry()
|
geo = lbl.geometry()
|
||||||
|
|
66
SearchBox.py
66
SearchBox.py
|
@ -91,7 +91,9 @@ 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 = maxVisibleRows # TODO: use this to compute the correct height
|
self.maxVisibleRows = (
|
||||||
|
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.
|
||||||
|
@ -103,7 +105,9 @@ 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(getItemDelegate()) # https://stackoverflow.com/a/65930408/324969
|
self.listView.setItemDelegate(
|
||||||
|
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)
|
||||||
|
@ -133,10 +137,18 @@ 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(QKeySequence(Qt.Key.Key_Down), self, context=wdgctx).activated.connect(self.listDown)
|
QShortcut(
|
||||||
QShortcut(QKeySequence(Qt.Key.Key_Up), self, context=wdgctx).activated.connect(self.listUp)
|
QKeySequence(Qt.Key.Key_Down), self, context=wdgctx
|
||||||
QShortcut(QKeySequence(Qt.Key.Key_PageDown), self, context=wdgctx).activated.connect(self.listPageDown)
|
).activated.connect(self.listDown)
|
||||||
QShortcut(QKeySequence(Qt.Key.Key_PageUp), self, context=wdgctx).activated.connect(self.listPageUp)
|
QShortcut(QKeySequence(Qt.Key.Key_Up), self, context=wdgctx).activated.connect(
|
||||||
|
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)
|
||||||
|
@ -144,13 +156,25 @@ 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(QKeySequence(Qt.Key.Key_Enter), self, context=wdgctx).activated.connect(self.listAccept)
|
QShortcut(
|
||||||
QShortcut(QKeySequence(Qt.Key.Key_Return), self, context=wdgctx).activated.connect(self.listAccept)
|
QKeySequence(Qt.Key.Key_Enter), self, context=wdgctx
|
||||||
QShortcut(QKeySequence("Ctrl+Return"), self, context=wdgctx).activated.connect(self.listAcceptToggle)
|
).activated.connect(self.listAccept)
|
||||||
QShortcut(QKeySequence("Ctrl+Enter"), self, context=wdgctx).activated.connect(self.listAcceptToggle)
|
QShortcut(
|
||||||
QShortcut(QKeySequence("Ctrl+Space"), self, context=wdgctx).activated.connect(self.listAcceptToggle)
|
QKeySequence(Qt.Key.Key_Return), self, context=wdgctx
|
||||||
|
).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(QKeySequence(Qt.Key.Key_Escape), self, context=wdgctx).activated.connect(self.listCancel)
|
QShortcut(
|
||||||
|
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
|
||||||
|
@ -197,7 +221,9 @@ class SearchBox(QLineEdit):
|
||||||
[
|
[
|
||||||
QStandardItem(
|
QStandardItem(
|
||||||
genericToolIcon,
|
genericToolIcon,
|
||||||
translate("SearchBar", "Please wait, loading results from cache…"),
|
translate(
|
||||||
|
"SearchBar", "Please wait, loading results from cache…"
|
||||||
|
),
|
||||||
),
|
),
|
||||||
QStandardItem("0"),
|
QStandardItem("0"),
|
||||||
QStandardItem("-1"),
|
QStandardItem("-1"),
|
||||||
|
@ -249,11 +275,17 @@ class SearchBox(QLineEdit):
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def proxyListPageDown(self):
|
def proxyListPageDown(self):
|
||||||
self.movementKey(lambda current, nbRows: min(current + max(1, self.maxVisibleRows / 2), nbRows - 1))
|
self.movementKey(
|
||||||
|
lambda current, nbRows: min(
|
||||||
|
current + max(1, self.maxVisibleRows / 2), nbRows - 1
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def proxyListPageUp(self):
|
def proxyListPageUp(self):
|
||||||
self.movementKey(lambda current, nbRows: max(current - max(1, self.maxVisibleRows / 2), 0))
|
self.movementKey(
|
||||||
|
lambda current, nbRows: max(current - max(1, self.maxVisibleRows / 2), 0)
|
||||||
|
)
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def proxyListEnd(self):
|
def proxyListEnd(self):
|
||||||
|
@ -387,7 +419,9 @@ class SearchBox(QLineEdit):
|
||||||
def getScreenPosition(widget):
|
def getScreenPosition(widget):
|
||||||
geo = widget.geometry()
|
geo = widget.geometry()
|
||||||
parent = widget.parent()
|
parent = widget.parent()
|
||||||
parentPos = getScreenPosition(parent) if parent is not None else QPoint(0, 0)
|
parentPos = (
|
||||||
|
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)
|
||||||
|
|
|
@ -6,7 +6,9 @@ from PySide import QtCore
|
||||||
class SearchBoxLight(QtGui.QLineEdit):
|
class SearchBoxLight(QtGui.QLineEdit):
|
||||||
resultSelected = QtCore.Signal(int, int)
|
resultSelected = QtCore.Signal(int, int)
|
||||||
|
|
||||||
def __init__(self, getItemGroups, getToolTip, getItemDelegate, maxVisibleRows=20, parent=None):
|
def __init__(
|
||||||
|
self, getItemGroups, getToolTip, getItemDelegate, maxVisibleRows=20, parent=None
|
||||||
|
):
|
||||||
self.isInitialized = False
|
self.isInitialized = False
|
||||||
|
|
||||||
# Store arguments
|
# Store arguments
|
||||||
|
@ -25,7 +27,9 @@ class SearchBoxLight(QtGui.QLineEdit):
|
||||||
self.addAction(ico, QtGui.QLineEdit.LeadingPosition)
|
self.addAction(ico, QtGui.QLineEdit.LeadingPosition)
|
||||||
self.setClearButtonEnabled(True)
|
self.setClearButtonEnabled(True)
|
||||||
self.setPlaceholderText("Search tools, prefs & tree")
|
self.setPlaceholderText("Search tools, prefs & tree")
|
||||||
self.setFixedWidth(200) # needed to avoid a change of width when the clear button appears/disappears
|
self.setFixedWidth(
|
||||||
|
200
|
||||||
|
) # needed to avoid a change of width when the clear button appears/disappears
|
||||||
|
|
||||||
def lazyInit(self):
|
def lazyInit(self):
|
||||||
pass
|
pass
|
||||||
|
|
Loading…
Reference in New Issue
Block a user