Code

r11516@tres: ted | 2006-04-26 21:30:18 -0700
[inkscape.git] / src / interface.cpp
index 212a7b9a0b11f1a79706dde6a25d4c9b4c4a7d23..1c7baf413e75f39e1d59cf663c8c0cdcb106c9c3 100644 (file)
@@ -33,7 +33,7 @@
 #include "file.h"
 #include "interface.h"
 #include "desktop.h"
-#include "object-ui.h"
+#include "ui/context-menu.h"
 #include "selection.h"
 #include "selection-chemistry.h"
 #include "svg-view-widget.h"
@@ -336,7 +336,7 @@ sp_ui_menuitem_add_icon( GtkWidget *item, gchar *icon_name )
 {
     GtkWidget *icon;
 
-    icon = sp_icon_new( GTK_ICON_SIZE_MENU, icon_name );
+    icon = sp_icon_new( Inkscape::ICON_SIZE_MENU, icon_name );
     gtk_widget_show(icon);
     gtk_image_menu_item_set_image((GtkImageMenuItem *) item, icon);
 } // end of sp_ui_menu_add_icon
@@ -895,7 +895,7 @@ static void leave_group(GtkMenuItem *, SPDesktop *desktop) {
 
 static void enter_group(GtkMenuItem *mi, SPDesktop *desktop) {
     desktop->setCurrentLayer(reinterpret_cast<SPObject *>(g_object_get_data(G_OBJECT(mi), "group")));
-    SP_DT_SELECTION(desktop)->clear();
+    sp_desktop_selection(desktop)->clear();
 }
 
 GtkWidget *
@@ -1008,10 +1008,7 @@ sp_ui_drag_data_received(GtkWidget *widget,
                                             //0x0ff & (data->data[3] >> 8),
                                             ));
                     SPCSSAttr *css = sp_repr_css_attr_new();
-                    sp_repr_css_set_property( css, (drag_context->action != GDK_ACTION_MOVE) ? "fill":"stroke", c );
-
-                    sp_desktop_apply_css_recursive( item, css, true );
-                    item->updateRepr();
+                    bool updatePerformed = false;
 
                     if ( data->length > 14 ) {
                         int flags = dataVals[4];
@@ -1035,9 +1032,19 @@ sp_ui_drag_data_received(GtkWidget *widget,
                                                     palName.c_str(),
                                                     false );
                             item->updateRepr();
+
+                            sp_repr_css_set_property( css, (drag_context->action != GDK_ACTION_MOVE) ? "fill":"stroke", c );
+                            updatePerformed = true;
                         }
                     }
 
+                    if ( !updatePerformed ) {
+                        sp_repr_css_set_property( css, (drag_context->action != GDK_ACTION_MOVE) ? "fill":"stroke", c );
+                    }
+
+                    sp_desktop_apply_css_recursive( item, css, true );
+                    item->updateRepr();
+
                     SPDocument *doc = SP_ACTIVE_DOCUMENT;
                     sp_document_done( doc );
 
@@ -1119,14 +1126,14 @@ sp_ui_drag_data_received(GtkWidget *widget,
             SPObject *new_obj = NULL;
             new_obj = desktop->currentLayer()->appendChildRepr(newgroup);
 
-            Inkscape::Selection *selection = SP_DT_SELECTION(desktop);
+            Inkscape::Selection *selection = sp_desktop_selection(desktop);
             selection->set(SP_ITEM(new_obj));
             // To move the imported object, we must temporarily set the "transform pattern with
             // object" option.
             {
                 int const saved_pref = prefs_get_int_attribute("options.transform", "pattern", 1);
                 prefs_set_int_attribute("options.transform", "pattern", 1);
-                sp_document_ensure_up_to_date(SP_DT_DOCUMENT(desktop));
+                sp_document_ensure_up_to_date(sp_desktop_document(desktop));
                 NR::Point m( desktop->point() - selection->bounds().midpoint() );
                 sp_selection_move_relative(selection, m);
                 prefs_set_int_attribute("options.transform", "pattern", saved_pref);
@@ -1273,7 +1280,10 @@ sp_ui_overwrite_file(gchar const *filename)
         gtk_window_set_resizable(GTK_WINDOW(dialog), FALSE);
 
         hbox = gtk_hbox_new(FALSE, 5);
+
+        // TODO - replace with Inkscape-specific call
         boxdata = gtk_image_new_from_stock(GTK_STOCK_DIALOG_QUESTION, GTK_ICON_SIZE_DIALOG);
+
         gtk_widget_show(boxdata);
         gtk_box_pack_start(GTK_BOX(hbox), boxdata, TRUE, TRUE, 5);
         text = g_strdup_printf(_("The file %s already exists.  Do you want to overwrite that file with the current document?"), filename);