From f03b280dafe7912b7d51b34206286c9f0ba93a49 Mon Sep 17 00:00:00 2001 From: Alex Valavanis Date: Mon, 23 Apr 2012 15:45:33 +0100 Subject: Fix remaining Lucid build issues, hopefully (bzr r11285) --- src/widgets/toolbox.cpp | 40 ++++++++++++++++++++++------------------ 1 file changed, 22 insertions(+), 18 deletions(-) (limited to 'src/widgets/toolbox.cpp') diff --git a/src/widgets/toolbox.cpp b/src/widgets/toolbox.cpp index 58c7958ba..e1cbf8ff6 100644 --- a/src/widgets/toolbox.cpp +++ b/src/widgets/toolbox.cpp @@ -584,7 +584,7 @@ static void update_aux_toolbox(SPDesktop *desktop, SPEventContext *eventcontext, static void setup_commands_toolbox(GtkWidget *toolbox, SPDesktop *desktop); static void update_commands_toolbox(SPDesktop *desktop, SPEventContext *eventcontext, GtkWidget *toolbox); -static GtkWidget * sp_toolbox_button_new_from_verb_with_doubleclick( GtkWidget *t, Inkscape::IconSize size, SPButtonType type, +static GtkToolItem * sp_toolbox_button_item_new_from_verb_with_doubleclick( GtkWidget *t, Inkscape::IconSize size, SPButtonType type, Inkscape::Verb *verb, Inkscape::Verb *doubleclick_verb, Inkscape::UI::View::View *view); @@ -656,18 +656,19 @@ Gtk::Widget* VerbAction::create_tool_item_vfunc() // Gtk::Widget* widg = Gtk::Action::create_tool_item_vfunc(); Inkscape::IconSize toolboxSize = ToolboxFactory::prefToSize("/toolbox/tools/small"); GtkWidget* toolbox = 0; - GtkWidget *button = sp_toolbox_button_new_from_verb_with_doubleclick( toolbox, toolboxSize, - SP_BUTTON_TYPE_TOGGLE, - verb, - verb2, - view ); + GtkToolItem *button_toolitem = sp_toolbox_button_item_new_from_verb_with_doubleclick( toolbox, toolboxSize, + SP_BUTTON_TYPE_TOGGLE, + verb, + verb2, + view ); + + GtkWidget* button_widget = gtk_bin_get_child(GTK_BIN(button_toolitem)); + if ( active ) { - sp_button_toggle_set_down( SP_BUTTON(button), active); + sp_button_toggle_set_down( SP_BUTTON(button_widget), active); } - gtk_widget_show_all( button ); - Gtk::Widget* wrapped = Glib::wrap(button); - Gtk::ToolItem* holder = Gtk::manage(new Gtk::ToolItem()); - holder->add(*wrapped); + gtk_widget_show_all( button_widget ); + Gtk::ToolItem* holder = Glib::wrap(button_toolitem); // g_message("create_tool_item_vfunc() = %p for '%s'", holder, verb->get_id()); return holder; @@ -841,7 +842,7 @@ static void delete_prefspusher(GtkObject * /*obj*/, PrefPusher *watcher ) // ------------------------------------------------------ -GtkWidget * sp_toolbox_button_new_from_verb_with_doubleclick(GtkWidget *t, Inkscape::IconSize size, SPButtonType type, +GtkToolItem * sp_toolbox_button_item_new_from_verb_with_doubleclick(GtkWidget *t, Inkscape::IconSize size, SPButtonType type, Inkscape::Verb *verb, Inkscape::Verb *doubleclick_verb, Inkscape::UI::View::View *view) { @@ -861,24 +862,27 @@ GtkWidget * sp_toolbox_button_new_from_verb_with_doubleclick(GtkWidget *t, Inksc /* fixme: Implement sp_button_new_from_action */ GtkWidget *b = sp_button_new(size, type, action, doubleclick_action); gtk_widget_show(b); - + GtkToolItem *b_toolitem = gtk_tool_item_new(); + gtk_container_add(GTK_CONTAINER(b_toolitem), b); unsigned int shortcut = sp_shortcut_get_primary(verb); if (shortcut != GDK_KEY_VoidSymbol) { gchar *key = sp_shortcut_get_label(shortcut); gchar *tip = g_strdup_printf ("%s (%s)", action->tip, key); if ( t ) { - gtk_toolbar_append_widget( GTK_TOOLBAR(t), b, tip, 0 ); + gtk_toolbar_insert(GTK_TOOLBAR(t), b_toolitem, -1); + gtk_widget_set_tooltip_text(b, tip); } g_free(tip); g_free(key); } else { if ( t ) { - gtk_toolbar_append_widget( GTK_TOOLBAR(t), b, action->tip, 0 ); + gtk_toolbar_insert(GTK_TOOLBAR(t), b_toolitem, -1); + gtk_widget_set_tooltip_text(b, action->tip); } } - return b; + return b_toolitem; } @@ -2075,7 +2079,7 @@ void setup_tool_toolbox(GtkWidget *toolbox, SPDesktop *desktop) void update_tool_toolbox( SPDesktop *desktop, SPEventContext *eventcontext, GtkWidget * /*toolbox*/ ) { gchar const *const tname = ( eventcontext - ? gtk_type_name(GTK_OBJECT_TYPE(eventcontext)) + ? g_type_name(G_OBJECT_TYPE(eventcontext)) : NULL ); Glib::RefPtr mainActions = create_or_fetch_actions( desktop ); @@ -2178,7 +2182,7 @@ void setup_aux_toolbox(GtkWidget *toolbox, SPDesktop *desktop) void update_aux_toolbox(SPDesktop * /*desktop*/, SPEventContext *eventcontext, GtkWidget *toolbox) { gchar const *tname = ( eventcontext - ? gtk_type_name(GTK_OBJECT_TYPE(eventcontext)) + ? g_type_name(G_OBJECT_TYPE(eventcontext)) : NULL ); for (int i = 0 ; aux_toolboxes[i].type_name ; i++ ) { GtkWidget *sub_toolbox = GTK_WIDGET(g_object_get_data(G_OBJECT(toolbox), aux_toolboxes[i].data_name)); -- cgit v1.2.3