def __init__(self, engine):
        vmmGObject.__init__(self)

        self.topwin = None
        self.err = vmmErrorDialog()

        self.conn_menuitems = {}
        self.conn_vm_menuitems = {}
        self.vm_action_dict = {}
        self.systray_menu = None
        self.systray_icon = None
        self.systray_indicator = False

        engine.connect("conn-added", self.conn_added)
        engine.connect("conn-removed", self.conn_removed)

        # Are we using Application Indicators?
        if appindicator is not None:
            self.systray_indicator = True

        self.init_systray_menu()

        self.add_gconf_handle(
            self.config.on_view_system_tray_changed(self.show_systray))

        self.show_systray()
示例#2
0
    def __init__(self, engine):
        vmmGObject.__init__(self)

        self.topwin = None
        self.err = vmmErrorDialog()

        self.conn_menuitems = {}
        self.conn_vm_menuitems = {}
        self.vm_action_dict = {}
        self.systray_menu = None
        self.systray_icon = None
        self.systray_indicator = False

        engine.connect("conn-added", self.conn_added)
        engine.connect("conn-removed", self.conn_removed)

        # Are we using Application Indicators?
        if AppIndicator3 is not None:
            self.systray_indicator = True

        self.init_systray_menu()

        self.add_gconf_handle(
            self.config.on_view_system_tray_changed(self.show_systray))

        self.show_systray()
    def reset_state(self):

        #initialize all UI components to none
        self.vmaDeleteHostAffinityBanner = None
        self.allVMsScrolledwindow = None
        self.selectedVMAffinedHostsScrolledwindow = None
        self.selectedRuleDesTextview = None
        self.cancelRuleDeletionButton = None
        self.DeleteHostAffinityButton = None
        self.errorLabel = None
       
        self.allVmsClist = None
        self.affinedHostsClist = None       
        
        #CList related variables
        self.selectedVMRow = None
        self.selectedVMColumn = None
        
        self.allVMHostAffinityDictionary = None
        
        vmmGObjectUI.__init__(self, "vmaffinity-deleterule.ui", "vmaffinity-deleterule")

        #Connect signals
        self.window.connect_signals({
            "on_cancelRuleDeletionButton_clicked": self.close,
            "on_DeleteHostAffinityButton_clicked":self.DeleteHostAffinityRuleButtonClicked,
            "on_vmaffinity-deletehostaffinityrule_delete_event": self.close,})
        
        #Initialize all UI components
        self.initUIComponents()        

        self.err = vmmErrorDialog()
