コード例 #1
0
ファイル: editor.py プロジェクト: bbethge/eddy
 def on_save(self):
     if self.__file is None:
         chooser = Gtk.FileChooserNative.new(_('Save As…'), self,
                                             Gtk.FileChooserAction.SAVE,
                                             None, None)
         response = chooser.run()
         if response != Gtk.ResponseType.ACCEPT:
             return
         filename = chooser.get_filename()
         self.__file = Gio.File.new_for_path(filename)
     assert self.__file is not None
     assert self.__file.get_path() is not None
     source_file = GtkSource.File(location=self.__file)
     cancellable = Gio.Cancellable()
     cancel_handler = self.__menu_stack.status_area.connect(
         'save-cancel-clicked', lambda b: cancellable.cancel())
     self.__menu_stack.status_area.show_save_status()
     saver = GtkSource.FileSaver(buffer=self.buffer, file=source_file)
     # TODO: Show progress
     saver.save_async(GLib.PRIORITY_DEFAULT, cancellable, None, None,
                      self.__finish_saving, cancel_handler)