error: Simplify dialog init, remove a bunch of boilerplate

This commit is contained in:
Cole Robinson 2010-11-30 14:33:21 -05:00
parent b935af18c1
commit 749b6cdc88
21 changed files with 81 additions and 126 deletions

View File

@ -59,9 +59,8 @@ data_dir = "::DATADIR::"
logging_setup = False
def _show_startup_error(msg, details):
import gtk
from virtManager.error import vmmErrorDialog
err = vmmErrorDialog(None, 0, gtk.MESSAGE_ERROR, gtk.BUTTONS_CLOSE, "", "")
err = vmmErrorDialog()
title = _("Error starting Virtual Machine Manager")
err.show_err(title + ": " + msg, details, title, async=False,
debug=False)

View File

@ -74,12 +74,11 @@ class vmmAddHardware(gobject.GObject):
self.config = config
self.vm = vm
self.conn = vm.get_connection()
self.window = gtk.glade.XML(config.get_glade_dir() + "/vmm-add-hardware.glade", "vmm-add-hardware", domain="virt-manager")
self.window = gtk.glade.XML(
config.get_glade_dir() + "/vmm-add-hardware.glade",
"vmm-add-hardware", domain="virt-manager")
self.topwin = self.window.get_widget("vmm-add-hardware")
self.err = vmmErrorDialog(self.topwin,
0, gtk.MESSAGE_ERROR, gtk.BUTTONS_CLOSE,
_("Unexpected Error"),
_("An unexpected error occurred"))
self.err = vmmErrorDialog(self.topwin)
self.storage_browser = None

View File

@ -42,10 +42,7 @@ class vmmChooseCD(gobject.GObject):
self.topwin = self.window.get_widget("vmm-choose-cd")
self.topwin.hide()
self.err = vmmErrorDialog(self.topwin,
0, gtk.MESSAGE_ERROR, gtk.BUTTONS_CLOSE,
_("Unexpected Error"),
_("An unexpected error occurred"))
self.err = vmmErrorDialog(self.topwin)
self.config = config
self.dev_id_info = dev_id_info

View File

@ -103,10 +103,7 @@ class vmmCloneVM(gobject.GObject):
"on_change_storage_browse_clicked" : self.change_storage_browse,
})
self.err = vmmErrorDialog(self.topwin,
0, gtk.MESSAGE_ERROR, gtk.BUTTONS_CLOSE,
_("Unexpected Error"),
_("An unexpected error occurred"))
self.err = vmmErrorDialog(self.topwin)
self.topwin.hide()
self.conn = self.orig_vm.connection

View File