示例#4
0
    def __init__(self):
        vmmGObject.__init__(self)

        self.windowConnect = None
        self.windowPreferences = None
        self.windowAbout = None
        self.windowCreate = None
        self.windowManager = None
        self.windowMigrate = None

        self.conns = {}
        self.err = vmmErrorDialog()

        self.timer = None
        self.last_timeout = 0

        self.systray = None
        self.delete_dialog = None
        self.application = Gtk.Application(
                                 application_id="com.redhat.virt-manager",
                                 flags=0)
        self.application.connect("activate", self._activate)
        self._appwindow = Gtk.Window()

        self._tick_counter = 0
        self._tick_thread_slow = False
        self._tick_thread = threading.Thread(name="Tick thread",
                                            target=self._handle_tick_queue,
                                            args=())
        self._tick_thread.daemon = True
        self._tick_queue = Queue.PriorityQueue(100)

        self.inspection = None
        self._create_inspection_thread()

        # Counter keeping track of how many manager and details windows
        # are open. When it is decremented to 0, close the app or
        # keep running in system tray if enabled
        self.windows = 0

        # Public bits set by virt-manager cli
        self.skip_autostart = False
        self.uri_at_startup = None
        self.uri_cb = None
        self.show_manager_window = True

        self.init_systray()

        self.add_gconf_handle(
            self.config.on_stats_update_interval_changed(self.reschedule_timer))
        self.add_gconf_handle(
            self.config.on_view_system_tray_changed(self.system_tray_changed))

        self.schedule_timer()
        self.load_stored_uris()

        self._tick_thread.start()
        self.tick()
    def __init__(self, vm, window):
        vmmGObjectUI.__init__(self, None, None)

        self.vm = vm

        self.windowname = "vmm-details"
        self.window = window
        self.topwin = self.widget(self.windowname)
        self.err = vmmErrorDialog(self.topwin)

        self.pointer_is_grabbed = False
        self.change_title()
        self.vm.connect("config-changed", self.change_title)

        # State for disabling modifiers when keyboard is grabbed
        self.accel_groups = gtk.accel_groups_from_object(self.topwin)
        self.gtk_settings_accel = None
        self.gtk_settings_mnemonic = None

        # Initialize display widget
        self.viewer = None
        self.tunnels = None
        self.viewerRetriesScheduled = 0
        self.viewerRetryDelay = 125
        self._viewer_connected = False
        self.viewer_connecting = False
        self.scale_type = self.vm.get_console_scaling()

        # Fullscreen toolbar
        self.send_key_button = None
        self.fs_toolbar = None
        self.fs_drawer = None
        self.keycombo_menu = uihelpers.build_keycombo_menu(self.send_key)
        self.init_fs_toolbar()

        finish_img = gtk.image_new_from_stock(gtk.STOCK_YES,
                                              gtk.ICON_SIZE_BUTTON)
        self.widget("console-auth-login").set_image(finish_img)

        # Make viewer widget background always be black
        black = gtk.gdk.Color(0, 0, 0)
        self.widget("console-vnc-viewport").modify_bg(gtk.STATE_NORMAL,
                                                      black)

        # Signals are added by vmmDetails. Don't use connect_signals here
        # or it changes will be overwritten
        # Set console scaling
        self.add_gconf_handle(
            self.vm.on_console_scaling_changed(self.refresh_scaling))

        scroll = self.widget("console-vnc-scroll")
        scroll.connect("size-allocate", self.scroll_size_allocate)
        self.add_gconf_handle(
            self.config.on_console_accels_changed(self.set_enable_accel))
        self.add_gconf_handle(
            self.config.on_keys_combination_changed(self.grab_keys_changed))

        self.page_changed()
def _show_startup_error(msg, details):
    from virtManager.error import vmmErrorDialog
    err = vmmErrorDialog()
    title = _("Error starting Virtual Machine Manager")
    err.show_err(title + ": " + msg,
                 details=details,
                 title=title,
                 async=False,
                 debug=False)
def _show_startup_error(msg, details):
    from virtManager.error import vmmErrorDialog
    err = vmmErrorDialog()
    title = _("Error starting Virtual Machine Manager")
    err.show_err(title + ": " + msg,
                 details=details,
                 title=title,
                 async=False,
                 debug=False)
    def __init__(self):
        
        # check if groups config file exists
        vmaffinityxmlutil.checkIfGroupsConfigExists()

        #initialize all UI components to none        
        self.manageRuleBanner = None
        self.configuredAffinityRulesScrolledwindow = None
        self.selectedRuleDesTextview = None
        self.selectedAffinityRuleVMsScrolledwindow = None
        self.availableVirtualMachineScrolledwindow = None
        self.updatedGroupVirtualMachineScrolledwindow = None
        self.addVMToUpdatedAffinityGroupbutton = None
        self.removeVMFromUpdatedAffinityGroupButton = None
        self.cancelRuleManageButton = None
        self.UpdateAffinityGroupButton = None
        self.errorLabel = None
        
        self.allGroupsClist = None
        self.VMsInGroupClist = None          
        
        # CList for managing
        self.universalVMList = None
        self.VMsInUpdatedGroupClist = None
        
        # CList variables for managing
        self.universalSelectedVMRow = None
        self.universalSelectedVMColumn = None
        
        self.updatedListSelectedVMRow = None
        self.updatedListSelectedVMColumn = None
        
        #CList related variables
        self.selectedGroupRow = None
        self.selectedGroupColumn = None
        
        self.allGroupDictionary = None
        
        # List of all available machines in this machine
        self.allVMsInMachine = None
        
        vmmGObjectUI.__init__(self, "vmaffinity-manage-affinity-rules.ui", "vmaffinity-manage-affinity-rules")
        
        #Connect signals
        self.window.connect_signals({"on_addVMToUpdatedAffinityGroupbutton_clicked": self.addVMToUpdatedAffinityGroup,
        	"on_removeVMFromUpdatedAffinityGroupButton_clicked": self.removeVMFromUpdatedAffinityGroup,    				"on_cancelRuleManageButton_clicked": self.close, 
        	"on_UpdateAffinityGroupButton_clicked": self.UpdateAffinityGroup,
        	"on_vmaffinity-manage-affinity-rules_delete_event": self.close,
        })
        
        # a counter to keep track on how many virtual machines in updated group vm members.
        self.totalVMsInUpdatedGroup = 0
        
		#Initialize all UI components
        self.initUIComponents()
        
        self.err = vmmErrorDialog()
