added basic message showing

This commit is contained in:
iLLiCiTiT 2021-05-13 14:25:21 +02:00
parent 64c6414367
commit 6f68b95991
2 changed files with 25 additions and 6 deletions

View file

@ -98,9 +98,12 @@ class HierarchyView(QtWidgets.QTreeView):
"tools_env"
}
def __init__(self, dbcon, source_model, *args, **kwargs):
super(HierarchyView, self).__init__(*args, **kwargs)
def __init__(self, dbcon, source_model, parent):
super(HierarchyView, self).__init__(parent)
# Direct access to model
self._source_model = source_model
# Access to parent because of `show_message` method
self._parent = parent
project_doc_cache = ProjectDocCache(dbcon)
tools_cache = ToolsCache()
@ -276,11 +279,15 @@ class HierarchyView(QtWidgets.QTreeView):
event.accept()
def _copy_items(self, indexes=None):
if indexes is None:
indexes = self.selectedIndexes()
mime_data = self._source_model.copy_mime_data(indexes)
try:
if indexes is None:
indexes = self.selectedIndexes()
mime_data = self._source_model.copy_mime_data(indexes)
QtWidgets.QApplication.clipboard().setMimeData(mime_data)
QtWidgets.QApplication.clipboard().setMimeData(mime_data)
self._show_message("Tasks copied")
except ValueError as exc:
self._show_message(str(exc))
def _paste_items(self):
index = self.currentIndex()
@ -423,6 +430,10 @@ class HierarchyView(QtWidgets.QTreeView):
row, 0, index
))
def _show_message(self, message):
"""Show message to user."""
self._parent.show_message(message)
def _on_context_menu(self, point):
index = self.indexAt(point)
column = index.column()

View file

@ -52,10 +52,12 @@ class Window(QtWidgets.QWidget):
)
buttons_widget = QtWidgets.QWidget(self)
message_label = QtWidgets.QLabel(buttons_widget)
save_btn = QtWidgets.QPushButton("Save", buttons_widget)
buttons_layout = QtWidgets.QHBoxLayout(buttons_widget)
buttons_layout.setContentsMargins(0, 0, 0, 0)
buttons_layout.addWidget(message_label)
buttons_layout.addStretch(1)
buttons_layout.addWidget(save_btn)
@ -74,6 +76,8 @@ class Window(QtWidgets.QWidget):
self.hierarchy_view = hierarchy_view
self.hierarchy_model = hierarchy_model
self.message_label = message_label
self.resize(1200, 600)
self.refresh_projects()
@ -106,3 +110,7 @@ class Window(QtWidgets.QWidget):
def _on_save_click(self):
self.hierarchy_model.save()
def show_message(self, message):
# TODO add nicer message pop
self.message_label.setText(message)