From 72128d1f9a8dbf3cc8614d4fc0e47a66cb8cff6f Mon Sep 17 00:00:00 2001 From: Krifa75 Date: Fri, 11 Nov 2022 18:30:17 +0100 Subject: properties: Modernise properties dialogue Use GtkListBox and other helpers to modernise and simplify the properties UI. This will eventually make it easier to port to GTK 4. Closes: #544 --- .../properties/bacon-video-widget-properties.c | 19 +- src/plugins/properties/properties.ui | 1473 +++++++++++--------- 2 files changed, 828 insertions(+), 664 deletions(-) diff --git a/src/plugins/properties/bacon-video-widget-properties.c b/src/plugins/properties/bacon-video-widget-properties.c index 00ee28baf..00a040855 100644 --- a/src/plugins/properties/bacon-video-widget-properties.c +++ b/src/plugins/properties/bacon-video-widget-properties.c @@ -77,6 +77,9 @@ bacon_video_widget_properties_set_label (BaconVideoWidgetProperties *props, item = GTK_LABEL (gtk_builder_get_object (props->xml, name)); g_return_if_fail (item != NULL); gtk_label_set_text (item, text); + + if (text == NULL || *text == '\0') + gtk_widget_hide(GTK_WIDGET (item)); } void @@ -95,19 +98,19 @@ bacon_video_widget_properties_reset (BaconVideoWidgetProperties *props) gtk_widget_set_sensitive (item, FALSE); /* Title */ - bacon_video_widget_properties_set_label (props, "title", C_("Title", "Unknown")); + bacon_video_widget_properties_set_label (props, "title", NULL); /* Artist */ - bacon_video_widget_properties_set_label (props, "artist", C_("Artist", "Unknown")); + bacon_video_widget_properties_set_label (props, "artist", NULL); /* Album */ - bacon_video_widget_properties_set_label (props, "album", C_("Album", "Unknown")); + bacon_video_widget_properties_set_label (props, "album", NULL); /* Year */ - bacon_video_widget_properties_set_label (props, "year", C_("Year", "Unknown")); + bacon_video_widget_properties_set_label (props, "year", NULL); /* Duration */ bacon_video_widget_properties_set_duration (props, 0); /* Comment */ bacon_video_widget_properties_set_label (props, "comment", ""); /* Container */ - bacon_video_widget_properties_set_label (props, "container", C_("Media container", "Unknown")); + bacon_video_widget_properties_set_label (props, "container", NULL); /* Dimensions */ bacon_video_widget_properties_set_label (props, "dimensions", C_("Dimensions", "N/A")); @@ -281,8 +284,8 @@ bacon_video_widget_properties_new (void) (BACON_TYPE_VIDEO_WIDGET_PROPERTIES, NULL)); props->xml = xml; - vbox = GTK_WIDGET (gtk_builder_get_object (props->xml, "vbox1")); - gtk_box_pack_start (GTK_BOX (props), vbox, FALSE, FALSE, 0); + vbox = GTK_WIDGET (gtk_builder_get_object (props->xml, "sw_properties")); + gtk_box_pack_start (GTK_BOX (props), vbox, TRUE, TRUE, 0); bacon_video_widget_properties_reset (props); @@ -293,7 +296,7 @@ bacon_video_widget_properties_new (void) g_object_unref (group); - gtk_widget_show_all (GTK_WIDGET (props)); + gtk_widget_show (GTK_WIDGET (vbox)); return GTK_WIDGET (props); } diff --git a/src/plugins/properties/properties.ui b/src/plugins/properties/properties.ui index eed91f9f8..9f52fb602 100644 --- a/src/plugins/properties/properties.ui +++ b/src/plugins/properties/properties.ui @@ -2,691 +2,852 @@ - - 375 - True - False - 12 - 6 - vertical - 18 + + true + true + 480 + never - + True - False - vertical - 6 + 18 + 18 + 18 + 18 - + True + 375 False - General - True - 0 - - - - - - False - True - 0 - - - - - True - False - 6 - 12 - - - True - False - 12 - Title: - True - 0 - - - - - - - - - 0 - 0 - - - - - True - False - 12 - Artist: - True - 0 - - - - - - - - - 0 - 1 - - - - - True - False - 12 - Duration: - True - 0 - - - - - - - - - 0 - 4 - - - - - True - False - 12 - Year: - True - 0 - - - - - - - - - 0 - 3 - - - - - True - False - 12 - Album: - True - 0 - - - - - - - - - 0 - 2 - - - - - True - True - Unknown - True - True - end - 0 - - - - - - 1 - 0 - - - - - True - True - Unknown - True - True - end - 0 - - - - - - 1 - 1 - - - - - True - True - Unknown - True - True - end - 0 - - - - - - 1 - 2 - - - - - True - True - Unknown - True - end - 0 - - - - - - 1 - 3 - - - - - True - True - 0 seconds - True - end - 0 - - - - - - 1 - 4 - - - - - True - False - 12 - Comment: - True - 0 - - - - - - - - - 0 - 5 - - - - - True - True - Unknown - True - True - end - 0 - - - - - - 1 - 5 - - - - - True - False - 12 - Container: - 0 - - - - - - 0 - 6 - - - - - True - False - Unknown - True - 0 - - - 1 - 6 - - - - - False - True - 1 - - - - - False - True - 0 - - - - - True - False - vertical - 6 - - - True - False - Video - True - 0 - - - - - - False - True - 0 - - - - - True - False - 6 - 12 - - - True - False - 12 - Dimensions: - True - 0 - - - - - - - - - 0 - 0 - - - - - True - False - 12 - Codec: - True - 0 - - - - - - - - - 0 - 1 - - - - - True - False - 12 - Framerate: - True - 0 - - - - - - - - - 0 - 2 - - - - - True - False - 12 - Bitrate: - True - 0 - - - - - - - - - 0 - 3 - - - - - True - True - 0 x 0 - True - end - 0 - - - - - - 1 - 0 - - - - - True - True - N/A - True - end - 0 - - - - - - 1 - 1 - - - - - True - True - 0 frames per second - True - end - 0 - - - - - - 1 - 2 - - - - - True - True - 0 kbps - True - end - 0 - - - - - - 1 - 3 - - - - - False - True - 1 - - - - - False - True - 1 - - - - - True - False - vertical - 6 - - - True - False - Audio - True - 0 - - - - - - False - True - 0 - - - - - True - False - 6 - 12 - - - True - False - 12 - Sample rate: - True - 0 - - - - - - - - - 0 - 2 - - + 18 + vertical - - True - True - 0 Hz - True - 0 - - - - - - 1 - 2 - - - - + True False - 12 - Bitrate: - True - 0 - - - - - - - - - 0 - 3 - - - - - True - True - 0 kbps - True - end - 0 - - - + vertical + 6 + + + True + False + General + True + 0 + + + + False + True + 0 + + + + + True + none + + + False + False + + + + True + vertical + 3 + start + center + + + True + Title + start + 0 + + + + + + + + + True + True + end + True + word-char + 3 + start + + + + + + + + + + + + True + False + False + + + + True + vertical + 3 + start + center + + + True + Artist + start + 0 + + + + + + + + + True + Unknown + True + end + True + word-char + 3 + start + + + + + + + + + + + + True + False + False + + + + True + vertical + 3 + start + center + + + True + Album + start + 0 + + + + + + + + + True + Unknown + True + end + True + word-char + 3 + start + + + + + + + + + + + + True + False + False + + + + True + vertical + 3 + start + center + + + True + Year + start + 0 + + + + + + + + + True + Unknown + True + end + True + word-char + 3 + start + + + + + + + + + + + + True + False + False + + + True + vertical + 3 + start + center + + + True + Duration + start + 0 + + + + + + + + + True + 0 seconds + True + end + True + word-char + 3 + start + + + + + + + + + + + + True + False + False + + + + True + vertical + 3 + start + center + + + True + Comment + start + 0 + + + + + + + + + True + Unknown + True + end + True + word-char + 3 + start + + + + + + + + + + + + True + False + False + + + + True + vertical + 3 + start + center + + + True + Container + start + 0 + + + + + + + + + True + Unknown + True + end + True + word-char + 3 + start + + + + + + + + + + + + + False + True + 1 + + - 1 - 3 + False + True + 0 - + True False - 12 - Codec: - True - 0 - - - - - - - - - 0 - 0 - - - - - True - True - N/A - True - end - 0 - - - + vertical + 6 + + + True + False + Video + True + 0 + + + + False + True + 0 + + + + + True + none + + + True + False + False + + + True + vertical + 3 + start + center + + + True + Dimensions + start + 0 + + + + + + + + + True + 0 x 0 + True + end + True + word-char + 3 + start + + + + + + + + + + + + True + False + False + + + True + vertical + 3 + start + center + + + True + Codec + start + 0 + + + + + + + + + True + N/A + True + end + True + word-char + 3 + start + + + + + + + + + + + + True + False + False + + + True + vertical + 3 + start + center + + + True + Framerate + start + 0 + + + + + + + + + True + 0 frames per second + True + end + True + word-char + 3 + start + + + + + + + + + + + + True + False + False + + + True + vertical + 3 + start + center + + + True + Bitrate + start + 0 + + + + + + + + + True + 0 kbps + True + end + True + word-char + 3 + start + + + + + + + + + + + + + False + True + 1 + + - 1 - 0 + False + True + 1 - + True False - 12 - Channels: - True - 0 - - - - - - - - - 0 - 1 - - - - - True - True - 0 Channels - True - 0 - - - + vertical + 6 + + + True + False + Audio + True + 0 + + + + False + True + 0 + + + + + True + none + + + True + False + False + + + True + vertical + 3 + start + center + + + True + Codec + start + 0 + + + + + + + + + True + N/A + True + end + True + word-char + 3 + start + + + + + + + + + + + + True + False + False + + + True + vertical + 3 + start + center + + + True + Channels + start + 0 + + + + + + + + + True + 0 Channels + True + end + True + word-char + 3 + start + + + + + + + + + + + + True + False + False + + + True + vertical + 3 + start + center + + + True + Sample rate + start + 0 + + + + + + + + + True + 0 Hz + True + end + True + word-char + 3 + start + + + + + + + + + + + + True + False + False + + + True + vertical + 3 + start + center + + + True + Bitrate + start + 0 + + + + + + + + + True + 0 kbps + True + end + True + word-char + 3 + start + + + + + + + + + + + + + False + True + 1 + + - 1 - 1 + False + True + 2 - - False - True - 1 - - - False - True - 2 - -- cgit v1.2.1