Commit Graph

2318 Commits

Author SHA1 Message Date
b49c062fa4 New upstream version 2.10.34 2023-03-01 18:41:57 -05:00
b9448777e7 dialogs: Add template selector to resize dialog
Porting code by Stanislav Grinkov from dev branch.
Adds option for selecting predefined page sizes using the same
template selector as on "New Image" dialog.

Syncs up size and offset unit selectors to have the same value
when changing template and when resetting whole dialog.

Also adds pixel density 
selector to canvas size dialog
which will be shown when selected template pixel density doesn't
match the image pixel density.

Then user can either keep current image ppi and scale the
template or set image ppi to match the template ppi.

Density selector displayed only when template and image ppi
differs and template unit is matches one of real world units
(e.g. inch, mm, etc).
2023-01-29 09:55:11 +00:00
8c394d7706 app: "Canvas Size" dialog takes too much...
vertical space.
Let's use the horizontal space a little better.

To do this, Jehan moved the preview on the right side of the Canvas Size
and Offset number fields, and the "Center" button just below it.
2023-01-21 12:42:15 -05:00
41d45fa7dc app: update/fix the About's authors.xsl.
Apply Jehans' fix to the authors.xsl to this branch as well. Adapt it to
consider "recent" as >= 2.8 and don't change the sorting.
2022-12-25 23:30:33 +01:00
30c23df646 New upstream version 2.10.32 2022-08-01 09:14:18 -04:00
20b218e5a2 app: allow to disable the new version check altogether through a key…
… in the gimp-release file.

This will be useful to disable the update check for the Windows Store
even though we use the same build as the installer. All it will take
will be to append the line `check-update=false` to the file
`share/gimp/2.10/gimp-release` and it will behave as though the update
check is disabled (even though it is actually built-in).

(cherry picked from commit 9ef10c8764)

Conflicts fixed:
	app/dialogs/preferences-dialog.c
2022-06-06 01:11:29 +02:00
52519f1290 New upstream version 2.10.30 2021-12-27 21:32:02 -05:00
1ff0cc1f5c New upstream version 2.10.28 2021-09-19 12:12:14 -04:00
970059b644 New upstream version 2.10.26 2021-09-09 19:33:41 -04:00
939f0caa19 Show message dialogs in preferences dialog
(cherry picked from commit ac0a084e6e)
2021-08-16 15:08:41 +02:00
6c74aa8490 New upstream version 2.10.24 2021-07-18 14:31:43 -04:00
bfc492fb1b Issue #4777: "New version available" after update.
The About dialog refreshes the release information relatively to
currently running version before being displayed. No check of the remote
JSON file is done, it only verifies whether any stored released
version/revision is not same (or even lower) than the actually running
version. Indeed existence of a stored release means that a newer version
exists at check time only. On later run, this stored information may
have become deprecated.

(cherry picked from commit 5c89099f75)
2020-10-16 18:16:06 +02:00
627ba9c288 New upstream version 2.10.22 2020-10-06 19:17:19 -04:00
85656b2365 Issue #4505: Adjust the Preferences size to fit on smaller displays.
Make some of the bigger Preferences pages automatically scrollable if
needed. Based on my tests, this should be enough to fit on quite small
displays, at least with the default themes, even the 1366×768 reported
as too small. It should even fit in 1280×720 (in my tests, it did).

Targetting even smaller screens may be overdoing it for an image
manipulation software. We'll see if people still ask for a smaller
dialog.

(cherry picked from commit 2ec6510973)
2020-09-24 18:30:40 +02:00
c6b46b63b5 New upstream version 2.10.20 2020-08-26 11:05:56 +01:00
ebb5c3c0d2 app: move OpenCL settings into the Playground.
After discussions on IRC, it was decided that our current level of
support of OpenCL was not good enough. As a normal settings, people just
see it as a normal acceleration checkbox, even despite the warning text
and emoticone saying the opposite (i.e. it may even slow things down in
some cases).
Basically this feature needs more love to be back into mainstream
Preferences.

(cherry picked from commit 0f806d0e9c)
2020-07-17 22:21:56 +02:00
d0074985cc app: in UI strings s/Precision/Encoding/
(cherry picked from commit 7025039b93)
2020-05-11 03:55:45 +02:00
c82bf2978a app: make version + revision string translatable.
Also add some comment for translators on this string and another.
Thanks to Piotr Drąg for commenting on these.

