src/eric7/MicroPython/MicroPythonWebreplUrlsConfigDialog.py

Sun, 16 Mar 2025 12:53:12 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sun, 16 Mar 2025 12:53:12 +0100
branch
eric7
changeset 11170
6d6199d668fb
parent 11090
f5f5f5803935
permissions
-rw-r--r--

Added the Adafruit Feather nRF52840 to the list of known NRF52 boards and changed the list of known CircuitPython boards to be more explicit with respect to Adafruit boards (i.e. VID 0x239A).

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