Move is_available() logic to init(), to prevent camera wakeup every second.
[electrum-nvc.git] / plugins / qrscanner.py
index f66e60b..6e327a2 100644 (file)
@@ -13,8 +13,9 @@ class Plugin(BasePlugin):
 
     def __init__(self, gui):
         BasePlugin.__init__(self, gui, 'qrscans', 'QR scans', "QR Scans.\nInstall the zbar package to enable this plugin")
+        self._is_available = self._init()
         
-    def is_available(self):
+    def _init(self):
         if not zbar:
             return False
         try:
@@ -23,8 +24,11 @@ class Plugin(BasePlugin):
         except zbar.SystemError:
             # Cannot open video device
             return False
+
         return True
 
+    def is_available(self):
+        return self._is_available
 
     def create_send_tab(self, grid):
         b = QPushButton(_("Scan QR code"))