Browse code

Set PNG to default export format and add more formats

Meier, Moritz authored on 08/10/2021 17:09:55 • José Fonseca committed on 27/11/2021 15:12:34
Showing 1 changed files

... ...
@@ -592,9 +592,9 @@ class DotWindow(Gtk.Window):
592 592
 
593 593
         # Create actions
594 594
         actiongroup.add_actions((
595
-            ('Open', Gtk.STOCK_OPEN, None, None, None, self.on_open),
596
-            ('Export', Gtk.STOCK_SAVE_AS, None, None, "Save graph as picture.", self.on_export),
597
-            ('Reload', Gtk.STOCK_REFRESH, None, None, None, self.on_reload),
595
+            ('Open', Gtk.STOCK_OPEN, None, None, "Open dot-file", self.on_open),
596
+            ('Export', Gtk.STOCK_SAVE_AS, None, None, "Export graph to other format", self.on_export),
597
+            ('Reload', Gtk.STOCK_REFRESH, None, None, "Reload graph", self.on_reload),
598 598
             ('Print', Gtk.STOCK_PRINT, None, None,
599 599
              "Prints the currently visible part of the graph", self.dotwidget.on_print),
600 600
             ('ZoomIn', Gtk.STOCK_ZOOM_IN, None, None, None, self.dotwidget.on_zoom_in),
... ...
@@ -766,12 +766,23 @@ class DotWindow(Gtk.Window):
766 766
         subprocess.check_call(cmd)
767 767
 
768 768
     def on_export(self, action):
769
+        
770
+        if self.dotwidget.openfilename is None:
771
+            return
772
+        
773
+        default_filter = "PNG image"
774
+    
769 775
         output_formats = {
776
+            "dot file": "dot",
777
+            "GIF image": "gif",
778
+            "JPG image": "jpg",
779
+            "JSON": "json",
780
+            "PDF": "pdf",
770 781
             "PNG image": "png",
782
+            "PostScript": "ps",
771 783
             "SVG image": "svg",
772
-            "PDF image": "pdf",
773
-            "GIF image": "gif",
774
-            "PDF image": "pdf",
784
+            "XFIG image": "fig",
785
+            "xdot file": "xdot",
775 786
         }
776 787
         buttons = (
777 788
             Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL,
... ...
@@ -793,7 +804,9 @@ class DotWindow(Gtk.Window):
793 804
             filter_.set_name(name)
794 805
             filter_.add_pattern('*.' + ext)
795 806
             chooser.add_filter(filter_)
796
-        
807
+            if name == default_filter:
808
+                chooser.set_filter(filter_)
809
+
797 810
         if chooser.run() == Gtk.ResponseType.OK:
798 811
             filename = chooser.get_filename()
799 812
             format_ = output_formats[chooser.get_filter().get_name()]