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