From 64cbc21904565f2511ba0e2c604211ecb9a09042 Mon Sep 17 00:00:00 2001 From: Kukuksumusu <stercjak@fit.cvut.cz> Date: Mon, 10 Apr 2017 17:33:31 +0200 Subject: [PATCH] enabled doubleclicks in groups_overview and distribution_setup --- .../distribution_setup_controller.py | 1 + .../controllers/groups_overview_controller.py | 8 ++- Implementace/controllers/member_overview.py | 2 +- Implementace/utils/table.py | 5 ++ Implementace/windows/member_overview.py | 28 +++------- Implementace/windows/qt/groupedit.ui | 2 +- Implementace/windows/qt/memberoverview.ui | 55 ++++++++++++------- 7 files changed, 54 insertions(+), 47 deletions(-) diff --git a/Implementace/controllers/distribution_setup_controller.py b/Implementace/controllers/distribution_setup_controller.py index 10ed143..b5aecac 100644 --- a/Implementace/controllers/distribution_setup_controller.py +++ b/Implementace/controllers/distribution_setup_controller.py @@ -23,6 +23,7 @@ class DistributionSetup(Qt.QWidget, distributionsetup.Ui_Form): self.tableRequirements = RequirementsTable(2, ["edit", "-"]) self.placeTable.insertWidget(1, self.tableRequirements) self.tableRequirements.btnClicked.connect(self.onTableRequirementsBtnClicked) + self.tableRequirements.itemDoubleClicked.connect(self.editRequirement) self.group = group # set up header diff --git a/Implementace/controllers/groups_overview_controller.py b/Implementace/controllers/groups_overview_controller.py index f67983b..30439f8 100644 --- a/Implementace/controllers/groups_overview_controller.py +++ b/Implementace/controllers/groups_overview_controller.py @@ -24,12 +24,14 @@ class GroupsOverview(QWidget, groupsoverview.Ui_Form): self.groups_table = GroupsTable(num_of_buttons=1, button_titles=("edit",), data=Global.db.getGroups()) self.layoutTables.addWidget(self.groups_table) self.groups_table.btnClicked.connect(self.editGroup) + self.groups_table.itemDoubleClicked.connect(self.editGroup) self.groups_table.elementSelected.connect(self.showMembers) # add members table - self.members_table = MembersTable(num_of_buttons=1, button_titles=("penis",)) + self.members_table = MembersTable(num_of_buttons=1, button_titles=("view",)) self.layoutTables.addWidget(self.members_table) - self.members_table.btnClicked.connect(self.editMember) + self.members_table.btnClicked.connect(self.viewMember) + self.members_table.itemDoubleClicked.connect(self.viewMember) self.members_table.table.setAcceptDrops(True) @@ -48,5 +50,5 @@ class GroupsOverview(QWidget, groupsoverview.Ui_Form): self.main_window.goToGroupEdit(group) @pyqtSlot(Member) - def editMember(self, person): + def viewMember(self, person): self.main_window.goToMemberOverview(person) diff --git a/Implementace/controllers/member_overview.py b/Implementace/controllers/member_overview.py index 581eefe..fde54df 100644 --- a/Implementace/controllers/member_overview.py +++ b/Implementace/controllers/member_overview.py @@ -18,4 +18,4 @@ class MemberOverview(QWidget, member_overview.Ui_Form): self.lblGroup.setText(self.member.group_name) self.tableCount = HistoryCountTable(data=member.history_count, parent=self) - self.tab2_layout.addWidget(self.tableCount) + self.layoutHistory.insertWidget(1, self.tableCount) diff --git a/Implementace/utils/table.py b/Implementace/utils/table.py index e639cfe..28d59c9 100644 --- a/Implementace/utils/table.py +++ b/Implementace/utils/table.py @@ -9,6 +9,7 @@ class ElemTable(QWidget, table.Ui_Form): btnClicked = pyqtSignal(object, int) elementSelected = pyqtSignal(object) + itemDoubleClicked = pyqtSignal(object) def __init__(self, source_model, num_of_buttons, button_titles, parent): super(ElemTable, self).__init__(parent) @@ -33,6 +34,7 @@ class ElemTable(QWidget, table.Ui_Form): header_view.resizeSection(i+self._data_columns, self._BUTTON_WIDTH) self.table.clicked.connect(self.onElementSelected) self.table.activated.connect(self.onElementSelected) + self.table.doubleClicked.connect(self.onDoubleClicked) self.table.sortByColumn(0, Qt.AscendingOrder) @@ -45,6 +47,9 @@ class ElemTable(QWidget, table.Ui_Form): button.setObjectName(str(item.id_) + "_" + str(btn_nr)) self.table.setIndexWidget(self.model.index(i, btn_nr+self._data_columns), button) + def onDoubleClicked(self, index): + self.itemDoubleClicked.emit(self.model.data(index, Qt.UserRole)) + def onBtnClicked(self): elem_id, btn_id = str.split(self.sender().objectName(), '_') elem = self.source_model.getElementById(elem_id) diff --git a/Implementace/windows/member_overview.py b/Implementace/windows/member_overview.py index c35d55c..6df8c8d 100644 --- a/Implementace/windows/member_overview.py +++ b/Implementace/windows/member_overview.py @@ -55,28 +55,16 @@ class Ui_Form(object): self.lblGroup.setAlignment(QtCore.Qt.AlignCenter) self.lblGroup.setObjectName("lblGroup") self.verticalLayout.addWidget(self.lblGroup) - self.tabWidget = QtWidgets.QTabWidget(Form) - self.tabWidget.setObjectName("tabWidget") - self.tab = QtWidgets.QWidget() - self.tab.setObjectName("tab") - self.horizontalLayout = QtWidgets.QHBoxLayout(self.tab) - self.horizontalLayout.setContentsMargins(0, 0, 0, 0) - self.horizontalLayout.setObjectName("horizontalLayout") - self.treeView = QtWidgets.QTreeView(self.tab) - self.treeView.setObjectName("treeView") - self.horizontalLayout.addWidget(self.treeView) - self.tabWidget.addTab(self.tab, "") - self.tab2 = QtWidgets.QWidget() - self.tab2.setObjectName("tab2") - self.tab2_layout = QtWidgets.QHBoxLayout(self.tab2) - self.tab2_layout.setContentsMargins(0, 0, 0, 0) - self.tab2_layout.setObjectName("tab2_layout") - self.tabWidget.addTab(self.tab2, "") - self.verticalLayout.addWidget(self.tabWidget) + self.layoutHistory = QtWidgets.QHBoxLayout() + self.layoutHistory.setObjectName("layoutHistory") + spacerItem3 = QtWidgets.QSpacerItem(80, 20, QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Minimum) + self.layoutHistory.addItem(spacerItem3) + spacerItem4 = QtWidgets.QSpacerItem(80, 20, QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Minimum) + self.layoutHistory.addItem(spacerItem4) + self.verticalLayout.addLayout(self.layoutHistory) self.verticalLayout_2.addLayout(self.verticalLayout) self.retranslateUi(Form) - self.tabWidget.setCurrentIndex(1) QtCore.QMetaObject.connectSlotsByName(Form) def retranslateUi(self, Form): @@ -86,6 +74,4 @@ class Ui_Form(object): self.lblSurname.setText(_translate("Form", "Surname")) self.btnEdit.setText(_translate("Form", "edit")) self.lblGroup.setText(_translate("Form", "Group")) - self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), _translate("Form", "Tab 1")) - self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab2), _translate("Form", "Tab 2")) diff --git a/Implementace/windows/qt/groupedit.ui b/Implementace/windows/qt/groupedit.ui index 30a91dc..a2976ea 100644 --- a/Implementace/windows/qt/groupedit.ui +++ b/Implementace/windows/qt/groupedit.ui @@ -207,7 +207,7 @@ </font> </property> <property name="currentIndex"> - <number>0</number> + <number>1</number> </property> <widget class="QWidget" name="tabMembers"> <property name="font"> diff --git a/Implementace/windows/qt/memberoverview.ui b/Implementace/windows/qt/memberoverview.ui index ebf3580..aca98fa 100644 --- a/Implementace/windows/qt/memberoverview.ui +++ b/Implementace/windows/qt/memberoverview.ui @@ -126,27 +126,40 @@ </widget> </item> <item> - <widget class="QTabWidget" name="tabWidget"> - <property name="currentIndex"> - <number>1</number> - </property> - <widget class="QWidget" name="tab"> - <attribute name="title"> - <string>Tab 1</string> - </attribute> - <layout class="QHBoxLayout" name="horizontalLayout"> - <item> - <widget class="QTreeView" name="treeView"/> - </item> - </layout> - </widget> - <widget class="QWidget" name="tab2"> - <attribute name="title"> - <string>Tab 2</string> - </attribute> - <layout class="QHBoxLayout" name="tab2_layout"/> - </widget> - </widget> + <layout class="QHBoxLayout" name="layoutHistory"> + <item> + <spacer name="horizontalSpacer_4"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeType"> + <enum>QSizePolicy::Maximum</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>80</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + <item> + <spacer name="horizontalSpacer_5"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeType"> + <enum>QSizePolicy::Maximum</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>80</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + </layout> </item> </layout> </item> -- GitLab