geeqie.git
5 weeks agoFix #1771: Deleting (not write protected) symlinks to write protected images gives...
Colin Clark [Sun, 15 Jun 2025 14:59:19 +0000 (15:59 +0100)]
Fix #1771: Deleting (not write protected) symlinks to write protected images gives warning

https://github.com/BestImageViewer/geeqie/issues/1771

Function access() was used, but this function follows symlinks.

Instead use lstat for delete/move/rename operations.

5 weeks agoSimplify image_osd_mkinfo()
Arkadiy Illarionov [Thu, 12 Jun 2025 12:58:15 +0000 (15:58 +0300)]
Simplify image_osd_mkinfo()

Extract get_osd_name(), get_osd_data(), add_osd_extra() functions.
Merge declaration and definition of variables where available.
Use nullptr for data in case of error in lua script name parsing.

5 weeks agoReduce number of parameters in set_osd_button()
Arkadiy Illarionov [Thu, 12 Jun 2025 14:44:30 +0000 (17:44 +0300)]
Reduce number of parameters in set_osd_button()

Rename to osd_tag_button_new().

5 weeks agoBug fix: Symbolic links are followed for files supplied on the command line
Colin Clark [Sat, 14 Jun 2025 13:05:25 +0000 (14:05 +0100)]
Bug fix: Symbolic links are followed for files supplied on the command line

If <file> is a symbolic link, the command:
geeqie <file>
will open Geeqie with the target of the link displayed.
This is not correct.

Use the correct function.

5 weeks agoSimplify TagData handling
Arkadiy Illarionov [Thu, 12 Jun 2025 14:13:39 +0000 (17:13 +0300)]
Simplify TagData handling

Remove unused title member.
Add image_overlay_template_view member to avoid using GObject properties.
Use g_signal_connect_swapped() to simplify callbacks.
Move callbacks to anonymous namespace.

5 weeks agoAdd string_list_join() to reduce duplication
Arkadiy Illarionov [Thu, 12 Jun 2025 11:22:33 +0000 (14:22 +0300)]
Add string_list_join() to reduce duplication

5 weeks agoFix OSD string build
Arkadiy Illarionov [Thu, 12 Jun 2025 10:58:42 +0000 (13:58 +0300)]
Fix OSD string build

6 weeks agoChange algorithm used for search-distance computation
Colin Clark [Sun, 8 Jun 2025 12:29:57 +0000 (13:29 +0100)]
Change algorithm used for search-distance computation

In the Search GPS distance computation use the Equirectangular
approximation.
It is faster and the error is insignificant in this application.

6 weeks agoUse gtk_container_foreach() to simplify code
Arkadiy Illarionov [Sat, 7 Jun 2025 18:34:15 +0000 (21:34 +0300)]
Use gtk_container_foreach() to simplify code

Fix couple memory leaks.

6 weeks agoFix #1768: Crash on "keyword autocomplete" command
Colin Clark [Sat, 7 Jun 2025 11:05:33 +0000 (12:05 +0100)]
Fix #1768: Crash on "keyword autocomplete" command

https://github.com/BestImageViewer/geeqie/issues/1768

Check if the keywords pane has been initialized, and if not send an
application notification.

6 weeks agoFix #1765: No thumbnails shown in browser view on geeqie start
Colin Clark [Tue, 3 Jun 2025 14:09:04 +0000 (15:09 +0100)]
Fix #1765: No thumbnails shown in browser view on geeqie start

https://github.com/BestImageViewer/geeqie/issues/1765

Not a fix, just a workaround.

6 weeks agoFix LTO build
Arkadiy Illarionov [Tue, 3 Jun 2025 07:22:14 +0000 (10:22 +0300)]
Fix LTO build

7 weeks agoPart fix #1751: MRU list for collections is now missing/useless
Colin Clark [Sun, 1 Jun 2025 14:20:20 +0000 (15:20 +0100)]
Part fix #1751: MRU list for collections is now missing/useless

