index 49e72bc2182f80b041ed8baf85a4145019ffcb4a..44a2e87f824d2015977bb26d505cb7cc57721918 100644 (file)
@@ -76,28 +76,28 @@ gr_apply_gradient_to_item (SPItem *item, SPGradient *gr, SPGradientType new_type
SPStyle *style = SP_OBJECT_STYLE (item);
if (do_fill) {
- if (style && (style->fill.type == SP_PAINT_TYPE_PAINTSERVER) &&
+ if (style && (style->fill.isPaintserver()) &&
SP_IS_GRADIENT (SP_OBJECT_STYLE_FILL_SERVER (item))) {
SPObject *server = SP_OBJECT_STYLE_FILL_SERVER (item);
if (SP_IS_LINEARGRADIENT (server)) {
sp_item_set_gradient(item, gr, SP_GRADIENT_TYPE_LINEAR, true);
} else if (SP_IS_RADIALGRADIENT (server)) {
sp_item_set_gradient(item, gr, SP_GRADIENT_TYPE_RADIAL, true);
- }
+ }
} else if (new_fill) {
sp_item_set_gradient(item, gr, new_type, true);
}
- }
+ }
if (do_stroke) {
- if (style && (style->stroke.type == SP_PAINT_TYPE_PAINTSERVER) &&
+ if (style && (style->stroke.isPaintserver()) &&
SP_IS_GRADIENT (SP_OBJECT_STYLE_STROKE_SERVER (item))) {
SPObject *server = SP_OBJECT_STYLE_STROKE_SERVER (item);
if (SP_IS_LINEARGRADIENT (server)) {
sp_item_set_gradient(item, gr, SP_GRADIENT_TYPE_LINEAR, false);
} else if (SP_IS_RADIALGRADIENT (server)) {
sp_item_set_gradient(item, gr, SP_GRADIENT_TYPE_RADIAL, false);
- }
+ }
} else if (!new_fill) {
sp_item_set_gradient(item, gr, new_type, false);
}
@@ -118,7 +118,7 @@ gr_apply_gradient (Inkscape::Selection *selection, GrDrag *drag, SPGradient *gr)
// GRADIENTFIXME: make this work for multiple selected draggers.
-
+
// First try selected dragger
if (drag && drag->selected) {
GrDragger *dragger = (GrDragger*) drag->selected->data;
gr_prepare_label (SPObject *obj)
{
const gchar *id = obj->defaultLabel();
- if (strlen(id) > 15 && (!strncmp (id, "#linearGradient", 15) || !strncmp (id, "#radialGradient", 15)))
+ if (strlen(id) > 15 && (!strncmp (id, "#linearGradient", 15) || !strncmp (id, "#radialGradient", 15)))
return g_strdup_printf ("<small>#%s</small>", id+15);
return g_strdup_printf ("<small>%s</small>", id);
}
@@ -170,11 +170,11 @@ gr_vector_list (SPDesktop *desktop, bool selection_empty, SPGradient *gr_selecte
GSList *gl = NULL;
const GSList *gradients = sp_document_get_resource_list (document, "gradient");
- for (const GSList *i = gradients; i != NULL; i = i->next) {
+ for (const GSList *i = gradients; i != NULL; i = i->next) {
if (SP_GRADIENT_HAS_STOPS (i->data)) {
gl = g_slist_prepend (gl, i->data);
}
- }
+ }
gl = g_slist_reverse (gl);
guint pos = 0;
@@ -257,7 +257,7 @@ gr_vector_list (SPDesktop *desktop, bool selection_empty, SPGradient *gr_selecte
/* Select the current gradient, or the Multi/Nothing line */
if (gr_multi || gr_selected == NULL)
gtk_option_menu_set_history (GTK_OPTION_MENU (om), 0);
- else
+ else
gtk_option_menu_set_history (GTK_OPTION_MENU (om), pos);
return om;
@@ -265,7 +265,7 @@ gr_vector_list (SPDesktop *desktop, bool selection_empty, SPGradient *gr_selecte
void
-gr_read_selection (Inkscape::Selection *selection, GrDrag *drag, SPGradient **gr_selected, bool *gr_multi, SPGradientSpread *spr_selected, bool *spr_multi)
+gr_read_selection (Inkscape::Selection *selection, GrDrag *drag, SPGradient **gr_selected, bool *gr_multi, SPGradientSpread *spr_selected, bool *spr_multi)
{
if (drag && drag->selected) {
// GRADIENTFIXME: make this work for more than one selected dragger?
@@ -291,14 +291,14 @@ gr_read_selection (Inkscape::Selection *selection, GrDrag *drag, SPGradient **gr
}
}
return;
- }
+ }
// If no selected dragger, read desktop selection
for (GSList const* i = selection->itemList(); i != NULL; i = i->next) {
SPItem *item = SP_ITEM(i->data);
SPStyle *style = SP_OBJECT_STYLE (item);
- if (style && (style->fill.type == SP_PAINT_TYPE_PAINTSERVER)) {
+ if (style && (style->fill.isPaintserver())) {
SPObject *server = SP_OBJECT_STYLE_FILL_SERVER (item);
if (SP_IS_GRADIENT (server)) {
SPGradient *gradient = sp_gradient_get_vector (SP_GRADIENT (server), false);
@@ -319,7 +319,7 @@ gr_read_selection (Inkscape::Selection *selection, GrDrag *drag, SPGradient **gr
}
}
}
- if (style && (style->stroke.type == SP_PAINT_TYPE_PAINTSERVER)) {
+ if (style && (style->stroke.isPaintserver())) {
SPObject *server = SP_OBJECT_STYLE_STROKE_SERVER (item);
if (SP_IS_GRADIENT (server)) {
SPGradient *gradient = sp_gradient_get_vector (SP_GRADIENT (server), false);
@@ -343,7 +343,7 @@ gr_read_selection (Inkscape::Selection *selection, GrDrag *drag, SPGradient **gr
}
}
-static void
+static void
gr_tb_selection_changed (Inkscape::Selection *, gpointer data)
{
GtkWidget *widget = (GtkWidget *) data;
return;
Inkscape::Selection *selection = sp_desktop_selection (desktop); // take from desktop, not from args
- if (!selection)
+ if (!selection)
return;
-
+
SPEventContext *ev = sp_desktop_event_context (desktop);
GtkWidget *om = (GtkWidget *) g_object_get_data (G_OBJECT (widget), "menu");
GtkWidget *buttons = (GtkWidget *) g_object_get_data (G_OBJECT(widget), "buttons");
gtk_widget_set_sensitive (buttons, (gr_selected && !gr_multi));
-
+
gtk_box_pack_start (GTK_BOX (widget), om, TRUE, TRUE, 0);
gtk_widget_show_all (widget);
gr_tb_selection_changed (NULL, (gpointer) widget);
}
-static void
-gr_fork (GtkWidget *button, GtkWidget *widget)
-{
- SPDesktop *desktop = (SPDesktop *) g_object_get_data (G_OBJECT(widget), "desktop");
- SPDocument *document = sp_desktop_document (desktop);
- Inkscape::Selection *selection = sp_desktop_selection (desktop);
- SPEventContext *ev = sp_desktop_event_context (desktop);
- GtkWidget *om = (GtkWidget *) g_object_get_data (G_OBJECT(widget), "menu");
-
- if (om && document) {
- GtkWidget *i = gtk_menu_get_active (GTK_MENU (gtk_option_menu_get_menu (GTK_OPTION_MENU (om))));
- SPGradient *gr = (SPGradient *) g_object_get_data (G_OBJECT(i), "gradient");
-
- if (gr) {
- SPGradient *gr_new = sp_gradient_fork_vector_if_necessary (gr);
- if (gr_new != gr) {
- gr_apply_gradient (selection, ev? ev->get_drag() : NULL, gr_new);
- sp_document_done (document, SP_VERB_CONTEXT_GRADIENT,
- _("Duplicate gradient"));
- }
- }
- }
-
- spinbutton_defocus(GTK_OBJECT(widget));
-}
-
static void gr_disconnect_sigc (GObject *obj, sigc::connection *connection) {
connection->disconnect();
delete connection;
GtkTooltips *tt = gtk_tooltips_new();
gr_read_selection (selection, ev? ev->get_drag() : NULL, &gr_selected, &gr_multi, &spr_selected, &spr_multi);
-
+
GtkWidget *widget = gtk_hbox_new(FALSE, FALSE);
gtk_object_set_data(GTK_OBJECT(widget), "dtw", desktop->canvas);
g_object_set_data (G_OBJECT (widget), "desktop", desktop);
GtkWidget *om = gr_vector_list (desktop, selection->isEmpty(), gr_selected, gr_multi);
g_object_set_data (G_OBJECT (widget), "menu", om);
-
+
gtk_box_pack_start (GTK_BOX (widget), om, TRUE, TRUE, 0);
{
GtkWidget *buttons = gtk_hbox_new(FALSE, 1);
- /* Fork */
- {
- GtkWidget *hb = gtk_hbox_new(FALSE, 1);
- GtkWidget *b = gtk_button_new_with_label(_("Duplicate"));
- gtk_tooltips_set_tip(tt, b, _("If the gradient is used by more than one object, create a copy of it for the selected object(s)"), NULL);
- gtk_widget_show(b);
- gtk_container_add(GTK_CONTAINER(hb), b);
- gtk_signal_connect(GTK_OBJECT(b), "clicked", GTK_SIGNAL_FUNC(gr_fork), widget);
- gtk_box_pack_start (GTK_BOX(buttons), hb, FALSE, FALSE, 0);
- }
-
/* Edit... */
{
GtkWidget *hb = gtk_hbox_new(FALSE, 1);
tt);
g_signal_connect_after (G_OBJECT (button), "clicked", G_CALLBACK (gr_toggle_type), tbl);
g_object_set_data(G_OBJECT(tbl), "linear", button);
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button),
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button),
prefs_get_int_attribute ("tools.gradient", "newgradient", SP_GRADIENT_TYPE_LINEAR) == SP_GRADIENT_TYPE_LINEAR);
gtk_box_pack_start(GTK_BOX(cbox), button, FALSE, FALSE, 0);
}
tt);
g_signal_connect_after (G_OBJECT (button), "clicked", G_CALLBACK (gr_toggle_type), tbl);
g_object_set_data(G_OBJECT(tbl), "radial", button);
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button),
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button),
prefs_get_int_attribute ("tools.gradient", "newgradient", SP_GRADIENT_TYPE_LINEAR) == SP_GRADIENT_TYPE_RADIAL);
gtk_box_pack_start(GTK_BOX(cbox), button, FALSE, FALSE, 0);
}
tt);
g_signal_connect_after (G_OBJECT (button), "clicked", G_CALLBACK (gr_toggle_fillstroke), tbl);
g_object_set_data(G_OBJECT(tbl), "fill", button);
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button),
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button),
prefs_get_int_attribute ("tools.gradient", "newfillorstroke", 1) == 1);
gtk_box_pack_start(GTK_BOX(cbox), button, FALSE, FALSE, 0);
}
tt);
g_signal_connect_after (G_OBJECT (button), "clicked", G_CALLBACK (gr_toggle_fillstroke), tbl);
g_object_set_data(G_OBJECT(tbl), "stroke", button);
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button),
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button),
prefs_get_int_attribute ("tools.gradient", "newfillorstroke", 1) == 0);
gtk_box_pack_start(GTK_BOX(cbox), button, FALSE, FALSE, 0);
}