Tue, 05 Oct 2021 19:47:03 +0200
Added a double click instant selection to the Eric List Selection Dialog.
5244
54a0f215a6f0
Added a dialog to select from a list and extended the plug-in archive build process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
54a0f215a6f0
Added a dialog to select from a list and extended the plug-in archive build process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2 | |
7923
91e843545d9a
Updated copyright for 2021.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7780
diff
changeset
|
3 | # Copyright (c) 2016 - 2021 Detlev Offenbach <detlev@die-offenbachs.de> |
5244
54a0f215a6f0
Added a dialog to select from a list and extended the plug-in archive build process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
4 | # |
54a0f215a6f0
Added a dialog to select from a list and extended the plug-in archive build process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | |
54a0f215a6f0
Added a dialog to select from a list and extended the plug-in archive build process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
6 | """ |
54a0f215a6f0
Added a dialog to select from a list and extended the plug-in archive build process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
7 | Module implementing a dialog to select from a list of strings. |
54a0f215a6f0
Added a dialog to select from a list and extended the plug-in archive build process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
8 | """ |
54a0f215a6f0
Added a dialog to select from a list and extended the plug-in archive build process.
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 pyqtSlot, Qt |
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
|
11 | from PyQt6.QtWidgets import ( |
7252
c5e3705073eb
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
12 | QDialog, QDialogButtonBox, QAbstractItemView, QListWidgetItem |
c5e3705073eb
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
13 | ) |
5244
54a0f215a6f0
Added a dialog to select from a list and extended the plug-in archive build process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
14 | |
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
|
15 | from .Ui_EricListSelectionDialog import Ui_EricListSelectionDialog |
5244
54a0f215a6f0
Added a dialog to select from a list and extended the plug-in archive build process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
16 | |
54a0f215a6f0
Added a dialog to select from a list and extended the plug-in archive build process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
17 | |
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
|
18 | class EricListSelectionDialog(QDialog, Ui_EricListSelectionDialog): |
5244
54a0f215a6f0
Added a dialog to select from a list and extended the plug-in archive build process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
19 | """ |
54a0f215a6f0
Added a dialog to select from a list and extended the plug-in archive build process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
20 | Class implementing a dialog to select from a list of strings. |
54a0f215a6f0
Added a dialog to select from a list and extended the plug-in archive build process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
21 | """ |
54a0f215a6f0
Added a dialog to select from a list and extended the plug-in archive build process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
22 | def __init__(self, entries, |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8038
diff
changeset
|
23 | selectionMode=QAbstractItemView.SelectionMode |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8038
diff
changeset
|
24 | .ExtendedSelection, |
8670
12e7fbf2445a
Added a double click instant selection to the Eric List Selection Dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
25 | title="", message="", checkBoxSelection=False, |
12e7fbf2445a
Added a double click instant selection to the Eric List Selection Dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
26 | doubleClickOk=False, parent=None): |
5244
54a0f215a6f0
Added a dialog to select from a list and extended the plug-in archive build process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
27 | """ |
54a0f215a6f0
Added a dialog to select from a list and extended the plug-in archive build process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
28 | Constructor |
54a0f215a6f0
Added a dialog to select from a list and extended the plug-in archive build process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
29 | |
54a0f215a6f0
Added a dialog to select from a list and extended the plug-in archive build process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
30 | @param entries list of entries to select from |
54a0f215a6f0
Added a dialog to select from a list and extended the plug-in archive build process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
31 | @type list of str |
54a0f215a6f0
Added a dialog to select from a list and extended the plug-in archive build process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
32 | @param selectionMode selection mode for the list |
54a0f215a6f0
Added a dialog to select from a list and extended the plug-in archive build process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
33 | @type QAbstractItemView.SelectionMode |
8038
73ec029d4107
MicroPython: improved the support for "BBC micro:bit" and "Calliope mini".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
34 | @param title title of the dialog |
5244
54a0f215a6f0
Added a dialog to select from a list and extended the plug-in archive build process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
35 | @type str |
54a0f215a6f0
Added a dialog to select from a list and extended the plug-in archive build process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
36 | @param message message to be show in the dialog |
54a0f215a6f0
Added a dialog to select from a list and extended the plug-in archive build process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
37 | @type str |
6437
3dd851d1edf8
E5ListSelectionDialog: added a selection mode for items to be selected via a checkbox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
38 | @param checkBoxSelection flag indicating to select items via their |
3dd851d1edf8
E5ListSelectionDialog: added a selection mode for items to be selected via a checkbox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
39 | checkbox |
3dd851d1edf8
E5ListSelectionDialog: added a selection mode for items to be selected via a checkbox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
40 | @type bool |
8670
12e7fbf2445a
Added a double click instant selection to the Eric List Selection Dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
41 | @param doubleClickOk flag indicating to accept the dialog upon a |
12e7fbf2445a
Added a double click instant selection to the Eric List Selection Dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
42 | double click of an item (single selection only) |
12e7fbf2445a
Added a double click instant selection to the Eric List Selection Dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
43 | @type bool |
5244
54a0f215a6f0
Added a dialog to select from a list and extended the plug-in archive build process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
44 | @param parent reference to the parent widget |
54a0f215a6f0
Added a dialog to select from a list and extended the plug-in archive build process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
45 | @type QWidget |
54a0f215a6f0
Added a dialog to select from a list and extended the plug-in archive build process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
46 | """ |
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
|
47 | super().__init__(parent) |
5244
54a0f215a6f0
Added a dialog to select from a list and extended the plug-in archive build process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
48 | self.setupUi(self) |
54a0f215a6f0
Added a dialog to select from a list and extended the plug-in archive build process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
49 | |
54a0f215a6f0
Added a dialog to select from a list and extended the plug-in archive build process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
50 | if title: |
54a0f215a6f0
Added a dialog to select from a list and extended the plug-in archive build process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
51 | self.setWindowTitle(title) |
54a0f215a6f0
Added a dialog to select from a list and extended the plug-in archive build process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
52 | if message: |
54a0f215a6f0
Added a dialog to select from a list and extended the plug-in archive build process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
53 | self.messageLabel.setText(message) |
54a0f215a6f0
Added a dialog to select from a list and extended the plug-in archive build process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
54 | |
6437
3dd851d1edf8
E5ListSelectionDialog: added a selection mode for items to be selected via a checkbox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
55 | self.__checkCount = 0 |
3dd851d1edf8
E5ListSelectionDialog: added a selection mode for items to be selected via a checkbox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
56 | self.__isCheckBoxSelection = checkBoxSelection |
3dd851d1edf8
E5ListSelectionDialog: added a selection mode for items to be selected via a checkbox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
57 | if self.__isCheckBoxSelection: |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8038
diff
changeset
|
58 | self.selectionList.setSelectionMode( |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8038
diff
changeset
|
59 | QAbstractItemView.SelectionMode.NoSelection) |
6437
3dd851d1edf8
E5ListSelectionDialog: added a selection mode for items to be selected via a checkbox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
60 | for entry in entries: |
3dd851d1edf8
E5ListSelectionDialog: added a selection mode for items to be selected via a checkbox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
61 | itm = QListWidgetItem(entry) |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8038
diff
changeset
|
62 | itm.setFlags(Qt.ItemFlag.ItemIsUserCheckable | |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8038
diff
changeset
|
63 | Qt.ItemFlag.ItemIsEnabled) |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8038
diff
changeset
|
64 | itm.setCheckState(Qt.CheckState.Unchecked) |
6437
3dd851d1edf8
E5ListSelectionDialog: added a selection mode for items to be selected via a checkbox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
65 | self.selectionList.addItem(itm) |
3dd851d1edf8
E5ListSelectionDialog: added a selection mode for items to be selected via a checkbox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
66 | else: |
3dd851d1edf8
E5ListSelectionDialog: added a selection mode for items to be selected via a checkbox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
67 | self.selectionList.setSelectionMode(selectionMode) |
3dd851d1edf8
E5ListSelectionDialog: added a selection mode for items to be selected via a checkbox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
68 | self.selectionList.addItems(entries) |
5244
54a0f215a6f0
Added a dialog to select from a list and extended the plug-in archive build process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
69 | |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8038
diff
changeset
|
70 | self.buttonBox.button( |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8038
diff
changeset
|
71 | QDialogButtonBox.StandardButton.Ok).setEnabled(False) |
5244
54a0f215a6f0
Added a dialog to select from a list and extended the plug-in archive build process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
72 | |
54a0f215a6f0
Added a dialog to select from a list and extended the plug-in archive build process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
73 | @pyqtSlot() |
54a0f215a6f0
Added a dialog to select from a list and extended the plug-in archive build process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
74 | def on_selectionList_itemSelectionChanged(self): |
54a0f215a6f0
Added a dialog to select from a list and extended the plug-in archive build process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
75 | """ |
54a0f215a6f0
Added a dialog to select from a list and extended the plug-in archive build process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
76 | Private slot handling a change of the selection. |
54a0f215a6f0
Added a dialog to select from a list and extended the plug-in archive build process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
77 | """ |
6437
3dd851d1edf8
E5ListSelectionDialog: added a selection mode for items to be selected via a checkbox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
78 | if not self.__isCheckBoxSelection: |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8038
diff
changeset
|
79 | self.buttonBox.button( |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8038
diff
changeset
|
80 | QDialogButtonBox.StandardButton.Ok).setEnabled( |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8038
diff
changeset
|
81 | len(self.selectionList.selectedItems()) > 0) |
6437
3dd851d1edf8
E5ListSelectionDialog: added a selection mode for items to be selected via a checkbox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
82 | |
3dd851d1edf8
E5ListSelectionDialog: added a selection mode for items to be selected via a checkbox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
83 | def on_selectionList_itemChanged(self, itm): |
3dd851d1edf8
E5ListSelectionDialog: added a selection mode for items to be selected via a checkbox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
84 | """ |
3dd851d1edf8
E5ListSelectionDialog: added a selection mode for items to be selected via a checkbox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
85 | Private slot handling a change of an item. |
3dd851d1edf8
E5ListSelectionDialog: added a selection mode for items to be selected via a checkbox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
86 | |
3dd851d1edf8
E5ListSelectionDialog: added a selection mode for items to be selected via a checkbox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
87 | @param itm reference to the changed item |
3dd851d1edf8
E5ListSelectionDialog: added a selection mode for items to be selected via a checkbox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
88 | @type QListWidgetItem |
3dd851d1edf8
E5ListSelectionDialog: added a selection mode for items to be selected via a checkbox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
89 | """ |
3dd851d1edf8
E5ListSelectionDialog: added a selection mode for items to be selected via a checkbox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
90 | if self.__isCheckBoxSelection: |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8038
diff
changeset
|
91 | if itm.checkState() == Qt.CheckState.Checked: |
6437
3dd851d1edf8
E5ListSelectionDialog: added a selection mode for items to be selected via a checkbox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
92 | self.__checkCount += 1 |
3dd851d1edf8
E5ListSelectionDialog: added a selection mode for items to be selected via a checkbox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
93 | else: |
3dd851d1edf8
E5ListSelectionDialog: added a selection mode for items to be selected via a checkbox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
94 | self.__checkCount -= 1 |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8038
diff
changeset
|
95 | self.buttonBox.button( |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8038
diff
changeset
|
96 | QDialogButtonBox.StandardButton.Ok).setEnabled( |
6437
3dd851d1edf8
E5ListSelectionDialog: added a selection mode for items to be selected via a checkbox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
97 | self.__checkCount > 0) |
5244
54a0f215a6f0
Added a dialog to select from a list and extended the plug-in archive build process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
98 | |
8670
12e7fbf2445a
Added a double click instant selection to the Eric List Selection Dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
99 | @pyqtSlot(QListWidgetItem) |
12e7fbf2445a
Added a double click instant selection to the Eric List Selection Dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
100 | def on_selectionList_itemDoubleClicked(self, item): |
12e7fbf2445a
Added a double click instant selection to the Eric List Selection Dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
101 | """ |
12e7fbf2445a
Added a double click instant selection to the Eric List Selection Dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
102 | Private slot handling double clicking an item. |
12e7fbf2445a
Added a double click instant selection to the Eric List Selection Dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
103 | |
12e7fbf2445a
Added a double click instant selection to the Eric List Selection Dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
104 | @param item double clicked item |
12e7fbf2445a
Added a double click instant selection to the Eric List Selection Dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
105 | @type QListWidgetItem |
12e7fbf2445a
Added a double click instant selection to the Eric List Selection Dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
106 | """ |
12e7fbf2445a
Added a double click instant selection to the Eric List Selection Dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
107 | if ( |
12e7fbf2445a
Added a double click instant selection to the Eric List Selection Dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
108 | not self.__isCheckBoxSelection and |
12e7fbf2445a
Added a double click instant selection to the Eric List Selection Dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
109 | self.selectionList.selectionMode() == |
12e7fbf2445a
Added a double click instant selection to the Eric List Selection Dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
110 | QAbstractItemView.SelectionMode.SingleSelection |
12e7fbf2445a
Added a double click instant selection to the Eric List Selection Dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
111 | ): |
12e7fbf2445a
Added a double click instant selection to the Eric List Selection Dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
112 | self.accept() |
12e7fbf2445a
Added a double click instant selection to the Eric List Selection Dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
113 | |
5244
54a0f215a6f0
Added a dialog to select from a list and extended the plug-in archive build process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
114 | def getSelection(self): |
54a0f215a6f0
Added a dialog to select from a list and extended the plug-in archive build process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
115 | """ |
54a0f215a6f0
Added a dialog to select from a list and extended the plug-in archive build process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
116 | Public method to retrieve the selected items. |
54a0f215a6f0
Added a dialog to select from a list and extended the plug-in archive build process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
117 | |
54a0f215a6f0
Added a dialog to select from a list and extended the plug-in archive build process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
118 | @return selected entries |
54a0f215a6f0
Added a dialog to select from a list and extended the plug-in archive build process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
119 | @rtype list of str |
54a0f215a6f0
Added a dialog to select from a list and extended the plug-in archive build process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
120 | """ |
54a0f215a6f0
Added a dialog to select from a list and extended the plug-in archive build process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
121 | entries = [] |
6437
3dd851d1edf8
E5ListSelectionDialog: added a selection mode for items to be selected via a checkbox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
122 | if self.__isCheckBoxSelection: |
3dd851d1edf8
E5ListSelectionDialog: added a selection mode for items to be selected via a checkbox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
123 | for row in range(self.selectionList.count()): |
3dd851d1edf8
E5ListSelectionDialog: added a selection mode for items to be selected via a checkbox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
124 | item = self.selectionList.item(row) |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8038
diff
changeset
|
125 | if item.checkState() == Qt.CheckState.Checked: |
6437
3dd851d1edf8
E5ListSelectionDialog: added a selection mode for items to be selected via a checkbox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
126 | entries.append(item.text()) |
3dd851d1edf8
E5ListSelectionDialog: added a selection mode for items to be selected via a checkbox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
127 | else: |
3dd851d1edf8
E5ListSelectionDialog: added a selection mode for items to be selected via a checkbox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
128 | for item in self.selectionList.selectedItems(): |
3dd851d1edf8
E5ListSelectionDialog: added a selection mode for items to be selected via a checkbox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
129 | entries.append(item.text()) |
5244
54a0f215a6f0
Added a dialog to select from a list and extended the plug-in archive build process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
130 | return entries |