added cancel button to change project widget

This commit is contained in:
Jakub Trllo 2022-04-27 11:33:58 +02:00
parent 67fee85cd9
commit 8913b74b19

View file

@ -54,8 +54,11 @@ class StandaloneOverlayWidget(QtWidgets.QFrame):
)
confirm_btn = QtWidgets.QPushButton("Confirm", content_widget)
cancel_btn = QtWidgets.QPushButton("Cancel", content_widget)
cancel_btn.setVisible(False)
btns_layout = QtWidgets.QHBoxLayout()
btns_layout.addStretch(1)
btns_layout.addWidget(cancel_btn, 0)
btns_layout.addWidget(confirm_btn, 0)
content_layout = QtWidgets.QVBoxLayout(content_widget)
@ -77,15 +80,19 @@ class StandaloneOverlayWidget(QtWidgets.QFrame):
projects_view.doubleClicked.connect(self._on_double_click)
confirm_btn.clicked.connect(self._on_confirm_click)
cancel_btn.clicked.connect(self._on_cancel_click)
self._projects_view = projects_view
self._projects_model = projects_model
self._cancel_btn = cancel_btn
self._confirm_btn = confirm_btn
self._publisher_window = publisher_window
self._project_name = None
def showEvent(self, event):
self._projects_model.refresh()
self._cancel_btn.setVisible(self._project_name is not None)
super(StandaloneOverlayWidget, self).showEvent(event)
def _on_double_click(self):
@ -94,13 +101,18 @@ class StandaloneOverlayWidget(QtWidgets.QFrame):
def _on_confirm_click(self):
self.set_selected_project()
def _on_cancel_click(self):
self._set_project(self._project_name)
def set_selected_project(self):
index = self._projects_view.currentIndex()
project_name = index.data(PROJECT_NAME_ROLE)
if not project_name:
return
if project_name:
self._set_project(project_name)
def _set_project(self, project_name):
self._project_name = project_name
traypublisher.set_project_name(project_name)
self.setVisible(False)
self.project_selected.emit(project_name)