From 83c0010320c63045f5129d34cc6ce871e3786f71 Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Wed, 23 Sep 2020 10:22:26 +0200 Subject: [PATCH] removed ComboMenuDelegate as not used --- .../widgets/multiselection_combobox.py | 122 +----------------- 1 file changed, 2 insertions(+), 120 deletions(-) diff --git a/pype/tools/settings/settings/widgets/multiselection_combobox.py b/pype/tools/settings/settings/widgets/multiselection_combobox.py index 0106051cc4..9e5bc815b4 100644 --- a/pype/tools/settings/settings/widgets/multiselection_combobox.py +++ b/pype/tools/settings/settings/widgets/multiselection_combobox.py @@ -19,108 +19,6 @@ class ComboItemDelegate(QtWidgets.QStyledItemDelegate): super(ComboItemDelegate, self).paint(painter, option, index) -class ComboMenuDelegate(QtWidgets.QAbstractItemDelegate): - """ - Helper styled delegate (mostly based on existing private Qt's - delegate used by the QtWidgets.QComboBox). Used to style the popup like a - menu. (e.g osx aqua style). - """ - - def paint(self, painter, option, index): - menuopt = self._menu_style_option(option, index) - if option.widget is not None: - style = option.widget.style() - else: - style = QtWidgets.QApplication.style() - style.drawControl( - QtWidgets.QStyle.CE_MenuItem, menuopt, painter, option.widget - ) - - def sizeHint(self, option, index): - menuopt = self._menu_style_option(option, index) - if option.widget is not None: - style = option.widget.style() - else: - style = QtWidgets.QApplication.style() - return style.sizeFromContents( - QtWidgets.QStyle.CT_MenuItem, menuopt, menuopt.rect.size(), - option.widget - ) - - def _menu_style_option(self, option, index): - menuoption = QtWidgets.QStyleOptionMenuItem() - if option.widget: - palette_source = option.widget.palette("QMenu") - else: - palette_source = QtWidgets.QApplication.palette("QMenu") - - palette = option.palette.resolve(palette_source) - foreground = index.data(QtCore.Qt.ForegroundRole) - if isinstance(foreground, (QtGui.QBrush, QtGui.QColor, QtGui.QPixmap)): - foreground = QtGui.QBrush(foreground) - palette.setBrush(QtGui.QPalette.Text, foreground) - palette.setBrush(QtGui.QPalette.ButtonText, foreground) - palette.setBrush(QtGui.QPalette.WindowText, foreground) - - background = index.data(QtCore.Qt.BackgroundRole) - if isinstance(background, (QtGui.QBrush, QtGui.QColor, QtGui.QPixmap)): - background = QtGui.QBrush(background) - palette.setBrush(QtGui.QPalette.Background, background) - - menuoption.palette = palette - - decoration = index.data(QtCore.Qt.DecorationRole) - if isinstance(decoration, QtGui.QIcon): - menuoption.icon = decoration - - menuoption.menuItemType = QtWidgets.QStyleOptionMenuItem.Normal - - if index.flags() & QtCore.Qt.ItemIsUserCheckable: - menuoption.checkType = QtWidgets.QStyleOptionMenuItem.NonExclusive - else: - menuoption.checkType = QtWidgets.QStyleOptionMenuItem.NotCheckable - - check = index.data(QtCore.Qt.CheckStateRole) - menuoption.checked = check == QtCore.Qt.Checked - - if option.widget is not None: - menuoption.font = option.widget.font() - else: - menuoption.font = QtWidgets.QApplication.font("QMenu") - - menuoption.maxIconWidth = option.decorationSize.width() + 4 - menuoption.rect = option.rect - menuoption.menuRect = option.rect - - # menuoption.menuHasCheckableItems = True - menuoption.tabWidth = 0 - # TODO: self.displayText(QVariant, QLocale) - # TODO: Why is this not a QtWidgets.QStyledItemDelegate? - menuoption.text = str(index.data(QtCore.Qt.DisplayRole)) - - menuoption.fontMetrics = QtGui.QFontMetrics(menuoption.font) - state = option.state & ( - QtWidgets.QStyle.State_MouseOver - | QtWidgets.QStyle.State_Selected - | QtWidgets.QStyle.State_Active - ) - - if index.flags() & QtCore.Qt.ItemIsEnabled: - state = state | QtWidgets.QStyle.State_Enabled - menuoption.palette.setCurrentColorGroup(QtGui.QPalette.Active) - else: - state = state & ~QtWidgets.QStyle.State_Enabled - menuoption.palette.setCurrentColorGroup(QtGui.QPalette.Disabled) - - if menuoption.checked: - state = state | QtWidgets.QStyle.State_On - else: - state = state | QtWidgets.QStyle.State_Off - - menuoption.state = state - return menuoption - - class MultiSelectionComboBox(QtWidgets.QComboBox): value_changed = QtCore.Signal() ignored_keys = { @@ -152,7 +50,8 @@ class MultiSelectionComboBox(QtWidgets.QComboBox): self._initial_mouse_pos = None self._separator = separator self.placeholder_text = placeholder - self._update_item_delegate() + self.delegate = ComboItemDelegate(self) + self.setItemDelegate(self.delegate) self.lines = {} self.item_height = ( @@ -171,12 +70,6 @@ class MultiSelectionComboBox(QtWidgets.QComboBox): QtWidgets.QApplication.doubleClickInterval() ) - def changeEvent(self, event): - """Reimplemented.""" - if event.type() == QtCore.QEvent.StyleChange: - self._update_item_delegate() - super(MultiSelectionComboBox, self).changeEvent(event) - def showPopup(self): """Reimplemented.""" super(MultiSelectionComboBox, self).showPopup() @@ -419,14 +312,3 @@ class MultiSelectionComboBox(QtWidgets.QComboBox): return return super(MultiSelectionComboBox, self).keyPressEvent(event) - - def _update_item_delegate(self): - opt = QtWidgets.QStyleOptionComboBox() - opt.initFrom(self) - if self.style().styleHint( - QtWidgets.QStyle.SH_ComboBox_Popup, opt, self - ): - delegate = ComboMenuDelegate(self) - else: - delegate = ComboItemDelegate(self) - self.setItemDelegate(delegate)