Mercurial > octave
changeset 24202:014f47089682
make .fig files the default for saving from figure menus
* Figure.cc (Figure::fileSaveFigure): Update list of figure formats.
Make .fig the default.
(Figure::save_figure_callback): Call hgsave for .fig files.
* __add_default_menu__.m (__save_as__): Update list of figure
formats. Make .fig the default.
(save_cb): Call hgsave for .fig files. Pass figure object
to __save_as__, not handle of callback object.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Tue, 07 Nov 2017 17:28:57 -0500 |
parents | 558de6a42ff7 |
children | 68c4ee9545b2 |
files | libgui/graphics/Figure.cc scripts/plot/util/private/__add_default_menu__.m |
diffstat | 2 files changed, 26 insertions(+), 13 deletions(-) [+] |
line wrap: on
line diff
--- a/libgui/graphics/Figure.cc Mon Nov 06 13:25:23 2017 +0100 +++ b/libgui/graphics/Figure.cc Tue Nov 07 17:28:57 2017 -0500 @@ -867,7 +867,7 @@ { prompt = true; - file = "untitled.pdf"; + file = "untitled.fig"; } if (prompt || file.isEmpty ()) @@ -877,9 +877,10 @@ file = QFileDialog::getSaveFileName (qWidget<FigureWindow> (), tr ("Save Figure As"), finfo.absoluteFilePath (), - nullptr, nullptr, + tr ("Figure File (*.fig);;Vector Image Formats (*.eps *.epsc *.pdf *.svg *.ps *.tikz);;Bitmap Image Formats (*.gif *.jpg *.png *.tiff)", + nullptr, QFileDialog::DontUseNativeDialog); - } + } if (! file.isEmpty ()) { @@ -898,7 +899,12 @@ figure::properties& fp = properties<figure> (); octave_value fnum = fp.get___myhandle__ ().as_octave_value (); - Ffeval (ovl ("print", fnum, file)); + size_t flen = file.length (); + + if (flen > 4 && file.substr (flen-4, 4) == ".fig") + Ffeval (ovl ("hgsave", fnum, file)); + else + Ffeval (ovl ("print", fnum, file)); } void
--- a/scripts/plot/util/private/__add_default_menu__.m Mon Nov 06 13:25:23 2017 +0100 +++ b/scripts/plot/util/private/__add_default_menu__.m Tue Nov 07 17:28:57 2017 -0500 @@ -67,25 +67,32 @@ if (strcmp (lbl, "&Save")) fname = get (hfig, "filename"); if (isempty (fname)) - __save_as__ (hcbo); + __save_as__ (hfig); else - saveas (hcbo, fname); + saveas (hfig, fname); endif elseif (strcmp (lbl, "Save &As")) - __save_as__ (hcbo); + __save_as__ (hfig); endif endfunction function __save_as__ (caller) - [filename, filedir] = uiputfile ({"*.pdf;*.ps;*.gif;*.png;*.jpg", - "Supported Graphic Formats"}, - "Save Figure", - [pwd, filesep, "untitled.pdf"]); + [filename, filedir] = uiputfile ... + ({"*.fig", "Figure File"; + "*.eps;*.epsc;*.pdf;*.svg;*.ps;*.tikz", "Vector Image Formats"; + "*.gif;*.jpg;*.png;*.tiff", "Bitmap Image Formats"}, + "Save Figure", fullfile (pwd, "untitled.fig")); + if (filename != 0) - fname = [filedir filesep() filename]; + fname = fullfile (filedir, filename); set (gcbf, "filename", fname); - saveas (caller, fname); + flen = numel (fname); + if (flen > 4 && strcmp (fname(flen-3:end), ".fig")) + hgsave (caller, fname); + else + saveas (caller, fname); + endif endif endfunction