[improvement][ui] disabled button tooltip

This commit is contained in:
Vinícius Moreira
2020-01-10 18:39:01 -03:00
parent 18f2778adc
commit 9165f40751
9 changed files with 33 additions and 14 deletions

View File

@@ -426,14 +426,14 @@ class AppsTable(QTableWidget):
def run():
self.window.run_app(pkg)
bt = IconButton(QIcon(resource.get_path('img/app_play.svg')), action=run, background='#088A08', tooltip=self.i18n['action.run.tooltip'])
bt = IconButton(QIcon(resource.get_path('img/app_play.svg')), i18n=self.i18n, action=run, background='#088A08', tooltip=self.i18n['action.run.tooltip'])
bt.setEnabled(pkg.model.can_be_run())
item.addWidget(bt)
def get_info():
self.window.get_app_info(pkg)
bt = IconButton(QIcon(resource.get_path('img/app_info.svg')), action=get_info, background='#2E68D3', tooltip=self.i18n['action.info.tooltip'])
bt = IconButton(QIcon(resource.get_path('img/app_info.svg')), i18n=self.i18n, action=get_info, background='#2E68D3', tooltip=self.i18n['action.info.tooltip'])
bt.setEnabled(bool(pkg.model.has_info()))
item.addWidget(bt)
@@ -441,7 +441,7 @@ class AppsTable(QTableWidget):
def get_screenshots():
self.window.get_screenshots(pkg)
bt = IconButton(QIcon(resource.get_path('img/camera.svg')), action=get_screenshots, background='purple', tooltip=self.i18n['action.screenshots.tooltip'])
bt = IconButton(QIcon(resource.get_path('img/camera.svg')), i18n=self.i18n, action=get_screenshots, background='purple', tooltip=self.i18n['action.screenshots.tooltip'])
bt.setEnabled(bool(pkg.model.has_screenshots()))
item.addWidget(bt)
@@ -449,8 +449,8 @@ class AppsTable(QTableWidget):
self.show_pkg_settings(pkg)
settings = self.has_any_settings(pkg)
if pkg.model.installed or settings:
bt = IconButton(QIcon(resource.get_path('img/app_settings.svg')), action=handle_click, background='#12ABAB', tooltip=self.i18n['action.settings.tooltip'])
if pkg.model.installed:
bt = IconButton(QIcon(resource.get_path('img/app_settings.svg')), i18n=self.i18n, action=handle_click, background='#12ABAB', tooltip=self.i18n['action.settings.tooltip'])
bt.setEnabled(bool(settings))
item.addWidget(bt)

View File

@@ -241,11 +241,15 @@ class InputFilter(QLineEdit):
class IconButton(QWidget):
def __init__(self, icon: QIcon, action, background: str = None, align: int = Qt.AlignCenter, tooltip: str = None):
def __init__(self, icon: QIcon, action, i18n: I18n, background: str = None, align: int = Qt.AlignCenter, tooltip: str = None):
super(IconButton, self).__init__()
self.bt = QToolButton()
self.bt.setIcon(icon)
self.bt.clicked.connect(action)
self.i18n = i18n
self.default_tootip = tooltip
self.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Minimum)
self.bt.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Minimum)
if background:
style = 'QToolButton { color: white; background: ' + background + '} '
@@ -261,6 +265,14 @@ class IconButton(QWidget):
layout.addWidget(self.bt)
self.setLayout(layout)
def setEnabled(self, enabled):
super(IconButton, self).setEnabled(enabled)
if not enabled:
self.bt.setToolTip(self.i18n['icon_button.tooltip.disabled'])
else:
self.bt.setToolTip(self.default_tootip)
class FormQt(QGroupBox):

View File

@@ -322,6 +322,7 @@ class ManageWindow(QWidget):
self.ref_combo_styles = self.toolbar_bottom.addWidget(self.combo_styles)
bt_settings = IconButton(QIcon(resource.get_path('img/app_settings.svg')),
i18n=self.i18n,
action=self._show_settings_menu,
background='#12ABAB',
tooltip=self.i18n['manage_window.bt_settings.tooltip'])
@@ -837,8 +838,8 @@ class ManageWindow(QWidget):
new_width = max(table_width, toolbar_width, topbar_width)
if self.bt_upgrade.isVisible():
new_width *= 1.03 # this extra size is not because of the toolbar button, but the table upgrade buttons
# if self.bt_upgrade.isVisible():
# new_width *= 1.03 # this extra size is not because of the toolbar button, but the table upgrade buttons
if (self.pkgs and accept_lower_width) or new_width > self.width():
self.resize(new_width, self.height())