aboutsummaryrefslogtreecommitdiff
path: root/fiv.c
Commit message (Collapse)AuthorAgeFilesLines
* Process some GFileMonitor eventsPřemysl Eric Janouch2023-05-311-4/+14
| | | | So far, it's rather crude.
* Move FivIoModel to its own compilation unitPřemysl Eric Janouch2023-05-281-0/+1
|
* Revise documentation and help outputPřemysl Eric Janouch2023-04-171-14/+28
| | | | Split out clearly internal options.
* Make supported media type listing output uniquePřemysl Eric Janouch2023-04-171-2/+4
|
* Fix history behaviourPřemysl Eric Janouch2023-04-161-28/+27
| | | | | | When starting in A/B, then manually going up to A, and back down to A/B, going back in history to A was impossible, because it would actually end up being a /forward/ entry.
* CleanupPřemysl Eric Janouch2023-04-161-20/+31
|
* Avoid needless data duplicationPřemysl Eric Janouch2023-04-151-21/+21
| | | | And turn the initial load hack into somewhat clean-looking.
* Deduplicate file information structuresPřemysl Eric Janouch2023-04-141-2/+2
|
* Move and extend the browser toolbarPřemysl Eric Janouch2023-04-111-111/+217
| | | | | | This makes the user interface more cohesive, and easier to use. Both toolbars should ideally be made configurable.
* Add optional browser filename labelsPřemysl Eric Janouch2023-04-111-0/+21
|
* Add directory tree traversal functionalityPřemysl Eric Janouch2023-04-051-1/+34
| | | | Thus far merely bound to the [ and ] keys in the browser.
* Integrate online reverse image searchPřemysl Eric Janouch2023-03-151-4/+43
| | | | | | | | | | | This makes use of our image processing capabilities in order to turn arbitrary image files into normalized thumbnails, upload them to a temporary host, and pass the resulting URI to a search provider. In future, fiv should ideally run the upload itself, so that its status and any errors are obvious to the user, as well as to get rid of the script's dependency on jq.
* Make binaries say what git commit they come fromPřemysl Eric Janouch2022-08-131-3/+8
| | | | | The manual skipping of the initial "v" from tag names is unfortunate, but still a bit better than further cluttering up the build system.
* Resolve a few issues with MSYS2 cross-buildsPřemysl Eric Janouch2022-08-111-1/+7
| | | | | | | - Fix launching of subprocesses (missing gspawn helpers). - Discard unused GSettings schemas. - Make the program find its user guide. - Bundle a somewhat suboptimal version of ExifTool.
* Fix the argument list of a callbackPřemysl Eric Janouch2022-08-101-1/+2
|
* Overload the F9 keyboard shortcutPřemysl Eric Janouch2022-08-091-7/+7
| | | | | | | It doesn't make a lot of sense to be able to toggle invisible widgets, so just make F9 toggle "the toolbar that can currently be seen". The more permanent setting can be adjusted in GSettings.
* Support opening collections of filesPřemysl Eric Janouch2022-08-081-27/+113
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement a process-local VFS to enable grouping together arbitrary URIs passed via program arguments, DnD, or the file open dialog. This VFS contains FivCollectionFile objects, which act as "simple" proxies over arbitrary GFiles. Their true URIs may be retrieved through the "standard::target-uri" attribute, in a similar way to GVfs's "recent" and "trash" backends. (The main reason we proxy rather than just hackishly return foreign GFiles from the VFS is that loading them would switch the current directory, and break iteration as a result. We could also keep the collection outside of GVfs, but that would result in considerable special-casing, and the author wouldn't gain intimate knowledge of GIO.) There is no perceived need to keep old collections when opening new ones, so we simply change and reload the contents when needed. Similarly, there is no intention to make the VFS writeable. The process-locality of this and other URI schemes has proven to be rather annoying when passing files to other applications, however most of the resulting complexity appears to be essential rather than accidental. Note that the GTK+ file chooser widget is retarded, and doesn't recognize URIs that lack the authority part in the location bar.
* Don't crash on orphan URIsPřemysl Eric Janouch2022-08-081-0/+4
|
* Make Alt+Return work in the browser as wellPřemysl Eric Janouch2022-08-061-0/+1
|
* Integrate dconf-editorPřemysl Eric Janouch2022-08-051-0/+18
| | | | This is a more than adequate solution for now.
* Improve support for opening HTTP URIsPřemysl Eric Janouch2022-08-051-6/+23
| | | | | While all GVfs files implement the mountable interface, mounting may not actually achieve anything.
* Add support for copying to clipboardPřemysl Eric Janouch2022-08-041-0/+1
|
* Capitalize modifier names, prefer Command on macOSPřemysl Eric Janouch2022-08-041-22/+22
| | | | | | So far, the macOS special casing is only partial. Also, GtkShortcutsWindow confusingly labels Command as Meta.
* Make the switch-to-browser button select last filePřemysl Eric Janouch2022-07-261-5/+13
| | | | Before, it was only possible to achieve the same result using keyboard.
* Add sidebar/toolbar toggles to GSettingsPřemysl Eric Janouch2022-07-251-2/+8
|
* Add thumbnail size to GSettingsPřemysl Eric Janouch2022-07-251-4/+6
|
* Add a dark theme toggle to GSettingsPřemysl Eric Janouch2022-07-251-7/+16
|
* Make the window assume a centred position on macOSPřemysl Eric Janouch2022-07-231-0/+10
| | | | | | Windows and Linux applications are more likely to not bother, and their desktop environments don't place windows right in the corner, which is what happens with GTK+/macOS.
* Fix thumbnail passing on WindowsPřemysl Eric Janouch2022-07-221-0/+9
| | | | LF was converted to CR LF, systematically corrupting bitmap data.
* Fix a function name conflict on Mingw-w64Přemysl Eric Janouch2022-07-221-6/+6
| | | | | This could also be resolved through `#define NO_OLDNAMES`, however the function rather deserved a more precise name.
* Handle back/forward mouse buttons on Win32/macOSPřemysl Eric Janouch2022-07-221-0/+3
| | | | | There is no conflict with X11/Wayland, because 4/5 are the scroll wheel, which never gets forwarded to button-press-event.
* Print errors from launching new instancesPřemysl Eric Janouch2022-07-211-3/+5
|
* Fix the About dialog animation on macOSPřemysl Eric Janouch2022-07-171-0/+11
|
* Add a key binding for keeping the zoom/positionPřemysl Eric Janouch2022-07-171-1/+2
|
* Add ability to keep zoom/position when browsingPřemysl Eric Janouch2022-07-171-1/+5
|
* Let FivView take care of its drag gesturePřemysl Eric Janouch2022-07-171-73/+0
| | | | Making the GtkScrolledWindow's scrollbars draggable again.
* Simplify view dragging code a bitPřemysl Eric Janouch2022-07-161-26/+16
|
* Support dragging the viewPřemysl Eric Janouch2022-07-151-0/+85
| | | | | | | | | It would also be possible to handle this through press/motion/release event handlers, though GtkGestureDrag is more convenient for hacking in support for dragging to widgets not supporting GtkScrollable (yet). There may be some undesired interactions lurking, besides the jarring movements when dragging native GdkWindows (these are a pain).
* Downscale embedded thumbnails within minionsPřemysl Eric Janouch2022-06-081-3/+3
| | | | Otherwise the UI would become unresponsive during loading.
* Add a command line option to extract thumbnailsPřemysl Eric Janouch2022-06-081-23/+43
| | | | | Only use LibRaw for now, which probably has the most impact using the least amount of effort.
* Clean upPřemysl Eric Janouch2022-06-051-8/+8
| | | | Use gchar when memory is allocated through GLib.
* Expose the mtime of the model's entriesPřemysl Eric Janouch2022-06-041-1/+6
|
* Fix sort changes taking way too much timePřemysl Eric Janouch2022-06-021-2/+8
| | | | | | All thumbnails were reloaded five times on each change. GTK+/GObject's behaviour doesn't make a lot of sense, but such is life.
* Make thumbnailers pass back raw imagesPřemysl Eric Janouch2022-02-201-1/+6
|
* Implement wide thumbnail cache invalidationPřemysl Eric Janouch2022-02-201-1/+8
|
* Make the view a drop targetPřemysl Eric Janouch2022-02-171-0/+24
|
* Adjust keyboard shortcutsPřemysl Eric Janouch2022-01-261-28/+46
|
* Only show the info bar when appropriatePřemysl Eric Janouch2022-01-251-0/+3
| | | | | | The late, global gtk_widget_show_all() made it always start visible, in particular when the program was launched directly on an image file, and not in browsing mode.
* Start a basic user guidePřemysl Eric Janouch2022-01-251-1/+21
| | | | Move some information out there from the README.
* Redirect image open failure messagesPřemysl Eric Janouch2022-01-241-15/+40
| | | | | | | Pop-up dialogs are quite annoying, as is not being able to iterate over broken images. This will also be useful for warnings and asynchronous loading.