def fetch_comment(self): if is_network_connected(): container_remove_all(self.right_comment_box) loading_label = Label(_("Loading comments...")) loading_label_align = gtk.Alignment(0.5, 0, 0, 0) loading_label_align.add(loading_label) loading_label_align.set_padding(10, 0, 0, 0) self.right_comment_box.pack_start(loading_label_align, False, False) web_view = WebView(os.path.join(CONFIG_DIR, "cookie.txt")) web_view.connect("new-window-policy-decision-requested", self.open_url) web_view.connect('console-message', self.webview_console_message_handler) web_view_align = gtk.Alignment() web_view_align.set(0.5, 0, 0, 0) web_view_align.set_padding(33, 33, 33, 33) web_view_align.add(web_view) web_settings = web_view.get_settings() web_settings.set_property("enable-plugins", False) web_settings.set_property("enable-scripts", True) web_view.open("%s/softcenter/v1/comment?n=%s&hl=%s" % ( SERVER_ADDRESS, self.pkg_name, LANGUAGE, )) web_view.connect("load-finished", self.comment_load_finished_cb, web_view_align) create_thread(self.fetch_screenshot).start()
def __init__(self, session_bus, appid, dbus_name, dbus_path): dbus.service.Object.__init__(self, session_bus, dbus_path) self.appid = appid self.dbus_name = dbus_name self.dbus_path = dbus_path # WARING: only use once in one process DBusGMainLoop(set_as_default=True) self.plug = gtk.Plug(0) self.webview = WebView(COOKIE_FILE) self.webview.connect('title-changed', self.webview_message_handler) self.webview.connect('script-alert', self.webview_message_handler) #self.webview.enable_inspector() self.paned_box = PanedBox(2, True, 2, True) self.paned_box.enter_bottom_win_callback = self.enter_bottom_notify self.paned_box.enter_top_win_callback = self.enter_top_notify self.paned_box.add_content_widget(self.webview) self.plug.add(self.paned_box) self.plug.connect('delete-event', self.plug_delete_event) # Handle signals. self.plug.connect("realize", self.flash_frame_realize) self.plug.connect("destroy", self.flash_frame_exit) glib.timeout_add(1000, self.is_exist) glib.timeout_add(200, self.connect_signal) def message_receiver(self, *message): message_type, contents = message if message_type == 'exit': self.exit() elif message_type == 'load_uri': self.load_flash(contents) elif message_type == 'load_loading_uri': self.webview.load_uri(contents) self.send_message('loading_uri_finish', '') elif message_type == 'load_string': self.webview.load_string(contents) elif message_type == 'get_plug_id': self.send_flash_info() elif message_type == 'app_info_download_finish': self.webview.execute_script("app_info=%s" % json.dumps(str(contents), encoding="UTF-8", ensure_ascii=False)) setattr(FlashFrame, 'message_receiver', dbus.service.method(dbus_name)(message_receiver))
temp_hbox.pack_start(combo_button, False, False) star_view = StarView() temp_hbox.pack_start(star_view, False, False) # Add statusbar. statusbar = Statusbar(36) tab_1_box.pack_start(statusbar, False) application.window.add_move_event(statusbar) application.window.add_toggle_event(statusbar) link_button = LinkButton("加入我们", "http://www.linuxdeepin.com/joinus/job") statusbar.status_item_box.pack_start(link_button) web_view = WebView() web_scrolled_window = ScrolledWindow() web_scrolled_window.add(web_view) web_view.open("http://www.linuxdeepin.com") tab_2_box.pack_start(web_scrolled_window) icon_view_hframe = HorizontalFrame() icon_view_vframe = gtk.Alignment() icon_view_vframe.set(0, 0, 1, 1) icon_view_vframe.set_padding(0, 1, 0, 0) icon_view_scrolled_window = ScrolledWindow() icon_view = IconView(10, 10) icon_view_scrolled_window.add_child(icon_view) icon_view_hframe.add(icon_view_scrolled_window)
def __init__(self, filename=""): ''' init share @param filename: the file to share ''' self.upload_image = filename self.thumb_width = 188 self.thumb_height = 168 self.MAX_CHAR = 140 #self.__text_frame_color = (0.76, 0.76, 0.76) self.__win_width = 602 open(COOKIE_FILE,'wb').close() self.window = DialogBox(_("Share to social networks"), close_callback=gtk.main_quit) self.window.set_keep_above(True) self.window.set_size_request(self.__win_width+20, 288) self.window.set_resizable(False) #self.window.titlebar.connect("expose-event", self.__expose_top_and_bottome) #self.window.button_box.connect("expose-event", self.__expose_top_and_bottome) # create slider self.slider = HSlider() self.slider_list = [] self.share_box = gtk.VBox(False) # first page, input context self.web_box = gtk.VBox(False, 10) # second page, login self.result_box = gtk.VBox(False, 10) # third page, share result share_align = gtk.Alignment() share_align.set(0.5, 0.5, 0, 0) share_align.add(self.share_box) share_align.connect("expose-event", self.__slider_expose) # go back button web_left_button = ImageButton( app_theme.get_pixbuf("share/back_normal.png"), app_theme.get_pixbuf("share/back_hover.png"), app_theme.get_pixbuf("share/back_press.png")) web_left_button.connect("clicked", lambda w: self.set_slide_index(0)) web_left_button.set_can_focus(False) utils.set_clickable_cursor(web_left_button) # show url entry self.web_url_entry = InputEntry() self.web_url_entry.set_editable(False) self.web_url_entry.set_size(555, 20) self.web_url_entry.entry.right_menu_visible_flag = False # alig url entry web_navigate_vbox = gtk.VBox(False) web_navigate_vbox.pack_start(self.web_url_entry) web_navigate_t_align = gtk.Alignment() web_navigate_t_align.set(0.0, 0.5, 0, 0) web_navigate_t_align.add(web_navigate_vbox) # pack back button and url entry web_navigate_box = gtk.HBox(False, 7) web_navigate_box.pack_start(web_left_button, False, False) web_navigate_box.pack_start(web_navigate_t_align) web_navigate_align = gtk.Alignment() web_navigate_align.set(0.5, 0.5, 0, 0) web_navigate_align.set_padding(4, 0, 11, 13) web_navigate_align.add(web_navigate_box) # create a webkit self.web_view = WebView(COOKIE_FILE) self.web_view.connect("notify::load-status", self.web_view_load_status) self.web_view.connect("load-error", self.web_view_load_error) self.web_scrolled_window = ScrolledWindow() self.web_scrolled_window.add(self.web_view) self.web_scrolled_window.set_size_request(590, 228) self.web_box.pack_start(web_navigate_align, False, False) self.web_box.pack_start(self.web_scrolled_window) #self.web_box.set_size_request(-1, 258) web_align = gtk.Alignment() web_align.set(0.5, 0.0, 0, 1) web_align.add(self.web_box) web_align.connect("expose-event", self.__slider_expose) res_align = gtk.Alignment() res_align.set(0.5, 0.5, 0, 0) res_align.add(self.result_box) res_align.connect("expose-event", self.__slider_expose) self.slider.set_to_page(share_align) self.slider_list.append(share_align) self.slider_list.append(web_align) self.slider_list.append(res_align) self.__weibo_list = [] self.sina = weibo.Sina(self.web_view) self.qq = weibo.Tencent(self.web_view) self.__weibo_list.append(self.sina) self.__weibo_list.append(self.qq) if default_locale != 'zh_CN': self.twitter = weibo.Twitter(self.web_view) #self.__weibo_list.append(self.twitter) self.__current_weibo = None self.weibo_name_l18n = { 'Sina': _("Sina"), 'Tencent': _("Tencent"), 'Twitter': _("Twitter"), } self.window.body_box.pack_start(self.slider, True, True) self.init_share_box()