aboutsummaryrefslogtreecommitdiff
path: root/lib/python
diff options
context:
space:
mode:
authorAndreas Monzner <andreas.monzner@multimedia-labs.de>2008-06-25 11:50:01 +0000
committerAndreas Monzner <andreas.monzner@multimedia-labs.de>2008-06-25 11:50:01 +0000
commit21f7d1f555aaee934524bf6181b9941c642246a8 (patch)
tree6ca27158d3c1f3df8189dfc5422714f1b4970e29 /lib/python
parenta9e03c73e9b7c9e2bda1418bde9f81dc056f34f8 (diff)
downloadenigma2-21f7d1f555aaee934524bf6181b9941c642246a8.tar.gz
enigma2-21f7d1f555aaee934524bf6181b9941c642246a8.zip
take care of hotplug events just when the infobar is execing (no other menu
is visible)
Diffstat (limited to 'lib/python')
-rw-r--r--lib/python/Plugins/Extensions/MediaScanner/plugin.py18
-rw-r--r--lib/python/Screens/InfoBar.py6
2 files changed, 18 insertions, 6 deletions
diff --git a/lib/python/Plugins/Extensions/MediaScanner/plugin.py b/lib/python/Plugins/Extensions/MediaScanner/plugin.py
index c5f6043e..5b320ea9 100644
--- a/lib/python/Plugins/Extensions/MediaScanner/plugin.py
+++ b/lib/python/Plugins/Extensions/MediaScanner/plugin.py
@@ -1,5 +1,6 @@
from Plugins.Plugin import PluginDescriptor
from Components.Scanner import scanDevice
+from Screens.InfoBar import InfoBar
def execute(option):
print "execute", option
@@ -57,12 +58,17 @@ def menuHook(menuid):
global_session = None
def partitionListChanged(action, device):
- pass
-# if action == 'add' and device.is_hotplug:
-# print "mountpoint", device.mountpoint
-# print "description", device.description
-# print "force_mounted", device.force_mounted
-# mountpoint_choosen((device.description, device.mountpoint, global_session))
+ if InfoBar.instance:
+ if InfoBar.instance.execing:
+ if action == 'add' and device.is_hotplug:
+ print "mountpoint", device.mountpoint
+ print "description", device.description
+ print "force_mounted", device.force_mounted
+ mountpoint_choosen((device.description, device.mountpoint, global_session))
+ else:
+ print "main infobar is not execing... so we ignore hotplug event!"
+ else:
+ print "hotplug event.. but no infobar"
def sessionstart(reason, session):
global global_session
diff --git a/lib/python/Screens/InfoBar.py b/lib/python/Screens/InfoBar.py
index 99979b13..8f400d24 100644
--- a/lib/python/Screens/InfoBar.py
+++ b/lib/python/Screens/InfoBar.py
@@ -40,6 +40,7 @@ class InfoBar(InfoBarBase, InfoBarShowHide,
Screen):
ALLOW_SUSPEND = True
+ instance = None
def __init__(self, session):
Screen.__init__(self, session)
@@ -69,6 +70,11 @@ class InfoBar(InfoBarBase, InfoBarShowHide,
})
self.current_begin_time=0
+ assert InfoBar.instance is None, "class InfoBar is a singleton class and just one instance of this class is allowed!"
+ InfoBar.instance = self
+
+ def __onClose(self):
+ InfoBar.instance = None
def __eventInfoChanged(self):
if self.execing: