src/eric7/MicroPython/MicroPythonWebreplUrlsConfigDialog.py

Sat, 26 Apr 2025 12:34:32 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sat, 26 Apr 2025 12:34:32 +0200
branch
eric7
changeset 11240
c48c615c04a3
parent 11090
f5f5f5803935
permissions
-rw-r--r--

MicroPython
- Added a configuration option to disable the support for the no longer produced Pimoroni Pico Wireless Pack.

10009
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
11090
f5f5f5803935 Updated copyright for 2025.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10439
diff changeset
3 # Copyright (c) 2023 - 2025 Detlev Offenbach <detlev@die-offenbachs.de>
10009
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing a dialog to edit the list of configured WebREPL URLs.
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
10 from PyQt6.QtCore import Qt, pyqtSlot
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
11 from PyQt6.QtWidgets import QDialog, QTreeWidgetItem
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
12
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
13 from eric7.EricWidgets import EricMessageBox
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
14
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
15 from .MicroPythonWebreplUrlAddEditDialog import MicroPythonWebreplUrlAddEditDialog
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
16 from .Ui_MicroPythonWebreplUrlsConfigDialog import Ui_MicroPythonWebreplUrlsConfigDialog
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
18
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
19 class MicroPythonWebreplUrlsConfigDialog(
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20 QDialog, Ui_MicroPythonWebreplUrlsConfigDialog
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21 ):
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22 """
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23 Class implementing a dialog to edit the list of configured WebREPL URLs.
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24 """
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26 def __init__(self, webreplDict, parent=None):
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27 """
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28 Constructor
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30 @param webreplDict dictionary containing the configured WebREPL URLs
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31 @type dict
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32 @param parent reference to the parent widget (defaults to None)
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33 @type QWidget (optional)
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34 """
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
35 super().__init__(parent)
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
36 self.setupUi(self)
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
37
10010
8a68a7a7ab88 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10009
diff changeset
38 for name, data in webreplDict.items():
10009
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
39 itm = QTreeWidgetItem(
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
40 self.webreplUrlsList,
10010
8a68a7a7ab88 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10009
diff changeset
41 [name, data["description"], data["url"]],
10009
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
42 )
10010
8a68a7a7ab88 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10009
diff changeset
43 itm.setData(0, Qt.ItemDataRole.UserRole, data["device_type"])
10009
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
44
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
45 self.__sortItems()
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
46 self.__resizeColumns()
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
47 self.__updateActionButtons()
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
48
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
49 self.webreplUrlsList.itemSelectionChanged.connect(self.__updateActionButtons)
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
50
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
51 @pyqtSlot()
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
52 def __sortItems(self):
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
53 """
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
54 Private slot to sort the list by name column (i.e. column 0).
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
55 """
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
56 self.webreplUrlsList.sortItems(0, Qt.SortOrder.AscendingOrder)
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
57
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
58 @pyqtSlot()
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
59 def __resizeColumns(self):
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
60 """
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
61 Private slot to resize the columns to their contents.
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
62 """
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
63 for column in range(self.webreplUrlsList.columnCount()):
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
64 self.webreplUrlsList.resizeColumnToContents(column)
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
65
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
66 @pyqtSlot()
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
67 def __updateActionButtons(self):
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
68 """
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
69 Private slot to change the enabled state of the action buttons.
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
70 """
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
71 selectedItemsCount = len(self.webreplUrlsList.selectedItems())
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
72 self.editButton.setEnabled(selectedItemsCount == 1)
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
73 self.removeButton.setEnabled(selectedItemsCount > 0)
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
74
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
75 self.removeAllButton.setEnabled(self.webreplUrlsList.topLevelItemCount() > 0)
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
76
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
77 def __definedNames(self):
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
78 """
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
79 Private method to get a list of defined connection names.
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
80
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
81 @return list of defined connection names
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
82 @rtype list of str
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
83 """
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
84 return [
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
85 self.webreplUrlsList.topLevelItem(row).text(0)
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
86 for row in range(self.webreplUrlsList.topLevelItemCount())
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
87 ]
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
88
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
89 @pyqtSlot()
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
90 def on_addButton_clicked(self):
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
91 """
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
92 Private slot to add a new WebREPL connection.
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
93 """
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
94 dlg = MicroPythonWebreplUrlAddEditDialog(self.__definedNames(), parent=self)
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
95 if dlg.exec() == QDialog.DialogCode.Accepted:
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
96 name, description, url, deviceType = dlg.getWebreplUrl()
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
97 itm = QTreeWidgetItem(self.webreplUrlsList, [name, description, url])
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
98 itm.setData(0, Qt.ItemDataRole.UserRole, deviceType)
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
99
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
100 self.__sortItems()
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
101 self.__resizeColumns()
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
102 self.__updateActionButtons()
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
103
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
104 @pyqtSlot()
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
105 def on_editButton_clicked(self):
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
106 """
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
107 Private slot to edit the selected WebREPL connection.
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
108 """
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
109 itm = self.webreplUrlsList.selectedItems()[0]
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
110 dlg = MicroPythonWebreplUrlAddEditDialog(
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
111 self.__definedNames(),
10019
e56089d00750 Fixed a few issue in the MicroPython support related to behavior of devices and change caused by MicroPython release 1.20.0 on ESP32 devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10010
diff changeset
112 connectionParams=(
e56089d00750 Fixed a few issue in the MicroPython support related to behavior of devices and change caused by MicroPython release 1.20.0 on ESP32 devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10010
diff changeset
113 itm.text(0),
e56089d00750 Fixed a few issue in the MicroPython support related to behavior of devices and change caused by MicroPython release 1.20.0 on ESP32 devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10010
diff changeset
114 itm.text(1),
e56089d00750 Fixed a few issue in the MicroPython support related to behavior of devices and change caused by MicroPython release 1.20.0 on ESP32 devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10010
diff changeset
115 itm.text(2),
e56089d00750 Fixed a few issue in the MicroPython support related to behavior of devices and change caused by MicroPython release 1.20.0 on ESP32 devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10010
diff changeset
116 itm.data(0, Qt.ItemDataRole.UserRole),
e56089d00750 Fixed a few issue in the MicroPython support related to behavior of devices and change caused by MicroPython release 1.20.0 on ESP32 devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10010
diff changeset
117 ),
10009
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
118 parent=self,
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
119 )
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
120 if dlg.exec() == QDialog.DialogCode.Accepted:
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
121 name, description, url, deviceType = dlg.getWebreplUrl()
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
122 itm.setText(0, name)
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
123 itm.setText(1, description)
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
124 itm.setText(2, url)
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
125 itm.setData(0, Qt.ItemDataRole.UserRole, deviceType)
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
126
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
127 self.__sortItems()
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
128 self.__resizeColumns()
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
129 self.__updateActionButtons()
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
130
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
131 @pyqtSlot()
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
132 def on_removeButton_clicked(self):
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
133 """
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
134 Private slot to remove the selected entries.
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
135 """
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
136 ok = EricMessageBox.yesNo(
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
137 self,
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
138 self.tr("Remove Selected WebREPL URLs"),
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
139 self.tr("""Shall the selected WebREPL URLs really be removed?"""),
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
140 )
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
141 if ok:
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
142 for itm in self.webreplUrlsList.selectedItems():
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
143 self.webreplUrlsList.takeTopLevelItem(
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
144 self.webreplUrlsList.indexOfTopLevelItem(itm)
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
145 )
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
146 del itm
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
147
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
148 @pyqtSlot()
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
149 def on_removeAllButton_clicked(self):
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
150 """
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
151 Private slot to remove all entries.
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
152 """
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
153 ok = EricMessageBox.yesNo(
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
154 self,
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
155 self.tr("Remove All WebREPL URLs"),
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
156 self.tr("""Shall all WebREPL URLs really be removed?"""),
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
157 )
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
158 if ok:
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
159 self.webreplUrlsList.clear()
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
160
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
161 def getWebreplDict(self):
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
162 """
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
163 Public method to retrieve a dictionary containing the configured WebREPL URLs.
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
164
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
165 @return dictionary containing the configured WebREPL URLs
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
166 @rtype dict
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
167 """
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
168 webreplDict = {}
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
169 for row in range(self.webreplUrlsList.topLevelItemCount()):
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
170 itm = self.webreplUrlsList.topLevelItem(row)
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
171 webreplDict[itm.text(0)] = {
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
172 "description": itm.text(1),
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
173 "url": itm.text(2),
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
174 "device_type": itm.data(0, Qt.ItemDataRole.UserRole),
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
175 }
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
176
61e5fe703818 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
177 return webreplDict

eric ide

mercurial