示例#9
0
    def __init__(self):
        vmmGObject.__init__(self)

        self.windowConnect = None
        self.windowPreferences = None
        self.windowAbout = None
        self.windowCreate = None
        self.windowManager = None
        self.windowMigrate = None

        self.conns = {}
        self.err = vmmErrorDialog()

        self.timer = None
        self.last_timeout = 0

        self.systray = None
        self.delete_dialog = None
        self.application = Gtk.Application(
                                 application_id="com.redhat.virt-manager",
                                 flags=0)
        self.application.connect("activate", self._activate)
        self._appwindow = Gtk.Window()

        self._tick_thread = None
        self._tick_thread_slow = False
        if not self.config.support_threading:
            logging.debug("Libvirt doesn't support threading, skipping.")

        self.inspection = None
        self._create_inspection_thread()

        # Counter keeping track of how many manager and details windows
        # are open. When it is decremented to 0, close the app or
        # keep running in system tray if enabled
        self.windows = 0

        # Public bits set by virt-manager cli
        self.skip_autostart = False
        self.uri_at_startup = None
        self.uri_cb = None
        self.show_manager_window = True

        self.init_systray()

        self.add_gconf_handle(
            self.config.on_stats_update_interval_changed(self.reschedule_timer))
        self.add_gconf_handle(
            self.config.on_view_system_tray_changed(self.system_tray_changed))

        self.schedule_timer()
        self.load_stored_uris()
        self.tick()
示例#10
0
    def __init__(self):
        vmmGObject.__init__(self)

        self.windowConnect = None
        self.windowPreferences = None
        self.windowAbout = None
        self.windowCreate = None
        self.windowManager = None
        self.windowMigrate = None

        self.conns = {}
        self.err = vmmErrorDialog()

        self.timer = None
        self.last_timeout = 0

        self.systray = None
        self.application = Gtk.Application(
                                 application_id="com.redhat.virt-manager",
                                 flags=0)
        self.application.connect("activate", self._activate)
        self._appwindow = Gtk.Window()

        self._tick_thread = None
        self._tick_thread_slow = False
        if not self.config.support_threading:
            logging.debug("Libvirt doesn't support threading, skipping.")

        self.inspection = None
        self._create_inspection_thread()

        # Counter keeping track of how many manager and details windows
        # are open. When it is decremented to 0, close the app or
        # keep running in system tray if enabled
        self.windows = 0

        # Public bits set by virt-manager cli
        self.skip_autostart = False
        self.uri_at_startup = None
        self.uri_cb = None

        self.init_systray()

        self.add_gconf_handle(
            self.config.on_stats_update_interval_changed(self.reschedule_timer))
        self.add_gconf_handle(
            self.config.on_view_system_tray_changed(self.system_tray_changed))

        self.schedule_timer()
        self.load_stored_uris()
        self.tick()
    def __init__(self):
        vmmGObject.__init__(self)

        self.windowConnect = None
        self.windowPreferences = None
        self.windowAbout = None
        self.windowCreate = None
        self.windowManager = None
        self.windowMigrate = None

        # Start Sandeep
        self.windowVMAffinityAbout = None
        self.windowVMAffinityCreateNewAffinityRule = None
        self.windowVMAffinityDeleteAffinityRule = None
        self.windowVMAffinityViewRules = None
        self.windowVMAffinityManageRules = None
        self.windowVMAffinityCreateHostAffinityRule = None
        self.windowVMAffinityDeleteHostAffinityRule = None
        self.windowVMAffinityViewHostAffinityRules = None
        # Stop Sandeep

        self.conns = {}
        self.err = vmmErrorDialog()

        self.timer = None
        self.last_timeout = 0

        self.systray = None

        self._tick_thread = None
        self._tick_thread_slow = False
        if not self.config.support_threading:
            logging.debug("Libvirt doesn't support threading, skipping.")

        self.inspection = None
        self._create_inspection_thread()

        # Counter keeping track of how many manager and details windows
        # are open. When it is decremented to 0, close the app or
        # keep running in system tray if enabled
        self.windows = 0

        self.init_systray()

        self.add_gconf_handle(self.config.on_stats_update_interval_changed(self.reschedule_timer))
        self.add_gconf_handle(self.config.on_view_system_tray_changed(self.system_tray_changed))

        self.schedule_timer()
        self.load_stored_uris()
        self.tick()
