def __on_config_set(self, ob, section, option, value): if section == "setting" and option == "use_tray": use_tray = config.getboolean(section, option) if self.tray_icon and not use_tray: self.tray_icon.destroy() self.tray_icon = None elif not self.tray_icon and use_tray: self.tray_icon = TrayIcon(self)
def __init__(self): gobject.GObject.__init__(self) image_dir = os.path.join(get_parent_dir(__file__, 3), "image") application = Application("DMuisc", resizable=False) application.close_callback = self.prompt_quit application.set_icon(os.path.join(image_dir, "logo.ico")) application.set_skin_preview(os.path.join(image_dir, "frame.png")) application.add_titlebar(["theme", "menu", "min", "close"], os.path.join(image_dir, "logo1.png"), _("DMusic")) application.titlebar.menu_button.connect("button-press-event", self.menu_button_press) application.titlebar.connect("button-press-event", self.right_click_cb) # Window mode change. self.revert_toggle_button = self.create_revert_button() self.revert_toggle_button.connect("toggled", self.change_view) application.titlebar.button_box.pack_start(self.revert_toggle_button) application.titlebar.button_box.reorder_child( self.revert_toggle_button, 1) self.window = application.window self.window.is_disable_window_maximized = self.is_disable_window_maximized utils.set_main_window(self) self.plugins = plugins.PluginsManager(self, False) self.browser_manager = BrowserMananger() self.tray_icon = TrayIcon(self) self.lyrics_display = LyricsModule() self.list_manager = ListManager() self.simple_header_bar = SimpleHeadbar() self.preference_dialog = PreferenceDialog() self.equalizer_win = EqualizerWindow() self.mmkeys = MMKeys() self.audiocd = AudioCDSource() self.playlist_ui = playlist_ui self.mini_window = MiniWindow() self.window.add_move_event(self.simple_header_bar) bottom_box = gtk.HBox() self.browser_align = gtk.Alignment() self.browser_align.set_padding(0, 0, 0, 0) self.browser_align.set(0.5, 0.5, 1, 1) list_manager_align = gtk.Alignment() list_manager_align.set_padding(0, 0, 0, 0) list_manager_align.set(1, 1, 1, 1) list_manager_align.add(self.list_manager) self.browser_align.add(self.browser_manager) bottom_box.pack_start(list_manager_align, False, False) bottom_box.pack_start(self.browser_align, True, True) self.browser_align.set_no_show_all(True) main_box = gtk.VBox() self.header_box = gtk.VBox() self.header_box.add(self.simple_header_bar) main_box.pack_start(self.header_box, False) main_box.pack_start(bottom_box, True) self.link_box = gtk.HBox() self.link_box.pack_start(create_right_align(), True, True) self.link_box.pack_start( LinkButton(_("Join us"), "http://www.linuxdeepin.com/joinus/job"), False, False) status_box = gtk.HBox(spacing=5) status_box.pack_start(jobs_manager) status_box.pack_start(self.link_box, padding=5) status_bar = gtk.EventBox() status_bar.set_visible_window(False) status_bar.set_size_request(-1, 22) status_bar.add(status_box) application.main_box.pack_start(main_box) application.main_box.pack_start(status_bar, False, True) # if config.get("globalkey", "enable", "false") == "true": # global_hotkeys.start_bind() if config.get("setting", "window_mode") == "simple": self.revert_toggle_button.set_active(False) else: self.revert_toggle_button.set_active(True) self.change_view(self.revert_toggle_button) if config.get("window", "x") == "-1": self.window.set_position(gtk.WIN_POS_CENTER) else: self.window.move(int(config.get("window", "x")), int(config.get("window", "y"))) # try: # self.window.resize(int(config.get("window","width")),int(config.get("window","height"))) # except: # pass # window_state = config.get("window", "state") # if window_state == "maximized": # self.window.maximize() # elif window_state == "normal": # self.window.unmaximize() self.window.connect("delete-event", self.quit) self.window.connect("configure-event", self.on_configure_event) self.window.connect("destroy", self.quit) Dispatcher.connect("quit", self.force_quit) Dispatcher.connect("show-main-menu", self.show_instance_menu) Dispatcher.connect("show-setting", lambda w: self.preference_dialog.show_all()) Dispatcher.connect( "show-desktop-page", lambda w: self.preference_dialog.show_desktop_lyrics_page()) Dispatcher.connect( "show-scroll-page", lambda w: self.preference_dialog.show_scroll_lyrics_page()) Dispatcher.connect("show-job", self.hide_link_box) Dispatcher.connect("hide-job", self.show_link_box) gobject.idle_add(self.ready)