Completed single image export function

From "Open" dialog, select an image (single click, or use
arrow keys / etc., to highlight the image), then select the
"Export" button at the lower right.

The image will be saved in the export directory.  By default
this will be based on the config found via the XDG_CONFIG_HOME
environment variable, which is scanned for a "XDG_PICTURES_DIR"
setting.  If none is found, "Pictures" in the directory specified
by the HOME env. var. will be used.  In both cases, a new
"TuxPaint" subdirectory will be created, and exports will be placed
there.

The export location may be overridden using the "--exportdir"
command-line option or "exportdir" config file option
(e.g., "--exportdir /path/to/dir" or "exportdir=/path/to/dir",
respectively).  In this case, the directory is assumed to preexist,
and no "TuxPaint" subdirectory will be made.

There's currently no way to disable the export feature altogether.
If there's demand, we can add it as a simplification option.

Finally, this feature simply copies the PNG file (but no extra
data files) from Tux Paint's "saved" directory to the export dir.

Closes https://sourceforge.net/p/tuxpaint/feature-requests/192/
This commit is contained in:
Bill Kendrick 2020-07-26 14:10:03 -07:00
parent 28b28d583e
commit b0a2b4dacc
5 changed files with 205 additions and 50 deletions

View file

@ -11,15 +11,22 @@ $Id$
2020.July.25 (0.9.25)
* New Features
------------
* [WIP] GIF export option from Open -> Slideshow dialog.
* Utilizes "gifenc", public domain by Marcel Rodrigues:
https://github.com/lecram/gifenc
* Depends on "libimagequant", from the "pngquant2" project:
https://github.com/ImageOptim/libimagequant
(GPL v3 or later, for Free/Libre Open Source Software)
* Uses XDG user dirs settings, if available, to determine
where to store them, or "~/Pictures", otherwise.
"--exportdir" option can be used to override this.
* Export drawings:
* GIF export option from the Open -> Slideshow dialog.
* Utilizes "gifenc", public domain by Marcel Rodrigues:
https://github.com/lecram/gifenc
* Depends on "libimagequant", from the "pngquant2" project:
https://github.com/ImageOptim/libimagequant
(GPL v3 or later, for Free/Libre Open Source Software)
* WORK IN PROGRESS
(Closes https://sourceforge.net/p/tuxpaint/feature-requests/191/)
* Single image (PNG) export from the Open dialog.
(Closes https://sourceforge.net/p/tuxpaint/feature-requests/192/)
* Both utilize XDG user dirs settings, if available, to determine
where to store them, or "~/Pictures", otherwise. In those cases,
files are stored in a new "TuxPaint" subdirectory.
* The "--exportdir" option can be used to override the default
location (but a "TuxPaint" subdir. will NOT be placed there).
* Ports & Building
----------------

View file

@ -6,7 +6,7 @@ Options Documentation
Copyright (c) 2002-2020 by various contributors; see AUTHORS.txt
http://www.tuxpaint.org/
July 25, 2020
July 26, 2020
----------------------------------------------------------------------
@ -581,7 +581,8 @@ Windows Users
Use this option to change where Tux Paint exports files —
single images, or animated GIF slideshows — for external use.
If you do not override it, the default location is:
If you do not override it, the default location is determined
as follows:
* Linux & Unix — If available, wherever your desktop
environment is configured for pictures to be stored,
based on your XDG (X Desktop Group) configuration. (Try
@ -599,6 +600,14 @@ Windows Users
* Windows — TBD!
* macOS — TBD!
Note: When the defaults are used, a new "TuxPaint"
subdirectory will be created and used. (e.g.,
"~/Pictures/TuxPaint") When the "--exportdir" option is used,
the exact path specified will be used (no "TuxPaint"
subdirectory is created). It is expected that the parent
directory exists. (The directory itself will be created, if it
doesn't.)
Example: exportdir=/home/penguin/TuxPaintExports
datadir=DIRECTORY
@ -1050,6 +1059,7 @@ Windows Users
--keyboard
--savedir DIRECTORY
--datadir DIRECTORY
--exportdir DIRECTORY
--saveover
--saveovernew
--nosave

View file

@ -19,7 +19,7 @@ version
<p>Copyright (c) 2002-2020 by various contributors; see AUTHORS.txt<br/>
<a href="http://www.tuxpaint.org/">http://www.tuxpaint.org/</a></p>
<p>July 25, 2020</p>
<p>July 26, 2020</p>
</center>
@ -715,7 +715,8 @@ version
<p>Use this option to change where Tux&nbsp;Paint exports files &mdash; single
images, or animated GIF slideshows &mdash; for external use.
<p>If you do not override it, the <b><i>default</i></b> location is:
<p>If you do not override it, the <b><i>default</i></b> location is
determined as follows:
<ul>
<li>Linux &amp; Unix &mdash; If available, wherever your desktop environment
is configured for pictures to be stored, based on your XDG
@ -737,6 +738,14 @@ version
</ul>
</p>
<p><b>Note:</b> When the defaults are used, a new "<code>TuxPaint</code>"
subdirectory will be created and used. (e.g., "<code>~/Pictures/TuxPaint</code>")
When the "<code>--exportdir</code>" option is used, the exact path specified
will be used (no "<code>TuxPaint</code>" subdirectory is created).
It is expected that the parent directory exists. (The directory itself
will be created, if it doesn't.)
</p>
<p><b>Example:</b> <code>exportdir=/home/penguin/TuxPaintExports</code></p>
</dd>
@ -1606,6 +1615,7 @@ version
--keyboard<br>
--savedir&nbsp;<i>DIRECTORY</i><br>
--datadir&nbsp;<i>DIRECTORY</i><br>
--exportdir&nbsp;<i>DIRECTORY</i><br>
--saveover<br>
--saveovernew<br>
--nosave<br>