https://github.com/BestImageViewer/geeqie/issues/1761

Ensure that when a .gqv file is opened via Open File or Open Recent File
the Collection is opened.

7 weeks agoReturn value from pixbuf_gdk_known_extensions()
Arkadiy Illarionov [Fri, 30 May 2025 07:07:44 +0000 (10:07 +0300)]
Return value from pixbuf_gdk_known_extensions()

Instead of using out parameter.
Use recommended prepend and sort.

7 weeks agoMove secure_save() to ui-fileops
Arkadiy Illarionov [Tue, 27 May 2025 18:49:39 +0000 (21:49 +0300)]
Move secure_save() to ui-fileops

Fix group id getting.
Simplify a bit.

7 weeks agoFix #1743: Slow since 2.6
Colin Clark [Tue, 27 May 2025 10:10:36 +0000 (11:10 +0100)]
Fix #1743: Slow since 2.6

https://github.com/BestImageViewer/geeqie/issues/1743

Incorrect init. function used.

7 weeks agoSimplify string building for secure_save()
Arkadiy Illarionov [Mon, 26 May 2025 20:48:27 +0000 (23:48 +0300)]
Simplify string building for secure_save()

Also remove unused includes and forward declaration.

8d11f52df4eb12b5bd133733fa70d02a662c5921 follow-up.

7 weeks agoUse file_data_list_free() in g_signal_connect_swapped
Arkadiy Illarionov [Mon, 26 May 2025 20:24:56 +0000 (23:24 +0300)]
Use file_data_list_free() in g_signal_connect_swapped

7 weeks agoUpdate secure_save.cc
Colin Clark [Mon, 26 May 2025 15:48:51 +0000 (16:48 +0100)]
Update secure_save.cc

- Use g_file_set_contents_full() instead of the "home-built" code.
- Log file output no longer uses secure_save()

8 weeks agoAdd FileDataList alias for GList with FileData elements
Arkadiy Illarionov [Sun, 25 May 2025 12:28:39 +0000 (15:28 +0300)]
Add FileDataList alias for GList with FileData elements

Rename filelist_free() to file_data_list_free().
Use g_autoptr macro to simplify code a bit.

8 weeks agoSimplify stop_signal handling in key press callbacks
Arkadiy Illarionov [Sun, 25 May 2025 12:42:56 +0000 (15:42 +0300)]
Simplify stop_signal handling in key press callbacks

8 weeks agoDrop unused lw parameter from layout_selectable_toolbars_toggle()
Arkadiy Illarionov [Sat, 24 May 2025 14:13:50 +0000 (17:13 +0300)]
Drop unused lw parameter from layout_selectable_toolbars_toggle()

Rename to current_layout_selectable_toolbars_toggle()

8 weeks agoUse gtk_widget_set_visible() to simplify code
Arkadiy Illarionov [Sat, 24 May 2025 13:02:38 +0000 (16:02 +0300)]
Use gtk_widget_set_visible() to simplify code

8 weeks agoSimplify search_file_do_extra() a bit
Arkadiy Illarionov [Sat, 24 May 2025 11:47:46 +0000 (14:47 +0300)]
Simplify search_file_do_extra() a bit

8 weeks agoBug fix: Crash using GQ_DISABLE_CLUTTER=y when config file already has gps map enabled
Colin Clark [Sat, 24 May 2025 10:32:25 +0000 (11:32 +0100)]
Bug fix: Crash using GQ_DISABLE_CLUTTER=y when config file already has gps map enabled

Fix sequencing error.

8 weeks agoUse filetime_set() to reduce dependency on utime
Arkadiy Illarionov [Thu, 8 May 2025 11:55:38 +0000 (14:55 +0300)]
Use filetime_set() to reduce dependency on utime

8 weeks agoMove common code to get_marks_string()
Arkadiy Illarionov [Wed, 30 Apr 2025 20:12:31 +0000 (23:12 +0300)]
Move common code to get_marks_string()

