From 3385f0c39bc89de34abaf65d831b86d425c1b356 Mon Sep 17 00:00:00 2001 From: Stefan Saraev Date: Wed, 7 Aug 2013 17:44:28 +0300 Subject: [PATCH 01/12] service.openelec.settings: update to service.openelec.settings-0.2.1 --- packages/mediacenter/service.openelec.settings/meta | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/mediacenter/service.openelec.settings/meta b/packages/mediacenter/service.openelec.settings/meta index 88172665be..31736e0bb7 100644 --- a/packages/mediacenter/service.openelec.settings/meta +++ b/packages/mediacenter/service.openelec.settings/meta @@ -19,7 +19,7 @@ ################################################################################ PKG_NAME="service.openelec.settings" -PKG_VERSION="0.1.30" +PKG_VERSION="0.2.1" PKG_REV="1" PKG_ARCH="any" PKG_LICENSE="prop." From 58260c71643cf69b445d2164bc9b11870e4b0c7d Mon Sep 17 00:00:00 2001 From: Stefan Saraev Date: Wed, 7 Aug 2013 17:50:21 +0300 Subject: [PATCH 02/12] service.openelec.settings: remove unused patch --- .../service.openelec.settings-fixes-0.1.patch | 2431 ----------------- 1 file changed, 2431 deletions(-) delete mode 100644 packages/mediacenter/service.openelec.settings/patches.upstream/service.openelec.settings-fixes-0.1.patch diff --git a/packages/mediacenter/service.openelec.settings/patches.upstream/service.openelec.settings-fixes-0.1.patch b/packages/mediacenter/service.openelec.settings/patches.upstream/service.openelec.settings-fixes-0.1.patch deleted file mode 100644 index bc4039aaaa..0000000000 --- a/packages/mediacenter/service.openelec.settings/patches.upstream/service.openelec.settings-fixes-0.1.patch +++ /dev/null @@ -1,2431 +0,0 @@ -From 2a119229b70a1826c52482a00cc2dff38571e6f7 Mon Sep 17 00:00:00 2001 -From: lfiebach -Date: Sun, 28 Jul 2013 15:38:33 +0200 -Subject: [PATCH 1/3] Fix Update Notification - ---- - resources/lib/modules/system.py | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -diff --git a/resources/lib/modules/system.py b/resources/lib/modules/system.py -index de474d4..35ebfdf 100755 ---- a/resources/lib/modules/system.py -+++ b/resources/lib/modules/system.py -@@ -354,7 +354,12 @@ def load_values(self): - if not value is None: - self.config['update']['settings']['AutoUpdate']['value' - ] = value -- -+ -+ value = self.oe.read_setting('system', 'UpdateNotify') -+ if not value is None: -+ self.config['update']['settings']['UpdateNotify' -+ ]['value'] = value -+ - # AutoUpdate = manual by environment var. - if 'UPDATE_SUPPORT' in os.environ: - if os.environ['UPDATE_SUPPORT'] == 'false': -@@ -366,11 +371,6 @@ def load_values(self): - - self.config['update']['settings']['CheckUpdate']['not_supported' - ] = [self.arch] -- -- value = self.oe.read_setting('system', 'UpdateNotify') -- if not value is None: -- self.config['update']['settings']['UpdateNotify' -- ]['value'] = value - - # AutoUpdate File and URL - value = self.oe.read_setting('system', 'update_file') --- -1.8.1.6 - - -From cc33f3c6a4e9f81b3a6eba9b8b20de5eb742c90a Mon Sep 17 00:00:00 2001 -From: lfiebach -Date: Mon, 29 Jul 2013 21:26:22 +0200 -Subject: [PATCH 2/3] redesign menu build - ---- - addon.xml | 2 +- - changelog.txt | 4 + - oe.py | 4 +- - resources/lib/modules/about.py | 1 + - resources/lib/modules/bluetooth.py | 7 +- - resources/lib/modules/connman.py | 554 +++++++--------------------- - resources/lib/modules/services.py | 128 ++----- - resources/lib/modules/system.py | 299 +++++++-------- - resources/lib/oeWindows.py | 109 +++++- - resources/skins/Default/720p/mainWindow.xml | 8 +- - 10 files changed, 410 insertions(+), 706 deletions(-) - mode change 100644 => 100755 addon.xml - -diff --git a/addon.xml b/addon.xml -old mode 100644 -new mode 100755 -index f395217..c130660 ---- a/addon.xml -+++ b/addon.xml -@@ -1,7 +1,7 @@ - - - - -diff --git a/changelog.txt b/changelog.txt -index c125464..a83a37d 100755 ---- a/changelog.txt -+++ b/changelog.txt -@@ -1,3 +1,7 @@ -+2013-07-29 v0.1.31 -+ (change) menu loader redesign -+ (fix) kill update thread on exit -+ - 2013-07-23 v0.1.30 - (change) use subprocess.Popen to start LCDd - (fix) stop LCDd on driver change -diff --git a/oe.py b/oe.py -index f2b5b2c..2e9f993 100755 ---- a/oe.py -+++ b/oe.py -@@ -114,8 +114,8 @@ def _(code): - return __addon__.getLocalizedString(code) - - def dbg_log(source, text, level=4): -- if os.environ.get('DEBUG', 'no') == 'no': -- return -+ #if os.environ.get('DEBUG', 'no') == 'no': -+ # return - - xbmc.log('## OpenELEC Addon ## ' + source + ' ## ' + text, level) - xbmc.log(traceback.format_exc()) -diff --git a/resources/lib/modules/about.py b/resources/lib/modules/about.py -index fdfee8a..76020b6 100755 ---- a/resources/lib/modules/about.py -+++ b/resources/lib/modules/about.py -@@ -39,6 +39,7 @@ def __init__(self, oeMain): - - oeMain.dbg_log('about::__init__', 'enter_function', 0) - -+ self.enabled = True - self.oe = oeMain - self.controls = {} - -diff --git a/resources/lib/modules/bluetooth.py b/resources/lib/modules/bluetooth.py -index 74c008a..f74416e 100755 ---- a/resources/lib/modules/bluetooth.py -+++ b/resources/lib/modules/bluetooth.py -@@ -46,6 +46,7 @@ class bluetooth: - 'listTyp': 'btlist', - 'InfoText': 704, - }} -+ - bt_daemon = '/usr/lib/bluetooth/bluetoothd' - bluez_init = '/etc/init.d/54_bluez' - -@@ -54,7 +55,8 @@ def __init__(self, oeMain): - try: - - oeMain.dbg_log('bluetooth::__init__', 'enter_function', 0) -- -+ -+ self.enabled = True - self.discovery_time = 30 # Seconds - self.listItems = {} - self.oe = oeMain -@@ -64,6 +66,9 @@ def __init__(self, oeMain): - self.active = False - self.dbusBluezAdapter = None - -+ if not os.path.exists(self.bt_daemon): -+ self.enabled = False -+ - self.oe.dbg_log('bluetooth::__init__', 'exit_function', 0) - except Exception, e: - -diff --git a/resources/lib/modules/connman.py b/resources/lib/modules/connman.py -index b7517e5..63541b3 100755 ---- a/resources/lib/modules/connman.py -+++ b/resources/lib/modules/connman.py -@@ -58,6 +58,7 @@ def __init__(self, mount_id, oeMain): - 'value': '', - 'type': 'multivalue', - 'values': ['cifs', 'nfs'], -+ 'action': 'set_value' - }, - 'mountpoint': { - 'order': 2, -@@ -66,6 +67,7 @@ def __init__(self, mount_id, oeMain): - 'type': 'text', - 'parent': {'entry': 'type', 'value': ['cifs', - 'nfs']}, -+ 'action': 'set_value' - }, - 'server': { - 'order': 3, -@@ -74,6 +76,7 @@ def __init__(self, mount_id, oeMain): - 'type': 'text', - 'parent': {'entry': 'type', 'value': ['cifs', - 'nfs']}, -+ 'action': 'set_value' - }, - 'share': { - 'order': 4, -@@ -82,6 +85,7 @@ def __init__(self, mount_id, oeMain): - 'type': 'text', - 'parent': {'entry': 'type', 'value': ['cifs', - 'nfs']}, -+ 'action': 'set_value' - }, - 'user': { - 'order': 5, -@@ -90,6 +94,7 @@ def __init__(self, mount_id, oeMain): - 'type': 'text', - 'parent': {'entry': 'type', 'value': ['cifs', - 'nfs']}, -+ 'action': 'set_value' - }, - 'pass': { - 'order': 6, -@@ -98,6 +103,7 @@ def __init__(self, mount_id, oeMain): - 'type': 'text', - 'parent': {'entry': 'type', 'value': ['cifs', - 'nfs']}, -+ 'action': 'set_value' - }, - 'options': { - 'order': 7, -@@ -106,6 +112,7 @@ def __init__(self, mount_id, oeMain): - 'type': 'text', - 'parent': {'entry': 'type', 'value': ['cifs', - 'nfs']}, -+ 'action': 'set_value' - }, - }, - }} -@@ -170,45 +177,9 @@ def menu_loader(self, menuItem): - if self.mount_id != 'new_mount': - self.winOeMount.showButton(2, 32141, 'networkMount', - 'delete_mount') -- category = 'mount' -- for entry in sorted(self.struct[category]['settings'], -- key=lambda x: \ -- self.struct[category]['settings' -- ][x]['order']): -- -- dictProperties = { -- 'value': self.struct[category]['settings' -- ][entry]['value'], -- 'typ': self.struct[category]['settings' -- ][entry]['type'], -- 'entry': entry, -- 'category': category, -- 'action': 'set_value', -- } -- -- if 'values' in self.struct[category]['settings'][entry]: -- dictProperties['values'] = \ -- ','.join(self.struct[category]['settings' -- ][entry]['values']) -- -- if not 'parent' in self.struct[category]['settings' -- ][entry]: -- -- self.winOeMount.addConfigItem(self.oe._(self.struct[category]['settings' -- ][entry]['name']), dictProperties, -- self.oe.listObject['list']) -- else: -- -- if self.struct[category]['settings' -- ][self.struct[category]['settings' -- ][entry]['parent']['entry']]['value'] \ -- in self.struct[category]['settings' -- ][entry]['parent']['value']: -- -- self.winOeMount.addConfigItem(self.oe._(self.struct[category]['settings' -- ][entry]['name']), dictProperties, -- self.oe.listObject['list']) - -+ self.winOeMount.build_menu(self.struct) -+ - self.oe.dbg_log('networkMount::menu_loader', 'exit_function' - , 0) - except Exception, e: -@@ -359,6 +330,8 @@ def delete_mount(self): - xbmc.executebuiltin('Notification(Umount Error, ' - + umount + ')') - else: -+ del self.oe.dictModules['connman'].struct['mounts' -+ ]['settings'][self.mount_id] - self.oe.remove_node(self.mount_id) - - self.oe.dbg_log('save_mount::delete_mount', 'exit_function' -@@ -398,6 +371,7 @@ def __init__(self, servicePath, oeMain): - 'value': '', - 'type': 'bool', - 'dbus': 'Boolean', -+ 'action': 'set_value' - }}, - }, - 'IPv4': { -@@ -412,6 +386,7 @@ def __init__(self, servicePath, oeMain): - 'type': 'multivalue', - 'dbus': 'String', - 'values': ['dhcp', 'manual', 'off'], -+ 'action': 'set_value' - }, - 'Address': { - 'order': 2, -@@ -421,6 +396,7 @@ def __init__(self, servicePath, oeMain): - 'dbus': 'String', - 'parent': {'entry': 'Method', - 'value': ['manual']}, -+ 'action': 'set_value' - }, - 'Netmask': { - 'order': 3, -@@ -430,6 +406,7 @@ def __init__(self, servicePath, oeMain): - 'dbus': 'String', - 'parent': {'entry': 'Method', - 'value': ['manual']}, -+ 'action': 'set_value' - }, - 'Gateway': { - 'order': 4, -@@ -439,6 +416,7 @@ def __init__(self, servicePath, oeMain): - 'dbus': 'String', - 'parent': {'entry': 'Method', - 'value': ['manual']}, -+ 'action': 'set_value' - }, - }, - }, -@@ -455,6 +433,7 @@ def __init__(self, servicePath, oeMain): - 'dbus': 'String', - 'values': ['auto', 'manual', '6to4', 'off' - ], -+ 'action': 'set_value' - }, - 'Address': { - 'order': 2, -@@ -464,6 +443,7 @@ def __init__(self, servicePath, oeMain): - 'dbus': 'String', - 'parent': {'entry': 'Method', - 'value': ['manual']}, -+ 'action': 'set_value' - }, - 'PrefixLength': { - 'order': 4, -@@ -473,6 +453,7 @@ def __init__(self, servicePath, oeMain): - 'dbus': 'Byte', - 'parent': {'entry': 'Method', - 'value': ['manual']}, -+ 'action': 'set_value' - }, - 'Gateway': { - 'order': 3, -@@ -482,6 +463,7 @@ def __init__(self, servicePath, oeMain): - 'dbus': 'String', - 'parent': {'entry': 'Method', - 'value': ['manual']}, -+ 'action': 'set_value' - }, - 'Privacy': { - 'order': 5, -@@ -493,6 +475,7 @@ def __init__(self, servicePath, oeMain): - 'value': ['manual']}, - 'values': ['disabled', 'enabled', 'prefered' - ], -+ 'action': 'set_value' - }, - }, - }, -@@ -506,18 +489,21 @@ def __init__(self, servicePath, oeMain): - 'value': '', - 'type': 'ip', - 'dbus': 'String', -+ 'action': 'set_value' - }, '1': { - 'order': 2, - 'name': 32121, - 'value': '', - 'type': 'ip', - 'dbus': 'String', -+ 'action': 'set_value' - }, '2': { - 'order': 3, - 'name': 32122, - 'value': '', - 'type': 'ip', - 'dbus': 'String', -+ 'action': 'set_value' - }}, - }, - 'Timeservers': { -@@ -530,18 +516,21 @@ def __init__(self, servicePath, oeMain): - 'value': '', - 'type': 'text', - 'dbus': 'String', -+ 'action': 'set_value' - }, '1': { - 'order': 2, - 'name': 32125, - 'value': '', - 'type': 'text', - 'dbus': 'String', -+ 'action': 'set_value' - }, '2': { - 'order': 3, - 'name': 32126, - 'value': '', - 'type': 'text', - 'dbus': 'String', -+ 'action': 'set_value' - }}, - }, - 'Domains': { -@@ -554,18 +543,21 @@ def __init__(self, servicePath, oeMain): - 'value': '', - 'type': 'text', - 'dbus': 'String', -+ 'action': 'set_value' - }, '1': { - 'order': 2, - 'name': 32129, - 'value': '', - 'type': 'text', - 'dbus': 'String', -+ 'action': 'set_value' - }, '2': { - 'order': 3, - 'name': 32130, - 'value': '', - 'type': 'text', - 'dbus': 'String', -+ 'action': 'set_value' - }}, - }, - } -@@ -646,16 +638,6 @@ def __init__(self, servicePath, oeMain): - for strEntry in sorted(self.struct, key=lambda x: \ - self.struct[x]['order']): - -- if strEntry == 'Provider': -- if 'Type' in self.service_properties: -- if not self.service_properties['Type'] == 'vpn': -- break -- -- if strEntry != 'Provider': -- if 'Type' in self.service_properties: -- if self.service_properties['Type'] == 'vpn': -- continue -- - dictProperties = { - 'modul': 'connmanNetworkConfig', - 'listTyp': self.oe.listObject['list'], -@@ -738,45 +720,9 @@ def menu_loader(self, menuItem): - self.oe.listObject['list'], - ) - -- category = menuItem.getProperty('category') -- for entry in sorted(self.struct[category]['settings'], -- key=lambda x: \ -- self.struct[category]['settings' -- ][x]['order']): -- -- dictProperties = { -- 'value': self.struct[category]['settings' -- ][entry]['value'], -- 'typ': self.struct[category]['settings' -- ][entry]['type'], -- 'entry': entry, -- 'category': category, -- 'action': 'set_value', -- } -- -- if 'values' in self.struct[category]['settings'][entry]: -- dictProperties['values'] = \ -- ','.join(self.struct[category]['settings' -- ][entry]['values']) -- -- if not 'parent' in self.struct[category]['settings' -- ][entry]: -- -- self.winOeCon.addConfigItem(self.oe._(self.struct[category]['settings' -- ][entry]['name']), dictProperties, -- menuItem.getProperty('listTyp')) -- else: -- -- if self.struct[category]['settings' -- ][self.struct[category]['settings' -- ][entry]['parent']['entry']]['value'] \ -- in self.struct[category]['settings' -- ][entry]['parent']['value']: -- -- self.winOeCon.addConfigItem(self.oe._(self.struct[category]['settings' -- ][entry]['name']), dictProperties, -- menuItem.getProperty('listTyp')) -- -+ self.winOeCon.build_menu(self.struct, -+ fltr=[menuItem.getProperty('category')]) -+ - self.oe.dbg_log('connmanService::menu_loader', - 'exit_function', 0) - except Exception, e: -@@ -1012,7 +958,7 @@ def __init__(self, vpn, oeMain): - 'openvpn']}, - }, - 'Domain': { -- 'order': 27, -+ 'order': 7, - 'name': 32134, - 'value': 'vpn', - 'action': 'set_value', -@@ -1037,8 +983,19 @@ def __init__(self, vpn, oeMain): - 'type': 'text', - 'parent': {'entry': 'Type', 'value': ['pptp']}, - }, -+ -+ 'advanced': { -+ 'order': 8, -+ 'name': 'Show Advanced', -+ 'value': '0', -+ 'action': 'set_value', -+ 'type': 'bool', -+ 'parent': {'entry': 'Type', 'value': ['pptp','openvpn']}, -+ }, -+ -+ - 'PPTP.EchoFailure': { -- 'order': 25, -+ 'order': 9, - 'name': 32162, - 'value': '0', - 'action': 'set_value', -@@ -1047,7 +1004,7 @@ def __init__(self, vpn, oeMain): - 'optional': '', - }, - 'PPTP.EchoInterval': { -- 'order': 26, -+ 'order': 9, - 'name': 32163, - 'value': '0', - 'action': 'set_value', -@@ -1056,7 +1013,7 @@ def __init__(self, vpn, oeMain): - 'optional': '', - }, - 'PPTP.RefuseEAP': { -- 'order': 13, -+ 'order': 9, - 'name': 32151, - 'value': '0', - 'action': 'set_value', -@@ -1065,7 +1022,7 @@ def __init__(self, vpn, oeMain): - 'optional': '', - }, - 'PPTP.RefusePAP': { -- 'order': 14, -+ 'order': 9, - 'name': 32152, - 'value': '0', - 'action': 'set_value', -@@ -1074,7 +1031,7 @@ def __init__(self, vpn, oeMain): - 'optional': '', - }, - 'PPTP.RefuseCHAP': { -- 'order': 15, -+ 'order': 9, - 'name': 32153, - 'value': '0', - 'action': 'set_value', -@@ -1083,7 +1040,7 @@ def __init__(self, vpn, oeMain): - 'optional': '', - }, - 'PPTP.RefuseMSCHAP': { -- 'order': 16, -+ 'order': 9, - 'name': 32154, - 'value': '0', - 'action': 'set_value', -@@ -1092,7 +1049,7 @@ def __init__(self, vpn, oeMain): - 'optional': '', - }, - 'PPTP.RefuseMSCHAP2': { -- 'order': 17, -+ 'order': 9, - 'name': 32155, - 'value': '0', - 'action': 'set_value', -@@ -1101,7 +1058,7 @@ def __init__(self, vpn, oeMain): - 'optional': '', - }, - 'PPTP.NoBSDComp': { -- 'order': 28, -+ 'order': 9, - 'name': 32160, - 'value': '0', - 'action': 'set_value', -@@ -1110,7 +1067,7 @@ def __init__(self, vpn, oeMain): - 'optional': '', - }, - 'PPTP.NoDeflate': { -- 'order': 27, -+ 'order': 9, - 'name': 32164, - 'value': '0', - 'action': 'set_value', -@@ -1119,7 +1076,7 @@ def __init__(self, vpn, oeMain): - 'optional': '', - }, - 'PPTP.RequirMPPE': { -- 'order': 20, -+ 'order': 9, - 'name': 32156, - 'value': '0', - 'action': 'set_value', -@@ -1128,7 +1085,7 @@ def __init__(self, vpn, oeMain): - 'optional': '', - }, - 'PPTP.RequirMPPE40': { -- 'order': 21, -+ 'order': 9, - 'name': 32157, - 'value': '0', - 'action': 'set_value', -@@ -1137,7 +1094,7 @@ def __init__(self, vpn, oeMain): - 'optional': '', - }, - 'PPTP.RequirMPPE128': { -- 'order': 22, -+ 'order': 9, - 'name': 32158, - 'value': '0', - 'action': 'set_value', -@@ -1146,7 +1103,7 @@ def __init__(self, vpn, oeMain): - 'optional': '', - }, - 'PPTP.RequirMPPEStateful': { -- 'order': 23, -+ 'order': 9, - 'name': 32159, - 'value': '0', - 'action': 'set_value', -@@ -1155,7 +1112,7 @@ def __init__(self, vpn, oeMain): - 'optional': '', - }, - 'PPTP.NoVJ': { -- 'order': 24, -+ 'order': 9, - 'name': 32161, - 'value': '0', - 'action': 'set_value', -@@ -1164,7 +1121,7 @@ def __init__(self, vpn, oeMain): - 'optional': '', - }, - 'OpenVPN.CACert': { -- 'order': 8, -+ 'order': 5, - 'name': 32137, - 'value': '', - 'action': 'set_value', -@@ -1173,7 +1130,7 @@ def __init__(self, vpn, oeMain): - ]}, - }, - 'OpenVPN.Cert': { -- 'order': 8, -+ 'order': 5, - 'name': 32138, - 'value': '', - 'action': 'set_value', -@@ -1182,7 +1139,7 @@ def __init__(self, vpn, oeMain): - ]}, - }, - 'OpenVPN.Key': { -- 'order': 8, -+ 'order': 5, - 'name': 32139, - 'value': '', - 'action': 'set_value', -@@ -1191,7 +1148,7 @@ def __init__(self, vpn, oeMain): - ]}, - }, - 'OpenVPN.MTU': { -- 'order': 11, -+ 'order': 9, - 'name': 32165, - 'value': '', - 'action': 'set_value', -@@ -1201,7 +1158,7 @@ def __init__(self, vpn, oeMain): - 'optional': '', - }, - 'OpenVPN.NSCertType': { -- 'order': 12, -+ 'order': 9, - 'name': 32166, - 'value': '', - 'action': 'set_value', -@@ -1211,7 +1168,7 @@ def __init__(self, vpn, oeMain): - 'optional': '', - }, - 'OpenVPN.Proto': { -- 'order': 13, -+ 'order': 9, - 'name': 32167, - 'value': '', - 'action': 'set_value', -@@ -1221,7 +1178,7 @@ def __init__(self, vpn, oeMain): - 'optional': '', - }, - 'OpenVPN.Port': { -- 'order': 6, -+ 'order': 9, - 'name': 32168, - 'value': '', - 'action': 'set_value', -@@ -1231,7 +1188,7 @@ def __init__(self, vpn, oeMain): - 'optional': '', - }, - 'OpenVPN.AuthUserPass': { -- 'order': 5, -+ 'order': 9, - 'name': 32169, - 'value': '', - 'action': 'set_value', -@@ -1241,7 +1198,7 @@ def __init__(self, vpn, oeMain): - 'optional': '', - }, - 'OpenVPN.AskPass': { -- 'order': 16, -+ 'order': 9, - 'name': 32170, - 'value': '0', - 'action': 'set_value', -@@ -1251,7 +1208,7 @@ def __init__(self, vpn, oeMain): - 'optional': '', - }, - 'OpenVPN.AuthNoCache': { -- 'order': 17, -+ 'order': 9, - 'name': 32171, - 'value': '0', - 'action': 'set_value', -@@ -1261,7 +1218,7 @@ def __init__(self, vpn, oeMain): - 'optional': '', - }, - 'OpenVPN.TLSRemote': { -- 'order': 18, -+ 'order': 9, - 'name': 32172, - 'value': '0', - 'action': 'set_value', -@@ -1271,7 +1228,7 @@ def __init__(self, vpn, oeMain): - 'optional': '', - }, - 'OpenVPN.TLSAuth': { -- 'order': 19, -+ 'order': 9, - 'name': 32173, - 'value': '0', - 'action': 'set_value', -@@ -1281,7 +1238,7 @@ def __init__(self, vpn, oeMain): - 'optional': '', - }, - 'OpenVPN.TLSAuthDir': { -- 'order': 20, -+ 'order': 9, - 'name': 32174, - 'value': '', - 'action': 'set_value', -@@ -1291,7 +1248,7 @@ def __init__(self, vpn, oeMain): - 'optional': '', - }, - 'OpenVPN.Auth': { -- 'order': 4, -+ 'order': 9, - 'name': 32175, - 'value': '', - 'action': 'set_value', -@@ -1301,7 +1258,7 @@ def __init__(self, vpn, oeMain): - 'optional': '', - }, - 'OpenVPN.CompLZO': { -- 'order': 22, -+ 'order': 9, - 'name': 32176, - 'value': '0', - 'action': 'set_value', -@@ -1311,7 +1268,7 @@ def __init__(self, vpn, oeMain): - 'optional': '', - }, - 'OpenVPN.RemoteCertTls': { -- 'order': 23, -+ 'order': 9, - 'name': 32177, - 'value': '0', - 'action': 'set_value', -@@ -1321,7 +1278,7 @@ def __init__(self, vpn, oeMain): - 'optional': '', - }, - 'OpenVPN.ConfigFile': { -- 'order': 7, -+ 'order': 9, - 'name': 32178, - 'value': '', - 'action': 'set_value', -@@ -1414,108 +1371,9 @@ def menu_loader(self, menuItem): - self.winOeCon.showButton(1, 32141, 'connmanVpnConfig', - 'delete_vpn_config') - -- category = menuItem.getProperty('category') -- for entry in sorted(self.struct[category]['settings'], -- key=lambda x: \ -- self.struct[category]['settings' -- ][x]['order']): -- -- if 'optional' in self.struct[category]['settings' -- ][entry]: -- continue -- -- dictProperties = { -- 'value': self.struct[category]['settings' -- ][entry]['value'], -- 'typ': self.struct[category]['settings' -- ][entry]['type'], -- 'entry': entry, -- 'category': category, -- 'action': 'set_value', -- } -- -- if 'values' in self.struct[category]['settings'][entry]: -- dictProperties['values'] = \ -- ','.join(self.struct[category]['settings' -- ][entry]['values']) -- -- if not 'parent' in self.struct[category]['settings' -- ][entry]: -- -- self.winOeCon.addConfigItem(self.oe._(self.struct[category]['settings' -- ][entry]['name']), dictProperties, -- menuItem.getProperty('listTyp')) -- else: -- -- if self.struct[category]['settings' -- ][self.struct[category]['settings' -- ][entry]['parent']['entry']]['value'] \ -- in self.struct[category]['settings' -- ][entry]['parent']['value']: -- -- self.winOeCon.addConfigItem(self.oe._(self.struct[category]['settings' -- ][entry]['name']), dictProperties, -- menuItem.getProperty('listTyp')) -- -- if self.struct[category]['settings']['Type']['value'] != '': -- -- self.winOeCon.addConfigItem('Advanced', -- {'typ': 'separator'}, -- menuItem.getProperty('listTyp')) -- -- dictProperties = {'value': self.show_advanced_entrys, -- 'typ': 'bool', -- 'action': 'show_advanced'} -- -- self.winOeCon.addConfigItem('Show Advanced', -- dictProperties, menuItem.getProperty('listTyp')) -- -- if self.show_advanced_entrys == '1': -- -- for entry in sorted(self.struct[category]['settings' -- ], key=lambda x: \ -- self.struct[category]['settings'][x]['order' -- ]): -- -- if not 'optional' \ -- in self.struct[category]['settings'][entry]: -- continue -- -- dictProperties = { -- 'value': self.struct[category]['settings' -- ][entry]['value'], -- 'typ': self.struct[category]['settings' -- ][entry]['type'], -- 'entry': entry, -- 'category': category, -- 'action': 'set_value', -- } -- -- if 'values' in self.struct[category]['settings' -- ][entry]: -- dictProperties['values'] = \ -- ','.join(self.struct[category]['settings' -- ][entry]['values']) -- -- if not 'parent' \ -- in self.struct[category]['settings'][entry]: -- -- self.winOeCon.addConfigItem(self.oe._(self.struct[category]['settings' -- ][entry]['name']), dictProperties, -- menuItem.getProperty('listTyp')) -- else: -- -- if self.struct[category]['settings' -- ][self.struct[category]['settings' -- ][entry]['parent']['entry']]['value' -- ] \ -- in self.struct[category]['settings' -- ][entry]['parent']['value']: -- -- self.winOeCon.addConfigItem(self.oe._(self.struct[category]['settings' -- ][entry]['name']), -- dictProperties, -- menuItem.getProperty('listTyp')) -+ self.winOeCon.build_menu(self.struct, -+ fltr=[menuItem.getProperty('category')], -+ optional=self.struct['Provider']['settings']['advanced']['value']) - - self.oe.dbg_log('connmanVpn::menu_loader', 'exit_function', - 0) -@@ -1693,6 +1551,7 @@ def __init__(self, oeMain): - - self.struct = { - '/net/connman/technology/wifi': { -+ 'hidden': 'true', - 'order': 1, - 'name': 32102, - 'dbus': 'Dictionary', -@@ -1742,8 +1601,9 @@ def __init__(self, oeMain): - 'InfoText': 729, - }, - }, -- }, -+ 'order': 0}, - '/net/connman/technology/ethernet': { -+ 'hidden': 'true', - 'order': 2, - 'name': 32103, - 'dbus': 'Dictionary', -@@ -1755,7 +1615,8 @@ def __init__(self, oeMain): - 'type': 'bool', - 'dbus': 'Boolean', - 'InfoText': 730, -- }}, -+ }}, -+ 'order': 1 - }, - 'vpn': { - 'order': 3, -@@ -1763,11 +1624,13 @@ def __init__(self, oeMain): - 'dbus': 'Dictionary', - 'settings': {'add': { - 'order': 1, -+ 'value': '', - 'name': 32322, - 'action': 'add_vpn', - 'type': 'button', - 'InfoText': 731, - }}, -+ 'order': 2 - }, - 'Timeservers': { - 'order': 4, -@@ -1801,16 +1664,18 @@ def __init__(self, oeMain): - 'validate': '^([a-zA-Z0-9](?:[a-zA-Z0-9-\.]*[a-zA-Z0-9]))$', - 'InfoText': 734, - }}, -+ 'order': 2 - }, - 'mounts': {'order': 5, 'name': 32348, - 'settings': {'add': { - 'order': 1, - 'name': 32349, -- 'value': '', -+ 'value': 'new_mount', - 'action': 'edit_mount', - 'type': 'button', - 'InfoText': 735, -- }}}, -+ }}, 'order': 3 -+ }, - 'advanced': {'order': 6, 'name': 32368, - 'settings': {'wait_for_network': { - 'order': 1, -@@ -1828,15 +1693,24 @@ def __init__(self, oeMain): - 'parent': {'entry': 'wait_for_network', - 'value': ['1']}, - 'InfoText': 737, -- }}}, -+ }}, 'order': 4 -+ }, - } - - self.busy = 0 - self.oe = oeMain -+ self.enabled = True -+ self.connman_daemon = "/usr/sbin/connmand" - - self.wait_conf_file = \ - '%s/openelec/network_wait' % self.oe.CONFIG_CACHE - -+ self.vpn_plugins_dir = \ -+ '/usr/lib/connman/plugins-vpn' -+ -+ if not os.path.exists(self.connman_daemon): -+ self.enabled = False -+ - self.oe.dbg_log('connman::__init__', 'exit_function', 0) - self.vpn_conf_dir = '%s/vpn-config/' % self.oe.USER_CONFIG - except Exception, e: -@@ -1882,7 +1756,8 @@ def exit(self): - - self.oe.dbg_log('connman::exit', 'enter_function', 0) - -- self.dbusMonitor.exit() -+ if hasattr(self, 'dbusMonitor'): -+ self.dbusMonitor.exit() - - self.clear_list() - -@@ -1908,7 +1783,10 @@ def load_values(self): - - self.oe.dbg_log('connman::load_values', 'enter_function', 0) - -- -+ # VPN Available -+ if not os.path.exists(self.vpn_plugins_dir): -+ self.struct['vpn']['hidden'] = 'true' -+ - # Network Wait - self.struct['advanced']['settings']['wait_for_network' - ]['value'] = '0' -@@ -2081,197 +1959,47 @@ def menu_loader(self, menuItem=None): - , '/'), 'net.connman.Clock') - self.clock_properties = self.clock.GetProperties() - -- # Wifi and Ethernet -+ self.struct['/net/connman/technology/wifi']['hidden'] = 'true' -+ self.struct['/net/connman/technology/ethernet']['hidden'] = 'true' -+ - for (path, technologie) in self.technologie_properties: -- - if path in self.struct: -- self.oe.winOeMain.addConfigItem(self.oe._(self.struct[path]['name' -- ]), {'typ': 'separator'}, -- menuItem.getProperty('listTyp')) -- -- if path in self.struct: -- for entry in sorted(self.struct[path]['settings'], -- key=lambda x: self.struct[path]['settings' -- ][x]['order']): -- if entry in technologie: -- if not 'changed' \ -- in self.struct[path]['settings'][entry]: -- self.struct[path]['settings' -- ][entry]['value'] = \ -- unicode(technologie[entry]) -- -- dictProperties = { -- 'value': self.struct[path]['settings' -- ][entry]['value'], -- 'typ': self.struct[path]['settings' -- ][entry]['type'], -- 'entry': entry, -- 'category': path, -- 'action': self.struct[path]['settings' -- ][entry]['action'], -- } -- -- if 'InfoText' in self.struct[path]['settings' -- ][entry]: -- dictProperties['InfoText'] = \ -- self.oe._(self.struct[path]['settings' -- ][entry]['InfoText']) -- -- if 'validate' in self.struct[path]['settings' -- ][entry]: -- dictProperties['validate'] = \ -- self.struct[path]['settings' -- ][entry]['validate'] -- -- if 'values' in self.struct[path]['settings' -- ][entry]: -- dictProperties['values'] = \ -- ','.join(self.struct[path]['settings' -- ][entry]['values']) -- -- if not 'parent' in self.struct[path]['settings' -- ][entry]: -- -- self.oe.winOeMain.addConfigItem(self.oe._(self.struct[path]['settings' -- ][entry]['name']), dictProperties, -- menuItem.getProperty('listTyp')) -- else: -- -- if self.struct[path]['settings' -- ][self.struct[path]['settings' -- ][entry]['parent']['entry']]['value' -- ] in self.struct[path]['settings' -- ][entry]['parent']['value']: -- -- self.oe.winOeMain.addConfigItem(self.oe._(self.struct[path]['settings' -- ][entry]['name']), -- dictProperties, -- menuItem.getProperty('listTyp')) -- -- # Virtual Private Network -- self.oe.winOeMain.addConfigItem(self.oe._(self.struct['vpn' -- ]['name']), {'typ': 'separator'}, -- menuItem.getProperty('listTyp')) -- -- self.oe.winOeMain.addConfigItem(self.oe._(self.struct['vpn' -- ]['settings']['add']['name']), {'typ': 'button', -- 'action': self.struct['vpn']['settings']['add' -- ]['action'], 'InfoText': self.oe._(self.struct['vpn' -- ]['settings']['add']['InfoText'])}, -- menuItem.getProperty('listTyp')) -- -- # Timeservers -- self.oe.winOeMain.addConfigItem(self.oe._(self.struct['Timeservers' -- ]['name']), {'typ': 'separator'}, -- menuItem.getProperty('listTyp')) -- -- if 'Timeservers' in self.clock_properties: -- for setting in sorted(self.struct['Timeservers' -- ]['settings']): -- if int(setting) \ -- < len(self.clock_properties['Timeservers']): -- if not 'changed' in self.struct['Timeservers' -- ]['settings'][setting]: -- self.struct['Timeservers']['settings' -- ][setting]['value'] = \ -- self.clock_properties['Timeservers' -- ][int(setting)] -- -- dictProperties = { -- 'value': self.struct['Timeservers']['settings' -- ][unicode(setting)]['value'], -- 'typ': self.struct['Timeservers']['settings' -- ][unicode(setting)]['type'], -- 'entry': unicode(setting), -- 'category': 'Timeservers', -- 'action': self.struct['Timeservers']['settings' -- ][unicode(setting)]['action'], -- } -- -- if 'InfoText' in self.struct['Timeservers' -- ]['settings'][setting]: -- dictProperties['InfoText'] = \ -- self.oe._(self.struct['Timeservers' -- ]['settings'][setting]['InfoText']) -- -- if 'validate' in self.struct['Timeservers' -- ]['settings'][unicode(setting)]: -- dictProperties['validate'] = \ -- self.struct['Timeservers']['settings' -- ][unicode(setting)]['validate'] -- -- self.oe.winOeMain.addConfigItem(self.oe._(self.struct['Timeservers' -- ]['settings'][unicode(setting)]['name']), -- dictProperties, -- menuItem.getProperty('listTyp')) -- -- # Mounts -- self.oe.winOeMain.addConfigItem(self.oe._(self.struct['mounts' -- ]['name']), {'typ': 'separator'}, -- menuItem.getProperty('listTyp')) -- -- self.oe.winOeMain.addConfigItem(self.oe._(self.struct['mounts' -- ]['settings']['add']['name']), { -- 'typ': self.struct['mounts']['settings']['add']['type' -- ], -- 'action': self.struct['mounts']['settings']['add' -- ]['action'], -- 'entry': 'new_mount', -- 'InfoText': self.oe._(self.struct['mounts']['settings' -- ]['add']['InfoText']), -- }, menuItem.getProperty('listTyp')) -- -+ if 'hidden' in self.struct[path]: -+ del self.struct[path]['hidden'] -+ -+ for entry in self.struct[path]['settings']: -+ if entry in technologie: -+ self.struct[path]['settings' -+ ][entry]['value'] = \ -+ unicode(technologie[entry]) -+ -+ for setting in self.struct['Timeservers']['settings']: -+ if 'Timeservers' in self.clock_properties: -+ if int(setting) < len(self.clock_properties['Timeservers']): -+ self.struct['Timeservers']['settings' -+ ][setting]['value'] = \ -+ self.clock_properties['Timeservers' -+ ][int(setting)] -+ else: -+ self.struct['Timeservers']['settings' -+ ][setting]['value'] = '' -+ - mount_dict = self.oe.read_node('mounts') - if 'mounts' in mount_dict: - for mount in mount_dict['mounts']: -- -- dictProperties = { -- 'typ': 'button', -- 'entry': mount, -- 'category': 'mounts', -+ tmp_mount = { -+ 'type': 'button', -+ 'name': mount_dict['mounts'][mount]['mountpoint'], -+ 'value': mount, - 'action': 'edit_mount', -+ 'dynamic': 'true', -+ 'order': 1 - } -- -- self.oe.winOeMain.addConfigItem(mount_dict['mounts' -- ][mount]['mountpoint'], dictProperties, -- menuItem.getProperty('listTyp')) -- -- # Network Wait -- self.oe.winOeMain.addConfigItem(self.oe._(self.struct['advanced' -- ]['name']), {'typ': 'separator'}, -- menuItem.getProperty('listTyp')) -- -- self.oe.winOeMain.addConfigItem(self.oe._(self.struct['advanced' -- ]['settings']['wait_for_network']['name']), { -- 'entry': 'wait_for_network', -- 'category': 'advanced', -- 'typ': self.struct['advanced']['settings' -- ]['wait_for_network']['type'], -- 'action': self.struct['advanced']['settings' -- ]['wait_for_network']['action'], -- 'value': self.struct['advanced']['settings' -- ]['wait_for_network']['value'], -- 'InfoText': self.oe._(self.struct['advanced']['settings' -- ]['wait_for_network']['InfoText']), -- }, menuItem.getProperty('listTyp')) -- -- if self.struct['advanced']['settings']['wait_for_network' -- ]['value'] in self.struct['advanced']['settings' -- ]['wait_for_network_time']['parent']['value']: -- -- self.oe.winOeMain.addConfigItem(self.oe._(self.struct['advanced' -- ]['settings']['wait_for_network_time']['name' -- ]), { -- 'entry': 'wait_for_network_time', -- 'category': 'advanced', -- 'typ': self.struct['advanced']['settings' -- ]['wait_for_network_time']['type'], -- 'action': self.struct['advanced']['settings' -- ]['wait_for_network_time']['action'], -- 'value': self.struct['advanced']['settings' -- ]['wait_for_network_time']['value'], -- }, menuItem.getProperty('listTyp')) -- -+ self.struct['mounts']['settings' -+ ][mount] = tmp_mount -+ -+ self.oe.winOeMain.build_menu(self.struct) -+ - self.oe.set_busy(0) - self.oe.dbg_log('connman::menu_loader', 'exit_function', 0) - except Exception, e: -@@ -2750,7 +2478,7 @@ def edit_mount(self, listItem=None): - self.oe.dbg_log('connman::add_mount', 'enter_function', 0) - - self.configureMount = \ -- networkMount(listItem.getProperty('entry'), self.oe) -+ networkMount(listItem.getProperty('value'), self.oe) - del self.configureMount - - self.oe.dbg_log('connman::add_mount', 'enter_function', 0) -diff --git a/resources/lib/modules/services.py b/resources/lib/modules/services.py -index 4a0456d..8cd68dd 100755 ---- a/resources/lib/modules/services.py -+++ b/resources/lib/modules/services.py -@@ -55,7 +55,7 @@ def __init__(self, oeMain): - 'name': 32204, - 'value': '1', - 'action': 'initialize_samba', -- 'typ': 'bool', -+ 'type': 'bool', - 'InfoText': 738, - }, - 'samba_secure': { -@@ -63,7 +63,7 @@ def __init__(self, oeMain): - 'name': 32202, - 'value': '0', - 'action': 'initialize_samba', -- 'typ': 'bool', -+ 'type': 'bool', - 'parent': {'entry': 'samba_autostart', - 'value': ['1']}, - 'InfoText': 739, -@@ -73,7 +73,7 @@ def __init__(self, oeMain): - 'name': 32106, - 'value': 'openelec', - 'action': 'initialize_samba', -- 'typ': 'text', -+ 'type': 'text', - 'parent': {'entry': 'samba_secure', - 'value': ['1']}, - 'InfoText': 740, -@@ -83,7 +83,7 @@ def __init__(self, oeMain): - 'name': 32107, - 'value': 'openelec', - 'action': 'initialize_samba', -- 'typ': 'text', -+ 'type': 'text', - 'parent': {'entry': 'samba_secure', - 'value': ['1']}, - 'InfoText': 741, -@@ -99,14 +99,14 @@ def __init__(self, oeMain): - 'name': 32205, - 'value': '0', - 'action': 'initialize_ssh', -- 'typ': 'bool', -+ 'type': 'bool', - 'InfoText': 742, - }, 'ssh_unsecure': { - 'order': 2, - 'name': 32203, - 'value': '0', - 'action': 'initialize_ssh', -- 'typ': 'bool', -+ 'type': 'bool', - 'parent': {'entry': 'ssh_autostart', - 'value': ['1']}, - 'InfoText': 743, -@@ -121,7 +121,7 @@ def __init__(self, oeMain): - 'name': 32206, - 'value': '1', - 'action': 'initialize_avahi', -- 'typ': 'bool', -+ 'type': 'bool', - 'InfoText': 744, - }}, - }, -@@ -134,7 +134,7 @@ def __init__(self, oeMain): - 'name': 32320, - 'value': '0', - 'action': 'initialize_cron', -- 'typ': 'bool', -+ 'type': 'bool', - 'InfoText': 745, - }}, - }, -@@ -147,14 +147,14 @@ def __init__(self, oeMain): - 'name': 32341, - 'value': '0', - 'action': 'initialize_syslog', -- 'typ': 'bool', -+ 'type': 'bool', - 'InfoText': 746, - }, 'remote_syslog_ip': { - 'order': 2, - 'name': 32342, - 'value': '0', - 'action': 'initialize_syslog', -- 'typ': 'ip', -+ 'type': 'ip', - 'parent': {'entry': 'remote_syslog_autostart', - 'value': ['1']}, - 'InfoText': 747, -@@ -169,12 +169,14 @@ def __init__(self, oeMain): - 'name': 32344, - 'value': '0', - 'action': 'init_bluetooth', -- 'typ': 'bool', -+ 'type': 'bool', - 'InfoText': 720, - }}, - }, - } - -+ self.enabled = True -+ - self.oe = oeMain - - self.kernel_cmd = '/proc/cmdline' -@@ -262,73 +264,8 @@ def load_menu(self, focusItem): - - self.oe.dbg_log('services::load_menu', 'enter_function', 0) - -- for category in sorted(self.struct, key=lambda x: \ -- self.struct[x]['order']): -- if 'not_supported' in self.struct[category]: -- if self.arch \ -- in self.struct[category]['not_supported'] \ -- or not hasattr(self, category): -- continue -- -- self.oe.winOeMain.addConfigItem(self.oe._(self.struct[category]['name' -- ]), {'typ': 'separator'}, -- focusItem.getProperty('listTyp')) -- -- for setting in sorted(self.struct[category]['settings' -- ], key=lambda x: \ -- self.struct[category]['settings'][x]['order']): -- -- if 'not_supported' in self.struct[category]['settings'][setting]: -- -- #skip setting -- self.oe.dbg_log('services::load_menu', 'skip setting ' + setting, 0) -- -- else: -- -- dictProperties = { -- 'entry': setting, -- 'category': category, -- 'action': self.struct[category]['settings' -- ][setting]['action'], -- 'value': self.struct[category]['settings' -- ][setting]['value'], -- 'typ': self.struct[category]['settings' -- ][setting]['typ'], -- } -- -- if 'InfoText' in self.struct[category]['settings' -- ][setting]: -- dictProperties['InfoText'] = \ -- self.oe._(self.struct[category]['settings' -- ][setting]['InfoText']) -- -- if 'values' in self.struct[category]['settings' -- ][setting]: -- if len(self.struct[category]['settings' -- ][setting]['values']) > 0: -- dictProperties['values'] = \ -- ','.join(self.struct[category]['settings' -- ][setting]['values']) -- -- if not 'parent' in self.struct[category]['settings' -- ][setting]: -- -- self.oe.winOeMain.addConfigItem(self.oe._(self.struct[category]['settings' -- ][setting]['name']), dictProperties, -- focusItem.getProperty('listTyp')) -- else: -- -- if self.struct[category]['settings' -- ][self.struct[category]['settings' -- ][setting]['parent']['entry']]['value' -- ] in self.struct[category]['settings' -- ][setting]['parent']['value']: -- -- self.oe.winOeMain.addConfigItem(self.oe._(self.struct[category]['settings' -- ][setting]['name']), -- dictProperties, -- focusItem.getProperty('listTyp')) -- -+ self.oe.winOeMain.build_menu(self.struct) -+ - self.oe.dbg_log('services::load_menu', 'exit_function', 0) - except Exception, e: - -@@ -345,8 +282,6 @@ def load_values(self): - - # SSH - if os.path.isfile(self.ssh_daemon): -- self.ssh = True -- - if os.path.exists(self.ssh_conf_dir + '/' - + self.ssh_conf_file): - ssh_file = open(self.ssh_conf_dir + '/' -@@ -386,37 +321,41 @@ def load_values(self): - cmd_args = cmd_file.read() - if 'ssh' in cmd_args: - self.struct['ssh']['settings']['ssh_autostart'] \ -- ['not_supported'] = True -+ ['hidden'] = 'true' - - cmd_file.close() -- -+ else: -+ self.struct['ssh']['hidden'] = 'true' -+ - if os.path.isfile(self.samba_nmbd) \ - and os.path.isfile(self.samba_smbd): -- self.samba = True - for entry in self.struct['samba']['settings']: - value = self.oe.read_setting('services', entry) - if not value is None: - self.struct['samba']['settings'][entry]['value' - ] = value -- -+ else: -+ self.struct['samba']['hidden'] = 'true' -+ - if os.path.isfile(self.avahi_daemon): -- self.avahi = True - value = self.oe.read_setting('services', - 'avahi_autostart') - if not value is None: - self.struct['avahi']['settings']['avahi_autostart' - ]['value'] = value -- -+ else: -+ self.struct['avahi']['hidden'] = 'true' -+ - if os.path.isfile(self.cron_daemon): -- self.cron = True - value = self.oe.read_setting('services', - 'cron_autostart') - if not value is None: - self.struct['cron']['settings']['cron_autostart' - ]['value'] = value -- -+ else: -+ self.struct['cron']['hidden'] = 'true' -+ - if os.path.isfile(self.syslog_daemon): -- self.syslog = True - value = self.oe.read_setting('services', - 'remote_syslog_autostart') - ip = self.oe.read_setting('services', 'remote_syslog_ip' -@@ -427,15 +366,18 @@ def load_values(self): - value - self.struct['syslog']['settings']['remote_syslog_ip' - ]['value'] = ip -- -- if os.path.isfile(self.bluetooth_daemon): -- self.bt = True -+ else: -+ self.struct['syslog']['hidden'] = 'true' -+ -+ if os.path.isfile(self.bluetooth_daemon): - value = self.oe.read_setting('services', - 'disable_bt') - if not value is None: - self.struct['bt']['settings']['disable_bt' - ]['value'] = value -- -+ else: -+ self.struct['bt']['hidden'] = 'true' -+ - - self.oe.dbg_log('services::load_values', 'exit_function', 0) - except Exception, e: -diff --git a/resources/lib/modules/system.py b/resources/lib/modules/system.py -index 35ebfdf..e1867fb 100755 ---- a/resources/lib/modules/system.py -+++ b/resources/lib/modules/system.py -@@ -60,16 +60,16 @@ def __init__(self, oeMain): - - self.oe = oeMain - -- self.config = { -+ self.struct = { - 'ident': { - 'order': 1, - 'name': 32189, -- 'not_supported': [], - 'settings': {'hostname': { -+ 'order': 1, - 'name': 32190, - 'value': 'OpenELEC', - 'action': 'set_hostname', -- 'typ': 'text', -+ 'type': 'text', - 'validate': '^([a-zA-Z0-9](?:[a-zA-Z0-9-\.]*[a-zA-Z0-9]))$', - 'InfoText': 710, - }}, -@@ -78,126 +78,134 @@ def __init__(self, oeMain): - 'order': 2, - 'name': 32009, - 'settings': {'KeyboardLayout1': { -+ 'order': 1, - 'name': 32010, - 'value': 'us', - 'action': 'set_keyboard_layout', -- 'typ': 'multivalue', -+ 'type': 'multivalue', - 'values': [], - 'InfoText': 711, - }, 'KeyboardLayout2': { -+ 'order': 2, - 'name': 32010, - 'value': 'us', - 'action': 'set_keyboard_layout', -- 'typ': 'multivalue', -+ 'type': 'multivalue', - 'values': [], - 'InfoText': 712, -- 'not_supported': ['RPi.arm'], - }, 'KeyboardType': { -+ 'order': 3, - 'name': 32330, - 'value': 'pc105', - 'action': 'set_keyboard_layout', -- 'typ': 'multivalue', -+ 'type': 'multivalue', - 'values': [], -- 'InfoText': 713, -- 'not_supported': ['RPi.arm'], -+ 'InfoText': 713, - }}, - }, - 'update': { - 'order': 3, - 'name': 32013, -- 'not_supported': [], - 'settings': {'AutoUpdate': { - 'name': 32014, - 'value': 'manual', - 'action': 'set_auto_update', -- 'typ': 'multivalue', -+ 'type': 'multivalue', - 'values': ['manual', 'auto'], - 'InfoText': 714, -+ 'order': 1, - }, 'UpdateNotify': { - 'name': 32365, - 'value': '1', - 'action': 'set_value', -- 'typ': 'bool', -+ 'type': 'bool', - 'InfoText': 715, -+ 'order': 2, - }, 'CheckUpdate': { - 'name': 32362, - 'value': '', - 'action': 'manual_check_update', -- 'typ': 'button', -+ 'type': 'button', - 'InfoText': 716, -+ 'order': 3, - }}, - }, - 'driver': { - 'order': 4, - 'name': 32007, -- 'not_supported': [], - 'settings': {'lcd': { - 'name': 32008, - 'value': 'none', - 'action': 'set_lcd_driver', -- 'typ': 'multivalue', -+ 'type': 'multivalue', - 'values': [], - 'InfoText': 717, -+ 'order': 1, - }}, - }, - 'power': { - 'order': 5, - 'name': 32011, -- 'not_supported': [], - 'settings': {'enable_hdd_standby': { - 'name': 32347, - 'value': '0', - 'action': 'set_hdd_standby', -- 'typ': 'bool', -+ 'type': 'bool', - 'InfoText': 718, -+ 'order': 1, - }, 'hdd_standby': { - 'name': 32012, - 'value': '0', - 'action': 'set_hdd_standby', -- 'typ': 'num', -+ 'type': 'num', - 'parent': {'entry': 'enable_hdd_standby', - 'value': ['1']}, - 'InfoText': 719, -+ 'order': 2, - }}, - }, - 'backup': { - 'order': 7, - 'name': 32371, -- 'not_supported': [], - 'settings': {'backup': { - 'name': 32372, - 'value': '0', - 'action': 'do_backup', -- 'typ': 'button', -+ 'type': 'button', - 'InfoText': 722, -+ 'order': 1, - }, 'restore': { - 'name': 32373, - 'value': '0', - 'action': 'do_restore', -- 'typ': 'button', -+ 'type': 'button', - 'InfoText': 723, -+ 'order': 2, - }}, - }, - 'reset': { - 'order': 8, - 'name': 32323, -- 'not_supported': [], - 'settings': {'xbmc_reset': { - 'name': 32324, - 'value': '0', - 'action': 'reset_xbmc', -- 'typ': 'button', -+ 'type': 'button', - 'InfoText': 724, -+ 'order': 1, - }, 'oe_reset': { - 'name': 32325, - 'value': '0', - 'action': 'reset_oe', -- 'typ': 'button', -+ 'type': 'button', - 'InfoText': 725, -+ 'order': 2, - }}, - }, - } - -+ self.enabled = True -+ - self.kernel_cmd = '/proc/cmdline' - - self.lcd_dir = '/usr/lib/lcdproc/' -@@ -264,6 +272,20 @@ def start_service(self): - self.oe.dbg_log('system::start_service', 'ERROR: (' - + repr(e) + ')') - -+ def stop_service(self): -+ try: -+ -+ self.oe.dbg_log('system::stop_service', 'enter_function', -+ 0) -+ if hasattr(self, 'update_thread'): -+ self.update_thread.stop() -+ -+ self.oe.dbg_log('system::stop_service', 'exit_function', 0) -+ except Exception, e: -+ -+ self.oe.dbg_log('system::stop_service', 'ERROR: (' -+ + repr(e) + ')') -+ - def do_init(self): - try: - -@@ -290,31 +312,31 @@ def load_values(self): - - if not arrTypes is None: - -- self.config['keyboard']['settings']['KeyboardType' -+ self.struct['keyboard']['settings']['KeyboardType' - ]['values'] = arrTypes - - value = self.oe.read_setting('system', 'KeyboardType') - if not value is None: -- self.config['keyboard']['settings']['KeyboardType' -+ self.struct['keyboard']['settings']['KeyboardType' - ]['value'] = value - - if not arrLayouts is None: - -- self.config['keyboard']['settings']['KeyboardLayout1' -+ self.struct['keyboard']['settings']['KeyboardLayout1' - ]['values'] = arrLayouts -- self.config['keyboard']['settings']['KeyboardLayout2' -+ self.struct['keyboard']['settings']['KeyboardLayout2' - ]['values'] = arrLayouts - - value = self.oe.read_setting('system', 'KeyboardLayout1' - ) - if not value is None: -- self.config['keyboard']['settings' -+ self.struct['keyboard']['settings' - ]['KeyboardLayout1']['value'] = value - - value = self.oe.read_setting('system', 'KeyboardLayout2' - ) - if not value is None: -- self.config['keyboard']['settings' -+ self.struct['keyboard']['settings' - ]['KeyboardLayout2']['value'] = value - - if not arrTypes == None: -@@ -322,64 +344,65 @@ def load_values(self): - else: - self.rpi_keyboard_layouts = True - -+ if self.arch == "RPi.arm": -+ self.struct['keyboard']['settings'][ -+ 'KeyboardLayout2']['hidden'] = 'true' -+ self.struct['keyboard']['settings'][ -+ 'KeyboardType']['hidden'] = 'true' -+ - # Hostname - value = self.oe.read_setting('system', 'hostname') - if not value is None: -- self.config['ident']['settings']['hostname']['value'] = \ -+ self.struct['ident']['settings']['hostname']['value'] = \ - value - - # LCD Driver - if not arrLcd is None: -- self.config['driver']['settings']['lcd']['values'] = \ -+ self.struct['driver']['settings']['lcd']['values'] = \ - arrLcd - - value = self.oe.read_setting('system', 'lcd') - if not value is None: -- self.config['driver']['settings']['lcd']['value'] = \ -+ self.struct['driver']['settings']['lcd']['value'] = \ - value - - # HDD Standby - value = self.oe.read_setting('system', 'enable_hdd_standby') - if not value is None: -- self.config['power']['settings']['enable_hdd_standby']['value' -+ self.struct['power']['settings']['enable_hdd_standby']['value' - ] = value - - value = self.oe.read_setting('system', 'hdd_standby') - if not value is None: -- self.config['power']['settings']['hdd_standby']['value' -+ self.struct['power']['settings']['hdd_standby']['value' - ] = value - - # AutoUpdate - value = self.oe.read_setting('system', 'AutoUpdate') - if not value is None: -- self.config['update']['settings']['AutoUpdate']['value' -+ self.struct['update']['settings']['AutoUpdate']['value' - ] = value - - value = self.oe.read_setting('system', 'UpdateNotify') - if not value is None: -- self.config['update']['settings']['UpdateNotify' -+ self.struct['update']['settings']['UpdateNotify' - ]['value'] = value - - # AutoUpdate = manual by environment var. -- if 'UPDATE_SUPPORT' in os.environ: -- if os.environ['UPDATE_SUPPORT'] == 'false': -- self.config['update']['settings']['AutoUpdate']['value' -- ] = 'manual' -- -- self.config['update']['settings']['AutoUpdate']['not_supported' -- ] = [self.arch] -- -- self.config['update']['settings']['CheckUpdate']['not_supported' -- ] = [self.arch] -+ -+ if os.environ.get('UPDATE_SUPPORT', 'true') == 'false': -+ -+ self.update_disabled = True -+ -+ self.struct['update']['hidden'] = 'true' -+ -+ self.struct['update']['settings']['AutoUpdate']['value' -+ ] = 'manual' - -- # AutoUpdate File and URL -- value = self.oe.read_setting('system', 'update_file') -- if value != None and value != '': -- self.update_file = value -- value = self.oe.read_setting('system', 'update_url') -- if value != None and value != '': -- self.update_url = value -+ self.struct['update']['settings']['UpdateNotify' -+ ]['value'] = '0' - -+ xbmc.log(repr(self.struct)) - self.oe.dbg_log('system::load_values', 'exit_function', 0) - except Exception, e: - -@@ -392,80 +415,8 @@ def load_menu(self, focusItem): - - self.oe.dbg_log('system::load_menu', 'enter_function', 0) - -- selectedPos = \ -- self.oe.winOeMain.getControl(self.oe.winOeMain.guiList).getSelectedPosition() -- -- for category in sorted(self.config, key=lambda x: \ -- self.config[x]['order']): -- if 'not_supported' in self.config[category]: -- if self.arch \ -- in self.config[category]['not_supported']: -- continue -- -- self.oe.winOeMain.addConfigItem(self.oe._(self.config[category]['name' -- ]), {'typ': 'separator'}, -- focusItem.getProperty('listTyp')) -- -- for setting in sorted(self.config[category]['settings' -- ]): -- -- if 'not_supported' in self.config[category]['settings'][setting]: -- if self.arch \ -- in self.config[category]['settings'][setting]['not_supported']: -- continue -- -- dictProperties = { -- 'entry': setting, -- 'category': category, -- 'action': self.config[category]['settings' -- ][setting]['action'], -- 'value': self.config[category]['settings' -- ][setting]['value'], -- 'typ': self.config[category]['settings' -- ][setting]['typ'], -- } -- -- if 'InfoText' in self.config[category]['settings' -- ][setting]: -- dictProperties['InfoText'] = \ -- self.oe._(self.config[category]['settings' -- ][setting]['InfoText']) -- -- if 'validate' in self.config[category]['settings' -- ][setting]: -- dictProperties['validate'] = \ -- self.config[category]['settings' -- ][setting]['validate'] -- -- if 'values' in self.config[category]['settings' -- ][setting]: -- if len(self.config[category]['settings' -- ][setting]['values']) > 0: -- dictProperties['values'] = \ -- ','.join(self.config[category]['settings' -- ][setting]['values']) -- -- if not 'parent' in self.config[category]['settings' -- ][setting]: -- -- self.oe.winOeMain.addConfigItem(self.oe._(self.config[category]['settings' -- ][setting]['name']), dictProperties, -- focusItem.getProperty('listTyp')) -- else: -- -- if self.config[category]['settings' -- ][self.config[category]['settings' -- ][setting]['parent']['entry']]['value' -- ] in self.config[category]['settings' -- ][setting]['parent']['value']: -- -- self.oe.winOeMain.addConfigItem(self.oe._(self.config[category]['settings' -- ][setting]['name']), -- dictProperties, -- focusItem.getProperty('listTyp')) -- -- self.oe.winOeMain.getControl(self.oe.winOeMain.guiList).selectItem(selectedPos) -- -+ self.oe.winOeMain.build_menu(self.struct) -+ - self.oe.dbg_log('system::load_menu', 'exit_function', 0) - except Exception, e: - -@@ -477,7 +428,7 @@ def set_value(self, listItem): - - self.oe.dbg_log('system::set_value', 'enter_function', 0) - -- self.config[listItem.getProperty('category')]['settings' -+ self.struct[listItem.getProperty('category')]['settings' - ][listItem.getProperty('entry')]['value'] = \ - listItem.getProperty('value') - -@@ -504,34 +455,34 @@ def set_keyboard_layout(self, listItem=None): - if self.keyboard_layouts == True: - - self.oe.dbg_log('system::set_keyboard_layout', -- unicode(self.config['keyboard']['settings' -+ unicode(self.struct['keyboard']['settings' - ]['KeyboardLayout1']['value']) + ',' -- + unicode(self.config['keyboard']['settings' -+ + unicode(self.struct['keyboard']['settings' - ]['KeyboardLayout2']['value']) + ' ' -- + '-model ' + unicode(self.config['keyboard' -+ + '-model ' + unicode(self.struct['keyboard' - ]['settings']['KeyboardType']['value']), 1) - - if not os.path.exists(os.path.dirname(self.udev_keyboard_file)): - os.makedirs(os.path.dirname(self.udev_keyboard_file)) - - config_file = open(self.udev_keyboard_file, 'w') -- config_file.write('XKBMODEL="' + self.config['keyboard' -+ config_file.write('XKBMODEL="' + self.struct['keyboard' - ]['settings']['KeyboardType']['value'] - + '"\n') - config_file.write('XKBVARIANT=""\n') -- config_file.write('XKBLAYOUT="' + self.config['keyboard' -+ config_file.write('XKBLAYOUT="' + self.struct['keyboard' - ]['settings']['KeyboardLayout1']['value'] -- + ',' + self.config['keyboard']['settings' -+ + ',' + self.struct['keyboard']['settings' - ]['KeyboardLayout2']['value'] + '"\n') - config_file.write('XKBOPTIONS="grp:alt_shift_toggle"\n') - config_file.close() - - parameters = ['-display ' + os.environ['DISPLAY'], -- '-layout ' + self.config['keyboard' -+ '-layout ' + self.struct['keyboard' - ]['settings']['KeyboardLayout1']['value'] -- + ',' + self.config['keyboard']['settings' -+ + ',' + self.struct['keyboard']['settings' - ]['KeyboardLayout2']['value'], '-model ' -- + unicode(self.config['keyboard']['settings' -+ + unicode(self.struct['keyboard']['settings' - ]['KeyboardType']['value']), - '-option "grp:alt_shift_toggle"'] - -@@ -541,10 +492,10 @@ def set_keyboard_layout(self, listItem=None): - elif self.rpi_keyboard_layouts == True: - - self.oe.dbg_log('system::set_keyboard_layout', -- unicode(self.config['keyboard']['settings' -+ unicode(self.struct['keyboard']['settings' - ]['KeyboardLayout1']['value']) , 1) - -- parameter = self.config['keyboard' -+ parameter = self.struct['keyboard' - ]['settings']['KeyboardLayout1']['value'] - - command = 'loadkmap < `ls -1 %s/*/%s.bmap`' % (self.rpi_keyboard_info, parameter) -@@ -577,21 +528,21 @@ def set_hostname(self, listItem=None): - if not listItem == None: - self.set_value(listItem) - -- if not self.config['ident']['settings']['hostname']['value' -- ] is None and not self.config['ident']['settings' -+ if not self.struct['ident']['settings']['hostname']['value' -+ ] is None and not self.struct['ident']['settings' - ]['hostname']['value'] == '': - - self.oe.dbg_log('system::set_hostname', -- self.config['ident']['settings' -+ self.struct['ident']['settings' - ]['hostname']['value'], 1) - - hostname = open('/proc/sys/kernel/hostname', 'w') -- hostname.write(self.config['ident']['settings' -+ hostname.write(self.struct['ident']['settings' - ]['hostname']['value']) - hostname.close() - - hostname = open('%s/hostname' % self.oe.CONFIG_CACHE, 'w') -- hostname.write(self.config['ident']['settings' -+ hostname.write(self.struct['ident']['settings' - ]['hostname']['value']) - hostname.close() - -@@ -605,7 +556,7 @@ def set_hostname(self, listItem=None): - user_hosts.close() - - hosts.write('127.0.0.1\tlocalhost %s\n' -- % self.config['ident']['settings' -+ % self.struct['ident']['settings' - ]['hostname']['value']) - hosts.close() - else: -@@ -637,16 +588,16 @@ def set_lcd_driver(self, listItem=None): - else: - lcd_config_file = '/etc/LCDd.conf' - -- if not self.config['driver']['settings']['lcd']['value'] \ -- is None and not self.config['driver']['settings']['lcd' -+ if not self.struct['driver']['settings']['lcd']['value'] \ -+ is None and not self.struct['driver']['settings']['lcd' - ]['value'] == 'none': - - self.oe.dbg_log('system::set_lcd_driver', -- self.config['driver']['settings']['lcd' -+ self.struct['driver']['settings']['lcd' - ]['value'], 1) - - parameters = ['-c ' + lcd_config_file, '-d ' -- + self.config['driver']['settings']['lcd' -+ + self.struct['driver']['settings']['lcd' - ]['value'], '-s true'] - - os.system('killall LCDd') -@@ -679,13 +630,13 @@ def set_hdd_standby(self, listItem=None): - if not listItem == None: - self.set_value(listItem) - -- if self.config['power']['settings']['hdd_standby']['value'] \ -- != None and self.config['power']['settings' -+ if self.struct['power']['settings']['hdd_standby']['value'] \ -+ != None and self.struct['power']['settings' - ]['hdd_standby']['value'] != '0' \ -- and self.config['power']['settings' -+ and self.struct['power']['settings' - ]['enable_hdd_standby']['value'] == '1': - -- value = int(self.config['power']['settings' -+ value = int(self.struct['power']['settings' - ]['hdd_standby']['value']) #* 12 - - #find system hdd -@@ -765,15 +716,17 @@ def set_auto_update(self, listItem=None): - if not listItem == None: - self.set_value(listItem) - -- if not hasattr(self, 'update_thread'): -- self.update_thread = updateThread(self.oe) -- self.update_thread.start() -- else: -- self.update_thread.wait_evt.set() -+ if not hasattr(self, 'update_disabled'): -+ -+ if not hasattr(self, 'update_thread'): -+ self.update_thread = updateThread(self.oe) -+ self.update_thread.start() -+ else: -+ self.update_thread.wait_evt.set() - -- self.oe.dbg_log('system::set_auto_update', -- unicode(self.config['update']['settings' -- ]['AutoUpdate']['value']), 1) -+ self.oe.dbg_log('system::set_auto_update', -+ unicode(self.struct['update']['settings' -+ ]['AutoUpdate']['value']), 1) - - self.oe.dbg_log('system::set_auto_update', 'exit_function', - 0) -@@ -913,13 +866,13 @@ def check_updates_v2(self, force=False): - self.update_file = self.download_url_v2 % (update_json['data']['folder'], - update_json['data']['update']) - -- if self.config['update']['settings']['UpdateNotify' -+ if self.struct['update']['settings']['UpdateNotify' - ]['value'] == '1': - xbmc.executebuiltin('Notification(' - + self.oe._(32363).encode('utf-8') + ', ' - + self.oe._(32364).encode('utf-8') + ')') - -- if (self.config['update']['settings']['AutoUpdate']['value' -+ if (self.struct['update']['settings']['AutoUpdate']['value' - ] == 'manual' and force == True): - silent = False - xbmcDialog = xbmcgui.Dialog() -@@ -935,7 +888,7 @@ def check_updates_v2(self, force=False): - self.update_in_progress = True - self.do_autoupdate() - -- if (self.config['update']['settings']['AutoUpdate']['value' -+ if (self.struct['update']['settings']['AutoUpdate']['value' - ] == 'auto' and force == False): - - self.update_in_progress = True -@@ -966,7 +919,7 @@ def do_autoupdate(self, listItem=None, silent=False): - - self.update_file = self.update_file.split('/')[-1] - -- if self.config['update']['settings']['UpdateNotify' -+ if self.struct['update']['settings']['UpdateNotify' - ]['value'] == '1': - xbmc.executebuiltin('Notification(' - + self.oe._(32363) + ', ' -@@ -981,7 +934,7 @@ def do_autoupdate(self, listItem=None, silent=False): - self.temp_folder + 'oe_update/', silent) \ - == 1: - -- if self.config['update']['settings' -+ if self.struct['update']['settings' - ]['UpdateNotify']['value'] == '1': - xbmc.executebuiltin('Notification(' - + self.oe._(32363) + ', ' -@@ -1281,7 +1234,7 @@ def do_wizard(self): - self.oe.winOeMain.set_wizard_title(self.oe._(32003)) - self.oe.winOeMain.set_wizard_text(self.oe._(32304)) - self.oe.winOeMain.set_wizard_button_title(self.oe._(32308)) -- self.oe.winOeMain.set_wizard_button_1(self.config['ident' -+ self.oe.winOeMain.set_wizard_button_1(self.struct['ident' - ]['settings']['hostname']['value'], self, - 'wizard_set_hostname') - -@@ -1297,7 +1250,7 @@ def wizard_set_hostname(self): - self.oe.dbg_log('system::wizard_set_hostname', - 'enter_function', 0) - -- currentHostname = self.config['ident']['settings' -+ currentHostname = self.struct['ident']['settings' - ]['hostname']['value'] - - xbmcKeyboard = xbmc.Keyboard(currentHostname) -@@ -1307,7 +1260,7 @@ def wizard_set_hostname(self): - - if xbmcKeyboard.isConfirmed(): - result_is_valid = True -- validate_string = self.config['ident']['settings' -+ validate_string = self.struct['ident']['settings' - ]['hostname']['validate'] - if validate_string != '': - if not re.search(validate_string, -@@ -1317,13 +1270,13 @@ def wizard_set_hostname(self): - result_is_valid = True - - if xbmcKeyboard.isConfirmed(): -- self.config['ident']['settings']['hostname']['value'] = \ -+ self.struct['ident']['settings']['hostname']['value'] = \ - xbmcKeyboard.getText() - self.set_hostname() -- self.oe.winOeMain.getControl(1401).setLabel(self.config['ident' -+ self.oe.winOeMain.getControl(1401).setLabel(self.struct['ident' - ]['settings']['hostname']['value']) - self.oe.write_setting('system', 'hostname', -- self.config['ident']['settings']['hostname' -+ self.struct['ident']['settings']['hostname' - ]['value']) - - self.oe.dbg_log('system::wizard_set_hostname', -diff --git a/resources/lib/oeWindows.py b/resources/lib/oeWindows.py -index ea33749..8f23699 100755 ---- a/resources/lib/oeWindows.py -+++ b/resources/lib/oeWindows.py -@@ -85,25 +85,26 @@ def onInit(self): - self.oe.dictModules[x].menu.keys()): - - self.oe.dbg_log('init module', strModule, 0) -- if hasattr(self.oe.dictModules[strModule], 'do_init'): -- Thread(target=self.oe.dictModules[strModule].do_init(), -- args=()).start() -- -- for men in self.oe.dictModules[strModule].menu: -- dictProperties = {'modul': strModule, -- 'listTyp': self.oe.listObject[self.oe.dictModules[strModule].menu[men]['listTyp' -- ]], -- 'menuLoader': self.oe.dictModules[strModule].menu[men]['menuLoader' -- ]} -- -- if 'InfoText' \ -- in self.oe.dictModules[strModule].menu[men]: -- dictProperties['InfoText'] = \ -- self.oe._(self.oe.dictModules[strModule].menu[men]['InfoText' -- ]) -- -- self.addMenuItem(self.oe.dictModules[strModule].menu[men]['name' -- ], dictProperties) -+ if self.oe.dictModules[strModule].enabled: -+ if hasattr(self.oe.dictModules[strModule], 'do_init'): -+ Thread(target=self.oe.dictModules[strModule].do_init(), -+ args=()).start() -+ -+ for men in self.oe.dictModules[strModule].menu: -+ dictProperties = {'modul': strModule, -+ 'listTyp': self.oe.listObject[self.oe.dictModules[strModule].menu[men]['listTyp' -+ ]], -+ 'menuLoader': self.oe.dictModules[strModule].menu[men]['menuLoader' -+ ]} -+ -+ if 'InfoText' \ -+ in self.oe.dictModules[strModule].menu[men]: -+ dictProperties['InfoText'] = \ -+ self.oe._(self.oe.dictModules[strModule].menu[men]['InfoText' -+ ]) -+ -+ self.addMenuItem(self.oe.dictModules[strModule].menu[men]['name' -+ ], dictProperties) - - self.setFocusId(self.guiMenList) - self.onFocus(self.guiMenList) -@@ -155,6 +156,76 @@ def addConfigItem( - self.oe.dbg_log('oeWindows.mainWindow::addConfigItem(' - + strName + ')', 'ERROR: (' + repr(e) + ')') - -+ def build_menu(self, struct, fltr=[], optional='0'): -+ -+ try: -+ -+ for category in sorted(struct, key=lambda x: struct[x]['order']): -+ -+ if not 'hidden' in struct[category]: -+ -+ if fltr == []: -+ self.addConfigItem(self.oe._(struct[category]['name' -+ ]), {'typ': 'separator'}, 1100) -+ -+ else: -+ if category not in fltr: -+ continue -+ -+ for entry in sorted(struct[category]['settings'], -+ key=lambda x: struct[category]['settings' -+ ][x]['order']): -+ -+ setting = struct[category]['settings'][entry] -+ -+ if not 'hidden' in setting: -+ -+ dictProperties = { -+ 'value': setting['value'], -+ 'typ': setting['type'], -+ 'entry': entry, -+ 'category': category, -+ 'action': setting['action'], -+ } -+ -+ if 'InfoText' in setting: -+ dictProperties['InfoText'] = \ -+ self.oe._(setting['InfoText']) -+ -+ if 'validate' in setting: -+ dictProperties['validate'] = \ -+ setting['validate'] -+ -+ if 'values' in setting: -+ dictProperties['values'] = \ -+ ','.join(setting['values']) -+ -+ if isinstance(setting['name'], basestring): -+ name = setting['name'] -+ else: -+ name = self.oe._(setting['name']) -+ -+ if not 'parent' in setting: -+ -+ self.addConfigItem(name, -+ dictProperties, -+ 1100) -+ else: -+ -+ if struct[category]['settings' -+ ][setting['parent']['entry']]['value' -+ ] in setting['parent']['value']: -+ -+ if not 'optional' in setting or \ -+ ('optional' in setting and optional != '0'): -+ self.addConfigItem(name, -+ dictProperties, -+ 1100) -+ -+ except Exception, e: -+ -+ self.oe.dbg_log('oeWindows.mainWindow::build_menu', 'ERROR: (' + repr(e) + ')') -+ - def showButton( - self, - number, -diff --git a/resources/skins/Default/720p/mainWindow.xml b/resources/skins/Default/720p/mainWindow.xml -index a632515..dc035ce 100755 ---- a/resources/skins/Default/720p/mainWindow.xml -+++ b/resources/skins/Default/720p/mainWindow.xml -@@ -371,7 +371,7 @@ - FF757677 - white - ListItem.Property(value) -- !StringCompare(ListItem.Property(Typ), bool) -+ !StringCompare(ListItem.Property(Typ), bool) + !StringCompare(ListItem.Property(Typ), button) - - - -@@ -442,7 +442,7 @@ - 2 - 796 - 38 -- Control.HasFocus(1100) -+ Control.HasFocus(1100) - button-focus2.png - - -@@ -452,7 +452,7 @@ - 20 - white - ListItem.Label -- true -+ true - - - right -@@ -462,7 +462,7 @@ - 20 - white - ListItem.Property(value) -- !StringCompare(ListItem.Property(Typ), bool) -+ !StringCompare(ListItem.Property(Typ), bool) + !StringCompare(ListItem.Property(Typ), button) - - - --- -1.8.1.6 - - -From 555b10b6bb53088aeaeab8c90e122e00e4187a87 Mon Sep 17 00:00:00 2001 -From: lfiebach -Date: Fri, 2 Aug 2013 17:56:23 +0200 -Subject: [PATCH 3/3] fix wizard - ---- - addon.xml | 2 +- - changelog.txt | 3 +++ - resources/lib/modules/services.py | 2 +- - resources/lib/oeWindows.py | 8 ++++---- - 4 files changed, 9 insertions(+), 6 deletions(-) - -diff --git a/addon.xml b/addon.xml -index c130660..f9741f3 100755 ---- a/addon.xml -+++ b/addon.xml -@@ -1,7 +1,7 @@ - - - - -diff --git a/changelog.txt b/changelog.txt -index a83a37d..eb50d6f 100755 ---- a/changelog.txt -+++ b/changelog.txt -@@ -1,3 +1,6 @@ -+2013-08-02 v0.1.32 -+ (fix) wizard fail after menu redesign -+ - 2013-07-29 v0.1.31 - (change) menu loader redesign - (fix) kill update thread on exit -diff --git a/resources/lib/modules/services.py b/resources/lib/modules/services.py -index 8cd68dd..37aa0c5 100755 ---- a/resources/lib/modules/services.py -+++ b/resources/lib/modules/services.py -@@ -859,7 +859,7 @@ def set_wizard_buttons(self): - self.oe.winOeMain.set_wizard_radiobutton_1(self.oe._(32201), - self, 'wizard_set_ssh') - -- if hasattr(self, 'samba'): -+ if not 'hidden' in self.struct['samba']: - if self.struct['samba']['settings']['samba_autostart' - ]['value'] == '1': - self.oe.winOeMain.set_wizard_radiobutton_2(self.oe._(32200), -diff --git a/resources/lib/oeWindows.py b/resources/lib/oeWindows.py -index 8f23699..10cd60b 100755 ---- a/resources/lib/oeWindows.py -+++ b/resources/lib/oeWindows.py -@@ -1180,7 +1180,7 @@ def get_keyboard_layout(self): - try: - - current_layout = self.oe.dictModules['system' -- ].config['keyboard']['settings']['KeyboardLayout1' -+ ].struct['keyboard']['settings']['KeyboardLayout1' - ]['value'] - - return current_layout -@@ -1196,16 +1196,16 @@ def select_keyboard(self): - select_window = selectWindow('selectWindow.xml', - self.oe.__cwd__, 'Default', oeMain=self.oe) - select_window.defaultValue = self.oe.dictModules['system' -- ].config['keyboard']['settings']['KeyboardLayout1' -+ ].struct['keyboard']['settings']['KeyboardLayout1' - ]['value'] - select_window.availValues = \ -- ','.join(self.oe.dictModules['system'].config['keyboard' -+ ','.join(self.oe.dictModules['system'].struct['keyboard' - ]['settings']['KeyboardLayout1']['values']) - self.oe.set_busy(0) - select_window.doModal() - - if select_window.defaultValue != select_window.result: -- self.oe.dictModules['system'].config['keyboard' -+ self.oe.dictModules['system'].struct['keyboard' - ]['settings']['KeyboardLayout1']['value'] = \ - select_window.result - self.oe.write_setting('system', 'KeyboardLayout1', --- -1.8.1.6 - From 1168e3b5a60d2680a38a7da44bdceb05ccf95008 Mon Sep 17 00:00:00 2001 From: Stefan Saraev Date: Wed, 7 Aug 2013 17:50:54 +0300 Subject: [PATCH 03/12] service.openelec.settings: silence unpack errors --- packages/mediacenter/service.openelec.settings/unpack | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/mediacenter/service.openelec.settings/unpack b/packages/mediacenter/service.openelec.settings/unpack index 6c5b6426b7..99693e4013 100755 --- a/packages/mediacenter/service.openelec.settings/unpack +++ b/packages/mediacenter/service.openelec.settings/unpack @@ -30,7 +30,7 @@ mkdir -p $BUILD/${PKG_NAME}-${PKG_VERSION} echo "### Applying upstream patches ###" -for patch in `ls $PKG_DIR/patches.upstream/*.patch`; do +for patch in `ls $PKG_DIR/patches.upstream/*.patch 2>/dev/null`; do cat $patch | patch -d \ `echo $BUILD/$PKG_NAME-$PKG_VERSION | cut -f1 -d\ ` -p1 done From 556e209ac5ea26da5e1ea1b08cd1d918fe493096 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Wed, 7 Aug 2013 21:14:41 +0200 Subject: [PATCH 04/12] xbmc: update to xbmc-12.2-5c517b8 Signed-off-by: Stephan Raue --- packages/mediacenter/xbmc-theme-Confluence/meta | 2 +- packages/mediacenter/xbmc/package.mk | 2 +- .../todo/xbmc-990.27-PR2232.patch.bk | 0 ...-OMXPlayer-Audio-fix_incorrect_usage_of_flag_talled.patch.bk | 0 .../xbmc-995.04-OMXPlayer-some_caching_fixes_for_pvr.patch.bk | 0 .../xbmc-321-texturepacker-hostflags-and-rework.patch | 0 ...bmc-408-enable_PYTHONOPTIMIZE_with_external_Python-0.1.patch | 0 .../xbmc-452-change_lcd_content-0.1.patch | 0 .../xbmc-453-add_openelec.tv_RSS_news-0.1.patch | 0 .../xbmc-990.00-remove-windowed-display-mode.patch | 0 .../xbmc-990.24-smbnfsdeinit-and-wait-for-nic-on-wakeup.patch | 0 .../xbmc-995.11-enable-vpp-deinterlacing.patch | 0 .../xbmc-995.12-enable-vpp-fix-audio-out-of-sync.patch | 0 .../xbmc-995.13-vpp-fix-skipping.patch | 0 14 files changed, 2 insertions(+), 2 deletions(-) rename packages/mediacenter/xbmc/patches/{12.2-e40d13d => 12.2-5c517b8}/todo/xbmc-990.27-PR2232.patch.bk (100%) rename packages/mediacenter/xbmc/patches/{12.2-e40d13d => 12.2-5c517b8}/todo/xbmc-995.03-OMXPlayer-Audio-fix_incorrect_usage_of_flag_talled.patch.bk (100%) rename packages/mediacenter/xbmc/patches/{12.2-e40d13d => 12.2-5c517b8}/todo/xbmc-995.04-OMXPlayer-some_caching_fixes_for_pvr.patch.bk (100%) rename packages/mediacenter/xbmc/patches/{12.2-e40d13d => 12.2-5c517b8}/xbmc-321-texturepacker-hostflags-and-rework.patch (100%) rename packages/mediacenter/xbmc/patches/{12.2-e40d13d => 12.2-5c517b8}/xbmc-408-enable_PYTHONOPTIMIZE_with_external_Python-0.1.patch (100%) rename packages/mediacenter/xbmc/patches/{12.2-e40d13d => 12.2-5c517b8}/xbmc-452-change_lcd_content-0.1.patch (100%) rename packages/mediacenter/xbmc/patches/{12.2-e40d13d => 12.2-5c517b8}/xbmc-453-add_openelec.tv_RSS_news-0.1.patch (100%) rename packages/mediacenter/xbmc/patches/{12.2-e40d13d => 12.2-5c517b8}/xbmc-990.00-remove-windowed-display-mode.patch (100%) rename packages/mediacenter/xbmc/patches/{12.2-e40d13d => 12.2-5c517b8}/xbmc-990.24-smbnfsdeinit-and-wait-for-nic-on-wakeup.patch (100%) rename packages/mediacenter/xbmc/patches/{12.2-e40d13d => 12.2-5c517b8}/xbmc-995.11-enable-vpp-deinterlacing.patch (100%) rename packages/mediacenter/xbmc/patches/{12.2-e40d13d => 12.2-5c517b8}/xbmc-995.12-enable-vpp-fix-audio-out-of-sync.patch (100%) rename packages/mediacenter/xbmc/patches/{12.2-e40d13d => 12.2-5c517b8}/xbmc-995.13-vpp-fix-skipping.patch (100%) diff --git a/packages/mediacenter/xbmc-theme-Confluence/meta b/packages/mediacenter/xbmc-theme-Confluence/meta index 89104478d9..0e52066df7 100644 --- a/packages/mediacenter/xbmc-theme-Confluence/meta +++ b/packages/mediacenter/xbmc-theme-Confluence/meta @@ -19,7 +19,7 @@ ################################################################################ PKG_NAME="xbmc-theme-Confluence" -PKG_VERSION="12.2-e40d13d" +PKG_VERSION="12.2-5c517b8" if [ "$XBMC" = "master" ]; then PKG_VERSION="13.alpha-df91888" elif [ "$XBMC" = "xbmc-aml" ]; then diff --git a/packages/mediacenter/xbmc/package.mk b/packages/mediacenter/xbmc/package.mk index 209b8961b4..c8cedca510 100644 --- a/packages/mediacenter/xbmc/package.mk +++ b/packages/mediacenter/xbmc/package.mk @@ -19,7 +19,7 @@ ################################################################################ PKG_NAME="xbmc" -PKG_VERSION="12.2-e40d13d" +PKG_VERSION="12.2-5c517b8" if [ "$XBMC" = "master" ]; then PKG_VERSION="13.alpha-df91888" elif [ "$XBMC" = "xbmc-aml" ]; then diff --git a/packages/mediacenter/xbmc/patches/12.2-e40d13d/todo/xbmc-990.27-PR2232.patch.bk b/packages/mediacenter/xbmc/patches/12.2-5c517b8/todo/xbmc-990.27-PR2232.patch.bk similarity index 100% rename from packages/mediacenter/xbmc/patches/12.2-e40d13d/todo/xbmc-990.27-PR2232.patch.bk rename to packages/mediacenter/xbmc/patches/12.2-5c517b8/todo/xbmc-990.27-PR2232.patch.bk diff --git a/packages/mediacenter/xbmc/patches/12.2-e40d13d/todo/xbmc-995.03-OMXPlayer-Audio-fix_incorrect_usage_of_flag_talled.patch.bk b/packages/mediacenter/xbmc/patches/12.2-5c517b8/todo/xbmc-995.03-OMXPlayer-Audio-fix_incorrect_usage_of_flag_talled.patch.bk similarity index 100% rename from packages/mediacenter/xbmc/patches/12.2-e40d13d/todo/xbmc-995.03-OMXPlayer-Audio-fix_incorrect_usage_of_flag_talled.patch.bk rename to packages/mediacenter/xbmc/patches/12.2-5c517b8/todo/xbmc-995.03-OMXPlayer-Audio-fix_incorrect_usage_of_flag_talled.patch.bk diff --git a/packages/mediacenter/xbmc/patches/12.2-e40d13d/todo/xbmc-995.04-OMXPlayer-some_caching_fixes_for_pvr.patch.bk b/packages/mediacenter/xbmc/patches/12.2-5c517b8/todo/xbmc-995.04-OMXPlayer-some_caching_fixes_for_pvr.patch.bk similarity index 100% rename from packages/mediacenter/xbmc/patches/12.2-e40d13d/todo/xbmc-995.04-OMXPlayer-some_caching_fixes_for_pvr.patch.bk rename to packages/mediacenter/xbmc/patches/12.2-5c517b8/todo/xbmc-995.04-OMXPlayer-some_caching_fixes_for_pvr.patch.bk diff --git a/packages/mediacenter/xbmc/patches/12.2-e40d13d/xbmc-321-texturepacker-hostflags-and-rework.patch b/packages/mediacenter/xbmc/patches/12.2-5c517b8/xbmc-321-texturepacker-hostflags-and-rework.patch similarity index 100% rename from packages/mediacenter/xbmc/patches/12.2-e40d13d/xbmc-321-texturepacker-hostflags-and-rework.patch rename to packages/mediacenter/xbmc/patches/12.2-5c517b8/xbmc-321-texturepacker-hostflags-and-rework.patch diff --git a/packages/mediacenter/xbmc/patches/12.2-e40d13d/xbmc-408-enable_PYTHONOPTIMIZE_with_external_Python-0.1.patch b/packages/mediacenter/xbmc/patches/12.2-5c517b8/xbmc-408-enable_PYTHONOPTIMIZE_with_external_Python-0.1.patch similarity index 100% rename from packages/mediacenter/xbmc/patches/12.2-e40d13d/xbmc-408-enable_PYTHONOPTIMIZE_with_external_Python-0.1.patch rename to packages/mediacenter/xbmc/patches/12.2-5c517b8/xbmc-408-enable_PYTHONOPTIMIZE_with_external_Python-0.1.patch diff --git a/packages/mediacenter/xbmc/patches/12.2-e40d13d/xbmc-452-change_lcd_content-0.1.patch b/packages/mediacenter/xbmc/patches/12.2-5c517b8/xbmc-452-change_lcd_content-0.1.patch similarity index 100% rename from packages/mediacenter/xbmc/patches/12.2-e40d13d/xbmc-452-change_lcd_content-0.1.patch rename to packages/mediacenter/xbmc/patches/12.2-5c517b8/xbmc-452-change_lcd_content-0.1.patch diff --git a/packages/mediacenter/xbmc/patches/12.2-e40d13d/xbmc-453-add_openelec.tv_RSS_news-0.1.patch b/packages/mediacenter/xbmc/patches/12.2-5c517b8/xbmc-453-add_openelec.tv_RSS_news-0.1.patch similarity index 100% rename from packages/mediacenter/xbmc/patches/12.2-e40d13d/xbmc-453-add_openelec.tv_RSS_news-0.1.patch rename to packages/mediacenter/xbmc/patches/12.2-5c517b8/xbmc-453-add_openelec.tv_RSS_news-0.1.patch diff --git a/packages/mediacenter/xbmc/patches/12.2-e40d13d/xbmc-990.00-remove-windowed-display-mode.patch b/packages/mediacenter/xbmc/patches/12.2-5c517b8/xbmc-990.00-remove-windowed-display-mode.patch similarity index 100% rename from packages/mediacenter/xbmc/patches/12.2-e40d13d/xbmc-990.00-remove-windowed-display-mode.patch rename to packages/mediacenter/xbmc/patches/12.2-5c517b8/xbmc-990.00-remove-windowed-display-mode.patch diff --git a/packages/mediacenter/xbmc/patches/12.2-e40d13d/xbmc-990.24-smbnfsdeinit-and-wait-for-nic-on-wakeup.patch b/packages/mediacenter/xbmc/patches/12.2-5c517b8/xbmc-990.24-smbnfsdeinit-and-wait-for-nic-on-wakeup.patch similarity index 100% rename from packages/mediacenter/xbmc/patches/12.2-e40d13d/xbmc-990.24-smbnfsdeinit-and-wait-for-nic-on-wakeup.patch rename to packages/mediacenter/xbmc/patches/12.2-5c517b8/xbmc-990.24-smbnfsdeinit-and-wait-for-nic-on-wakeup.patch diff --git a/packages/mediacenter/xbmc/patches/12.2-e40d13d/xbmc-995.11-enable-vpp-deinterlacing.patch b/packages/mediacenter/xbmc/patches/12.2-5c517b8/xbmc-995.11-enable-vpp-deinterlacing.patch similarity index 100% rename from packages/mediacenter/xbmc/patches/12.2-e40d13d/xbmc-995.11-enable-vpp-deinterlacing.patch rename to packages/mediacenter/xbmc/patches/12.2-5c517b8/xbmc-995.11-enable-vpp-deinterlacing.patch diff --git a/packages/mediacenter/xbmc/patches/12.2-e40d13d/xbmc-995.12-enable-vpp-fix-audio-out-of-sync.patch b/packages/mediacenter/xbmc/patches/12.2-5c517b8/xbmc-995.12-enable-vpp-fix-audio-out-of-sync.patch similarity index 100% rename from packages/mediacenter/xbmc/patches/12.2-e40d13d/xbmc-995.12-enable-vpp-fix-audio-out-of-sync.patch rename to packages/mediacenter/xbmc/patches/12.2-5c517b8/xbmc-995.12-enable-vpp-fix-audio-out-of-sync.patch diff --git a/packages/mediacenter/xbmc/patches/12.2-e40d13d/xbmc-995.13-vpp-fix-skipping.patch b/packages/mediacenter/xbmc/patches/12.2-5c517b8/xbmc-995.13-vpp-fix-skipping.patch similarity index 100% rename from packages/mediacenter/xbmc/patches/12.2-e40d13d/xbmc-995.13-vpp-fix-skipping.patch rename to packages/mediacenter/xbmc/patches/12.2-5c517b8/xbmc-995.13-vpp-fix-skipping.patch From 472f8cab73df614f8d3f0c2f5bb3c9607c92c807 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Wed, 7 Aug 2013 21:16:12 +0200 Subject: [PATCH 05/12] bcm2835-driver: update to bcm2835-driver-04b5c99 Signed-off-by: Stephan Raue --- packages/graphics/bcm2835-driver/package.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/graphics/bcm2835-driver/package.mk b/packages/graphics/bcm2835-driver/package.mk index b8d37792d5..dc592d1f3f 100644 --- a/packages/graphics/bcm2835-driver/package.mk +++ b/packages/graphics/bcm2835-driver/package.mk @@ -19,7 +19,7 @@ ################################################################################ PKG_NAME="bcm2835-driver" -PKG_VERSION="89ac8f4" +PKG_VERSION="04b5c99" PKG_REV="1" PKG_ARCH="any" PKG_LICENSE="nonfree" From 399c8e06e636bbc3eb49a79fb695239258431612 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Wed, 7 Aug 2013 21:16:31 +0200 Subject: [PATCH 06/12] bcm2835-bootloader: update to bcm2835-bootloader-04b5c99 Signed-off-by: Stephan Raue --- packages/tools/bcm2835-bootloader/package.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/tools/bcm2835-bootloader/package.mk b/packages/tools/bcm2835-bootloader/package.mk index 3ecac88b1c..b07b1881d9 100644 --- a/packages/tools/bcm2835-bootloader/package.mk +++ b/packages/tools/bcm2835-bootloader/package.mk @@ -19,7 +19,7 @@ ################################################################################ PKG_NAME="bcm2835-bootloader" -PKG_VERSION="89ac8f4" +PKG_VERSION="04b5c99" PKG_REV="1" PKG_ARCH="arm" PKG_LICENSE="nonfree" From ee19622cd748fa5e1d3d0efa81d28db88325ba16 Mon Sep 17 00:00:00 2001 From: Stefan Saraev Date: Wed, 7 Aug 2013 23:10:15 +0300 Subject: [PATCH 07/12] bluez: obexd: create root folder --- packages/network/bluez/init.d/55_obexd | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/network/bluez/init.d/55_obexd b/packages/network/bluez/init.d/55_obexd index cd1995c6ce..1f0f5b67f0 100644 --- a/packages/network/bluez/init.d/55_obexd +++ b/packages/network/bluez/init.d/55_obexd @@ -41,6 +41,7 @@ if [ "$BLUEZ_ENABLED" == "true" -a "$OBEXD_ENABLED" == "true" ]; then progress "Starting obexd" wait_for_dbus + mkdir -p "$OBEXD_ROOT" /usr/lib/bluetooth/obexd $OBEXD_DEBUG -r "$OBEXD_ROOT" &>/dev/null fi )& From 6b2b4383ebe969f5d17947ef03f413def377e8d6 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Thu, 8 Aug 2013 01:33:26 +0200 Subject: [PATCH 08/12] xbmc: update to xbmc-12.2-a603ef9 Signed-off-by: Stephan Raue --- packages/mediacenter/xbmc-theme-Confluence/meta | 2 +- packages/mediacenter/xbmc/package.mk | 2 +- .../todo/xbmc-990.27-PR2232.patch.bk | 0 ...-OMXPlayer-Audio-fix_incorrect_usage_of_flag_talled.patch.bk | 0 .../xbmc-995.04-OMXPlayer-some_caching_fixes_for_pvr.patch.bk | 0 .../xbmc-321-texturepacker-hostflags-and-rework.patch | 0 ...bmc-408-enable_PYTHONOPTIMIZE_with_external_Python-0.1.patch | 0 .../xbmc-452-change_lcd_content-0.1.patch | 0 .../xbmc-453-add_openelec.tv_RSS_news-0.1.patch | 0 .../xbmc-990.00-remove-windowed-display-mode.patch | 0 .../xbmc-990.24-smbnfsdeinit-and-wait-for-nic-on-wakeup.patch | 0 .../xbmc-995.11-enable-vpp-deinterlacing.patch | 0 .../xbmc-995.12-enable-vpp-fix-audio-out-of-sync.patch | 0 .../xbmc-995.13-vpp-fix-skipping.patch | 0 14 files changed, 2 insertions(+), 2 deletions(-) rename packages/mediacenter/xbmc/patches/{12.2-5c517b8 => 12.2-a603ef9}/todo/xbmc-990.27-PR2232.patch.bk (100%) rename packages/mediacenter/xbmc/patches/{12.2-5c517b8 => 12.2-a603ef9}/todo/xbmc-995.03-OMXPlayer-Audio-fix_incorrect_usage_of_flag_talled.patch.bk (100%) rename packages/mediacenter/xbmc/patches/{12.2-5c517b8 => 12.2-a603ef9}/todo/xbmc-995.04-OMXPlayer-some_caching_fixes_for_pvr.patch.bk (100%) rename packages/mediacenter/xbmc/patches/{12.2-5c517b8 => 12.2-a603ef9}/xbmc-321-texturepacker-hostflags-and-rework.patch (100%) rename packages/mediacenter/xbmc/patches/{12.2-5c517b8 => 12.2-a603ef9}/xbmc-408-enable_PYTHONOPTIMIZE_with_external_Python-0.1.patch (100%) rename packages/mediacenter/xbmc/patches/{12.2-5c517b8 => 12.2-a603ef9}/xbmc-452-change_lcd_content-0.1.patch (100%) rename packages/mediacenter/xbmc/patches/{12.2-5c517b8 => 12.2-a603ef9}/xbmc-453-add_openelec.tv_RSS_news-0.1.patch (100%) rename packages/mediacenter/xbmc/patches/{12.2-5c517b8 => 12.2-a603ef9}/xbmc-990.00-remove-windowed-display-mode.patch (100%) rename packages/mediacenter/xbmc/patches/{12.2-5c517b8 => 12.2-a603ef9}/xbmc-990.24-smbnfsdeinit-and-wait-for-nic-on-wakeup.patch (100%) rename packages/mediacenter/xbmc/patches/{12.2-5c517b8 => 12.2-a603ef9}/xbmc-995.11-enable-vpp-deinterlacing.patch (100%) rename packages/mediacenter/xbmc/patches/{12.2-5c517b8 => 12.2-a603ef9}/xbmc-995.12-enable-vpp-fix-audio-out-of-sync.patch (100%) rename packages/mediacenter/xbmc/patches/{12.2-5c517b8 => 12.2-a603ef9}/xbmc-995.13-vpp-fix-skipping.patch (100%) diff --git a/packages/mediacenter/xbmc-theme-Confluence/meta b/packages/mediacenter/xbmc-theme-Confluence/meta index 0e52066df7..80c99240e0 100644 --- a/packages/mediacenter/xbmc-theme-Confluence/meta +++ b/packages/mediacenter/xbmc-theme-Confluence/meta @@ -19,7 +19,7 @@ ################################################################################ PKG_NAME="xbmc-theme-Confluence" -PKG_VERSION="12.2-5c517b8" +PKG_VERSION="12.2-a603ef9" if [ "$XBMC" = "master" ]; then PKG_VERSION="13.alpha-df91888" elif [ "$XBMC" = "xbmc-aml" ]; then diff --git a/packages/mediacenter/xbmc/package.mk b/packages/mediacenter/xbmc/package.mk index c8cedca510..a741264c25 100644 --- a/packages/mediacenter/xbmc/package.mk +++ b/packages/mediacenter/xbmc/package.mk @@ -19,7 +19,7 @@ ################################################################################ PKG_NAME="xbmc" -PKG_VERSION="12.2-5c517b8" +PKG_VERSION="12.2-a603ef9" if [ "$XBMC" = "master" ]; then PKG_VERSION="13.alpha-df91888" elif [ "$XBMC" = "xbmc-aml" ]; then diff --git a/packages/mediacenter/xbmc/patches/12.2-5c517b8/todo/xbmc-990.27-PR2232.patch.bk b/packages/mediacenter/xbmc/patches/12.2-a603ef9/todo/xbmc-990.27-PR2232.patch.bk similarity index 100% rename from packages/mediacenter/xbmc/patches/12.2-5c517b8/todo/xbmc-990.27-PR2232.patch.bk rename to packages/mediacenter/xbmc/patches/12.2-a603ef9/todo/xbmc-990.27-PR2232.patch.bk diff --git a/packages/mediacenter/xbmc/patches/12.2-5c517b8/todo/xbmc-995.03-OMXPlayer-Audio-fix_incorrect_usage_of_flag_talled.patch.bk b/packages/mediacenter/xbmc/patches/12.2-a603ef9/todo/xbmc-995.03-OMXPlayer-Audio-fix_incorrect_usage_of_flag_talled.patch.bk similarity index 100% rename from packages/mediacenter/xbmc/patches/12.2-5c517b8/todo/xbmc-995.03-OMXPlayer-Audio-fix_incorrect_usage_of_flag_talled.patch.bk rename to packages/mediacenter/xbmc/patches/12.2-a603ef9/todo/xbmc-995.03-OMXPlayer-Audio-fix_incorrect_usage_of_flag_talled.patch.bk diff --git a/packages/mediacenter/xbmc/patches/12.2-5c517b8/todo/xbmc-995.04-OMXPlayer-some_caching_fixes_for_pvr.patch.bk b/packages/mediacenter/xbmc/patches/12.2-a603ef9/todo/xbmc-995.04-OMXPlayer-some_caching_fixes_for_pvr.patch.bk similarity index 100% rename from packages/mediacenter/xbmc/patches/12.2-5c517b8/todo/xbmc-995.04-OMXPlayer-some_caching_fixes_for_pvr.patch.bk rename to packages/mediacenter/xbmc/patches/12.2-a603ef9/todo/xbmc-995.04-OMXPlayer-some_caching_fixes_for_pvr.patch.bk diff --git a/packages/mediacenter/xbmc/patches/12.2-5c517b8/xbmc-321-texturepacker-hostflags-and-rework.patch b/packages/mediacenter/xbmc/patches/12.2-a603ef9/xbmc-321-texturepacker-hostflags-and-rework.patch similarity index 100% rename from packages/mediacenter/xbmc/patches/12.2-5c517b8/xbmc-321-texturepacker-hostflags-and-rework.patch rename to packages/mediacenter/xbmc/patches/12.2-a603ef9/xbmc-321-texturepacker-hostflags-and-rework.patch diff --git a/packages/mediacenter/xbmc/patches/12.2-5c517b8/xbmc-408-enable_PYTHONOPTIMIZE_with_external_Python-0.1.patch b/packages/mediacenter/xbmc/patches/12.2-a603ef9/xbmc-408-enable_PYTHONOPTIMIZE_with_external_Python-0.1.patch similarity index 100% rename from packages/mediacenter/xbmc/patches/12.2-5c517b8/xbmc-408-enable_PYTHONOPTIMIZE_with_external_Python-0.1.patch rename to packages/mediacenter/xbmc/patches/12.2-a603ef9/xbmc-408-enable_PYTHONOPTIMIZE_with_external_Python-0.1.patch diff --git a/packages/mediacenter/xbmc/patches/12.2-5c517b8/xbmc-452-change_lcd_content-0.1.patch b/packages/mediacenter/xbmc/patches/12.2-a603ef9/xbmc-452-change_lcd_content-0.1.patch similarity index 100% rename from packages/mediacenter/xbmc/patches/12.2-5c517b8/xbmc-452-change_lcd_content-0.1.patch rename to packages/mediacenter/xbmc/patches/12.2-a603ef9/xbmc-452-change_lcd_content-0.1.patch diff --git a/packages/mediacenter/xbmc/patches/12.2-5c517b8/xbmc-453-add_openelec.tv_RSS_news-0.1.patch b/packages/mediacenter/xbmc/patches/12.2-a603ef9/xbmc-453-add_openelec.tv_RSS_news-0.1.patch similarity index 100% rename from packages/mediacenter/xbmc/patches/12.2-5c517b8/xbmc-453-add_openelec.tv_RSS_news-0.1.patch rename to packages/mediacenter/xbmc/patches/12.2-a603ef9/xbmc-453-add_openelec.tv_RSS_news-0.1.patch diff --git a/packages/mediacenter/xbmc/patches/12.2-5c517b8/xbmc-990.00-remove-windowed-display-mode.patch b/packages/mediacenter/xbmc/patches/12.2-a603ef9/xbmc-990.00-remove-windowed-display-mode.patch similarity index 100% rename from packages/mediacenter/xbmc/patches/12.2-5c517b8/xbmc-990.00-remove-windowed-display-mode.patch rename to packages/mediacenter/xbmc/patches/12.2-a603ef9/xbmc-990.00-remove-windowed-display-mode.patch diff --git a/packages/mediacenter/xbmc/patches/12.2-5c517b8/xbmc-990.24-smbnfsdeinit-and-wait-for-nic-on-wakeup.patch b/packages/mediacenter/xbmc/patches/12.2-a603ef9/xbmc-990.24-smbnfsdeinit-and-wait-for-nic-on-wakeup.patch similarity index 100% rename from packages/mediacenter/xbmc/patches/12.2-5c517b8/xbmc-990.24-smbnfsdeinit-and-wait-for-nic-on-wakeup.patch rename to packages/mediacenter/xbmc/patches/12.2-a603ef9/xbmc-990.24-smbnfsdeinit-and-wait-for-nic-on-wakeup.patch diff --git a/packages/mediacenter/xbmc/patches/12.2-5c517b8/xbmc-995.11-enable-vpp-deinterlacing.patch b/packages/mediacenter/xbmc/patches/12.2-a603ef9/xbmc-995.11-enable-vpp-deinterlacing.patch similarity index 100% rename from packages/mediacenter/xbmc/patches/12.2-5c517b8/xbmc-995.11-enable-vpp-deinterlacing.patch rename to packages/mediacenter/xbmc/patches/12.2-a603ef9/xbmc-995.11-enable-vpp-deinterlacing.patch diff --git a/packages/mediacenter/xbmc/patches/12.2-5c517b8/xbmc-995.12-enable-vpp-fix-audio-out-of-sync.patch b/packages/mediacenter/xbmc/patches/12.2-a603ef9/xbmc-995.12-enable-vpp-fix-audio-out-of-sync.patch similarity index 100% rename from packages/mediacenter/xbmc/patches/12.2-5c517b8/xbmc-995.12-enable-vpp-fix-audio-out-of-sync.patch rename to packages/mediacenter/xbmc/patches/12.2-a603ef9/xbmc-995.12-enable-vpp-fix-audio-out-of-sync.patch diff --git a/packages/mediacenter/xbmc/patches/12.2-5c517b8/xbmc-995.13-vpp-fix-skipping.patch b/packages/mediacenter/xbmc/patches/12.2-a603ef9/xbmc-995.13-vpp-fix-skipping.patch similarity index 100% rename from packages/mediacenter/xbmc/patches/12.2-5c517b8/xbmc-995.13-vpp-fix-skipping.patch rename to packages/mediacenter/xbmc/patches/12.2-a603ef9/xbmc-995.13-vpp-fix-skipping.patch From 81c182f2358ab17e262f84fe4fc49ec1783aa23e Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Thu, 8 Aug 2013 01:35:10 +0200 Subject: [PATCH 09/12] bcm2835-driver: update to bcm2835-driver-fb15696 Signed-off-by: Stephan Raue --- packages/graphics/bcm2835-driver/package.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/graphics/bcm2835-driver/package.mk b/packages/graphics/bcm2835-driver/package.mk index dc592d1f3f..11587710e7 100644 --- a/packages/graphics/bcm2835-driver/package.mk +++ b/packages/graphics/bcm2835-driver/package.mk @@ -19,7 +19,7 @@ ################################################################################ PKG_NAME="bcm2835-driver" -PKG_VERSION="04b5c99" +PKG_VERSION="fb15696" PKG_REV="1" PKG_ARCH="any" PKG_LICENSE="nonfree" From 75c284b955cc2770c26b870c9b4326c709c1dc45 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Thu, 8 Aug 2013 01:35:28 +0200 Subject: [PATCH 10/12] bcm2835-bootloader: update to bcm2835-bootloader-fb15696 Signed-off-by: Stephan Raue --- packages/tools/bcm2835-bootloader/package.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/tools/bcm2835-bootloader/package.mk b/packages/tools/bcm2835-bootloader/package.mk index b07b1881d9..c01add3bd2 100644 --- a/packages/tools/bcm2835-bootloader/package.mk +++ b/packages/tools/bcm2835-bootloader/package.mk @@ -19,7 +19,7 @@ ################################################################################ PKG_NAME="bcm2835-bootloader" -PKG_VERSION="04b5c99" +PKG_VERSION="fb15696" PKG_REV="1" PKG_ARCH="arm" PKG_LICENSE="nonfree" From 98bd90e89bfd278c312d8fe83a109df3292ff110 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Thu, 8 Aug 2013 01:36:09 +0200 Subject: [PATCH 11/12] libvdpau: update to libvdpau-0.7 Signed-off-by: Stephan Raue --- packages/multimedia/libvdpau/meta | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/multimedia/libvdpau/meta b/packages/multimedia/libvdpau/meta index 03b36cc44e..eacf4df766 100644 --- a/packages/multimedia/libvdpau/meta +++ b/packages/multimedia/libvdpau/meta @@ -19,7 +19,7 @@ ################################################################################ PKG_NAME="libvdpau" -PKG_VERSION="0.6" +PKG_VERSION="0.7" PKG_REV="1" PKG_ARCH="any" PKG_LICENSE="GPL" From 814174c25fe0868349cf721e06d689fe5c9dd2da Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Thu, 8 Aug 2013 01:36:48 +0200 Subject: [PATCH 12/12] xf86-video-intel: update to xf86-video-intel-2.21.14 Signed-off-by: Stephan Raue --- .../x11/driver/xf86-video-intel/package.mk | 2 +- .../xf86-video-intel-dri_configure.patch | 36 +++++++++++++++++++ 2 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 packages/x11/driver/xf86-video-intel/patches/xf86-video-intel-dri_configure.patch diff --git a/packages/x11/driver/xf86-video-intel/package.mk b/packages/x11/driver/xf86-video-intel/package.mk index 78230fc6b7..86ef1aa24d 100644 --- a/packages/x11/driver/xf86-video-intel/package.mk +++ b/packages/x11/driver/xf86-video-intel/package.mk @@ -19,7 +19,7 @@ ################################################################################ PKG_NAME="xf86-video-intel" -PKG_VERSION="2.21.13" +PKG_VERSION="2.21.14" PKG_REV="1" PKG_ARCH="i386 x86_64" PKG_LICENSE="OSS" diff --git a/packages/x11/driver/xf86-video-intel/patches/xf86-video-intel-dri_configure.patch b/packages/x11/driver/xf86-video-intel/patches/xf86-video-intel-dri_configure.patch new file mode 100644 index 0000000000..0af6e60108 --- /dev/null +++ b/packages/x11/driver/xf86-video-intel/patches/xf86-video-intel-dri_configure.patch @@ -0,0 +1,36 @@ +From 6004870d53221caf05a330fcfc8a72e68b2b8898 Mon Sep 17 00:00:00 2001 +From: Dave Airlie +Date: Tue, 06 Aug 2013 03:03:18 +0000 +Subject: configure.ac: fix dri enabled with kms only picked + +Otherwise we'd fail saying DRI1 wasn't possible, when that +is exactly what we asked for. + +[ickle: The breakage was introduced with + +commit bd6ffd1ad2f903215d2c631252e742a0f6893054 [2.21.14] +Author: Chris Wilson +Date: Sat Jul 27 15:33:19 2013 +0100 + + configure: Print a summary of compilation options + +which modified the search to only take place if UMS was enabled, but +missed mollifying the resulting error.] + +Signed-off-by: Dave Airlie +--- +diff --git a/configure.ac b/configure.ac +index 104113e..88f29cc 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -433,7 +433,7 @@ else + DRI1_CFLAGS="" + DRI1_LIBS="" + +- if test "x$enable_dri" = "xyes"; then ++ if test "x$enable_dri" = "xyes" -a "x$KMS_ONLY" != "xyes"; then + AC_MSG_ERROR([DRI1 requested but prerequisites not found]) + fi + fi +-- +cgit v0.9.0.2-2-gbebe