[improvements][fix][ui] displaying wait cursor over some components | not hiding custom actions button when an action finishes

This commit is contained in:
Vinicius Moreira
2020-06-10 17:02:02 -03:00
parent ac21cc5c38
commit d3880e5473
3 changed files with 21 additions and 2 deletions

View File

@@ -10,6 +10,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
- able to update AppImages with continuous releases
- UI
- filters algorithm speed and sorting
- displaying wait cursor over some components
### Fixes
- AppImage
- allowing some apps to be filled with empty category elements
@@ -18,6 +19,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
- handling web page fetch errors
- UI
- displaying empty categories
- minor fixes
## [0.9.5] 2020-06-07
### Features

View File

@@ -158,6 +158,7 @@ class PreparePanel(QWidget, TaskManager):
self.progress_thread.signal_change.connect(self._change_progress)
self.label_top = QLabel()
self.label_top.setCursor(QCursor(Qt.WaitCursor))
self.label_top.setText("{}...".format(self.i18n['prepare_panel.title.start'].capitalize()))
self.label_top.setAlignment(Qt.AlignHCenter)
self.label_top.setStyleSheet("QLabel { font-size: 14px; font-weight: bold; }")
@@ -165,6 +166,7 @@ class PreparePanel(QWidget, TaskManager):
self.layout().addWidget(QLabel())
self.table = QTableWidget()
self.table.setCursor(QCursor(Qt.WaitCursor))
self.table.setStyleSheet("QTableWidget { background-color: transparent; }")
self.table.setFocusPolicy(Qt.NoFocus)
self.table.setShowGrid(False)
@@ -209,12 +211,14 @@ class PreparePanel(QWidget, TaskManager):
self.progress_bar.setMaximumHeight(10 if QApplication.instance().style().objectName().lower() == 'windows' else 4)
self.progress_bar.setTextVisible(False)
self.progress_bar.setVisible(False)
self.progress_bar.setCursor(QCursor(Qt.WaitCursor))
self.ref_progress_bar = self.bt_bar.addWidget(self.progress_bar)
self.bt_bar.addWidget(new_spacer())
self.bt_skip = QPushButton(self.i18n['prepare_panel.bt_skip.label'].capitalize())
self.bt_skip.clicked.connect(self.finish)
self.bt_skip.setEnabled(False)
self.bt_skip.setCursor(QCursor(Qt.WaitCursor))
self.bt_bar.addWidget(self.bt_skip)
self.layout().addWidget(self.bt_bar)
@@ -278,6 +282,7 @@ class PreparePanel(QWidget, TaskManager):
icon_widget.setLayout(QHBoxLayout())
icon_widget.layout().setContentsMargins(10, 0, 10, 0)
bt_icon = QToolButton()
bt_icon.setCursor(QCursor(Qt.WaitCursor))
bt_icon.setEnabled(False)
bt_icon.setToolTip(self.i18n['prepare.bt_icon.no_output'])
bt_icon.setFixedSize(QSize(24, 24))
@@ -310,18 +315,21 @@ class PreparePanel(QWidget, TaskManager):
self.table.setCellWidget(task_row, 0, icon_widget)
lb_status = QLabel(label)
lb_status.setCursor(Qt.WaitCursor)
lb_status.setMinimumWidth(50)
lb_status.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Preferred)
lb_status.setStyleSheet("QLabel { font-weight: bold; }")
self.table.setCellWidget(task_row, 1, lb_status)
lb_sub = QLabel()
lb_status.setCursor(Qt.WaitCursor)
lb_sub.setContentsMargins(10, 0, 10, 0)
lb_sub.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Preferred)
lb_sub.setMinimumWidth(50)
self.table.setCellWidget(task_row, 2, lb_sub)
lb_progress = QLabel('{0:.2f}'.format(0) + '%')
lb_progress.setCursor(Qt.WaitCursor)
lb_progress.setContentsMargins(10, 0, 10, 0)
lb_progress.setStyleSheet("QLabel { font-weight: bold; }")
lb_progress.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Preferred)

View File

@@ -256,10 +256,13 @@ class ManageWindow(QWidget):
self.layout.addWidget(self.toolbar)
self.table_container = QWidget()
self.table_container.setLayout(QVBoxLayout())
self.table_apps = AppsTable(self, self.icon_cache, download_icons=bool(self.config['download']['icons']))
self.table_apps.change_headers_policy()
self.table_container.layout().addWidget(self.table_apps)
self.layout.addWidget(self.table_apps)
self.layout.addWidget(self.table_container)
toolbar_console = QToolBar()
@@ -287,6 +290,7 @@ class ManageWindow(QWidget):
self.toolbar_substatus = QToolBar()
self.toolbar_substatus.addWidget(new_spacer())
self.label_substatus = QLabel()
self.label_substatus.setCursor(QCursor(Qt.WaitCursor))
self.toolbar_substatus.addWidget(self.label_substatus)
self.toolbar_substatus.addWidget(new_spacer())
self.layout.addWidget(self.toolbar_substatus)
@@ -329,6 +333,7 @@ class ManageWindow(QWidget):
self.toolbar_bottom.addWidget(new_spacer())
self.progress_bar = QProgressBar()
self.progress_bar.setCursor(QCursor(Qt.WaitCursor))
self.progress_bar.setStyleSheet(styles.PROGRESS_BAR)
self.progress_bar.setMaximumHeight(10 if QApplication.instance().style().objectName().lower() == 'windows' else 4)
@@ -387,7 +392,6 @@ class ManageWindow(QWidget):
def update_custom_actions(self):
self.custom_actions = self.manager.get_custom_actions()
self.ref_bt_custom_actions.setVisible(bool(self.custom_actions))
def _update_process_progress(self, val: int):
if self.progress_controll_enabled:
@@ -677,6 +681,7 @@ class ManageWindow(QWidget):
self.refresh_packages(pkg_types={res['app'].model.__class__} if len(self.pkgs) > 1 else None)
self.update_custom_actions()
notify_tray()
else:
if self._can_notify_user():
@@ -974,6 +979,7 @@ class ManageWindow(QWidget):
self.textarea_output.appendPlainText(output)
def _begin_action(self, action_label: str, keep_search: bool = False, keep_bt_installed: bool = True, clear_filters: bool = False):
self.table_container.setCursor(QCursor(Qt.WaitCursor))
self.ref_input_name_filter.setVisible(False)
self.ref_combo_filter_type.setVisible(False)
self.ref_combo_categories.setVisible(False)
@@ -985,6 +991,7 @@ class ManageWindow(QWidget):
self.ref_progress_bar.setVisible(True)
self.label_status.setText(action_label + "...")
self.label_status.setCursor(QCursor(Qt.WaitCursor))
self.ref_bt_upgrade.setVisible(False)
self.ref_bt_refresh.setVisible(False)
@@ -1012,6 +1019,7 @@ class ManageWindow(QWidget):
self.combo_filter_type.setEnabled(False)
def finish_action(self, keep_filters: bool = False):
self.table_container.unsetCursor()
self.thread_animate_progress.stop = True
self.thread_animate_progress.wait(msecs=1000)
self.ref_progress_bar.setVisible(False)
@@ -1028,6 +1036,7 @@ class ManageWindow(QWidget):
self.table_apps.setEnabled(True)
self.input_search.setEnabled(True)
self.label_status.setText('')
self.label_status.unsetCursor()
self.label_substatus.setText('')
self.ref_toolbar_search.setVisible(True)
self.ref_toolbar_search.setEnabled(True)