[Xfce4-commits] <midori:master> Make detached panels normal Hildon windows on Hildon
Christian Dywan
noreply at xfce.org
Fri Oct 30 22:46:01 CET 2009
Updating branch refs/heads/master
to 0f9865b56f97548eaadd53e42e05d2711cc4fee7 (commit)
from adea95e3f9121ceee6b3b4e9ffecf654830b0429 (commit)
commit 0f9865b56f97548eaadd53e42e05d2711cc4fee7
Author: Christian Dywan <christian at twotoasts.de>
Date: Fri Oct 30 21:00:58 2009 +0100
Make detached panels normal Hildon windows on Hildon
The window should not be hidden from the task launcher and not be
transient either. Further more the toolbar needs to go to the bottom.
Last but not least, we don't need the option button.
midori/midori-panel.c | 32 +++++++++++++++++++++++---------
1 files changed, 23 insertions(+), 9 deletions(-)
diff --git a/midori/midori-panel.c b/midori/midori-panel.c
index c77c9ec..4d92403 100644
--- a/midori/midori-panel.c
+++ b/midori/midori-panel.c
@@ -19,6 +19,12 @@
#include <glib/gi18n.h>
+#include "config.h"
+
+#ifdef HAVE_HILDON_2_2
+ #include <hildon/hildon.h>
+#endif
+
struct _MidoriPanel
{
GtkHBox parent_instance;
@@ -289,16 +295,21 @@ midori_panel_button_detach_clicked_cb (GtkWidget* toolbutton,
GtkWidget* scrolled = gtk_notebook_get_nth_page (
GTK_NOTEBOOK (panel->notebook), n);
GtkWidget* menuitem = g_object_get_data (G_OBJECT (scrolled), "panel-menuitem");
- GtkWidget* window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
GtkWidget* vbox = gtk_vbox_new (FALSE, 0);
- g_object_set_data (G_OBJECT (window), "scrolled", scrolled);
- gtk_window_set_title (GTK_WINDOW (window), title);
+ #if HAVE_HILDON
+ GtkWidget* window = hildon_window_new ();
+ hildon_program_add_window (hildon_program_get_instance (), HILDON_WINDOW (window));
+ #else
+ GtkWidget* window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_skip_taskbar_hint (GTK_WINDOW (window), TRUE);
gtk_window_set_default_size (GTK_WINDOW (window), 250, 400);
gtk_window_set_transient_for (GTK_WINDOW (window),
GTK_WINDOW (gtk_widget_get_toplevel (panel->notebook)));
+ #endif
gtk_widget_show (vbox);
gtk_container_add (GTK_CONTAINER (window), vbox);
+ g_object_set_data (G_OBJECT (window), "scrolled", scrolled);
+ gtk_window_set_title (GTK_WINDOW (window), title);
if (menuitem)
gtk_widget_hide (menuitem);
g_signal_handlers_disconnect_by_func (
@@ -307,7 +318,11 @@ midori_panel_button_detach_clicked_cb (GtkWidget* toolbutton,
gtk_container_remove (GTK_CONTAINER (panel->toolbar), GTK_WIDGET (toolitem));
g_object_ref (toolbar);
gtk_container_remove (GTK_CONTAINER (panel->toolbook), toolbar);
+ #if HAVE_HILDON
+ hildon_window_add_toolbar (HILDON_WINDOW (window), GTK_TOOLBAR (toolbar));
+ #else
gtk_box_pack_start (GTK_BOX (vbox), toolbar, FALSE, FALSE, 0);
+ #endif
g_object_unref (toolbar);
g_object_set_data (G_OBJECT (scrolled), "panel-toolbar", toolbar);
g_object_ref (scrolled);
@@ -462,9 +477,6 @@ midori_panel_set_property (GObject* object,
break;
case PROP_SHOW_TITLES:
panel->show_titles = g_value_get_boolean (value);
- #if HAVE_HILDON
- panel->show_titles = TRUE;
- #endif
gtk_toolbar_set_style (GTK_TOOLBAR (panel->toolbar),
panel->show_titles ? GTK_TOOLBAR_BOTH : GTK_TOOLBAR_ICONS);
break;
@@ -680,7 +692,6 @@ midori_panel_show_titles_toggled_cb (GtkWidget* menuitem,
{
g_object_set (panel, "show-titles", !panel->show_titles, NULL);
}
-#endif
static void
midori_panel_show_controls_toggled_cb (GtkWidget* menuitem,
@@ -701,7 +712,6 @@ midori_panel_options_clicked_cb (GtkToolItem* toolitem,
n = midori_panel_get_current_page (panel);
viewable = midori_panel_get_nth_page (panel, n);
menu = gtk_menu_new ();
- #if !HAVE_HILDON
menuitem = gtk_check_menu_item_new_with_mnemonic (_("Show panel _titles"));
gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (menuitem),
panel->show_titles);
@@ -709,7 +719,6 @@ midori_panel_options_clicked_cb (GtkToolItem* toolitem,
G_CALLBACK (midori_panel_show_titles_toggled_cb), panel);
gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem);
gtk_widget_show (menuitem);
- #endif
menuitem = gtk_check_menu_item_new_with_mnemonic (_("Show operating _controls"));
gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (menuitem),
panel->show_controls);
@@ -722,6 +731,7 @@ midori_panel_options_clicked_cb (GtkToolItem* toolitem,
katze_widget_popup (GTK_WIDGET (toolitem), GTK_MENU (menu),
NULL, SOKOKE_MENU_POSITION_LEFT);
}
+#endif
/**
* midori_panel_append_page:
@@ -749,7 +759,9 @@ midori_panel_append_page (MidoriPanel* panel,
GObjectClass* gobject_class;
GtkWidget* widget;
GtkWidget* toolbar;
+ #if !HAVE_HILDON
GtkToolItem* toolitem;
+ #endif
const gchar* label;
guint n;
@@ -780,12 +792,14 @@ midori_panel_append_page (MidoriPanel* panel,
gtk_container_add (GTK_CONTAINER (panel->notebook), scrolled);
toolbar = midori_viewable_get_toolbar (viewable);
+ #if !HAVE_HILDON
toolitem = gtk_tool_button_new_from_stock (GTK_STOCK_PROPERTIES);
gtk_tool_item_set_tooltip_text (toolitem, _("Options"));
g_signal_connect (toolitem, "clicked",
G_CALLBACK (midori_panel_options_clicked_cb), panel);
gtk_toolbar_insert (GTK_TOOLBAR (toolbar), toolitem, 0);
gtk_widget_show (GTK_WIDGET (toolitem));
+ #endif
gtk_widget_show (toolbar);
gtk_container_add (GTK_CONTAINER (panel->toolbook), toolbar);
g_signal_connect (viewable, "destroy",
More information about the Xfce4-commits
mailing list