@ -56,15 +56,15 @@ class vmmConnect(gobject.GObject):
def __init__(self, config, engine):
self.__gobject_init__()
self.engine = engine
self.window = gtk.glade.XML(
config.get_glade_dir() + "/vmm-open-connection.glade",
"vmm-open-connection", domain="virt-manager")
self.err = vmmErrorDialog(self.window.get_widget("vmm-open-connection"),
0, gtk.MESSAGE_ERROR, gtk.BUTTONS_CLOSE,
_("Unexpected Error"),
_("An unexpected error occurred"))
self.engine = engine
self.window.get_widget("vmm-open-connection").hide()
self.topwin = self.window.get_widget("vmm-open-connection")
self.err = vmmErrorDialog(self.topwin)
self.topwin.hide()
self.window.signal_autoconnect({
"on_hypervisor_changed": self.hypervisor_changed,
@ -110,12 +110,11 @@ class vmmConnect(gobject.GObject):
return 1
def close(self):
self.window.get_widget("vmm-open-connection").hide()
self.topwin.hide()
self.stop_browse()
def show(self):
win = self.window.get_widget("vmm-open-connection")
win.present()
self.topwin.present()
self.reset_state()
def set_initial_state(self):

View File

@ -57,10 +57,7 @@ class vmmConsolePages(gobject.GObject):
self.window = window
self.topwin = self.window.get_widget("vmm-details")
self.err = vmmErrorDialog(self.topwin,
0, gtk.MESSAGE_ERROR, gtk.BUTTONS_CLOSE,
_("Unexpected Error"),
_("An unexpected error occurred"))
self.err = vmmErrorDialog(self.topwin)
self.title = vm.get_name() + " " + self.topwin.get_title()
self.topwin.set_title(self.title)

View File

@ -69,11 +69,14 @@ class vmmCreate(gobject.GObject):
def __init__(self, config, engine):
self.__gobject_init__()
self.config = config
self.engine = engine
self.window = gtk.glade.XML(config.get_glade_dir() + \
"/vmm-create.glade",
"vmm-create", domain="virt-manager")
self.config = config
self.engine = engine
self.topwin = self.window.get_widget("vmm-create")
self.err = vmmErrorDialog(self.topwin)
self.conn = None
self.caps = None
@ -83,12 +86,6 @@ class vmmCreate(gobject.GObject):
self.storage_browser = None
self.conn_signals = []
self.topwin = self.window.get_widget("vmm-create")
self.err = vmmErrorDialog(self.topwin,
0, gtk.MESSAGE_ERROR, gtk.BUTTONS_CLOSE,
_("Unexpected Error"),
_("An unexpected error occurred"))
# Distro detection state variables
self.detectThread = None
self.detectedDistro = None

View File

@ -68,19 +68,16 @@ class vmmCreateInterface(gobject.GObject):
def __init__(self, config, conn):
self.__gobject_init__()
self.window = gtk.glade.XML(config.get_glade_dir() + \
"/vmm-create-interface.glade",
"vmm-create-interface",
domain="virt-manager")
self.config = config
self.conn = conn
self.interface = None
self.window = gtk.glade.XML(config.get_glade_dir() + \
"/vmm-create-interface.glade",
"vmm-create-interface",
domain="virt-manager")
self.topwin = self.window.get_widget("vmm-create-interface")
self.err = vmmErrorDialog(self.topwin,
0, gtk.MESSAGE_ERROR, gtk.BUTTONS_CLOSE,
_("Unexpected Error"),
_("An unexpected error occurred"))
self.err = vmmErrorDialog(self.topwin)
# Bridge configuration dialog
self.bridge_config_win = gtk.glade.XML(self.config.get_glade_dir() + \

View File

@ -48,13 +48,14 @@ class vmmCreateNetwork(gobject.GObject):
self.__gobject_init__()
self.config = config
self.conn = conn
self.window = gtk.glade.XML(config.get_glade_dir() + "/vmm-create-net.glade", "vmm-create-net", domain="virt-manager")
self.window = gtk.glade.XML(
config.get_glade_dir() + "/vmm-create-net.glade",
"vmm-create-net", domain="virt-manager")
self.topwin = self.window.get_widget("vmm-create-net")
self.err = vmmErrorDialog(self.topwin,
0, gtk.MESSAGE_ERROR, gtk.BUTTONS_CLOSE,
_("Unexpected Error"),
_("An unexpected error occurred"))
self.err = vmmErrorDialog(self.topwin)
self.topwin.hide()
self.window.signal_autoconnect({
"on_create_pages_switch_page" : self.page_changed,
"on_create_cancel_clicked" : self.close,

View File

@ -41,17 +41,14 @@ class vmmCreatePool(gobject.GObject):
def __init__(self, config, conn):
self.__gobject_init__()
self.window = gtk.glade.XML(config.get_glade_dir() + \
"/vmm-create-pool.glade",
"vmm-create-pool", domain="virt-manager")
self.conn = conn
self.config = config
self.window = gtk.glade.XML(config.get_glade_dir() + \
"/vmm-create-pool.glade",
"vmm-create-pool", domain="virt-manager")
self.topwin = self.window.get_widget("vmm-create-pool")
self.err = vmmErrorDialog(self.topwin,
0, gtk.MESSAGE_ERROR, gtk.BUTTONS_CLOSE,
_("Unexpected Error"),
_("An unexpected error occurred"))
self.err = vmmErrorDialog(self.topwin)
self.topwin.hide()
self._pool = None

View File

@ -41,18 +41,15 @@ class vmmCreateVolume(gobject.GObject):
def __init__(self, config, conn, parent_pool):
self.__gobject_init__()
self.window = gtk.glade.XML(config.get_glade_dir() + \
"/vmm-create-vol.glade",
"vmm-create-vol", domain="virt-manager")
self.conn = conn
self.parent_pool = parent_pool
self.config = config
self.window = gtk.glade.XML(config.get_glade_dir() + \
"/vmm-create-vol.glade",
"vmm-create-vol", domain="virt-manager")
self.topwin = self.window.get_widget("vmm-create-vol")
self.err = vmmErrorDialog(self.topwin,
0, gtk.MESSAGE_ERROR, gtk.BUTTONS_CLOSE,
_("Unexpected Error"),
_("An unexpected error occurred"))
self.err = vmmErrorDialog(self.topwin)
self.topwin.hide()
self.name_hint = None

View File

@ -48,18 +48,15 @@ class vmmDeleteDialog(gobject.GObject):
def __init__(self, config, vm):
self.__gobject_init__()
self.window = gtk.glade.XML(config.get_glade_dir() + \
"/vmm-delete.glade",
"vmm-delete", domain="virt-manager")
self.config = config
self.vm = vm
self.conn = vm.connection
self.window = gtk.glade.XML(config.get_glade_dir() + \
"/vmm-delete.glade",
"vmm-delete", domain="virt-manager")
self.topwin = self.window.get_widget("vmm-delete")
self.err = vmmErrorDialog(self.topwin,
0, gtk.MESSAGE_ERROR, gtk.BUTTONS_CLOSE,
_("Unexpected Error"),
_("An unexpected error occurred"))
self.err = vmmErrorDialog(self.topwin)
self.topwin.hide()
self.window.signal_autoconnect({

View File

@ -251,19 +251,16 @@ class vmmDetails(gobject.GObject):
def __init__(self, config, vm, engine, parent=None):
self.__gobject_init__()
self.window = gtk.glade.XML((config.get_glade_dir() +
"/vmm-details.glade"),
"vmm-details", domain="virt-manager")
self.config = config
self.vm = vm
self.conn = self.vm.get_connection()
self.engine = engine
self.window = gtk.glade.XML((config.get_glade_dir() +
"/vmm-details.glade"),
"vmm-details", domain="virt-manager")
self.topwin = self.window.get_widget("vmm-details")
self.err = vmmErrorDialog(self.topwin,
0, gtk.MESSAGE_ERROR, gtk.BUTTONS_CLOSE,
_("Unexpected Error"),
_("An unexpected error occurred"))
self.err = vmmErrorDialog(self.topwin)
self.is_customize_dialog = False
if parent:
@ -1605,8 +1602,8 @@ class vmmDetails(gobject.GObject):
if detach_err:
self.err.show_info(
_("Device could not be removed from the running machine."),
_("This change will take effect after the next VM reboot"))
_("Device could not be removed from the running machine"),
_("This change will take effect after the next VM reboot."))
# Generic config change helpers
def _change_config_helper(self,

View File

@ -229,10 +229,7 @@ class vmmEngine(gobject.GObject):
self.windowMigrate = None
self.connections = {}
self.err = vmmErrorDialog(None,
0, gtk.MESSAGE_ERROR, gtk.BUTTONS_CLOSE,
_("Unexpected Error"),
_("An unexpected error occurred"))
self.err = vmmErrorDialog()
self.timer = None
self.last_timeout = 0

View File

@ -25,15 +25,20 @@ import logging
import virtManager.util as util
def safe_set_text(self, text):
# pygtk < 2.10 doesn't support test property
# pygtk < 2.10 doesn't support text property
if not util.safe_set_prop(self, "text", text):
self.set_markup(text)
class vmmErrorDialog (gtk.MessageDialog):
def __init__ (self, parent=None, flags=0, typ=gtk.MESSAGE_INFO,
buttons=gtk.BUTTONS_NONE, message_format=None,
message_details=None, default_title=_("Error")):
def __init__ (self, parent=None):
typ = gtk.MESSAGE_ERROR
message_format = _("Unexpected Error")
message_details = _("An unexpected error occurred")
buttons = gtk.BUTTONS_CLOSE
default_title = _("Error")
flags = 0
gtk.MessageDialog.__init__ (self,
parent, flags, typ, buttons,
message_format)
@ -75,7 +80,8 @@ class vmmErrorDialog (gtk.MessageDialog):
def response_cb(self, src, ignore):
src.hide()
def show_err(self, summary, details, title=None, async=True, debug=True):
def show_err(self, summary, details, title=None,
async=True, debug=True):
self.hide()
if title is None:

View File

@ -53,20 +53,16 @@ class vmmHost(gobject.GObject):
}
def __init__(self, config, conn, engine):
self.__gobject_init__()
self.window = gtk.glade.XML(config.get_glade_dir() + "/vmm-host.glade",
"vmm-host", domain="virt-manager")
self.config = config
self.conn = conn
self.engine = engine
self.window = gtk.glade.XML(config.get_glade_dir() + "/vmm-host.glade",
"vmm-host", domain="virt-manager")
self.topwin = self.window.get_widget("vmm-host")
self.err = vmmErrorDialog(self.topwin)
self.topwin.hide()
self.err = vmmErrorDialog(self.topwin,
0, gtk.MESSAGE_ERROR, gtk.BUTTONS_CLOSE,
_("Unexpected Error"),
_("An unexpected error occurred"))
self.title = conn.get_short_hostname() + " " + self.topwin.get_title()
self.topwin.set_title(self.title)

View File

@ -118,17 +118,14 @@ class vmmManager(gobject.GObject):
def __init__(self, config, engine):
self.__gobject_init__()
self.config = config
self.engine = engine
self.window = gtk.glade.XML((config.get_glade_dir() +
"/vmm-manager.glade"),
"vmm-manager", domain="virt-manager")
self.err = vmmErrorDialog(self.window.get_widget("vmm-manager"),
0, gtk.MESSAGE_ERROR, gtk.BUTTONS_CLOSE,
_("Unexpected Error"),
_("An unexpected error occurred"))
self.topwin = self.window.get_widget("vmm-manager")
self.config = config
self.engine = engine
self.err = vmmErrorDialog(self.topwin)
self.delete_dialog = None
self.ignore_pause = False

View File

@ -52,19 +52,16 @@ class vmmMigrateDialog(gobject.GObject):
def __init__(self, config, vm, engine):
self.__gobject_init__()
self.window = gtk.glade.XML(config.get_glade_dir() + \
"/vmm-migrate.glade",
"vmm-migrate", domain="virt-manager")
self.config = config
self.vm = vm
self.conn = vm.connection
self.engine = engine
self.window = gtk.glade.XML(config.get_glade_dir() + \
"/vmm-migrate.glade",
"vmm-migrate", domain="virt-manager")
self.topwin = self.window.get_widget("vmm-migrate")
self.err = vmmErrorDialog(self.topwin,
0, gtk.MESSAGE_ERROR, gtk.BUTTONS_CLOSE,
_("Unexpected Error"),
_("An unexpected error occurred"))
self.err = vmmErrorDialog(self.topwin)
self.topwin.hide()
self.destconn_rows = []

View File

@ -41,23 +41,20 @@ class vmmStorageBrowser(gobject.GObject):
def __init__(self, config, conn):
self.__gobject_init__()
self.config = config
self.conn = conn
self.window = gtk.glade.XML(config.get_glade_dir() + \
"/vmm-storage-browse.glade",
"vmm-storage-browse",
domain="virt-manager")
self.config = config
self.conn = conn
self.topwin = self.window.get_widget("vmm-storage-browse")
self.err = vmmErrorDialog(self.topwin)
self.topwin.hide()
self.conn_signal_ids = []
self.finish_cb_id = None
self.topwin = self.window.get_widget("vmm-storage-browse")
self.err = vmmErrorDialog(self.topwin,
0, gtk.MESSAGE_ERROR, gtk.BUTTONS_CLOSE,
_("Unexpected Error"),
_("An unexpected error occurred"))
self.topwin.hide()
# Add Volume wizard
self.addvol = None

View File

@ -74,10 +74,7 @@ class vmmSystray(gobject.GObject):
self.config = config
self.engine = engine
self.topwin = None
self.err = vmmErrorDialog(None,
0, gtk.MESSAGE_ERROR, gtk.BUTTONS_CLOSE,
_("Unexpected Error"),
_("An unexpected error occurred"))
self.err = vmmErrorDialog()
self.conn_menuitems = {}
self.conn_vm_menuitems = {}

View File

@ -51,10 +51,7 @@ QEMU_SYSTEM_EMULATOR_USER = "root"
# Initialize an error object to use for validation functions #
##############################################################
err_dial = vmmErrorDialog(None,
0, gtk.MESSAGE_ERROR, gtk.BUTTONS_CLOSE,
_("Unexpected Error"),
_("An unexpected error occurred"))
err_dial = vmmErrorDialog()
def set_error_parent(parent):
global err_dial