aboutsummaryrefslogtreecommitdiff
path: root/lib/python/Screens
diff options
context:
space:
mode:
authorFelix Domke <tmbinc@elitedvb.net>2009-04-19 23:33:44 +0200
committerFelix Domke <tmbinc@elitedvb.net>2009-04-19 23:33:44 +0200
commite8f443313e47e0653d61d23c90352572194e5608 (patch)
tree7188d3ea5a8c91066fe1dfd5f7241eeb3e3c5226 /lib/python/Screens
parent2d7f4e102ee3231bdb600b0ac7e2d8f898034b78 (diff)
parent0d076f400e8740e55289427c0f19c8055c74bbc5 (diff)
downloadenigma2-e8f443313e47e0653d61d23c90352572194e5608.tar.gz
enigma2-e8f443313e47e0653d61d23c90352572194e5608.zip
Merge branch 'master' of /home/tmbinc/enigma2-git
Diffstat (limited to 'lib/python/Screens')
-rw-r--r--lib/python/Screens/PluginBrowser.py22
-rwxr-xr-xlib/python/Screens/VirtualKeyBoard.py16
2 files changed, 27 insertions, 11 deletions
diff --git a/lib/python/Screens/PluginBrowser.py b/lib/python/Screens/PluginBrowser.py
index cd17e2e0..5ba7043d 100644
--- a/lib/python/Screens/PluginBrowser.py
+++ b/lib/python/Screens/PluginBrowser.py
@@ -12,6 +12,7 @@ from Plugins.Plugin import PluginDescriptor
from Tools.Directories import resolveFilename, SCOPE_PLUGINS, SCOPE_SKIN_IMAGE
from Tools.LoadPixmap import LoadPixmap
+from time import time
class PluginBrowser(Screen):
def __init__(self, session):
@@ -65,7 +66,8 @@ class PluginBrowser(Screen):
class PluginDownloadBrowser(Screen):
DOWNLOAD = 0
REMOVE = 1
-
+ lastDownloadDate = None
+
def __init__(self, session, type):
Screen.__init__(self, session)
@@ -130,14 +132,22 @@ class PluginDownloadBrowser(Screen):
elif self.type == self.REMOVE:
self.setTitle(_("Remove plugins"))
+ def startIpkgListInstalled(self):
+ self.container.execute("ipkg list_installed enigma2-plugin-*")
+
def startRun(self):
self["list"].instance.hide()
if self.type == self.DOWNLOAD:
- self.container.execute("ipkg update")
+ if not PluginDownloadBrowser.lastDownloadDate or (time() - PluginDownloadBrowser.lastDownloadDate) > 3600:
+ # Only update from internet once per hour
+ self.container.execute("ipkg update")
+ PluginDownloadBrowser.lastDownloadDate = time()
+ else:
+ self.startIpkgListInstalled()
elif self.type == self.REMOVE:
self.run = 1
- self.container.execute("ipkg list_installed enigma2-plugin-*")
-
+ self.startIpkgListInstalled()
+
def installFinished(self):
plugins.readPluginList(resolveFilename(SCOPE_PLUGINS))
self.container.appClosed.remove(self.runFinished)
@@ -149,7 +159,7 @@ class PluginDownloadBrowser(Screen):
if self.run == 0:
self.run = 1
if self.type == self.DOWNLOAD:
- self.container.execute("ipkg list_installed enigma2-plugin-*")
+ self.startIpkgListInstalled()
elif self.run == 1 and self.type == self.DOWNLOAD:
self.run = 2
self.container.execute("ipkg list enigma2-plugin-*")
@@ -192,7 +202,7 @@ class PluginDownloadBrowser(Screen):
self.plugins = {}
for x in self.pluginlist:
- split = x[3].split('-')
+ split = x[3].split('-', 1)
if len(split) < 2:
continue
if not self.plugins.has_key(split[0]):
diff --git a/lib/python/Screens/VirtualKeyBoard.py b/lib/python/Screens/VirtualKeyBoard.py
index 9b676a5f..bde6f75d 100755
--- a/lib/python/Screens/VirtualKeyBoard.py
+++ b/lib/python/Screens/VirtualKeyBoard.py
@@ -157,6 +157,8 @@ class VirtualKeyBoard(Screen):
}, -2)
self.onLayoutFinish.append(self.buildVirtualKeyBoard)
+
+ self.max_key=47+len(self.keys_list[4])
def buildVirtualKeyBoard(self, selectedKey=0):
list = []
@@ -251,7 +253,7 @@ class VirtualKeyBoard(Screen):
elif self.selectedKey == 35:
self.selectedKey = 47
elif self.selectedKey == 47:
- self.selectedKey = 59
+ self.selectedKey = self.max_key
self.showActiveKey()
@@ -266,7 +268,7 @@ class VirtualKeyBoard(Screen):
self.selectedKey = 24
elif self.selectedKey == 48:
self.selectedKey = 36
- elif self.selectedKey == 60:
+ elif self.selectedKey > self.max_key:
self.selectedKey = 48
self.showActiveKey()
@@ -274,16 +276,20 @@ class VirtualKeyBoard(Screen):
def up(self):
self.selectedKey -= 12
- if self.selectedKey < 0:
- self.selectedKey += 60
+ if (self.selectedKey < 0) and (self.selectedKey > (self.max_key-60)):
+ self.selectedKey += 48
+ elif self.selectedKey < 0:
+ self.selectedKey += 60
self.showActiveKey()
def down(self):
self.selectedKey += 12
- if self.selectedKey > 59:
+ if (self.selectedKey > self.max_key) and (self.selectedKey > 59):
self.selectedKey -= 60
+ elif self.selectedKey > self.max_key:
+ self.selectedKey -= 48
self.showActiveKey()