8 weeks agoEliminate compiler warning - preferences.cc
Colin Clark [Wed, 21 May 2025 14:11:08 +0000 (15:11 +0100)]
Eliminate compiler warning - preferences.cc

error: both sides of operator are equivalent
[misc-redundant-expression,-warnings-as-errors]
is issued because PREF_PAD_INDENT = PREF_PAD_SPACE

Create a workaround.

8 weeks agoUpdate test-all.sh for new meson version
Colin Clark [Wed, 21 May 2025 12:59:36 +0000 (13:59 +0100)]
Update test-all.sh for new meson version

https://mesonbuild.com/Release-notes-for-1-7-0.html

"Test targets no longer built by default"

Call ninja explicitly for tests.

2 months agoFix #1541: MacOS: Crash when exiting fullscreen mode
Colin Clark [Tue, 13 May 2025 07:59:32 +0000 (08:59 +0100)]
Fix #1541: MacOS: Crash when exiting fullscreen mode

https://github.com/BestImageViewer/geeqie/issues/1541#issuecomment-2873652561

This is a blind fix.

2 months agoBug fix: Icon view, filename text not displayed, filename tooltip
Colin Clark [Sun, 11 May 2025 10:38:31 +0000 (11:38 +0100)]
Bug fix: Icon view, filename text not displayed, filename tooltip

If icon view is selected, and filename text is selected to be not
displayed, the tooltip text showing the filename is not displayed.

Ensure the tooltip window has a parent.

2 months agoBug fix: gtk_file_chooser dialog cannot create folders
Colin Clark [Wed, 7 May 2025 13:45:00 +0000 (14:45 +0100)]
Bug fix: gtk_file_chooser dialog cannot create folders

Make the dialog modal to prevent focus being taken away.

2 months agoGet search gps once per search
Arkadiy Illarionov [Tue, 6 May 2025 20:42:15 +0000 (23:42 +0300)]
Get search gps once per search

Fix search gps if "Image is not geocoded" is selected.

2 months agoBug fix: --action=<illegal value> results in crash
Colin Clark [Tue, 6 May 2025 17:22:25 +0000 (18:22 +0100)]
Bug fix: --action=<illegal value> results in crash

If a command of the type:
geeqie --action=abcd
is given when geeqie is not running, there is a crash.

Check that window is valid.

2 months agoFix readability-math-missing-parentheses warning
Arkadiy Illarionov [Mon, 5 May 2025 19:55:40 +0000 (22:55 +0300)]
Fix readability-math-missing-parentheses warning

2 months agoFix typo
Colin Clark [Mon, 5 May 2025 16:35:13 +0000 (17:35 +0100)]
Fix typo

2 months agoRelease v2.6 files
Colin Clark [Mon, 5 May 2025 14:23:30 +0000 (15:23 +0100)]
Release v2.6 files

2 months agoBug Fix #1708: Allow to have more OSD profiles
Colin Clark [Mon, 5 May 2025 11:18:56 +0000 (12:18 +0100)]
Bug Fix #1708: Allow to have more OSD profiles

Remove unwanted text.

2 months agoGet search marks once per search
Arkadiy Illarionov [Wed, 30 Apr 2025 20:04:35 +0000 (23:04 +0300)]
Get search marks once per search

2 months agoFix build with GCC 15
Arkadiy Illarionov [Wed, 30 Apr 2025 19:53:40 +0000 (22:53 +0300)]
Fix build with GCC 15

2 months agoGet search class once per search
Arkadiy Illarionov [Tue, 29 Apr 2025 19:36:23 +0000 (22:36 +0300)]
Get search class once per search

2 months agoDrop unused search_window_list
Arkadiy Illarionov [Tue, 29 Apr 2025 17:32:03 +0000 (20:32 +0300)]
Drop unused search_window_list

2 months agoFix date type search
Arkadiy Illarionov [Mon, 28 Apr 2025 20:01:00 +0000 (23:01 +0300)]
Fix date type search

And determine required FileData datetime member once in search_start_cb().

