From e21855aec03a8bb3f6182e5ddf40ce97d427bd0b Mon Sep 17 00:00:00 2001 From: Mladen Horvat Date: Mon, 18 Apr 2011 16:28:58 +0200 Subject: NumericalTextInput: Add cz/sk layout (patch from Petr)to NumericalTextInput and change font of NumericalTextInputHelpDialog from console to regular for better utf-8 charset support. refs #750 --- lib/python/Tools/NumericalTextInput.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'lib') diff --git a/lib/python/Tools/NumericalTextInput.py b/lib/python/Tools/NumericalTextInput.py index 63a58ea4..252e174e 100644 --- a/lib/python/Tools/NumericalTextInput.py +++ b/lib/python/Tools/NumericalTextInput.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# -*- coding: UTF-8 -*- from enigma import eTimer from Components.Language import language @@ -63,6 +63,17 @@ class NumericalTextInput: self.mapping.append (u"pqrs7PQRS") # 7 self.mapping.append (u"tuv8TUV") # 8 self.mapping.append (u"wxyz9WXYZ") # 9 + elif self.lang in ('cs_CZ', 'sk_SK'): + self.mapping.append (u"0,?'+\"()@$!=&*") # 0 + self.mapping.append (u" 1.:/-_") # 1 + self.mapping.append (u"abc2áäčABCÁÄČ") # 2 + self.mapping.append (u"def3ďéěDEFĎÉĚ") # 3 + self.mapping.append (u"ghi4íGHIÍ") # 4 + self.mapping.append (u"jkl5ľĺJKLĽĹ") # 5 + self.mapping.append (u"mno6ňóöôMNOŇÓÖÔ") # 6 + self.mapping.append (u"pqrs7řŕšPQRSŘŔŠ") # 7 + self.mapping.append (u"tuv8ťúůüTUVŤÚŮÜ") # 8 + self.mapping.append (u"wxyz9ýžWXYZÝŽ") # 9 else: self.mapping.append (u"0,?!&@=*'+\"()$~") # 0 self.mapping.append (u" 1.:/-_") # 1 @@ -76,7 +87,8 @@ class NumericalTextInput: self.mapping.append (u"wxyz9WXYZ") # 9 def setUseableChars(self, useable): - self.useableChars = useable + self.useableChars = unicode(useable) + def getKey(self, num): cnt=0 -- cgit v1.2.3 From 22d418a23b2792bb89fe6974fe24b01aba126a56 Mon Sep 17 00:00:00 2001 From: Mladen Horvat Date: Mon, 18 Apr 2011 17:08:00 +0200 Subject: VirtualKeyBoard: Add cz/sk layout (patch from Petr)to VirtualKeyBoard. Add possibility to change language layout with yellow button and display the corresponding language icon. Refs #750 --- data/skin_default.xml | 11 ++- lib/python/Screens/VirtualKeyBoard.py | 162 ++++++++++++++++++++++------------ 2 files changed, 113 insertions(+), 60 deletions(-) (limited to 'lib') diff --git a/data/skin_default.xml b/data/skin_default.xml index 75c9dc41..2dee1dbc 100755 --- a/data/skin_default.xml +++ b/data/skin_default.xml @@ -1151,10 +1151,13 @@ self.instance.move(ePoint(orgpos.x() + (orgwidth - newwidth)/2, orgpos.y())) - - - - + + + LanguageCode + + + + diff --git a/lib/python/Screens/VirtualKeyBoard.py b/lib/python/Screens/VirtualKeyBoard.py index 7846e4b8..fc10a882 100755 --- a/lib/python/Screens/VirtualKeyBoard.py +++ b/lib/python/Screens/VirtualKeyBoard.py @@ -1,6 +1,7 @@ -# -*- coding: iso-8859-1 -*- +# -*- coding: UTF-8 -*- from Components.Language import language from Components.ActionMap import ActionMap +from Components.Sources.StaticText import StaticText from Components.Label import Label from Components.Pixmap import Pixmap from Components.MenuList import MenuList @@ -86,52 +87,123 @@ class VirtualKeyBoard(Screen): self.keys_list = [] self.shiftkeys_list = [] self.lang = language.getLanguage() + self.nextLang = None + self.shiftMode = False + self.text = text + self.selectedKey = 0 + + self["country"] = StaticText("") + self["header"] = Label(title) + self["text"] = Label(self.text) + self["list"] = VirtualKeyBoardList([]) + + self["actions"] = ActionMap(["OkCancelActions", "WizardActions", "ColorActions"], + { + "ok": self.okClicked, + "cancel": self.exit, + "left": self.left, + "right": self.right, + "up": self.up, + "down": self.down, + "red": self.backClicked, + "green": self.ok, + "yellow": self.switchLang + }, -2) + self.setLanq() + self.onLayoutFinish.append(self.buildVirtualKeyBoard) + + def switchLang(self): + self.lang = self.nextLang + self.setLanq() + self.buildVirtualKeyBoard() + + def setLanq(self): if self.lang == 'de_DE': self.keys_list = [ [u"EXIT", u"1", u"2", u"3", u"4", u"5", u"6", u"7", u"8", u"9", u"0", u"BACKSPACE"], - [u"q", u"w", u"e", u"r", u"t", u"z", u"u", u"i", u"o", u"p", u"", u"+"], - [u"a", u"s", u"d", u"f", u"g", u"h", u"j", u"k", u"l", u"", u"", u"#"], + [u"q", u"w", u"e", u"r", u"t", u"z", u"u", u"i", u"o", u"p", u"ü", u"+"], + [u"a", u"s", u"d", u"f", u"g", u"h", u"j", u"k", u"l", u"ö", u"ä", u"#"], [u"<", u"y", u"x", u"c", u"v", u"b", u"n", u"m", u",", ".", u"-", u"CLEAR"], - [u"SHIFT", u"SPACE", u"@", u"", u"OK"]] - + [u"SHIFT", u"SPACE", u"@", u"ß", u"OK"]] self.shiftkeys_list = [ - [u"EXIT", u"!", u'"', u"", u"$", u"%", u"&", u"/", u"(", u")", u"=", u"BACKSPACE"], - [u"Q", u"W", u"E", u"R", u"T", u"Z", u"U", u"I", u"O", u"P", u"", u"*"], - [u"A", u"S", u"D", u"F", u"G", u"H", u"J", u"K", u"L", u"", u"", u"'"], + [u"EXIT", u"!", u'"', u"§", u"$", u"%", u"&", u"/", u"(", u")", u"=", u"BACKSPACE"], + [u"Q", u"W", u"E", u"R", u"T", u"Z", u"U", u"I", u"O", u"P", u"Ü", u"*"], + [u"A", u"S", u"D", u"F", u"G", u"H", u"J", u"K", u"L", u"Ö", u"Ä", u"'"], [u">", u"Y", u"X", u"C", u"V", u"B", u"N", u"M", u";", u":", u"_", u"CLEAR"], [u"SHIFT", u"SPACE", u"?", u"\\", u"OK"]] - + self.nextLang = 'es_ES' elif self.lang == 'es_ES': - #still missing keys (u"") + #still missing keys (u"ùÙ") self.keys_list = [ [u"EXIT", u"1", u"2", u"3", u"4", u"5", u"6", u"7", u"8", u"9", u"0", u"BACKSPACE"], - [u"q", u"w", u"e", u"r", u"t", u"z", u"u", u"i", u"o", u"p", u"", u"+"], - [u"a", u"s", u"d", u"f", u"g", u"h", u"j", u"k", u"l", u"", u"", u"#"], + [u"q", u"w", u"e", u"r", u"t", u"z", u"u", u"i", u"o", u"p", u"ú", u"+"], + [u"a", u"s", u"d", u"f", u"g", u"h", u"j", u"k", u"l", u"ó", u"á", u"#"], [u"<", u"y", u"x", u"c", u"v", u"b", u"n", u"m", u",", ".", u"-", u"CLEAR"], - [u"SHIFT", u"SPACE", u"@", u"", u"", u"", u"", u"", u"", u"", u"", u"OK"]] - + [u"SHIFT", u"SPACE", u"@", u"Ł", u"ŕ", u"é", u"č", u"í", u"ě", u"ń", u"ň", u"OK"]] self.shiftkeys_list = [ - [u"EXIT", u"!", u'"', u"", u"$", u"%", u"&", u"/", u"(", u")", u"=", u"BACKSPACE"], - [u"Q", u"W", u"E", u"R", u"T", u"Z", u"U", u"I", u"O", u"P", u"", u"*"], - [u"A", u"S", u"D", u"F", u"G", u"H", u"J", u"K", u"L", u"", u"", u"'"], + [u"EXIT", u"!", u'"', u"§", u"$", u"%", u"&", u"/", u"(", u")", u"=", u"BACKSPACE"], + [u"Q", u"W", u"E", u"R", u"T", u"Z", u"U", u"I", u"O", u"P", u"Ú", u"*"], + [u"A", u"S", u"D", u"F", u"G", u"H", u"J", u"K", u"L", u"Ó", u"Á", u"'"], [u">", u"Y", u"X", u"C", u"V", u"B", u"N", u"M", u";", u":", u"_", u"CLEAR"], - [u"SHIFT", u"SPACE", u"?", u"\\", u"", u"", u"", u"", u"", u"", u"", u"OK"]] - - elif self.lang in ('sv_SE', 'fi_FI'): + [u"SHIFT", u"SPACE", u"?", u"\\", u"Ŕ", u"É", u"Č", u"Í", u"Ě", u"Ń", u"Ň", u"OK"]] + self.nextLang = 'fi_FI' + elif self.lang == 'fi_FI': self.keys_list = [ [u"EXIT", u"1", u"2", u"3", u"4", u"5", u"6", u"7", u"8", u"9", u"0", u"BACKSPACE"], - [u"q", u"w", u"e", u"r", u"t", u"z", u"u", u"i", u"o", u"p", u"", u"+"], - [u"a", u"s", u"d", u"f", u"g", u"h", u"j", u"k", u"l", u"", u"", u"#"], + [u"q", u"w", u"e", u"r", u"t", u"z", u"u", u"i", u"o", u"p", u"é", u"+"], + [u"a", u"s", u"d", u"f", u"g", u"h", u"j", u"k", u"l", u"ö", u"ä", u"#"], [u"<", u"y", u"x", u"c", u"v", u"b", u"n", u"m", u",", ".", u"-", u"CLEAR"], - [u"SHIFT", u"SPACE", u"@", u"", u"", u"OK"]] - + [u"SHIFT", u"SPACE", u"@", u"ß", u"ĺ", u"OK"]] self.shiftkeys_list = [ - [u"EXIT", u"!", u'"', u"", u"$", u"%", u"&", u"/", u"(", u")", u"=", u"BACKSPACE"], - [u"Q", u"W", u"E", u"R", u"T", u"Z", u"U", u"I", u"O", u"P", u"", u"*"], - [u"A", u"S", u"D", u"F", u"G", u"H", u"J", u"K", u"L", u"", u"", u"'"], + [u"EXIT", u"!", u'"', u"§", u"$", u"%", u"&", u"/", u"(", u")", u"=", u"BACKSPACE"], + [u"Q", u"W", u"E", u"R", u"T", u"Z", u"U", u"I", u"O", u"P", u"É", u"*"], + [u"A", u"S", u"D", u"F", u"G", u"H", u"J", u"K", u"L", u"Ö", u"Ä", u"'"], [u">", u"Y", u"X", u"C", u"V", u"B", u"N", u"M", u";", u":", u"_", u"CLEAR"], - - [u"SHIFT", u"SPACE", u"?", u"\\", u"", u"OK"]] + [u"SHIFT", u"SPACE", u"?", u"\\", u"Ĺ", u"OK"]] + self.nextLang = 'sv_SE' + elif self.lang == 'sv_SE': + self.keys_list = [ + [u"EXIT", u"1", u"2", u"3", u"4", u"5", u"6", u"7", u"8", u"9", u"0", u"BACKSPACE"], + [u"q", u"w", u"e", u"r", u"t", u"z", u"u", u"i", u"o", u"p", u"é", u"+"], + [u"a", u"s", u"d", u"f", u"g", u"h", u"j", u"k", u"l", u"ö", u"ä", u"#"], + [u"<", u"y", u"x", u"c", u"v", u"b", u"n", u"m", u",", ".", u"-", u"CLEAR"], + [u"SHIFT", u"SPACE", u"@", u"ß", u"ĺ", u"OK"]] + self.shiftkeys_list = [ + [u"EXIT", u"!", u'"', u"§", u"$", u"%", u"&", u"/", u"(", u")", u"=", u"BACKSPACE"], + [u"Q", u"W", u"E", u"R", u"T", u"Z", u"U", u"I", u"O", u"P", u"É", u"*"], + [u"A", u"S", u"D", u"F", u"G", u"H", u"J", u"K", u"L", u"Ö", u"Ä", u"'"], + [u">", u"Y", u"X", u"C", u"V", u"B", u"N", u"M", u";", u":", u"_", u"CLEAR"], + [u"SHIFT", u"SPACE", u"?", u"\\", u"Ĺ", u"OK"]] + self.nextLang = 'sk_SK' + elif self.lang =='sk_SK': + self.keys_list = [ + [u"EXIT", u"1", u"2", u"3", u"4", u"5", u"6", u"7", u"8", u"9", u"0", u"BACKSPACE"], + [u"q", u"w", u"e", u"r", u"t", u"z", u"u", u"i", u"o", u"p", u"ú", u"+"], + [u"a", u"s", u"d", u"f", u"g", u"h", u"j", u"k", u"l", u"ľ", u"@", u"#"], + [u"<", u"y", u"x", u"c", u"v", u"b", u"n", u"m", u",", ".", u"-", u"CLEAR"], + [u"SHIFT", u"SPACE", u"š", u"č", u"ž", u"ý", u"á", u"í", u"é", u"OK"]] + self.shiftkeys_list = [ + [u"EXIT", u"!", u'"', u"§", u"$", u"%", u"&", u"/", u"(", u")", u"=", u"BACKSPACE"], + [u"Q", u"W", u"E", u"R", u"T", u"Z", u"U", u"I", u"O", u"P", u"ť", u"*"], + [u"A", u"S", u"D", u"F", u"G", u"H", u"J", u"K", u"L", u"ň", u"ď", u"'"], + [u"Á", u"É", u"Ď", u"Í", u"Ý", u"Ó", u"Ú", u"Ž", u"Š", u"Č", u"Ť", u"Ň"], + [u">", u"Y", u"X", u"C", u"V", u"B", u"N", u"M", u";", u":", u"_", u"CLEAR"], + [u"SHIFT", u"SPACE", u"?", u"\\", u"ä", u"ö", u"ü", u"ô", u"ŕ", u"ĺ", u"OK"]] + self.nextLang = 'cs_CZ' + elif self.lang == 'cs_CZ': + self.keys_list = [ + [u"EXIT", u"1", u"2", u"3", u"4", u"5", u"6", u"7", u"8", u"9", u"0", u"BACKSPACE"], + [u"q", u"w", u"e", u"r", u"t", u"z", u"u", u"i", u"o", u"p", u"ú", u"+"], + [u"a", u"s", u"d", u"f", u"g", u"h", u"j", u"k", u"l", u"ů", u"@", u"#"], + [u"<", u"y", u"x", u"c", u"v", u"b", u"n", u"m", u",", ".", u"-", u"CLEAR"], + [u"SHIFT", u"SPACE", u"ě", u"š", u"č", u"ř", u"ž", u"ý", u"á", u"í", u"é", u"OK"]] + self.shiftkeys_list = [ + [u"EXIT", u"!", u'"', u"§", u"$", u"%", u"&", u"/", u"(", u")", u"=", u"BACKSPACE"], + [u"Q", u"W", u"E", u"R", u"T", u"Z", u"U", u"I", u"O", u"P", u"ť", u"*"], + [u"A", u"S", u"D", u"F", u"G", u"H", u"J", u"K", u"L", u"ň", u"ď", u"'"], + [u">", u"Y", u"X", u"C", u"V", u"B", u"N", u"M", u";", u":", u"_", u"CLEAR"], + [u"SHIFT", u"SPACE", u"?", u"\\", u"Č", u"Ř", u"Š", u"Ž", u"Ú", u"Á", u"É", u"OK"]] + self.nextLang = 'en_EN' else: self.keys_list = [ [u"EXIT", u"1", u"2", u"3", u"4", u"5", u"6", u"7", u"8", u"9", u"0", u"BACKSPACE"], @@ -139,36 +211,15 @@ class VirtualKeyBoard(Screen): [u"a", u"s", u"d", u"f", u"g", u"h", u"j", u"k", u"l", u"#", u"\\"], [u"<", u"y", u"x", u"c", u"v", u"b", u"n", u"m", u",", ".", u"-", u"CLEAR"], [u"SHIFT", u"SPACE", u"OK"]] - self.shiftkeys_list = [ - [u"EXIT", u"!", u'"', u"", u"$", u"%", u"&", u"/", u"(", u")", u"=", u"BACKSPACE"], + [u"EXIT", u"!", u'"', u"§", u"$", u"%", u"&", u"/", u"(", u")", u"=", u"BACKSPACE"], [u"Q", u"W", u"E", u"R", u"T", u"Z", u"U", u"I", u"O", u"P", u"*"], [u"A", u"S", u"D", u"F", u"G", u"H", u"J", u"K", u"L", u"'", u"?"], [u">", u"Y", u"X", u"C", u"V", u"B", u"N", u"M", u";", u":", u"_", u"CLEAR"], [u"SHIFT", u"SPACE", u"OK"]] - - self.shiftMode = False - self.text = text - self.selectedKey = 0 - - self["header"] = Label(title) - self["text"] = Label(self.text) - self["list"] = VirtualKeyBoardList([]) - - self["actions"] = ActionMap(["OkCancelActions", "WizardActions", "ColorActions"], - { - "ok": self.okClicked, - "cancel": self.exit, - "left": self.left, - "right": self.right, - "up": self.up, - "down": self.down, - "red": self.backClicked, - "green": self.ok - }, -2) - - self.onLayoutFinish.append(self.buildVirtualKeyBoard) - + self.lang = 'en_EN' + self.nextLang = 'de_DE' + self["country"].setText(self.lang) self.max_key=47+len(self.keys_list[4]) def buildVirtualKeyBoard(self, selectedKey=0): @@ -192,7 +243,6 @@ class VirtualKeyBoard(Screen): selectedKey -= 12 self["list"].setList(list) - def backClicked(self): self.text = self["text"].getText()[:-1] @@ -219,7 +269,7 @@ class VirtualKeyBoard(Screen): if text is None: return - text = text.encode("utf-8") + text = text.encode("UTF-8") if text == "EXIT": self.close(None) -- cgit v1.2.3 From ff51af1d6d5547b8e8be08bd5660598e02a56eb6 Mon Sep 17 00:00:00 2001 From: Mladen Horvat Date: Mon, 18 Apr 2011 19:39:59 +0200 Subject: Components/Converter: add ValueToPixmap converter to convert a given path or language code to a pixmap pointer e.g. used by the pixmap renderer. refs #750 --- lib/python/Components/Converter/Makefile.am | 2 +- lib/python/Components/Converter/ValueToPixmap.py | 40 ++++++++++++++++++++++++ 2 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 lib/python/Components/Converter/ValueToPixmap.py (limited to 'lib') diff --git a/lib/python/Components/Converter/Makefile.am b/lib/python/Components/Converter/Makefile.am index 3b6fd3e8..b73f6d5a 100644 --- a/lib/python/Components/Converter/Makefile.am +++ b/lib/python/Components/Converter/Makefile.am @@ -6,4 +6,4 @@ install_PYTHON = \ ConditionalShowHide.py ServicePosition.py ValueRange.py RdsInfo.py Streaming.py \ StaticMultiList.py ServiceTime.py MovieInfo.py MenuEntryCompare.py StringListSelection.py \ ValueBitTest.py TunerInfo.py ConfigEntryTest.py TemplatedMultiContent.py ProgressToText.py \ - Combine.py SensorToText.py + Combine.py SensorToText.py ValueToPixmap.py diff --git a/lib/python/Components/Converter/ValueToPixmap.py b/lib/python/Components/Converter/ValueToPixmap.py new file mode 100644 index 00000000..2ab695ad --- /dev/null +++ b/lib/python/Components/Converter/ValueToPixmap.py @@ -0,0 +1,40 @@ +from Components.Converter.Converter import Converter +from Components.Element import cached, ElementError +from Tools.Directories import fileExists, SCOPE_SKIN_IMAGE, SCOPE_CURRENT_SKIN, resolveFilename +from Tools.LoadPixmap import LoadPixmap + + +class ValueToPixmap(Converter, object): + LANGUAGE_CODE = 0 + PATH = 1 + + def __init__(self, type): + Converter.__init__(self, type) + if type == "LanguageCode": + self.type = self.LANGUAGE_CODE + elif type == "Path": + self.type = self.PATH + else: + raise ElementError("'%s' is not for ValueToPixmap converter" % type) + + @cached + def getPixmap(self): + if self.source: + val = self.source.text + if val in (None, ""): + return None + if self.type == self.PATH: + return LoadPixmap(val) + if self.type == self.LANGUAGE_CODE: + png = LoadPixmap(resolveFilename(SCOPE_CURRENT_SKIN, "countries/" + val[3:].lower() + ".png")) + if png == None: + png = LoadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, "countries/missing.png")) + return png + return None + + pixmap = property(getPixmap) + + def changed(self, what): + if what[0] != self.CHANGED_SPECIFIC or what[1] == self.type: + Converter.changed(self, what) + -- cgit v1.2.3 From d3c621480a77115a11fea85742ca85ae163c0d4b Mon Sep 17 00:00:00 2001 From: Mladen Horvat Date: Tue, 19 Apr 2011 11:54:22 +0200 Subject: VirtualKeyBoard.py: add modified patch from Homey to allow keyboard inputs. refs #750 --- lib/python/Screens/VirtualKeyBoard.py | 39 +++++++++++++++++++++++++++++++---- 1 file changed, 35 insertions(+), 4 deletions(-) (limited to 'lib') diff --git a/lib/python/Screens/VirtualKeyBoard.py b/lib/python/Screens/VirtualKeyBoard.py index fc10a882..ebc347c6 100755 --- a/lib/python/Screens/VirtualKeyBoard.py +++ b/lib/python/Screens/VirtualKeyBoard.py @@ -1,4 +1,6 @@ # -*- coding: UTF-8 -*- +from enigma import eListboxPythonMultiContent, gFont, RT_HALIGN_CENTER, RT_VALIGN_CENTER, getPrevAsciiCode +from Screen import Screen from Components.Language import language from Components.ActionMap import ActionMap from Components.Sources.StaticText import StaticText @@ -6,8 +8,6 @@ from Components.Label import Label from Components.Pixmap import Pixmap from Components.MenuList import MenuList from Components.MultiContent import MultiContentEntryText, MultiContentEntryPixmapAlphaTest -from enigma import eListboxPythonMultiContent, gFont, RT_HALIGN_CENTER, RT_VALIGN_CENTER -from Screen import Screen from Tools.Directories import resolveFilename, SCOPE_CURRENT_SKIN from Tools.LoadPixmap import LoadPixmap @@ -97,8 +97,9 @@ class VirtualKeyBoard(Screen): self["text"] = Label(self.text) self["list"] = VirtualKeyBoardList([]) - self["actions"] = ActionMap(["OkCancelActions", "WizardActions", "ColorActions"], + self["actions"] = ActionMap(["OkCancelActions", "WizardActions", "ColorActions", "KeyboardInputActions", "InputBoxActions", "InputAsciiActions"], { + "gotAsciiCode": self.keyGotAscii, "ok": self.okClicked, "cancel": self.exit, "left": self.left, @@ -107,9 +108,12 @@ class VirtualKeyBoard(Screen): "down": self.down, "red": self.backClicked, "green": self.ok, - "yellow": self.switchLang + "yellow": self.switchLang, + "deleteBackward": self.backClicked, + "back": self.exit }, -2) self.setLanq() + self.onExecBegin.append(self.setKeyboardModeAscii) self.onLayoutFinish.append(self.buildVirtualKeyBoard) def switchLang(self): @@ -362,3 +366,30 @@ class VirtualKeyBoard(Screen): def showActiveKey(self): self.buildVirtualKeyBoard(self.selectedKey) + + def inShiftKeyList(self,key): + for KeyList in self.shiftkeys_list: + for char in KeyList: + if char == key: + return True + return False + + def keyGotAscii(self): + char = str(unichr(getPrevAsciiCode()).encode('utf-8')) + if self.inShiftKeyList(char): + self.shiftMode = True + list = self.shiftkeys_list + else: + self.shiftMode = False + list = self.keys_list + + selkey = 0 + for keylist in list: + for key in keylist: + if key == char: + self.selectedKey = selkey + self.okClicked() + self.showActiveKey() + return + else: + selkey += 1 -- cgit v1.2.3 From d9a765120a16c5c1fe8efc5e4ab733e4a30fea4a Mon Sep 17 00:00:00 2001 From: Mladen Horvat Date: Tue, 19 Apr 2011 12:08:09 +0200 Subject: Converter/ValueToPixmap.py, Renderer/Pixmap.py: use cache for LoadPixmap inside ValueToPixmap converter, look for pixmap attribute inside Pixmap renderer and react on changes. refs #750 --- lib/python/Components/Converter/ValueToPixmap.py | 6 +++--- lib/python/Components/Renderer/Pixmap.py | 13 +++++++++++++ 2 files changed, 16 insertions(+), 3 deletions(-) (limited to 'lib') diff --git a/lib/python/Components/Converter/ValueToPixmap.py b/lib/python/Components/Converter/ValueToPixmap.py index 2ab695ad..ed9f7700 100644 --- a/lib/python/Components/Converter/ValueToPixmap.py +++ b/lib/python/Components/Converter/ValueToPixmap.py @@ -24,11 +24,11 @@ class ValueToPixmap(Converter, object): if val in (None, ""): return None if self.type == self.PATH: - return LoadPixmap(val) + return LoadPixmap(cached=True, path=val) if self.type == self.LANGUAGE_CODE: - png = LoadPixmap(resolveFilename(SCOPE_CURRENT_SKIN, "countries/" + val[3:].lower() + ".png")) + png = LoadPixmap(cached=True, path=resolveFilename(SCOPE_CURRENT_SKIN, "countries/" + val[3:].lower() + ".png")) if png == None: - png = LoadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, "countries/missing.png")) + png = LoadPixmap(cached=True, path=resolveFilename(SCOPE_SKIN_IMAGE, "countries/missing.png")) return png return None diff --git a/lib/python/Components/Renderer/Pixmap.py b/lib/python/Components/Renderer/Pixmap.py index d67cd559..7c6b5795 100644 --- a/lib/python/Components/Renderer/Pixmap.py +++ b/lib/python/Components/Renderer/Pixmap.py @@ -3,4 +3,17 @@ from Renderer import Renderer from enigma import ePixmap class Pixmap(Renderer): + def __init__(self): + Renderer.__init__(self) + GUI_WIDGET = ePixmap + + def postWidgetCreate(self, instance): + self.changed((self.CHANGED_DEFAULT,)) + + def changed(self, what): + if what[0] != self.CHANGED_CLEAR: + if self.source and hasattr(self.source, "pixmap"): + if self.instance: + self.instance.setPixmap(self.source.pixmap) + -- cgit v1.2.3 From 1976ce9ce95e9e2ec75958a2c7e89c71d0778048 Mon Sep 17 00:00:00 2001 From: Mladen Horvat Date: Tue, 19 Apr 2011 12:19:19 +0200 Subject: Converter/ValueToPixmap.py: don't use cache with "Path" argument. refs #750 --- lib/python/Components/Converter/ValueToPixmap.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lib') diff --git a/lib/python/Components/Converter/ValueToPixmap.py b/lib/python/Components/Converter/ValueToPixmap.py index ed9f7700..0acd2639 100644 --- a/lib/python/Components/Converter/ValueToPixmap.py +++ b/lib/python/Components/Converter/ValueToPixmap.py @@ -24,7 +24,7 @@ class ValueToPixmap(Converter, object): if val in (None, ""): return None if self.type == self.PATH: - return LoadPixmap(cached=True, path=val) + return LoadPixmap(val) if self.type == self.LANGUAGE_CODE: png = LoadPixmap(cached=True, path=resolveFilename(SCOPE_CURRENT_SKIN, "countries/" + val[3:].lower() + ".png")) if png == None: -- cgit v1.2.3 From 98150ed3e9f2dc503f7068dcaea1d99fe0dbc9ad Mon Sep 17 00:00:00 2001 From: Mladen Horvat Date: Wed, 20 Apr 2011 11:30:53 +0200 Subject: VirtualKeyBoard.py: fix typo (Lanq -> Lang). refs #750 --- lib/python/Screens/VirtualKeyBoard.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'lib') diff --git a/lib/python/Screens/VirtualKeyBoard.py b/lib/python/Screens/VirtualKeyBoard.py index ebc347c6..c0d0c10f 100755 --- a/lib/python/Screens/VirtualKeyBoard.py +++ b/lib/python/Screens/VirtualKeyBoard.py @@ -112,16 +112,16 @@ class VirtualKeyBoard(Screen): "deleteBackward": self.backClicked, "back": self.exit }, -2) - self.setLanq() + self.setLang() self.onExecBegin.append(self.setKeyboardModeAscii) self.onLayoutFinish.append(self.buildVirtualKeyBoard) def switchLang(self): self.lang = self.nextLang - self.setLanq() + self.setLang() self.buildVirtualKeyBoard() - def setLanq(self): + def setLang(self): if self.lang == 'de_DE': self.keys_list = [ [u"EXIT", u"1", u"2", u"3", u"4", u"5", u"6", u"7", u"8", u"9", u"0", u"BACKSPACE"], -- cgit v1.2.3 From 399c119582c5f4e908f118a6057f2a041771b422 Mon Sep 17 00:00:00 2001 From: Mladen Horvat Date: Fri, 10 Jun 2011 09:01:02 +0200 Subject: VirtualKeyBoard.py: fix 'space' recognition with keyboard input. refs #750 --- lib/python/Screens/VirtualKeyBoard.py | 3 +++ 1 file changed, 3 insertions(+) (limited to 'lib') diff --git a/lib/python/Screens/VirtualKeyBoard.py b/lib/python/Screens/VirtualKeyBoard.py index c0d0c10f..a8695439 100755 --- a/lib/python/Screens/VirtualKeyBoard.py +++ b/lib/python/Screens/VirtualKeyBoard.py @@ -383,6 +383,9 @@ class VirtualKeyBoard(Screen): self.shiftMode = False list = self.keys_list + if char == " ": + char = "SPACE" + selkey = 0 for keylist in list: for key in keylist: -- cgit v1.2.3