示例#12
0
    def __init__(self):
        vmmGObject.__init__(self)

        self.windowConnect = None
        self.windowPreferences = None
        self.windowAbout = None
        self.windowCreate = None
        self.windowManager = None
        self.windowMigrate = None

        self.conns = {}
        self.err = vmmErrorDialog()

        self.timer = None
        self.last_timeout = 0

        self.systray = None

        self._tick_thread = None
        self._tick_thread_slow = False
        if not self.config.support_threading:
            logging.debug("Libvirt doesn't support threading, skipping.")

        self.inspection = None
        self._create_inspection_thread()

        # Counter keeping track of how many manager and details windows
        # are open. When it is decremented to 0, close the app or
        # keep running in system tray if enabled
        self.windows = 0

        #系统托盘
        self.init_systray()

        self.add_gconf_handle(
            self.config.on_stats_update_interval_changed(
                self.reschedule_timer))
        self.add_gconf_handle(
            self.config.on_view_system_tray_changed(self.system_tray_changed))

        self.schedule_timer()
        self.load_stored_uris()
        self.tick()
 def initUIComponents(self):
 
     self.allVMScrolledWindow = self.widget("availableVirtualMachineScrolledwindow")
     self.newGroupVMScrolledWindow = self.widget("groupVirtualMachineScrolledwindow")
     self.newGroupTextEntry = self.widget("newAffinityGroupNameTextEntry")
     self.newGroupDescriptionTextView = self.widget("newRuleDescriptionTextView")
     self.createNewRuleBanner = self.widget("vma-createnewrule-banner")
     self.addVMToGroupButton = self.widget("addVMToAffinityGroupbutton")
     self.removeVMFromGroupButton = self.widget("removeVMFromAffinityGroup")
     self.cancelNewRuleCreationButton = self.widget("cancelNewRuleCreationButton")
     self.createNewRuleButton = self.widget("CreateNewRuleButton")
     self.warningLabel = self.widget("warningLabel")        
     
     #self.addVMToGroupButton.connect("clicked", self.addVMToGroupClicked)
     #create all virtual machine CList and vms in new group list.
     
     self.allVMClist = gtk.CList(1, "allVMClist")
     self.groupVMClist = gtk.CList(1, "GroupVMClist")
     
     self.allVMClist.set_shadow_type(gtk.SHADOW_OUT)
     self.allVMClist.column_titles_hide()
     self.allVMClist.set_column_width(0, 150)
     self.allVMClist.connect("select_row", self.allVMClist_row_selected)
     self.allVMClist.show()        
     self.allVMScrolledWindow.add(self.allVMClist)
     
     self.groupVMClist.set_shadow_type(gtk.SHADOW_OUT)
     self.groupVMClist.column_titles_hide()
     self.groupVMClist.set_column_width(0, 150)
     self.groupVMClist.connect("select_row", self.groupVMClist_row_selected)
     self.groupVMClist.show()
     self.newGroupVMScrolledWindow.add(self.groupVMClist)
     
     self.err = vmmErrorDialog()
     #initialize all the UI Components.
     self.init_banner()
     self.init_allVMList()
     self.init_groupVMList()
     self.init_errorMessage()
 def initUIComponents(self):
 	
 	self.affinedHostsTextEntry = self.widget("affinedHostsTextEntry")
     self.newRuleDescriptionTextView = self.widget("newRuleDescriptionTextView")
     self.availableVirtualMachineScrolledwindow = self.widget("availableVirtualMachineScrolledwindow")
     self.addVMToAffinityGroupbutton = self.widget("addVMToAffinityGroupbutton")
     self.removeVMFromAffinityGroup = self.widget("removeVMFromAffinityGroup")
     self.affinedVirtualMachineScrolledwindow = self.widget("affinedVirtualMachineScrolledwindow")
     self.cancelHostAffinityRuleCreationButton = self.widget("cancelHostAffinityRuleCreationButton")
     self.CreateHostAffinityRuleButton = self.widget("CreateHostAffinityRuleButton")
     self.warningLabel = self.widget("warningLabel")
     self.vmacreatehostaffinityrulebanner = self.widget("vmacreatehostaffinityrulebanner")
     
     #create all virtual machine CList and vms in new group list.
     
     self.allVMClist = gtk.CList(1, "allVMClist")
     self.affinedVMClist = gtk.CList(1, "affinedVMClist")
     
     self.allVMClist.set_shadow_type(gtk.SHADOW_OUT)
     self.allVMClist.column_titles_hide()
     self.allVMClist.set_column_width(0, 150)
     self.allVMClist.connect("select_row", self.allVMClist_row_selected)
     self.allVMClist.show()        
     self.availableVirtualMachineScrolledwindow.add(self.allVMClist)
     
     self.affinedVMClist.set_shadow_type(gtk.SHADOW_OUT)
     self.affinedVMClist.column_titles_hide()
     self.affinedVMClist.set_column_width(0, 150)
     self.affinedVMClist.connect("select_row", self.affinedVMClist_row_selected)
     self.affinedVMClist.show()
     self.affinedVirtualMachineScrolledwindow.add(self.affinedVMClist)
     
     self.err = vmmErrorDialog()
     #initialize all the UI Components.
     self.init_banner()
     self.init_allVMList()
     self.init_affinedVMList()
     self.init_errorMessage()
    def reset_state(self):
        
        # check if groups config file exists
        vmaffinityxmlutil.checkIfGroupsConfigExists()

        #initialize all UI components to none
        self.vmaDeleteruleBanner = None
        self.configuredAffinityRulesScrolledwindow = None
        self.selectedAffinityRuleVMsScrolledwindow = None
        self.selectedRuleDesTextview = None
        self.cancelRuleDeletionButton = None
        self.DeleteRuleButton = None
        self.errorLabel = None
       
        self.allGroupsClist = None
        self.VMsInGroupClist = None       
        
        #CList related variables
        self.selectedGroupRow = None
        self.selectedGroupColumn = None
        
        self.allGroupDictionary = None
        
        vmmGObjectUI.__init__(self, "vmaffinity-deleterule.ui", "vmaffinity-deleterule")

        #Connect signals
        self.window.connect_signals({
            "on_cancelRuleDeletionButton_clicked": self.close,
            "on_DeleteRuleButton_clicked":self.deleteAffinityRuleButtonClicked,
            "on_vmaffinity-deleterule_delete_event": self.close,})
        
        #Initialize all UI components
        self.initUIComponents()
        

        self.err = vmmErrorDialog()
from virtManager import util
from virtManager.error import vmmErrorDialog

OPTICAL_DEV_PATH = 0
OPTICAL_LABEL = 1
OPTICAL_IS_MEDIA_PRESENT = 2
OPTICAL_DEV_KEY = 3
OPTICAL_MEDIA_KEY = 4
OPTICAL_IS_VALID = 5

##############################################################
# Initialize an error object to use for validation functions #
##############################################################

err_dial = vmmErrorDialog()

def set_error_parent(parent):
    global err_dial
    err_dial.set_parent(parent)
    err_dial = err_dial

def cleanup():
    global err_dial
    err_dial = None

def spin_get_helper(widget):
    adj = widget.get_adjustment()
    txt = widget.get_text()

    try:
示例#17
0
 def _get_err(self):
     if self._err is None:
         from virtManager import error
         self._err = error.vmmErrorDialog(self.topwin)
     return self._err