From c58ea4eae74dc8f58c96b802a64f5008f282dfe0 Mon Sep 17 00:00:00 2001 From: David Härdeman Date: Thu, 13 Aug 2015 23:23:41 +0200 Subject: Add hardware properties UI, make dialogs more consistent --- rcm-client-hardware-list.c | 50 +++++++++-- rcm-client.ui | 212 +++++++++++++++++++++++++++++++++++++++++---- 2 files changed, 239 insertions(+), 23 deletions(-) diff --git a/rcm-client-hardware-list.c b/rcm-client-hardware-list.c index 12d0052..cf61d42 100644 --- a/rcm-client-hardware-list.c +++ b/rcm-client-hardware-list.c @@ -46,14 +46,43 @@ void rcng_client_hardware_list_remove(GDBusObject *hw) } static void -on_hw_selected(GtkButton *button, - gpointer user_data) +edit_keymaps_cb(GtkButton *button, gpointer user_data) { GDBusObject *hw = user_data; rcng_client_receive_init_ui(hw); } +static void +hardware_properties_cb(GtkButton *button, gpointer user_data) +{ + RCDevice *object = user_data; + GtkWidget *dialog; + GtkLabel *dev; + GtkLabel *desc; + GtkLabel *driver; + GtkLabel *kernelmap; + + dialog = GTK_WIDGET(gtk_builder_get_object(global->builder, "hardware_properties")); + + dev = GTK_LABEL(gtk_builder_get_object(global->builder, "hardware_properties_dev_value")); + gtk_label_set_text(dev, rcdevice_get_sys_name(object)); + + desc = GTK_LABEL(gtk_builder_get_object(global->builder, "hardware_properties_desc_value")); + gtk_label_set_text(desc, rcdevice_get_description(object)); + + driver = GTK_LABEL(gtk_builder_get_object(global->builder, "hardware_properties_driver_value")); + gtk_label_set_text(driver, rcdevice_get_driver_name(object)); + + kernelmap = GTK_LABEL(gtk_builder_get_object(global->builder, "hardware_properties_kernelmap_value")); + gtk_label_set_text(kernelmap, rcdevice_get_kernel_keymap_name(object)); + + gtk_widget_show_all(dialog); + + gtk_dialog_run(GTK_DIALOG(dialog)); + + gtk_widget_hide(dialog); +} void rcng_client_hardware_list_add(GDBusObject *hw) { @@ -98,9 +127,12 @@ void rcng_client_hardware_list_add(GDBusObject *hw) gtk_widget_set_margin_bottom(box, 6); gtk_widget_set_margin_start(box, 12); gtk_widget_set_margin_end(box, 12); + icon = gtk_image_new_from_icon_name("input-dialpad-symbolic", GTK_ICON_SIZE_MENU); gtk_widget_set_valign(icon, GTK_ALIGN_CENTER); gtk_widget_set_halign(icon, GTK_ALIGN_START); + gtk_box_pack_start(GTK_BOX(box), icon, FALSE, FALSE, 0); + labeltxt = g_strdup_printf("%s: %s (%s)", rcdevice_get_sys_name(object), rcdevice_get_description(object), @@ -108,14 +140,20 @@ void rcng_client_hardware_list_add(GDBusObject *hw) label = gtk_label_new(labeltxt); g_free(labeltxt); gtk_widget_set_valign(label, GTK_ALIGN_CENTER); - //button = gtk_button_new_from_icon_name("emblem-system-symbolic", GTK_ICON_SIZE_MENU); + gtk_box_pack_start(GTK_BOX(box), label, FALSE, FALSE, 0); + + button = gtk_button_new_from_icon_name("emblem-system-symbolic", GTK_ICON_SIZE_MENU); + gtk_widget_set_valign(button, GTK_ALIGN_CENTER); + gtk_widget_set_halign(button, GTK_ALIGN_END); + g_signal_connect(button, "clicked", G_CALLBACK(hardware_properties_cb), object); + gtk_box_pack_end(GTK_BOX(box), button, FALSE, FALSE, 0); + button = gtk_button_new_from_icon_name("accessories-calculator-symbolic", GTK_ICON_SIZE_MENU); gtk_widget_set_valign(button, GTK_ALIGN_CENTER); gtk_widget_set_halign(button, GTK_ALIGN_END); - g_signal_connect(button, "clicked", G_CALLBACK(on_hw_selected), hw); - gtk_box_pack_start(GTK_BOX(box), icon, FALSE, FALSE, 0); - gtk_box_pack_start(GTK_BOX(box), label, FALSE, FALSE, 0); + g_signal_connect(button, "clicked", G_CALLBACK(edit_keymaps_cb), hw); gtk_box_pack_end(GTK_BOX(box), button, FALSE, FALSE, 0); + gtk_container_add(GTK_CONTAINER(row), box); gtk_widget_show_all(row); diff --git a/rcm-client.ui b/rcm-client.ui index 5a2495f..cd64a21 100644 --- a/rcm-client.ui +++ b/rcm-client.ui @@ -127,10 +127,10 @@ Currently connected receivers/transmitters False - 12 - 12 - 12 - 12 + 18 + 18 + 18 + 18 vertical 2 @@ -188,7 +188,7 @@ Currently connected receivers/transmitters True False 12 - 12 + 6 12 @@ -207,8 +207,9 @@ Currently connected receivers/transmitters True + False False - Keycode: + Keycode 1 @@ -219,8 +220,9 @@ Currently connected receivers/transmitters True + False False - Comment: + Comment 1 @@ -265,6 +267,177 @@ Currently connected receivers/transmitters edit_button_cancel + + False + Hardware Properties + True + True + normal + main_window + + + False + 18 + 18 + 18 + 18 + vertical + 2 + + + False + end + + + OK + True + True + True + + + True + True + 0 + + + + + False + False + 0 + + + + + True + False + 12 + 6 + 12 + + + True + False + 0 + 0 + input-dialpad + 6 + + + 0 + 0 + 4 + + + + + True + False + False + Device + 1 + + + 1 + 0 + + + + + True + False + False + Description + 1 + + + 1 + 1 + + + + + True + False + False + Driver + 1 + + + 1 + 2 + + + + + True + False + False + Kernel keymap + 1 + + + 1 + 3 + + + + + True + False + 0 + + + 2 + 0 + + + + + True + False + 0 + + + 2 + 1 + + + + + True + False + 0 + + + 2 + 2 + + + + + True + False + 0 + + + 2 + 3 + + + + + False + True + 1 + + + + + + hardware_properties_ok + + False Keymap Properties @@ -276,10 +449,10 @@ Currently connected receivers/transmitters False baseline - 12 - 12 - 12 - 12 + 18 + 18 + 18 + 18 vertical 2 @@ -324,7 +497,7 @@ Currently connected receivers/transmitters True False 12 - 12 + 6 12 @@ -343,8 +516,9 @@ Currently connected receivers/transmitters True + False False - ID: + ID 1 @@ -355,8 +529,9 @@ Currently connected receivers/transmitters True + False False - Name: + Name 1 @@ -367,8 +542,9 @@ Currently connected receivers/transmitters True + False False - Description: + Description 1 @@ -379,8 +555,9 @@ Currently connected receivers/transmitters True + False False - Width: + Width 1 @@ -391,8 +568,9 @@ Currently connected receivers/transmitters True + False False - Height: + Height 1 -- cgit v1.2.3