Arkadiy Illarionov [Mon, 24 Mar 2025 21:06:43 +0000 (00:06 +0300)]
Inline shortcuts_add_close()
Also remove unused includes.
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.
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.
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.
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.
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.
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.
Arkadiy Illarionov [Sat, 22 Mar 2025 14:33:48 +0000 (17:33 +0300)]
Use vector for editors list
Simplify related code.
Arkadiy Illarionov [Sat, 22 Mar 2025 12:26:03 +0000 (15:26 +0300)]
Hide editors variable
Arkadiy Illarionov [Thu, 20 Mar 2025 18:20:50 +0000 (21:20 +0300)]
Drop redundant SelectionRectangle::cursor_x/y data members
Arkadiy Illarionov [Tue, 18 Mar 2025 19:55:14 +0000 (22:55 +0300)]
Convert ExifDataOriginal::pathl_ to local variable
Arkadiy Illarionov [Mon, 17 Mar 2025 20:07:23 +0000 (23:07 +0300)]
Remove unused ExifDataOriginal constructor
Colin Clark [Sun, 16 Mar 2025 15:31:55 +0000 (15:31 +0000)]
Bug fix: In-place renaming and Wayland
When running Wayland and using in-place renaming, the text box for the
replacement name is not aligned correctly.
Use gtk_window_set_transient_for() to ensure correct alignment.
Colin Clark [Sun, 16 Mar 2025 14:27:22 +0000 (14:27 +0000)]
Save/Append Collection dialog
- Use system file chooser dialog
- Delete Open Recent (Collection) menu item. It is not necessary as the
same information is in the file chooser dialog (except for users who
have Collections outside the default Collections dir).
- Downloadable script to list recent collections (although the recent
Collections menu item has been deleted, the history list is still
maintained).
Arkadiy Illarionov [Sun, 16 Mar 2025 13:47:41 +0000 (16:47 +0300)]
Remove redundant shortcuts_new_from_config()
Replace shortcuts_new_default() with shortcuts_new().
Arkadiy Illarionov [Sun, 16 Mar 2025 13:21:45 +0000 (16:21 +0300)]
Simplify selection_done signal handling
Arkadiy Illarionov [Sun, 16 Mar 2025 12:57:14 +0000 (15:57 +0300)]
Make help_window local static variable
Colin Clark [Sun, 16 Mar 2025 10:39:56 +0000 (10:39 +0000)]
Bug fix: Collections and unmounted drives
The original fix was
cf67a444.
However if a Collection on an unmounted drive was appended to an open
Collection window, that window would be closed - possibly losing data.
Ensure that the open Collection window is not closed.
Colin Clark [Sat, 15 Mar 2025 10:42:28 +0000 (10:42 +0000)]
For GtkFileChooser dialogs, use create_folder button where valid.
Arkadiy Illarionov [Thu, 13 Mar 2025 22:44:04 +0000 (01:44 +0300)]
Use gtk_tree_selection_count_selected_rows()
Reduce scope of variables in vflist_selection_count().
Arkadiy Illarionov [Thu, 13 Mar 2025 21:02:14 +0000 (00:02 +0300)]
Fix memory leaks after gtk_tree_selection_get_selected_rows()
Colin Clark [Thu, 13 Mar 2025 15:50:49 +0000 (15:50 +0000)]
Sort Manager Collections add-button tooltip
Revise the add-button tooltip and other displayed text to clarify that
the action will create a new Collection in the default Collections
directory.
Colin Clark [Thu, 13 Mar 2025 14:18:13 +0000 (14:18 +0000)]
File chooser additional buttons
Some of the recently added file chooser dialogs had additional buttons
to include extra shortcuts to the dialog.
These are not necessary and are clutter.
Remove them.
Colin Clark [Thu, 13 Mar 2025 13:25:00 +0000 (13:25 +0000)]
Sort Manager - Folder Mode
Use the system default file chooser dialog.
Arkadiy Illarionov [Wed, 12 Mar 2025 20:56:39 +0000 (23:56 +0300)]
Add HistoryChain struct to reduce code duplication
Use vector for chain data.
Arkadiy Illarionov [Sun, 9 Mar 2025 11:24:48 +0000 (14:24 +0300)]
Add check builds without debug
Colin Clark [Mon, 10 Mar 2025 15:55:52 +0000 (15:55 +0000)]
Revised Add Shortcut dialog
Use the gtk default file chooser for the Add Shortcut dialog.
The new implementation does not have a New Folder button.
This can be added if there are user requests for it.
Colin Clark [Mon, 10 Mar 2025 13:11:03 +0000 (13:11 +0000)]
Fix no-debug compile errors
Modify units tests so that they exclude tests on debug data.
Colin Clark [Mon, 10 Mar 2025 11:57:17 +0000 (11:57 +0000)]
Part fix no-debug compile errors
In a no-debug compile, --debug and --grep options are missing.
Modify the ancillary file check script so that this error is ignored.
Arkadiy Illarionov [Sat, 8 Mar 2025 16:49:25 +0000 (19:49 +0300)]
Fix build without debug
Arkadiy Illarionov [Sat, 8 Mar 2025 14:12:23 +0000 (17:12 +0300)]
Replace some unlink() calls
Use std::remove() or unlink_file().
This allows to reduce dependency on unistd.h.
Arkadiy Illarionov [Sat, 8 Mar 2025 12:10:16 +0000 (15:10 +0300)]
Convert histogram members from pointer to value
Add methods to Histogram class to simplify code.
Change Histogram::draw() return type.
Arkadiy Illarionov [Thu, 6 Mar 2025 22:21:31 +0000 (01:21 +0300)]
Add explicit values for Histogram::histogram_mode
Also convert HCHAN_* macros to enum.
Colin Clark [Thu, 6 Mar 2025 14:35:40 +0000 (14:35 +0000)]
Command line --get-file-info additional data
Additional output:
- Marks applied to file
- Full path to the thumbnail, if one exists
Also a downloadable script file to list the current keyword-mark links.
Arkadiy Illarionov [Wed, 5 Mar 2025 20:10:52 +0000 (23:10 +0300)]
Simplify nclx_to_lcms_profile()
Use g_auto* macros.
Reduce code duplication.
Flatten code.
Colin Clark [Wed, 5 Mar 2025 17:05:50 +0000 (17:05 +0000)]
Open recent collection
If a collection file in the list is not in the default collection
directory, include the full path in the display box.
Colin Clark [Wed, 5 Mar 2025 13:41:42 +0000 (13:41 +0000)]
Additional entry on File menu - Open Recent File
Open a file using the system default recent file open dialog.
Colin Clark [Wed, 5 Mar 2025 10:18:09 +0000 (10:18 +0000)]
File menu - Open Collection
Open a Collection using the system default file open dialog.
Colin Clark [Wed, 5 Mar 2025 09:52:57 +0000 (09:52 +0000)]
File menu - Open File updates
If one exists, use the thumbnail file for the image preview rather than
the filedata thumb_pixbuf.
Arkadiy Illarionov [Tue, 4 Mar 2025 19:03:59 +0000 (22:03 +0300)]
Move logwindow variables declarations and callbacks under DEBUG macro
Arkadiy Illarionov [Mon, 3 Mar 2025 19:48:46 +0000 (22:48 +0300)]
Simplify histogram
Move Histogram grid to struct, use constant instead of members.
Use guint8 for grid color components.
Remove return types from histogram_set functions.
Make some parameters const.
Colin Clark [Tue, 4 Mar 2025 13:29:41 +0000 (13:29 +0000)]
File menu - Open File updates
- Additional file filter for All Files
- Buttons to include user-set bookmark folders from the Copy/Move dialog
and the Sort Manager sidebar
- Use Geeqie to create a thumbnail that is displayed as the preview
image
Arkadiy Illarionov [Mon, 3 Mar 2025 19:51:00 +0000 (22:51 +0300)]
Move NotifyType enum to filedata
Arkadiy Illarionov [Mon, 3 Mar 2025 18:18:46 +0000 (21:18 +0300)]
Fix memory leak
Colin Clark [Mon, 3 Mar 2025 16:44:09 +0000 (16:44 +0000)]
Additional entry on File menu - Open File
Open a file using the system default file open dialog.
The preview pane shows a limited range of images - those that are
recognized by gdk_pixbuf_new_from_file().
The preview image size is that set by the user for thumbnails.
Arkadiy Illarionov [Sun, 2 Mar 2025 12:17:15 +0000 (15:17 +0300)]
Move print_term() to debug
Where all logging functions are.
Also move log_print_* declarations under DEBUG.
Arkadiy Illarionov [Sun, 2 Mar 2025 10:12:14 +0000 (13:12 +0300)]
Move scale_factor() to color-man
The only place where it is called.
Arkadiy Illarionov [Sat, 1 Mar 2025 17:00:18 +0000 (20:00 +0300)]
Avoid gdouble compare in SelectionRectangle
Arkadiy Illarionov [Sat, 1 Mar 2025 15:14:19 +0000 (18:14 +0300)]
Simplify image_select() call a bit
Use bool for select parameter
Arkadiy Illarionov [Sat, 1 Mar 2025 10:30:50 +0000 (13:30 +0300)]
Move LayoutOptions to layout
Simplify related code.
Arkadiy Illarionov [Sat, 1 Mar 2025 13:22:17 +0000 (16:22 +0300)]
Move SelectionRectangle to anonymous namespace
Arkadiy Illarionov [Sat, 1 Mar 2025 11:10:17 +0000 (14:10 +0300)]
Do not generate existing marshallers
Arkadiy Illarionov [Sat, 1 Mar 2025 10:44:09 +0000 (13:44 +0300)]
Use references for layout_config_parse() parameters
Arkadiy Illarionov [Fri, 28 Feb 2025 20:06:31 +0000 (23:06 +0300)]
Reduce code duplication in layout_set_unique_id()
Arkadiy Illarionov [Fri, 28 Feb 2025 19:55:38 +0000 (22:55 +0300)]
Simplify layout_config_startup_path()
Inline layout_config_commandline().
Arkadiy Illarionov [Thu, 27 Feb 2025 19:55:07 +0000 (22:55 +0300)]
Fix set_regexp() memory leaks
Also move gq_debug() and gq_grep() under DEBUG macro.
Arkadiy Illarionov [Thu, 27 Feb 2025 19:40:17 +0000 (22:40 +0300)]
Remove unused and read-only members of CommandLine struct
Rename ssi to log_file_ssi.
Simplify related code and fix memory leak.
Arkadiy Illarionov [Wed, 26 Feb 2025 21:14:16 +0000 (00:14 +0300)]
Use Meson GNOME module
Split code generation from authors.sh and translators.sh scripts.
Colin Clark [Tue, 25 Feb 2025 12:13:33 +0000 (12:13 +0000)]
Additional check in --get-sidecars
Check if requested file exists. If not, make no output.
Colin Clark [Sun, 23 Feb 2025 14:48:27 +0000 (14:48 +0000)]
Fix #1644: --get-sidecars prints get-sidecars literally (and nothing else)
https://github.com/BestImageViewer/geeqie/issues/1644#issuecomment-
2671342505
Fix errors in:
--get-sidecars=
--action=
--grep=
--id=
--log-file=
--selection-remove=
Arkadiy Illarionov [Sun, 23 Feb 2025 11:31:15 +0000 (14:31 +0300)]
Deduplicate ConfOptions stereo mode options
Arkadiy Illarionov [Sun, 23 Feb 2025 11:01:10 +0000 (14:01 +0300)]
Simplify copy of options
Arkadiy Illarionov [Sun, 23 Feb 2025 10:11:30 +0000 (13:11 +0300)]
Hide secsave_errno
Simplify related code.
Arkadiy Illarionov [Sat, 22 Feb 2025 21:07:14 +0000 (00:07 +0300)]
Add G_GNUC_PRINTF to secure_fprintf()
Simplify secure_fprintf() calls and fix memory leak.
Arkadiy Illarionov [Sat, 22 Feb 2025 13:09:18 +0000 (16:09 +0300)]
Use vector for dialog_windows
Arkadiy Illarionov [Tue, 18 Feb 2025 18:52:38 +0000 (21:52 +0300)]
Remove unused path variable
Arkadiy Illarionov [Tue, 18 Feb 2025 18:52:38 +0000 (21:52 +0300)]
Fix memory leak after keyword_list_get() call
Simplify config_tab_keywords() a bit.
Arkadiy Illarionov [Mon, 17 Feb 2025 21:57:55 +0000 (00:57 +0300)]
Fix memory leak after gtk_text_buffer_get_text() call
Simplify search_keypress_event() a bit.
Also use text_widget_text_pull() in one more place.
Arkadiy Illarionov [Mon, 17 Feb 2025 21:33:46 +0000 (00:33 +0300)]
Use text_widget_text_pull() to reduce duplication
Also fix memory leaks.
Arkadiy Illarionov [Sun, 16 Feb 2025 17:10:51 +0000 (20:10 +0300)]
Remove unused GtkWidget parameter from defined_mouse_buttons()
Also deduplicate code.
Arkadiy Illarionov [Sun, 16 Feb 2025 16:21:23 +0000 (19:21 +0300)]
Deduplicate help_window_show()
Arkadiy Illarionov [Sun, 16 Feb 2025 14:51:41 +0000 (17:51 +0300)]
Simplify help_search_window signals handling
Remove redundant HelpSearchData struct.
Arkadiy Illarionov [Sat, 15 Feb 2025 10:14:22 +0000 (13:14 +0300)]
Make collection_manager_timer_id local static
Arkadiy Illarionov [Thu, 13 Feb 2025 21:39:59 +0000 (00:39 +0300)]
Use g_autoptr in is_file_on_mounted_drive()
Deduplicate 'is file in directory' logic and reorganize code a bit.
Arkadiy Illarionov [Wed, 12 Feb 2025 20:46:17 +0000 (23:46 +0300)]
Simplify collection_load_private() a bit
Split check if file was on a mounted drive.
Remove redundant reading_extended_filename flag, use extended_filename_buffer instead.
Fix memory leak in case of invalid collection file.
Flatten code.
Arkadiy Illarionov [Wed, 12 Feb 2025 20:10:27 +0000 (23:10 +0300)]
Hide keyword_tree
Arkadiy Illarionov [Tue, 11 Feb 2025 18:33:56 +0000 (21:33 +0300)]
Simplify and inline find_string_in_list_utf8* functions
Change find_string_in_list() return type since
g_list_delete_link() is faster than g_list_remove().
Arkadiy Illarionov [Mon, 10 Feb 2025 18:44:55 +0000 (21:44 +0300)]
Drop redundant HAVE_LCMS2 flag
lcms required version is >=2.0.
Remove obsolete color_man_lib_init().
Arkadiy Illarionov [Sun, 9 Feb 2025 11:05:03 +0000 (14:05 +0300)]
Use gresources for icc file
Drop xxd build requirement.
Arkadiy Illarionov [Sat, 8 Feb 2025 13:54:12 +0000 (16:54 +0300)]
Use vector for layout_window_list
Arkadiy Illarionov [Sat, 8 Feb 2025 14:36:02 +0000 (17:36 +0300)]
Add get_current_layout()
Replace layout_valid() where lw argument is nullptr.
Arkadiy Illarionov [Sat, 8 Feb 2025 20:20:17 +0000 (23:20 +0300)]
Use gresources for keymap template
Arkadiy Illarionov [Mon, 13 Jan 2025 21:42:44 +0000 (00:42 +0300)]
Hide layout_window_list
Arkadiy Illarionov [Thu, 6 Feb 2025 19:39:32 +0000 (22:39 +0300)]
Simplify class_filter_menu() callbacks
We already know state by menu item, no need to calculate it each time.
Arkadiy Illarionov [Thu, 6 Feb 2025 23:33:49 +0000 (02:33 +0300)]
Use vector for view_window_list
Also harden view_window_find_image() parameters a bit.
Arkadiy Illarionov [Thu, 6 Feb 2025 19:14:59 +0000 (22:14 +0300)]
Use menu_item_* functions to reduce duplication
pezcurrel [Thu, 6 Feb 2025 08:22:55 +0000 (09:22 +0100)]
Improved some translations to Italian language
Arkadiy Illarionov [Wed, 5 Feb 2025 19:45:47 +0000 (22:45 +0300)]
Move common code to menu_item_add_accelerator()
Also remove unused menu_item_add_stock_sensitive().
pezcurrel [Wed, 5 Feb 2025 16:47:28 +0000 (17:47 +0100)]
Fixed two “fuzzy” translations and a typo
pezcurrel [Wed, 5 Feb 2025 16:22:13 +0000 (17:22 +0100)]
Updated
Arkadiy Illarionov [Tue, 4 Feb 2025 19:17:58 +0000 (22:17 +0300)]
Drop unused layout_new()
Rename layout_new_with_geometry() to layout_new() and make static.
Simplify new layout_new() parameters.
Arkadiy Illarionov [Mon, 27 Jan 2025 21:51:07 +0000 (00:51 +0300)]
Add exif_get_color_profile() to reduce code duplication
Arkadiy Illarionov [Thu, 30 Jan 2025 20:19:58 +0000 (23:19 +0300)]
Reduce number of warnings
So we do not miss newly added warnings.
Silence all deprecation warnings.
Move aliaces for deprecated symbols to separate compat-deprecated.h file
to avoid false positives in GTK4 migration test.
Fix other warnings.
Colin Clark [Thu, 30 Jan 2025 16:50:04 +0000 (16:50 +0000)]
Fix #1592: Won't try using exiv2
https://github.com/BestImageViewer/geeqie/issues/1592
exiftool is no longer used in the image crop script - exiv2 replaces the
function exiftool performed.
Arkadiy Illarionov [Wed, 29 Jan 2025 18:36:38 +0000 (21:36 +0300)]
Simplify color_man_cache_reset()
Also fix warning in get_profile_name().
Colin Clark [Wed, 29 Jan 2025 11:39:00 +0000 (11:39 +0000)]
Update help files
Revise the layout graphic
Include the Gimp .xcf file the .png is derived from
Arkadiy Illarionov [Tue, 28 Jan 2025 20:04:48 +0000 (23:04 +0300)]
Move lcms dependent code from exif-common to color-man
Colin Clark [Sun, 26 Jan 2025 18:29:52 +0000 (18:29 +0000)]
Bug fix: GPS map not displayed in some circumstances
If the user needs to set the override_disable_gpu option, the map will
not be displayed, because the option is set before the standard options
are loaded.
Move the check for override_disable_gpu after the standard options are
loaded.
Colin Clark [Sun, 26 Jan 2025 16:54:25 +0000 (16:54 +0000)]
Use --no-net option for appstreamcli
By default appstreamcli uses the net. Occasionally this causes the 100s
time limit to be exceeded.
There is no need for appstreamcli to use the net, so include the
--no-net option.
Arkadiy Illarionov [Sun, 26 Jan 2025 12:40:51 +0000 (15:40 +0300)]
Split heif_color_profile() to separate module
Simplify conditional compilation.