Hallo
murxer hat mich auf ein Problem im ConfigListScreen aufmerksam gemacht, wo es zum GS kommt, wenn man im ConfigListScreen bei einer Nicht-Text-Config die TXT-Taste drückt.
(das passiert in jedem Setup-Screen, also auch im DP-Settings-Screen "Anpassen" für die allgemeinen e2-settings)
Traceback (most recent call last):
File "/usr/lib/enigma2/python/enigma.py", line 15838, in __call__
return ret(*args, **kwargs)
File "/usr/lib/enigma2/python/Components/ActionMap.py", line 72, in action
res = act()
File "/usr/lib/enigma2/python/Components/ConfigList.py", line 229, in KeyText
helpwin = self._getHelpWindow()
File "/usr/lib/enigma2/python/Components/ConfigList.py", line 244, in _getHelpWindow
helpwin = self["config"].getCurrent()[1].help_window
-------
AttributeError: 'ConfigSelection' object has no attribute 'help_window'
Alles anzeigen
Der Fehler hat sich wohl hiermit eingeschlichen:
git.opendreambox.org Git - enigma2.git/blobdiff - usr/lib/enigma2/python/Components/ConfigList.py
Das Problem könnte man vielleicht so korrigieren:
def handleInputHelpers(self):
configElement = self["config"].getCurrent() and self["config"].getCurrent()[1]
if configElement and (isinstance(configElement, ConfigText) or isinstance(configElement, ConfigPassword)):
self["VirtualKB"].setEnabled(True)
if "VKeyIcon" in self:
self["VKeyIcon"].boolean = True
if "HelpWindow" in self and configElement.help_window and configElement.help_window.instance:
helpwindowpos = self["HelpWindow"].getPosition()
from enigma import ePoint
configElement.help_window.instance.move(ePoint(helpwindowpos[0],helpwindowpos[1]))
else:
self["VirtualKB"].setEnabled(False)
if "VKeyIcon" in self:
self["VKeyIcon"].boolean = False
Alles anzeigen
Dann ist mir beim Testen noch ein weiteres Problem aufgefallen.
Wenn man bei ConfigNumber (was ja auf ConfigText aufbaut) die TXT-Taste drückt, kommt dieser GS, weil der int-Wert aus ConfigNumber in das Textfeld des KeyboardScreens gesetzt werden soll, wo ein String erwartet wird.
(z.B. in den e2-Settings bei den Vor-/Nachlaufzeiten für Aufnahmen)
File "/usr/lib/enigma2/python/Components/VariableText.py", line 24, in postWidgetCreate
instance.setText(self.message or "")
-------
TypeError: in method 'eLabel_setText', argument 2 of type 'std::string const &'
Hab daher auch noch bei der def KeyText() in der letzten Zeile beim text-Parameter ein str() für den config-Value reingenommen:
def KeyText(self):
helpwin = self._getHelpWindow()
if helpwin:
helpwin.hide()
from Screens.VirtualKeyBoard import VirtualKeyBoard
self.session.openWithCallback(self.VirtualKeyBoardCallback, VirtualKeyBoard, title = self["config"].getCurrent()[0], text = str(self["config"].getCurrent()[1].getValue()))
Lt. Code müsste es OE2.5 und OE.2.6 betreffen