1
0

Make more dialogs window-modal

Also remove some unnecessary imports
This commit is contained in:
Neil Booth
2015-12-23 12:20:19 +09:00
parent 0f431b23eb
commit 0a3a0f12cc
7 changed files with 33 additions and 47 deletions

View File

@@ -1,11 +1,4 @@
from electrum.plugins import BasePlugin, hook
from electrum_gui.qt.util import WaitingDialog, EnterButton
from electrum.util import print_msg, print_error
from electrum.i18n import _
from PyQt4.QtGui import *
from PyQt4.QtCore import *
from functools import partial
import traceback
import zlib
import json
@@ -13,6 +6,14 @@ from io import BytesIO
import sys
import platform
from electrum.plugins import BasePlugin, hook
from electrum_gui.qt.util import WaitingDialog, EnterButton, WindowModalDialog
from electrum.util import print_msg, print_error
from electrum.i18n import _
from PyQt4.QtGui import *
from PyQt4.QtCore import *
try:
import amodem.audio
import amodem.main
@@ -42,11 +43,10 @@ class Plugin(BasePlugin):
return True
def settings_widget(self, window):
return EnterButton(_('Settings'), self.settings_dialog)
return EnterButton(_('Settings'), partial(self.settings_dialog, window))
def settings_dialog(self):
d = QDialog()
d.setWindowTitle("Settings")
def settings_dialog(self, window):
d = WindowModalDialog(window, _("Audio Modem Settings"))
layout = QGridLayout(d)
layout.addWidget(QLabel(_('Bit rate [kbps]: ')), 0, 0)

View File

@@ -18,12 +18,10 @@
from __future__ import absolute_import
import socket
import time
import threading
import base64
from decimal import Decimal
from Queue import Queue
from functools import partial
import smtplib
import imaplib
@@ -37,12 +35,11 @@ from PyQt4.QtCore import *
import PyQt4.QtCore as QtCore
import PyQt4.QtGui as QtGui
from electrum.paymentrequest import PR_UNPAID, PR_PAID, PR_EXPIRED
from electrum.plugins import BasePlugin, hook
from electrum import util
from electrum.paymentrequest import PaymentRequest
from electrum.i18n import _
from electrum_gui.qt.util import EnterButton
from electrum_gui.qt.util import EnterButton, Buttons, CloseButton
from electrum_gui.qt.util import OkButton, WindowModalDialog
@@ -166,14 +163,10 @@ class Plugin(BasePlugin):
return True
def settings_widget(self, window):
self.settings_window = window
return EnterButton(_('Settings'), self.settings_dialog)
return EnterButton(_('Settings'), partial(self.settings_dialog, window))
def settings_dialog(self, x):
from electrum_gui.qt.util import Buttons, CloseButton, OkButton
d = QDialog(self.settings_window)
d.setWindowTitle("Email settings")
def settings_dialog(self, window):
d = WindowModalDialog(window, _("Email settings"))
d.setMinimumSize(500, 200)
vbox = QVBoxLayout(d)

View File

@@ -128,11 +128,10 @@ class Plugin(FxPlugin):
window.connect(window.app, SIGNAL('refresh_headers'), window.history_list.refresh_headers)
def settings_widget(self, window):
return EnterButton(_('Settings'), self.settings_dialog)
return EnterButton(_('Settings'), partial(self.settings_dialog, window))
def settings_dialog(self):
d = QDialog()
d.setWindowTitle("Settings")
def settings_dialog(self, window):
d = WindowModalDialog(window, _("Exchange Rate Settings"))
layout = QGridLayout(d)
layout.addWidget(QLabel(_('Exchange rate API: ')), 0, 0)
layout.addWidget(QLabel(_('Currency: ')), 1, 0)

View File

@@ -6,7 +6,8 @@ from PyQt4.QtCore import *
from electrum.plugins import hook
from electrum.i18n import _
from electrum_gui.qt import EnterButton
from electrum_gui.qt.util import ThreadedButton, Buttons, CancelButton, OkButton
from electrum_gui.qt.util import ThreadedButton, Buttons, CancelButton
from electrum_gui.qt.util import WindowModalDialog, OkButton
from labels import LabelsPlugin
@@ -25,25 +26,23 @@ class Plugin(LabelsPlugin):
partial(self.settings_dialog, window))
def settings_dialog(self, window):
d = QDialog(window)
wallet = window.parent().wallet
d = WindowModalDialog(window, _("Label Settings"))
vbox = QVBoxLayout(d)
layout = QGridLayout()
vbox.addLayout(layout)
layout.addWidget(QLabel("Label sync options: "), 2, 0)
self.upload = ThreadedButton("Force upload",
partial(self.push_thread, window.wallet),
partial(self.push_thread, wallet),
self.done_processing)
layout.addWidget(self.upload, 2, 1)
self.download = ThreadedButton("Force download",
partial(self.pull_thread, window.wallet, True),
partial(self.pull_thread, wallet, True),
self.done_processing)
layout.addWidget(self.download, 2, 2)
self.accept = OkButton(d, _("Done"))
vbox.addLayout(Buttons(CancelButton(d), self.accept))
if d.exec_():
return True
else:
return False
return bool(d.exec_())
def on_pulled(self, wallet):
self.obj.emit(SIGNAL('labels_changed'), wallet)

View File

@@ -58,8 +58,7 @@ class Plugin(TrustedCoinPlugin):
t.start()
def auth_dialog(self, window):
d = QDialog(window)
d.setModal(1)
d = WindowModalDialog(window, _("Authorization"))
vbox = QVBoxLayout(d)
pw = AmountEdit(None, is_int = True)
msg = _('Please enter your Google Authenticator code')
@@ -113,8 +112,7 @@ class Plugin(TrustedCoinPlugin):
return
wallet = window.wallet
d = QDialog(window)
d.setWindowTitle("TrustedCoin Information")
d = WindowModalDialog(window, _("TrustedCoin Information"))
d.setMinimumSize(500, 200)
vbox = QVBoxLayout(d)
hbox = QHBoxLayout()