Colin Clark [Mon, 28 Aug 2023 14:13:01 +0000 (15:13 +0100)]
Use GitHub actions to generate aarch64 AppImages
Arkadiy Illarionov [Sat, 26 Aug 2023 11:35:22 +0000 (14:35 +0300)]
Use filelist_copy to reduce duplication
Simplify related code.
Colin Clark [Thu, 24 Aug 2023 09:26:57 +0000 (10:26 +0100)]
Fix #1060: AppImage exit silently on missing system dependency
https://github.com/BestImageViewer/geeqie/issues/1060
Arkadiy Illarionov [Mon, 21 Aug 2023 22:06:25 +0000 (01:06 +0300)]
Simplify gr_action_list
- Call g_utf8_strlen for action_item->name once.
- Remove redundant intermediate list_final.
- Reduce scope of GList iterators.
Arkadiy Illarionov [Sun, 20 Aug 2023 18:25:32 +0000 (21:25 +0300)]
Simplify collection_save_or_append_dialog
- Use one comparison to detect what to do.
- Reduce scope of variables.
- Deduplicate code.
- Free GString memory.
Arkadiy Illarionov [Sun, 20 Aug 2023 16:00:40 +0000 (19:00 +0300)]
Simplify GString usage
- Replace g_string_append_printf with g_string_append
if format string doesn't contain format specifiers.
- Use g_string_append_printf instead of g_string_append(string, g_strdup_printf).
- Merge g_string_new and following g_string_append.
- Remove unnecessary memory allocations and fix memleaks.
Colin Clark [Sun, 20 Aug 2023 12:47:51 +0000 (13:47 +0100)]
Include images in doxygen documentation
Include two sample images of dialog layouts.
Arkadiy Illarionov [Sat, 19 Aug 2023 12:13:30 +0000 (15:13 +0300)]
Remove gdk-pixbuf-csource requirement
fb3c144564ade55d31d7adef96acc71eda3701b4 follow-up.
Colin Clark [Sat, 19 Aug 2023 09:50:05 +0000 (10:50 +0100)]
Fix #1169: Find Duplicates 'Delete' keyboard shortcut shift+delete Removes (from list) rather than deleting the files
https://github.com/BestImageViewer/geeqie/issues/1169
Colin Clark [Sat, 19 Aug 2023 07:58:59 +0000 (08:58 +0100)]
AppImage build should be only on push, not on pull_request
Arkadiy Illarionov [Fri, 18 Aug 2023 20:41:34 +0000 (23:41 +0300)]
Remove some extra memory allocations
- Use g_string_free(string, FALSE). Also use len member instead of strlen(string->str).
- Use string literals instead of building string for resources' paths.
Colin Clark [Wed, 16 Aug 2023 17:49:39 +0000 (18:49 +0100)]
Include some missing function statics
Colin Clark [Wed, 16 Aug 2023 11:41:32 +0000 (12:41 +0100)]
Update AppImage notification for new file name
Check date on GitHub for file name Geeqie-latest-x86_64.AppImage for
both x86 and arm.
Colin Clark [Wed, 16 Aug 2023 08:10:25 +0000 (09:10 +0100)]
Create minimal AppImage
The standard Geeqie AppImage contains all features but is about 120MB,
and therefore takes a noticeable time to load. The minimal version is
about 10MB but is still capable of displayed a useful range of images.
Colin Clark [Tue, 15 Aug 2023 20:06:53 +0000 (21:06 +0100)]
Update README for AppImage location
Colin Clark [Tue, 15 Aug 2023 17:10:41 +0000 (18:10 +0100)]
ChangeLog not needed for AppImage
Colin Clark [Tue, 15 Aug 2023 16:34:04 +0000 (17:34 +0100)]
Use GitHub workflow actions to generate AppImage
Arkadiy Illarionov [Mon, 14 Aug 2023 21:33:47 +0000 (00:33 +0300)]
Replace some deprecated GTK functions
- Replace gtk_{button,combo_box}_set_focus_on_click with gtk_widget_set_focus_on_click.
- Replace gtk_misc_set_padding with gtk_widget_set_margin_start.
Colin Clark [Tue, 15 Aug 2023 08:29:23 +0000 (09:29 +0100)]
Fix #1151: Can't re-add items to collection after accidentally removing them
https://github.com/BestImageViewer/geeqie/issues/1151
Option in Preferences/Behavior to permit duplicates also solves this
problem.
Arkadiy Illarionov [Sun, 13 Aug 2023 17:19:47 +0000 (20:19 +0300)]
Remove some deprecated GdkScreen API
Arkadiy Illarionov [Sun, 13 Aug 2023 15:29:58 +0000 (18:29 +0300)]
Fix assigned but never used warnings
Arkadiy Illarionov [Fri, 11 Aug 2023 20:12:22 +0000 (23:12 +0300)]
Use more standard icons
- Replace ui_tabcomp.png with go-last named icon,
fixing gdk_pixbuf_new_from_inline deprecate warning
- Replace gq-icon-rotate-counter-clockwise.png with object-rotate-left named icon
- Replace gq-icon-rotate-clockwise.png with object-rotate-right named icon
- Replace gq-icon-filp.png with object-flip-vertical named icon
- Replace gq-icon-mirror.png with object-flip-horizontal named icon
- Replace gq-icon-info.png with document-properties named icon
- Use recommended pan-{down,up}-symbolic named icons
Colin Clark [Sun, 13 Aug 2023 09:18:51 +0000 (10:18 +0100)]
Fix FIXME: useable_toolbar_items []
Line 64: toolbar.cc
/** @FIXME Should be created by program from menu_entries[]
* in layout-util.cc */
Use get_action_items() instead.
Colin Clark [Sat, 12 Aug 2023 14:37:41 +0000 (15:37 +0100)]
Allow .desktop files to be linked to programmable mouse buttons
Desktop files can be linked to mouse buttons 8 and 9 on
Edit/Preferences/Behavior
Colin Clark [Sat, 12 Aug 2023 09:11:49 +0000 (10:11 +0100)]
Insert missing button label
Arkadiy Illarionov [Fri, 11 Aug 2023 19:48:32 +0000 (22:48 +0300)]
Replace handmade spinner with GtkSpinner
Colin Clark [Fri, 11 Aug 2023 15:08:05 +0000 (16:08 +0100)]
Implement remote keyboard actions
Enable keyboard actions to be initiated from the command line.
Additional remote commands:
geeqie --remote --action:<ACTION>
geeqie --remote --action-list
e.g.
geeqie --remote --action:ZoomIn
The action codes can also be found in /Edit/Preferences/Keyboard.
Colin Clark [Thu, 10 Aug 2023 14:27:50 +0000 (15:27 +0100)]
Part fix #1159: Continuous zoom with mouse button
https://github.com/BestImageViewer/geeqie/issues/1159
Mouse buttons 8 and 9 (labelled as back/forward in Preferences/Behavior)
now work in fullscreen.
Colin Clark [Thu, 10 Aug 2023 10:54:51 +0000 (11:54 +0100)]
Modify part of Collections user interface
Collections .gqv files are expected to be in the default directory.
The user no longer sees file paths or file extensions, only the
collection name.
If the user navigates to a .gqv file located elsewhere and opens it, the
contents will be displayed and operated on as a collection. It will
appear in the "recently used collections" menu (there may be a name
conflict) but not on the "open collection" menu, which shows only the
collections in the default directory.
Arkadiy Illarionov [Wed, 9 Aug 2023 23:16:50 +0000 (02:16 +0300)]
Remove deprecated GtkArrow
Use non-standard office-calendar icon.
Colin Clark [Thu, 10 Aug 2023 09:54:42 +0000 (10:54 +0100)]
Bug fix: Pan view not working
Fix bug created in commit
689b9c6495f5.
Colin Clark [Wed, 9 Aug 2023 14:48:00 +0000 (15:48 +0100)]
Remove stray comment characters.
Colin Clark [Wed, 9 Aug 2023 14:47:18 +0000 (15:47 +0100)]
Bug fix: Button labels and accelerators
It seems that something has changed in the libraries. An explicit call
to gtk_button_set_use_underline() is required for the accelerators to
work.
Colin Clark [Tue, 8 Aug 2023 09:50:51 +0000 (10:50 +0100)]
Fix #1156: Status bar remains empty on selecting collection item while navigated to empty folder
https://github.com/BestImageViewer/geeqie/issues/1156
Arkadiy Illarionov [Mon, 7 Aug 2023 20:51:00 +0000 (23:51 +0300)]
Drop goto in zonedetect.cc
Use while loop and smart pointers.
Arkadiy Illarionov [Sat, 5 Aug 2023 11:02:28 +0000 (14:02 +0300)]
Drop goto in secure-save.cc
Use lambda and smart pointers.
Colin Clark [Fri, 4 Aug 2023 13:55:58 +0000 (14:55 +0100)]
(Re)-implement natural and case sorting
The directory and file panes now have natural (numeric) and case
sorting.
Other windows sorting is unchanged.
Arkadiy Illarionov [Thu, 3 Aug 2023 21:49:47 +0000 (00:49 +0300)]
Drop goto in copy_file()
Use lambda and smart pointers.
Colin Clark [Thu, 3 Aug 2023 10:50:49 +0000 (11:50 +0100)]
Fix #1148: Intermittent crash on removing first item in a collection
https://github.com/BestImageViewer/geeqie/issues/1148
Arkadiy Illarionov [Wed, 2 Aug 2023 20:26:10 +0000 (23:26 +0300)]
Use pixbuf_fallback() instead of duplicated code
Colin Clark [Wed, 2 Aug 2023 15:54:36 +0000 (16:54 +0100)]
Bug fix: Include Lua tests
When running as a GitHub action, error messages such as:
(geeqie:12363): dbind-WARNING **: 13:24:40.471: AT-SPI: Error retrieving
accessibility bus address: org.freedesktop.DBus.Error.ServiceUnknown:
The name org.a11y.Bus was not provided by any .service files
are included at the head of the run output. Work around the problem by
taking the last n lines of output.
Colin Clark [Wed, 2 Aug 2023 12:41:50 +0000 (13:41 +0100)]
Include Lua tests
Arkadiy Illarionov [Mon, 31 Jul 2023 21:14:39 +0000 (00:14 +0300)]
Fix memory leaks in lua.cc
Move declarations to their first use.
Arkadiy Illarionov [Sun, 30 Jul 2023 15:58:49 +0000 (18:58 +0300)]
Replace MD5Context with GChecksum
- Replace md5_get_digest with md5_get_string
- Add md5_get_string_from_file
- Add MD5_SIZE constant
Arkadiy Illarionov [Sat, 29 Jul 2023 18:29:00 +0000 (21:29 +0300)]
Remove deprecated GtkAlignment
Use GtkWidget:halign and GtkWidget:valign properties.
Arkadiy Illarionov [Sat, 29 Jul 2023 13:25:24 +0000 (16:25 +0300)]
Remove deprecated orientation-specific widgets
- Replace GtkHButtonBox with GtkButtonBox.
- Replace GtkHScrollbar, GtkVScrollbar with GtkScrollbar.
- Remove GtkHSeparator, GtkVSeparator with GtkSeparator.
Arkadiy Illarionov [Sat, 29 Jul 2023 12:55:11 +0000 (15:55 +0300)]
Remove deprecated GTK_STOCK_DIALOG_*
Use standard icon names and rename related GQ_ICON macros.
Arkadiy Illarionov [Sat, 29 Jul 2023 10:17:21 +0000 (13:17 +0300)]
Remove deprecated GtkHPaned, GtkVPaned
Use recommended GtkPaned.
Tomasz Golinski [Sat, 29 Jul 2023 08:45:07 +0000 (09:45 +0100)]
PR #1139: Remove some of deprecated GTK stuff
https://github.com/BestImageViewer/geeqie/pull/1139
Remove deprecated gtk_adjustment_changed
Remove gtk_tree_view_set_rules_hint
Get rid of half of deprecated stock icons: menu items
Replace deprecated gdk_cursor_new with gdk_cursor_new_for_display
Add fullscreen icon
Replace deprecated gtk_tree_view_get_vadjustment with gtk_scrollable_…
Get rid of another big chunk of stock icons: buttons
Replace literal icon names with #defines in main.h, replace some icon…
Leftover cleanup after previous series of commits
Replace a few left literal icon names with #defines
Fix icons in sort bar and toolbar customization
Remove leftover line
Arkadiy Illarionov [Wed, 26 Jul 2023 19:51:26 +0000 (22:51 +0300)]
Fix memory leak in log_window_append()
Use deque and string.
Arkadiy Illarionov [Mon, 24 Jul 2023 20:32:08 +0000 (23:32 +0300)]
Fix usage of vectors
reserve() doesn't allocate elements.
Colin Clark [Thu, 27 Jul 2023 13:55:15 +0000 (14:55 +0100)]
Clarification of Desktop file Category
- Detail that either or both of the following is required
Categories=Graphics;
Categories=X-Geeqie;
- Amend template-desktop.sh for new layout
Arkadiy Illarionov [Sun, 23 Jul 2023 09:11:37 +0000 (12:11 +0300)]
Remove UNUSED macro
C++ allows unnamed parameter.
Arkadiy Illarionov [Sat, 22 Jul 2023 16:37:45 +0000 (19:37 +0300)]
Fix some memory leaks
- Use vector to avoid memory leak on array reallocation
- Use unique_ptr to avoid memory leaks
Arkadiy Illarionov [Sat, 22 Jul 2023 20:22:15 +0000 (23:22 +0300)]
Fix dangling pointer in jxl
Reformat code.
Arkadiy Illarionov [Sat, 22 Jul 2023 12:43:07 +0000 (15:43 +0300)]
Add CommandBuilder in order to drop goto in editor_command_parse
Arkadiy Illarionov [Thu, 20 Jul 2023 21:58:24 +0000 (00:58 +0300)]
Various fixes
Arkadiy Illarionov [Thu, 20 Jul 2023 21:57:36 +0000 (00:57 +0300)]
Use g_list_free_full
Arkadiy Illarionov [Wed, 19 Jul 2023 21:52:10 +0000 (00:52 +0300)]
Remove parts_list_free
Use g_list_free_full with path_data_free
Arkadiy Illarionov [Wed, 19 Jul 2023 21:24:41 +0000 (00:24 +0300)]
Remove fullscreen_prefs_list_free
Use g_list_free_full with screen_data_free
Arkadiy Illarionov [Wed, 19 Jul 2023 20:38:16 +0000 (23:38 +0300)]
Replace collection_list_free with g_list_free_full
Arkadiy Illarionov [Wed, 19 Jul 2023 20:36:30 +0000 (23:36 +0300)]
Replace dupe_list_free with g_list_free_full
Arkadiy Illarionov [Wed, 19 Jul 2023 19:59:11 +0000 (22:59 +0300)]
Replace string_list_free with g_list_free_full
Arkadiy Illarionov [Wed, 19 Jul 2023 19:49:50 +0000 (22:49 +0300)]
Remove list_free_wrapper
Use g_list_free_full
Arkadiy Illarionov [Wed, 19 Jul 2023 19:48:19 +0000 (22:48 +0300)]
Remove tree_path_free_wrapper
Colin Clark [Sat, 22 Jul 2023 15:15:16 +0000 (16:15 +0100)]
Do not run tests on unsupported image type
Ensure that image types not support by the run-time system are not
tested.
Colin Clark [Sat, 22 Jul 2023 08:55:16 +0000 (09:55 +0100)]
Image test runs - check if Geeqie has crashed
Colin Clark [Thu, 20 Jul 2023 09:08:37 +0000 (10:08 +0100)]
Part fix #1058: Deleting a symbolic link that is a directory results in a crash
https://github.com/BestImageViewer/geeqie/issues/1058
This patch simply aborts the delete to avoid the crash. It does not fix
the problem.
Colin Clark [Thu, 20 Jul 2023 08:42:57 +0000 (09:42 +0100)]
Remove dead code
Dead code found with:
ag '//.*;' src/
Colin Clark [Wed, 19 Jul 2023 11:08:14 +0000 (12:08 +0100)]
Change doxygen default from C to C++
Rosen Penev [Fri, 7 Jul 2023 14:54:31 +0000 (07:54 -0700)]
fix compilation with lua
extern C is needed.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Arkadiy Illarionov [Tue, 18 Jul 2023 21:27:57 +0000 (00:27 +0300)]
Create image from icon name instead of stock id
Colin Clark [Tue, 18 Jul 2023 13:38:02 +0000 (14:38 +0100)]
More unused functions, remove dead code
The dead code was identified by:
https://gist.github.com/sbeyer/
192324f8a8470ce36b27
find-code-in-comments.rb
Colin Clark [Mon, 17 Jul 2023 13:44:42 +0000 (14:44 +0100)]
Document hidden duplicates window mouse click
Control + Shift + right click pops up window showing:
name
size
date
dimensions
md5sum
thumbprint
Colin Clark [Mon, 17 Jul 2023 09:45:03 +0000 (10:45 +0100)]
Reorganize unused functions
Some unused functions remain within the code in case they become useful.
Pragmas are set so that the compiler does not produce warnings.
They may be easily found in the documentation generated by Doxygen.
Colin Clark [Sun, 16 Jul 2023 16:27:00 +0000 (17:27 +0100)]
Re-insert geeqie.cppcheck
cppcheck is still useful.
Colin Clark [Sat, 15 Jul 2023 15:33:39 +0000 (16:33 +0100)]
Bug fix: Incorrect regex in document generator
Colin Clark [Wed, 12 Jul 2023 13:23:39 +0000 (14:23 +0100)]
Remove redundant files (2)
Colin Clark [Wed, 12 Jul 2023 11:05:37 +0000 (12:05 +0100)]
Remove redundant files
Colin Clark [Tue, 11 Jul 2023 15:53:16 +0000 (16:53 +0100)]
Include clang-tidy check
- Initial check setup
- Separate log files for GitHub workflow runs
Rosen Penev [Sat, 8 Jul 2023 21:18:35 +0000 (14:18 -0700)]
vector conversion
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Rosen Penev [Thu, 29 Jun 2023 23:20:37 +0000 (16:20 -0700)]
add missing free
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Colin Clark [Sun, 9 Jul 2023 07:59:59 +0000 (08:59 +0100)]
Remove redundant compiler options
Colin Clark [Sat, 8 Jul 2023 16:04:51 +0000 (17:04 +0100)]
Eliminate “might be clobbered” warnings
- image-load-cr3 Will be deleted when libraw and exiv2 handle .cr3 files
- image-load-jpeg - this code is so old it should not be changed
Rosen Penev [Fri, 30 Jun 2023 02:54:53 +0000 (19:54 -0700)]
manual loop conversions
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Rosen Penev [Sat, 1 Jul 2023 17:44:17 +0000 (10:44 -0700)]
use vector
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Rosen Penev [Thu, 29 Jun 2023 22:48:26 +0000 (15:48 -0700)]
clang-tidy: remove misleading const
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Rosen Penev [Thu, 29 Jun 2023 22:42:46 +0000 (15:42 -0700)]
clang-tidy: get rid of const in declarations
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Rosen Penev [Thu, 29 Jun 2023 22:19:32 +0000 (15:19 -0700)]
clang-tidy: simplify booleans
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Colin Clark [Thu, 6 Jul 2023 14:44:41 +0000 (15:44 +0100)]
Insert #ifdef HAVE_ around some #includes
Colin Clark [Thu, 6 Jul 2023 11:23:21 +0000 (12:23 +0100)]
Clean up UNUSED warnings and others
Colin Clark [Thu, 6 Jul 2023 09:01:16 +0000 (10:01 +0100)]
Eliminate gq-marshal compile warning
glib-genmarshal produces code that results in:
warning: ISO C forbids conversion of object pointer to function pointer
type [-Wpedantic]
Insert a pragma at the start of the code to inhibit this.
Colin Clark [Wed, 5 Jul 2023 14:56:14 +0000 (15:56 +0100)]
Eliminate gchar return ignored warning
warning: ignoring return value of ‘gchar*
g_string_free_and_steal(GString*)’ declared with attribute
‘warn_unused_result’ [-Wunused-result]
Colin Clark [Wed, 5 Jul 2023 14:48:21 +0000 (15:48 +0100)]
Eliminate gchar return ignored warning
warning: ignoring return value of ‘gchar*
g_string_free_and_steal(GString*)’ declared with attribute
‘warn_unused_result’ [-Wunused-result]
Colin Clark [Wed, 5 Jul 2023 14:41:30 +0000 (15:41 +0100)]
Eliminate gchar return ignored warning
warning: ignoring return value of ‘gchar*
g_string_free_and_steal(GString*)’ declared with attribute
‘warn_unused_result’ [-Wunused-result]
Colin Clark [Wed, 5 Jul 2023 14:01:41 +0000 (15:01 +0100)]
Eliminate compiler warning - used unititialized
Colin Clark [Wed, 5 Jul 2023 13:36:58 +0000 (14:36 +0100)]
Eliminate variable length array warning
warning: ISO C++ forbids variable length array ‘IDs’ [-Wvla]
Colin Clark [Wed, 5 Jul 2023 11:26:19 +0000 (12:26 +0100)]
Eliminate gchar conversion warnings
warning: ISO C++ forbids converting a string constant to ‘gchar*’ {aka
‘char*’} [-Wwrite-strings]
Colin Clark [Wed, 5 Jul 2023 10:19:43 +0000 (11:19 +0100)]
Eliminate "not used" warnings
Colin Clark [Wed, 5 Jul 2023 08:33:50 +0000 (09:33 +0100)]
Bug fix: GitHub workflow image tests
Avoid running the remote until it is initialized