From d10fc7d4d29c8202f0f80f3d96b4ff6b95c43cfe Mon Sep 17 00:00:00 2001 From: Olivier Keshavjee Date: Tue, 9 Feb 2016 16:47:17 +0100 Subject: [PATCH] Improves cheat-sheet usability --- manuskript/ui/cheatSheet.py | 15 +++++++++--- manuskript/ui/cheatSheet_ui.py | 24 ++++++++++++------ manuskript/ui/cheatSheet_ui.ui | 45 +++++++++++++++++++++++++--------- 3 files changed, 62 insertions(+), 22 deletions(-) diff --git a/manuskript/ui/cheatSheet.py b/manuskript/ui/cheatSheet.py index 08d10ac..fc445ab 100644 --- a/manuskript/ui/cheatSheet.py +++ b/manuskript/ui/cheatSheet.py @@ -28,10 +28,12 @@ class cheatSheet(QWidget, Ui_cheatSheet): self.listDelegate = listCompleterDelegate(self) self.list.setItemDelegate(self.listDelegate) self.list.itemActivated.connect(self.showInfos) - self.list.hide() + self.hideList() self.list.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff) self.view.linkActivated.connect(self.openLink) self.view.linkHovered.connect(self.linkHovered) + self.btnShowList.toggled.connect(self.list.setVisible) + self.line.hide() self.outlineModel = None self.persoModel = None @@ -64,10 +66,14 @@ class cheatSheet(QWidget, Ui_cheatSheet): def textChanged(self, text): if not text: - self.list.hide() + self.hideList() else: self.list.show() + def hideList(self): + if not self.btnShowList.isChecked(): + self.list.hide() + def populate(self): if self.persoModel: d = [] @@ -125,7 +131,8 @@ class cheatSheet(QWidget, Ui_cheatSheet): def updateListFromData(self): self.list.clear() for cat in self.data: - filtered = [i for i in self.data[cat] if self.txtFilter.text().lower() in i[0].lower()] + filtered = [i for i in self.data[cat] if self.txtFilter.text().lower() in i[0].lower() or + self.txtFilter.text().lower() in cat[0].lower()] if filtered: self.addCategory(cat[0]) for item in filtered: @@ -137,7 +144,7 @@ class cheatSheet(QWidget, Ui_cheatSheet): self.list.setCurrentRow(1) def showInfos(self): - self.list.hide() + self.hideList() i = self.list.currentItem() ref = i.data(Qt.UserRole) if ref: diff --git a/manuskript/ui/cheatSheet_ui.py b/manuskript/ui/cheatSheet_ui.py index 2be01c4..b3aca8a 100644 --- a/manuskript/ui/cheatSheet_ui.py +++ b/manuskript/ui/cheatSheet_ui.py @@ -2,8 +2,7 @@ # Form implementation generated from reading ui file 'manuskript/ui/cheatSheet_ui.ui' # -# Created: Mon Feb 8 10:48:00 2016 -# by: PyQt5 UI code generator 5.2.1 +# Created by: PyQt5 UI code generator 5.4.2 # # WARNING! All changes made in this file will be lost! @@ -14,19 +13,30 @@ class Ui_cheatSheet(object): cheatSheet.setObjectName("cheatSheet") cheatSheet.resize(400, 344) self.verticalLayout_2 = QtWidgets.QVBoxLayout(cheatSheet) - self.verticalLayout_2.setSpacing(0) self.verticalLayout_2.setContentsMargins(0, 0, 0, 0) + self.verticalLayout_2.setSpacing(0) self.verticalLayout_2.setObjectName("verticalLayout_2") + self.horizontalLayout = QtWidgets.QHBoxLayout() + self.horizontalLayout.setSpacing(0) + self.horizontalLayout.setObjectName("horizontalLayout") self.txtFilter = QtWidgets.QLineEdit(cheatSheet) self.txtFilter.setFrame(False) self.txtFilter.setClearButtonEnabled(True) self.txtFilter.setObjectName("txtFilter") - self.verticalLayout_2.addWidget(self.txtFilter) + self.horizontalLayout.addWidget(self.txtFilter) + self.btnShowList = QtWidgets.QPushButton(cheatSheet) + self.btnShowList.setText("") + icon = QtGui.QIcon.fromTheme("go-bottom") + self.btnShowList.setIcon(icon) + self.btnShowList.setCheckable(True) + self.btnShowList.setFlat(True) + self.btnShowList.setObjectName("btnShowList") + self.horizontalLayout.addWidget(self.btnShowList) + self.verticalLayout_2.addLayout(self.horizontalLayout) self.line = QtWidgets.QFrame(cheatSheet) self.line.setFrameShadow(QtWidgets.QFrame.Plain) self.line.setLineWidth(0) self.line.setFrameShape(QtWidgets.QFrame.HLine) - self.line.setFrameShadow(QtWidgets.QFrame.Sunken) self.line.setObjectName("line") self.verticalLayout_2.addWidget(self.line) self.splitter = QtWidgets.QSplitter(cheatSheet) @@ -46,11 +56,11 @@ class Ui_cheatSheet(object): self.scrollArea.setWidgetResizable(True) self.scrollArea.setObjectName("scrollArea") self.scrollAreaWidgetContents = QtWidgets.QWidget() - self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 400, 68)) + self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 400, 70)) self.scrollAreaWidgetContents.setObjectName("scrollAreaWidgetContents") self.verticalLayout = QtWidgets.QVBoxLayout(self.scrollAreaWidgetContents) - self.verticalLayout.setSpacing(0) self.verticalLayout.setContentsMargins(0, 0, 0, 0) + self.verticalLayout.setSpacing(0) self.verticalLayout.setObjectName("verticalLayout") self.view = QtWidgets.QLabel(self.scrollAreaWidgetContents) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) diff --git a/manuskript/ui/cheatSheet_ui.ui b/manuskript/ui/cheatSheet_ui.ui index f208528..d9331b5 100644 --- a/manuskript/ui/cheatSheet_ui.ui +++ b/manuskript/ui/cheatSheet_ui.ui @@ -30,17 +30,40 @@ 0 - - - false + + + 0 - - Filter (type the name of anything in your project) - - - true - - + + + + false + + + Filter (type the name of anything in your project) + + + true + + + + + + + + + + + + + true + + + true + + + + @@ -87,7 +110,7 @@ 0 0 400 - 68 + 70