2 months agoSimplify calculation of search date boundaries
Arkadiy Illarionov [Sun, 27 Apr 2025 19:24:16 +0000 (22:24 +0300)]
Simplify calculation of search date boundaries

2 months agoAdd SearchDate to reduce code duplication
Arkadiy Illarionov [Sun, 27 Apr 2025 12:01:07 +0000 (15:01 +0300)]
Add SearchDate to reduce code duplication

Set values only if match date enabled.

2 months agoSplit search UI from data
Arkadiy Illarionov [Sat, 26 Apr 2025 11:15:38 +0000 (14:15 +0300)]
Split search UI from data

2 months agoDrop unused TODO
Arkadiy Illarionov [Sat, 26 Apr 2025 12:32:31 +0000 (15:32 +0300)]
Drop unused TODO

2 months agoFix g_strdup_printf() memory leaks in search
Arkadiy Illarionov [Sat, 26 Apr 2025 11:34:01 +0000 (14:34 +0300)]
Fix g_strdup_printf() memory leaks in search

2 months agoDrop redundant SearchData::button_help member
Arkadiy Illarionov [Fri, 25 Apr 2025 20:36:31 +0000 (23:36 +0300)]
Drop redundant SearchData::button_help member

2 months agoReplace MATCH_IS_BETWEEN macro with template function
Arkadiy Illarionov [Wed, 23 Apr 2025 18:59:21 +0000 (21:59 +0300)]
Replace MATCH_IS_BETWEEN macro with template function

2 months agoFix gtk_combo_box_text_get_active_text() memory leaks
Arkadiy Illarionov [Tue, 22 Apr 2025 20:59:04 +0000 (23:59 +0300)]
Fix gtk_combo_box_text_get_active_text() memory leaks

2 months agoFix #1708: Allow to have more OSD profiles
Colin Clark [Tue, 22 Apr 2025 16:55:50 +0000 (17:55 +0100)]
Fix #1708: Allow to have more OSD profiles

https://github.com/BestImageViewer/geeqie/issues/1708

- The Edit/Preferences/OSD tab now allows 4 OSD profiles.

- Minor bug fix involving color scaling.

3 months agoReplace defines in GPS match with constexpr
Arkadiy Illarionov [Sun, 20 Apr 2025 11:24:51 +0000 (14:24 +0300)]
Replace defines in GPS match with constexpr

Simplify a bit.

3 months agoReplace mfd_list_free() with g_list_free_full()
Arkadiy Illarionov [Sun, 20 Apr 2025 10:36:11 +0000 (13:36 +0300)]
Replace mfd_list_free() with g_list_free_full()

3 months agoDrop unused parameters from print_window_new()
Arkadiy Illarionov [Sat, 19 Apr 2025 18:56:36 +0000 (21:56 +0300)]
Drop unused parameters from print_window_new()

3 months agoFix #1722: test failure: geeqie:analysis / Untranslated Text_ preferences.cc
Colin Clark [Sun, 20 Apr 2025 09:29:35 +0000 (10:29 +0100)]
Fix #1722: test failure: geeqie:analysis / Untranslated Text_ preferences.cc

https://github.com/BestImageViewer/geeqie/issues/1722

The problem line is:
"Néstor Díaz Valencia <[email protected]>"
which contains accented characters.

I do not expect the grep expression to detect accented characters as
part of an alpha-numeric string. Why it does so on another system is not
clear.

Ignore that text line.

3 months agoDrop unused parameters from dupe functions
Arkadiy Illarionov [Sat, 19 Apr 2025 15:54:49 +0000 (18:54 +0300)]
Drop unused parameters from dupe functions

Also merge pop_menu_export() and dupe_pop_menu_export_cb().

3 months agoGTK4: Eliminate gtk_dialog_run() call
Colin Clark [Fri, 18 Apr 2025 10:30:24 +0000 (11:30 +0100)]
GTK4: Eliminate gtk_dialog_run() call

GTK4 migration

