Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
New features for Linux (HandBrake#4897)
* LinGUI: Bump GTK 3 minimum version to 3.22 Should be available in all currently supported distributions. Also removed conditionals that are no longer needed. * LinGUI: Bump GTK 4 minimum version to 4.4 GTK 4 support is currently based on a beta version and doesn't work due to deprecations in the release versions. Further changes are needed before it will build successfully. * LinGUI: Use GtkFileChooserNative When xdg-desktop-portal is available, a dialog native to the desktop environment is used instead of the GTK one. Fixes HandBrake#4700 * LinGUI: Refactor Add Multiple dialog Moves all the code for the Add Multiple dialog from queuehandler.c to title-add.c and renames functions and actions to match. This will help make the code easier to maintain and allow for further improvements. * LinGUI: Add menu option to Add All items Adds all titles to the queue immediately. If the destination filenames are not unique, opens the Add Multiple dialog instead. Also stops adding items if an error occurs instead of continuing and creating repeated error messages (Fixes HandBrake#4438). * LinGUI: Drag and drop support for videos Drag a video or folder onto the HandBrake window and it will be scanned as if it had been opened through the file dialog. Works with most file managers (Nautilus, Dolphin, Nemo, Thunar etc.) Closes HandBrake#969 * LinGUI: Rearrange Filter tab to match other platforms * LinGUI: Add XML chapter import and export - Imports chapter titles only - Exports full chapter details including time stamps - Supports the Matroska XML chapter format - Reads chapters from the default EditionEntry - Uses the first ChapterString found for each chapter * LinGUI: Fix symbolic icons on old GTK versions * LinGUI: Fix function prototype warnings Fixes most warnings caused by old-style function declarations and non-static functions with no header declarations. Warnings were found by compiling in GCC 12 with the flags: -Wmissing-declarations -Wmissing-parameter-type -Wmissing-prototypes -Wold-style-declaration -Wold-style-definition -Wstrict-prototypes * LinGUI: Use structured logging Replaces the custom logging functions with standard GLib ones, using the __func__ macro introduced in C99 for function names. Instead of using the --debug argument, debug messages are shown if the environment variable G_MESSAGES_DEBUG is set to 'ghb' or 'all'. * Linux: Add more diagnostic info to log Prints the current operating system, kernel version and data directories to the activity log. * LinGUI: Use native paths for dropped files Try to get a native path instead of a URI for files added via drag and drop so that libhb can access them through GVFS. * Fix warning if dialog is created with no OK button * LinGUI: Automatic pause to save battery power - Listens on DBus for battery status events - Pauses encoding if unplugged or entering power save mode - Resumes when power is restored or exiting power save mode - Encodes can still be started while on battery power - Doesn't resume when plugged in if paused manually - Preferences option for pause on unplug * LinGUI: Run autoupdate to fix configure.ac warnings * LinGUI: New auto-naming options {codec} - The codec of the encoded video (such as H.264) {bit-depth} - The bit depth for the encoded video as an integer {width} - The storage width of the encoded video {height} - The storage height of the encoded video {modification-date} - The modification date of the source file {modification-time} - The modification time of the source file * LinGUI: Update translation template - Rename metainfo template so that gettext recognizes it * LinGUI: Removed leftover version guards * Linux: Add CPU info to activity log - Remove temp dir info as it is often inaccurate * LinGUI: Miscellaneous fixes - Free unneeded filename - Fix XML chapter export crash - Replace unneeded printf calls with g_debug - Update deprecated margin-left property * LinGUI: Access D-Bus asynchronously * LinGUI: Option to pause on entering power save * LinGUI: Pause encoding when battery is low * LinGUI: Tweak power save options Although there's no option for it in the UI, adding LowBatteryLevel to preferences.json will set the level at which encoding is paused. * LinGUI: Update translation files
- Loading branch information