summaryrefslogtreecommitdiffstats
path: root/src/ui
diff options
context:
space:
mode:
authorKrzysztof Kosi??ski <tweenk.pl@gmail.com>2011-07-06 01:59:32 +0000
committerKrzysztof KosiƄski <tweenk.pl@gmail.com>2011-07-06 01:59:32 +0000
commite65a02ed32b78534739aba24929ece7c44dd967f (patch)
tree13cf022f18f6b5bae46aad4bc339e512f069a514 /src/ui
parentPull 2Geom revision 2013 (extra constructors for Rect). (diff)
parentText edit dialog: Apply button should grab default only after adding to window (diff)
downloadinkscape-e65a02ed32b78534739aba24929ece7c44dd967f.tar.gz
inkscape-e65a02ed32b78534739aba24929ece7c44dd967f.zip
Merge from trunk
(bzr r10347.1.5)
Diffstat (limited to 'src/ui')
-rw-r--r--src/ui/CMakeLists.txt3
-rw-r--r--src/ui/context-menu.cpp92
-rw-r--r--src/ui/dialog/dock-behavior.cpp2
-rw-r--r--src/ui/dialog/floating-behavior.cpp2
-rw-r--r--src/ui/icon-names.h4
-rw-r--r--src/ui/view/view-widget.cpp27
-rw-r--r--src/ui/widget/page-sizer.cpp32
-rw-r--r--src/ui/widget/page-sizer.h1
-rw-r--r--src/ui/widget/registered-widget.h3
-rw-r--r--src/ui/widget/selected-style.cpp2
-rw-r--r--src/ui/widget/svg-canvas.cpp2
11 files changed, 87 insertions, 83 deletions
diff --git a/src/ui/CMakeLists.txt b/src/ui/CMakeLists.txt
index 30b72437f..9bbdd861e 100644
--- a/src/ui/CMakeLists.txt
+++ b/src/ui/CMakeLists.txt
@@ -166,9 +166,6 @@ set(ui_SRC
dialog/tracedialog.h
dialog/transformation.h
dialog/undo-history.h
- dialog/whiteboard-connect.h
- dialog/whiteboard-sharewithchat.h
- dialog/whiteboard-sharewithuser.h
tool/commit-events.h
tool/control-point-selection.h
diff --git a/src/ui/context-menu.cpp b/src/ui/context-menu.cpp
index a45b8ceaa..4d2c242a6 100644
--- a/src/ui/context-menu.cpp
+++ b/src/ui/context-menu.cpp
@@ -110,34 +110,34 @@ sp_item_menu(SPObject *object, SPDesktop *desktop, GtkMenu *m)
/* Item dialog */
w = gtk_menu_item_new_with_mnemonic(_("_Object Properties..."));
- gtk_object_set_data(GTK_OBJECT(w), "desktop", desktop);
+ g_object_set_data(G_OBJECT(w), "desktop", desktop);
g_signal_connect(G_OBJECT(w), "activate", G_CALLBACK(sp_item_properties), item);
gtk_widget_show(w);
- gtk_menu_append(GTK_MENU(m), w);
+ gtk_menu_shell_append(GTK_MENU_SHELL(m), w);
/* Separator */
w = gtk_menu_item_new();
gtk_widget_show(w);
- gtk_menu_append(GTK_MENU(m), w);
+ gtk_menu_shell_append(GTK_MENU_SHELL(m), w);
/* Select item */
w = gtk_menu_item_new_with_mnemonic(_("_Select This"));
if (sp_desktop_selection(desktop)->includes(item)) {
gtk_widget_set_sensitive(w, FALSE);
} else {
- gtk_object_set_data(GTK_OBJECT(w), "desktop", desktop);
+ g_object_set_data(G_OBJECT(w), "desktop", desktop);
g_signal_connect(G_OBJECT(w), "activate", G_CALLBACK(sp_item_select_this), item);
}
gtk_widget_show(w);
- gtk_menu_append(GTK_MENU(m), w);
+ gtk_menu_shell_append(GTK_MENU_SHELL(m), w);
/* Create link */
w = gtk_menu_item_new_with_mnemonic(_("_Create Link"));
- gtk_object_set_data(GTK_OBJECT(w), "desktop", desktop);
+ g_object_set_data(G_OBJECT(w), "desktop", desktop);
g_signal_connect(G_OBJECT(w), "activate", G_CALLBACK(sp_item_create_link), item);
gtk_widget_set_sensitive(w, !SP_IS_ANCHOR(item));
gtk_widget_show(w);
- gtk_menu_append(GTK_MENU(m), w);
+ gtk_menu_shell_append(GTK_MENU_SHELL(m), w);
/* Set mask */
w = gtk_menu_item_new_with_mnemonic(_("Set Mask"));
- gtk_object_set_data(GTK_OBJECT(w), "desktop", desktop);
+ g_object_set_data(G_OBJECT(w), "desktop", desktop);
g_signal_connect(G_OBJECT(w), "activate", G_CALLBACK(sp_set_mask), item);
if ((item && item->mask_ref && item->mask_ref->getObject()) || (item->clip_ref && item->clip_ref->getObject())) {
gtk_widget_set_sensitive(w, FALSE);
@@ -145,10 +145,10 @@ sp_item_menu(SPObject *object, SPDesktop *desktop, GtkMenu *m)
gtk_widget_set_sensitive(w, TRUE);
}
gtk_widget_show(w);
- gtk_menu_append(GTK_MENU(m), w);
+ gtk_menu_shell_append(GTK_MENU_SHELL(m), w);
/* Release mask */
w = gtk_menu_item_new_with_mnemonic(_("Release Mask"));
- gtk_object_set_data(GTK_OBJECT(w), "desktop", desktop);
+ g_object_set_data(G_OBJECT(w), "desktop", desktop);
g_signal_connect(G_OBJECT(w), "activate", G_CALLBACK(sp_release_mask), item);
if (item && item->mask_ref && item->mask_ref->getObject()) {
gtk_widget_set_sensitive(w, TRUE);
@@ -156,10 +156,10 @@ sp_item_menu(SPObject *object, SPDesktop *desktop, GtkMenu *m)
gtk_widget_set_sensitive(w, FALSE);
}
gtk_widget_show(w);
- gtk_menu_append(GTK_MENU(m), w);
+ gtk_menu_shell_append(GTK_MENU_SHELL(m), w);
/* Set Clip */
w = gtk_menu_item_new_with_mnemonic(_("Set _Clip"));
- gtk_object_set_data(GTK_OBJECT(w), "desktop", desktop);
+ g_object_set_data(G_OBJECT(w), "desktop", desktop);
g_signal_connect(G_OBJECT(w), "activate", G_CALLBACK(sp_set_clip), item);
if ((item && item->mask_ref && item->mask_ref->getObject()) || (item->clip_ref && item->clip_ref->getObject())) {
gtk_widget_set_sensitive(w, FALSE);
@@ -167,10 +167,10 @@ sp_item_menu(SPObject *object, SPDesktop *desktop, GtkMenu *m)
gtk_widget_set_sensitive(w, TRUE);
}
gtk_widget_show(w);
- gtk_menu_append(GTK_MENU(m), w);
+ gtk_menu_shell_append(GTK_MENU_SHELL(m), w);
/* Release Clip */
w = gtk_menu_item_new_with_mnemonic(_("Release C_lip"));
- gtk_object_set_data(GTK_OBJECT(w), "desktop", desktop);
+ g_object_set_data(G_OBJECT(w), "desktop", desktop);
g_signal_connect(G_OBJECT(w), "activate", G_CALLBACK(sp_release_clip), item);
if (item && item->clip_ref && item->clip_ref->getObject()) {
gtk_widget_set_sensitive(w, TRUE);
@@ -178,7 +178,7 @@ sp_item_menu(SPObject *object, SPDesktop *desktop, GtkMenu *m)
gtk_widget_set_sensitive(w, FALSE);
}
gtk_widget_show(w);
- gtk_menu_append(GTK_MENU(m), w);
+ gtk_menu_shell_append(GTK_MENU_SHELL(m), w);
}
@@ -189,7 +189,7 @@ sp_item_properties(GtkMenuItem *menuitem, SPItem *item)
g_assert(SP_IS_ITEM(item));
- desktop = (SPDesktop*)gtk_object_get_data(GTK_OBJECT(menuitem), "desktop");
+ desktop = (SPDesktop*)g_object_get_data(G_OBJECT(menuitem), "desktop");
g_return_if_fail(desktop != NULL);
sp_desktop_selection(desktop)->set(item);
@@ -205,7 +205,7 @@ sp_set_mask(GtkMenuItem *menuitem, SPItem *item)
g_assert(SP_IS_ITEM(item));
- desktop = (SPDesktop*)gtk_object_get_data(GTK_OBJECT(menuitem), "desktop");
+ desktop = (SPDesktop*)g_object_get_data(G_OBJECT(menuitem), "desktop");
g_return_if_fail(desktop != NULL);
sp_selection_set_mask(desktop, false, false);
@@ -219,7 +219,7 @@ sp_release_mask(GtkMenuItem *menuitem, SPItem *item)
g_assert(SP_IS_ITEM(item));
- desktop = (SPDesktop*)gtk_object_get_data(GTK_OBJECT(menuitem), "desktop");
+ desktop = (SPDesktop*)g_object_get_data(G_OBJECT(menuitem), "desktop");
g_return_if_fail(desktop != NULL);
sp_selection_unset_mask(desktop, false);
@@ -233,7 +233,7 @@ sp_set_clip(GtkMenuItem *menuitem, SPItem *item)
g_assert(SP_IS_ITEM(item));
- desktop = (SPDesktop*)gtk_object_get_data(GTK_OBJECT(menuitem), "desktop");
+ desktop = (SPDesktop*)g_object_get_data(G_OBJECT(menuitem), "desktop");
g_return_if_fail(desktop != NULL);
sp_selection_set_mask(desktop, true, false);
@@ -247,7 +247,7 @@ sp_release_clip(GtkMenuItem *menuitem, SPItem *item)
g_assert(SP_IS_ITEM(item));
- desktop = (SPDesktop*)gtk_object_get_data(GTK_OBJECT(menuitem), "desktop");
+ desktop = (SPDesktop*)g_object_get_data(G_OBJECT(menuitem), "desktop");
g_return_if_fail(desktop != NULL);
sp_selection_unset_mask(desktop, true);
@@ -261,7 +261,7 @@ sp_item_select_this(GtkMenuItem *menuitem, SPItem *item)
g_assert(SP_IS_ITEM(item));
- desktop = (SPDesktop*)gtk_object_get_data(GTK_OBJECT(menuitem), "desktop");
+ desktop = (SPDesktop*)g_object_get_data(G_OBJECT(menuitem), "desktop");
g_return_if_fail(desktop != NULL);
sp_desktop_selection(desktop)->set(item);
@@ -273,7 +273,7 @@ sp_item_create_link(GtkMenuItem *menuitem, SPItem *item)
g_assert(SP_IS_ITEM(item));
g_assert(!SP_IS_ANCHOR(item));
- SPDesktop *desktop = (SPDesktop*)gtk_object_get_data(GTK_OBJECT(menuitem), "desktop");
+ SPDesktop *desktop = (SPDesktop*)g_object_get_data(G_OBJECT(menuitem), "desktop");
g_return_if_fail(desktop != NULL);
Inkscape::XML::Document *xml_doc = desktop->doc()->getReprDoc();
@@ -311,10 +311,10 @@ sp_group_menu(SPObject *object, SPDesktop *desktop, GtkMenu *menu)
/* "Ungroup" */
w = gtk_menu_item_new_with_mnemonic(_("_Ungroup"));
- gtk_object_set_data(GTK_OBJECT(w), "desktop", desktop);
+ g_object_set_data(G_OBJECT(w), "desktop", desktop);
g_signal_connect(G_OBJECT(w), "activate", G_CALLBACK(sp_item_group_ungroup_activate), item);
gtk_widget_show(w);
- gtk_menu_append(GTK_MENU(menu), w);
+ gtk_menu_shell_append(GTK_MENU_SHELL(menu), w);
}
static void
@@ -325,7 +325,7 @@ sp_item_group_ungroup_activate(GtkMenuItem *menuitem, SPGroup *group)
g_assert(SP_IS_GROUP(group));
- desktop = (SPDesktop*)gtk_object_get_data(GTK_OBJECT(menuitem), "desktop");
+ desktop = (SPDesktop*)g_object_get_data(G_OBJECT(menuitem), "desktop");
g_return_if_fail(desktop != NULL);
children = NULL;
@@ -351,21 +351,21 @@ sp_anchor_menu(SPObject *object, SPDesktop *desktop, GtkMenu *m)
/* Link dialog */
w = gtk_menu_item_new_with_mnemonic(_("Link _Properties..."));
- gtk_object_set_data(GTK_OBJECT(w), "desktop", desktop);
+ g_object_set_data(G_OBJECT(w), "desktop", desktop);
g_signal_connect(G_OBJECT(w), "activate", G_CALLBACK(sp_anchor_link_properties), item);
gtk_widget_show(w);
- gtk_menu_append(GTK_MENU(m), w);
+ gtk_menu_shell_append(GTK_MENU_SHELL(m), w);
/* Select item */
w = gtk_menu_item_new_with_mnemonic(_("_Follow Link"));
g_signal_connect(G_OBJECT(w), "activate", G_CALLBACK(sp_anchor_link_follow), item);
gtk_widget_show(w);
- gtk_menu_append(GTK_MENU(m), w);
+ gtk_menu_shell_append(GTK_MENU_SHELL(m), w);
/* Reset transformations */
w = gtk_menu_item_new_with_mnemonic(_("_Remove Link"));
- gtk_object_set_data(GTK_OBJECT(w), "desktop", desktop);
+ g_object_set_data(G_OBJECT(w), "desktop", desktop);
g_signal_connect(G_OBJECT(w), "activate", G_CALLBACK(sp_anchor_link_remove), item);
gtk_widget_show(w);
- gtk_menu_append(GTK_MENU(m), w);
+ gtk_menu_shell_append(GTK_MENU_SHELL(m), w);
}
static void
@@ -410,16 +410,16 @@ sp_image_menu(SPObject *object, SPDesktop *desktop, GtkMenu *m)
/* Link dialog */
w = gtk_menu_item_new_with_mnemonic(_("Image _Properties..."));
- gtk_object_set_data(GTK_OBJECT(w), "desktop", desktop);
+ g_object_set_data(G_OBJECT(w), "desktop", desktop);
g_signal_connect(G_OBJECT(w), "activate", G_CALLBACK(sp_image_image_properties), item);
gtk_widget_show(w);
- gtk_menu_append(GTK_MENU(m), w);
+ gtk_menu_shell_append(GTK_MENU_SHELL(m), w);
w = gtk_menu_item_new_with_mnemonic(_("Edit Externally..."));
- gtk_object_set_data(GTK_OBJECT(w), "desktop", desktop);
+ g_object_set_data(G_OBJECT(w), "desktop", desktop);
g_signal_connect(G_OBJECT(w), "activate", G_CALLBACK(sp_image_image_edit), item);
gtk_widget_show(w);
- gtk_menu_append(GTK_MENU(m), w);
+ gtk_menu_shell_append(GTK_MENU_SHELL(m), w);
Inkscape::XML::Node *ir = object->getRepr();
const gchar *href = ir->attribute("xlink:href");
if ( (!href) || ((strncmp(href, "data:", 5) == 0)) ) {
@@ -495,7 +495,7 @@ static void sp_image_image_edit(GtkMenuItem *menuitem, SPAnchor *anchor)
if ( errThing ) {
g_warning("Problem launching editor (%d). %s", errThing->code, errThing->message);
- SPDesktop *desktop = (SPDesktop*)gtk_object_get_data(GTK_OBJECT(menuitem), "desktop");
+ SPDesktop *desktop = (SPDesktop*)g_object_get_data(G_OBJECT(menuitem), "desktop");
desktop->messageStack()->flash(Inkscape::ERROR_MESSAGE, errThing->message);
g_error_free(errThing);
errThing = 0;
@@ -511,7 +511,7 @@ sp_fill_settings(GtkMenuItem *menuitem, SPItem *item)
g_assert(SP_IS_ITEM(item));
- desktop = (SPDesktop*)gtk_object_get_data(GTK_OBJECT(menuitem), "desktop");
+ desktop = (SPDesktop*)g_object_get_data(G_OBJECT(menuitem), "desktop");
g_return_if_fail(desktop != NULL);
if (sp_desktop_selection(desktop)->isEmpty()) {
@@ -533,10 +533,10 @@ sp_shape_menu(SPObject *object, SPDesktop *desktop, GtkMenu *m)
/* Item dialog */
w = gtk_menu_item_new_with_mnemonic(_("_Fill and Stroke..."));
- gtk_object_set_data(GTK_OBJECT(w), "desktop", desktop);
+ g_object_set_data(G_OBJECT(w), "desktop", desktop);
g_signal_connect(G_OBJECT(w), "activate", G_CALLBACK(sp_fill_settings), item);
gtk_widget_show(w);
- gtk_menu_append(GTK_MENU(m), w);
+ gtk_menu_shell_append(GTK_MENU_SHELL(m), w);
}
/* Edit Text entry */
@@ -548,7 +548,7 @@ sp_text_settings(GtkMenuItem *menuitem, SPItem *item)
g_assert(SP_IS_ITEM(item));
- desktop = (SPDesktop*)gtk_object_get_data(GTK_OBJECT(menuitem), "desktop");
+ desktop = (SPDesktop*)g_object_get_data(G_OBJECT(menuitem), "desktop");
g_return_if_fail(desktop != NULL);
if (sp_desktop_selection(desktop)->isEmpty()) {
@@ -567,7 +567,7 @@ sp_spellcheck_settings(GtkMenuItem *menuitem, SPItem *item)
g_assert(SP_IS_ITEM(item));
- desktop = (SPDesktop*)gtk_object_get_data(GTK_OBJECT(menuitem), "desktop");
+ desktop = (SPDesktop*)g_object_get_data(G_OBJECT(menuitem), "desktop");
g_return_if_fail(desktop != NULL);
if (sp_desktop_selection(desktop)->isEmpty()) {
@@ -589,24 +589,24 @@ sp_text_menu(SPObject *object, SPDesktop *desktop, GtkMenu *m)
/* Fill and Stroke dialog */
w = gtk_menu_item_new_with_mnemonic(_("_Fill and Stroke..."));
- gtk_object_set_data(GTK_OBJECT(w), "desktop", desktop);
+ g_object_set_data(G_OBJECT(w), "desktop", desktop);
g_signal_connect(G_OBJECT(w), "activate", G_CALLBACK(sp_fill_settings), item);
gtk_widget_show(w);
- gtk_menu_append(GTK_MENU(m), w);
+ gtk_menu_shell_append(GTK_MENU_SHELL(m), w);
/* Edit Text dialog */
w = gtk_menu_item_new_with_mnemonic(_("_Text and Font..."));
- gtk_object_set_data(GTK_OBJECT(w), "desktop", desktop);
+ g_object_set_data(G_OBJECT(w), "desktop", desktop);
g_signal_connect(G_OBJECT(w), "activate", G_CALLBACK(sp_text_settings), item);
gtk_widget_show(w);
- gtk_menu_append(GTK_MENU(m), w);
+ gtk_menu_shell_append(GTK_MENU_SHELL(m), w);
/* Spellcheck dialog */
w = gtk_menu_item_new_with_mnemonic(_("Check Spellin_g..."));
- gtk_object_set_data(GTK_OBJECT(w), "desktop", desktop);
+ g_object_set_data(G_OBJECT(w), "desktop", desktop);
g_signal_connect(G_OBJECT(w), "activate", G_CALLBACK(sp_spellcheck_settings), item);
gtk_widget_show(w);
- gtk_menu_append(GTK_MENU(m), w);
+ gtk_menu_shell_append(GTK_MENU_SHELL(m), w);
}
/*
Local Variables:
diff --git a/src/ui/dialog/dock-behavior.cpp b/src/ui/dialog/dock-behavior.cpp
index 47cbab485..25fa1739a 100644
--- a/src/ui/dialog/dock-behavior.cpp
+++ b/src/ui/dialog/dock-behavior.cpp
@@ -262,7 +262,7 @@ DockBehavior::onDesktopActivated(SPDesktop *desktop)
}
// we're done, allow next retransientizing not sooner than after 120 msec
- gtk_timeout_add (120, (GtkFunction) sp_retransientize_again, (gpointer) floating_win);
+ g_timeout_add (120, (GSourceFunc) sp_retransientize_again, (gpointer) floating_win);
}
}
diff --git a/src/ui/dialog/floating-behavior.cpp b/src/ui/dialog/floating-behavior.cpp
index 35cc88090..6a086e0a1 100644
--- a/src/ui/dialog/floating-behavior.cpp
+++ b/src/ui/dialog/floating-behavior.cpp
@@ -220,7 +220,7 @@ FloatingBehavior::onDesktopActivated (SPDesktop *desktop)
}
// we're done, allow next retransientizing not sooner than after 120 msec
- gtk_timeout_add (120, (GtkFunction) sp_retransientize_again, (gpointer) _d);
+ g_timeout_add (120, (GSourceFunc) sp_retransientize_again, (gpointer) _d);
}
diff --git a/src/ui/icon-names.h b/src/ui/icon-names.h
index f7c16b0ed..8935b1def 100644
--- a/src/ui/icon-names.h
+++ b/src/ui/icon-names.h
@@ -458,6 +458,8 @@
"snap-nodes"
#define INKSCAPE_ICON_SNAP_NODES_CENTER \
"snap-nodes-center"
+#define INKSCAPE_ICON_SNAP_OTHERS \
+ "snap-nodes-others"
#define INKSCAPE_ICON_SNAP_NODES_CUSP \
"snap-nodes-cusp"
#define INKSCAPE_ICON_SNAP_NODES_INTERSECTION \
@@ -468,6 +470,8 @@
"snap-nodes-path"
#define INKSCAPE_ICON_SNAP_NODES_ROTATION_CENTER \
"snap-nodes-rotation-center"
+#define INKSCAPE_ICON_SNAP_TEXT_BASELINE \
+ "snap-text-baseline"
#define INKSCAPE_ICON_SNAP_NODES_SMOOTH \
"snap-nodes-smooth"
#define INKSCAPE_ICON_SNAP_PAGE \
diff --git a/src/ui/view/view-widget.cpp b/src/ui/view/view-widget.cpp
index cf0f55f2c..d43877569 100644
--- a/src/ui/view/view-widget.cpp
+++ b/src/ui/view/view-widget.cpp
@@ -27,22 +27,21 @@ static GtkEventBoxClass *widget_parent_class;
/**
* Registers the SPViewWidget class with Glib and returns its type number.
*/
-GtkType sp_view_widget_get_type(void)
+GType sp_view_widget_get_type(void)
{
- static GtkType type = 0;
- //TODO: switch to GObject
- // GtkType and such calls were deprecated a while back with the
- // introduction of GObject as a separate layer, with GType instead. --JonCruz
+ static GType type = 0;
if (!type) {
- GtkTypeInfo info = {
- (gchar*) "SPViewWidget",
- sizeof(SPViewWidget),
+ GTypeInfo info = {
sizeof(SPViewWidgetClass),
- (GtkClassInitFunc) sp_view_widget_class_init,
- (GtkObjectInitFunc) sp_view_widget_init,
- NULL, NULL, NULL
- };
- type = gtk_type_unique(GTK_TYPE_EVENT_BOX, &info);
+ NULL, NULL,
+ (GClassInitFunc) sp_view_widget_class_init,
+ NULL, NULL,
+ sizeof(SPViewWidget),
+ 0,
+ (GInstanceInitFunc) sp_view_widget_init,
+ NULL
+ };
+ type = g_type_register_static (GTK_TYPE_EVENT_BOX, "SPViewWidget", &info, (GTypeFlags)0);
}
return type;
@@ -55,7 +54,7 @@ static void sp_view_widget_class_init(SPViewWidgetClass *vwc)
{
GtkObjectClass *object_class = GTK_OBJECT_CLASS(vwc);
- widget_parent_class = (GtkEventBoxClass*) gtk_type_class(GTK_TYPE_EVENT_BOX);
+ widget_parent_class = (GtkEventBoxClass*) g_type_class_peek_parent(vwc);
object_class->destroy = sp_view_widget_destroy;
}
diff --git a/src/ui/widget/page-sizer.cpp b/src/ui/widget/page-sizer.cpp
index 626be7625..f7759f103 100644
--- a/src/ui/widget/page-sizer.cpp
+++ b/src/ui/widget/page-sizer.cpp
@@ -236,7 +236,7 @@ PageSizer::PageSizer(Registry & _wr)
_marginLeft( _("L_eft:"), _("Left margin"), "fit-margin-left", _wr),
_marginRight( _("Ri_ght:"), _("Right margin"), "fit-margin-right", _wr),
_marginBottom( _("Botto_m:"), _("Bottom margin"), "fit-margin-bottom", _wr),
-
+ _lockMarginUpdate(false),
_widgetRegistry(&_wr)
{
//# Set up the Paper Size combo box
@@ -465,18 +465,20 @@ PageSizer::setDim (double w, double h, bool changeList)
void
PageSizer::updateFitMarginsUI(Inkscape::XML::Node *nv_repr)
{
- double value = 0.0;
- if (sp_repr_get_double(nv_repr, "fit-margin-top", &value)) {
- _marginTop.setValue(value);
- }
- if (sp_repr_get_double(nv_repr, "fit-margin-left", &value)) {
- _marginLeft.setValue(value);
- }
- if (sp_repr_get_double(nv_repr, "fit-margin-right", &value)) {
- _marginRight.setValue(value);
- }
- if (sp_repr_get_double(nv_repr, "fit-margin-bottom", &value)) {
- _marginBottom.setValue(value);
+ if (!_lockMarginUpdate) {
+ double value = 0.0;
+ if (sp_repr_get_double(nv_repr, "fit-margin-top", &value)) {
+ _marginTop.setValue(value);
+ }
+ if (sp_repr_get_double(nv_repr, "fit-margin-left", &value)) {
+ _marginLeft.setValue(value);
+ }
+ if (sp_repr_get_double(nv_repr, "fit-margin-right", &value)) {
+ _marginRight.setValue(value);
+ }
+ if (sp_repr_get_double(nv_repr, "fit-margin-bottom", &value)) {
+ _marginBottom.setValue(value);
+ }
}
}
@@ -538,14 +540,18 @@ PageSizer::fire_fit_canvas_to_selection_or_drawing()
SPDocument *doc;
SPNamedView *nv;
Inkscape::XML::Node *nv_repr;
+
if ((doc = sp_desktop_document(SP_ACTIVE_DESKTOP))
&& (nv = sp_document_namedview(doc, 0))
&& (nv_repr = nv->getRepr())) {
+ _lockMarginUpdate = true;
sp_repr_set_svg_double(nv_repr, "fit-margin-top", _marginTop.getValue());
sp_repr_set_svg_double(nv_repr, "fit-margin-left", _marginLeft.getValue());
sp_repr_set_svg_double(nv_repr, "fit-margin-right", _marginRight.getValue());
sp_repr_set_svg_double(nv_repr, "fit-margin-bottom", _marginBottom.getValue());
+ _lockMarginUpdate = false;
}
+
Verb *verb = Verb::get( SP_VERB_FIT_CANVAS_TO_SELECTION_OR_DRAWING );
if (verb) {
SPAction *action = verb->get_action(dt);
diff --git a/src/ui/widget/page-sizer.h b/src/ui/widget/page-sizer.h
index 2072aeccd..cb7f8a069 100644
--- a/src/ui/widget/page-sizer.h
+++ b/src/ui/widget/page-sizer.h
@@ -219,6 +219,7 @@ protected:
RegisteredScalar _marginBottom;
Gtk::Alignment _fitPageButtonAlign;
Gtk::Button _fitPageButton;
+ bool _lockMarginUpdate;
//callback
void on_value_changed();
diff --git a/src/ui/widget/registered-widget.h b/src/ui/widget/registered-widget.h
index 560c63dd4..f05eb176a 100644
--- a/src/ui/widget/registered-widget.h
+++ b/src/ui/widget/registered-widget.h
@@ -62,9 +62,6 @@ public:
bool is_updating() {if (_wr) return _wr->isUpdating(); else return false;}
- // provide automatic 'upcast' for ease of use. (do it 'dynamic_cast' instead of 'static' because who knows what W is)
- operator const Gtk::Widget () { return dynamic_cast<Gtk::Widget*>(this); }
-
protected:
RegisteredWidget() : W() { construct(); }
template< typename A >
diff --git a/src/ui/widget/selected-style.cpp b/src/ui/widget/selected-style.cpp
index ae8cd564e..0aa65b1a9 100644
--- a/src/ui/widget/selected-style.cpp
+++ b/src/ui/widget/selected-style.cpp
@@ -412,7 +412,7 @@ void
SelectedStyle::setDesktop(SPDesktop *desktop)
{
_desktop = desktop;
- gtk_object_set_data (GTK_OBJECT(_opacity_sb.gobj()), "dtw", _desktop->canvas);
+ g_object_set_data (G_OBJECT(_opacity_sb.gobj()), "dtw", _desktop->canvas);
Inkscape::Selection *selection = sp_desktop_selection (desktop);
diff --git a/src/ui/widget/svg-canvas.cpp b/src/ui/widget/svg-canvas.cpp
index 7d37ec355..f0eb24a10 100644
--- a/src/ui/widget/svg-canvas.cpp
+++ b/src/ui/widget/svg-canvas.cpp
@@ -22,7 +22,7 @@ namespace Widget {
SVGCanvas::SVGCanvas()
{
- void *canvas = gtk_type_new (sp_canvas_get_type ());
+ void *canvas = g_object_new (sp_canvas_get_type (), NULL);
_spcanvas = static_cast<SPCanvas*>(canvas);
_widget = Glib::wrap (static_cast<GtkWidget*> (canvas));
_dt = 0;