[Xfce4-commits] [apps/xfce4-terminal] 01/02: Convert 'Set Title' dialog to popover
noreply at xfce.org
noreply at xfce.org
Tue Jun 6 01:58:00 CEST 2017
This is an automated email from the git hooks/post-receive script.
f 2 4 0 4 p u s h e d a c o m m i t t o b r a n c h m a s t e r
in repository apps/xfce4-terminal.
commit 0587cfb72d16f5157e7f36f7a8e25d14599abb28
Author: Alexander Butenko <a.butenka at gmail.com>
Date: Mon Jun 5 19:56:48 2017 -0400
Convert 'Set Title' dialog to popover
Fixes https://bugzilla.xfce.org/show_bug.cgi?id=13522
Signed-off-by: Igor <f2404 at yandex.ru>
---
terminal/terminal-window.c | 60 ++++++++++++++--------------------------------
1 file changed, 18 insertions(+), 42 deletions(-)
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));
}
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the Xfce4-commits
mailing list