From d60e8ada22e85ac07e1284b932fc214cdc1251cf Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Fri, 10 Sep 2021 12:21:28 +0200 Subject: [PATCH] added new icons for instance view buttons --- openpype/style/style.css | 4 +- .../tools/new_publisher/widgets/__init__.py | 15 ++++-- .../new_publisher/widgets/images/add.png | Bin 0 -> 5823 bytes .../widgets/images/change_view.png | Bin 0 -> 8304 bytes .../new_publisher/widgets/images/delete.png | Bin 0 -> 12343 bytes .../tools/new_publisher/widgets/widgets.py | 47 ++++++++++++++---- openpype/tools/new_publisher/window.py | 12 +++-- 7 files changed, 60 insertions(+), 18 deletions(-) create mode 100644 openpype/tools/new_publisher/widgets/images/add.png create mode 100644 openpype/tools/new_publisher/widgets/images/change_view.png create mode 100644 openpype/tools/new_publisher/widgets/images/delete.png diff --git a/openpype/style/style.css b/openpype/style/style.css index 2d1c471bb9..c1f4bd437e 100644 --- a/openpype/style/style.css +++ b/openpype/style/style.css @@ -547,7 +547,9 @@ QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical { background: {color:bg-menu-separator}; } -#IconBtn {} +#IconButton { + padding: 4px 4px 4px 4px; +} /* Password dialog*/ #PasswordBtn { diff --git a/openpype/tools/new_publisher/widgets/__init__.py b/openpype/tools/new_publisher/widgets/__init__.py index 6d0c6f724c..55afc349ff 100644 --- a/openpype/tools/new_publisher/widgets/__init__.py +++ b/openpype/tools/new_publisher/widgets/__init__.py @@ -2,16 +2,21 @@ from .icons import ( get_icon_path, get_pixmap, get_icon +) from .border_label_widget import ( BorderedLabelWidget ) from .widgets import ( SubsetAttributesWidget, - IconBtn, + StopBtn, ResetBtn, ValidateBtn, - PublishBtn + PublishBtn, + + CreateInstanceBtn, + RemoveInstanceBtn, + ChangeViewBtn ) from .publish_widget import ( PublishFrame @@ -36,12 +41,16 @@ __all__ = ( "SubsetAttributesWidget", "BorderedLabelWidget", - "IconBtn", + "StopBtn", "ResetBtn", "ValidateBtn", "PublishBtn", + "CreateInstanceBtn", + "RemoveInstanceBtn", + "ChangeViewBtn", + "PublishFrame", "CreateDialog", diff --git a/openpype/tools/new_publisher/widgets/images/add.png b/openpype/tools/new_publisher/widgets/images/add.png new file mode 100644 index 0000000000000000000000000000000000000000..7fece2f3c675f5ecd48cca89c2a1c7b3c540e825 GIT binary patch literal 5823 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 literal 0 HcmV?d00001 diff --git a/openpype/tools/new_publisher/widgets/images/change_view.png b/openpype/tools/new_publisher/widgets/images/change_view.png new file mode 100644 index 0000000000000000000000000000000000000000..bda0ef1689c41a3a99f6ed172813d7065ce9be16 GIT binary patch literal 8304 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 literal 0 HcmV?d00001 diff --git a/openpype/tools/new_publisher/widgets/images/delete.png b/openpype/tools/new_publisher/widgets/images/delete.png new file mode 100644 index 0000000000000000000000000000000000000000..ab02768ba31460baedaaa4d965c6879e9781517e GIT binary patch literal 12343 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 literal 0 HcmV?d00001 diff --git a/openpype/tools/new_publisher/widgets/widgets.py b/openpype/tools/new_publisher/widgets/widgets.py index 158e69eefa..8a7ed8332b 100644 --- a/openpype/tools/new_publisher/widgets/widgets.py +++ b/openpype/tools/new_publisher/widgets/widgets.py @@ -17,24 +17,30 @@ from ..constants import ( ) -class IconBtn(QtWidgets.QPushButton): +class IconButton(QtWidgets.QPushButton): """PushButton with icon and size of font. Using font metrics height as icon size reference. """ + + def __init__(self, *args, **kwargs): + super(IconButton, self).__init__(*args, **kwargs) + self.setObjectName("IconButton") + def sizeHint(self): - result = super().sizeHint() - if not self.text(): - new_height = ( - result.height() - - self.iconSize().height() - + self.fontMetrics().height() - ) - result.setHeight(new_height) + result = super(IconButton, self).sizeHint() + icon_h = self.iconSize().height() + font_height = self.fontMetrics().height() + text_set = bool(self.text()) + if not text_set and icon_h < font_height: + new_size = result.height() - icon_h + font_height + result.setHeight(new_size) + result.setWidth(new_size) + return result -class PublishIconBtn(IconBtn): +class PublishIconBtn(IconButton): def __init__(self, pixmap_path, *args, **kwargs): super(PublishIconBtn, self).__init__(*args, **kwargs) @@ -124,6 +130,27 @@ class PublishBtn(PublishIconBtn): self.setToolTip("Publish") +class CreateInstanceBtn(PublishIconBtn): + def __init__(self, parent=None): + icon_path = get_icon_path("add") + super(CreateInstanceBtn, self).__init__(icon_path, parent) + self.setToolTip("Create new instance") + + +class RemoveInstanceBtn(PublishIconBtn): + def __init__(self, parent=None): + icon_path = get_icon_path("delete") + super(RemoveInstanceBtn, self).__init__(icon_path, parent) + self.setToolTip("Remove selected instances") + + +class ChangeViewBtn(PublishIconBtn): + def __init__(self, parent=None): + icon_path = get_icon_path("change_view") + super(ChangeViewBtn, self).__init__(icon_path, parent) + self.setToolTip("Swap between views") + + class AbstractInstanceView(QtWidgets.QWidget): selection_changed = QtCore.Signal() active_changed = QtCore.Signal() diff --git a/openpype/tools/new_publisher/window.py b/openpype/tools/new_publisher/window.py index ff682f11ab..b1f745e63a 100644 --- a/openpype/tools/new_publisher/window.py +++ b/openpype/tools/new_publisher/window.py @@ -13,11 +13,15 @@ from .widgets import ( InstanceCardView, InstanceListView, CreateDialog, - IconBtn, + StopBtn, ResetBtn, ValidateBtn, PublishBtn, + + CreateInstanceBtn, + RemoveInstanceBtn, + ChangeViewBtn ) @@ -80,9 +84,9 @@ class PublisherWindow(QtWidgets.QDialog): subset_views_layout.addWidget(subset_list_view) # Buttons at the bottom of subset view - create_btn = QtWidgets.QPushButton("+", subset_frame) - delete_btn = QtWidgets.QPushButton("-", subset_frame) - change_view_btn = QtWidgets.QPushButton("=", subset_frame) + create_btn = CreateInstanceBtn(subset_frame) + delete_btn = RemoveInstanceBtn(subset_frame) + change_view_btn = ChangeViewBtn(subset_frame) # Subset details widget subset_attributes_wrap = BorderedLabelWidget(