Commit Graph

195 Commits

Author SHA1 Message Date
ad8b47bff7 gui: Change Windows title bar based on theme
On Windows, the title bar can be set to light or dark mode via DwmSetWindowAttribute ().
This adds code to update the main title bar and dialogue title bars based on the current theme.
The main title bar uses "prefer-dark-theme", while the dialogue title bars
uses the color of the widget background to assume the correct color.
2023-10-18 16:48:25 +00:00
7ada432690 app: big porting of weak pointers to g_set,clear_weak_pointer()
This started as review of weak pointers, but using
g_set_weak_pointer() and g_clear_weak_pointer() is almost always
better, and shorter.
2023-05-22 18:16:09 +02:00
08b7de3b13 Issue #8520: show devel download link when relevant.
This is shown in the About dialog when a new version is available, but
also in the debug dialog (also when a new version is available).

Of course, for stable versions, we should still show the main download
page (which I double-checked current code does).
2022-08-31 13:13:27 +02:00
3fa68be264 app: date string in the About dialog was not always freed.
Let's move the g_date_time_format() to the inner block when it's
actually used, hence also make sure we allocate and free at the same
code level, which is a better practice to limit leaks.

Reported by Massimo.
2021-08-22 12:01:38 +02:00
5c89099f75 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.
2020-10-16 18:15:31 +02:00
023919d606 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.
2020-04-04 16:38:19 +02:00
56ffa2fd11 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.
2020-04-01 16:41:58 +02:00
a55e898c96 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).
2020-03-30 20:38:13 +02:00
21e090aba5 app: display revision number in About dialog if > 0. 2020-03-30 15:44:23 +02:00
75a03b02f4 app: let's display the release comment in update notification…
… when there is one such comment.
2020-03-30 15:37:34 +02:00
a05b085112 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).
2020-03-30 14:52:18 +02:00
cc9a15de97 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.
2020-02-11 21:40:28 +01:00
ed77830381 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!
2020-02-11 21:12:42 +01:00
2900f2a868 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.
2020-02-08 14:17:17 +01:00
7b5fff7861 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.
2020-02-06 21:47:00 +01:00
d5febf6e62 app: parse the release date for the last release.
I was mistakenly using the date of the last check, not the release date.
2020-01-02 23:09:23 +01:00
827473fd88 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).
2019-12-29 13:24:20 +01:00
826ece3b86 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.
2019-12-29 10:36:12 +01:00
5f700549e7 Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
491550ffbc app: undeprecate about-dialog.c, and clean out a lot of cruft 2018-05-20 21:06:34 +02:00
9fafb858bd app: do not run gtk_window_present() in about_dialog_create().
The window will be raised soon after anyway. No need to do it too early,
which makes setting a transient parent useless afterwards. In particular
we were still getting a "GtkDialog mapped without a transient parent"
message.
2018-05-20 21:06:33 +02:00
de225a74a2 app: port the about dialog to GtkStyleContext 2018-05-20 21:06:28 +02:00
2a01159f0e app: port to GtkWidget::draw() 2018-05-20 21:06:26 +02:00
62279047b1 Bug 795763 - Update gimp.org links to https://
Update links to https:// in "About". the "Help" menu, and several
user-visible error messages.
2018-05-03 00:27:29 +02:00
986b3fd70a app: remove duplicate include. 2018-01-29 01:48:30 +01:00
Ell
c97209ba4a app: fix abbreviated commit hashes
The abbreviated commit hash we show in the shell and the about
dialog is currently just the last 7 characters of 'git describe',
based on the assumption that abbreviated hashes are always 7-digits
long.  When the hash is longer than that, we're just showing a
nonsense commit.

This was never a good idea, since users can override this, and
since disambiguation can result in longer hashes, but since git
2.11, the default abbreviated hash length is determined based on
the size of the repository, which currently results in 10 digits
for us.

