[Xfce4-commits] <midori:master> Use light window for Clear Private Data with Granite

Christian Dywan noreply at xfce.org
Wed Mar 27 19:14:01 CET 2013


Updating branch refs/heads/master
         to 53cc9986fe9abfc0a511dc22f656f6840cd8aea2 (commit)
       from 945861d4e98050501e38761fa65cd8b079ced859 (commit)

commit 53cc9986fe9abfc0a511dc22f656f6840cd8aea2
Author: Christian Dywan <christian at twotoasts.de>
Date:   Wed Mar 27 19:10:36 2013 +0100

    Use light window for Clear Private Data with Granite

 midori/midori-browser.c     |    9 ++++-----
 midori/midori-privatedata.c |   36 ++++++++++++++++++++++++++++--------
 2 files changed, 32 insertions(+), 13 deletions(-)

diff --git a/midori/midori-browser.c b/midori/midori-browser.c
index 96db253..60fdbb5 100644
--- a/midori/midori-browser.c
+++ b/midori/midori-browser.c
@@ -2631,9 +2631,9 @@ _action_print_activate (GtkAction*     action,
     /* FIXME: Blacklist/ custom contract doesn't work
     gchar* blacklisted_contracts[] = { "print", NULL }; */
     /* FIXME: granite: should return GtkWidget* like GTK+ */
-    GtkWidget* dialog = (GtkWidget*)granite_widgets_pop_over_new ();
-    GtkWidget* content_area = gtk_dialog_get_content_area (GTK_DIALOG (dialog));
+    GtkWidget* dialog = (GtkWidget*)granite_widgets_light_window_new (_("Share this page"));
     /* FIXME: granite: should return GtkWidget* like GTK+ */
+    GtkWidget* content_area = (GtkWidget*)granite_widgets_decorated_window_get_box (GRANITE_WIDGETS_DECORATED_WINDOW (dialog));
     gchar* filename = midori_view_save_source (MIDORI_VIEW (view), NULL, NULL);
     const gchar* mime_type = katze_item_get_meta_string (
         midori_view_get_proxy_item (MIDORI_VIEW (view)), "mime-type");
@@ -2648,9 +2648,8 @@ _action_print_activate (GtkAction*     action,
     gtk_container_add (GTK_CONTAINER (content_area), contractor);
     gtk_widget_show (contractor);
     gtk_widget_show (dialog);
-    if (gtk_widget_get_visible (browser->navigationbar))
-        granite_widgets_pop_over_move_to_widget (
-            GRANITE_WIDGETS_POP_OVER (dialog), browser->navigationbar, TRUE);
+    /* FIXME: granite: "box" isn't visible by default */
+    gtk_widget_show_all (dialog);
     #else
     midori_view_print (MIDORI_VIEW (view));
     #endif
diff --git a/midori/midori-privatedata.c b/midori/midori-privatedata.c
index b323ae4..35aca15 100644
--- a/midori/midori-privatedata.c
+++ b/midori/midori-privatedata.c
@@ -28,10 +28,18 @@
 #endif
 
 static void
+#ifdef HAVE_GRANITE
+midori_private_data_dialog_response_cb (GtkWidget*    button,
+#else
 midori_private_data_dialog_response_cb (GtkWidget*     dialog,
                                         gint           response_id,
+#endif
                                         MidoriBrowser* browser)
 {
+    #ifdef HAVE_GRANITE
+    GtkWidget* dialog = gtk_widget_get_toplevel (button);
+    gint response_id = GTK_RESPONSE_ACCEPT;
+    #endif
     if (response_id == GTK_RESPONSE_ACCEPT)
     {
         GtkToggleButton* button;
@@ -116,16 +124,32 @@ midori_private_data_get_dialog (MidoriBrowser* browser)
     gint clear_prefs = MIDORI_CLEAR_NONE;
     g_object_get (settings, "clear-private-data", &clear_prefs, NULL);
 
+    #ifdef HAVE_GRANITE
+    /* FIXME: granite: should return GtkWidget* like GTK+ */
+    dialog = (GtkWidget*)granite_widgets_light_window_new (_("Clear Private Data"));
+    /* FIXME: granite: should return GtkWidget* like GTK+ */
+    content_area = (GtkWidget*)granite_widgets_decorated_window_get_box (GRANITE_WIDGETS_DECORATED_WINDOW (dialog));
+    hbox = gtk_hbox_new (FALSE, 4);
+    gtk_box_pack_end (GTK_BOX (content_area), hbox, FALSE, FALSE, 4);
+    button = gtk_button_new_with_mnemonic (_("_Clear private data"));
+    gtk_box_pack_end (GTK_BOX (hbox), button, FALSE, FALSE, 4);
+    g_signal_connect (button, "clicked",
+        G_CALLBACK (midori_private_data_dialog_response_cb), browser);
+    #else
     /* i18n: Dialog: Clear Private Data, in the Tools menu */
     dialog = gtk_dialog_new_with_buttons (_("Clear Private Data"),
         GTK_WINDOW (browser),
         GTK_DIALOG_DESTROY_WITH_PARENT | GTK_DIALOG_NO_SEPARATOR,
         GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
         _("_Clear private data"), GTK_RESPONSE_ACCEPT, NULL);
-    katze_widget_add_class (gtk_dialog_get_widget_for_response (
-        GTK_DIALOG (dialog), GTK_RESPONSE_ACCEPT), "noundo");
+    button = gtk_dialog_get_widget_for_response (GTK_DIALOG (dialog), GTK_RESPONSE_ACCEPT);
     content_area = gtk_dialog_get_content_area (GTK_DIALOG (dialog));
     gtk_window_set_skip_taskbar_hint (GTK_WINDOW (dialog), FALSE);
+    g_signal_connect (dialog, "response",
+        G_CALLBACK (midori_private_data_dialog_response_cb), browser);
+    gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_ACCEPT);
+    #endif
+    katze_widget_add_class (button, "noundo");
     screen = gtk_widget_get_screen (GTK_WIDGET (browser));
     if (screen)
         gtk_window_set_icon_name (GTK_WINDOW (dialog), GTK_STOCK_CLEAR);
@@ -168,8 +192,8 @@ midori_private_data_get_dialog (MidoriBrowser* browser)
     }
     g_free (clear_data);
     gtk_container_add (GTK_CONTAINER (alignment), vbox);
-    gtk_box_pack_start (GTK_BOX (hbox), alignment, TRUE, TRUE, 0);
-    gtk_box_pack_start (GTK_BOX (content_area), hbox, FALSE, FALSE, 0);
+    gtk_box_pack_start (GTK_BOX (hbox), alignment, TRUE, TRUE, 4);
+    gtk_box_pack_start (GTK_BOX (content_area), hbox, FALSE, FALSE, 8);
     button = gtk_check_button_new_with_mnemonic (_("Clear private data when _quitting Midori"));
     if ((clear_prefs & MIDORI_CLEAR_ON_QUIT) == MIDORI_CLEAR_ON_QUIT)
         gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), TRUE);
@@ -180,10 +204,6 @@ midori_private_data_get_dialog (MidoriBrowser* browser)
     gtk_container_add (GTK_CONTAINER (alignment), button);
     gtk_box_pack_start (GTK_BOX (content_area), alignment, FALSE, FALSE, 0);
     gtk_widget_show_all (content_area);
-
-    g_signal_connect (dialog, "response",
-        G_CALLBACK (midori_private_data_dialog_response_cb), browser);
-    gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_ACCEPT);
     return dialog;
 }
 


More information about the Xfce4-commits mailing list