3 months agoGTK4: Move Sort Manager new collection dialog to gtk_file_chooser
Colin Clark [Thu, 17 Apr 2025 15:35:08 +0000 (16:35 +0100)]
GTK4: Move Sort Manager new collection dialog to gtk_file_chooser

GTK4 migration

3 months agoFix g_autoptr(GList) memory leak
Arkadiy Illarionov [Tue, 15 Apr 2025 21:46:00 +0000 (00:46 +0300)]
Fix g_autoptr(GList) memory leak

g_autoptr(GList) doesn't free element’s data. It works like
g_list_free() not g_list_free_full().

3 months agoGTK4: Move dupes export dialog to gtk_file_chooser
Colin Clark [Tue, 15 Apr 2025 09:49:18 +0000 (10:49 +0100)]
GTK4: Move dupes export dialog to gtk_file_chooser

GTK4 migration

3 months agoFix more memory leaks in pan-view-filter
Arkadiy Illarionov [Mon, 14 Apr 2025 20:18:04 +0000 (23:18 +0300)]
Fix more memory leaks in pan-view-filter

3 months agoBug fix #1706: command line duplicate search
Colin Clark [Sun, 13 Apr 2025 15:10:33 +0000 (16:10 +0100)]
Bug fix #1706: command line duplicate search

https://github.com/BestImageViewer/geeqie/issues/1706

Fix selection logic.

3 months agoSimplify pan_filter_ui_destroy() and pan_search_ui_destroy()
Arkadiy Illarionov [Sun, 13 Apr 2025 10:42:40 +0000 (13:42 +0300)]
Simplify pan_filter_ui_destroy() and pan_search_ui_destroy()

3 months agoFix memory leak of PanViewFilterElement
Arkadiy Illarionov [Sat, 12 Apr 2025 15:56:26 +0000 (18:56 +0300)]
Fix memory leak of PanViewFilterElement

3 months agoMove pan-view-filter local types and functions to anonymous namespace
Arkadiy Illarionov [Sat, 12 Apr 2025 15:15:48 +0000 (18:15 +0300)]
Move pan-view-filter local types and functions to anonymous namespace

3 months agoDrop redundant pan_filter_status()
Arkadiy Illarionov [Sat, 12 Apr 2025 14:45:29 +0000 (17:45 +0300)]
Drop redundant pan_filter_status()

3 months agoReduce code duplication in pan_filter_toggle_cb()
Arkadiy Illarionov [Sat, 12 Apr 2025 14:36:18 +0000 (17:36 +0300)]
Reduce code duplication in pan_filter_toggle_cb()

3 months agoSimplify pan_view_list_find_kw_pattern() a bit
Arkadiy Illarionov [Sat, 12 Apr 2025 13:55:10 +0000 (16:55 +0300)]
Simplify pan_view_list_find_kw_pattern() a bit

3 months agoMake GRegex parameters const
Arkadiy Illarionov [Sat, 12 Apr 2025 13:22:39 +0000 (16:22 +0300)]
Make GRegex parameters const

3 months agoFix memory leaks after vf_file_filter_get_filter() calls
Arkadiy Illarionov [Sat, 12 Apr 2025 12:56:16 +0000 (15:56 +0300)]
Fix memory leaks after vf_file_filter_get_filter() calls

Use g_autoptr(GRegex).

3 months agoGTK4: Change gtk_window_new to gtk_application_window_new
Colin Clark [Sat, 12 Apr 2025 12:44:54 +0000 (13:44 +0100)]
GTK4: Change gtk_window_new to gtk_application_window_new

GTK4 migration

3 months agoAddl fix #1706: command line duplicate search
Colin Clark [Sat, 12 Apr 2025 12:12:07 +0000 (13:12 +0100)]
Addl fix #1706: command line duplicate search

https://github.com/BestImageViewer/geeqie/issues/1706#issuecomment-2796909310

Additional command line option:
--dupes-export

Uses the last-created duplicates window
Selects all files in that window
Exports the data in tab-separated format
If the comparison is not yet completed, the word "Incomplete" is output

