def on_installer_change(self, event): if event.state == DL_STATE_INFO: if event.msg is not None: self.pg.set_task(event.msg) self.pg.set_message("") if event.data != -1: self.pg.set_message("%d%%" % event.data) self.pg.set_progress(event.data) else: self.pg.pulse() elif event.state == DL_STATE_ERROR: gobject.idle_add(ghlp.show_error, self, event.msg) elif event.state == DL_STATE_DONE: dname, dtarget = libsl.filename_parse(event.data) self.list_inst.append_row(True, False, dname, dtarget) self.sync_used_dicts() if event.state in (DL_STATE_ERROR, DL_STATE_DONE, DL_STATE_CANCEL): self.pg.destroy() ghlp.change_cursor(None) while gtk.events_pending(): gtk.main_iteration(False)
def on_btn_right_clicked(self, widget, selection): (model, l_iter) = selection.get_selected() if l_iter is None: return fname = model.get_filename(l_iter) #Check duplicate ff = os.path.join(self.conf.sl_dicts_dir, fname[:-4]) if os.path.isfile(ff): ghlp.show_error(self, _("Dictionary already installed!")) return #Check permissions if not is_path_writable(self.conf.sl_dicts_dir): ghlp.show_error(self, _("You do not have permissions!")) return ghlp.change_cursor(gdk.Cursor(gdk.WATCH)) event = threading.Event() installer = DictInstaller(fname, event) installer.connect(self.on_installer_change) self.pg = ghlp.ProgressDialog(self, "Installation...", "Connecting...") self.pg.connect("response", lambda x, y: (y == -6 and installer.cancel())) self.pg.show_all() thread = threading.Thread(target=self.__wait_connection, args=(event, self.pg)) thread.start() installer.start()
def on_translate_clicked(self, widget, data=None): """ Обработчик собития нажатия на кнопку Translate """ curr = self.cmb_target.get_active() if curr == -1: print "Warning: Target not selected" return src = self.model[curr][1] dst = self.model[curr][2] textbuffer = self.textview.get_buffer() start, end = textbuffer.get_bounds() text = textbuffer.get_text(start, end) self.conf.google_target = curr if len(text) == 0: ghlp.show_error(None, _("Empty text")) return ghlp.change_cursor(gtk.gdk.Cursor(gtk.gdk.WATCH)) self.__fire_status_changed("Send request...") thread = threading.Thread(target = self.request_google, args = (src, dst, text)) thread.start()
def on_translate_clicked(self, widget, data=None): """ Обработчик собития нажатия на кнопку Translate """ curr = self.cmb_target.get_active() if curr == -1: print "Warning: Target not selected" return src = self.model[curr][1] dst = self.model[curr][2] textbuffer = self.textview.get_buffer() start, end = textbuffer.get_bounds() text = textbuffer.get_text(start, end) self.conf.google_target = curr if len(text) == 0: ghlp.show_error(None, _("Empty text")) return ghlp.change_cursor(gtk.gdk.Cursor(gtk.gdk.WATCH)) self.__fire_status_changed("Send request...") thread = threading.Thread(target=self.request_google, args=(src, dst, text)) thread.start()
def on_btn_right_clicked(self, widget, selection): (model, l_iter) = selection.get_selected() if l_iter is None: return fname = model.get_filename(l_iter) #Check duplicate ff = os.path.join(self.conf.sl_dicts_dir, fname[:-4]) if os.path.isfile(ff): ghlp.show_error(self, _("Dictionary already installed!")) return #Check permissions if not is_path_writable(self.conf.sl_dicts_dir): ghlp.show_error(self, _("You do not have permissions!")) return ghlp.change_cursor(gdk.Cursor(gdk.WATCH)) event = threading.Event() installer = DictInstaller(fname, event) installer.connect(self.on_installer_change) self.pg = ghlp.ProgressDialog(self, "Installation...", "Connecting...") self.pg.connect("response", lambda x, y: (y == -6 and installer.cancel())) self.pg.show_all() thread = threading.Thread(target = self.__wait_connection, args = (event, self.pg)) thread.start() installer.start()
def refresh(self): ghlp.change_cursor(gdk.Cursor(gdk.WATCH)) event = threading.Event() thread = threading.Thread(target = self.download_repo_file, args = (event,)) thread.start() while not event.isSet(): event.wait(0.1) while gtk.events_pending(): gtk.main_iteration(False) self.__load() ghlp.change_cursor(None)
def refresh(self): ghlp.change_cursor(gdk.Cursor(gdk.WATCH)) event = threading.Event() thread = threading.Thread(target=self.download_repo_file, args=(event, )) thread.start() while not event.isSet(): event.wait(0.1) while gtk.events_pending(): gtk.main_iteration(False) self.__load() ghlp.change_cursor(None)
def on_translate_clicked(self, widget, data=None): target = self.cmb_target.get_active() textbuffer = self.textview.get_buffer() start, end = textbuffer.get_bounds() text = textbuffer.get_text(start, end) if len(text) == 0: ghlp.show_error(None, _("Empty text")) return #TODO: Move to on_combobox_changed() self.conf.google_target = self.cmb_target.get_active() ghlp.change_cursor(gtk.gdk.Cursor(gtk.gdk.WATCH)) self.__fire_status_changed("Send request...") thread = threading.Thread(target = self.request_google, args = (target, text)) thread.start()
if needClear: gobject.timeout_add(5000, self.__fire_status_changed, "") # Thread function def request_google(self, target, text): try: translate = self.google.translate(target, text) except urllib2.URLError, err: msg = "Google error: %s" % err print msg self.__fire_status_changed(msg, True) else: self.__fire_translate_changed(translate) self.__fire_status_changed("Done", True) finally: ghlp.change_cursor(None) def on_translate_clicked(self, widget, data=None): target = self.cmb_target.get_active() textbuffer = self.textview.get_buffer() start, end = textbuffer.get_bounds() text = textbuffer.get_text(start, end) if len(text) == 0: ghlp.show_error(None, _("Empty text")) return #TODO: Move to on_combobox_changed() self.conf.google_target = self.cmb_target.get_active()