src/eric7/EricWidgets/EricStringListEditWidget.py

Mon, 05 Dec 2022 11:37:42 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Mon, 05 Dec 2022 11:37:42 +0100
branch
eric7
changeset 9561
f7bb5739c35a
parent 9534
5ed8445f3b31
child 9586
2750e76fc366
permissions
-rw-r--r--

Added a 'Reset' capability to the EricStringListEditWidget class.

4093
8dd5c3a49b82 Created a generic widget for editing a list of strings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
8dd5c3a49b82 Created a generic widget for editing a list of strings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
8881
54e42bc2437a Updated copyright for 2022.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8358
diff changeset
3 # Copyright (c) 2015 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
4093
8dd5c3a49b82 Created a generic widget for editing a list of strings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
8dd5c3a49b82 Created a generic widget for editing a list of strings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
8dd5c3a49b82 Created a generic widget for editing a list of strings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
8dd5c3a49b82 Created a generic widget for editing a list of strings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing a dialog to edit a list of strings.
8dd5c3a49b82 Created a generic widget for editing a list of strings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
8dd5c3a49b82 Created a generic widget for editing a list of strings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
8318
962bce857696 Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
10 from PyQt6.QtCore import (
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
11 QSortFilterProxyModel,
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
12 QStringListModel,
9473
3f23dbf37dbe Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
13 Qt,
3f23dbf37dbe Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
14 pyqtSignal,
3f23dbf37dbe Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
15 pyqtSlot,
7252
c5e3705073eb Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
16 )
9473
3f23dbf37dbe Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
17 from PyQt6.QtWidgets import QInputDialog, QLineEdit, QWidget
4093
8dd5c3a49b82 Created a generic widget for editing a list of strings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
18
9561
f7bb5739c35a Added a 'Reset' capability to the EricStringListEditWidget class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
19 from eric7.EricWidgets import EricMessageBox
f7bb5739c35a Added a 'Reset' capability to the EricStringListEditWidget class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
20
8356
68ec9c3d4de5 Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8318
diff changeset
21 from .Ui_EricStringListEditWidget import Ui_EricStringListEditWidget
4093
8dd5c3a49b82 Created a generic widget for editing a list of strings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22
8dd5c3a49b82 Created a generic widget for editing a list of strings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23
8356
68ec9c3d4de5 Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8318
diff changeset
24 class EricStringListEditWidget(QWidget, Ui_EricStringListEditWidget):
4093
8dd5c3a49b82 Created a generic widget for editing a list of strings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25 """
8dd5c3a49b82 Created a generic widget for editing a list of strings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26 Class implementing a dialog to edit a list of strings.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
27
5858
7afdb26fcabc Added capability to reset to default to the message filter dialog and the mimetypes configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
28 @signal setToDefault() emitted to request the default list of values
4093
8dd5c3a49b82 Created a generic widget for editing a list of strings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29 """
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
30
5858
7afdb26fcabc Added capability to reset to default to the message filter dialog and the mimetypes configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
31 setToDefault = pyqtSignal()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
32
4093
8dd5c3a49b82 Created a generic widget for editing a list of strings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33 def __init__(self, parent=None):
8dd5c3a49b82 Created a generic widget for editing a list of strings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34 """
8dd5c3a49b82 Created a generic widget for editing a list of strings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
35 Constructor
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
36
9561
f7bb5739c35a Added a 'Reset' capability to the EricStringListEditWidget class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
37 @param parent reference to the parent widget
f7bb5739c35a Added a 'Reset' capability to the EricStringListEditWidget class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
38 @type QWidget
4093
8dd5c3a49b82 Created a generic widget for editing a list of strings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
39 """
8218
7c09585bd960 Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
40 super().__init__(parent)
4093
8dd5c3a49b82 Created a generic widget for editing a list of strings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
41 self.setupUi(self)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
42
4093
8dd5c3a49b82 Created a generic widget for editing a list of strings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
43 self.__model = QStringListModel(self)
8dd5c3a49b82 Created a generic widget for editing a list of strings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
44 self.__proxyModel = QSortFilterProxyModel(self)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
45 self.__proxyModel.setFilterCaseSensitivity(Qt.CaseSensitivity.CaseInsensitive)
4093
8dd5c3a49b82 Created a generic widget for editing a list of strings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
46 self.__proxyModel.setSourceModel(self.__model)
8dd5c3a49b82 Created a generic widget for editing a list of strings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
47 self.stringList.setModel(self.__proxyModel)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
48
5858
7afdb26fcabc Added capability to reset to default to the message filter dialog and the mimetypes configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
49 self.defaultButton.hide()
9561
f7bb5739c35a Added a 'Reset' capability to the EricStringListEditWidget class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
50 self.resetButton.hide()
f7bb5739c35a Added a 'Reset' capability to the EricStringListEditWidget class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
51 self.resetLine.hide()
f7bb5739c35a Added a 'Reset' capability to the EricStringListEditWidget class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
52
f7bb5739c35a Added a 'Reset' capability to the EricStringListEditWidget class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
53 # store some internal state
f7bb5739c35a Added a 'Reset' capability to the EricStringListEditWidget class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
54 self.__defaultVisible = False
f7bb5739c35a Added a 'Reset' capability to the EricStringListEditWidget class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
55 self.__resetVisible = False
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
56
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
57 self.searchEdit.textChanged.connect(self.__proxyModel.setFilterFixedString)
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
58
4093
8dd5c3a49b82 Created a generic widget for editing a list of strings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
59 self.removeButton.clicked.connect(self.stringList.removeSelected)
8dd5c3a49b82 Created a generic widget for editing a list of strings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
60 self.removeAllButton.clicked.connect(self.stringList.removeAll)
5858
7afdb26fcabc Added capability to reset to default to the message filter dialog and the mimetypes configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
61 self.defaultButton.clicked.connect(self.setToDefault)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
62
4093
8dd5c3a49b82 Created a generic widget for editing a list of strings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
63 def setList(self, stringList):
8dd5c3a49b82 Created a generic widget for editing a list of strings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
64 """
8dd5c3a49b82 Created a generic widget for editing a list of strings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
65 Public method to set the list of strings to be edited.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
66
9561
f7bb5739c35a Added a 'Reset' capability to the EricStringListEditWidget class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
67 @param stringList list of strings to be edited
f7bb5739c35a Added a 'Reset' capability to the EricStringListEditWidget class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
68 @type list of str
4093
8dd5c3a49b82 Created a generic widget for editing a list of strings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
69 """
9561
f7bb5739c35a Added a 'Reset' capability to the EricStringListEditWidget class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
70 self.__initialList = stringList[:]
4093
8dd5c3a49b82 Created a generic widget for editing a list of strings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
71 self.__model.setStringList(stringList)
8dd5c3a49b82 Created a generic widget for editing a list of strings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
72 self.__model.sort(0)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
73
4093
8dd5c3a49b82 Created a generic widget for editing a list of strings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
74 def getList(self):
8dd5c3a49b82 Created a generic widget for editing a list of strings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
75 """
8dd5c3a49b82 Created a generic widget for editing a list of strings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
76 Public method to get the edited list of strings.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
77
9561
f7bb5739c35a Added a 'Reset' capability to the EricStringListEditWidget class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
78 @return edited list of string
f7bb5739c35a Added a 'Reset' capability to the EricStringListEditWidget class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
79 @rtype list of str
4093
8dd5c3a49b82 Created a generic widget for editing a list of strings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
80 """
8dd5c3a49b82 Created a generic widget for editing a list of strings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
81 return self.__model.stringList()[:]
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
82
9534
5ed8445f3b31 Improved the file type determination (i.e. is it text) and added a configurable option to even load files, whose type cannot be determine as being text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9473
diff changeset
83 def count(self):
5ed8445f3b31 Improved the file type determination (i.e. is it text) and added a configurable option to even load files, whose type cannot be determine as being text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9473
diff changeset
84 """
5ed8445f3b31 Improved the file type determination (i.e. is it text) and added a configurable option to even load files, whose type cannot be determine as being text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9473
diff changeset
85 Public method to get the number of entries of the list.
5ed8445f3b31 Improved the file type determination (i.e. is it text) and added a configurable option to even load files, whose type cannot be determine as being text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9473
diff changeset
86
5ed8445f3b31 Improved the file type determination (i.e. is it text) and added a configurable option to even load files, whose type cannot be determine as being text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9473
diff changeset
87 @return number of list entries
5ed8445f3b31 Improved the file type determination (i.e. is it text) and added a configurable option to even load files, whose type cannot be determine as being text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9473
diff changeset
88 @rtype int
5ed8445f3b31 Improved the file type determination (i.e. is it text) and added a configurable option to even load files, whose type cannot be determine as being text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9473
diff changeset
89 """
5ed8445f3b31 Improved the file type determination (i.e. is it text) and added a configurable option to even load files, whose type cannot be determine as being text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9473
diff changeset
90 return self.__model.rowCount()
5ed8445f3b31 Improved the file type determination (i.e. is it text) and added a configurable option to even load files, whose type cannot be determine as being text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9473
diff changeset
91
5ed8445f3b31 Improved the file type determination (i.e. is it text) and added a configurable option to even load files, whose type cannot be determine as being text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9473
diff changeset
92 def isListEmpty(self):
5ed8445f3b31 Improved the file type determination (i.e. is it text) and added a configurable option to even load files, whose type cannot be determine as being text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9473
diff changeset
93 """
5ed8445f3b31 Improved the file type determination (i.e. is it text) and added a configurable option to even load files, whose type cannot be determine as being text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9473
diff changeset
94 Public method to check, if the list is empty.
5ed8445f3b31 Improved the file type determination (i.e. is it text) and added a configurable option to even load files, whose type cannot be determine as being text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9473
diff changeset
95
5ed8445f3b31 Improved the file type determination (i.e. is it text) and added a configurable option to even load files, whose type cannot be determine as being text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9473
diff changeset
96 @return flag indicating an empty list
5ed8445f3b31 Improved the file type determination (i.e. is it text) and added a configurable option to even load files, whose type cannot be determine as being text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9473
diff changeset
97 @rtype bool
5ed8445f3b31 Improved the file type determination (i.e. is it text) and added a configurable option to even load files, whose type cannot be determine as being text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9473
diff changeset
98 """
5ed8445f3b31 Improved the file type determination (i.e. is it text) and added a configurable option to even load files, whose type cannot be determine as being text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9473
diff changeset
99 return self.__model.rowCount() == 0
5ed8445f3b31 Improved the file type determination (i.e. is it text) and added a configurable option to even load files, whose type cannot be determine as being text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9473
diff changeset
100
4093
8dd5c3a49b82 Created a generic widget for editing a list of strings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
101 def setListWhatsThis(self, txt):
8dd5c3a49b82 Created a generic widget for editing a list of strings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
102 """
8dd5c3a49b82 Created a generic widget for editing a list of strings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
103 Public method to set a what's that help text for the string list.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
104
9561
f7bb5739c35a Added a 'Reset' capability to the EricStringListEditWidget class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
105 @param txt help text to be set
f7bb5739c35a Added a 'Reset' capability to the EricStringListEditWidget class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
106 @type str
4093
8dd5c3a49b82 Created a generic widget for editing a list of strings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
107 """
8dd5c3a49b82 Created a generic widget for editing a list of strings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
108 self.stringList.setWhatsThis(txt)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
109
5858
7afdb26fcabc Added capability to reset to default to the message filter dialog and the mimetypes configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
110 def setDefaultVisible(self, visible):
7afdb26fcabc Added capability to reset to default to the message filter dialog and the mimetypes configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
111 """
7afdb26fcabc Added capability to reset to default to the message filter dialog and the mimetypes configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
112 Public method to show or hide the default button.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
113
5858
7afdb26fcabc Added capability to reset to default to the message filter dialog and the mimetypes configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
114 @param visible flag indicating the visibility of the default button
7afdb26fcabc Added capability to reset to default to the message filter dialog and the mimetypes configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
115 @type bool
7afdb26fcabc Added capability to reset to default to the message filter dialog and the mimetypes configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
116 """
7afdb26fcabc Added capability to reset to default to the message filter dialog and the mimetypes configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
117 self.defaultButton.setVisible(visible)
9561
f7bb5739c35a Added a 'Reset' capability to the EricStringListEditWidget class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
118 self.__defaultVisible = visible
f7bb5739c35a Added a 'Reset' capability to the EricStringListEditWidget class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
119 self.resetLine.setVisible(self.__defaultVisible and self.__resetVisible)
f7bb5739c35a Added a 'Reset' capability to the EricStringListEditWidget class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
120
f7bb5739c35a Added a 'Reset' capability to the EricStringListEditWidget class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
121 def setResetVisible(self, visible):
f7bb5739c35a Added a 'Reset' capability to the EricStringListEditWidget class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
122 """
f7bb5739c35a Added a 'Reset' capability to the EricStringListEditWidget class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
123 Public method to show or hide the reset button.
f7bb5739c35a Added a 'Reset' capability to the EricStringListEditWidget class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
124
f7bb5739c35a Added a 'Reset' capability to the EricStringListEditWidget class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
125 @param visible flag indicating the visibility of the reset button
f7bb5739c35a Added a 'Reset' capability to the EricStringListEditWidget class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
126 @type bool
f7bb5739c35a Added a 'Reset' capability to the EricStringListEditWidget class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
127 """
f7bb5739c35a Added a 'Reset' capability to the EricStringListEditWidget class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
128 self.resetButton.setVisible(visible)
f7bb5739c35a Added a 'Reset' capability to the EricStringListEditWidget class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
129 self.__resetVisible = visible
f7bb5739c35a Added a 'Reset' capability to the EricStringListEditWidget class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
130 self.resetLine.setVisible(self.__defaultVisible and self.__resetVisible)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
131
7592
f79dc58bdf62 MicroPython: added a dialog zo ignore unknown serial devices and to manage this list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
132 def setAddVisible(self, visible):
f79dc58bdf62 MicroPython: added a dialog zo ignore unknown serial devices and to manage this list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
133 """
f79dc58bdf62 MicroPython: added a dialog zo ignore unknown serial devices and to manage this list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
134 Public method to show or hide the add button.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
135
7592
f79dc58bdf62 MicroPython: added a dialog zo ignore unknown serial devices and to manage this list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
136 @param visible flag indicating the visibility of the add button
f79dc58bdf62 MicroPython: added a dialog zo ignore unknown serial devices and to manage this list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
137 @type bool
f79dc58bdf62 MicroPython: added a dialog zo ignore unknown serial devices and to manage this list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
138 """
f79dc58bdf62 MicroPython: added a dialog zo ignore unknown serial devices and to manage this list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
139 self.addButton.setVisible(visible)
f79dc58bdf62 MicroPython: added a dialog zo ignore unknown serial devices and to manage this list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
140 self.addLine.setVisible(visible)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
141
4093
8dd5c3a49b82 Created a generic widget for editing a list of strings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
142 @pyqtSlot()
8dd5c3a49b82 Created a generic widget for editing a list of strings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
143 def on_addButton_clicked(self):
8dd5c3a49b82 Created a generic widget for editing a list of strings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
144 """
8dd5c3a49b82 Created a generic widget for editing a list of strings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
145 Private slot to add an entry to the list.
8dd5c3a49b82 Created a generic widget for editing a list of strings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
146 """
8dd5c3a49b82 Created a generic widget for editing a list of strings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
147 entry, ok = QInputDialog.getText(
8dd5c3a49b82 Created a generic widget for editing a list of strings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
148 self,
8dd5c3a49b82 Created a generic widget for editing a list of strings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
149 self.tr("Add Entry"),
8dd5c3a49b82 Created a generic widget for editing a list of strings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
150 self.tr("Enter the entry to add to the list:"),
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
151 QLineEdit.EchoMode.Normal,
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
152 )
4093
8dd5c3a49b82 Created a generic widget for editing a list of strings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
153 if ok and entry != "" and entry not in self.__model.stringList():
8dd5c3a49b82 Created a generic widget for editing a list of strings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
154 self.__model.insertRow(self.__model.rowCount())
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
155 self.__model.setData(self.__model.index(self.__model.rowCount() - 1), entry)
4093
8dd5c3a49b82 Created a generic widget for editing a list of strings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
156 self.__model.sort(0)
9561
f7bb5739c35a Added a 'Reset' capability to the EricStringListEditWidget class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
157
f7bb5739c35a Added a 'Reset' capability to the EricStringListEditWidget class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
158 @pyqtSlot()
f7bb5739c35a Added a 'Reset' capability to the EricStringListEditWidget class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
159 def on_resetButton_clicked(self):
f7bb5739c35a Added a 'Reset' capability to the EricStringListEditWidget class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
160 """
f7bb5739c35a Added a 'Reset' capability to the EricStringListEditWidget class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
161 Public slot to reset the list to its initial value.
f7bb5739c35a Added a 'Reset' capability to the EricStringListEditWidget class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
162 """
f7bb5739c35a Added a 'Reset' capability to the EricStringListEditWidget class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
163 ok = EricMessageBox.yesNo(
f7bb5739c35a Added a 'Reset' capability to the EricStringListEditWidget class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
164 self,
f7bb5739c35a Added a 'Reset' capability to the EricStringListEditWidget class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
165 self.tr("Reset List"),
f7bb5739c35a Added a 'Reset' capability to the EricStringListEditWidget class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
166 self.tr(
f7bb5739c35a Added a 'Reset' capability to the EricStringListEditWidget class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
167 "Do you really want to reset the list to its initial value? All changes"
f7bb5739c35a Added a 'Reset' capability to the EricStringListEditWidget class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
168 " will be lost."
f7bb5739c35a Added a 'Reset' capability to the EricStringListEditWidget class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
169 ),
f7bb5739c35a Added a 'Reset' capability to the EricStringListEditWidget class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
170 )
f7bb5739c35a Added a 'Reset' capability to the EricStringListEditWidget class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
171 if ok:
f7bb5739c35a Added a 'Reset' capability to the EricStringListEditWidget class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
172 self.__model.setStringList(self.__initialList)
f7bb5739c35a Added a 'Reset' capability to the EricStringListEditWidget class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
173 self.__model.sort(0)

eric ide

mercurial