The data format is the same as for the menu item dupes/export menu item

3 months agoFix #1706: command line duplicate search
Colin Clark [Thu, 10 Apr 2025 14:51:00 +0000 (15:51 +0100)]
Fix #1706: command line duplicate search

https://github.com/BestImageViewer/geeqie/issues/1706#issuecomment-2792661555

Two additional command line options:

--dupes=<FOLDER>
--dupes-recurse=<FOLDER>

3 months agoUse enum class for UtilityPhase and UtilityType
Arkadiy Illarionov [Mon, 7 Apr 2025 19:57:41 +0000 (22:57 +0300)]
Use enum class for UtilityPhase and UtilityType

3 months agoSimplify check for parent window
Arkadiy Illarionov [Mon, 7 Apr 2025 20:04:02 +0000 (23:04 +0300)]
Simplify check for parent window

3 months agoDrop unused UtilityType::UTILITY_TYPE_CREATE_FOLDER
Arkadiy Illarionov [Mon, 7 Apr 2025 19:29:51 +0000 (22:29 +0300)]
Drop unused UtilityType::UTILITY_TYPE_CREATE_FOLDER

Value is unused since 485c5bb1ef5ddd67f9df01a1a45a6fc666243a63.

Also remove related UtilityData::show_rename_button which is always true now.

3 months agoRemove gnome dependency from FreeBSD check
Colin Clark [Tue, 8 Apr 2025 12:40:08 +0000 (13:40 +0100)]
Remove gnome dependency from FreeBSD check

3 months agoBug fix: Move New Folder dialog to gtk_file_chooser_dialog
Colin Clark [Mon, 7 Apr 2025 11:02:58 +0000 (12:02 +0100)]
Bug fix: Move New Folder dialog to gtk_file_chooser_dialog

Eliminate run-time errors.

3 months agoMove New Folder dialog to gtk_file_chooser_dialog
Colin Clark [Mon, 7 Apr 2025 10:18:08 +0000 (11:18 +0100)]
Move New Folder dialog to gtk_file_chooser_dialog

3 months agoCleanup GSourceFunc implementations
Arkadiy Illarionov [Sat, 5 Apr 2025 13:13:35 +0000 (16:13 +0300)]
Cleanup GSourceFunc implementations

Remove redundant casts.
Use G_SOURCE_CONTINUE/G_SOURCE_REMOVE instead of TRUE/FALSE.
Make metadata_write_idle_id local static variable.
Reduce code duplication.

3 months agoSimplify code related to ViewFile stars
Arkadiy Illarionov [Wed, 2 Apr 2025 20:15:59 +0000 (23:15 +0300)]
Simplify code related to ViewFile stars

Move common code to vf_star_next().
Make vf_stars_cb() local static and flatten a bit.
Drop redundant vf_star_do().

3 months agoBug fix #1692: "Hide Bars and Files" nukes toolbar customizations
Colin Clark [Wed, 2 Apr 2025 10:08:42 +0000 (11:08 +0100)]
Bug fix #1692: "Hide Bars and Files" nukes toolbar customizations

https://github.com/BestImageViewer/geeqie/issues/1692

Eliminate run-time errors.

3 months agoFix #1692: "Hide Bars and Files" nukes toolbar customizations
Colin Clark [Tue, 1 Apr 2025 14:34:27 +0000 (15:34 +0100)]
Fix #1692: "Hide Bars and Files" nukes toolbar customizations

https://github.com/BestImageViewer/geeqie/issues/1692

This patch works but I do not know why. It is just a guess.
There may be a better solution.

3 months agoFix clang-tidy warnings
Arkadiy Illarionov [Sat, 29 Mar 2025 12:37:30 +0000 (15:37 +0300)]
Fix clang-tidy warnings

Found by clang-tidy v19.

3 months agoFix spaces at end of line layout errors
Colin Clark [Fri, 28 Mar 2025 09:50:59 +0000 (09:50 +0000)]
Fix spaces at end of line layout errors

