aboutsummaryrefslogtreecommitdiff
path: root/fiv.c
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* Add keyboard shortcuts for thumbnail sizePřemysl Eric Janouch2022-01-231-0/+2
|
* Update command line usage stringPřemysl Eric Janouch2022-01-161-1/+1
|
* Apply some bits of GNOME HIG 1.0Přemysl Eric Janouch2022-01-131-1/+1
|
* Add a normally hidden, stubbed-out menu barPřemysl Eric Janouch2022-01-131-1/+64
| | | | So that the About dialog is discoverable now at all.
* Select the file when Return-ing from the viewerPřemysl Eric Janouch2022-01-121-0/+1
| | | | | It might make sense to also do it on M-Left or the back button. Not sure about it so far.
* Fully support GNOME's inode/directory mechanismPřemysl Eric Janouch2022-01-121-2/+3
|
* Put reloading the image as its own actionPřemysl Eric Janouch2022-01-121-13/+14
|
* Don't hardcode the project name in its URIPřemysl Eric Janouch2022-01-121-1/+1
|
* Implement selection in the browserPřemysl Eric Janouch2022-01-111-3/+28
| | | | Keyboard controls are missing so far.
* Make the browser implement its own scrollablePřemysl Eric Janouch2022-01-101-5/+0
| | | | It's quite rough around the edges so far.
* Clean up the About animationPřemysl Eric Janouch2022-01-101-38/+42
|
* Add an unnecessarily fancy about dialogPřemysl Eric Janouch2022-01-091-0/+257
|