Arkadiy Illarionov [Sat, 24 Feb 2024 11:36:01 +0000 (14:36 +0300)]
Convert ImageLoaderBackend to interface and backends to implementations
Add parameters to ImageLoaderBackend methods.
Remove unused members from backend implementations.
Rename ImageLoaderBackend loader_new to init.
Move callbacks aliases to ImageLoaderBackend and rename SizeCb to SizePreparedCb.
Colin Clark [Mon, 26 Feb 2024 12:14:30 +0000 (12:14 +0000)]
Include Code Correctness check in GitHub test runs (2)
Arkadiy Illarionov [Sat, 24 Feb 2024 17:01:42 +0000 (20:01 +0300)]
Fix deprecation warning for poppler >= 0.82
Arkadiy Illarionov [Fri, 23 Feb 2024 13:16:22 +0000 (16:16 +0300)]
Let image loader backend decide how to process image buffer
Remove ImageLoaderBackendFuncLoad.
Also move static functions to anonymous namespace.
Colin Clark [Sat, 24 Feb 2024 15:16:50 +0000 (15:16 +0000)]
Include Code Correctness check in GitHub test runs
Colin Clark [Wed, 21 Feb 2024 18:40:58 +0000 (18:40 +0000)]
Minor documentation update
Update cache-maintenance description.
Colin Clark [Wed, 21 Feb 2024 15:51:55 +0000 (15:51 +0000)]
Bug fix: clang-tidy checks missing sub-dirs
Sub-dirs ./src/pan-view and ./src/view-file were not checked
Arkadiy Illarionov [Tue, 20 Feb 2024 19:59:40 +0000 (22:59 +0300)]
Fix HAVE_* config values checks
Arkadiy Illarionov [Mon, 19 Feb 2024 20:07:48 +0000 (23:07 +0300)]
Deduplicate cr3 image loader
Make it wrapper of jpeg image loader.
Add HAVE_RAW define check to make consistent with usage in image-load.
Move static functions to anonymous namespace.
Andreas Rönnquist [Tue, 20 Feb 2024 14:45:06 +0000 (15:45 +0100)]
Remove plugin refresh-thumbnail from POTFILES
Andreas Rönnquist [Tue, 20 Feb 2024 12:48:32 +0000 (13:48 +0100)]
Fix representing percent in c-format string
Arkadiy Illarionov [Sat, 22 Jul 2023 22:26:31 +0000 (01:26 +0300)]
Fix include-what-you-use warnings
Use #if to check 0/1 config value
Arkadiy Illarionov [Sun, 18 Feb 2024 16:15:22 +0000 (19:15 +0300)]
Bump Exiv2 minimum version requirement to 0.18
Remove obsolete code.
Arkadiy Illarionov [Fri, 16 Feb 2024 20:56:43 +0000 (23:56 +0300)]
Remove redundant GdkRGBA memcpy
Colin Clark [Thu, 15 Feb 2024 15:21:30 +0000 (15:21 +0000)]
Fix missing translation
Colin Clark [Wed, 14 Feb 2024 11:20:44 +0000 (11:20 +0000)]
Include anonymous namespaces in Doxygen output
Arkadiy Illarionov [Tue, 13 Feb 2024 19:48:14 +0000 (22:48 +0300)]
Sort headers using clang-tidy
Add include order rule to CODING.md.
Arkadiy Illarionov [Thu, 8 Feb 2024 18:56:40 +0000 (21:56 +0300)]
Cleanup main.h header
* Include compat.h, config.h, debug.h, intl.h, options.h, typedefs.h where they are actually used.
* Remove standard library includes.
* Remove unused gdk-pixbuf includes.
* Make other headers self-contained.
* Move defines not related to main.cc from main.h to main-defines.h.
Arkadiy Illarionov [Thu, 8 Feb 2024 18:19:09 +0000 (21:19 +0300)]
Include backward.h where it is actually used
Colin Clark [Wed, 7 Feb 2024 18:52:21 +0000 (18:52 +0000)]
Document additional file management options
Document the special plugin options to override the standard commands
for file copy, move, rename, delete and folder create.
Colin Clark [Wed, 7 Feb 2024 16:50:33 +0000 (16:50 +0000)]
clang-tidy: readability-isolate-declaration
- Fix warnings identified by this flag
- Remove the exclude from .clang-tidy file
Colin Clark [Wed, 7 Feb 2024 16:20:11 +0000 (16:20 +0000)]
Fix #1242: Renaming files results in a crash
https://github.com/BestImageViewer/geeqie/issues/1242
Fix bug from GTK4: Reduce the use of gtk_widget_destroy()
6d72bf20cc
Colin Clark [Wed, 7 Feb 2024 12:26:09 +0000 (12:26 +0000)]
clang-tidy: modernize-macro-to-enum
- Fix warnings identified by this flag
- Remove the exclude from .clang-tidy file
Clang-tidy fix resulted in indentation dissimilar to that used so far.
This awk script was run on the .diff file:
/^+[A-Z]/ {
sub (/\+/,"+\t",$0)
print
next
}
$0 !~ /^+[A-Z]/ {
print
next
}
The following files were hand-edited:
thumb-standard.cc
ui-bookmark.cc
Colin Clark [Tue, 6 Feb 2024 13:40:10 +0000 (13:40 +0000)]
clang-tidy: bugprone-integer-division
- Fix warnings identified by this flag
- Remove the exclude from .clang-tidy file
Colin Clark [Tue, 6 Feb 2024 12:18:24 +0000 (12:18 +0000)]
clang=tidy: readability-uppercase-literal-suffix
- Fix warnings identified by this flag
- Remove the exclude from .clang-tidy file
Colin Clark [Tue, 6 Feb 2024 11:48:56 +0000 (11:48 +0000)]
clang-tidy: readability-suspicious-call-argument
- Fix warnings identified by this flag
- Remove the exclude from .clang-tidy file
Colin Clark [Tue, 6 Feb 2024 11:06:19 +0000 (11:06 +0000)]
clang-tidy: readability-misleading-indentation
- Fix warnings identified by this flag
- Remove the exclude from .clang-tidy file
Colin Clark [Mon, 5 Feb 2024 11:13:01 +0000 (11:13 +0000)]
Fix clang-tidy: readability-non-const-parameter (5)
Colin Clark [Mon, 5 Feb 2024 10:12:33 +0000 (10:12 +0000)]
Fix clang-tidy: readability-non-const-parameter (4)
Colin Clark [Sun, 4 Feb 2024 09:45:07 +0000 (09:45 +0000)]
Fix clang-tidy: readability-non-const-parameter (3)
Colin Clark [Sat, 3 Feb 2024 18:41:44 +0000 (18:41 +0000)]
Fix clang-tidy: readability-non-const-parameter (2)
Colin Clark [Sat, 3 Feb 2024 16:02:43 +0000 (16:02 +0000)]
Fix clang-tidy: readability-non-const-parameter
The change suggested for exiv2.cc fails on further checks.
Colin Clark [Sat, 3 Feb 2024 15:43:51 +0000 (15:43 +0000)]
clang-tidy: readability-non-const-parameter
- Fix warnings identified by this flag
- Remove the exclude from .clang-tidy file
Colin Clark [Sat, 3 Feb 2024 15:27:28 +0000 (15:27 +0000)]
clang-tidy: readability-inconsistent-declaration-parameter-name
- Fix warnings identified by this flag
- Remove the exclude from .clang-tidy file
Colin Clark [Sat, 3 Feb 2024 14:48:24 +0000 (14:48 +0000)]
clang-tidy: readability-else-after-return
- Fix warnings identified by this flag
- Remove the exclude from .clang-tidy file
Colin Clark [Sat, 3 Feb 2024 13:02:18 +0000 (13:02 +0000)]
Additional excludes for testing
Additional excludes for getting error-free test runs
Colin Clark [Sat, 3 Feb 2024 11:52:43 +0000 (11:52 +0000)]
Fix errors in testing scripts
Colin Clark [Fri, 2 Feb 2024 16:55:37 +0000 (16:55 +0000)]
clang-tidy: readability-duplicate-include
- Fix warnings identified by this flag
- Remove the exclude from .clang-tidy file
Colin Clark [Fri, 2 Feb 2024 16:34:35 +0000 (16:34 +0000)]
clang-tidy: modernize-use-auto
- Fix warnings identified by this flag
- Remove the exclude from .clang-tidy file
Colin Clark [Fri, 2 Feb 2024 16:18:19 +0000 (16:18 +0000)]
clang-tidy: modernize-use-using
- Fix warnings identified by this flag
- Remove the exclude from .clang-tidy file
Colin Clark [Fri, 2 Feb 2024 15:28:33 +0000 (15:28 +0000)]
clang-tidy: bugprone-macro-parentheses
- Fix warnings identified by this flag
- Remove the exclude from .clang-tidy file
Colin Clark [Fri, 2 Feb 2024 14:58:16 +0000 (14:58 +0000)]
clang-tidy: misc-redundant-expression
- Fix warnings identified by this flag
- Remove the exclude from .clang-tidy file
Colin Clark [Fri, 2 Feb 2024 14:33:35 +0000 (14:33 +0000)]
clang-tidy; -bugprone-suspicious-string-compare, misc-unused-parameters
- Fix warnings identified by this flag
- Remove the exclude from .clang-tidy file
Colin Clark [Fri, 2 Feb 2024 14:06:23 +0000 (14:06 +0000)]
clang-tidy: modernize-redundant-void-arg
- Fix warnings identified by this flag
- Remove the exclude from .clang-tidy file
Colin Clark [Fri, 2 Feb 2024 13:53:05 +0000 (13:53 +0000)]
Ensure default .geeqierc.xml is used in tests
Set XDG_* for local tests so that local user file are not affected.
Colin Clark [Fri, 2 Feb 2024 12:54:32 +0000 (12:54 +0000)]
clang-tidy: modernize-use-nullptr
- Fix warnings identified by this flag
- Remove the exclude from .clang-tidy file
Colin Clark [Fri, 2 Feb 2024 11:46:25 +0000 (11:46 +0000)]
Revise testing
- Move ancillary file checks from meson.build to test-ancillary-files.sh
- Scripts to run checks locally - test-all.sh, clang-tidy-check.sh
- revise .clang-tidy so that no errors are shown for current sources
- remove files erroneously in .git
- include .shellcheckrc
Colin Clark [Wed, 31 Jan 2024 13:39:52 +0000 (13:39 +0000)]
Fix #1236: Window Layouts with vertical split are shifted to the left if they are narrower than the application menu
https://github.com/BestImageViewer/geeqie/issues/1236
Add additional scrolled box for both menu and toolbar.
Thomas Klausner [Sun, 28 Jan 2024 20:50:36 +0000 (21:50 +0100)]
Limit definition of XOPEN_SOURCE to Linux, where it's needed.
The definition breaks the build on NetBSD where it hides symbols
(to match what the standard says).
Fixes #1230.
Arkadiy Illarionov [Sat, 27 Jan 2024 13:24:37 +0000 (16:24 +0300)]
Use GdkRectangle for LayoutOptions::log_window
Andreas Rönnquist [Sat, 27 Jan 2024 12:12:51 +0000 (13:12 +0100)]
Fix permissions for geocode-parameters plugin
Colin Clark [Sat, 27 Jan 2024 11:13:55 +0000 (11:13 +0000)]
Check and revise .desktop files
Include a .desktop file check using desktop-file-validate.
Revise .desktop files - most had an incorrect Categories entry.
Andreas Rönnquist [Thu, 25 Jan 2024 21:47:47 +0000 (22:47 +0100)]
Add keywords to desktop file
Colin Clark [Thu, 25 Jan 2024 12:01:36 +0000 (12:01 +0000)]
Release v2.2 files
Colin Clark [Thu, 25 Jan 2024 10:27:23 +0000 (10:27 +0000)]
Update .po files
Colin Clark [Thu, 25 Jan 2024 09:39:12 +0000 (09:39 +0000)]
Update template-desktop.sh
Take account that the menu is now in a file menu-classic.ui
Colin Clark [Wed, 24 Jan 2024 17:01:05 +0000 (17:01 +0000)]
Fix #1223: "Confirm move files to trash" not working
https://github.com/BestImageViewer/geeqie/issues/1223
Check for move to trash missing.
Colin Clark [Wed, 24 Jan 2024 14:56:10 +0000 (14:56 +0000)]
Option to select menu style
User option to select a "hamburger" style menu icon or the classic text
style.
The option is in Edit/Preferences/General.
Colin Clark [Mon, 22 Jan 2024 16:18:06 +0000 (16:18 +0000)]
Fix #1227: webp images load as black even with every prerequisite being green during compile
https://github.com/BestImageViewer/geeqie/issues/1227
https://github.com/BestImageViewer/geeqie/issues/1076
https://github.com/BestImageViewer/geeqie/pull/1225
Revert to using image-load-webp.cc
This Geeqie webp decoder will take precedence over an installed
webp-pixbuf-loader.
This decoder does not support webp animations.
If the user wants to use an installed webp-pixbuf-loader (e.g. to get
animations), Geeqie must be compiled with the option -Dwebp=disabled.
Colin Clark [Sat, 20 Jan 2024 16:02:25 +0000 (16:02 +0000)]
Fix #1184: Put main menu items into one hamburger menu
https://github.com/BestImageViewer/geeqie/issues/1184
A "hamburger" style menu icon is located to the left of the path entry
box.
Key F10 activates the menu.
Colin Clark [Sat, 20 Jan 2024 14:20:45 +0000 (14:20 +0000)]
Bug fix: SAR window crashes when escape pressed
Colin Clark [Fri, 19 Jan 2024 16:25:02 +0000 (16:25 +0000)]
Reduce the height of toolbars
The height of the toolbars was determined by a minimum size set in
GtkToolbar().
GtkToolbar is not in GTK4.
Horizontal boxes are used instead which result in a smaller icon size.
Colin Clark [Wed, 17 Jan 2024 15:55:08 +0000 (15:55 +0000)]
Use devel=enabled option for full-size AppImages
If the user crashes Geeqie, there may be useful data output.
Colin Clark [Sun, 7 Jan 2024 11:32:43 +0000 (11:32 +0000)]
Fix #1224: Dragging a keyword to another position causes Geeqie to crash
https://github.com/BestImageViewer/geeqie/issues/1224
Incorrect change in commit
6d72bf20cc
Colin Clark [Wed, 3 Jan 2024 16:35:25 +0000 (16:35 +0000)]
Remove web page links status from README
There are too many false alarms to make this a worthwhile notification.
Colin Clark [Wed, 3 Jan 2024 10:44:36 +0000 (10:44 +0000)]
Bug fix: Run-time errors when removing a toolbar icon
- In Edit/Preferences/Toolbar Main|Status, when an item is removed there
are run-time errors
- Replace g_object_unref() with gtk_container_remove()
Colin Clark [Fri, 29 Dec 2023 11:47:28 +0000 (11:47 +0000)]
Minor change to Debian install script
Colin Clark [Thu, 28 Dec 2023 15:45:49 +0000 (15:45 +0000)]
Include Help file documentation for Open With
Colin Clark [Wed, 27 Dec 2023 11:30:33 +0000 (11:30 +0000)]
Update Help file
Update link to Unison in Other Software
Colin Clark [Tue, 26 Dec 2023 13:01:46 +0000 (13:01 +0000)]
Update developer install script
Include mdl snap.
Colin Clark [Mon, 25 Dec 2023 16:59:38 +0000 (16:59 +0000)]
Change GitHub issue templates to new style
The GitHub issue templates are in ./.github/ISSUE_TEMPLATES/
Colin Clark [Mon, 25 Dec 2023 14:25:04 +0000 (14:25 +0000)]
Check markdown files for syntax
- Include markdown checks using mdl - different methods are used for
local checks and GitHub actions
- Fix syntax errors in some .md files
Colin Clark [Thu, 21 Dec 2023 15:17:47 +0000 (15:17 +0000)]
Bug fix: Help files are not included in AppImages
Include yelp-tools (yelp-build) as a dependency.
Colin Clark [Wed, 20 Dec 2023 13:06:28 +0000 (13:06 +0000)]
Fix #1215: Unable to build with webp-pixbuf-loader on non-Debian systems
https://github.com/BestImageViewer/geeqie/issues/1215
Include check for pacman.
I assume that DNF is still a problem.
Colin Clark [Tue, 19 Dec 2023 10:41:15 +0000 (10:41 +0000)]
Fix broken links in Help files
Colin Clark [Mon, 18 Dec 2023 17:00:49 +0000 (17:00 +0000)]
Include website status in README
The website project (https://github.com/geeqie/geeqie.github.io) has a
dead link check run every day.
Include the status in README.
Andreas Rönnquist [Sat, 16 Dec 2023 21:18:39 +0000 (22:18 +0100)]
Add loongarch64 support
Colin Clark [Fri, 15 Dec 2023 12:56:20 +0000 (12:56 +0000)]
Log Window F1 handling
- Pressing F1 in the Log Window send the selected text or complete line
to the command specified in Edit/Preferences/Behavior/Log Window F1
Command. It is left to the user to determine the action taken.
- Debug statements parameter order changed from __FILE__, __func__,
__LINE__ to __FILE__, __LINE__, __func__
Colin Clark [Wed, 13 Dec 2023 11:06:28 +0000 (11:06 +0000)]
Additional documentation for developers
Mostly to describe the source of non-standard icons.
Đoàn Trần Công Danh [Mon, 4 Dec 2023 11:51:57 +0000 (18:51 +0700)]
exiv2: Fix use-after-free and double-free with exiv2 0.28.x
In exiv2 0.28.x, DataBuf is only a wrapper for std::vector.
Exiv2::DataBuf::data() returns a shallow copy of its underlying
data. On Exiv2::DataBuf::reset(), all of its data is invalidated,
includes the data returned by Exiv2::DataBuf::data(). Thus, all usages
of said data is use-after-free, attempt to use its later is double-free.
Make a copy ourselves instead. This method works for the old exiv2, too.
Since Exiv2::PreviewImage::size() is available from forever, and both
Exiv2::PreviewImage::copy() and Exiv2::PreviewImage::pData() are
introduced in a same change (commit
9578e8123 in 2008).
Fixes: #1201
Fixes: https://github.com/void-linux/void-packages/issues/47547
Colin Clark [Sun, 3 Dec 2023 13:29:39 +0000 (13:29 +0000)]
Open With feature
The File menu has an Open With menu item, and there is an Open With
plugin.
In both cases the standard GTK application chooser dialog is called.
Colin Clark [Sat, 2 Dec 2023 14:01:24 +0000 (14:01 +0000)]
Change documentation for git clone from git:// to
Change clone documentation from:
git://git.geeqie.org/geeqie.git
to:
http://git.geeqie.org/git/geeqie.git
Access to git:// is faster but is limited to some areas for security
reasons.
Developers will know how to access it anyway.
Colin Clark [Thu, 30 Nov 2023 16:56:54 +0000 (16:56 +0000)]
Bug fix: Change all .desktop files to RDNS style
Some references to template.desktop were not changed.
Andreas Rönnquist [Mon, 20 Nov 2023 19:51:40 +0000 (20:51 +0100)]
Geeqie is a c++ project now, hence get the C++ compiler for cc
Colin Clark [Thu, 23 Nov 2023 11:38:07 +0000 (11:38 +0000)]
Update devel-install,sh
Automatically get latest plantuml.jar
Colin Clark [Thu, 23 Nov 2023 11:26:38 +0000 (11:26 +0000)]
FIXME: do not work - gtk_label_set_ellipsize
It works now.
Arkadiy Illarionov [Mon, 20 Nov 2023 19:34:01 +0000 (22:34 +0300)]
Remove duplicated JPEG_MARKER macros
Colin Clark [Mon, 20 Nov 2023 13:04:25 +0000 (13:04 +0000)]
Include tooltip for Filter combo
Show that the filter applies to the file extension and can be of the
form:
png;jpg
png; jpg
(A single space only)
Arkadiy Illarionov [Sun, 19 Nov 2023 10:30:01 +0000 (13:30 +0300)]
Simplify fullscreen_prefs_get_geometry()
* Use GdkRectangle as return value
* Convert pointers to references
* Add get_screen_default_geometry() to reduce number of warnings.
Colin Clark [Fri, 17 Nov 2023 15:54:53 +0000 (15:54 +0000)]
Fix #1076: webp images show up as black
https://github.com/BestImageViewer/geeqie/issues/1076
Include additional option -Dsubprojects=true|false
The default is "true", which will include subprojects.
Jose Riha [Thu, 9 Nov 2023 09:42:40 +0000 (10:42 +0100)]
Update Slovak translation.
Colin Clark [Mon, 6 Nov 2023 18:08:36 +0000 (18:08 +0000)]
Fix #1076: webp images show up as black
https://github.com/BestImageViewer/geeqie/issues/1076
- Include https://github.com/aruiz/webp-pixbuf-loader.git as a
subproject
- Patch the sources to fix this bug
- This commit can be removed when the origin sources are updated
- Animated webp images will be displayed
Colin Clark [Tue, 31 Oct 2023 11:05:13 +0000 (11:05 +0000)]
Fix #1204: Geeqie crashes if double-clicked on empty space in file lis
https://github.com/BestImageViewer/geeqie/issues/1204
Check for null fd
Arkadiy Illarionov [Sat, 28 Oct 2023 13:54:33 +0000 (16:54 +0300)]
Move fullscreen static functions to anonymous namespace
Also move internal defines to cc file
Arkadiy Illarionov [Sat, 28 Oct 2023 12:05:27 +0000 (15:05 +0300)]
Use C++ types for ScreenData list
Colin Clark [Sat, 28 Oct 2023 10:19:33 +0000 (11:19 +0100)]
Change all .desktop files to RDNS style
Colin Clark [Fri, 27 Oct 2023 14:40:01 +0000 (15:40 +0100)]
Include pandoc in AppImage generation files
Pandoc is need to create README.html, which is an entry in the run-time
Help menu
Arkadiy Illarionov [Fri, 27 Oct 2023 10:49:30 +0000 (13:49 +0300)]
Use GdkRectangle in ScreenData
Make ScreenData and related functions private.
Colin Clark [Fri, 27 Oct 2023 10:30:46 +0000 (11:30 +0100)]
Document XDG_* options for --new-instance
Update the man page and ref. document to include:
When the --remote-instance option is used, a single set of configuration
files is used for all instances.
However, the environment variables XDG_CONFIG_HOME, XDG_CACHE_HOME,
XDG_DATA_HOME can be used to modify this behavior on an individual basis
e.g.
XDG_CONFIG_HOME=/tmp/a XDG_CACHE_HOME=/tmp/b geeqie
Colin Clark [Thu, 26 Oct 2023 16:28:34 +0000 (17:28 +0100)]
Document AppImage portable mode