From 3932f559303edd80fb7be32ac0b6b128b2137458 Mon Sep 17 00:00:00 2001 From: John Stebbins Date: Thu, 19 Apr 2018 12:16:18 -0700 Subject: [PATCH] LinGui: start adding Gtk4 support Gtk4 drops support for a number of widget properties and APIs. Fortunately these were all pretty much duplicate functionality that could be replaced by other existing properties and APIs. Building with Gtk4 is currently disabled due to several bugs in libgtk4. --- gtk/configure.ac | 19 +- gtk/src/Makefile.am | 4 + gtk/src/audiohandler.c | 61 +-- gtk/src/callbacks.c | 118 ++--- gtk/src/ghb.m4 | 815 +++++++--------------------------- gtk/src/ghbcellrenderertext.c | 168 ++++--- gtk/src/ghbcellrenderertext.h | 4 +- gtk/src/ghbcompat.h | 123 +++++ gtk/src/main.c | 35 +- gtk/src/preview.c | 28 +- gtk/src/queuehandler.c | 18 +- gtk/src/settings.c | 2 + gtk/src/settings.h | 1 - 13 files changed, 529 insertions(+), 867 deletions(-) diff --git a/gtk/configure.ac b/gtk/configure.ac index bdbfac931..90a37c04a 100644 --- a/gtk/configure.ac +++ b/gtk/configure.ac @@ -119,7 +119,16 @@ case $host in esac PKG_PROG_PKG_CONFIG -GHB_PACKAGES="gtk+-3.0 $GHB_PACKAGES" + +#PKG_CHECK_MODULES([GHB_GTK_4_0], [gtk+-4.0 >= 3.92], [HAVE_GTK_400=1], [HAVE_GTK_400=0]) +PKG_CHECK_MODULES([GHB_GTK_3_16], [gtk+-3.0 >= 3.16], [HAVE_GTK_316=1], [HAVE_GTK_316=0]) +PKG_CHECK_MODULES([GHB_GTK_3_14], [gtk+-3.0 >= 3.14], [HAVE_GTK_314=1], [HAVE_GTK_314=0]) +PKG_CHECK_MODULES([GHB_GTK_3_12], [gtk+-3.0 >= 3.12], [HAVE_GTK_312=1], [HAVE_GTK_312=0]) +if test "$HAVE_GTK_400" -eq 1 ; then + GHB_PACKAGES="gtk+-4.0 $GHB_PACKAGES" +else + GHB_PACKAGES="gtk+-3.0 $GHB_PACKAGES" +fi GST1_MODULES="gstreamer-1.0 gstreamer-video-1.0 gstreamer-audio-1.0 gstreamer-pbutils-1.0" @@ -146,8 +155,8 @@ if test "x$gst_disable" = "xno" ; then fi if test "x$update_checks" = "xyes" ; then - PKG_CHECK_MODULES(WebKitGtk3, webkitgtk-3.0, use_webkitgtk3=yes, use_webkitgtk3=no) - if test "x$use_webkitgtk3" = "xyes" ; then + PKG_CHECK_MODULES(WebKitGtk3, webkitgtk-3.0, use_webkitgtk=yes, use_webkitgtk=no) + if test "x$use_webkitgtk" = "xyes" ; then GHB_PACKAGES="$GHB_PACKAGES webkitgtk-3.0" else update_checks="no" @@ -157,9 +166,7 @@ else CFLAGS="$CFLAGS -D_NO_UPDATE_CHECK" fi -PKG_CHECK_MODULES([GHB_GTK_3_16], [gtk+-3.0 >= 3.16], [HAVE_GTK_316=1], [HAVE_GTK_316=0]) -PKG_CHECK_MODULES([GHB_GTK_3_14], [gtk+-3.0 >= 3.14], [HAVE_GTK_314=1], [HAVE_GTK_314=0]) -PKG_CHECK_MODULES([GHB_GTK_3_12], [gtk+-3.0 >= 3.12], [HAVE_GTK_312=1], [HAVE_GTK_312=0]) +AM_CONDITIONAL([GHB_GTK_4_00], [test "$HAVE_GTK_400" -eq 1]) AM_CONDITIONAL([GHB_GTK_3_16], [test "$HAVE_GTK_316" -eq 1]) AM_CONDITIONAL([GHB_GTK_3_14], [test "$HAVE_GTK_314" -eq 1]) AM_CONDITIONAL([GHB_GTK_3_12], [test "$HAVE_GTK_312" -eq 1]) diff --git a/gtk/src/Makefile.am b/gtk/src/Makefile.am index 9468dd616..9b03fcb5b 100644 --- a/gtk/src/Makefile.am +++ b/gtk/src/Makefile.am @@ -132,6 +132,9 @@ data_res.h : data_res.gresource.xml $(srcdir)/internal_defaults.json widget.deps cp $(srcdir)/internal_defaults.json . glib-compile-resources --generate --target=$@ --c-name ghb_data --manual-register $< +if GHB_GTK_4_00 +UI=400 +else if GHB_GTK_3_16 UI=316 else @@ -145,6 +148,7 @@ UI=300 endif endif endif +endif ui_res.c : ui_res.gresource.xml ui_res.h $(srcdir)/ghb.m4 glib-compile-resources --generate --target=$@ --c-name ghb_ui --manual-register $< diff --git a/gtk/src/audiohandler.c b/gtk/src/audiohandler.c index d21ff28d7..d4994463f 100644 --- a/gtk/src/audiohandler.c +++ b/gtk/src/audiohandler.c @@ -1716,7 +1716,6 @@ GtkWidget * ghb_create_audio_settings_row(signal_user_data_t *ud) GtkLabel *label; GtkRadioButton *radio; GtkButton *button; - GtkImage *image; box = GTK_BOX(gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0)); @@ -1729,10 +1728,12 @@ GtkWidget * ghb_create_audio_settings_row(signal_user_data_t *ud) gtk_widget_set_name(GTK_WIDGET(button), "add_button"); gtk_widget_hide(GTK_WIDGET(button)); g_signal_connect(button, "clicked", (GCallback)audio_def_setting_add_cb, ud); - gtk_box_pack_start(box, GTK_WIDGET(button), FALSE, FALSE, 0); + ghb_box_pack_start(box, GTK_WIDGET(button)); // Hidden widgets box box2 = GTK_BOX(gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0)); + gtk_widget_set_hexpand(GTK_WIDGET(box2), TRUE); + gtk_widget_set_halign(GTK_WIDGET(box2), GTK_ALIGN_FILL); gtk_widget_set_name(GTK_WIDGET(box2), "settings_box"); // Audio Encoder ComboBox @@ -1748,7 +1749,7 @@ GtkWidget * ghb_create_audio_settings_row(signal_user_data_t *ud) gtk_widget_set_name(GTK_WIDGET(combo), "AudioEncoder"); gtk_widget_show(GTK_WIDGET(combo)); g_signal_connect(combo, "changed", (GCallback)audio_def_encoder_changed_cb, ud); - gtk_box_pack_start(box2, GTK_WIDGET(combo), FALSE, FALSE, 0); + ghb_box_pack_start(box2, GTK_WIDGET(combo)); box3 = GTK_BOX(gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0)); gtk_widget_set_name(GTK_WIDGET(box3), "br_q_box"); @@ -1760,15 +1761,15 @@ GtkWidget * ghb_create_audio_settings_row(signal_user_data_t *ud) radio = GTK_RADIO_BUTTON(gtk_radio_button_new_with_label(NULL, _("Bitrate"))); gtk_widget_set_name(GTK_WIDGET(radio), "AudioTrackBitrateEnable"); gtk_widget_show(GTK_WIDGET(radio)); - gtk_box_pack_start(vbox, GTK_WIDGET(radio), FALSE, FALSE, 0); + ghb_box_pack_start(vbox, GTK_WIDGET(radio)); radio = GTK_RADIO_BUTTON( gtk_radio_button_new_with_label_from_widget(radio, _("Quality"))); gtk_widget_set_name(GTK_WIDGET(radio), "AudioTrackQualityEnable"); g_signal_connect(radio, "toggled", (GCallback)audio_def_quality_enable_changed_cb, ud); gtk_widget_show(GTK_WIDGET(radio)); - gtk_box_pack_start(vbox, GTK_WIDGET(radio), FALSE, FALSE, 0); + ghb_box_pack_start(vbox, GTK_WIDGET(radio)); gtk_widget_show(GTK_WIDGET(vbox)); - gtk_box_pack_start(box3, GTK_WIDGET(vbox), FALSE, FALSE, 0); + ghb_box_pack_start(box3, GTK_WIDGET(vbox)); // Audio Bitrate ComboBox combo = GTK_COMBO_BOX(gtk_combo_box_new()); @@ -1781,7 +1782,7 @@ GtkWidget * ghb_create_audio_settings_row(signal_user_data_t *ud) gtk_widget_set_name(GTK_WIDGET(combo), "AudioBitrate"); gtk_widget_show(GTK_WIDGET(combo)); g_signal_connect(combo, "changed", (GCallback)audio_def_encode_setting_changed_cb, ud); - gtk_box_pack_start(box3, GTK_WIDGET(combo), FALSE, FALSE, 0); + ghb_box_pack_start(box3, GTK_WIDGET(combo)); GtkBox *qbox; qbox = GTK_BOX(gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0)); @@ -1809,7 +1810,7 @@ GtkWidget * ghb_create_audio_settings_row(signal_user_data_t *ud) gtk_widget_set_name(GTK_WIDGET(scale), "AudioTrackQualityX"); gtk_widget_show(GTK_WIDGET(scale)); g_signal_connect(scale, "value-changed", (GCallback)audio_def_quality_changed_cb, ud); - gtk_box_pack_start(qbox, GTK_WIDGET(scale), FALSE, FALSE, 0); + ghb_box_pack_start(qbox, GTK_WIDGET(scale)); // Audio Quality Label label = GTK_LABEL(gtk_label_new("0.00")); @@ -1818,10 +1819,10 @@ GtkWidget * ghb_create_audio_settings_row(signal_user_data_t *ud) gtk_widget_set_valign(GTK_WIDGET(label), GTK_ALIGN_CENTER); gtk_widget_set_name(GTK_WIDGET(label), "AudioTrackQualityValue"); gtk_widget_show(GTK_WIDGET(label)); - gtk_box_pack_start(qbox, GTK_WIDGET(label), FALSE, FALSE, 0); + ghb_box_pack_start(qbox, GTK_WIDGET(label)); gtk_widget_hide(GTK_WIDGET(qbox)); - gtk_box_pack_start(box3, GTK_WIDGET(qbox), FALSE, FALSE, 0); - gtk_box_pack_start(box2, GTK_WIDGET(box3), FALSE, FALSE, 0); + ghb_box_pack_start(box3, GTK_WIDGET(qbox)); + ghb_box_pack_start(box2, GTK_WIDGET(box3)); // Audio Mix ComboBox combo = GTK_COMBO_BOX(gtk_combo_box_new()); @@ -1834,7 +1835,7 @@ GtkWidget * ghb_create_audio_settings_row(signal_user_data_t *ud) gtk_widget_set_name(GTK_WIDGET(combo), "AudioMixdown"); gtk_widget_show(GTK_WIDGET(combo)); g_signal_connect(combo, "changed", (GCallback)audio_def_encode_setting_changed_cb, ud); - gtk_box_pack_start(box2, GTK_WIDGET(combo), FALSE, FALSE, 0); + ghb_box_pack_start(box2, GTK_WIDGET(combo)); // Audio Sample Rate ComboBox combo = GTK_COMBO_BOX(gtk_combo_box_new()); @@ -1847,7 +1848,7 @@ GtkWidget * ghb_create_audio_settings_row(signal_user_data_t *ud) gtk_widget_set_name(GTK_WIDGET(combo), "AudioSamplerate"); gtk_widget_show(GTK_WIDGET(combo)); g_signal_connect(combo, "changed", (GCallback)audio_def_encode_setting_changed_cb, ud); - gtk_box_pack_start(box2, GTK_WIDGET(combo), FALSE, FALSE, 0); + ghb_box_pack_start(box2, GTK_WIDGET(combo)); box3 = GTK_BOX(gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0)); gtk_widget_set_name(GTK_WIDGET(box3), "gain_box"); @@ -1871,7 +1872,7 @@ GtkWidget * ghb_create_audio_settings_row(signal_user_data_t *ud) gtk_widget_set_name(GTK_WIDGET(scale), "AudioTrackGainSlider"); gtk_widget_show(GTK_WIDGET(scale)); g_signal_connect(scale, "value-changed", (GCallback)audio_def_gain_changed_cb, ud); - gtk_box_pack_start(box3, GTK_WIDGET(scale), FALSE, FALSE, 0); + ghb_box_pack_start(box3, GTK_WIDGET(scale)); // Audio Gain Label label = GTK_LABEL(gtk_label_new(_("0dB"))); @@ -1880,8 +1881,8 @@ GtkWidget * ghb_create_audio_settings_row(signal_user_data_t *ud) gtk_widget_set_valign(GTK_WIDGET(label), GTK_ALIGN_CENTER); gtk_widget_set_name(GTK_WIDGET(label), "AudioTrackGainValue"); gtk_widget_show(GTK_WIDGET(label)); - gtk_box_pack_start(box3, GTK_WIDGET(label), FALSE, FALSE, 0); - gtk_box_pack_start(box2, GTK_WIDGET(box3), FALSE, FALSE, 0); + ghb_box_pack_start(box3, GTK_WIDGET(label)); + ghb_box_pack_start(box2, GTK_WIDGET(box3)); box3 = GTK_BOX(gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0)); gtk_widget_set_name(GTK_WIDGET(box3), "drc_box"); @@ -1906,7 +1907,7 @@ GtkWidget * ghb_create_audio_settings_row(signal_user_data_t *ud) gtk_widget_set_name(GTK_WIDGET(scale), "AudioTrackDRCSlider"); gtk_widget_show(GTK_WIDGET(scale)); g_signal_connect(scale, "value-changed", (GCallback)audio_def_drc_changed_cb, ud); - gtk_box_pack_start(box3, GTK_WIDGET(scale), FALSE, FALSE, 0); + ghb_box_pack_start(box3, GTK_WIDGET(scale)); // Audio DRC Label label = GTK_LABEL(gtk_label_new(_("Off"))); @@ -1915,14 +1916,14 @@ GtkWidget * ghb_create_audio_settings_row(signal_user_data_t *ud) gtk_widget_set_valign(GTK_WIDGET(label), GTK_ALIGN_CENTER); gtk_widget_set_name(GTK_WIDGET(label), "AudioTrackDRCValue"); gtk_widget_show(GTK_WIDGET(label)); - gtk_box_pack_start(box3, GTK_WIDGET(label), FALSE, FALSE, 0); - gtk_box_pack_start(box2, GTK_WIDGET(box3), FALSE, FALSE, 0); + ghb_box_pack_start(box3, GTK_WIDGET(label)); + ghb_box_pack_start(box2, GTK_WIDGET(box3)); // Remove button - image = GTK_IMAGE(gtk_image_new_from_icon_name("hb-remove", - GTK_ICON_SIZE_BUTTON)); button = GTK_BUTTON(gtk_button_new()); - gtk_button_set_image(button, GTK_WIDGET(image)); + gtk_widget_set_hexpand(GTK_WIDGET(button), TRUE); + gtk_widget_set_halign(GTK_WIDGET(button), GTK_ALIGN_FILL); + ghb_button_set_icon_name(button, "hb-remove"); gtk_widget_set_tooltip_markup(GTK_WIDGET(button), _("Remove this audio encoder")); gtk_button_set_relief(button, GTK_RELIEF_NONE); @@ -1931,10 +1932,10 @@ GtkWidget * ghb_create_audio_settings_row(signal_user_data_t *ud) gtk_widget_set_name(GTK_WIDGET(button), "remove_button"); gtk_widget_show(GTK_WIDGET(button)); g_signal_connect(button, "clicked", (GCallback)audio_def_setting_remove_cb, ud); - gtk_box_pack_start(box2, GTK_WIDGET(button), TRUE, TRUE, 0); + ghb_box_pack_start(box2, GTK_WIDGET(button)); gtk_widget_show(GTK_WIDGET(box2)); - gtk_box_pack_start(box, GTK_WIDGET(box2), TRUE, TRUE, 0); + ghb_box_pack_start(box, GTK_WIDGET(box2)); gtk_widget_show(GTK_WIDGET(box)); @@ -1942,28 +1943,28 @@ GtkWidget * ghb_create_audio_settings_row(signal_user_data_t *ud) int width; widget = find_widget(GTK_WIDGET(box), "AudioEncoder"); - gtk_widget_get_preferred_width(widget, NULL, &width); + ghb_widget_get_preferred_width(widget, NULL, &width); widget = GHB_WIDGET(ud->builder, "audio_defaults_encoder_label"); gtk_widget_set_size_request(widget, width, -1); widget = find_widget(GTK_WIDGET(box), "br_q_box"); - gtk_widget_get_preferred_width(widget, NULL, &width); + ghb_widget_get_preferred_width(widget, NULL, &width); widget = GHB_WIDGET(ud->builder, "audio_defaults_bitrate_label"); gtk_widget_set_size_request(widget, width, -1); widget = find_widget(GTK_WIDGET(box), "AudioMixdown"); - gtk_widget_get_preferred_width(widget, NULL, &width); + ghb_widget_get_preferred_width(widget, NULL, &width); widget = GHB_WIDGET(ud->builder, "audio_defaults_mixdown_label"); gtk_widget_set_size_request(widget, width, -1); widget = find_widget(GTK_WIDGET(box), "AudioSamplerate"); - gtk_widget_get_preferred_width(widget, NULL, &width); + ghb_widget_get_preferred_width(widget, NULL, &width); widget = GHB_WIDGET(ud->builder, "audio_defaults_samplerate_label"); gtk_widget_set_size_request(widget, width, -1); widget = find_widget(GTK_WIDGET(box), "gain_box"); - gtk_widget_get_preferred_width(widget, NULL, &width); + ghb_widget_get_preferred_width(widget, NULL, &width); widget = GHB_WIDGET(ud->builder, "audio_defaults_gain_label"); gtk_widget_set_size_request(widget, width, -1); widget = find_widget(GTK_WIDGET(box), "drc_box"); - gtk_widget_get_preferred_width(widget, NULL, &width); + ghb_widget_get_preferred_width(widget, NULL, &width); widget = GHB_WIDGET(ud->builder, "audio_defaults_drc_label"); gtk_widget_set_size_request(widget, width, -1); diff --git a/gtk/src/callbacks.c b/gtk/src/callbacks.c index 2830285d8..0dc181b9c 100644 --- a/gtk/src/callbacks.c +++ b/gtk/src/callbacks.c @@ -4852,15 +4852,15 @@ ghb_chapter_list_refresh_all(signal_user_data_t *ud) chapter_refresh_list_ui(ud); } -static gint chapter_edit_key = 0; +static guint chapter_edit_key = 0; G_MODULE_EXPORT gboolean chapter_keypress_cb( GhbCellRendererText *cell, - GdkEventKey *event, + GdkEvent *event, signal_user_data_t *ud) { - chapter_edit_key = event->keyval; + ghb_event_get_keyval(event, &chapter_edit_key); return FALSE; } @@ -5031,17 +5031,13 @@ activity_font_changed_cb(GtkWidget *widget, signal_user_data_t *ud) } \n\ "; char * css = g_strdup_printf(css_template, size); - GError * error = NULL; GtkCssProvider * provider = gtk_css_provider_new(); - gtk_css_provider_load_from_data(provider, css, -1, &error); - if (error == NULL) - { - GdkScreen *ss = gdk_screen_get_default(); - gtk_style_context_add_provider_for_screen(ss, - GTK_STYLE_PROVIDER(provider), - GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); - } + ghb_css_provider_load_from_data(provider, css, -1); + GdkScreen *ss = gdk_screen_get_default(); + gtk_style_context_add_provider_for_screen(ss, + GTK_STYLE_PROVIDER(provider), + GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); g_object_unref(provider); g_free(css); #else @@ -5445,28 +5441,63 @@ drive_changed_cb(GVolumeMonitor *gvm, GDrive *gd, signal_user_data_t *ud) } #endif +typedef struct +{ + gint count; + signal_user_data_t *ud; +} button_click_t; + +static gboolean +easter_egg_timeout_cb(button_click_t *bc) +{ + if (bc->count == 1) + { + GtkWidget *widget; + widget = GHB_WIDGET(bc->ud->builder, "allow_tweaks"); + gtk_widget_hide(widget); + widget = GHB_WIDGET(bc->ud->builder, "hbfd_feature"); + gtk_widget_hide(widget); + } + bc->count = 0; + + return FALSE; +} + G_MODULE_EXPORT gboolean easter_egg_cb( GtkWidget *widget, - GdkEventButton *event, + GdkEvent *event, signal_user_data_t *ud) { - g_debug("press %d %d", event->type, event->button); - if (event->type == GDK_3BUTTON_PRESS && event->button == 1) - { // Its a tripple left mouse button click - GtkWidget *widget; - widget = GHB_WIDGET(ud->builder, "allow_tweaks"); - gtk_widget_show(widget); - widget = GHB_WIDGET(ud->builder, "hbfd_feature"); - gtk_widget_show(widget); - } - else if (event->type == GDK_BUTTON_PRESS && event->button == 1) + GdkEventType type = ghb_event_get_event_type(event); + guint button; + static button_click_t bc = { .count = 0 }; + + bc.ud = ud; + ghb_event_get_button(event, &button); + if (type == GDK_BUTTON_PRESS && button == 1) { - GtkWidget *widget; - widget = GHB_WIDGET(ud->builder, "allow_tweaks"); - gtk_widget_hide(widget); - widget = GHB_WIDGET(ud->builder, "hbfd_feature"); - gtk_widget_hide(widget); + bc.count++; + switch (bc.count) + { + case 1: + { + g_timeout_add(500, (GSourceFunc)easter_egg_timeout_cb, &bc); + } break; + + case 3: + { + // Its a tripple left mouse button click + GtkWidget *widget; + widget = GHB_WIDGET(ud->builder, "allow_tweaks"); + gtk_widget_show(widget); + widget = GHB_WIDGET(ud->builder, "hbfd_feature"); + gtk_widget_show(widget); + } break; + + default: + break; + } } return FALSE; } @@ -5715,37 +5746,6 @@ free_resources: return NULL; } -G_MODULE_EXPORT gboolean -hb_visibility_event_cb( - GtkWidget *widget, - GdkEventVisibility *vs, - signal_user_data_t *ud) -{ - ud->hb_visibility = vs->state; - return FALSE; -} - -G_MODULE_EXPORT void -show_hide_toggle_cb(GtkWidget *xwidget, signal_user_data_t *ud) -{ - GtkWindow *window; - GdkWindowState state; - - window = GTK_WINDOW(GHB_WIDGET(ud->builder, "hb_window")); - state = gdk_window_get_state(gtk_widget_get_window(GTK_WIDGET(window))); - if ((state & GDK_WINDOW_STATE_ICONIFIED) || - (ud->hb_visibility != GDK_VISIBILITY_UNOBSCURED)) - { - gtk_window_present(window); - gtk_window_set_skip_taskbar_hint(window, FALSE); - } - else - { - gtk_window_set_skip_taskbar_hint(window, TRUE); - gtk_window_iconify(window); - } -} - #if !defined(_WIN32) G_MODULE_EXPORT void notify_closed_cb(NotifyNotification *notification, signal_user_data_t *ud) diff --git a/gtk/src/ghb.m4 b/gtk/src/ghb.m4 index 3af5ba039..c38eb13a3 100644 --- a/gtk/src/ghb.m4 +++ b/gtk/src/ghb.m4 @@ -1,9 +1,12 @@ changequote(`[', `]')dnl define([filter_output], - [ifelse(eval(gtk_version <= 312), 1, + [ifelse(eval(gtk_version >= 400), 1, + [patsubst([patsubst([$1], [\"image\"], [\"icon-name\"])], + [^.*.*$], [])], + [ifelse(eval(gtk_version <= 312), 1, [patsubst([patsubst([$1], [margin-start], [margin-left])], - [margin-end], [margin-right])], - [$1])])dnl + [margin-end], [margin-right])], [$1])] + )])dnl filter_output([ @@ -109,6 +112,8 @@ conjunction with the "Forced" option. True False + False + GTK_ALIGN_FILL True @@ -212,8 +217,6 @@ conjunction with the "Forced" option. - False - True 0 @@ -228,6 +231,8 @@ conjunction with the "Forced" option. 6 6 6 + True + GTK_ALIGN_FILL True @@ -260,8 +265,6 @@ conjunction with the "Forced" option. - True - True 1 @@ -292,11 +295,12 @@ conjunction with the "Forced" option. True False + False + GTK_ALIGN_FILL + 5 + 5 - False - True - 5 1 @@ -306,6 +310,8 @@ conjunction with the "Forced" option. True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK in + True + GTK_ALIGN_FILL 600 @@ -320,8 +326,6 @@ conjunction with the "Forced" option. - True - True 2 @@ -542,7 +546,6 @@ conjunction with the "Forced" option. hb_window False - 5 About HandBrake dialog True @@ -727,8 +730,6 @@ libx264 authors: end - False - True end 0 @@ -751,10 +752,10 @@ libx264 authors: - vertical + True True False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK @@ -1095,8 +1096,6 @@ libx264 authors: - False - True 0 @@ -1106,11 +1105,13 @@ libx264 authors: True False True + False GTK_ALIGN_FILL GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK True + True False False 5 @@ -1127,7 +1128,6 @@ libx264 authors: app.source - False False @@ -1138,7 +1138,6 @@ libx264 authors: False - False False @@ -1154,7 +1153,6 @@ libx264 authors: app.queue-add - False False @@ -1170,7 +1168,6 @@ libx264 authors: app.queue-start - False False @@ -1186,7 +1183,6 @@ libx264 authors: app.queue-pause - False False @@ -1194,6 +1190,8 @@ libx264 authors: True False + True + GTK_ALIGN_FILL True @@ -1212,7 +1210,6 @@ libx264 authors: app.show-presets - False False @@ -1228,7 +1225,6 @@ libx264 authors: app.show-preview - False False @@ -1244,7 +1240,6 @@ libx264 authors: app.show-queue - False False @@ -1260,14 +1255,11 @@ libx264 authors: app.show-activity - False False - False - True 0 @@ -1275,7 +1267,6 @@ libx264 authors: True False - True True 5 True @@ -1318,8 +1309,6 @@ libx264 authors: None - False - True 1 @@ -1333,8 +1322,6 @@ libx264 authors: - True - True 2 @@ -1367,8 +1354,6 @@ libx264 authors: Scanning... - False - True 0 @@ -1379,10 +1364,9 @@ libx264 authors: False center GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + True - True - True 1 @@ -1459,8 +1443,6 @@ This is often the feature title of a DVD. - False - False 0 @@ -1474,8 +1456,6 @@ This is often the feature title of a DVD. <b>Angle:</b> - False - False 1 @@ -1486,15 +1466,11 @@ This is often the feature title of a DVD. True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK For multi-angle DVD's, select the desired angle to encode. - False - False adjustment27 end - False - True 2 @@ -1508,8 +1484,6 @@ This is often the feature title of a DVD. <b>Range:</b> - False - False 3 @@ -1522,8 +1496,6 @@ This is often the feature title of a DVD. - False - True 4 @@ -1534,8 +1506,6 @@ This is often the feature title of a DVD. True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK Set the first chapter to encode. - False - False adjustment1 True @@ -1543,8 +1513,6 @@ This is often the feature title of a DVD. - False - True 5 @@ -1555,8 +1523,6 @@ This is often the feature title of a DVD. - - False - True 6 @@ -1567,8 +1533,6 @@ This is often the feature title of a DVD. True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK Set the last chapter to encode. - False - False adjustment2 True @@ -1576,8 +1540,6 @@ This is often the feature title of a DVD. - False - True 7 @@ -1633,10 +1595,9 @@ This is often the feature title of a DVD. 0 Choose Preset True + True - True - True 0 @@ -1647,8 +1608,6 @@ This is often the feature title of a DVD. pan-end-symbolic - False - True 1 @@ -1656,8 +1615,6 @@ This is often the feature title of a DVD. - False - True 1 @@ -1671,8 +1628,6 @@ This is often the feature title of a DVD. True - True - True 2 @@ -1688,8 +1643,6 @@ Modifications will be discarded. app.preset-reload - False - True 3 @@ -1704,8 +1657,6 @@ Modifications will be discarded. app.preset-save-as - False - True 4 @@ -1719,15 +1670,11 @@ Modifications will be discarded. - False - True 1 - False - True 1 @@ -1739,6 +1686,7 @@ Modifications will be discarded. True False 6 + True vertical @@ -1753,12 +1701,11 @@ Modifications will be discarded. SettingsStack True GTK_ALIGN_FILL + GTK_ALIGN_START 12 12 - False - False 0 @@ -1771,6 +1718,7 @@ Modifications will be discarded. False 12 12 + True horizontal @@ -2042,8 +1990,6 @@ sync for broken players that do not honor MP4 edit lists. - False - False 0 @@ -2069,15 +2015,11 @@ sync for broken players that do not honor MP4 edit lists. - True - True 0 - True - True 1 @@ -2109,6 +2051,8 @@ sync for broken players that do not honor MP4 edit lists. GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 none + 2 + 2 vertical @@ -2171,8 +2115,6 @@ the required multiple. True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK Left Crop - False - False adjustment13 @@ -2190,8 +2132,6 @@ the required multiple. True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK Top Crop - False - False adjustment14 @@ -2209,8 +2149,6 @@ the required multiple. True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK Bottom Crop - False - False adjustment15 @@ -2228,8 +2166,6 @@ the required multiple. True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK Right Crop - False - False adjustment16 @@ -2272,8 +2208,6 @@ the required multiple. - False - True 0 @@ -2290,9 +2224,6 @@ the required multiple. - False - True - 2 0 @@ -2303,6 +2234,8 @@ the required multiple. GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 none + 2 + 2 vertical @@ -2359,8 +2292,6 @@ This will be the resolution that most closely matches the source resolution afte GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK This is the width that the video will be stored at. The actual display dimensions will differ if the pixel aspect ratio is not 1:1. - False - False adjustment17 True @@ -2394,8 +2325,6 @@ The actual display dimensions will differ if the pixel aspect ratio is not 1:1.< GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK This is the height that the video will be stored at. The actual display dimensions will differ if the pixel aspect ratio is not 1:1. - False - False adjustment18 @@ -2408,8 +2337,6 @@ The actual display dimensions will differ if the pixel aspect ratio is not 1:1.< - False - True 2 @@ -2495,8 +2422,6 @@ You should use 2 unless you experience compatibility issues. - False - True 4 @@ -2513,9 +2438,6 @@ You should use 2 unless you experience compatibility issues. - False - True - 2 1 @@ -2526,6 +2448,8 @@ You should use 2 unless you experience compatibility issues. GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 none + 2 + 2 vertical @@ -2582,8 +2506,6 @@ You should use 2 unless you experience compatibility issues. True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK This is the display width. It is the result of scaling the storage dimensions by the pixel aspect. - False - False adjustment25 True @@ -2615,8 +2537,6 @@ You should use 2 unless you experience compatibility issues. True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - False - False adjustment26 @@ -2629,8 +2549,6 @@ You should use 2 unless you experience compatibility issues. - False - True 0 @@ -2667,8 +2585,6 @@ You should use 2 unless you experience compatibility issues. A 1:1 ratio defines a square pixel. Other values define rectangular shapes. Players will scale the image in order to achieve the specified aspect. - False - False adjustment29 True @@ -2703,8 +2619,6 @@ Players will scale the image in order to achieve the specified aspect.Pixel aspect defines the shape of the pixels. A 1:1 ratio defines a square pixel. Other values define rectangular shapes. Players will scale the image in order to achieve the specified aspect. - False - False adjustment30 @@ -2748,8 +2662,6 @@ Players will scale the image in order to achieve the specified aspect. - False - True 1 @@ -2766,9 +2678,6 @@ Players will scale the image in order to achieve the specified aspect. - False - True - 2 2 @@ -2850,8 +2759,6 @@ Telecining is a process that adjusts film framerates that are 24fps to NTSC vide JunkLeft:JunkRight:JunkTop:JunkBottom:StrictBreaks:MetricPlane:Parity 8 - False - False @@ -2923,8 +2830,6 @@ to be interlaced will be deinterlaced. Mode:Spatial Metric:Motion Thresh:Spatial Thresh:Mask Filter Mode: Block Thresh: Block Width: Block Height 8 - False - False @@ -3029,8 +2934,6 @@ The deinterlace filter is a classic YADIF deinterlacer. True 8 - False - False @@ -3220,8 +3123,6 @@ Using this filter on such sources can result in smaller file sizes. SpatialLuma:SpatialChroma:TemporalLuma:TemporalChroma 8 - False - False @@ -3354,8 +3255,6 @@ high frequency components in the video. SpatialLuma:SpatialChroma:TemporalLuma:TemporalChroma 8 - False - False @@ -3611,8 +3510,6 @@ VFR is not compatible with some players. - False - True 0 @@ -3624,7 +3521,9 @@ VFR is not compatible with some players. 5 2 12 - 0 + 2 + 2 + True True @@ -3720,8 +3619,6 @@ to limit instantaneous bitrate, look into x264's vbv-bufsize and vbv-maxrate set The instantaneous bitrate can be much higher or lower at any point in time. But the average over a long duration will be the value set here. If you need to limit instantaneous bitrate, look into x264's vbv-bufsize and vbv-maxrate settings. - False - False adjustment3 @@ -3777,17 +3674,11 @@ to make bitrate allocation decisions. - True - True - 2 1 - False - True - 0 0 @@ -3797,8 +3688,11 @@ to make bitrate allocation decisions. True False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + 2 + 2 0 0 + True Use Advanced Options @@ -3811,12 +3705,11 @@ to make bitrate allocation decisions. Use at your own risk! start True + 2 + 2 - False - True - 2 0 @@ -3827,6 +3720,7 @@ Use at your own risk! GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 5 2 + True True @@ -4035,11 +3929,10 @@ Overrides all other settings. GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK start More Settings: + 5 + 5 - False - True - 5 0 @@ -4062,8 +3955,6 @@ Colon separated list of encoder options. - True - True 1 @@ -4077,17 +3968,11 @@ Colon separated list of encoder options. - True - True - 0 1 - True - True - 2 1 @@ -4199,8 +4084,7 @@ filter_output([ GTK_STACK_TRANSITION_TYPE_SLIDE_LEFT_RIGHT 400 True - True - True + True False 0 @@ -4219,6 +4103,7 @@ filter_output([ False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 2 + True True @@ -4235,9 +4120,6 @@ filter_output([ Add new audio settings to the list - - False - @@ -4250,9 +4132,6 @@ filter_output([ Add all audio tracks to the list - - False - @@ -4266,14 +4145,9 @@ filter_output([ Reload all audio settings from defaults - - False - - False - True 0 @@ -4299,15 +4173,11 @@ filter_output([ - True - True 2 - True - True 0 @@ -4373,7 +4243,6 @@ filter_output([ - True 0 @@ -4386,6 +4255,7 @@ filter_output([ GTK_ALIGN_END 6 6 + True True @@ -4393,10 +4263,12 @@ filter_output([ GTK_POLICY_NEVER GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 84 + True True True + True @@ -4418,7 +4290,7 @@ filter_output([ True True Create a list of languages you would like to select audio for. - Tracks matching these languages will be selected using the chosen Selection Behavior. +Tracks matching these languages will be selected using the chosen Selection Behavior. @@ -4489,8 +4361,6 @@ filter_output([ - True - True 1 @@ -4514,8 +4384,6 @@ filter_output([ - False - True 0 @@ -4718,7 +4586,6 @@ filter_output([ - True 0 @@ -4739,7 +4606,6 @@ filter_output([ Passthru Fallback: - True 0 @@ -4753,19 +4619,16 @@ filter_output([ - True 1 - True 1 - True 1 @@ -4808,10 +4671,9 @@ filter_output([ True False Encoder + GTK_ALIGN_CENTER - False - False 0 @@ -4820,10 +4682,9 @@ filter_output([ True False Bitrate/Quality + GTK_ALIGN_CENTER - False - False 1 @@ -4832,10 +4693,9 @@ filter_output([ True False Mixdown + GTK_ALIGN_CENTER - False - False 2 @@ -4844,10 +4704,9 @@ filter_output([ True False Samplerate + GTK_ALIGN_CENTER - False - False 3 @@ -4856,10 +4715,9 @@ filter_output([ True False Gain + GTK_ALIGN_CENTER - False - False 4 @@ -4868,10 +4726,9 @@ filter_output([ True False DRC + GTK_ALIGN_CENTER - False - False 5 @@ -4886,6 +4743,7 @@ filter_output([ False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK True + True True @@ -4897,7 +4755,6 @@ filter_output([ - True 5 @@ -4910,8 +4767,6 @@ filter_output([ - True - True 1 @@ -5023,8 +4878,7 @@ filter_output([ GTK_STACK_TRANSITION_TYPE_SLIDE_LEFT_RIGHT 400 True - True - True + True False 0 @@ -5043,10 +4897,7 @@ filter_output([ False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 2 - 6 - 6 - 6 - 6 + True True @@ -5063,9 +4914,6 @@ filter_output([ Add new subtitle settings to the list - - False - @@ -5078,9 +4926,6 @@ filter_output([ Add all subtitle tracks to the list - - False - @@ -5095,9 +4940,6 @@ filter_output([ segments of the audio that are in a foreign language. - - False - @@ -5111,14 +4953,9 @@ filter_output([ Reload all subtitle settings from defaults - - False - - False - True 0 @@ -5128,6 +4965,8 @@ filter_output([ False GTK_POLICY_NEVER GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + True + GTK_ALIGN_FILL True @@ -5142,15 +4981,11 @@ filter_output([ - True - True 1 - True - True 0 @@ -5220,7 +5055,6 @@ filter_output([ - True 0 @@ -5233,6 +5067,7 @@ filter_output([ GTK_ALIGN_END 6 6 + True True @@ -5240,10 +5075,14 @@ filter_output([ GTK_POLICY_NEVER GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 108 + True + GTK_ALIGN_FILL True True + True + GTK_ALIGN_FILL @@ -5260,15 +5099,19 @@ filter_output([ False GTK_POLICY_NEVER GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + True + GTK_ALIGN_FILL True True Create a list of languages you would like to select subtitles for. - Tracks matching these languages will be selected using the chosen Selection Behavior. +Tracks matching these languages will be selected using the chosen Selection Behavior. - The first language in this list is your "preferred" language and will be used - for determining subtitle selection settings when there is foreign audio. +The first language in this list is your "preferred" language and will be used +for determining subtitle selection settings when there is foreign audio. + True + GTK_ALIGN_FILL @@ -5354,15 +5197,11 @@ filter_output([ - True - True 1 - False - True 0 @@ -5550,8 +5389,6 @@ filter_output([ - True - True 1 @@ -5574,6 +5411,7 @@ filter_output([ True False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + True horizontal @@ -5587,6 +5425,7 @@ filter_output([ True False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + True True @@ -5633,8 +5472,6 @@ Cel animation tends to benefit from more reference frames a lot more than film c Note that many hardware devices have limitations on the number of supported reference frames, so if you're encoding for a handheld or standalone player, don't touch this unless you're absolutely sure you know what you're doing! - False - False adjustment8 @@ -5674,8 +5511,6 @@ Cel-animated source material and B-pyramid also significantly increase the usefu values. Baseline profile, as required for iPods and similar devices, requires B-frames to be set to 0 (off). - False - False adjustment9 @@ -5821,15 +5656,11 @@ Baseline profile, as required for iPods and similar devices, requires CABAC to b - False - True 1 - True - True 0 @@ -5839,6 +5670,7 @@ Baseline profile, as required for iPods and similar devices, requires CABAC to b True False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + True True @@ -5846,6 +5678,8 @@ Baseline profile, as required for iPods and similar devices, requires CABAC to b GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 none + 2 + 2 horizontal @@ -5860,6 +5694,7 @@ Baseline profile, as required for iPods and similar devices, requires CABAC to b GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 4 2 + True True @@ -5965,8 +5800,6 @@ motion of a block in order to try to find its actual motion. The default is fine for most content, but extremely high motion video, especially at HD resolutions, may benefit from higher ranges, albeit at a high speed cost. - False - False adjustment10 @@ -6051,8 +5884,6 @@ but makes much more accurate decisions, especially when used with B-pyramid. - True - True 0 @@ -6064,18 +5895,7 @@ but makes much more accurate decisions, especially when used with B-pyramid.4 2 6 - - - - - - - - - - - - + True True @@ -6150,8 +5970,6 @@ Trellis costs more speed at higher bitrates and requires CABAC. - True - True 1 @@ -6168,9 +5986,6 @@ Trellis costs more speed at higher bitrates and requires CABAC. - False - True - 2 0 @@ -6318,8 +6133,6 @@ and other sharp-edged graphics. - True - True 0 @@ -6338,8 +6151,6 @@ and other sharp-edged graphics. Deblocking: - False - True 0 @@ -6359,14 +6170,10 @@ The deblocking filter has two adjustable parameters, "strength" (Alpha) and "thr The former controls how strong (or weak) the deblocker is, while the latter controls how many (or few) edges it applies to. Lower values mean less deblocking, higher values mean more deblocking. The default is 0 (normal strength) for both parameters. - False - False adjustment11 - False - True 1 @@ -6386,14 +6193,10 @@ The deblocking filter has two adjustable parameters, "strength" (Alpha) and "thr The former controls how strong (or weak) the deblocker is, while the latter controls how many (or few) edges it applies to. Lower values mean less deblocking, higher values mean more deblocking. The default is 0 (normal strength) for both parameters. - False - False adjustment12 - False - True 2 @@ -6411,22 +6214,19 @@ dither. Don't touch this unless you're having banding issues or other such cases where you are having trouble keeping fine noise. - start True True + True + start + 20 - True - True - 20 3 - True - True 1 @@ -6443,22 +6243,16 @@ where you are having trouble keeping fine noise. - False - True 1 - True - True 2 - False - True 0 @@ -6469,6 +6263,8 @@ where you are having trouble keeping fine noise. GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 none + True + 2 40 @@ -6477,6 +6273,7 @@ where you are having trouble keeping fine noise. True False etched-in + True True @@ -6492,6 +6289,7 @@ deblock=0,0:trellis=1:psy-rd=1,0:aq-strength=1.0: no-fast-pskip=0:no-dct-decimate=0:cabac=1 char False + True @@ -6508,16 +6306,11 @@ no-fast-pskip=0:no-dct-decimate=0:cabac=1 - False - True - 2 1 - True - True 0 @@ -6551,15 +6344,11 @@ no-fast-pskip=0:no-dct-decimate=0:cabac=1 - False - True 0 - False - True 0 @@ -6568,6 +6357,7 @@ no-fast-pskip=0:no-dct-decimate=0:cabac=1 True False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + True True @@ -6581,8 +6371,6 @@ no-fast-pskip=0:no-dct-decimate=0:cabac=1 - True - True 1 @@ -6630,8 +6418,6 @@ no-fast-pskip=0:no-dct-decimate=0:cabac=1 False 50 True - False - False @@ -6667,8 +6453,6 @@ no-fast-pskip=0:no-dct-decimate=0:cabac=1 False 50 True - False - False @@ -6704,8 +6488,6 @@ no-fast-pskip=0:no-dct-decimate=0:cabac=1 False 50 True - False - False @@ -6741,8 +6523,6 @@ no-fast-pskip=0:no-dct-decimate=0:cabac=1 False 50 True - False - False @@ -6778,8 +6558,6 @@ no-fast-pskip=0:no-dct-decimate=0:cabac=1 False 50 True - False - False @@ -6815,8 +6593,6 @@ no-fast-pskip=0:no-dct-decimate=0:cabac=1 False 50 True - False - False @@ -6852,8 +6628,6 @@ no-fast-pskip=0:no-dct-decimate=0:cabac=1 False 50 True - False - False @@ -6913,8 +6687,6 @@ no-fast-pskip=0:no-dct-decimate=0:cabac=1 - True - True 1 @@ -6957,7 +6729,6 @@ no-fast-pskip=0:no-dct-decimate=0:cabac=1 - False True @@ -6975,7 +6746,6 @@ Resets the queue job to pending and ready to run again. - False True @@ -6993,7 +6763,6 @@ Resets all queue jobs to pending and ready to run again. - False True @@ -7010,7 +6779,6 @@ Resets all queue jobs to pending and ready to run again. - False True @@ -7028,7 +6796,6 @@ This file may be reloaded at a later time to edit your jobs and re-encode.app.queue-save - False True @@ -7045,14 +6812,11 @@ This file may be reloaded at a later time to edit your jobs and re-encode. - False True - False - True 1 @@ -7061,6 +6825,7 @@ This file may be reloaded at a later time to edit your jobs and re-encode.True False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + True True @@ -7076,8 +6841,6 @@ This file may be reloaded at a later time to edit your jobs and re-encode. - True - True 2 @@ -7090,8 +6853,6 @@ This file may be reloaded at a later time to edit your jobs and re-encode. - True - True 2 @@ -7126,8 +6887,6 @@ This file may be reloaded at a later time to edit your jobs and re-encode.True True Destination filename for your encode. - False - False @@ -7175,8 +6934,6 @@ This file may be reloaded at a later time to edit your jobs and re-encode. - False - True 3 @@ -7199,10 +6956,9 @@ This file may be reloaded at a later time to edit your jobs and re-encode.False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK start + True - True - True 0 @@ -7214,15 +6970,11 @@ This file may be reloaded at a later time to edit your jobs and re-encode.end - False - True 1 - False - True 4 @@ -7236,8 +6988,6 @@ This file may be reloaded at a later time to edit your jobs and re-encode.12 - False - True 5 @@ -7279,8 +7029,6 @@ This file may be reloaded at a later time to edit your jobs and re-encode.True - False - True 0 @@ -7293,15 +7041,11 @@ This file may be reloaded at a later time to edit your jobs and re-encode.True - False - True 1 - False - True end 0 @@ -7360,7 +7104,6 @@ This file may be reloaded at a later time to edit your jobs and re-encode. - False 0 @@ -7378,7 +7121,6 @@ This file may be reloaded at a later time to edit your jobs and re-encode. - False 1 @@ -7393,7 +7135,6 @@ This file may be reloaded at a later time to edit your jobs and re-encode. True - True False info @@ -7403,8 +7144,6 @@ This file may be reloaded at a later time to edit your jobs and re-encode.end - False - False 0 @@ -7419,15 +7158,11 @@ This file may be reloaded at a later time to edit your jobs and re-encode.Destination files OK. No duplicates detected. - False - True 0 - False - False 0 @@ -7444,8 +7179,6 @@ This file may be reloaded at a later time to edit your jobs and re-encode. - False - True 1 @@ -7459,7 +7192,6 @@ This file may be reloaded at a later time to edit your jobs and re-encode. hb_window False - 5 Preferences True center-on-parent @@ -7484,17 +7216,14 @@ This file may be reloaded at a later time to edit your jobs and re-encode.True True True + GTK_ALIGN_CENTER - False - False 0 - False - True end 0 @@ -7509,12 +7238,19 @@ This file may be reloaded at a later time to edit your jobs and re-encode.vertical True False + True +])dnl +ifelse(eval(gtk_version >= 400), 1, filter_output([ + + horizontal +]), filter_output([ +]))dnl +filter_output([ True False GDK_BUTTON_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_STRUCTURE_MASK - True @@ -7527,8 +7263,6 @@ This file may be reloaded at a later time to edit your jobs and re-encode. - False - True 0 @@ -7537,8 +7271,6 @@ This file may be reloaded at a later time to edit your jobs and re-encode. - True - True 0 @@ -7548,6 +7280,7 @@ This file may be reloaded at a later time to edit your jobs and re-encode.False False 12 + True vertical @@ -7570,8 +7303,6 @@ This file may be reloaded at a later time to edit your jobs and re-encode. - False - True 0 @@ -7583,15 +7314,11 @@ This file may be reloaded at a later time to edit your jobs and re-encode.True - False - True 1 - False - True 0 @@ -7613,8 +7340,6 @@ This file may be reloaded at a later time to edit your jobs and re-encode. - False - True 0 @@ -7626,15 +7351,11 @@ This file may be reloaded at a later time to edit your jobs and re-encode.True - False - True 1 - False - True 1 @@ -7657,8 +7378,6 @@ This file may be reloaded at a later time to edit your jobs and re-encode. - False - True 0 @@ -7680,8 +7399,6 @@ This file may be reloaded at a later time to edit your jobs and re-encode.end - False - True 0 @@ -7694,20 +7411,14 @@ This file may be reloaded at a later time to edit your jobs and re-encode.True 40 True - False - False - False - True 1 - False - True 1 @@ -7722,15 +7433,11 @@ This file may be reloaded at a later time to edit your jobs and re-encode. - False - True 2 - False - True 2 @@ -7747,19 +7454,12 @@ This file may be reloaded at a later time to edit your jobs and re-encode. True True - 2 6 - ● - none - False - False preview_count_adj True - False - True 0 @@ -7771,15 +7471,11 @@ This file may be reloaded at a later time to edit your jobs and re-encode.True - False - True 1 - False - True 3 @@ -7796,19 +7492,12 @@ This file may be reloaded at a later time to edit your jobs and re-encode. True True - 4 6 - ● - none - False - False min_title_adj True - False - True 0 @@ -7820,15 +7509,11 @@ This file may be reloaded at a later time to edit your jobs and re-encode.True - False - True 1 - False - True 4 @@ -7873,8 +7558,6 @@ This file may be reloaded at a later time to edit your jobs and re-encode. - False - True 0 @@ -7884,10 +7567,9 @@ This file may be reloaded at a later time to edit your jobs and re-encode.False start Constant Quality fractional granularity + True - True - True 1 @@ -7934,8 +7616,6 @@ This file may be reloaded at a later time to edit your jobs and re-encode. - False - True 0 @@ -7953,16 +7633,12 @@ This file may be reloaded at a later time to edit your jobs and re-encode.True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK Pause encoding if free disk space drops below limit - False - False GTK_ALIGN_CENTER DiskFreeLimitAdjustment 55 - False - True 0 @@ -7972,17 +7648,14 @@ This file may be reloaded at a later time to edit your jobs and re-encode.False start MB Limit + True - True - True 1 - False - True 1 @@ -8011,8 +7684,6 @@ This file may be reloaded at a later time to edit your jobs and re-encode. - False - True 0 @@ -8032,8 +7703,6 @@ This file may be reloaded at a later time to edit your jobs and re-encode. - False - True 0 @@ -8043,17 +7712,14 @@ This file may be reloaded at a later time to edit your jobs and re-encode.False start Activity Log Verbosity Level + True - True - True 1 - False - True 1 @@ -8072,8 +7738,6 @@ This file may be reloaded at a later time to edit your jobs and re-encode. - False - True 0 @@ -8085,15 +7749,11 @@ This file may be reloaded at a later time to edit your jobs and re-encode.Activity Log Longevity - True - True 1 - False - True 2 @@ -8154,15 +7814,11 @@ This file may be reloaded at a later time to edit your jobs and re-encode.True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK Pause encoding if free disk space drops below limit - False - False GTK_ALIGN_CENTER ActivityFontSizeAdjustment - False - True 0 @@ -8172,10 +7828,9 @@ This file may be reloaded at a later time to edit your jobs and re-encode.False start Activity Window Font Size + True - True - True 1 @@ -8249,8 +7904,6 @@ Uncheck this if you want to allow changing each title's settings independently.< - False - True 0 @@ -8294,8 +7947,6 @@ Uncheck this if you want to allow changing each title's settings independently.< - False - True 1 @@ -8317,15 +7968,11 @@ Uncheck this if you want to allow changing each title's settings independently.< - True - True 1 - True - True 1 @@ -8339,7 +7986,6 @@ Uncheck this if you want to allow changing each title's settings independently.< hb_window False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - 5 True center-on-parent dialog @@ -8364,10 +8010,9 @@ Uncheck this if you want to allow changing each title's settings independently.< True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + GTK_ALIGN_CENTER - False - False 0 @@ -8379,17 +8024,14 @@ Uncheck this if you want to allow changing each title's settings independently.< True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + GTK_ALIGN_CENTER - False - False 1 - False - True end 0 @@ -8400,12 +8042,15 @@ Uncheck this if you want to allow changing each title's settings independently.< True False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + True horizontal True False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + 10 + 10 True @@ -8415,8 +8060,6 @@ Uncheck this if you want to allow changing each title's settings independently.< Folder Name: - False - True 0 @@ -8429,20 +8072,14 @@ Uncheck this if you want to allow changing each title's settings independently.< True 30 True - False - False + True - True - True 1 - False - True - 10 0 @@ -8453,6 +8090,9 @@ Uncheck this if you want to allow changing each title's settings independently.< GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 etched-out + True + 10 + 10 6 @@ -8478,16 +8118,11 @@ Uncheck this if you want to allow changing each title's settings independently.< - True - True - 10 2 - True - True 1 @@ -8502,7 +8137,6 @@ Uncheck this if you want to allow changing each title's settings independently.< hb_window False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - 5 True center-on-parent dialog @@ -8513,6 +8147,7 @@ Uncheck this if you want to allow changing each title's settings independently.< False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 2 + False True @@ -8527,10 +8162,9 @@ Uncheck this if you want to allow changing each title's settings independently.< True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + False - False - False 0 @@ -8542,17 +8176,14 @@ Uncheck this if you want to allow changing each title's settings independently.< True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + False - False - False 1 - False - True end 0 @@ -8563,6 +8194,7 @@ Uncheck this if you want to allow changing each title's settings independently.< True False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + True True @@ -8574,8 +8206,6 @@ Uncheck this if you want to allow changing each title's settings independently.< <span size="x-large">Rename Preset</span> - False - True 0 @@ -8596,8 +8226,6 @@ Uncheck this if you want to allow changing each title's settings independently.< Name: - False - True 0 @@ -8610,8 +8238,6 @@ Uncheck this if you want to allow changing each title's settings independently.< True 40 True - False - False True @@ -8631,6 +8257,8 @@ Uncheck this if you want to allow changing each title's settings independently.< GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 etched-out + 10 + 10 6 @@ -8658,14 +8286,11 @@ Uncheck this if you want to allow changing each title's settings independently.< - 10 2 - True - True 1 @@ -8680,7 +8305,6 @@ Uncheck this if you want to allow changing each title's settings independently.< hb_window False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - 5 True center-on-parent dialog @@ -8707,8 +8331,6 @@ Uncheck this if you want to allow changing each title's settings independently.< GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - False - False 0 @@ -8722,15 +8344,11 @@ Uncheck this if you want to allow changing each title's settings independently.< GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - False - False 1 - False - True end 0 @@ -8741,6 +8359,7 @@ Uncheck this if you want to allow changing each title's settings independently.< True False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + True True @@ -8748,6 +8367,8 @@ Uncheck this if you want to allow changing each title's settings independently.< 6 False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + 10 + 10 True @@ -8803,8 +8424,6 @@ Uncheck this if you want to allow changing each title's settings independently.< True 30 True - False - False @@ -8838,8 +8457,6 @@ Uncheck this if you want to allow changing each title's settings independently.< True 30 True - False - False @@ -8851,9 +8468,6 @@ Uncheck this if you want to allow changing each title's settings independently.< - False - True - 10 0 @@ -8880,6 +8494,7 @@ Uncheck this if you want to allow changing each title's settings independently.< 2 False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + True @@ -8942,8 +8557,6 @@ Uncheck this if you want to allow changing each title's settings independently.< Whenever a new source is loaded, this value will be applied if the source width is greater. Setting this to 0 means there is no maximum width. - False - False adjustment32 True @@ -8984,8 +8597,6 @@ Setting this to 0 means there is no maximum width. Whenever a new source is loaded, this value will be applied if the source height is greater. Setting this to 0 means there is no maximum height. - False - False adjustment33 @@ -8998,8 +8609,6 @@ Setting this to 0 means there is no maximum height. - True - True 2 @@ -9010,6 +8619,9 @@ Setting this to 0 means there is no maximum height. GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 etched-out + True + 10 + 10 6 @@ -9035,16 +8647,11 @@ Setting this to 0 means there is no maximum height. - True - True - 10 3 - True - True 1 @@ -9072,11 +8679,17 @@ Setting this to 0 means there is no maximum height. +])dnl +ifelse(eval(gtk_version >= 400), 1, filter_output([ + + horizontal +]), filter_output([ +]))dnl +filter_output([ 854 480 True - True False True True @@ -9090,7 +8703,14 @@ Setting this to 0 means there is no maximum height. +])dnl +ifelse(eval(gtk_version >= 400), 1, filter_output([ + + horizontal +]), filter_output([ +]))dnl +filter_output([ False False center @@ -9121,8 +8741,6 @@ Setting this to 0 means there is no maximum height. - False - True 0 @@ -9150,8 +8768,6 @@ Setting this to 0 means there is no maximum height. - False - True 0 @@ -9161,11 +8777,10 @@ Setting this to 0 means there is no maximum height. preview_progress_adj False right + True - True - True 1 @@ -9174,6 +8789,7 @@ Setting this to 0 means there is no maximum height. vertical True False + True 20 @@ -9182,22 +8798,16 @@ Setting this to 0 means there is no maximum height. GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - False - True 0 - True - True 2 - False - True 1 @@ -9221,8 +8831,6 @@ Setting this to 0 means there is no maximum height. True - False - True 0 @@ -9232,22 +8840,16 @@ Setting this to 0 means there is no maximum height. True True Set the duration of the live preview in seconds. - False - False adjustment21 True - False - True 1 - False - True 0 @@ -9263,8 +8865,6 @@ Setting this to 0 means there is no maximum height. - False - True 1 @@ -9279,15 +8879,11 @@ Setting this to 0 means there is no maximum height. - False - True 2 - False - True 2 @@ -9300,7 +8896,6 @@ Setting this to 0 means there is no maximum height. False - 5 True dialog True @@ -9367,8 +8962,6 @@ ifelse(eval(gtk_version <= 312), 1, filter_output([ True - False - False 0 @@ -9384,15 +8977,11 @@ ifelse(eval(gtk_version <= 312), 1, filter_output([ True - False - False 1 - False - True end 0 @@ -9417,8 +9006,6 @@ filter_output([ Title Number: - False - True 0 @@ -9429,21 +9016,16 @@ filter_output([ True start GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - False - False adjustment24 + True - True - True 1 - False - True 0 @@ -9460,8 +9042,6 @@ filter_output([ Detected DVD devices: - False - True 0 @@ -9470,25 +9050,20 @@ filter_output([ True False start + True - True - True 1 - False - True 1 - False - True 2 @@ -9526,7 +9101,6 @@ filter_output([ hb_window False - 5 True False center-on-parent @@ -9552,8 +9126,6 @@ filter_output([ True - False - False 0 @@ -9566,15 +9138,11 @@ filter_output([ True - False - False 1 - False - True end 0 @@ -9598,8 +9166,6 @@ filter_output([ - False - True 1 @@ -9616,15 +9182,11 @@ filter_output([ SubtitleSrtEnable - False - True 1 - False - True 1 @@ -9766,8 +9328,6 @@ The source's character code is needed in order to perform this translation.True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK Adjust the offset in milliseconds between video and SRT timestamps - False - False adjustment31 @@ -9780,8 +9340,6 @@ The source's character code is needed in order to perform this translation. - False - True 0 @@ -9798,8 +9356,6 @@ The source's character code is needed in order to perform this translation.Track - False - True 0 @@ -9813,15 +9369,11 @@ The source's character code is needed in order to perform this translation. - False - True 1 - False - True 1 @@ -9848,8 +9400,6 @@ a foreign language. - False - True 0 @@ -9867,8 +9417,6 @@ The subtitle will be part of the video and can not be disabled. - False - True 1 @@ -9891,22 +9439,16 @@ in your output. - False - True 2 - False - True 2 - False - True 2 @@ -9920,7 +9462,6 @@ in your output. hb_window False - 5 True False center-on-parent @@ -9946,8 +9487,6 @@ in your output. True - False - False 0 @@ -9960,15 +9499,11 @@ in your output. True - False - False 1 - False - True end 0 @@ -9979,6 +9514,7 @@ in your output. True False 5 + True True @@ -10037,8 +9573,6 @@ Players may use this in the audio selection list. True True True - False - False @@ -10050,8 +9584,6 @@ Players may use this in the audio selection list. - True - True 1 @@ -10061,6 +9593,7 @@ Players may use this in the audio selection list. True False 24 + True True @@ -10191,8 +9724,6 @@ DRC allows you to 'compress' the range by making loud sounds softer and soft sou True - False - True 0 @@ -10210,15 +9741,11 @@ DRC allows you to 'compress' the range by making loud sounds softer and soft sou - False - True 1 - False - True 0 @@ -10232,8 +9759,6 @@ DRC allows you to 'compress' the range by making loud sounds softer and soft sou - False - True 1 @@ -10264,8 +9789,6 @@ weather-clear - False - True 0 @@ -10279,15 +9802,11 @@ weather-clear 4 - False - True 1 - False - True 2 @@ -10354,8 +9873,6 @@ audio-volume-medium - False - True 0 @@ -10369,8 +9886,6 @@ audio-volume-medium 6 - False - True 1 @@ -10405,8 +9920,6 @@ DRC allows you to 'compress' the range by making loud sounds softer and soft sou - False - True 0 @@ -10420,8 +9933,6 @@ DRC allows you to 'compress' the range by making loud sounds softer and soft sou 4 - False - True 1 @@ -10435,8 +9946,6 @@ DRC allows you to 'compress' the range by making loud sounds softer and soft sou - True - True 2 @@ -10450,7 +9959,6 @@ DRC allows you to 'compress' the range by making loud sounds softer and soft sou hb_window False - 5 True center-on-parent dialog @@ -10474,8 +9982,6 @@ DRC allows you to 'compress' the range by making loud sounds softer and soft sou True - False - False 0 @@ -10487,15 +9993,11 @@ DRC allows you to 'compress' the range by making loud sounds softer and soft sou True - False - False 1 - False - True end 0 @@ -10505,18 +10007,25 @@ DRC allows you to 'compress' the range by making loud sounds softer and soft sou horizontal True False + True vertical True False +])dnl +ifelse(eval(gtk_version >= 400), 1, filter_output([ + + horizontal +]), filter_output([ + False +]))dnl +filter_output([ True False GDK_BUTTON_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_STRUCTURE_MASK - False - True True @@ -10528,8 +10037,6 @@ DRC allows you to 'compress' the range by making loud sounds softer and soft sou - False - True 0 @@ -10538,8 +10045,6 @@ DRC allows you to 'compress' the range by making loud sounds softer and soft sou - False - True 0 @@ -10548,6 +10053,7 @@ DRC allows you to 'compress' the range by making loud sounds softer and soft sou vertical True False + True True @@ -10561,8 +10067,6 @@ DRC allows you to 'compress' the range by making loud sounds softer and soft sou True - False - True 0 @@ -10578,8 +10082,6 @@ DRC allows you to 'compress' the range by making loud sounds softer and soft sou HandBrake xxx is now available (you have yyy). - False - True 1 @@ -10589,6 +10091,7 @@ DRC allows you to 'compress' the range by making loud sounds softer and soft sou False 0 etched-out + True 12 @@ -10610,22 +10113,16 @@ DRC allows you to 'compress' the range by making loud sounds softer and soft sou - True - True 2 - True - True 1 - True - True 1 diff --git a/gtk/src/ghbcellrenderertext.c b/gtk/src/ghbcellrenderertext.c index eba5e28c2..91709a65d 100644 --- a/gtk/src/ghbcellrenderertext.c +++ b/gtk/src/ghbcellrenderertext.c @@ -61,12 +61,21 @@ static void ghb_cell_renderer_text_get_size (GtkCellRenderer *cell, gint *y_offset, gint *width, gint *height); +#if GTK_CHECK_VERSION(3, 90, 0) +static void ghb_cell_renderer_text_snapshot (GtkCellRenderer *cell, + GtkSnapshot *snapshot, + GtkWidget *widget, + MyGdkRectangle *background_area, + MyGdkRectangle *cell_area, + GtkCellRendererState flags); +#else static void ghb_cell_renderer_text_render (GtkCellRenderer *cell, cairo_t *cr, GtkWidget *widget, MyGdkRectangle *background_area, MyGdkRectangle *cell_area, GtkCellRendererState flags); +#endif static GtkCellEditable *ghb_cell_renderer_text_start_editing (GtkCellRenderer *cell, GdkEvent *event, GtkWidget *widget, @@ -95,8 +104,8 @@ enum { /* Style args */ PROP_BACKGROUND, PROP_FOREGROUND, - PROP_BACKGROUND_GDK, - PROP_FOREGROUND_GDK, + PROP_BACKGROUND_RGBA, + PROP_FOREGROUND_RGBA, PROP_FONT, PROP_FONT_DESC, PROP_FAMILY, @@ -201,7 +210,11 @@ ghb_cell_renderer_text_class_init (GhbCellRendererTextClass *class) object_class->set_property = ghb_cell_renderer_text_set_property; cell_class->get_size = ghb_cell_renderer_text_get_size; +#if GTK_CHECK_VERSION(3, 90, 0) + cell_class->snapshot = ghb_cell_renderer_text_snapshot; +#else cell_class->render = ghb_cell_renderer_text_render; +#endif cell_class->start_editing = ghb_cell_renderer_text_start_editing; g_object_class_install_property (object_class, @@ -246,8 +259,8 @@ ghb_cell_renderer_text_class_init (GhbCellRendererTextClass *class) GTK_PARAM_WRITABLE)); g_object_class_install_property (object_class, - PROP_BACKGROUND_GDK, - g_param_spec_boxed ("background-gdk", + PROP_BACKGROUND_RGBA, + g_param_spec_boxed ("background-rgba", P_("Background color"), P_("Background color as a GdkColor"), GDK_TYPE_RGBA, @@ -262,8 +275,8 @@ ghb_cell_renderer_text_class_init (GhbCellRendererTextClass *class) GTK_PARAM_WRITABLE)); g_object_class_install_property (object_class, - PROP_FOREGROUND_GDK, - g_param_spec_boxed ("foreground-gdk", + PROP_FOREGROUND_RGBA, + g_param_spec_boxed ("foreground-rgba", P_("Foreground color"), P_("Foreground color as a GdkColor"), GDK_TYPE_RGBA, @@ -680,27 +693,15 @@ ghb_cell_renderer_text_get_property (GObject *object, g_value_set_boolean (value, priv->single_paragraph); break; - case PROP_BACKGROUND_GDK: + case PROP_BACKGROUND_RGBA: { - GdkColor color; - - color.red = celltext->background.red; - color.green = celltext->background.green; - color.blue = celltext->background.blue; - - g_value_set_boxed (value, &color); + g_value_set_boxed(value, &celltext->background); } break; - case PROP_FOREGROUND_GDK: + case PROP_FOREGROUND_RGBA: { - GdkColor color; - - color.red = celltext->foreground.red; - color.green = celltext->foreground.green; - color.blue = celltext->foreground.blue; - - g_value_set_boxed (value, &color); + g_value_set_boxed(value, &celltext->foreground); } break; @@ -859,9 +860,7 @@ set_bg_color (GhbCellRendererText *celltext, g_object_notify (G_OBJECT (celltext), "background-set"); } - celltext->background.red = rgba->red; - celltext->background.green = rgba->green; - celltext->background.blue = rgba->blue; + celltext->background = *rgba; } else { @@ -886,9 +885,7 @@ set_fg_color (GhbCellRendererText *celltext, g_object_notify (G_OBJECT (celltext), "foreground-set"); } - celltext->foreground.red = rgba->red; - celltext->foreground.green = rgba->green; - celltext->foreground.blue = rgba->blue; + celltext->foreground = *rgba; } else { @@ -1108,7 +1105,7 @@ ghb_cell_renderer_text_set_property (GObject *object, else g_warning ("Don't know color `%s'", g_value_get_string(value)); - g_object_notify (object, "background-gdk"); + g_object_notify (object, "background-rgba"); } break; @@ -1123,16 +1120,16 @@ ghb_cell_renderer_text_set_property (GObject *object, else g_warning ("Don't know color `%s'", g_value_get_string (value)); - g_object_notify (object, "foreground-gdk"); + g_object_notify (object, "foreground-rgba"); } break; - case PROP_BACKGROUND_GDK: + case PROP_BACKGROUND_RGBA: /* This notifies the GObject itself. */ set_bg_color (celltext, g_value_get_boxed (value)); break; - case PROP_FOREGROUND_GDK: + case PROP_FOREGROUND_RGBA: /* This notifies the GObject itself. */ set_fg_color (celltext, g_value_get_boxed (value)); break; @@ -1417,12 +1414,10 @@ get_layout (GhbCellRendererText *celltext, if (celltext->foreground_set && (flags & GTK_CELL_RENDERER_SELECTED) == 0) { - PangoColor color; - - color = celltext->foreground; - - add_attr (attr_list, - pango_attr_foreground_new (color.red, color.green, color.blue)); + add_attr(attr_list, + pango_attr_foreground_new(celltext->foreground.red, + celltext->foreground.green, + celltext->foreground.blue)); } if (celltext->strikethrough_set) @@ -1623,6 +1618,68 @@ ghb_cell_renderer_text_get_size (GtkCellRenderer *cell, x_offset, y_offset, width, height); } +#if GTK_CHECK_VERSION(3, 90, 0) +static void ghb_cell_renderer_text_snapshot( + GtkCellRenderer *cell, + GtkSnapshot *snapshot, + GtkWidget *widget, + MyGdkRectangle *background_area, + MyGdkRectangle *cell_area, + GtkCellRendererState flags) +{ + GhbCellRendererText * celltext = (GhbCellRendererText *) cell; + GhbCellRendererTextPrivate * priv; + GtkStyleContext * context; + PangoLayout * layout; + gint x_offset = 0; + gint y_offset = 0; + gint xpad, ypad; + PangoRectangle rect; + + priv = GHB_CELL_RENDERER_TEXT_GET_PRIVATE (cell); + + layout = get_layout (celltext, widget, TRUE, flags); + get_size(cell, widget, cell_area, layout, &x_offset, &y_offset, NULL, NULL); + context = gtk_widget_get_style_context(widget); + + if (celltext->background_set && (flags & GTK_CELL_RENDERER_SELECTED) == 0) + { + gtk_snapshot_append_color(snapshot, + &celltext->background, + &GRAPHENE_RECT_INIT( + background_area->x, background_area->y, + background_area->width, + background_area->height), + "CellTextBackground"); + } + + + gtk_cell_renderer_get_padding(cell, &xpad, &ypad); + + if (priv->ellipsize_set && priv->ellipsize != PANGO_ELLIPSIZE_NONE) + pango_layout_set_width(layout, + (cell_area->width - x_offset - 2 * xpad) * PANGO_SCALE); + else if (priv->wrap_width == -1) + pango_layout_set_width(layout, -1); + + pango_layout_get_pixel_extents (layout, NULL, &rect); + x_offset = x_offset - rect.x; + + gtk_snapshot_push_clip(snapshot, + &GRAPHENE_RECT_INIT( + cell_area->x, cell_area->y, + cell_area->width, cell_area->height), + "CellTextClip"); + + gtk_snapshot_render_layout(snapshot, context, + cell_area->x + x_offset + xpad, + cell_area->y + y_offset + ypad, layout); + + gtk_snapshot_pop(snapshot); + + g_object_unref(layout); +} +#else static void ghb_cell_renderer_text_render( GtkCellRenderer *cell, cairo_t *cr, @@ -1700,6 +1757,7 @@ static void ghb_cell_renderer_text_render( g_object_unref (layout); } +#endif static gboolean ghb_cell_renderer_text_keypress( @@ -1863,40 +1921,6 @@ ghb_cell_renderer_text_start_editing (GtkCellRenderer *cell, gtk_editable_select_region (GTK_EDITABLE (priv->entry), 0, -1); -#if 0 - GtkRequisition min_size, size; - - gtk_widget_get_preferred_size(priv->entry, &min_size, &size); - if (min_size.height > size.height) - size.height = min_size.height; - if (min_size.width > size.width) - size.width = min_size.width; - if (size.height < cell_area->height) - { - GtkBorder *style_border; - GtkBorder border; - - gtk_widget_style_get (priv->entry, - "inner-border", &style_border, - NULL); - - if (style_border) - { - border = *style_border; - g_boxed_free (GTK_TYPE_BORDER, style_border); - } - else - { - /* Since boxed style properties can't have default values ... */ - border.left = 2; - border.right = 2; - } - - border.top = (cell_area->height - size.height) / 2; - border.bottom = (cell_area->height - size.height) / 2; - gtk_entry_set_inner_border (GTK_ENTRY (priv->entry), &border); - } -#endif priv->in_entry_menu = FALSE; if (priv->entry_menu_popdown_timeout) { diff --git a/gtk/src/ghbcellrenderertext.h b/gtk/src/ghbcellrenderertext.h index 12914a827..c1a08d0a7 100644 --- a/gtk/src/ghbcellrenderertext.h +++ b/gtk/src/ghbcellrenderertext.h @@ -49,8 +49,8 @@ struct _GhbCellRendererText gchar *text; PangoFontDescription *font; gdouble font_scale; - PangoColor foreground; - PangoColor background; + GdkRGBA foreground; + GdkRGBA background; PangoAttrList *extra_attrs; diff --git a/gtk/src/ghbcompat.h b/gtk/src/ghbcompat.h index 22623bd0c..da3918ff5 100644 --- a/gtk/src/ghbcompat.h +++ b/gtk/src/ghbcompat.h @@ -28,6 +28,129 @@ #include #include +static inline void ghb_widget_get_preferred_width( + GtkWidget *widget, gint *min_width, gint * natural_width) +{ +#if GTK_CHECK_VERSION(3, 90, 0) + GtkRequisition min_req, nat_req; + + gtk_widget_get_preferred_size(widget, &min_req, &nat_req); + if (min_width != NULL) + { + *min_width = min_req.width; + } + if (natural_width != NULL) + { + *natural_width = nat_req.width; + } +#else + gtk_widget_get_preferred_width(widget, min_width, natural_width); +#endif +} + +static inline void ghb_widget_get_preferred_height( + GtkWidget *widget, gint *min_height, gint * natural_height) +{ +#if GTK_CHECK_VERSION(3, 90, 0) + GtkRequisition min_req, nat_req; + + gtk_widget_get_preferred_size(widget, &min_req, &nat_req); + if (min_height != NULL) + { + *min_height = min_req.height; + } + if (natural_height != NULL) + { + *natural_height = nat_req.height; + } +#else + gtk_widget_get_preferred_height(widget, min_height, natural_height); +#endif +} + +static inline void ghb_button_set_icon_name(GtkButton *button, + const char * name) +{ +#if GTK_CHECK_VERSION(3, 90, 0) + gtk_button_set_icon_name(button, name); +#else + GtkImage *image; + + image = GTK_IMAGE(gtk_image_new_from_icon_name(name, GTK_ICON_SIZE_BUTTON)); + gtk_button_set_image(button, GTK_WIDGET(image)); +#endif +} + +static inline void ghb_get_expand_fill(GtkBox * box, GtkWidget * child, + gboolean *expand, gboolean *fill) +{ + if (gtk_orientable_get_orientation(GTK_ORIENTABLE(box)) == + GTK_ORIENTATION_HORIZONTAL) + { + *expand = gtk_widget_get_hexpand(child); + *fill = gtk_widget_get_halign(child) == GTK_ALIGN_FILL; + } + else + { + *expand = gtk_widget_get_vexpand(child); + *fill = gtk_widget_get_valign(child) == GTK_ALIGN_FILL; + } +} + +static inline void ghb_box_pack_start(GtkBox * box, GtkWidget * child) +{ +#if GTK_CHECK_VERSION(3, 90, 0) + gtk_box_pack_start(box, child); +#else + gboolean expand, fill; + + ghb_get_expand_fill(box, child, &expand, &fill); + gtk_box_pack_start(box, child, expand, fill, 0); +#endif +} + +static inline void ghb_css_provider_load_from_data(GtkCssProvider *provider, + const gchar *data, + gssize length) +{ +#if GTK_CHECK_VERSION(3, 90, 0) + gtk_css_provider_load_from_data(provider, data, length); +#else + gtk_css_provider_load_from_data(provider, data, length, NULL); +#endif +} + +static inline GdkEventType ghb_event_get_event_type(const GdkEvent *event) +{ +#if GTK_CHECK_VERSION(3, 10, 0) + return gdk_event_get_event_type(event); +#else + return event->type; +#endif +} + +static inline gboolean ghb_event_get_keyval(const GdkEvent *event, + guint *keyval) +{ +#if GTK_CHECK_VERSION(3, 2, 0) + return gdk_event_get_keyval(event, keyval); +#else + *keyval = ((GdkEventKey*)event)->keyval; + return TRUE; +#endif +} + +static inline gboolean ghb_event_get_button(const GdkEvent *event, + guint *button) +{ +#if GTK_CHECK_VERSION(3, 2, 0) + return gdk_event_get_button(event, button); +#else + *keyval = ((GdkEventButton*)event)->button; + return TRUE; +#endif +} + static inline PangoFontDescription* ghb_widget_get_font(GtkWidget *widget) { PangoFontDescription *font = NULL; diff --git a/gtk/src/main.c b/gtk/src/main.c index 5341fcea3..47e03150e 100644 --- a/gtk/src/main.c +++ b/gtk/src/main.c @@ -795,9 +795,14 @@ const gchar *MyCSS = color: @white; \n\ } \n\ \n\ -entry \n\ +textview \n\ { \n\ - margin: 0px 0px 0px 0px; \n\ + padding: 5px 5px 5px 5px; \n\ +} \n\ + \n\ +.entry \n\ +{ \n\ + margin: 0px 5px 0px 5px; \n\ padding: 0px 0px 0px 0px; \n\ } \n\ " @@ -967,22 +972,13 @@ ghb_idle_ui_init(signal_user_data_t *ud) extern G_MODULE_EXPORT void ghb_activate_cb(GApplication * app, signal_user_data_t * ud) { - GError * error = NULL; GtkCssProvider * provider = gtk_css_provider_new(); - gtk_css_provider_load_from_data(provider, MyCSS, -1, &error); - if (error == NULL) - { - GdkScreen *ss = gdk_screen_get_default(); - gtk_style_context_add_provider_for_screen(ss, - GTK_STYLE_PROVIDER(provider), - GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); - } - else - { - g_warning("%s: %s", G_STRFUNC, error->message); - g_clear_error(&error); - } + ghb_css_provider_load_from_data(provider, MyCSS, -1); + GdkScreen *ss = gdk_screen_get_default(); + gtk_style_context_add_provider_for_screen(ss, + GTK_STYLE_PROVIDER(provider), + GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); g_object_unref(provider); #if !defined(_WIN32) @@ -1130,13 +1126,6 @@ ghb_activate_cb(GApplication * app, signal_user_data_t * ud) GtkWidget *ghb_window = GHB_WIDGET(ud->builder, "hb_window"); gint window_width, window_height; - GdkGeometry geo = { - -1, -1, 1920, 1080, -1, -1, 10, 10, 0, 0, GDK_GRAVITY_NORTH_WEST - }; - GdkWindowHints geo_mask; - geo_mask = GDK_HINT_MIN_SIZE | GDK_HINT_MAX_SIZE | GDK_HINT_BASE_SIZE; - gtk_window_set_geometry_hints(GTK_WINDOW(ghb_window), ghb_window, - &geo, geo_mask); window_width = ghb_dict_get_int(ud->prefs, "window_width"); window_height = ghb_dict_get_int(ud->prefs, "window_height"); diff --git a/gtk/src/preview.c b/gtk/src/preview.c index 35517fc1d..3a28aa4bd 100644 --- a/gtk/src/preview.c +++ b/gtk/src/preview.c @@ -123,6 +123,7 @@ preview_set_render_size(signal_user_data_t *ud, int width, int height) { GtkWidget * widget; GtkWindow * window; + GdkWindow * w; GdkGeometry geo; widget = GHB_WIDGET (ud->builder, "preview_image"); @@ -130,11 +131,15 @@ preview_set_render_size(signal_user_data_t *ud, int width, int height) window = GTK_WINDOW(GHB_WIDGET(ud->builder, "preview_window")); gtk_window_unmaximize(window); gtk_window_resize(window, width, height); - geo.min_aspect = (double)(width - 4) / height; - geo.max_aspect = (double)(width + 4) / height; - geo.width_inc = geo.height_inc = 2; - gtk_window_set_geometry_hints(window, NULL, &geo, - GDK_HINT_ASPECT|GDK_HINT_RESIZE_INC); + w = gtk_widget_get_window(GTK_WIDGET(window)); + if (w != NULL) + { + geo.min_aspect = (double)(width - 4) / height; + geo.max_aspect = (double)(width + 4) / height; + geo.width_inc = geo.height_inc = 2; + gdk_window_set_geometry_hints(w, &geo, + GDK_HINT_ASPECT|GDK_HINT_RESIZE_INC); + } ud->preview->render_width = width; ud->preview->render_height = height; @@ -1050,7 +1055,7 @@ preview_draw_cb( } G_MODULE_EXPORT void -preview_button_size_allocate_cb(GtkWidget *widget, GtkAllocation *allocation, signal_user_data_t *ud) +preview_button_size_allocate_cb(GtkWidget *widget, GdkRectangle *allocation, signal_user_data_t *ud) { g_debug("allocate %d x %d", allocation->width, allocation->height); if (ud->preview->button_width == allocation->width && @@ -1305,16 +1310,23 @@ preview_state_cb( GdkEvent *event, signal_user_data_t *ud) { - GdkEventWindowState * wse = (GdkEventWindowState*)event; - if (wse->type == GDK_WINDOW_STATE) + GdkEventType type = ghb_event_get_event_type(event); + if (type == GDK_WINDOW_STATE) { // Look for transition to iconified state. // Toggle "Show Preview" button when iconified. // I only do this because there seems to be no // way to reliably disable the iconfy button without // also disabling the maximize button. +#if GTK_CHECK_VERSION(3, 90, 0) + GdkWindow * window = gdk_event_get_window(event); + GdkWindowState state = gdk_window_get_state(window); + if (state & GDK_WINDOW_STATE_ICONIFIED) +#else + GdkEventWindowState * wse = (GdkEventWindowState*)event; if (wse->changed_mask & wse->new_window_state & GDK_WINDOW_STATE_ICONIFIED) +#endif { live_preview_stop(ud); GtkWidget *widget = GHB_WIDGET(ud->builder, "show_preview"); diff --git a/gtk/src/queuehandler.c b/gtk/src/queuehandler.c index 90530228c..df9816502 100644 --- a/gtk/src/queuehandler.c +++ b/gtk/src/queuehandler.c @@ -1793,7 +1793,7 @@ GtkWidget * title_create_row(signal_user_data_t *ud) gtk_widget_set_name(GTK_WIDGET(selected), "title_selected"); gtk_widget_show(GTK_WIDGET(selected)); g_signal_connect(selected, "toggled", (GCallback)title_selected_cb, ud); - gtk_box_pack_start(hbox, GTK_WIDGET(selected), FALSE, FALSE, 0); + ghb_box_pack_start(hbox, GTK_WIDGET(selected)); // Title label title = GTK_LABEL(gtk_label_new(_("No Title"))); @@ -1802,7 +1802,7 @@ GtkWidget * title_create_row(signal_user_data_t *ud) gtk_widget_set_valign(GTK_WIDGET(title), GTK_ALIGN_CENTER); gtk_widget_set_name(GTK_WIDGET(title), "title_label"); gtk_widget_show(GTK_WIDGET(title)); - gtk_box_pack_start(hbox, GTK_WIDGET(title), FALSE, FALSE, 0); + ghb_box_pack_start(hbox, GTK_WIDGET(title)); default_title_attrs = gtk_label_get_attributes(title); gtk_widget_set_tooltip_text(GTK_WIDGET(title), @@ -1813,6 +1813,8 @@ GtkWidget * title_create_row(signal_user_data_t *ud) // Destination entry and file chooser vbox_dest = GTK_BOX(gtk_box_new(GTK_ORIENTATION_VERTICAL, 0)); + gtk_widget_set_hexpand(GTK_WIDGET(vbox_dest), TRUE); + gtk_widget_set_halign(GTK_WIDGET(vbox_dest), GTK_ALIGN_FILL); //gtk_widget_set_hexpand(GTK_WIDGET(vbox_dest), TRUE); dest_file = GTK_ENTRY(gtk_entry_new()); gtk_entry_set_width_chars(dest_file, 40); @@ -1820,7 +1822,7 @@ GtkWidget * title_create_row(signal_user_data_t *ud) //gtk_widget_set_hexpand(GTK_WIDGET(dest_file), TRUE); gtk_widget_show(GTK_WIDGET(dest_file)); g_signal_connect(dest_file, "changed", (GCallback)title_dest_file_cb, ud); - gtk_box_pack_start(vbox_dest, GTK_WIDGET(dest_file), FALSE, FALSE, 0); + ghb_box_pack_start(vbox_dest, GTK_WIDGET(dest_file)); dest_dir = GTK_FILE_CHOOSER_BUTTON( gtk_file_chooser_button_new(_("Destination Directory"), GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER)); @@ -1829,9 +1831,9 @@ GtkWidget * title_create_row(signal_user_data_t *ud) gtk_widget_set_name(GTK_WIDGET(dest_dir), "title_dir"); gtk_widget_set_hexpand(GTK_WIDGET(dest_dir), TRUE); gtk_widget_show(GTK_WIDGET(dest_dir)); - gtk_box_pack_start(vbox_dest, GTK_WIDGET(dest_dir), FALSE, FALSE, 0); + ghb_box_pack_start(vbox_dest, GTK_WIDGET(dest_dir)); gtk_widget_show(GTK_WIDGET(vbox_dest)); - gtk_box_pack_start(hbox, GTK_WIDGET(vbox_dest), TRUE, TRUE, 0); + ghb_box_pack_start(hbox, GTK_WIDGET(vbox_dest)); return GTK_WIDGET(hbox); } @@ -2517,7 +2519,7 @@ find_pid: G_MODULE_EXPORT gboolean queue_key_press_cb( GtkWidget *widget, - GdkEventKey *event, + GdkEvent *event, signal_user_data_t *ud) { GtkTreeView *treeview; @@ -2529,9 +2531,11 @@ queue_key_press_cb( gint unique_id; GhbValue *queueDict, *uiDict; gint status; + guint keyval; g_debug("queue_key_press_cb ()"); - if (event->keyval != GDK_KEY_Delete) + ghb_event_get_keyval(event, &keyval); + if (keyval != GDK_KEY_Delete) return FALSE; treeview = GTK_TREE_VIEW(GHB_WIDGET(ud->builder, "queue_list")); store = gtk_tree_view_get_model(treeview); diff --git a/gtk/src/settings.c b/gtk/src/settings.c index 48a19d19f..4f4383e3a 100644 --- a/gtk/src/settings.c +++ b/gtk/src/settings.c @@ -322,12 +322,14 @@ ghb_widget_value(GtkWidget *widget) else if (type == GTK_TYPE_RADIO_BUTTON) { gboolean bval; +#if !GTK_CHECK_VERSION(3, 90, 0) bval = gtk_toggle_button_get_inconsistent(GTK_TOGGLE_BUTTON(widget)); if (bval) { value = ghb_bool_value_new(FALSE); } else +#endif { bval = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)); value = ghb_bool_value_new(bval); diff --git a/gtk/src/settings.h b/gtk/src/settings.h index 6359d6a7a..38e2b1a40 100644 --- a/gtk/src/settings.h +++ b/gtk/src/settings.h @@ -74,7 +74,6 @@ typedef struct preview_t * preview; gchar * appcast; gint appcast_len; - GdkVisibilityState hb_visibility; int stderr_src_id; GtkApplication * app; } signal_user_data_t; -- 2.40.0