import os from deepin_utils.file import get_parent_dir sys.path.append(os.path.join(get_parent_dir(__file__, 4), "dss")) from display_view import DisplayView from module_frame import ModuleFrame if __name__ == "__main__": module_frame = ModuleFrame( os.path.join(get_parent_dir(__file__, 2), "config.ini")) display_view = DisplayView() module_frame.add(display_view) def message_handler(*message): (message_type, message_content) = message if message_type == "show_again": display_view.show_again() module_frame.send_module_info() elif message_type == "reset": display_view.reset() elif message_type == "exit": module_frame.exit() elif message_type == "size_changed": pass module_frame.module_message_handler = message_handler module_frame.run()
cr.rectangle(x, y, w, h) cr.fill() def __make_align(self, widget=None, xalign=0.0, yalign=0.5, xscale=1.0, yscale=0.0, padding_top=0, padding_bottom=0, padding_left=0, padding_right=0, width=-1, height=CONTAINNER_HEIGHT): align = gtk.Alignment() align.set_size_request(width, height) align.set(xalign, yalign, xscale, yscale) align.set_padding(padding_top, padding_bottom, padding_left, padding_right) if widget: align.add(widget) return align if __name__ == '__main__': gtk.gdk.threads_init() module_frame = ModuleFrame(os.path.join(get_parent_dir(__file__, 2), "config.ini")) sys_info = SysInfo(module_frame) module_frame.add(sys_info.alignment_widgets["main_hbox"]) def message_handler(*message): (message_type, message_content) = message if message_type == "show_again": module_frame.send_module_info() elif message_type == "exit": module_frame.exit() module_frame.module_message_handler = message_handler 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()