Here we moved the connect button to the header bar. Unfortunately, I could not find a "connect-symbolic" icon to be used here, so I ended up with the stock icon. Signed-off-by: Eduardo Lima (Etrunko) <etrunko@xxxxxxxxxx> --- src/resources/ui/virt-viewer-vm-connection.ui | 83 +++++++++------------------ src/virt-viewer-vm-connection.c | 15 ++++- 2 files changed, 40 insertions(+), 58 deletions(-) diff --git a/src/resources/ui/virt-viewer-vm-connection.ui b/src/resources/ui/virt-viewer-vm-connection.ui index f190c92..cb58701 100644 --- a/src/resources/ui/virt-viewer-vm-connection.ui +++ b/src/resources/ui/virt-viewer-vm-connection.ui @@ -1,6 +1,32 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Generated with glade 3.16.1 --> +<!-- Generated with glade 3.20.0 --> <interface> + <requires lib="gtk+" version="3.12"/> + <object class="GtkImage" id="image1"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="stock">gtk-connect</property> + </object> + <object class="GtkHeaderBar" id="headerbar"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="title">Choose a virtual machine</property> + <property name="show_close_button">True</property> + <property name="decoration_layout">menu:close</property> + <child> + <object class="GtkButton" id="button-connect"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="tooltip_text" translatable="yes">Connect</property> + <property name="image">image1</property> + <property name="always_show_image">True</property> + </object> + <packing> + <property name="pack_type">end</property> + </packing> + </child> + </object> <object class="GtkDialog" id="vm-connection-dialog"> <property name="can_focus">False</property> <property name="border_width">5</property> @@ -19,36 +45,6 @@ <object class="GtkButtonBox" id="dialog-action_area1"> <property name="can_focus">False</property> <property name="layout_style">end</property> - <child> - <object class="GtkButton" id="button-cancel"> - <property name="label" translatable="yes">_Cancel</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">True</property> - <property name="use_underline">True</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">0</property> - </packing> - </child> - <child> - <object class="GtkButton" id="button-connect"> - <property name="label" translatable="yes">C_onnect</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="can_default">True</property> - <property name="has_default">True</property> - <property name="receives_default">True</property> - <property name="use_underline">True</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">1</property> - </packing> - </child> </object> <packing> <property name="expand">False</property> @@ -86,32 +82,7 @@ <property name="position">1</property> </packing> </child> - <child> - <object class="GtkLabel" id="label"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="xalign">0</property> - <property name="yalign">0</property> - <property name="xpad">4</property> - <property name="label" translatable="yes">Available virtual machines</property> - <property name="ellipsize">end</property> - <property name="width_chars">26</property> - <attributes> - <attribute name="weight" value="bold"/> - </attributes> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="pack_type">end</property> - <property name="position">2</property> - </packing> - </child> </object> </child> - <action-widgets> - <action-widget response="-6">button-cancel</action-widget> - <action-widget response="-3">button-connect</action-widget> - </action-widgets> </object> </interface> diff --git a/src/virt-viewer-vm-connection.c b/src/virt-viewer-vm-connection.c index ebaa92b..0363b84 100644 --- a/src/virt-viewer-vm-connection.c +++ b/src/virt-viewer-vm-connection.c @@ -32,7 +32,7 @@ treeview_row_activated_cb(GtkTreeView *treeview G_GNUC_UNUSED, GtkTreeViewColumn *col G_GNUC_UNUSED, gpointer userdata) { - gtk_widget_activate(GTK_WIDGET(userdata)); + gtk_button_clicked(GTK_BUTTON(userdata)); } static void @@ -42,13 +42,20 @@ treeselection_changed_cb(GtkTreeSelection *selection, gpointer userdata) gtk_tree_selection_count_selected_rows(selection) == 1); } +static void +button_connect_clicked_cb(GtkButton *button G_GNUC_UNUSED, + GtkDialog *dialog) +{ + gtk_dialog_response(dialog, GTK_RESPONSE_ACCEPT); +} + gchar* virt_viewer_vm_connection_choose_name_dialog(GtkWindow *main_window, GtkTreeModel *model, GError **error) { GtkBuilder *vm_connection; - GtkWidget *dialog; + GtkWidget *dialog, *headerbar; GtkButton *button_connect; GtkTreeView *treeview; GtkTreeSelection *selection; @@ -69,12 +76,16 @@ virt_viewer_vm_connection_choose_name_dialog(GtkWindow *main_window, g_return_val_if_fail(vm_connection != NULL, NULL); dialog = GTK_WIDGET(gtk_builder_get_object(vm_connection, "vm-connection-dialog")); + headerbar = GTK_WIDGET(gtk_builder_get_object(vm_connection, "headerbar")); + gtk_window_set_titlebar(GTK_WINDOW(dialog), headerbar); gtk_window_set_transient_for(GTK_WINDOW(dialog), main_window); button_connect = GTK_BUTTON(gtk_builder_get_object(vm_connection, "button-connect")); treeview = GTK_TREE_VIEW(gtk_builder_get_object(vm_connection, "treeview")); selection = GTK_TREE_SELECTION(gtk_builder_get_object(vm_connection, "treeview-selection")); gtk_tree_view_set_model(treeview, model); + g_signal_connect(button_connect, "clicked", + G_CALLBACK(button_connect_clicked_cb), dialog); g_signal_connect(treeview, "row-activated", G_CALLBACK(treeview_row_activated_cb), button_connect); g_signal_connect(selection, "changed", -- 2.9.3 _______________________________________________ virt-tools-list mailing list virt-tools-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/virt-tools-list