(cherry picked from commit 023919d606)
2020-04-04 16:41:38 +02:00
1b14b13e40 app: no generic comment when no revision comment set.
After discussing with Schumaml and Houz on IRC, let's just drop the
generic comment which may be confusing and is probably unecessary,
especially now that I write the revision number (present and new ones).
So let's just assume people understand that they should update, even
when GIMP version stays the same (this was the case I was the most wary
about, that people think the notification is an error as since they have
the last version, they don't have to update GIMP).

I hesitated to at least leave just the simple "It is recommended to
update." sentence but after much hesitation, let's go with no generic
comment at all. The download button by itself should suffice.

Of course, when a specific revision comment is set in
gimp_versions.json, it is still displayed.

(cherry picked from commit 56ffa2fd11)
2020-04-01 16:47:54 +02:00
6cd49b8e6e Fix GTK+3 only code from commit 6d0886032d.
- gtk_show_uri_on_window() replaced by gtk_show_uri()
- gtk_button_new_from_icon_name replaced by
  gtk_image_new_from_icon_name() in a GtkButton.
- gtk_widget_set_margin_top() removed.
2020-04-01 15:39:25 +02:00
6d0886032d app: GUI improvements to the update display in About dialog.
- Instead of the download link being just a link button (similar to
  browser "blue text" links), make it a proper button encompassing the
  update icon and the download text "Download GIMP X.Y.Z".
- Make also the revision number part of the download information.
- Frame title is now "Update available!" instead of "New version
  available!" (because it's not necessarily a new version, it can also
  be just a package revision. "Update" is more generic).
- When no update is available, the "Check for updates" button is big and
  has a label, and also now an icon. When an update is available, hence
  we display now a button for the download link, the "Check for updates"
  button becomes small with icon only in order not to take visual
  priority over the download itself (yet allowing to re-check for even
  newer information).

(cherry picked from commit a55e898c96)
2020-04-01 15:08:35 +02:00
0badb9d468 app: display revision number in About dialog if > 0.
(cherry picked from commit 21e090aba5)
2020-04-01 15:08:35 +02:00
108f782f5e app: let's display the release comment in update notification…
… when there is one such comment.

(cherry picked from commit 75a03b02f4)
2020-04-01 15:08:35 +02:00
9d03027fb3 app: show time of last version update check.
As noted on IRC, after the first update check on a given day, it looks
like the check button does nothing. Therefore also display the check
time to clearly show the button click was taken into account (simply
there are no updates, hence only displayed check time is updated).

(cherry picked from commit a05b085112)
2020-04-01 15:08:35 +02:00
8e7900cbf2 New upstream version 2.10.18 2020-03-29 00:23:03 -04:00
Ell
04d17b7829 app: add option to show tool-button menu on hover
Add a "Menu mode" option to the toolbox preferences, which controls
the menu behavior for tool-group buttons, and can be one of "Show
on click" (current behavior), "Show on hover" (show the menu when
hovering over the button), and "Show on hover in single column"
(behaves like "Show on hover" when the toolbox has a single column,
and "Show on click" otherwise) -- the latter is the default.

Note that "Show on hover" requires the ability to remove the menu
grab, which doesn't seem to work in GTK3, so this change is
restricted to 2.10 for now.
2020-03-26 13:31:55 +02:00
Ell
3c845ec433 Issue #4827 - Modified settings requiring a restart aren't saved
When checking for updates, write the new timestamp and version info
to Gimp::edit_config, instead of Gimp::config, and rely on its
auto-save mechanism to save the changes, in order to avoid having
to save Gimp::config on exit, which overrides modified settings
that require a restart, such as the UI language, as they are only
reflected in Gimp::edit_config.

This fixes the bug, but can cause the new update info to be
discarded if the Preferences dialog is open while checking for
updates, and is subsequently canceled.  Ideally, the update info
should live in a separate file, rather than in gimprc.

(cherry picked from commit ee2a65af0d)
2020-03-19 12:40:06 +02:00
Ell
49b12b58af app: in the Preferences dialog, allow horizontal scrollbars in all tree-views
Allow horizontal scrollbars in all the Preferences dialog tree-
views, so that they don't limit the minimal width of the dialog (in
particular, the UI- and icon-theme tree-views may contain
arbitrarily-long paths).

(cherry picked from commit d868247fd9)
2020-02-22 17:40:41 +02:00
bb72b2f155 app: do not update a finalized dialog.
When the about dialog is destroyed, the weak link will be nullified.
Don't do anything then in our handler.

(cherry picked from commit cc9a15de97)
2020-02-13 22:33:45 +01:00
c5c67b9d61 app: only show a "Last checked" date when we did at least 1 check.
If for instance you've got no internet connection or other reasons that
a check might fail, the check-update-timestamp will be 0, which is
1970-01-01.
Thanks to Alexandre Prokoudine for noticing it!