Let's just do it right.
2017-03-21 23:05:42 -04:00
f4f7b894ed app: fix position of "inline" keyword in about-dialog.c 2016-09-07 20:23:36 +02:00
4161ea9cd7 Bug 750920 - Show commit number in About dialog
Done.
2015-08-21 10:27:03 +02:00
969e2b60f1 app: port about_dialog_load_logo() to GIO 2014-07-29 12:48:57 +02:00
867da8f293 app: add gimp_context_get_foreground,background_pixel()
which takes a Babl format to convert from/to.
Include <gegl.h> in a million places.
2012-05-02 17:50:41 +02:00
848460d9a5 about-dialog: Add ifdef GIMP_UNSTABLE around about_dialog_add_unstable_message() 2012-02-19 22:14:36 +05:30
9bf7d9d08a Rename function (about_dialog_add_unstable_message) 2012-02-19 16:43:37 +05:30
39368a410d plugged memory leaks 2012-02-07 17:32:02 +01:00
97c5a2817d app: s/GTK_IS_VBOX/GTK_IS_BOX/ to simplify the gtk3-port branch 2011-07-27 20:21:58 +02:00
92d7c7d8d9 app: change about dialog role from "about-dialog" to "gimp-about" 2011-03-30 20:20:47 +02:00
ab5bd03a9c Show maintainers after creators in About-dialog
It makes sense to show maintainers after creators in the About-dialog,
do that.
2011-01-27 18:52:00 +01:00
285a42eef3 app: Calculate number of creators in about dialog 2011-01-27 18:52:00 +01:00
c83294f4ce Minor coding style fix 2010-09-30 01:56:02 +05:30
c9b03ef8ff app: use last git commit year for copyright label 2010-09-28 15:07:45 +02:00
9942d5f692 app: draw the about dialog's animated string with cairo, not gdk_draw_layout() 2010-07-27 18:01:34 +02:00
fa21f2da5b Build with GSEAL_ENABLE and #undef it where accessors are missing 2009-10-17 19:03:24 +02:00
f34cdad2bc Use gtk_widget_get_window() instead of widget->window 2009-10-09 21:19:05 +02:00
2591d7e368 app: Don't use plug-in-web-browser in About Dialog
The GtkAboutDialog is implemented with a GtkLinkButton which uses
gtk_show_uri(). We don't need to add any hooks.
2009-08-08 14:43:33 +02:00
997111bf0a Use gtk_dialog_get_content_area() instead of dialog->vbox 2009-07-15 16:19:32 +02:00
d9b5207aa2 Change licence to GPLv3 (and to LGPLv3 for libgimp).
2009-01-17  Michael Natterer  <mitch@gimp.org>

	* all files with a GPL header and all COPYING files:

	Change licence to GPLv3 (and to LGPLv3 for libgimp).

	Cleaned up some copyright headers and regenerated the parsers in
	the ImageMap plugin.


svn path=/trunk/; revision=27913
2009-01-17 22:28:01 +00:00
f959832666 data/images/Makefile.am added 128x128 version of wilber-devel.png.
2008-10-09  Sven Neumann  <sven@gimp.org>

	* data/images/Makefile.am
	* data/images/gimp-devel-logo.png: added 128x128 version of
	wilber-devel.png.

	* app/dialogs/about-dialog.c (about_dialog_load_logo): use
	gimp-devel-logo.png for unstable releasees.


svn path=/trunk/; revision=27199
2008-10-09 19:16:54 +00:00
3b9c941369 put translator comment on a single line, looks better in the .po file.
2008-09-20  Sven Neumann  <sven@gimp.org>

	* app/dialogs/about-dialog.c: put translator comment on a single
	line, looks better in the .po file.


svn path=/trunk/; revision=27025
2008-09-20 21:30:48 +00:00
8c66ea4b19 app/actions/layers-commands.c app/actions/view-actions.c
2008-06-28  Michael Natterer  <mitch@gimp.org>

	* app/actions/layers-commands.c
	* app/actions/view-actions.c
	* app/dialogs/about-dialog.c
	* app/dialogs/layer-options-dialog.c
	* app/dialogs/preferences-dialog.c
	* app/display/gimpcanvas.c
	* app/display/gimpdisplayshell-appearance.c
	* app/display/gimpnavigationeditor.c
	* modules/colorsel_water.c: use accessors instead of accessing
	members of GTK+ widgets directly.


svn path=/trunk/; revision=26006
2008-06-28 15:12:13 +00:00
73172dce3b removed obsolete version check here.
2008-01-23  Sven Neumann  <sven@gimp.org>

	* app/dialogs/about-dialog.c (about_dialog_create): removed
	obsolete version check here.

svn path=/trunk/; revision=24688
2008-01-23 12:08:49 +00:00
c1b28feec1 pass NULL GError arg to gimp_pdb_execute_procedure_by_name.
2007-12-02  Manish Singh  <yosh@gimp.org>

        * app/dialogs/about-dialog.c (about_dialog_load_url): pass NULL
        GError arg to gimp_pdb_execute_procedure_by_name.

        * app/xcf/xcf.c
        * app/xcf/xcf-load.[ch]
        * app/xcf/xcf-save.[ch]: throw GErrors from load/save invokers instead
        of gimp_messages.

svn path=/trunk/; revision=24256
2007-12-03 07:44:49 +00:00