def __init__(self): # Init theme datas. self.__init_data() argv = "" for theme in theme_manager.get_user_themes() + theme_manager.get_system_themes(): argv += theme.get_name() + ";" self.module_frame = ModuleFrame(self.config_file, argv) # Init slider. self.slider = HSlider() self.all_page = MainBox() # Add widgets in slider. self.all_page.set_size_request(PAGE_WIDTH, PAGE_HEIGHT) # Connect events. event_manager.add_callback("add-local-wallpapers", self.add_local_wallpappers) # Connect widgets. self.module_frame.add(self.slider) self.module_frame.connect("realize", lambda w: self.slider.set_to_page(self.all_page)) self.module_frame.module_message_handler = self.message_handler self.module_frame.run()
class DeepinIndividuation(object): config_file = os.path.join(get_parent_dir(__file__, 2), "config.ini") def __init__(self): # Init theme datas. self.__init_data() argv = "" for theme in theme_manager.get_user_themes() + theme_manager.get_system_themes(): argv += theme.get_name() + ";" self.module_frame = ModuleFrame(self.config_file, argv) # Init slider. self.slider = HSlider() self.all_page = MainBox() # Add widgets in slider. self.all_page.set_size_request(PAGE_WIDTH, PAGE_HEIGHT) # Connect events. event_manager.add_callback("add-local-wallpapers", self.add_local_wallpappers) # Connect widgets. self.module_frame.add(self.slider) self.module_frame.connect("realize", lambda w: self.slider.set_to_page(self.all_page)) self.module_frame.module_message_handler = self.message_handler self.module_frame.run() def add_local_wallpappers(self, name, obj, theme): d = gtk.FileChooserDialog( "Choose Pictures", None, gtk.FILE_CHOOSER_ACTION_OPEN, (gtk.STOCK_CANCEL, gtk.RESPONSE_REJECT, gtk.STOCK_OPEN, gtk.RESPONSE_ACCEPT) ) d.set_select_multiple(True) d.set_current_folder(get_images_dir()) pic_filter = gtk.FileFilter() pic_filter.set_name(_("Image files")) pic_filter.add_mime_type("image/*") d.add_filter(pic_filter) response = d.run() if(response == gtk.RESPONSE_ACCEPT): filenames = d.get_filenames() wallpapper_path = get_download_wallpaper_dir() for name in filenames: shutil.copy2(name, wallpapper_path) d.destroy() def __init_data(self): theme_manager.load() theme_manager.untitled_theme(theme_manager.get_default_theme()) def message_handler(self, *message): (message_type, message_content) = message if message_type == "click_crumb": (crumb_index, crumb_label) = message_content elif message_type == "show_again": self.module_frame.send_module_info() elif message_type == "switch-theme": theme = None for item in theme_manager.get_user_themes() + theme_manager.get_system_themes(): if item.get_name() == message_content: theme = item break if theme: print "DEBUG", theme event_manager.emit("theme-detail", theme) elif message_type == "exit": self.module_frame.exit()