From 2967fbd87cecaccdc6ddfe7b2995c2a652fc4dff Mon Sep 17 00:00:00 2001 From: John Stebbins Date: Tue, 17 Apr 2018 10:11:29 -0700 Subject: [PATCH] LinGui: Add activity window font size preference And make the default font size 8 Fixes https://github.com/HandBrake/HandBrake/issues/1285 --- gtk/src/callbacks.c | 48 +++++++++++++++++++++++++++ gtk/src/ghb.m4 | 59 ++++++++++++++++++++++++++++++++-- gtk/src/internal_defaults.json | 1 + gtk/src/main.c | 13 ++++---- 4 files changed, 112 insertions(+), 9 deletions(-) diff --git a/gtk/src/callbacks.c b/gtk/src/callbacks.c index 1ba0ac8ad..2830285d8 100644 --- a/gtk/src/callbacks.c +++ b/gtk/src/callbacks.c @@ -5010,6 +5010,54 @@ advanced_video_changed_cb(GtkWidget *widget, signal_user_data_t *ud) ghb_show_hide_advanced_video(ud); } +G_MODULE_EXPORT void +activity_font_changed_cb(GtkWidget *widget, signal_user_data_t *ud) +{ + + ghb_widget_to_setting(ud->prefs, widget); + const gchar *name = ghb_get_setting_key(widget); + ghb_pref_set(ud->prefs, name); + + int size = ghb_dict_get_int(ud->prefs, "ActivityFontSize"); + +#if GTK_CHECK_VERSION(3, 16, 0) + const gchar *css_template = + " \n\ + #activity_view \n\ + { \n\ + font-family: monospace; \n\ + font-size: %dpt; \n\ + font-weight: lighter; \n\ + } \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); + } + g_object_unref(provider); + g_free(css); +#else + const gchar * font_template = "monospace %d"; + char * font = g_strdup_printf(font_template, size); + PangoFontDescription * font_desc; + GtkTextView * textview; + + font_desc = pango_font_description_from_string(font); + textview = GTK_TEXT_VIEW(GHB_WIDGET(ud->builder, "activity_view")); + gtk_widget_override_font(GTK_WIDGET(textview), font_desc); + pango_font_description_free(font_desc); + g_free(font); +#endif +} + G_MODULE_EXPORT void pref_changed_cb(GtkWidget *widget, signal_user_data_t *ud) { diff --git a/gtk/src/ghb.m4 b/gtk/src/ghb.m4 index 586e732a6..3af5ba039 100644 --- a/gtk/src/ghb.m4 +++ b/gtk/src/ghb.m4 @@ -533,6 +533,12 @@ conjunction with the "Forced" option. 500 1000 + + 32 + 6 + 1 + 10 + hb_window False @@ -8134,6 +8140,53 @@ This file may be reloaded at a later time to edit your jobs and re-encode.1 + + + horizontal + True + False + 4 + 0 + + + 3 + True + 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 + + + + + True + False + start + Activity Window Font Size + + + True + True + 1 + + + + + 6 + 0 + 1 + 1 + + Hide Advanced Video Options Tab @@ -8148,7 +8201,7 @@ on the Video tab instead. - 6 + 7 0 1 1 @@ -8167,7 +8220,7 @@ Check this if you want the queue to clean itself up by deleting completed jobs.< - 7 + 8 0 1 1 @@ -8188,7 +8241,7 @@ Uncheck this if you want to allow changing each title's settings independently.< - 8 + 9 0 1 1 diff --git a/gtk/src/internal_defaults.json b/gtk/src/internal_defaults.json index 4057fd290..7f7528100 100644 --- a/gtk/src/internal_defaults.json +++ b/gtk/src/internal_defaults.json @@ -70,6 +70,7 @@ "x264FastDecode": false }, "Preferences": { + "ActivityFontSize": 8, "DiskFreeCheck": true, "DiskFreeLimit": 10000, "RemoveFinishedJobs": false, diff --git a/gtk/src/main.c b/gtk/src/main.c index 3ee755ac2..5341fcea3 100644 --- a/gtk/src/main.c +++ b/gtk/src/main.c @@ -815,7 +815,7 @@ stackswitcher button.text-button \n\ #activity_view \n\ { \n\ font-family: monospace; \n\ - font-size: 7pt; \n\ + font-size: 8pt; \n\ font-weight: lighter; \n\ } \n\ " @@ -967,15 +967,15 @@ 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 * css = gtk_css_provider_new(); + GError * error = NULL; + GtkCssProvider * provider = gtk_css_provider_new(); - error = NULL; - gtk_css_provider_load_from_data(css, MyCSS, -1, &error); + 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(css), + gtk_style_context_add_provider_for_screen(ss, + GTK_STYLE_PROVIDER(provider), GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); } else @@ -983,6 +983,7 @@ ghb_activate_cb(GApplication * app, signal_user_data_t * ud) g_warning("%s: %s", G_STRFUNC, error->message); g_clear_error(&error); } + g_object_unref(provider); #if !defined(_WIN32) notify_init("HandBrake"); -- 2.40.0