(cherry picked from commit ed77830381)
2020-02-13 22:33:38 +01:00
3395362305 app: always show the "Check for updates" button in the About dialog.
Even when we already notify of an update, we should leave the ability to
query the last gimp_versions.json manually.
It would allow also people who disabled automatic check at startup
(whether through preferences or because the build disabled the feature
altogether) to still make update checks, and to not be forever stuck
with the result of an outdated version check.

(cherry picked from commit 2900f2a868)
2020-02-13 22:33:33 +01:00
4e1f175bf6 app: don't show "Check for updates" button in Preferences when option...
... deactivated at build anyway.

(cherry picked from commit f9f4538358)
2020-02-07 00:14:10 +01:00
c4e213a2bd app: now also process the build revision when checking for updates.
The idea is to be able to advertize a new revision of the same version
of GIMP. For instance, this would apply when we release a
`gimp-2-10-14-setup-3.exe` Windows installer (then we are at revision
3, provided we started at revision 0).

The revision number is obviously only relevant to a given platform and
version. Also the concept of build ID allows to differentiate various
builds for a same platform, in particular to not look at revisions of
third-party builds. The build ID can be any string. Maybe we could just
use reverse DNS build id (such as "org.gimp.GIMP_official") to identify
the official GIMP build. So in the end, we only compare revisions for an
identical (version, platform, build-id) tuple.

(cherry picked from commit 7b5fff7861)
2020-02-07 00:14:10 +01:00
e9b87c8368 app: debug dialog will now advise to update when relevant.
Instead of making the focus on bug reporting, the debug dialog will now
make the focus on updating the application if it is found that one is
not using the last version.
Debug data (backtraces and co.) will still be available and copiable,
but under an expander, and bug report button won't be displayed (i.e.
data will still be available upon request but we don't push anymore
people to submit it directly if they are using old versions of GIMP).

Of course, if you are using the last version (or version check was not
possible), the dialog still stays the same.

(cherry picked from commit 2f379494a7)
2020-02-07 00:14:10 +01:00
621e941bf2 app: parse the release date for the last release.
I was mistakenly using the date of the last check, not the release date.

(cherry picked from commit d5febf6e62)
2020-02-07 00:14:10 +01:00
bb316e5376 app: add alternative "Check for updates" button in the About dialog.
When an update is available, a big frame is visible, proposing to go to
the download page. Now a button is also available to explicitly request
for an update check in other cases (bypassing the wait delay for a
future startup).

(cherry picked from commit 827473fd88)
2020-02-07 00:14:10 +01:00
52e3b02768 app: show new version availability in About dialog.
I was wondering which shape should take the new version notification
(again some ugly pop-up?!) and realized using the About dialog was a
good idea.
This is preparatory work for this to happen.

(cherry picked from commit 826ece3b86)
2020-02-07 00:14:10 +01:00
ef4b353b49 app: check last GIMP release from gimp.org/gimp_versions.json.
GIMP will now process the remote gimp_versions json file to look if one
is using the last version of GIMP. This initial code doesn't act up yet
on this information. This will come in further commits.

Here are the characteristics:
- Since this requires internet access, a new checkbox is available in
  the Preferences dialog, allowing to disable version checks. Note that
  it is enabled by default as it is an important security feature, but
  it has to be deactivatable.
- The remote access is done as an async operation because we don't want
  it to block the startup in any way (for whatever reason). Also it
  doesn't output errors if it fails to not be a bother (you don't
  technically need internet access for an image program).
- We don't check at every startup. At each successful check, we save a
  timestamp to prevent too frequent useless checks (I set it the timer
  to a week or more for now).

(cherry picked from commit 506a0476f4)
2020-02-07 00:14:10 +01:00
Ell
ba772e6bf0 app: add "Snap brush outline to stroke" option to the preferences
Add a new "Snap brush outline to stroke" toggle to the "Image
Windows" preferences page.  When enabled, the brush outline in
paint tools snaps to the individual dabs while painting, instead of
following the cursor precisely (this is the existing behavior).
When disabled, the brush outline follows the cursor while painting
in the same way it does while not painting.

Disable the option by default.  This seems to be what most other
programs are doing, and it does give paitning a smoother feel.

(cherry picked from commit 499834a1cb)
2020-02-05 18:44:26 +02:00
Ell
9362e89b50 app: add a "Use tool groups" option to the toolbox preferences
Add a new Gimp::tool_item_ui_list, which is a GimpTreeProxy over
Gimp::tool_item_list.  This allows us to use either a hierarchical
or a flat tool list in the UI, by setting the "flat" property of
the new list.