3 months agoGTK4: Sort Manager and gtk_file_chooser
Colin Clark [Thu, 27 Mar 2025 12:08:07 +0000 (12:08 +0000)]
GTK4: Sort Manager and gtk_file_chooser

GTK4 migration

GtkFileChooser does not support a custom extra widget in GTK4.

To implement the Name facility, use an extra button and a text box in a
popover instead.

3 months agoSyntax change
Colin Clark [Thu, 27 Mar 2025 11:47:32 +0000 (11:47 +0000)]
Syntax change

gtk_file_chooser_dialog_new() creates a GtkWidget, and not a
GtkFileChooserDialog.

Cast the GtkWidget to a GtkFileChooserDialog when required.

3 months agoIgnore third-party files in clang-tidy checks
Arkadiy Illarionov [Wed, 26 Mar 2025 20:51:35 +0000 (23:51 +0300)]
Ignore third-party files in clang-tidy checks

3 months agoEnable clang-tidy misc-header-include-cycle check
Arkadiy Illarionov [Wed, 26 Mar 2025 20:37:59 +0000 (23:37 +0300)]
Enable clang-tidy misc-header-include-cycle check

Add third-party headers to ignore list.

3 months agoDrop unused parameter from save_default_layout_options_to_file()
Arkadiy Illarionov [Mon, 24 Mar 2025 21:17:11 +0000 (00:17 +0300)]
Drop unused parameter from save_default_layout_options_to_file()

3 months agoInline shortcuts_add_close()
Arkadiy Illarionov [Mon, 24 Mar 2025 21:06:43 +0000 (00:06 +0300)]
Inline shortcuts_add_close()

Also remove unused includes.

3 months agoCheck if main toolbar is initialized before adding editors
Arkadiy Illarionov [Sun, 23 Mar 2025 19:00:48 +0000 (22:00 +0300)]
Check if main toolbar is initialized before adding editors

layout_actions_setup_editors() is called twice during application startup.

3 months agoGTK4: gtk_file_chooser
Colin Clark [Sun, 23 Mar 2025 16:09:22 +0000 (16:09 +0000)]
GTK4: gtk_file_chooser

GTK4 migration

GtkFileChooser moved to a GFile-based API for GTK4.

Change files accesses to use GFile where possible.

3 months agoGTK4: Shortcuts and gtk_file_chooser
Colin Clark [Sun, 23 Mar 2025 15:18:38 +0000 (15:18 +0000)]
GTK4: Shortcuts and gtk_file_chooser

GTK4 migration

GtkFileChooser does not support a custom extra widget in GTK4.

To implement the Name facility, use an extra button and a text box in a
popover instead.

3 months agoAdd WRITE_FORMAT_STRING macro
Arkadiy Illarionov [Sat, 22 Mar 2025 19:24:30 +0000 (22:24 +0300)]
Add WRITE_FORMAT_STRING macro

Remove printf-formatting from WRITE_STRING macro.

3 months agoFix memory leak after gtk_widget_get_tooltip_text() call in GTK3
Arkadiy Illarionov [Sun, 23 Mar 2025 09:10:44 +0000 (12:10 +0300)]
Fix memory leak after gtk_widget_get_tooltip_text() call in GTK3

Also get button_list once.

3 months agoDrop unused indent parameter from write_*_option() functions
Arkadiy Illarionov [Sat, 22 Mar 2025 18:59:30 +0000 (21:59 +0300)]
Drop unused indent parameter from write_*_option() functions

Change write_bool_option() parameter to gboolean.
Add const to write_color_option() parameter.

3 months agoUse vector for editors list
Arkadiy Illarionov [Sat, 22 Mar 2025 14:33:48 +0000 (17:33 +0300)]
Use vector for editors list

Simplify related code.

3 months agoHide editors variable
Arkadiy Illarionov [Sat, 22 Mar 2025 12:26:03 +0000 (15:26 +0300)]
Hide editors variable