diff --git a/terminal/terminal-window.c b/terminal/terminal-window.c index 003c11e..9344234 100644 --- a/terminal/terminal-window.c +++ b/terminal/terminal-window.c @@ -1885,23 +1885,6 @@ title_dialog_close (GtkWidget *dialog, static void -title_dialog_response (GtkWidget *dialog, - gint response, - TerminalWindow *window) -{ - /* check if we should open the user manual */ - if (response == GTK_RESPONSE_HELP) - { - /* open the "Set Title" paragraph in the "Usage" section */ - xfce_dialog_show_help (GTK_WINDOW (dialog), "terminal", "usage#to_change_the_terminal_title", NULL); - } - else - title_dialog_close (dialog, window); -} - - - -static void title_dialog_clear (GtkWidget *entry, GtkEntryIconPosition icon_pos) { @@ -1925,27 +1908,20 @@ terminal_window_action_set_title (GtkAction *action, if (window->priv->title_dialog == NULL) { - window->priv->title_dialog = - gtk_dialog_new_with_buttons (Q_("Window Title|Set Title"), - GTK_WINDOW (window), - GTK_DIALOG_DESTROY_WITH_PARENT, - NULL, - NULL); - - /* set window height to minimum to fix huge size under wayland */ - gtk_window_set_default_size (GTK_WINDOW (window->priv->title_dialog), -1, 1); - - button = xfce_gtk_button_new_mixed ("help-browser", _("_Help")); - gtk_dialog_add_action_widget (GTK_DIALOG (window->priv->title_dialog), button, GTK_RESPONSE_HELP); - button = xfce_gtk_button_new_mixed ("window-close", _("_Close")); - gtk_widget_set_can_default (button, TRUE); - gtk_dialog_add_action_widget (GTK_DIALOG (window->priv->title_dialog), button, GTK_RESPONSE_CLOSE); - gtk_dialog_set_default_response (GTK_DIALOG (window->priv->title_dialog), GTK_RESPONSE_CLOSE); - + if (gtk_notebook_get_show_tabs (GTK_NOTEBOOK(window->priv->notebook))) + { + window->priv->title_dialog = + gtk_popover_new (gtk_notebook_get_tab_label (GTK_NOTEBOOK (window->priv->notebook), + GTK_WIDGET (window->priv->active))); + } + else + { + window->priv->title_dialog = gtk_popover_new (GTK_WIDGET (window->priv->menubar)); + gtk_popover_set_position (GTK_POPOVER(window->priv->title_dialog), GTK_POS_BOTTOM); + } box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12); gtk_container_set_border_width (GTK_CONTAINER (box), 6); - gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (window->priv->title_dialog))), - box, TRUE, TRUE, 0); + gtk_container_add (GTK_CONTAINER (window->priv->title_dialog), box); label = gtk_label_new_with_mnemonic (_("_Title:")); gtk_box_pack_start (GTK_BOX (box), label, FALSE, TRUE, 0); @@ -1956,6 +1932,7 @@ terminal_window_action_set_title (GtkAction *action, gtk_label_set_mnemonic_widget (GTK_LABEL (label), entry); gtk_entry_set_icon_from_icon_name (GTK_ENTRY (entry), GTK_ENTRY_ICON_SECONDARY, "edit-clear"); g_signal_connect (G_OBJECT (entry), "icon-release", G_CALLBACK (title_dialog_clear), NULL); + g_signal_connect (G_OBJECT (entry), "activate", G_CALLBACK (title_dialog_close), window); /* set Atk description and label relation for the entry */ object = gtk_widget_get_accessible (entry); @@ -1965,11 +1942,11 @@ terminal_window_action_set_title (GtkAction *action, G_OBJECT (entry), "text", G_BINDING_BIDIRECTIONAL | G_BINDING_SYNC_CREATE); - g_signal_connect (G_OBJECT (window->priv->title_dialog), "response", - G_CALLBACK (title_dialog_response), window); - g_signal_connect (G_OBJECT (window->priv->title_dialog), "close", - G_CALLBACK (title_dialog_close), window); - g_signal_connect (G_OBJECT (window->priv->active), "destroy", + button = gtk_button_new_with_label (_("Done")); + g_signal_connect (G_OBJECT (button), "clicked", G_CALLBACK (title_dialog_close), window); + gtk_box_pack_start (GTK_BOX (box), button, TRUE, TRUE, 0); + + g_signal_connect (G_OBJECT (window->priv->title_dialog), "closed", G_CALLBACK (title_dialog_close), window); } @@ -1977,7 +1954,6 @@ terminal_window_action_set_title (GtkAction *action, window->priv->n_child_windows++; gtk_widget_show_all (window->priv->title_dialog); - gtk_window_present (GTK_WINDOW (window->priv->title_dialog)); }