New port numbers
[electrum-nvc.git] / plugins / qrscanner.py
index 8599e7c..01a048f 100644 (file)
@@ -1,16 +1,16 @@
-from electrum.util import print_error
+from electrum_nvc.util import print_error
 from urlparse import urlparse, parse_qs
 from PyQt4.QtGui import QPushButton, QMessageBox, QDialog, QVBoxLayout, QHBoxLayout, QGridLayout, QLabel, QLineEdit, QComboBox
 from PyQt4.QtCore import Qt
 
-from electrum.i18n import _
+from electrum_nvc.i18n import _
 import re
 import os
-from electrum import Transaction
-from electrum.bitcoin import MIN_RELAY_TX_FEE, is_valid
-from electrum_gui.qt.qrcodewidget import QRCodeWidget
-from electrum import bmp
-from electrum_gui.qt import HelpButton, EnterButton
+from electrum_nvc import Transaction
+from electrum_nvc.bitcoin import MIN_RELAY_TX_FEE, is_valid
+from electrum_nvc_gui.qt.qrcodewidget import QRCodeWidget
+from electrum_nvc import bmp
+from electrum_nvc_gui.qt import HelpButton, EnterButton
 import json
 
 try:
@@ -18,7 +18,7 @@ try:
 except ImportError:
     zbar = None
 
-from electrum import BasePlugin
+from electrum_nvc import BasePlugin
 class Plugin(BasePlugin):
 
     def fullname(self): return 'QR scans'
@@ -35,32 +35,24 @@ class Plugin(BasePlugin):
         try:
             proc = zbar.Processor()
             proc.init(video_device=self.video_device())
+        except zbar.UnsupportedError:
+            return False
         except zbar.SystemError:
             # Cannot open video device
             pass
-            #return False
 
         return True
 
     def init(self):
         self.win = self.gui.main_window
-        self.win.raw_transaction_menu.addAction(_("&From QR code"), self.read_raw_qr)
-
-    def init_transaction_dialog(self, dialog, buttons):
-        b = QPushButton(_("Show QR code"))
-        b.clicked.connect(lambda: self.show_raw_qr(dialog.tx))
-        buttons.insertWidget(1,b)
 
     def is_available(self):
         return self._is_available
 
-    def scan_qr_hook(self, func):
-        data = self.scan_qr()
-        if type(data) != str:
-            return
-        func(data)
+    def is_enabled(self):
+        return True
 
-    def scan_qr(self):
+    def scan_qr_hook(self):
         proc = zbar.Processor()
         try:
             proc.init(video_device=self.video_device())
@@ -82,22 +74,6 @@ class Plugin(BasePlugin):
                     continue
                 return r.data
         
-    def show_raw_qr(self, tx):
-        try:
-            json_text = json.dumps(tx.as_dict()).replace(' ', '')
-            self.win.show_qrcode(json_text, 'Transaction')
-        except Exception as e:
-            self.win.show_message(str(e))
-
-
-    def read_raw_qr(self):
-        qrcode = self.scan_qr()
-        if not qrcode:
-            return
-        tx = self.win.tx_from_text(qrcode)
-        if not tx:
-            return
-        self.win.show_transaction(tx)
 
     def video_device(self):
         device = self.config.get("video_device", "default")
@@ -141,7 +117,7 @@ class Plugin(BasePlugin):
                 if self.config.get("video_device") == "default":
                     self.video_device_edit.setText("")
                 else:
-                    self.video_device_edit.setText(self.config.get("video_device"))
+                    self.video_device_edit.setText(self.config.get("video_device",''))
             else:
                 custom_device_label.setVisible(False)
                 self.video_device_edit.setVisible(False)