Use Gimp::tool_item_ui_list in GimpToolPalette, so that the toolbox
layout is affected by this choice.

Add a "Use tool groups" toggle to the toolbox preferences, and bind
it to the "flat" property of Gimp::tool_item_ui_list.

(cherry picked from commit 3cda972100)
2020-02-01 13:20:23 +02:00
Ell
5f97141ba6 app: fix a super secret segfault
(cherry picked from commit 2145f4301c)
2020-01-30 18:28:57 +02:00
Ell
25faf34922 app: add tool-group support to GimpToolEditor
Add tool-group support to GimpToolEditor, used to organize tools in
the Preferences dialog, including creating, rearranging, and
deleting groups.  Also, major cleanup.
2020-01-30 02:46:53 +02:00
Ell
8591b5b33f app: add compact style for spin scales
Add a boolean "compact" style property for GimpSpinScale.  When
TRUE, the widget uses a narrower layout, and the different upper/
lower-half behavior is gone.  Instead, the behavior depends on the
mouse button used: left-click is used for absolute adjustment
(similar to the upper-half behavior), middle-click is used for
relative adjustment (similar to the lower-half behavior), and right
click is used for manual value entry (similar for clicking on the
text area).

Add a new "Compact sliders" toggle to the Interface prefernces, to
control the spin-scale style.  Apply the style globally through the
themerc file, and update it when the option changes.

Use the compact style by default, because otherwise no one would
find it.  Theming in GTK3 works differently, and spin scales in
master need more work regardless, so this stays in 2.10 for now.
2020-01-06 23:10:05 +02:00
Ell
3d7bb4bc3d app, icons: add 3D Transform tool
Add a new 3D Transform tool, based on GimpToolTransform3DGrid,
added in the previous commit.  The tool UI provides a notbook with
three tabs, corresponding to the three GimpToolTransform3DGrid
modes:

  Camera - allows setting the primary vanishing point, as well as
  the camera's focal length, expressed either directly, or as the
  camera's angle of view, relative to the whole image or the
  transformed item.  By default, the vanishing point is aligned
  with the item's center, and the angle of view is fixed relative
  to the item; this essentially means that each item is transformed
  using a local perspective, independent of its position and size
  relative to the image.  A global perspective can be achieved by
  using a common vanishing point and focal length (or an image-
  relative angle of view).

  Move   - allows moving the item using X, Y, and Z offsets.

  Rotate - allows rotating the item using X, Y, and Z Euler angles.
  The order of rotation of the different axes can be controlled by
  a set of numbered buttons next to the sliders, and the rotation's
  pivot can be controlled using a pivot selector.
2020-01-06 23:10:05 +02:00
a3fead4bbd New upstream version 2.10.14 2019-11-09 19:05:21 -05:00
b4569d3b18 New upstream version 2.10.12 2019-10-13 20:52:44 -04:00
Ell
d5e78f1899 app: add "Swap compression" option to the preferences
Add a new "Swap compression" option to the preferences, allowing
explicit control over the tile-swap compression algorithm.
Previously, control over swap compression was only possible through
GEGL command-line options/environment variables.  Since the GEGL
API to list all available compression algorithms is still private
for now, we currently only list the three predefined compression
levels -- "best performance" (the default), "balanced", and "best
compression" -- and a "none" option, to disable compression
altogether.  Selecting a custom compression algorithm is possible
by entering its name manually.

(cherry picked from commit 1664ecbf1d)
2019-09-22 17:42:23 +03:00
Ell
c8df81692c app: add option to keep canvas padding in "show all" mode
Add an option to keep the normal canvas padding in "show all" mode,
instead of extending the checkerboard pattern indefinitely.  This
is useful when wanting to show the image content beyond the canvas,
while still keeping the focus on the canvas; further commits will
extend this mode to behave in more view-related cases as if "show
all" wasn't enabled.

Add a new 'View -> Padding Color -> Keep Padding in "Show All"
Mode" toggle, which controls this behavior, with a corresponding
default-value option in the preferences, under "Image Windows ->
Appearance".
2019-09-15 16:41:35 +03:00
4b607550cb Missing mnemonics on Preferences 2019-09-05 12:47:06 +00:00
35df110a05 Missing mnemonics on several dialogs
paste as brush, paste as pattern, select to new brush, select to new pattern
fill selection outline, fill path, stroke selection, distort, rounded rectangle
indexed color conversion, merge visible layers, new guide, new guide (by percent)
image properties, newsprint, fractal explorer, sample colorize, new layer

metadata editor (just a button), spyroplus (only common buttons)
2019-09-05 12:44:17 +00:00