file_editor.py 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import gi
  2. gi.require_version("Gtk", "3.0")
  3. from gi.repository import GLib, Gio, Gtk
  4. import os
  5. import mimetypes
  6. @Gtk.Template.from_file("ppublisher/file_editor.ui")
  7. class FileEditor(Gtk.Box):
  8. __gtype_name__ = "file_editor"
  9. editor_filename: Gtk.Label = Gtk.Template.Child()
  10. editor_mimetype: Gtk.Label = Gtk.Template.Child()
  11. editor_default_document: Gtk.CheckButton = Gtk.Template.Child()
  12. editor_poster_document: Gtk.CheckButton = Gtk.Template.Child()
  13. def __init__(self, file, window):
  14. super(Gtk.Box, self).__init__()
  15. self.file = file
  16. self.window = window
  17. self.editor_filename.set_text(file.list_filename.get_text())
  18. self.editor_mimetype.set_text(file.mimetype)
  19. self.editor_default_document.set_active(file.is_main)
  20. @Gtk.Template.Callback()
  21. def default_toggled(self, widget):
  22. enabled = widget.get_active()
  23. if(enabled):
  24. self.window.set_default_document(self.file)
  25. else:
  26. self.window.set_default_document(None)
  27. @Gtk.Template.Callback()
  28. def poster_toggled(self, widget):
  29. enabled = widget.get_active()
  30. if(enabled):
  31. self.window.set_poster_document(self.file)
  32. else:
  33. self.window.set_poster_document(None)