示例#1
0
    def _on_operation_status_changed(self, operation):
        if (self._in_nested_main_loop and
                self._is_rendering_finished()):
            Gtk.main_quit()

        if self.get_status() == Gtk.PrintStatus.FINISHED_ABORTED:
            terminate_thread(self._rendering_thread)
示例#2
0
    def _handle_action(self, action):
        retval = self._manager.handle_action(action)
        if action.threaded:
            thread = retval

            msg = _('Executing "%s". This might take a while...') % (
                action.label, )
            progress_dialog = ProgressDialog(msg, pulse=True)
            progress_dialog.start(wait=100)
            progress_dialog.set_transient_for(self.get_toplevel())
            progress_dialog.set_title(action.resource.label)
            progress_dialog.connect(
                'cancel', lambda d: terminate_thread(thread))

            while thread.is_alive():
                if gtk.events_pending():
                    gtk.main_iteration(False)

            progress_dialog.stop()

        self._update_ui()
示例#3
0
 def terminate(self):
     terminate_thread(self)
示例#4
0
 def stop(self):
     terminate_thread(self)
     self.port = None
示例#5
0
    def _on_operation_status_changed(self, operation):
        if (self._in_nested_main_loop and self._is_rendering_finished()):
            gtk.main_quit()

        if self.get_status() == gtk.PRINT_STATUS_FINISHED_ABORTED:
            terminate_thread(self._rendering_thread)
示例#6
0
文件: printing.py 项目: romaia/stoq
 def _on_operation_status_changed(self, operation):
     if self.get_status() == gtk.PRINT_STATUS_FINISHED_ABORTED:
         terminate_thread(self._rendering_thread)
示例#7
0
 def stop(self):
     terminate_thread(self)
     self.port = None
     self.running = False