summaryrefslogtreecommitdiffstats
path: root/src/dialogs
diff options
context:
space:
mode:
authorAndrew Higginson <at.higginson@gmail.com>2011-12-27 21:04:47 +0000
committerAndrew <at.higginson@gmail.com>2011-12-27 21:04:47 +0000
commit80960b623a99aae1402ab651b2974ef544ed3b03 (patch)
treeba49d42c2789e9e11f805e2d5263e10f9fedeef8 /src/dialogs
parenttry to fix bug (diff)
parentGDL: Cherry-pick upstream patch 73852 (2011-03-23) - Add missing return value. (diff)
downloadinkscape-80960b623a99aae1402ab651b2974ef544ed3b03.tar.gz
inkscape-80960b623a99aae1402ab651b2974ef544ed3b03.zip
merged with trunk so I can build again...
(bzr r10092.1.36)
Diffstat (limited to 'src/dialogs')
-rw-r--r--src/dialogs/CMakeLists.txt51
-rw-r--r--src/dialogs/clonetiler.cpp707
-rw-r--r--src/dialogs/clonetiler.h2
-rw-r--r--src/dialogs/dialog-events.cpp27
-rw-r--r--src/dialogs/dialog-events.h14
-rw-r--r--src/dialogs/export.cpp603
-rw-r--r--src/dialogs/find.cpp158
-rw-r--r--src/dialogs/find.h2
-rw-r--r--src/dialogs/item-properties.cpp244
-rw-r--r--src/dialogs/item-properties.h8
-rw-r--r--src/dialogs/object-attributes.cpp88
-rw-r--r--src/dialogs/object-attributes.h4
-rw-r--r--src/dialogs/spellcheck.cpp56
-rw-r--r--src/dialogs/spellcheck.h2
-rw-r--r--src/dialogs/text-edit.cpp178
-rw-r--r--src/dialogs/xml-tree.cpp416
16 files changed, 1283 insertions, 1277 deletions
diff --git a/src/dialogs/CMakeLists.txt b/src/dialogs/CMakeLists.txt
index 9bcb1cd5a..6586b78af 100644
--- a/src/dialogs/CMakeLists.txt
+++ b/src/dialogs/CMakeLists.txt
@@ -1,25 +1,28 @@
-SET(dialogs_SRC
-clonetiler.cpp
-dialog-events.cpp
-export.cpp
-extensions.cpp
-fill-style.cpp
-find.cpp
-guidelinedialog.cpp
-iconpreview.cpp
-in-dt-coordsys.cpp
-item-properties.cpp
-layer-properties.cpp
-layers-panel.cpp
-object-attributes.cpp
-rdf.cpp
-sp-attribute-widget.cpp
-stroke-style.cpp
-swatches.cpp
-text-edit.cpp
-unclump.cpp
-xml-tree.cpp
+
+set(dialogs_SRC
+ clonetiler.cpp
+ dialog-events.cpp
+ export.cpp
+ find.cpp
+ item-properties.cpp
+ object-attributes.cpp
+ spellcheck.cpp
+ text-edit.cpp
+ xml-tree.cpp
+
+
+ # -------
+ # Headers
+ clonetiler.h
+ dialog-events.h
+ export.h
+ find.h
+ item-properties.h
+ object-attributes.h
+ spellcheck.h
+ text-edit.h
+ xml-tree.h
)
-ADD_LIBRARY(dialogs STATIC ${dialogs_SRC})
-TARGET_LINK_LIBRARIES(dialogs
-2geom ${INKSCAPE_LIBS})
+
+# add_inkscape_lib(dialogs_LIB "${dialogs_SRC}")
+add_inkscape_source("${dialogs_SRC}")
diff --git a/src/dialogs/clonetiler.cpp b/src/dialogs/clonetiler.cpp
index 2a78cf5a1..1bb6b75d0 100644
--- a/src/dialogs/clonetiler.cpp
+++ b/src/dialogs/clonetiler.cpp
@@ -14,38 +14,44 @@
#ifdef HAVE_CONFIG_H
# include "config.h"
#endif
-#include <glib/gmem.h>
+
+#include <climits>
+#include <glib.h>
#include <gtk/gtk.h>
#include <glibmm/i18n.h>
+#include <2geom/transforms.h>
-#include "../desktop.h"
-#include "../desktop-handles.h"
+#include "desktop.h"
+#include "desktop-handles.h"
#include "dialog-events.h"
-#include "display/nr-arena.h"
-#include "display/nr-arena-item.h"
-#include "../document.h"
-#include "../filter-chemistry.h"
+#include "display/cairo-utils.h"
+#include "display/drawing.h"
+#include "display/drawing-context.h"
+#include "display/drawing-item.h"
+#include "document.h"
+#include "filter-chemistry.h"
#include "helper/unit-menu.h"
#include "helper/units.h"
#include "helper/window.h"
-#include "../inkscape.h"
-#include "../interface.h"
-#include "../macros.h"
-#include "../message-stack.h"
+#include "inkscape.h"
+#include "interface.h"
+#include "macros.h"
+#include "message-stack.h"
#include "preferences.h"
-#include "../selection.h"
-#include "../sp-filter.h"
-#include "../sp-namedview.h"
-#include "../sp-use.h"
-#include "../style.h"
+#include "selection.h"
+#include "sp-filter.h"
+#include "sp-namedview.h"
+#include "sp-use.h"
+#include "style.h"
#include "svg/svg-color.h"
#include "svg/svg.h"
#include "ui/icon-names.h"
#include "ui/widget/color-picker.h"
#include "unclump.h"
-#include "../verbs.h"
+#include "verbs.h"
#include "widgets/icon.h"
#include "xml/repr.h"
+#include "sp-root.h"
using Inkscape::DocumentUndo;
@@ -82,8 +88,7 @@ static sigc::connection _color_changed_connection;
static Inkscape::UI::Widget::ColorPicker *color_picker;
-static void
-clonetiler_dialog_destroy( GtkObject */*object*/, gpointer /*data*/ )
+static void clonetiler_dialog_destroy(GtkObject */*object*/, gpointer /*data*/)
{
sp_signal_disconnect_by_data (INKSCAPE, dlg);
_color_changed_connection.disconnect();
@@ -95,14 +100,17 @@ clonetiler_dialog_destroy( GtkObject */*object*/, gpointer /*data*/ )
}
-static gboolean
-clonetiler_dialog_delete (GtkObject */*object*/, GdkEvent * /*event*/, gpointer /*data*/)
+static gboolean clonetiler_dialog_delete(GtkObject */*object*/, GdkEvent * /*event*/, gpointer /*data*/)
{
gtk_window_get_position ((GtkWindow *) dlg, &x, &y);
gtk_window_get_size ((GtkWindow *) dlg, &w, &h);
- if (x<0) x=0;
- if (y<0) y=0;
+ if (x < 0) {
+ x = 0;
+ }
+ if (y < 0) {
+ y = 0;
+ }
Inkscape::Preferences *prefs = Inkscape::Preferences::get();
prefs->setInt(prefs_path + "x", x);
@@ -114,8 +122,7 @@ clonetiler_dialog_delete (GtkObject */*object*/, GdkEvent * /*event*/, gpointer
}
-static void
-on_picker_color_changed (guint rgba)
+static void on_picker_color_changed(guint rgba)
{
static bool is_updating = false;
if (is_updating || !SP_ACTIVE_DESKTOP)
@@ -131,10 +138,9 @@ on_picker_color_changed (guint rgba)
is_updating = false;
}
-static guint clonetiler_number_of_clones (SPObject *obj);
+static guint clonetiler_number_of_clones(SPObject *obj);
-static void
-clonetiler_change_selection (Inkscape::Application * /*inkscape*/, Inkscape::Selection *selection, GtkWidget *dlg)
+static void clonetiler_change_selection(Inkscape::Application * /*inkscape*/, Inkscape::Selection *selection, GtkWidget *dlg)
{
GtkWidget *buttons = (GtkWidget *) g_object_get_data (G_OBJECT(dlg), "buttons_on_tiles");
GtkWidget *status = (GtkWidget *) g_object_get_data (G_OBJECT(dlg), "status");
@@ -163,15 +169,16 @@ clonetiler_change_selection (Inkscape::Application * /*inkscape*/, Inkscape::Sel
}
}
-static void
-clonetiler_external_change (Inkscape::Application * /*inkscape*/, GtkWidget *dlg)
+static void clonetiler_external_change(Inkscape::Application * /*inkscape*/, GtkWidget *dlg)
{
clonetiler_change_selection (NULL, sp_desktop_selection(SP_ACTIVE_DESKTOP), dlg);
}
-static void clonetiler_disconnect_gsignal (GObject *widget, gpointer source) {
- if (source && G_IS_OBJECT(source))
+static void clonetiler_disconnect_gsignal(GObject *widget, gpointer source)
+{
+ if (source && G_IS_OBJECT(source)) {
sp_signal_disconnect_by_data (source, widget);
+ }
}
@@ -196,9 +203,7 @@ enum {
};
-static Geom::Affine
-clonetiler_get_transform (
-
+static Geom::Affine clonetiler_get_transform(
// symmetry group
int type,
@@ -800,8 +805,7 @@ clonetiler_get_transform (
return Geom::identity();
}
-static bool
-clonetiler_is_a_clone_of (SPObject *tile, SPObject *obj)
+static bool clonetiler_is_a_clone_of(SPObject *tile, SPObject *obj)
{
bool result = false;
char *id_href = NULL;
@@ -828,16 +832,14 @@ clonetiler_is_a_clone_of (SPObject *tile, SPObject *obj)
return result;
}
-static NRArena const *trace_arena = NULL;
+static Inkscape::Drawing *trace_drawing = NULL;
static unsigned trace_visionkey;
-static NRArenaItem *trace_root;
static gdouble trace_zoom;
-static SPDocument *trace_doc;
+static SPDocument *trace_doc = NULL;
-static void
-clonetiler_trace_hide_tiled_clones_recursively (SPObject *from)
+static void clonetiler_trace_hide_tiled_clones_recursively(SPObject *from)
{
- if (!trace_arena)
+ if (!trace_drawing)
return;
for (SPObject *o = from->firstChild(); o != NULL; o = o->next) {
@@ -847,14 +849,13 @@ clonetiler_trace_hide_tiled_clones_recursively (SPObject *from)
}
}
-static void
-clonetiler_trace_setup (SPDocument *doc, gdouble zoom, SPItem *original)
+static void clonetiler_trace_setup(SPDocument *doc, gdouble zoom, SPItem *original)
{
- trace_arena = NRArena::create();
+ trace_drawing = new Inkscape::Drawing();
/* Create ArenaItem and set transform */
trace_visionkey = SPItem::display_key_new(1);
trace_doc = doc;
- trace_root = SP_ITEM(trace_doc->getRoot())->invoke_show((NRArena *) trace_arena, trace_visionkey, SP_ITEM_SHOW_DISPLAY);
+ trace_drawing->setRoot(trace_doc->getRoot()->invoke_show(*trace_drawing, trace_visionkey, SP_ITEM_SHOW_DISPLAY));
// hide the (current) original and any tiled clones, we only want to pick the background
original->invoke_hide(trace_visionkey);
@@ -866,98 +867,46 @@ clonetiler_trace_setup (SPDocument *doc, gdouble zoom, SPItem *original)
trace_zoom = zoom;
}
-static guint32
-clonetiler_trace_pick (Geom::Rect box)
+static guint32 clonetiler_trace_pick(Geom::Rect box)
{
- if (!trace_arena)
+ if (!trace_drawing) {
return 0;
+ }
- Geom::Affine t(Geom::Scale(trace_zoom, trace_zoom));
- nr_arena_item_set_transform(trace_root, &t);
- NRGC gc(NULL);
- gc.transform.setIdentity();
- nr_arena_item_invoke_update( trace_root, NULL, &gc,
- NR_ARENA_ITEM_STATE_ALL,
- NR_ARENA_ITEM_STATE_NONE );
+ trace_drawing->root()->setTransform(Geom::Scale(trace_zoom));
+ trace_drawing->update();
/* Item integer bbox in points */
- NRRectL ibox;
- ibox.x0 = (int) floor(trace_zoom * box[Geom::X].min() + 0.5);
- ibox.y0 = (int) floor(trace_zoom * box[Geom::Y].min() + 0.5);
- ibox.x1 = (int) floor(trace_zoom * box[Geom::X].max() + 0.5);
- ibox.y1 = (int) floor(trace_zoom * box[Geom::Y].max() + 0.5);
+ Geom::IntRect ibox = (box * Geom::Scale(trace_zoom)).roundOutwards();
/* Find visible area */
- int width = ibox.x1 - ibox.x0;
- int height = ibox.y1 - ibox.y0;
-
- /* Set up pixblock */
- guchar *px = g_new(guchar, 4 * width * height);
-
- if (px == NULL) {
- return 0; // buffer is too big or too small, cannot pick, so return 0
- }
-
- memset(px, 0x00, 4 * width * height);
-
+ cairo_surface_t *s = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, ibox.width(), ibox.height());
+ Inkscape::DrawingContext ct(s, ibox.min());
/* Render */
- NRPixBlock pb;
- nr_pixblock_setup_extern( &pb, NR_PIXBLOCK_MODE_R8G8B8A8N,
- ibox.x0, ibox.y0, ibox.x1, ibox.y1,
- px, 4 * width, FALSE, FALSE );
- nr_arena_item_invoke_render(NULL, trace_root, &ibox, &pb,
- NR_ARENA_ITEM_RENDER_NO_CACHE );
-
+ trace_drawing->render(ct, ibox);
double R = 0, G = 0, B = 0, A = 0;
- double count = 0;
- double weight = 0;
-
- for (int y = ibox.y0; y < ibox.y1; y++) {
- const unsigned char *s = NR_PIXBLOCK_PX (&pb) + (y - ibox.y0) * pb.rs;
- for (int x = ibox.x0; x < ibox.x1; x++) {
- count += 1;
- weight += s[3] / 255.0;
- R += s[0] / 255.0;
- G += s[1] / 255.0;
- B += s[2] / 255.0;
- A += s[3] / 255.0;
- s += 4;
- }
- }
-
- nr_pixblock_release(&pb);
-
- R = R / weight;
- G = G / weight;
- B = B / weight;
- A = A / count;
-
- R = CLAMP (R, 0.0, 1.0);
- G = CLAMP (G, 0.0, 1.0);
- B = CLAMP (B, 0.0, 1.0);
- A = CLAMP (A, 0.0, 1.0);
+ ink_cairo_surface_average_color(s, R, G, B, A);
+ cairo_surface_destroy(s);
return SP_RGBA32_F_COMPOSE (R, G, B, A);
}
-static void
-clonetiler_trace_finish ()
+static void clonetiler_trace_finish()
{
if (trace_doc) {
- SP_ITEM(trace_doc->getRoot())->invoke_hide(trace_visionkey);
- }
- if (trace_arena) {
- ((NRObject *) trace_arena)->unreference();
- trace_arena = NULL;
+ trace_doc->getRoot()->invoke_hide(trace_visionkey);
+ delete trace_drawing;
+ trace_doc = NULL;
+ trace_drawing = NULL;
}
}
-static void
-clonetiler_unclump( GtkWidget */*widget*/, void * )
+static void clonetiler_unclump(GtkWidget */*widget*/, void *)
{
SPDesktop *desktop = SP_ACTIVE_DESKTOP;
- if (desktop == NULL)
+ if (desktop == NULL) {
return;
+ }
Inkscape::Selection *selection = sp_desktop_selection(desktop);
@@ -988,8 +937,7 @@ clonetiler_unclump( GtkWidget */*widget*/, void * )
_("Unclump tiled clones"));
}
-static guint
-clonetiler_number_of_clones (SPObject *obj)
+static guint clonetiler_number_of_clones(SPObject *obj)
{
SPObject *parent = obj->parent;
@@ -1004,12 +952,12 @@ clonetiler_number_of_clones (SPObject *obj)
return n;
}
-static void
-clonetiler_remove( GtkWidget */*widget*/, void *, bool do_undo = true )
+static void clonetiler_remove(GtkWidget */*widget*/, void *, bool do_undo = true)
{
SPDesktop *desktop = SP_ACTIVE_DESKTOP;
- if (desktop == NULL)
+ if (desktop == NULL) {
return;
+ }
Inkscape::Selection *selection = sp_desktop_selection(desktop);
@@ -1042,8 +990,7 @@ clonetiler_remove( GtkWidget */*widget*/, void *, bool do_undo = true )
}
}
-static Geom::Rect
-transform_rect( Geom::Rect const &r, Geom::Affine const &m)
+static Geom::Rect transform_rect(Geom::Rect const &r, Geom::Affine const &m)
{
using Geom::X;
using Geom::Y;
@@ -1064,22 +1011,23 @@ transform_rect( Geom::Rect const &r, Geom::Affine const &m)
Randomizes \a val by \a rand, with 0 < val < 1 and all values (including 0, 1) having the same
probability of being displaced.
*/
-static double
-randomize01 (double val, double rand)
+static double randomize01(double val, double rand)
{
double base = MIN (val - rand, 1 - 2*rand);
- if (base < 0) base = 0;
+ if (base < 0) {
+ base = 0;
+ }
val = base + g_random_double_range (0, MIN (2 * rand, 1 - base));
return CLAMP(val, 0, 1); // this should be unnecessary with the above provisions, but just in case...
}
-static void
-clonetiler_apply( GtkWidget */*widget*/, void * )
+static void clonetiler_apply(GtkWidget */*widget*/, void *)
{
SPDesktop *desktop = SP_ACTIVE_DESKTOP;
- if (desktop == NULL)
+ if (desktop == NULL) {
return;
+ }
Inkscape::Preferences *prefs = Inkscape::Preferences::get();
Inkscape::Selection *selection = sp_desktop_selection(desktop);
@@ -1105,6 +1053,7 @@ clonetiler_apply( GtkWidget */*widget*/, void * )
gdk_window_process_all_updates();
SPObject *obj = selection->singleItem();
+ SPItem *item = SP_IS_ITEM(obj) ? SP_ITEM(obj) : 0;
Inkscape::XML::Node *obj_repr = obj->getRepr();
const char *id_href = g_strdup_printf("#%s", obj_repr->attribute("id"));
SPObject *parent = obj->parent;
@@ -1194,7 +1143,7 @@ clonetiler_apply( GtkWidget */*widget*/, void * )
double gamma_picked = prefs->getDoubleLimited(prefs_path + "gamma_picked", 0, -10, 10);
if (dotrace) {
- clonetiler_trace_setup (sp_desktop_document(desktop), 1.0, SP_ITEM (obj));
+ clonetiler_trace_setup (sp_desktop_document(desktop), 1.0, item);
}
Geom::Point center;
@@ -1221,16 +1170,15 @@ clonetiler_apply( GtkWidget */*widget*/, void * )
y0 = sp_repr_get_double_attribute (obj_repr, "inkscape:tile-y0", 0);
} else {
bool prefs_bbox = prefs->getBool("/tools/bounding_box", false);
- SPItem::BBoxType bbox_type = ( prefs_bbox ?
- SPItem::APPROXIMATE_BBOX : SPItem::GEOMETRIC_BBOX );
- Geom::OptRect r = SP_ITEM(obj)->getBounds(SP_ITEM(obj)->i2doc_affine(),
- bbox_type);
+ SPItem::BBoxType bbox_type = ( !prefs_bbox ?
+ SPItem::VISUAL_BBOX : SPItem::GEOMETRIC_BBOX );
+ Geom::OptRect r = item->documentBounds(bbox_type);
if (r) {
w = r->dimensions()[Geom::X];
h = r->dimensions()[Geom::Y];
x0 = r->min()[Geom::X];
y0 = r->min()[Geom::Y];
- center = desktop->dt2doc(SP_ITEM(obj)->getCenter());
+ center = desktop->dt2doc(item->getCenter());
sp_repr_set_svg_double(obj_repr, "inkscape:tile-cx", center[Geom::X]);
sp_repr_set_svg_double(obj_repr, "inkscape:tile-cy", center[Geom::Y]);
@@ -1429,11 +1377,11 @@ clonetiler_apply( GtkWidget */*widget*/, void * )
}
if (opacity < 1e-6) { // invisibly transparent, skip
- continue;
+ continue;
}
if (fabs(t[0]) + fabs (t[1]) + fabs(t[2]) + fabs(t[3]) < 1e-6) { // too small, skip
- continue;
+ continue;
}
// Create the clone
@@ -1446,7 +1394,7 @@ clonetiler_apply( GtkWidget */*widget*/, void * )
Geom::Point new_center;
bool center_set = false;
if (obj_repr->attribute("inkscape:transform-center-x") || obj_repr->attribute("inkscape:transform-center-y")) {
- new_center = desktop->dt2doc(SP_ITEM(obj)->getCenter()) * t;
+ new_center = desktop->dt2doc(item->getCenter()) * t;
center_set = true;
}
@@ -1506,8 +1454,7 @@ clonetiler_apply( GtkWidget */*widget*/, void * )
_("Create tiled clones"));
}
-static GtkWidget *
-clonetiler_new_tab (GtkWidget *nb, const gchar *label)
+static GtkWidget * clonetiler_new_tab(GtkWidget *nb, const gchar *label)
{
GtkWidget *l = gtk_label_new_with_mnemonic (label);
GtkWidget *vb = gtk_vbox_new (FALSE, VB_MARGIN);
@@ -1516,76 +1463,75 @@ clonetiler_new_tab (GtkWidget *nb, const gchar *label)
return vb;
}
-static void
-clonetiler_checkbox_toggled (GtkToggleButton *tb, gpointer *data)
+static void clonetiler_checkbox_toggled(GtkToggleButton *tb, gpointer *data)
{
const gchar *attr = (const gchar *) data;
Inkscape::Preferences *prefs = Inkscape::Preferences::get();
prefs->setBool(prefs_path + attr, gtk_toggle_button_get_active(tb));
}
-static GtkWidget *
-clonetiler_checkbox (GtkTooltips *tt, const char *tip, const char *attr)
+static GtkWidget * clonetiler_checkbox(const char *tip, const char *attr)
{
GtkWidget *hb = gtk_hbox_new(FALSE, VB_MARGIN);
GtkWidget *b = gtk_check_button_new ();
- gtk_tooltips_set_tip (GTK_TOOLTIPS (tt), b, tip, NULL);
+ gtk_widget_set_tooltip_text (b, tip);
Inkscape::Preferences *prefs = Inkscape::Preferences::get();
bool value = prefs->getBool(prefs_path + attr);
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(b), value);
gtk_box_pack_end (GTK_BOX (hb), b, FALSE, TRUE, 0);
- gtk_signal_connect ( GTK_OBJECT (b), "clicked",
- GTK_SIGNAL_FUNC (clonetiler_checkbox_toggled), (gpointer) attr);
+ g_signal_connect ( G_OBJECT (b), "clicked",
+ G_CALLBACK (clonetiler_checkbox_toggled), (gpointer) attr);
g_object_set_data (G_OBJECT(b), "uncheckable", GINT_TO_POINTER(TRUE));
return hb;
}
-
-static void
-clonetiler_value_changed (GtkAdjustment *adj, gpointer data)
+static void clonetiler_value_changed(GtkAdjustment *adj, gpointer data)
{
Inkscape::Preferences *prefs = Inkscape::Preferences::get();
const gchar *pref = (const gchar *) data;
prefs->setDouble(prefs_path + pref, adj->value);
}
-static GtkWidget *
-clonetiler_spinbox (GtkTooltips *tt, const char *tip, const char *attr, double lower, double upper, const gchar *suffix, bool exponent = false)
+static GtkWidget * clonetiler_spinbox(const char *tip, const char *attr, double lower, double upper, const gchar *suffix, bool exponent = false)
{
GtkWidget *hb = gtk_hbox_new(FALSE, 0);
{
GtkObject *a;
- if (exponent)
- a = gtk_adjustment_new(1.0, lower, upper, 0.01, 0.05, 0.1);
- else
- a = gtk_adjustment_new(0.0, lower, upper, 0.1, 0.5, 2);
+ if (exponent) {
+ a = gtk_adjustment_new(1.0, lower, upper, 0.01, 0.05, 0);
+ } else {
+ a = gtk_adjustment_new(0.0, lower, upper, 0.1, 0.5, 0);
+ }
GtkWidget *sb;
- if (exponent)
+ if (exponent) {
sb = gtk_spin_button_new (GTK_ADJUSTMENT (a), 0.01, 2);
- else
+ } else {
sb = gtk_spin_button_new (GTK_ADJUSTMENT (a), 0.1, 1);
+ }
- gtk_tooltips_set_tip (GTK_TOOLTIPS (tt), sb, tip, NULL);
- gtk_entry_set_width_chars (GTK_ENTRY (sb), 4);
+ gtk_widget_set_tooltip_text (sb, tip);
+ gtk_entry_set_width_chars (GTK_ENTRY (sb), 5);
+ gtk_spin_button_set_digits(GTK_SPIN_BUTTON(sb), 3);
gtk_box_pack_start (GTK_BOX (hb), sb, FALSE, FALSE, SB_MARGIN);
Inkscape::Preferences *prefs = Inkscape::Preferences::get();
double value = prefs->getDoubleLimited(prefs_path + attr, exponent? 1.0 : 0.0, lower, upper);
gtk_adjustment_set_value (GTK_ADJUSTMENT (a), value);
- gtk_signal_connect(GTK_OBJECT(a), "value_changed",
- GTK_SIGNAL_FUNC(clonetiler_value_changed), (gpointer) attr);
+ g_signal_connect(G_OBJECT(a), "value_changed",
+ G_CALLBACK(clonetiler_value_changed), (gpointer) attr);
- if (exponent)
+ if (exponent) {
g_object_set_data (G_OBJECT(sb), "oneable", GINT_TO_POINTER(TRUE));
- else
+ } else {
g_object_set_data (G_OBJECT(sb), "zeroable", GINT_TO_POINTER(TRUE));
+ }
}
{
@@ -1598,31 +1544,27 @@ clonetiler_spinbox (GtkTooltips *tt, const char *tip, const char *attr, double l
return hb;
}
-static void
-clonetiler_symgroup_changed( GtkMenuItem */*item*/, gpointer data )
+static void clonetiler_symgroup_changed(GtkComboBox *cb, gpointer /*data*/)
{
Inkscape::Preferences *prefs = Inkscape::Preferences::get();
- gint group_new = GPOINTER_TO_INT (data);
+ gint group_new = gtk_combo_box_get_active (cb);
prefs->setInt(prefs_path + "symmetrygroup", group_new);
}
-static void
-clonetiler_xy_changed (GtkAdjustment *adj, gpointer data)
+static void clonetiler_xy_changed(GtkAdjustment *adj, gpointer data)
{
Inkscape::Preferences *prefs = Inkscape::Preferences::get();
const gchar *pref = (const gchar *) data;
prefs->setInt(prefs_path + pref, (int) floor(adj->value + 0.5));
}
-static void
-clonetiler_keep_bbox_toggled( GtkToggleButton *tb, gpointer /*data*/ )
+static void clonetiler_keep_bbox_toggled(GtkToggleButton *tb, gpointer /*data*/)
{
Inkscape::Preferences *prefs = Inkscape::Preferences::get();
prefs->setBool(prefs_path + "keepbbox", gtk_toggle_button_get_active(tb));
}
-static void
-clonetiler_pick_to (GtkToggleButton *tb, gpointer data)
+static void clonetiler_pick_to(GtkToggleButton *tb, gpointer data)
{
Inkscape::Preferences *prefs = Inkscape::Preferences::get();
const gchar *pref = (const gchar *) data;
@@ -1630,26 +1572,25 @@ clonetiler_pick_to (GtkToggleButton *tb, gpointer data)
}
-static void
-clonetiler_reset_recursive (GtkWidget *w)
+static void clonetiler_reset_recursive(GtkWidget *w)
{
if (w && GTK_IS_OBJECT(w)) {
{
- int r = GPOINTER_TO_INT (gtk_object_get_data (GTK_OBJECT(w), "zeroable"));
+ int r = GPOINTER_TO_INT (g_object_get_data(G_OBJECT(w), "zeroable"));
if (r && GTK_IS_SPIN_BUTTON(w)) { // spinbutton
GtkAdjustment *a = gtk_spin_button_get_adjustment (GTK_SPIN_BUTTON(w));
gtk_adjustment_set_value (a, 0);
}
}
{
- int r = GPOINTER_TO_INT (gtk_object_get_data (GTK_OBJECT(w), "oneable"));
+ int r = GPOINTER_TO_INT (g_object_get_data(G_OBJECT(w), "oneable"));
if (r && GTK_IS_SPIN_BUTTON(w)) { // spinbutton
GtkAdjustment *a = gtk_spin_button_get_adjustment (GTK_SPIN_BUTTON(w));
gtk_adjustment_set_value (a, 1);
}
}
{
- int r = GPOINTER_TO_INT (gtk_object_get_data (GTK_OBJECT(w), "uncheckable"));
+ int r = GPOINTER_TO_INT (g_object_get_data(G_OBJECT(w), "uncheckable"));
if (r && GTK_IS_TOGGLE_BUTTON(w)) { // checkbox
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(w), FALSE);
}
@@ -1665,22 +1606,19 @@ clonetiler_reset_recursive (GtkWidget *w)
}
}
-static void
-clonetiler_reset( GtkWidget */*widget*/, void * )
+static void clonetiler_reset(GtkWidget */*widget*/, void *)
{
clonetiler_reset_recursive (dlg);
}
-static void
-clonetiler_table_attach (GtkWidget *table, GtkWidget *widget, float align, int row, int col)
+static void clonetiler_table_attach(GtkWidget *table, GtkWidget *widget, float align, int row, int col)
{
GtkWidget *a = gtk_alignment_new (align, 0, 0, 0);
gtk_container_add(GTK_CONTAINER(a), widget);
gtk_table_attach ( GTK_TABLE (table), a, col, col + 1, row, row + 1, (GtkAttachOptions)4, (GtkAttachOptions)0, 0, 0 );
}
-static GtkWidget *
-clonetiler_table_x_y_rand (int values)
+static GtkWidget * clonetiler_table_x_y_rand(int values)
{
GtkWidget *table = gtk_table_new (values + 2, 5, FALSE);
gtk_container_set_border_width (GTK_CONTAINER (table), VB_MARGIN);
@@ -1690,7 +1628,7 @@ clonetiler_table_x_y_rand (int values)
{
GtkWidget *hb = gtk_hbox_new (FALSE, 0);
- GtkWidget *i = sp_icon_new (Inkscape::ICON_SIZE_DECORATION, INKSCAPE_ICON_OBJECT_ROWS);
+ GtkWidget *i = sp_icon_new (Inkscape::ICON_SIZE_DECORATION, INKSCAPE_ICON("object-rows"));
gtk_box_pack_start (GTK_BOX (hb), i, FALSE, FALSE, 2);
GtkWidget *l = gtk_label_new ("");
@@ -1703,7 +1641,7 @@ clonetiler_table_x_y_rand (int values)
{
GtkWidget *hb = gtk_hbox_new (FALSE, 0);
- GtkWidget *i = sp_icon_new (Inkscape::ICON_SIZE_DECORATION, INKSCAPE_ICON_OBJECT_COLUMNS);
+ GtkWidget *i = sp_icon_new (Inkscape::ICON_SIZE_DECORATION, INKSCAPE_ICON("object-columns"));
gtk_box_pack_start (GTK_BOX (hb), i, FALSE, FALSE, 2);
GtkWidget *l = gtk_label_new ("");
@@ -1722,8 +1660,7 @@ clonetiler_table_x_y_rand (int values)
return table;
}
-static void
-clonetiler_pick_switched( GtkToggleButton */*tb*/, gpointer data )
+static void clonetiler_pick_switched(GtkToggleButton */*tb*/, gpointer data)
{
Inkscape::Preferences *prefs = Inkscape::Preferences::get();
guint v = GPOINTER_TO_INT (data);
@@ -1731,8 +1668,7 @@ clonetiler_pick_switched( GtkToggleButton */*tb*/, gpointer data )
}
-static void
-clonetiler_switch_to_create( GtkToggleButton */*tb*/, GtkWidget *dlg )
+static void clonetiler_switch_to_create(GtkToggleButton */*tb*/, GtkWidget *dlg)
{
GtkWidget *rowscols = (GtkWidget *) g_object_get_data (G_OBJECT(dlg), "rowscols");
GtkWidget *widthheight = (GtkWidget *) g_object_get_data (G_OBJECT(dlg), "widthheight");
@@ -1749,8 +1685,7 @@ clonetiler_switch_to_create( GtkToggleButton */*tb*/, GtkWidget *dlg )
}
-static void
-clonetiler_switch_to_fill( GtkToggleButton */*tb*/, GtkWidget *dlg )
+static void clonetiler_switch_to_fill(GtkToggleButton */*tb*/, GtkWidget *dlg)
{
GtkWidget *rowscols = (GtkWidget *) g_object_get_data (G_OBJECT(dlg), "rowscols");
GtkWidget *widthheight = (GtkWidget *) g_object_get_data (G_OBJECT(dlg), "widthheight");
@@ -1769,8 +1704,7 @@ clonetiler_switch_to_fill( GtkToggleButton */*tb*/, GtkWidget *dlg )
-static void
-clonetiler_fill_width_changed (GtkAdjustment *adj, GtkWidget *u)
+static void clonetiler_fill_width_changed(GtkAdjustment *adj, GtkWidget *u)
{
gdouble const raw_dist = adj->value;
SPUnit const &unit = *sp_unit_selector_get_unit(SP_UNIT_SELECTOR(u));
@@ -1780,8 +1714,7 @@ clonetiler_fill_width_changed (GtkAdjustment *adj, GtkWidget *u)
prefs->setDouble(prefs_path + "fillwidth", pixels);
}
-static void
-clonetiler_fill_height_changed (GtkAdjustment *adj, GtkWidget *u)
+static void clonetiler_fill_height_changed(GtkAdjustment *adj, GtkWidget *u)
{
gdouble const raw_dist = adj->value;
SPUnit const &unit = *sp_unit_selector_get_unit(SP_UNIT_SELECTOR(u));
@@ -1792,23 +1725,22 @@ clonetiler_fill_height_changed (GtkAdjustment *adj, GtkWidget *u)
}
-static void
-clonetiler_do_pick_toggled( GtkToggleButton *tb, gpointer /*data*/ )
+static void clonetiler_do_pick_toggled(GtkToggleButton *tb, gpointer /*data*/)
{
GtkWidget *vvb = (GtkWidget *) g_object_get_data (G_OBJECT(dlg), "dotrace");
Inkscape::Preferences *prefs = Inkscape::Preferences::get();
prefs->setBool(prefs_path + "dotrace", gtk_toggle_button_get_active (tb));
- if (vvb)
+ if (vvb) {
gtk_widget_set_sensitive (vvb, gtk_toggle_button_get_active (tb));
+ }
}
-void
-clonetiler_dialog (void)
+void clonetiler_dialog(void)
{
Inkscape::Preferences *prefs = Inkscape::Preferences::get();
if (!dlg)
@@ -1846,18 +1778,16 @@ clonetiler_dialog (void)
wd.stop = 0;
- gtk_signal_connect ( GTK_OBJECT (dlg), "event", GTK_SIGNAL_FUNC (sp_dialog_event_handler), dlg);
+ g_signal_connect ( G_OBJECT (dlg), "event", G_CALLBACK (sp_dialog_event_handler), dlg);
- gtk_signal_connect ( GTK_OBJECT (dlg), "destroy", G_CALLBACK (clonetiler_dialog_destroy), dlg);
- gtk_signal_connect ( GTK_OBJECT (dlg), "delete_event", G_CALLBACK (clonetiler_dialog_delete), dlg);
+ g_signal_connect ( G_OBJECT (dlg), "destroy", G_CALLBACK (clonetiler_dialog_destroy), dlg);
+ g_signal_connect ( G_OBJECT (dlg), "delete_event", G_CALLBACK (clonetiler_dialog_delete), dlg);
g_signal_connect ( G_OBJECT (INKSCAPE), "shut_down", G_CALLBACK (clonetiler_dialog_delete), dlg);
g_signal_connect ( G_OBJECT (INKSCAPE), "dialogs_hide", G_CALLBACK (sp_dialog_hide), dlg);
g_signal_connect ( G_OBJECT (INKSCAPE), "dialogs_unhide", G_CALLBACK (sp_dialog_unhide), dlg);
g_signal_connect ( G_OBJECT (INKSCAPE), "activate_desktop", G_CALLBACK (sp_transientize_callback), &wd);
- GtkTooltips *tt = gtk_tooltips_new();
-
GtkWidget *mainbox = gtk_vbox_new(FALSE, 4);
gtk_container_set_border_width (GTK_CONTAINER (mainbox), 6);
gtk_container_add (GTK_CONTAINER (dlg), mainbox);
@@ -1870,20 +1800,13 @@ clonetiler_dialog (void)
{
GtkWidget *vb = clonetiler_new_tab (nb, _("_Symmetry"));
- GtkWidget *om = gtk_option_menu_new ();
- /* TRANSLATORS: For the following 17 symmetry groups, see
+ /* TRANSLATORS: For the following 17 symmetry groups, see
* http://www.bib.ulb.ac.be/coursmath/doc/17.htm (visual examples);
* http://www.clarku.edu/~djoyce/wallpaper/seventeen.html (English vocabulary); or
* http://membres.lycos.fr/villemingerard/Geometri/Sym1D.htm (French vocabulary).
*/
- gtk_tooltips_set_tip (GTK_TOOLTIPS (tt), om, _("Select one of the 17 symmetry groups for the tiling"), NULL);
- gtk_box_pack_start (GTK_BOX (vb), om, FALSE, FALSE, SB_MARGIN);
-
- GtkWidget *m = gtk_menu_new ();
- int current = prefs->getInt(prefs_path + "symmetrygroup", 0);
-
struct SymGroups {
- int group;
+ gint group;
gchar const *label;
} const sym_groups[] = {
// TRANSLATORS: "translation" means "shift" / "displacement" here.
@@ -1908,25 +1831,40 @@ clonetiler_dialog (void)
{TILE_P6M, _("<b>P6M</b>: reflection + 60&#176; rotation")},
};
- for (unsigned j = 0; j < G_N_ELEMENTS(sym_groups); ++j) {
+ gint current = prefs->getInt(prefs_path + "symmetrygroup", 0);
+
+ // Create a list structure containing all the data to be displayed in
+ // the symmetry group combo box.
+ GtkListStore *store = gtk_list_store_new (1, G_TYPE_STRING);
+ GtkTreeIter iter;
+
+ for (unsigned j = 0; j < G_N_ELEMENTS(sym_groups); ++j) {
SymGroups const &sg = sym_groups[j];
- GtkWidget *l = gtk_label_new ("");
- gtk_label_set_markup (GTK_LABEL(l), sg.label);
- gtk_misc_set_alignment (GTK_MISC(l), 0, 0.5);
+ // Add the description of the symgroup to a new row
+ gtk_list_store_append (store, &iter);
+ gtk_list_store_set (store, &iter,
+ 0, sg.label,
+ -1);
+ }
- GtkWidget *item = gtk_menu_item_new ();
- gtk_container_add (GTK_CONTAINER (item), l);
+ // Add a new combo box widget with the list of symmetry groups to the vbox
+ GtkWidget *combo = gtk_combo_box_new_with_model (GTK_TREE_MODEL (store));
+ gtk_widget_set_tooltip_text (combo, _("Select one of the 17 symmetry groups for the tiling"));
+ gtk_box_pack_start (GTK_BOX (vb), combo, FALSE, FALSE, SB_MARGIN);
- gtk_signal_connect ( GTK_OBJECT (item), "activate",
- GTK_SIGNAL_FUNC (clonetiler_symgroup_changed),
- GINT_TO_POINTER (sg.group) );
+ // Specify the rendering of data from the list in a combo box cell
+ GtkCellRenderer *renderer = gtk_cell_renderer_text_new ();
+ gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combo), renderer, FALSE);
+ gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (combo), renderer,
+ "markup", 0,
+ NULL);
- gtk_menu_append (GTK_MENU (m), item);
- }
+ gtk_combo_box_set_active (GTK_COMBO_BOX (combo), current);
- gtk_option_menu_set_menu (GTK_OPTION_MENU (om), m);
- gtk_option_menu_set_history ( GTK_OPTION_MENU (om), current);
+ g_signal_connect (G_OBJECT (combo), "changed",
+ G_CALLBACK (clonetiler_symgroup_changed),
+ NULL);
}
table_row_labels = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
@@ -1949,7 +1887,7 @@ clonetiler_dialog (void)
}
{
- GtkWidget *l = clonetiler_spinbox (tt,
+ GtkWidget *l = clonetiler_spinbox (
// xgettext:no-c-format
_("Horizontal shift per row (in % of tile width)"), "shiftx_per_j",
-10000, 10000, "%");
@@ -1957,7 +1895,7 @@ clonetiler_dialog (void)
}
{
- GtkWidget *l = clonetiler_spinbox (tt,
+ GtkWidget *l = clonetiler_spinbox (
// xgettext:no-c-format
_("Horizontal shift per column (in % of tile width)"), "shiftx_per_i",
-10000, 10000, "%");
@@ -1965,8 +1903,7 @@ clonetiler_dialog (void)
}
{
- GtkWidget *l = clonetiler_spinbox (tt,
- _("Randomize the horizontal shift by this percentage"), "shiftx_rand",
+ GtkWidget *l = clonetiler_spinbox (_("Randomize the horizontal shift by this percentage"), "shiftx_rand",
0, 1000, "%");
clonetiler_table_attach (table, l, 0, 2, 4);
}
@@ -1982,7 +1919,7 @@ clonetiler_dialog (void)
}
{
- GtkWidget *l = clonetiler_spinbox (tt,
+ GtkWidget *l = clonetiler_spinbox (
// xgettext:no-c-format
_("Vertical shift per row (in % of tile height)"), "shifty_per_j",
-10000, 10000, "%");
@@ -1990,7 +1927,7 @@ clonetiler_dialog (void)
}
{
- GtkWidget *l = clonetiler_spinbox (tt,
+ GtkWidget *l = clonetiler_spinbox (
// xgettext:no-c-format
_("Vertical shift per column (in % of tile height)"), "shifty_per_i",
-10000, 10000, "%");
@@ -1998,7 +1935,7 @@ clonetiler_dialog (void)
}
{
- GtkWidget *l = clonetiler_spinbox (tt,
+ GtkWidget *l = clonetiler_spinbox (
_("Randomize the vertical shift by this percentage"), "shifty_rand",
0, 1000, "%");
clonetiler_table_attach (table, l, 0, 3, 4);
@@ -2013,14 +1950,14 @@ clonetiler_dialog (void)
}
{
- GtkWidget *l = clonetiler_spinbox (tt,
+ GtkWidget *l = clonetiler_spinbox (
_("Whether rows are spaced evenly (1), converge (<1) or diverge (>1)"), "shifty_exp",
0, 10, "", true);
clonetiler_table_attach (table, l, 0, 4, 2);
}
{
- GtkWidget *l = clonetiler_spinbox (tt,
+ GtkWidget *l = clonetiler_spinbox (
_("Whether columns are spaced evenly (1), converge (<1) or diverge (>1)"), "shiftx_exp",
0, 10, "", true);
clonetiler_table_attach (table, l, 0, 4, 3);
@@ -2035,12 +1972,12 @@ clonetiler_dialog (void)
}
{
- GtkWidget *l = clonetiler_checkbox (tt, _("Alternate the sign of shifts for each row"), "shifty_alternate");
+ GtkWidget *l = clonetiler_checkbox (_("Alternate the sign of shifts for each row"), "shifty_alternate");
clonetiler_table_attach (table, l, 0, 5, 2);
}
{
- GtkWidget *l = clonetiler_checkbox (tt, _("Alternate the sign of shifts for each column"), "shiftx_alternate");
+ GtkWidget *l = clonetiler_checkbox (_("Alternate the sign of shifts for each column"), "shiftx_alternate");
clonetiler_table_attach (table, l, 0, 5, 3);
}
@@ -2053,12 +1990,12 @@ clonetiler_dialog (void)
}
{
- GtkWidget *l = clonetiler_checkbox (tt, _("Cumulate the shifts for each row"), "shifty_cumulate");
+ GtkWidget *l = clonetiler_checkbox (_("Cumulate the shifts for each row"), "shifty_cumulate");
clonetiler_table_attach (table, l, 0, 6, 2);
}
{
- GtkWidget *l = clonetiler_checkbox (tt, _("Cumulate the shifts for each column"), "shiftx_cumulate");
+ GtkWidget *l = clonetiler_checkbox (_("Cumulate the shifts for each column"), "shiftx_cumulate");
clonetiler_table_attach (table, l, 0, 6, 3);
}
@@ -2071,12 +2008,12 @@ clonetiler_dialog (void)
}
{
- GtkWidget *l = clonetiler_checkbox (tt, _("Exclude tile height in shift"), "shifty_excludeh");
+ GtkWidget *l = clonetiler_checkbox (_("Exclude tile height in shift"), "shifty_excludeh");
clonetiler_table_attach (table, l, 0, 7, 2);
}
{
- GtkWidget *l = clonetiler_checkbox (tt, _("Exclude tile width in shift"), "shiftx_excludew");
+ GtkWidget *l = clonetiler_checkbox (_("Exclude tile width in shift"), "shiftx_excludew");
clonetiler_table_attach (table, l, 0, 7, 3);
}
@@ -2099,7 +2036,7 @@ clonetiler_dialog (void)
}
{
- GtkWidget *l = clonetiler_spinbox (tt,
+ GtkWidget *l = clonetiler_spinbox (
// xgettext:no-c-format
_("Horizontal scale per row (in % of tile width)"), "scalex_per_j",
-100, 1000, "%");
@@ -2107,7 +2044,7 @@ clonetiler_dialog (void)
}
{
- GtkWidget *l = clonetiler_spinbox (tt,
+ GtkWidget *l = clonetiler_spinbox (
// xgettext:no-c-format
_("Horizontal scale per column (in % of tile width)"), "scalex_per_i",
-100, 1000, "%");
@@ -2115,8 +2052,7 @@ clonetiler_dialog (void)
}
{
- GtkWidget *l = clonetiler_spinbox (tt,
- _("Randomize the horizontal scale by this percentage"), "scalex_rand",
+ GtkWidget *l = clonetiler_spinbox (_("Randomize the horizontal scale by this percentage"), "scalex_rand",
0, 1000, "%");
clonetiler_table_attach (table, l, 0, 2, 4);
}
@@ -2130,7 +2066,7 @@ clonetiler_dialog (void)
}
{
- GtkWidget *l = clonetiler_spinbox (tt,
+ GtkWidget *l = clonetiler_spinbox (
// xgettext:no-c-format
_("Vertical scale per row (in % of tile height)"), "scaley_per_j",
-100, 1000, "%");
@@ -2138,7 +2074,7 @@ clonetiler_dialog (void)
}
{
- GtkWidget *l = clonetiler_spinbox (tt,
+ GtkWidget *l = clonetiler_spinbox (
// xgettext:no-c-format
_("Vertical scale per column (in % of tile height)"), "scaley_per_i",
-100, 1000, "%");
@@ -2146,8 +2082,7 @@ clonetiler_dialog (void)
}
{
- GtkWidget *l = clonetiler_spinbox (tt,
- _("Randomize the vertical scale by this percentage"), "scaley_rand",
+ GtkWidget *l = clonetiler_spinbox (_("Randomize the vertical scale by this percentage"), "scaley_rand",
0, 1000, "%");
clonetiler_table_attach (table, l, 0, 3, 4);
}
@@ -2161,15 +2096,13 @@ clonetiler_dialog (void)
}
{
- GtkWidget *l = clonetiler_spinbox (tt,
- _("Whether row scaling is uniform (1), converge (<1) or diverge (>1)"), "scaley_exp",
+ GtkWidget *l = clonetiler_spinbox (_("Whether row scaling is uniform (1), converge (<1) or diverge (>1)"), "scaley_exp",
0, 10, "", true);
clonetiler_table_attach (table, l, 0, 4, 2);
}
{
- GtkWidget *l = clonetiler_spinbox (tt,
- _("Whether column scaling is uniform (1), converge (<1) or diverge (>1)"), "scalex_exp",
+ GtkWidget *l = clonetiler_spinbox (_("Whether column scaling is uniform (1), converge (<1) or diverge (>1)"), "scalex_exp",
0, 10, "", true);
clonetiler_table_attach (table, l, 0, 4, 3);
}
@@ -2183,15 +2116,13 @@ clonetiler_dialog (void)
}
{
- GtkWidget *l = clonetiler_spinbox (tt,
- _("Base for a logarithmic spiral: not used (0), converge (<1), or diverge (>1)"), "scaley_log",
+ GtkWidget *l = clonetiler_spinbox (_("Base for a logarithmic spiral: not used (0), converge (<1), or diverge (>1)"), "scaley_log",
0, 10, "", false);
clonetiler_table_attach (table, l, 0, 5, 2);
}
{
- GtkWidget *l = clonetiler_spinbox (tt,
- _("Base for a logarithmic spiral: not used (0), converge (<1), or diverge (>1)"), "scalex_log",
+ GtkWidget *l = clonetiler_spinbox (_("Base for a logarithmic spiral: not used (0), converge (<1), or diverge (>1)"), "scalex_log",
0, 10, "", false);
clonetiler_table_attach (table, l, 0, 5, 3);
}
@@ -2205,12 +2136,12 @@ clonetiler_dialog (void)
}
{
- GtkWidget *l = clonetiler_checkbox (tt, _("Alternate the sign of scales for each row"), "scaley_alternate");
+ GtkWidget *l = clonetiler_checkbox (_("Alternate the sign of scales for each row"), "scaley_alternate");
clonetiler_table_attach (table, l, 0, 6, 2);
}
{
- GtkWidget *l = clonetiler_checkbox (tt, _("Alternate the sign of scales for each column"), "scalex_alternate");
+ GtkWidget *l = clonetiler_checkbox (_("Alternate the sign of scales for each column"), "scalex_alternate");
clonetiler_table_attach (table, l, 0, 6, 3);
}
@@ -2223,12 +2154,12 @@ clonetiler_dialog (void)
}
{
- GtkWidget *l = clonetiler_checkbox (tt, _("Cumulate the scales for each row"), "scaley_cumulate");
+ GtkWidget *l = clonetiler_checkbox (_("Cumulate the scales for each row"), "scaley_cumulate");
clonetiler_table_attach (table, l, 0, 7, 2);
}
{
- GtkWidget *l = clonetiler_checkbox (tt, _("Cumulate the scales for each column"), "scalex_cumulate");
+ GtkWidget *l = clonetiler_checkbox (_("Cumulate the scales for each column"), "scalex_cumulate");
clonetiler_table_attach (table, l, 0, 7, 3);
}
@@ -2251,7 +2182,7 @@ clonetiler_dialog (void)
}
{
- GtkWidget *l = clonetiler_spinbox (tt,
+ GtkWidget *l = clonetiler_spinbox (
// xgettext:no-c-format
_("Rotate tiles by this angle for each row"), "rotate_per_j",
-180, 180, "&#176;");
@@ -2259,7 +2190,7 @@ clonetiler_dialog (void)
}
{
- GtkWidget *l = clonetiler_spinbox (tt,
+ GtkWidget *l = clonetiler_spinbox (
// xgettext:no-c-format
_("Rotate tiles by this angle for each column"), "rotate_per_i",
-180, 180, "&#176;");
@@ -2267,8 +2198,7 @@ clonetiler_dialog (void)
}
{
- GtkWidget *l = clonetiler_spinbox (tt,
- _("Randomize the rotation angle by this percentage"), "rotate_rand",
+ GtkWidget *l = clonetiler_spinbox (_("Randomize the rotation angle by this percentage"), "rotate_rand",
0, 100, "%");
clonetiler_table_attach (table, l, 0, 2, 4);
}
@@ -2282,12 +2212,12 @@ clonetiler_dialog (void)
}
{
- GtkWidget *l = clonetiler_checkbox (tt, _("Alternate the rotation direction for each row"), "rotate_alternatej");
+ GtkWidget *l = clonetiler_checkbox (_("Alternate the rotation direction for each row"), "rotate_alternatej");
clonetiler_table_attach (table, l, 0, 3, 2);
}
{
- GtkWidget *l = clonetiler_checkbox (tt, _("Alternate the rotation direction for each column"), "rotate_alternatei");
+ GtkWidget *l = clonetiler_checkbox (_("Alternate the rotation direction for each column"), "rotate_alternatei");
clonetiler_table_attach (table, l, 0, 3, 3);
}
@@ -2300,12 +2230,12 @@ clonetiler_dialog (void)
}
{
- GtkWidget *l = clonetiler_checkbox (tt, _("Cumulate the rotation for each row"), "rotate_cumulatej");
+ GtkWidget *l = clonetiler_checkbox (_("Cumulate the rotation for each row"), "rotate_cumulatej");
clonetiler_table_attach (table, l, 0, 4, 2);
}
{
- GtkWidget *l = clonetiler_checkbox (tt, _("Cumulate the rotation for each column"), "rotate_cumulatei");
+ GtkWidget *l = clonetiler_checkbox (_("Cumulate the rotation for each column"), "rotate_cumulatei");
clonetiler_table_attach (table, l, 0, 4, 3);
}
@@ -2329,22 +2259,19 @@ clonetiler_dialog (void)
}
{
- GtkWidget *l = clonetiler_spinbox (tt,
- _("Blur tiles by this percentage for each row"), "blur_per_j",
+ GtkWidget *l = clonetiler_spinbox (_("Blur tiles by this percentage for each row"), "blur_per_j",
0, 100, "%");
clonetiler_table_attach (table, l, 0, 2, 2);
}
{
- GtkWidget *l = clonetiler_spinbox (tt,
- _("Blur tiles by this percentage for each column"), "blur_per_i",
+ GtkWidget *l = clonetiler_spinbox (_("Blur tiles by this percentage for each column"), "blur_per_i",
0, 100, "%");
clonetiler_table_attach (table, l, 0, 2, 3);
}
{
- GtkWidget *l = clonetiler_spinbox (tt,
- _("Randomize the tile blur by this percentage"), "blur_rand",
+ GtkWidget *l = clonetiler_spinbox (_("Randomize the tile blur by this percentage"), "blur_rand",
0, 100, "%");
clonetiler_table_attach (table, l, 0, 2, 4);
}
@@ -2358,12 +2285,12 @@ clonetiler_dialog (void)
}
{
- GtkWidget *l = clonetiler_checkbox (tt, _("Alternate the sign of blur change for each row"), "blur_alternatej");
+ GtkWidget *l = clonetiler_checkbox (_("Alternate the sign of blur change for each row"), "blur_alternatej");
clonetiler_table_attach (table, l, 0, 3, 2);
}
{
- GtkWidget *l = clonetiler_checkbox (tt, _("Alternate the sign of blur change for each column"), "blur_alternatei");
+ GtkWidget *l = clonetiler_checkbox (_("Alternate the sign of blur change for each column"), "blur_alternatei");
clonetiler_table_attach (table, l, 0, 3, 3);
}
@@ -2378,22 +2305,19 @@ clonetiler_dialog (void)
}
{
- GtkWidget *l = clonetiler_spinbox (tt,
- _("Decrease tile opacity by this percentage for each row"), "opacity_per_j",
+ GtkWidget *l = clonetiler_spinbox (_("Decrease tile opacity by this percentage for each row"), "opacity_per_j",
0, 100, "%");
clonetiler_table_attach (table, l, 0, 4, 2);
}
{
- GtkWidget *l = clonetiler_spinbox (tt,
- _("Decrease tile opacity by this percentage for each column"), "opacity_per_i",
+ GtkWidget *l = clonetiler_spinbox (_("Decrease tile opacity by this percentage for each column"), "opacity_per_i",
0, 100, "%");
clonetiler_table_attach (table, l, 0, 4, 3);
}
{
- GtkWidget *l = clonetiler_spinbox (tt,
- _("Randomize the tile opacity by this percentage"), "opacity_rand",
+ GtkWidget *l = clonetiler_spinbox (_("Randomize the tile opacity by this percentage"), "opacity_rand",
0, 100, "%");
clonetiler_table_attach (table, l, 0, 4, 4);
}
@@ -2407,12 +2331,12 @@ clonetiler_dialog (void)
}
{
- GtkWidget *l = clonetiler_checkbox (tt, _("Alternate the sign of opacity change for each row"), "opacity_alternatej");
+ GtkWidget *l = clonetiler_checkbox (_("Alternate the sign of opacity change for each row"), "opacity_alternatej");
clonetiler_table_attach (table, l, 0, 5, 2);
}
{
- GtkWidget *l = clonetiler_checkbox (tt, _("Alternate the sign of opacity change for each column"), "opacity_alternatei");
+ GtkWidget *l = clonetiler_checkbox (_("Alternate the sign of opacity change for each column"), "opacity_alternatei");
clonetiler_table_attach (table, l, 0, 5, 3);
}
}
@@ -2450,22 +2374,19 @@ clonetiler_dialog (void)
}
{
- GtkWidget *l = clonetiler_spinbox (tt,
- _("Change the tile hue by this percentage for each row"), "hue_per_j",
+ GtkWidget *l = clonetiler_spinbox (_("Change the tile hue by this percentage for each row"), "hue_per_j",
-100, 100, "%");
clonetiler_table_attach (table, l, 0, 2, 2);
}
{
- GtkWidget *l = clonetiler_spinbox (tt,
- _("Change the tile hue by this percentage for each column"), "hue_per_i",
+ GtkWidget *l = clonetiler_spinbox (_("Change the tile hue by this percentage for each column"), "hue_per_i",
-100, 100, "%");
clonetiler_table_attach (table, l, 0, 2, 3);
}
{
- GtkWidget *l = clonetiler_spinbox (tt,
- _("Randomize the tile hue by this percentage"), "hue_rand",
+ GtkWidget *l = clonetiler_spinbox (_("Randomize the tile hue by this percentage"), "hue_rand",
0, 100, "%");
clonetiler_table_attach (table, l, 0, 2, 4);
}
@@ -2480,22 +2401,19 @@ clonetiler_dialog (void)
}
{
- GtkWidget *l = clonetiler_spinbox (tt,
- _("Change the color saturation by this percentage for each row"), "saturation_per_j",
+ GtkWidget *l = clonetiler_spinbox (_("Change the color saturation by this percentage for each row"), "saturation_per_j",
-100, 100, "%");
clonetiler_table_attach (table, l, 0, 3, 2);
}
{
- GtkWidget *l = clonetiler_spinbox (tt,
- _("Change the color saturation by this percentage for each column"), "saturation_per_i",
+ GtkWidget *l = clonetiler_spinbox (_("Change the color saturation by this percentage for each column"), "saturation_per_i",
-100, 100, "%");
clonetiler_table_attach (table, l, 0, 3, 3);
}
{
- GtkWidget *l = clonetiler_spinbox (tt,
- _("Randomize the color saturation by this percentage"), "saturation_rand",
+ GtkWidget *l = clonetiler_spinbox (_("Randomize the color saturation by this percentage"), "saturation_rand",
0, 100, "%");
clonetiler_table_attach (table, l, 0, 3, 4);
}
@@ -2509,22 +2427,19 @@ clonetiler_dialog (void)
}
{
- GtkWidget *l = clonetiler_spinbox (tt,
- _("Change the color lightness by this percentage for each row"), "lightness_per_j",
+ GtkWidget *l = clonetiler_spinbox (_("Change the color lightness by this percentage for each row"), "lightness_per_j",
-100, 100, "%");
clonetiler_table_attach (table, l, 0, 4, 2);
}
{
- GtkWidget *l = clonetiler_spinbox (tt,
- _("Change the color lightness by this percentage for each column"), "lightness_per_i",
+ GtkWidget *l = clonetiler_spinbox (_("Change the color lightness by this percentage for each column"), "lightness_per_i",
-100, 100, "%");
clonetiler_table_attach (table, l, 0, 4, 3);
}
{
- GtkWidget *l = clonetiler_spinbox (tt,
- _("Randomize the color lightness by this percentage"), "lightness_rand",
+ GtkWidget *l = clonetiler_spinbox (_("Randomize the color lightness by this percentage"), "lightness_rand",
0, 100, "%");
clonetiler_table_attach (table, l, 0, 4, 4);
}
@@ -2538,12 +2453,12 @@ clonetiler_dialog (void)
}
{
- GtkWidget *l = clonetiler_checkbox (tt, _("Alternate the sign of color changes for each row"), "color_alternatej");
+ GtkWidget *l = clonetiler_checkbox (_("Alternate the sign of color changes for each row"), "color_alternatej");
clonetiler_table_attach (table, l, 0, 5, 2);
}
{
- GtkWidget *l = clonetiler_checkbox (tt, _("Alternate the sign of color changes for each column"), "color_alternatei");
+ GtkWidget *l = clonetiler_checkbox (_("Alternate the sign of color changes for each column"), "color_alternatei");
clonetiler_table_attach (table, l, 0, 5, 3);
}
@@ -2562,11 +2477,11 @@ clonetiler_dialog (void)
g_object_set_data (G_OBJECT(b), "uncheckable", GINT_TO_POINTER(TRUE));
bool old = prefs->getBool(prefs_path + "dotrace");
gtk_toggle_button_set_active ((GtkToggleButton *) b, old);
- gtk_tooltips_set_tip (GTK_TOOLTIPS (tt), b, _("For each clone, pick a value from the drawing in that clone's location and apply it to the clone"), NULL);
+ gtk_widget_set_tooltip_text (b, _("For each clone, pick a value from the drawing in that clone's location and apply it to the clone"));
gtk_box_pack_start (GTK_BOX (hb), b, FALSE, FALSE, 0);
- gtk_signal_connect(GTK_OBJECT(b), "toggled",
- GTK_SIGNAL_FUNC(clonetiler_do_pick_toggled), dlg);
+ g_signal_connect(G_OBJECT(b), "toggled",
+ G_CALLBACK(clonetiler_do_pick_toggled), dlg);
}
{
@@ -2588,66 +2503,66 @@ clonetiler_dialog (void)
GtkWidget* radio;
{
radio = gtk_radio_button_new_with_label (NULL, _("Color"));
- gtk_tooltips_set_tip (GTK_TOOLTIPS (tt), radio, _("Pick the visible color and opacity"), NULL);
+ gtk_widget_set_tooltip_text (radio, _("Pick the visible color and opacity"));
clonetiler_table_attach (table, radio, 0.0, 1, 1);
- gtk_signal_connect (GTK_OBJECT (radio), "toggled",
- GTK_SIGNAL_FUNC (clonetiler_pick_switched), GINT_TO_POINTER(PICK_COLOR));
+ g_signal_connect (G_OBJECT (radio), "toggled",
+ G_CALLBACK (clonetiler_pick_switched), GINT_TO_POINTER(PICK_COLOR));
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (radio), prefs->getInt(prefs_path + "pick", 0) == PICK_COLOR);
}
{
- radio = gtk_radio_button_new_with_label (gtk_radio_button_group (GTK_RADIO_BUTTON (radio)), _("Opacity"));
- gtk_tooltips_set_tip (GTK_TOOLTIPS (tt), radio, _("Pick the total accumulated opacity"), NULL);
+ radio = gtk_radio_button_new_with_label (gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio)), _("Opacity"));
+ gtk_widget_set_tooltip_text (radio, _("Pick the total accumulated opacity"));
clonetiler_table_attach (table, radio, 0.0, 2, 1);
- gtk_signal_connect (GTK_OBJECT (radio), "toggled",
- GTK_SIGNAL_FUNC (clonetiler_pick_switched), GINT_TO_POINTER(PICK_OPACITY));
+ g_signal_connect (G_OBJECT (radio), "toggled",
+ G_CALLBACK (clonetiler_pick_switched), GINT_TO_POINTER(PICK_OPACITY));
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (radio), prefs->getInt(prefs_path + "pick", 0) == PICK_OPACITY);
}
{
- radio = gtk_radio_button_new_with_label (gtk_radio_button_group (GTK_RADIO_BUTTON (radio)), _("R"));
- gtk_tooltips_set_tip (GTK_TOOLTIPS (tt), radio, _("Pick the Red component of the color"), NULL);
+ radio = gtk_radio_button_new_with_label (gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio)), _("R"));
+ gtk_widget_set_tooltip_text (radio, _("Pick the Red component of the color"));
clonetiler_table_attach (table, radio, 0.0, 1, 2);
- gtk_signal_connect (GTK_OBJECT (radio), "toggled",
- GTK_SIGNAL_FUNC (clonetiler_pick_switched), GINT_TO_POINTER(PICK_R));
+ g_signal_connect (G_OBJECT (radio), "toggled",
+ G_CALLBACK (clonetiler_pick_switched), GINT_TO_POINTER(PICK_R));
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (radio), prefs->getInt(prefs_path + "pick", 0) == PICK_R);
}
{
- radio = gtk_radio_button_new_with_label (gtk_radio_button_group (GTK_RADIO_BUTTON (radio)), _("G"));
- gtk_tooltips_set_tip (GTK_TOOLTIPS (tt), radio, _("Pick the Green component of the color"), NULL);
+ radio = gtk_radio_button_new_with_label (gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio)), _("G"));
+ gtk_widget_set_tooltip_text (radio, _("Pick the Green component of the color"));
clonetiler_table_attach (table, radio, 0.0, 2, 2);
- gtk_signal_connect (GTK_OBJECT (radio), "toggled",
- GTK_SIGNAL_FUNC (clonetiler_pick_switched), GINT_TO_POINTER(PICK_G));
+ g_signal_connect (G_OBJECT (radio), "toggled",
+ G_CALLBACK (clonetiler_pick_switched), GINT_TO_POINTER(PICK_G));
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (radio), prefs->getInt(prefs_path + "pick", 0) == PICK_G);
}
{
- radio = gtk_radio_button_new_with_label (gtk_radio_button_group (GTK_RADIO_BUTTON (radio)), _("B"));
- gtk_tooltips_set_tip (GTK_TOOLTIPS (tt), radio, _("Pick the Blue component of the color"), NULL);
+ radio = gtk_radio_button_new_with_label (gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio)), _("B"));
+ gtk_widget_set_tooltip_text (radio, _("Pick the Blue component of the color"));
clonetiler_table_attach (table, radio, 0.0, 3, 2);
- gtk_signal_connect (GTK_OBJECT (radio), "toggled",
- GTK_SIGNAL_FUNC (clonetiler_pick_switched), GINT_TO_POINTER(PICK_B));
+ g_signal_connect (G_OBJECT (radio), "toggled",
+ G_CALLBACK (clonetiler_pick_switched), GINT_TO_POINTER(PICK_B));
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (radio), prefs->getInt(prefs_path + "pick", 0) == PICK_B);
}
{
- radio = gtk_radio_button_new_with_label (gtk_radio_button_group (GTK_RADIO_BUTTON (radio)), C_("Clonetiler color hue", "H"));
- gtk_tooltips_set_tip (GTK_TOOLTIPS (tt), radio, _("Pick the hue of the color"), NULL);
+ radio = gtk_radio_button_new_with_label (gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio)), C_("Clonetiler color hue", "H"));
+ gtk_widget_set_tooltip_text (radio, _("Pick the hue of the color"));
clonetiler_table_attach (table, radio, 0.0, 1, 3);
- gtk_signal_connect (GTK_OBJECT (radio), "toggled",
- GTK_SIGNAL_FUNC (clonetiler_pick_switched), GINT_TO_POINTER(PICK_H));
+ g_signal_connect (G_OBJECT (radio), "toggled",
+ G_CALLBACK (clonetiler_pick_switched), GINT_TO_POINTER(PICK_H));
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (radio), prefs->getInt(prefs_path + "pick", 0) == PICK_H);
}
{
- radio = gtk_radio_button_new_with_label (gtk_radio_button_group (GTK_RADIO_BUTTON (radio)), C_("Clonetiler color saturation", "S"));
- gtk_tooltips_set_tip (GTK_TOOLTIPS (tt), radio, _("Pick the saturation of the color"), NULL);
+ radio = gtk_radio_button_new_with_label (gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio)), C_("Clonetiler color saturation", "S"));
+ gtk_widget_set_tooltip_text (radio, _("Pick the saturation of the color"));
clonetiler_table_attach (table, radio, 0.0, 2, 3);
- gtk_signal_connect (GTK_OBJECT (radio), "toggled",
- GTK_SIGNAL_FUNC (clonetiler_pick_switched), GINT_TO_POINTER(PICK_S));
+ g_signal_connect (G_OBJECT (radio), "toggled",
+ G_CALLBACK (clonetiler_pick_switched), GINT_TO_POINTER(PICK_S));
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (radio), prefs->getInt(prefs_path + "pick", 0) == PICK_S);
}
{
- radio = gtk_radio_button_new_with_label (gtk_radio_button_group (GTK_RADIO_BUTTON (radio)), C_("Clonetiler color lightness", "L"));
- gtk_tooltips_set_tip (GTK_TOOLTIPS (tt), radio, _("Pick the lightness of the color"), NULL);
+ radio = gtk_radio_button_new_with_label (gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio)), C_("Clonetiler color lightness", "L"));
+ gtk_widget_set_tooltip_text (radio, _("Pick the lightness of the color"));
clonetiler_table_attach (table, radio, 0.0, 3, 3);
- gtk_signal_connect (GTK_OBJECT (radio), "toggled",
- GTK_SIGNAL_FUNC (clonetiler_pick_switched), GINT_TO_POINTER(PICK_L));
+ g_signal_connect (G_OBJECT (radio), "toggled",
+ G_CALLBACK (clonetiler_pick_switched), GINT_TO_POINTER(PICK_L));
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (radio), prefs->getInt(prefs_path + "pick", 0) == PICK_L);
}
@@ -2668,8 +2583,7 @@ clonetiler_dialog (void)
clonetiler_table_attach (table, l, 1.0, 1, 1);
}
{
- GtkWidget *l = clonetiler_spinbox (tt,
- _("Shift the mid-range of the picked value upwards (>0) or downwards (<0)"), "gamma_picked",
+ GtkWidget *l = clonetiler_spinbox (_("Shift the mid-range of the picked value upwards (>0) or downwards (<0)"), "gamma_picked",
-10, 10, "");
clonetiler_table_attach (table, l, 0.0, 1, 2);
}
@@ -2680,8 +2594,7 @@ clonetiler_dialog (void)
clonetiler_table_attach (table, l, 1.0, 1, 3);
}
{
- GtkWidget *l = clonetiler_spinbox (tt,
- _("Randomize the picked value by this percentage"), "rand_picked",
+ GtkWidget *l = clonetiler_spinbox (_("Randomize the picked value by this percentage"), "rand_picked",
0, 100, "%");
clonetiler_table_attach (table, l, 0.0, 1, 4);
}
@@ -2692,7 +2605,7 @@ clonetiler_dialog (void)
clonetiler_table_attach (table, l, 1.0, 2, 1);
}
{
- GtkWidget *l = clonetiler_checkbox (tt, _("Invert the picked value"), "invert_picked");
+ GtkWidget *l = clonetiler_checkbox (_("Invert the picked value"), "invert_picked");
clonetiler_table_attach (table, l, 0.0, 2, 2);
}
}
@@ -2711,40 +2624,40 @@ clonetiler_dialog (void)
GtkWidget *b = gtk_check_button_new_with_label (_("Presence"));
bool old = prefs->getBool(prefs_path + "pick_to_presence", true);
gtk_toggle_button_set_active ((GtkToggleButton *) b, old);
- gtk_tooltips_set_tip (GTK_TOOLTIPS (tt), b, _("Each clone is created with the probability determined by the picked value in that point"), NULL);
+ gtk_widget_set_tooltip_text (b, _("Each clone is created with the probability determined by the picked value in that point"));
clonetiler_table_attach (table, b, 0.0, 1, 1);
- gtk_signal_connect(GTK_OBJECT(b), "toggled",
- GTK_SIGNAL_FUNC(clonetiler_pick_to), (gpointer) "pick_to_presence");
+ g_signal_connect(G_OBJECT(b), "toggled",
+ G_CALLBACK(clonetiler_pick_to), (gpointer) "pick_to_presence");
}
{
GtkWidget *b = gtk_check_button_new_with_label (_("Size"));
bool old = prefs->getBool(prefs_path + "pick_to_size");
gtk_toggle_button_set_active ((GtkToggleButton *) b, old);
- gtk_tooltips_set_tip (GTK_TOOLTIPS (tt), b, _("Each clone's size is determined by the picked value in that point"), NULL);
+ gtk_widget_set_tooltip_text (b, _("Each clone's size is determined by the picked value in that point"));
clonetiler_table_attach (table, b, 0.0, 2, 1);
- gtk_signal_connect(GTK_OBJECT(b), "toggled",
- GTK_SIGNAL_FUNC(clonetiler_pick_to), (gpointer) "pick_to_size");
+ g_signal_connect(G_OBJECT(b), "toggled",
+ G_CALLBACK(clonetiler_pick_to), (gpointer) "pick_to_size");
}
{
GtkWidget *b = gtk_check_button_new_with_label (_("Color"));
bool old = prefs->getBool(prefs_path + "pick_to_color", 0);
gtk_toggle_button_set_active ((GtkToggleButton *) b, old);
- gtk_tooltips_set_tip (GTK_TOOLTIPS (tt), b, _("Each clone is painted by the picked color (the original must have unset fill or stroke)"), NULL);
+ gtk_widget_set_tooltip_text (b, _("Each clone is painted by the picked color (the original must have unset fill or stroke)"));
clonetiler_table_attach (table, b, 0.0, 1, 2);
- gtk_signal_connect(GTK_OBJECT(b), "toggled",
- GTK_SIGNAL_FUNC(clonetiler_pick_to), (gpointer) "pick_to_color");
+ g_signal_connect(G_OBJECT(b), "toggled",
+ G_CALLBACK(clonetiler_pick_to), (gpointer) "pick_to_color");
}
{
GtkWidget *b = gtk_check_button_new_with_label (_("Opacity"));
bool old = prefs->getBool(prefs_path + "pick_to_opacity", 0);
gtk_toggle_button_set_active ((GtkToggleButton *) b, old);
- gtk_tooltips_set_tip (GTK_TOOLTIPS (tt), b, _("Each clone's opacity is determined by the picked value in that point"), NULL);
+ gtk_widget_set_tooltip_text (b, _("Each clone's opacity is determined by the picked value in that point"));
clonetiler_table_attach (table, b, 0.0, 2, 2);
- gtk_signal_connect(GTK_OBJECT(b), "toggled",
- GTK_SIGNAL_FUNC(clonetiler_pick_to), (gpointer) "pick_to_opacity");
+ g_signal_connect(G_OBJECT(b), "toggled",
+ G_CALLBACK(clonetiler_pick_to), (gpointer) "pick_to_opacity");
}
}
gtk_widget_set_sensitive (vvb, prefs->getBool(prefs_path + "dotrace"));
@@ -2764,16 +2677,16 @@ clonetiler_dialog (void)
g_object_set_data (G_OBJECT(dlg), "rowscols", (gpointer) hb);
{
- GtkObject *a = gtk_adjustment_new(0.0, 1, 500, 1, 10, 10);
+ GtkObject *a = gtk_adjustment_new(0.0, 1, 500, 1, 10, 0);
int value = prefs->getInt(prefs_path + "jmax", 2);
gtk_adjustment_set_value (GTK_ADJUSTMENT (a), value);
GtkWidget *sb = gtk_spin_button_new (GTK_ADJUSTMENT (a), 1.0, 0);
- gtk_tooltips_set_tip (GTK_TOOLTIPS (tt), sb, _("How many rows in the tiling"), NULL);
- gtk_entry_set_width_chars (GTK_ENTRY (sb), 5);
+ gtk_widget_set_tooltip_text (sb, _("How many rows in the tiling"));
+ gtk_entry_set_width_chars (GTK_ENTRY (sb), 7);
gtk_box_pack_start (GTK_BOX (hb), sb, TRUE, TRUE, 0);
- gtk_signal_connect(GTK_OBJECT(a), "value_changed",
- GTK_SIGNAL_FUNC(clonetiler_xy_changed), (gpointer) "jmax");
+ g_signal_connect(G_OBJECT(a), "value_changed",
+ G_CALLBACK(clonetiler_xy_changed), (gpointer) "jmax");
}
{
@@ -2784,16 +2697,16 @@ clonetiler_dialog (void)
}
{
- GtkObject *a = gtk_adjustment_new(0.0, 1, 500, 1, 10, 10);
+ GtkObject *a = gtk_adjustment_new(0.0, 1, 500, 1, 10, 0);
int value = prefs->getInt(prefs_path + "imax", 2);
gtk_adjustment_set_value (GTK_ADJUSTMENT (a), value);
GtkWidget *sb = gtk_spin_button_new (GTK_ADJUSTMENT (a), 1.0, 0);
- gtk_tooltips_set_tip (GTK_TOOLTIPS (tt), sb, _("How many columns in the tiling"), NULL);
- gtk_entry_set_width_chars (GTK_ENTRY (sb), 5);
+ gtk_widget_set_tooltip_text (sb, _("How many columns in the tiling"));
+ gtk_entry_set_width_chars (GTK_ENTRY (sb), 7);
gtk_box_pack_start (GTK_BOX (hb), sb, TRUE, TRUE, 0);
- gtk_signal_connect(GTK_OBJECT(a), "value_changed",
- GTK_SIGNAL_FUNC(clonetiler_xy_changed), (gpointer) "imax");
+ g_signal_connect(G_OBJECT(a), "value_changed",
+ G_CALLBACK(clonetiler_xy_changed), (gpointer) "imax");
}
clonetiler_table_attach (table, hb, 0.0, 1, 2);
@@ -2809,7 +2722,7 @@ clonetiler_dialog (void)
{
// Width spinbutton
- GtkObject *a = gtk_adjustment_new (0.0, -1e6, 1e6, 1.0, 10.0, 10.0);
+ GtkObject *a = gtk_adjustment_new (0.0, -1e6, 1e6, 1.0, 10.0, 0);
sp_unit_selector_add_adjustment (SP_UNIT_SELECTOR (u), GTK_ADJUSTMENT (a));
double value = prefs->getDouble(prefs_path + "fillwidth", 50.0);
@@ -2818,11 +2731,12 @@ clonetiler_dialog (void)
gtk_adjustment_set_value (GTK_ADJUSTMENT (a), units);
GtkWidget *e = gtk_spin_button_new (GTK_ADJUSTMENT (a), 1.0 , 2);
- gtk_tooltips_set_tip (GTK_TOOLTIPS (tt), e, _("Width of the rectangle to be filled"), NULL);
- gtk_entry_set_width_chars (GTK_ENTRY (e), 5);
+ gtk_widget_set_tooltip_text (e, _("Width of the rectangle to be filled"));
+ gtk_entry_set_width_chars (GTK_ENTRY (e), 7);
+ gtk_spin_button_set_digits(GTK_SPIN_BUTTON(e), 4);
gtk_box_pack_start (GTK_BOX (hb), e, TRUE, TRUE, 0);
- gtk_signal_connect(GTK_OBJECT(a), "value_changed",
- GTK_SIGNAL_FUNC(clonetiler_fill_width_changed), u);
+ g_signal_connect(G_OBJECT(a), "value_changed",
+ G_CALLBACK(clonetiler_fill_width_changed), u);
}
{
GtkWidget *l = gtk_label_new ("");
@@ -2833,7 +2747,7 @@ clonetiler_dialog (void)
{
// Height spinbutton
- GtkObject *a = gtk_adjustment_new (0.0, -1e6, 1e6, 1.0, 10.0, 10.0);
+ GtkObject *a = gtk_adjustment_new (0.0, -1e6, 1e6, 1.0, 10.0, 0);
sp_unit_selector_add_adjustment (SP_UNIT_SELECTOR (u), GTK_ADJUSTMENT (a));
double value = prefs->getDouble(prefs_path + "fillheight", 50.0);
@@ -2843,11 +2757,12 @@ clonetiler_dialog (void)
GtkWidget *e = gtk_spin_button_new (GTK_ADJUSTMENT (a), 1.0 , 2);
- gtk_tooltips_set_tip (GTK_TOOLTIPS (tt), e, _("Height of the rectangle to be filled"), NULL);
- gtk_entry_set_width_chars (GTK_ENTRY (e), 5);
+ gtk_widget_set_tooltip_text (e, _("Height of the rectangle to be filled"));
+ gtk_entry_set_width_chars (GTK_ENTRY (e), 7);
+ gtk_spin_button_set_digits(GTK_SPIN_BUTTON(e), 4);
gtk_box_pack_start (GTK_BOX (hb), e, TRUE, TRUE, 0);
- gtk_signal_connect(GTK_OBJECT(a), "value_changed",
- GTK_SIGNAL_FUNC(clonetiler_fill_height_changed), u);
+ g_signal_connect(G_OBJECT(a), "value_changed",
+ G_CALLBACK(clonetiler_fill_height_changed), u);
}
gtk_box_pack_start (GTK_BOX (hb), u, TRUE, TRUE, 0);
@@ -2859,19 +2774,19 @@ clonetiler_dialog (void)
GtkWidget* radio;
{
radio = gtk_radio_button_new_with_label (NULL, _("Rows, columns: "));
- gtk_tooltips_set_tip (GTK_TOOLTIPS (tt), radio, _("Create the specified number of rows and columns"), NULL);
+ gtk_widget_set_tooltip_text (radio, _("Create the specified number of rows and columns"));
clonetiler_table_attach (table, radio, 0.0, 1, 1);
- gtk_signal_connect (GTK_OBJECT (radio), "toggled", GTK_SIGNAL_FUNC (clonetiler_switch_to_create), (gpointer) dlg);
+ g_signal_connect (G_OBJECT (radio), "toggled", G_CALLBACK (clonetiler_switch_to_create), (gpointer) dlg);
}
if (!prefs->getBool(prefs_path + "fillrect")) {
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (radio), TRUE);
gtk_toggle_button_toggled (GTK_TOGGLE_BUTTON (radio));
}
{
- radio = gtk_radio_button_new_with_label (gtk_radio_button_group (GTK_RADIO_BUTTON (radio)), _("Width, height: "));
- gtk_tooltips_set_tip (GTK_TOOLTIPS (tt), radio, _("Fill the specified width and height with the tiling"), NULL);
+ radio = gtk_radio_button_new_with_label (gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio)), _("Width, height: "));
+ gtk_widget_set_tooltip_text (radio, _("Fill the specified width and height with the tiling"));
clonetiler_table_attach (table, radio, 0.0, 2, 1);
- gtk_signal_connect (GTK_OBJECT (radio), "toggled", GTK_SIGNAL_FUNC (clonetiler_switch_to_fill), (gpointer) dlg);
+ g_signal_connect (G_OBJECT (radio), "toggled", G_CALLBACK (clonetiler_switch_to_fill), (gpointer) dlg);
}
if (prefs->getBool(prefs_path + "fillrect")) {
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (radio), TRUE);
@@ -2888,11 +2803,11 @@ clonetiler_dialog (void)
GtkWidget *b = gtk_check_button_new_with_label (_("Use saved size and position of the tile"));
bool keepbbox = prefs->getBool(prefs_path + "keepbbox", true);
gtk_toggle_button_set_active ((GtkToggleButton *) b, keepbbox);
- gtk_tooltips_set_tip (GTK_TOOLTIPS (tt), b, _("Pretend that the size and position of the tile are the same as the last time you tiled it (if any), instead of using the current size"), NULL);
+ gtk_widget_set_tooltip_text (b, _("Pretend that the size and position of the tile are the same as the last time you tiled it (if any), instead of using the current size"));
gtk_box_pack_start (GTK_BOX (hb), b, FALSE, FALSE, 0);
- gtk_signal_connect(GTK_OBJECT(b), "toggled",
- GTK_SIGNAL_FUNC(clonetiler_keep_bbox_toggled), NULL);
+ g_signal_connect(G_OBJECT(b), "toggled",
+ G_CALLBACK(clonetiler_keep_bbox_toggled), NULL);
}
// Statusbar
@@ -2914,8 +2829,8 @@ clonetiler_dialog (void)
GtkWidget *l = gtk_label_new ("");
gtk_label_set_markup_with_mnemonic (GTK_LABEL(l), _(" <b>_Create</b> "));
gtk_container_add (GTK_CONTAINER(b), l);
- gtk_tooltips_set_tip (tt, b, _("Create and tile the clones of the selection"), NULL);
- gtk_signal_connect (GTK_OBJECT (b), "clicked", GTK_SIGNAL_FUNC (clonetiler_apply), NULL);
+ gtk_widget_set_tooltip_text (b, _("Create and tile the clones of the selection"));
+ g_signal_connect (G_OBJECT (b), "clicked", G_CALLBACK (clonetiler_apply), NULL);
gtk_box_pack_end (GTK_BOX (hb), b, FALSE, FALSE, 0);
}
@@ -2930,15 +2845,15 @@ clonetiler_dialog (void)
// http://www.inkscape.org/screenshots/gallery/inkscape-0.42-CVS-tiles-unclump.png
// So unclumping is the process of spreading a number of objects out more evenly.
GtkWidget *b = gtk_button_new_with_mnemonic (_(" _Unclump "));
- gtk_tooltips_set_tip (tt, b, _("Spread out clones to reduce clumping; can be applied repeatedly"), NULL);
- gtk_signal_connect (GTK_OBJECT (b), "clicked", GTK_SIGNAL_FUNC (clonetiler_unclump), NULL);
+ gtk_widget_set_tooltip_text (b, _("Spread out clones to reduce clumping; can be applied repeatedly"));
+ g_signal_connect (G_OBJECT (b), "clicked", G_CALLBACK (clonetiler_unclump), NULL);
gtk_box_pack_end (GTK_BOX (sb), b, FALSE, FALSE, 0);
}
{
GtkWidget *b = gtk_button_new_with_mnemonic (_(" Re_move "));
- gtk_tooltips_set_tip (tt, b, _("Remove existing tiled clones of the selected object (siblings only)"), NULL);
- gtk_signal_connect (GTK_OBJECT (b), "clicked", GTK_SIGNAL_FUNC (clonetiler_remove), NULL);
+ gtk_widget_set_tooltip_text (b, _("Remove existing tiled clones of the selected object (siblings only)"));
+ g_signal_connect (G_OBJECT (b), "clicked", G_CALLBACK (clonetiler_remove), NULL);
gtk_box_pack_end (GTK_BOX (sb), b, FALSE, FALSE, 0);
}
@@ -2955,8 +2870,8 @@ clonetiler_dialog (void)
{
GtkWidget *b = gtk_button_new_with_mnemonic (_(" R_eset "));
// TRANSLATORS: "change" is a noun here
- gtk_tooltips_set_tip (tt, b, _("Reset all shifts, scales, rotates, opacity and color changes in the dialog to zero"), NULL);
- gtk_signal_connect (GTK_OBJECT (b), "clicked", GTK_SIGNAL_FUNC (clonetiler_reset), NULL);
+ gtk_widget_set_tooltip_text (b, _("Reset all shifts, scales, rotates, opacity and color changes in the dialog to zero"));
+ g_signal_connect (G_OBJECT (b), "clicked", G_CALLBACK (clonetiler_reset), NULL);
gtk_box_pack_start (GTK_BOX (hb), b, FALSE, FALSE, 0);
}
}
diff --git a/src/dialogs/clonetiler.h b/src/dialogs/clonetiler.h
index bfb35cd96..899181346 100644
--- a/src/dialogs/clonetiler.h
+++ b/src/dialogs/clonetiler.h
@@ -12,7 +12,7 @@
#include <glib.h>
-#include <gtk/gtkwidget.h>
+#include <gtk/gtk.h>
void clonetiler_dialog ( void );
diff --git a/src/dialogs/dialog-events.cpp b/src/dialogs/dialog-events.cpp
index 89feca23e..08600afa7 100644
--- a/src/dialogs/dialog-events.cpp
+++ b/src/dialogs/dialog-events.cpp
@@ -1,5 +1,6 @@
-/** @file
- * @brief Event handler for dialog windows
+/**
+ * @file
+ * Event handler for dialog windows.
*/
/* Authors:
* bulia byak <bulia@dr.com>
@@ -30,15 +31,12 @@
/**
- * \brief Remove focus from window to whoever it is transient for...
- *
+ * Remove focus from window to whoever it is transient for.
*/
-void
-sp_dialog_defocus_cpp (Gtk::Window *win)
+void sp_dialog_defocus_cpp(Gtk::Window *win)
{
- Gtk::Window *w;
//find out the document window we're transient for
- w = win->get_transient_for();
+ Gtk::Window *w = win->get_transient_for();
//switch to it
if (w) {
@@ -61,11 +59,9 @@ sp_dialog_defocus (GtkWindow *win)
/**
- * \brief Callback to defocus a widget's parent dialog.
- *
+ * Callback to defocus a widget's parent dialog.
*/
-void
-sp_dialog_defocus_callback_cpp (Gtk::Entry *e)
+void sp_dialog_defocus_callback_cpp(Gtk::Entry *e)
{
sp_dialog_defocus_cpp(dynamic_cast<Gtk::Window *>(e->get_toplevel()));
}
@@ -152,11 +148,10 @@ sp_dialog_event_handler (GtkWindow *win, GdkEvent *event, gpointer data)
/**
- * \brief Make the argument dialog transient to the currently active document
- window.
+ * Make the argument dialog transient to the currently active document
+ * window.
*/
-void
-sp_transientize (GtkWidget *dialog)
+void sp_transientize(GtkWidget *dialog)
{
Inkscape::Preferences *prefs = Inkscape::Preferences::get();
#ifndef WIN32 // FIXME: Temporary Win32 special code to enable transient dialogs
diff --git a/src/dialogs/dialog-events.h b/src/dialogs/dialog-events.h
index 7b04d0f69..53be16682 100644
--- a/src/dialogs/dialog-events.h
+++ b/src/dialogs/dialog-events.h
@@ -9,12 +9,10 @@
* Released under GNU GPL, read the file 'COPYING' for more information
*/
-#ifndef __DIALOG_EVENTS_H__
-#define __DIALOG_EVENTS_H__
+#ifndef SEEN_DIALOG_EVENTS_H
+#define SEEN_DIALOG_EVENTS_H
-#include <gtk/gtkstyle.h>
-#include <gtk/gtkwindow.h>
-#include <forward.h>
+#include <gtk/gtk.h>
/*
* event callback can only accept one argument, but we need two,
@@ -29,6 +27,12 @@ namespace Gtk {
class Window;
class Entry;
}
+
+class SPDesktop;
+
+namespace Inkscape {
+class Application;
+} // namespace Inkscape
typedef struct {
GtkWidget *win;
diff --git a/src/dialogs/export.cpp b/src/dialogs/export.cpp
index b05f6589a..2f1b2cd89 100644
--- a/src/dialogs/export.cpp
+++ b/src/dialogs/export.cpp
@@ -1,5 +1,6 @@
-/** @file
- * @brief PNG export dialog
+/**
+ * @file
+ * PNG export dialog.
*/
/* Authors:
* Lauris Kaplinski <lauris@kaplinski.com>
@@ -54,6 +55,7 @@
#include "preferences.h"
#include "verbs.h"
#include "interface.h"
+#include "sp-root.h"
#include "extension/output.h"
#include "extension/db.h"
@@ -188,36 +190,34 @@ sp_export_dialog_delete ( GtkObject */*object*/, GdkEvent */*event*/, gpointer /
} // end of sp_export_dialog_delete()
/**
- \brief Creates a new spin button for the export dialog
- \param key The name of the spin button
- \param val A default value for the spin button
- \param min Minimum value for the spin button
- \param max Maximum value for the spin button
- \param step The step size for the spin button
- \param page Size of the page increment
- \param us Unit selector that effects this spin button
- \param t Table to put the spin button in
- \param x X location in the table \c t to start with
- \param y Y location in the table \c t to start with
- \param ll Text to put on the left side of the spin button (optional)
- \param lr Text to put on the right side of the spin button (optional)
- \param digits Number of digits to display after the decimal
- \param sensitive Whether the spin button is sensitive or not
- \param cb Callback for when this spin button is changed (optional)
- \param dlg Export dialog the spin button is being placed in
-
-*/
-static void
-sp_export_spinbutton_new ( gchar const *key, float val, float min, float max,
- float step, float page, GtkWidget *us,
- GtkWidget *t, int x, int y,
- const gchar *ll, const gchar *lr,
- int digits, unsigned int sensitive,
- GCallback cb, GtkWidget *dlg )
+ * Creates a new spin button for the export dialog.
+ * @param key The name of the spin button
+ * @param val A default value for the spin button
+ * @param min Minimum value for the spin button
+ * @param max Maximum value for the spin button
+ * @param step The step size for the spin button
+ * @param page Size of the page increment
+ * @param us Unit selector that effects this spin button
+ * @param t Table to put the spin button in
+ * @param x X location in the table \c t to start with
+ * @param y Y location in the table \c t to start with
+ * @param ll Text to put on the left side of the spin button (optional)
+ * @param lr Text to put on the right side of the spin button (optional)
+ * @param digits Number of digits to display after the decimal
+ * @param sensitive Whether the spin button is sensitive or not
+ * @param cb Callback for when this spin button is changed (optional)
+ * @param dlg Export dialog the spin button is being placed in
+ */
+static void sp_export_spinbutton_new( gchar const *key, float val, float min, float max,
+ float step, float page, GtkWidget *us,
+ GtkWidget *t, int x, int y,
+ const gchar *ll, const gchar *lr,
+ int digits, unsigned int sensitive,
+ GCallback cb, GtkWidget *dlg )
{
GtkObject *adj = gtk_adjustment_new( val, min, max, step, page, 0 );
- gtk_object_set_data( adj, "key", const_cast<gchar *>(key) );
- gtk_object_set_data( GTK_OBJECT (dlg), (const gchar *)key, adj );
+ g_object_set_data( G_OBJECT (adj), "key", const_cast<gchar *>(key) );
+ g_object_set_data( G_OBJECT (dlg), (const gchar *)key, adj );
if (us) {
sp_unit_selector_add_adjustment ( SP_UNIT_SELECTOR (us),
@@ -261,7 +261,7 @@ sp_export_spinbutton_new ( gchar const *key, float val, float min, float max,
}
if (cb)
- gtk_signal_connect (adj, "value_changed", cb, dlg);
+ g_signal_connect (adj, "value_changed", cb, dlg);
return;
} // end of sp_export_spinbutton_new()
@@ -288,7 +288,7 @@ sp_export_dialog_area_box (GtkWidget * dlg)
unitbox->pack_end(*us, false, false, 0);
Gtk::Label* l = new Gtk::Label(_("Units:"));
unitbox->pack_end(*l, false, false, 3);
- gtk_object_set_data (GTK_OBJECT (dlg), "units", us->gobj());
+ g_object_set_data (G_OBJECT (dlg), "units", us->gobj());
Gtk::HBox* togglebox = new Gtk::HBox(true, 0);
@@ -296,10 +296,10 @@ sp_export_dialog_area_box (GtkWidget * dlg)
for (int i = 0; i < SELECTION_NUMBER_OF; i++) {
b = new Gtk::ToggleButton(_(selection_labels[i]), true);
b->set_data("key", GINT_TO_POINTER(i));
- gtk_object_set_data (GTK_OBJECT (dlg), selection_names[i], b->gobj());
+ g_object_set_data (G_OBJECT (dlg), selection_names[i], b->gobj());
togglebox->pack_start(*b, false, true, 0);
- gtk_signal_connect ( GTK_OBJECT (b->gobj()), "clicked",
- GTK_SIGNAL_FUNC (sp_export_area_toggled), dlg );
+ g_signal_connect ( G_OBJECT (b->gobj()), "clicked",
+ G_CALLBACK (sp_export_area_toggled), dlg );
}
g_signal_connect ( G_OBJECT (INKSCAPE), "change_selection",
@@ -357,18 +357,18 @@ gchar* create_filepath_from_id (const gchar *id, const gchar *file_entry_text) {
if (id == NULL) /* This should never happen */
id = "bitmap";
- gchar * directory = NULL;
+ gchar *directory = NULL;
if (directory == NULL && file_entry_text != NULL && file_entry_text[0] != '\0') {
// std::cout << "Directory from dialog" << std::endl;
- directory = g_dirname(file_entry_text);
+ directory = g_path_get_dirname(file_entry_text);
}
if (directory == NULL) {
/* Grab document directory */
if ( SP_ACTIVE_DOCUMENT->getURI() ) {
// std::cout << "Directory from document" << std::endl;
- directory = g_dirname( SP_ACTIVE_DOCUMENT->getURI() );
+ directory = g_path_get_dirname( SP_ACTIVE_DOCUMENT->getURI() );
}
}
@@ -387,7 +387,7 @@ gchar* create_filepath_from_id (const gchar *id, const gchar *file_entry_text) {
static void
batch_export_clicked (GtkWidget *widget, GtkObject *base)
{
- Gtk::Widget *vb_singleexport = (Gtk::Widget *)gtk_object_get_data(base, "vb_singleexport");
+ Gtk::Widget *vb_singleexport = (Gtk::Widget *)g_object_get_data(G_OBJECT(base), "vb_singleexport");
if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(widget))) {
vb_singleexport->set_sensitive(false);
} else {
@@ -431,13 +431,13 @@ sp_export_dialog (void)
g_signal_connect ( G_OBJECT (INKSCAPE), "activate_desktop",
G_CALLBACK (sp_transientize_callback), &wd);
- gtk_signal_connect ( GTK_OBJECT (dlg), "event",
- GTK_SIGNAL_FUNC (sp_dialog_event_handler), dlg);
+ g_signal_connect ( G_OBJECT (dlg), "event",
+ G_CALLBACK (sp_dialog_event_handler), dlg);
- gtk_signal_connect ( GTK_OBJECT (dlg), "destroy",
+ g_signal_connect ( G_OBJECT (dlg), "destroy",
G_CALLBACK (sp_export_dialog_destroy), dlg);
- gtk_signal_connect ( GTK_OBJECT (dlg), "delete_event",
+ g_signal_connect ( G_OBJECT (dlg), "delete_event",
G_CALLBACK (sp_export_dialog_delete), dlg);
g_signal_connect ( G_OBJECT (INKSCAPE), "shut_down",
@@ -449,8 +449,6 @@ sp_export_dialog (void)
g_signal_connect ( G_OBJECT (INKSCAPE), "dialogs_unhide",
G_CALLBACK (sp_dialog_unhide), dlg);
- GtkTooltips *tt = gtk_tooltips_new();
-
Gtk::VBox *vb = new Gtk::VBox(false, 3);
vb->set_border_width(3);
gtk_container_add (GTK_CONTAINER (dlg), GTK_WIDGET(vb->gobj()));
@@ -458,7 +456,7 @@ sp_export_dialog (void)
Gtk::VBox *vb_singleexport = new Gtk::VBox(false, 0);
vb_singleexport->set_border_width(0);
vb->pack_start(*vb_singleexport);
- gtk_object_set_data(GTK_OBJECT(dlg), "vb_singleexport", vb_singleexport);
+ g_object_set_data(G_OBJECT(dlg), "vb_singleexport", vb_singleexport);
/* Export area frame */
{
@@ -603,8 +601,8 @@ sp_export_dialog (void)
hb->pack_start (*fe, true, true, 0);
file_box->add(*hb);
- gtk_object_set_data (GTK_OBJECT (dlg), "filename", fe->gobj());
- gtk_object_set_data (GTK_OBJECT (dlg), "filename-modified", (gpointer)FALSE);
+ g_object_set_data (G_OBJECT (dlg), "filename", fe->gobj());
+ g_object_set_data (G_OBJECT (dlg), "filename-modified", (gpointer)FALSE);
original_name = g_strdup(fe->get_text().c_str());
// pressing enter in the filename field is the same as clicking export:
g_signal_connect ( G_OBJECT (fe->gobj()), "activate",
@@ -622,9 +620,9 @@ sp_export_dialog (void)
Gtk::HBox* batch_box = new Gtk::HBox(FALSE, 5);
GtkWidget *be = gtk_check_button_new_with_mnemonic(_("B_atch export all selected objects"));
gtk_widget_set_sensitive(GTK_WIDGET(be), TRUE);
- gtk_object_set_data(GTK_OBJECT(dlg), "batch_checkbox", be);
+ g_object_set_data(G_OBJECT(dlg), "batch_checkbox", be);
batch_box->pack_start(*Glib::wrap(be), false, false);
- gtk_tooltips_set_tip(tt, be, _("Export each selected object into its own PNG file, using export hints if any (caution, overwrites without asking!)"), NULL);
+ gtk_widget_set_tooltip_text(be, _("Export each selected object into its own PNG file, using export hints if any (caution, overwrites without asking!)"));
batch_box->show_all();
g_signal_connect(G_OBJECT(be), "toggled", GTK_SIGNAL_FUNC(batch_export_clicked), dlg);
vb->pack_start(*batch_box);
@@ -634,9 +632,9 @@ sp_export_dialog (void)
Gtk::HBox* hide_box = new Gtk::HBox(FALSE, 5);
GtkWidget *he = gtk_check_button_new_with_mnemonic(_("Hide a_ll except selected"));
gtk_widget_set_sensitive(GTK_WIDGET(he), TRUE);
- gtk_object_set_data(GTK_OBJECT(dlg), "hide_checkbox", he);
+ g_object_set_data(G_OBJECT(dlg), "hide_checkbox", he);
hide_box->pack_start(*Glib::wrap(he), false, false);
- gtk_tooltips_set_tip(tt, he, _("In the exported image, hide all objects except those that are selected"), NULL);
+ gtk_widget_set_tooltip_text(he, _("In the exported image, hide all objects except those that are selected"));
hide_box->show_all();
vb->pack_start(*hide_box);
}
@@ -657,9 +655,9 @@ sp_export_dialog (void)
image_label->pack_start(*l);
b->add(*image_label);
- gtk_tooltips_set_tip (tt, GTK_WIDGET(b->gobj()), _("Export the bitmap file with these settings"), NULL);
- gtk_signal_connect ( GTK_OBJECT (b->gobj()), "clicked",
- GTK_SIGNAL_FUNC (sp_export_export_clicked), dlg );
+ gtk_widget_set_tooltip_text (GTK_WIDGET(b->gobj()), _("Export the bitmap file with these settings"));
+ g_signal_connect ( G_OBJECT (b->gobj()), "clicked",
+ G_CALLBACK (sp_export_export_clicked), dlg );
bb->pack_end(*b, false, false, 0);
}
@@ -679,8 +677,8 @@ static void
sp_export_update_checkbuttons (GtkObject *base)
{
gint num = g_slist_length((GSList *) sp_desktop_selection(SP_ACTIVE_DESKTOP)->itemList());
- GtkWidget *be = (GtkWidget *)gtk_object_get_data(base, "batch_checkbox");
- GtkWidget *he = (GtkWidget *)gtk_object_get_data(base, "hide_checkbox");
+ GtkWidget *be = (GtkWidget *)g_object_get_data(G_OBJECT(base), "batch_checkbox");
+ GtkWidget *he = (GtkWidget *)g_object_get_data(G_OBJECT(base), "hide_checkbox");
if (num >= 2) {
gtk_widget_set_sensitive (be, true);
gtk_button_set_label (GTK_BUTTON(be), g_strdup_printf (ngettext("B_atch export %d selected object","B_atch export %d selected objects",num), num));
@@ -735,35 +733,33 @@ sp_export_find_default_selection(GtkWidget * dlg)
/**
- * \brief If selection changed or a different document activated, we must
- * recalculate any chosen areas
- *
+ * If selection changed or a different document activated, we must
+ * recalculate any chosen areas.
*/
-static void
-sp_export_selection_changed ( Inkscape::Application *inkscape,
- Inkscape::Selection *selection,
- GtkObject *base )
+static void sp_export_selection_changed( Inkscape::Application *inkscape,
+ Inkscape::Selection *selection,
+ GtkObject *base )
{
selection_type current_key;
- current_key = (selection_type)(GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(base), "selection-type")));
+ current_key = (selection_type)(GPOINTER_TO_INT(g_object_get_data(G_OBJECT(base), "selection-type")));
if ((current_key == SELECTION_DRAWING || current_key == SELECTION_PAGE) &&
(sp_desktop_selection(SP_ACTIVE_DESKTOP))->isEmpty() == false &&
was_empty) {
gtk_toggle_button_set_active
- ( GTK_TOGGLE_BUTTON ( gtk_object_get_data (base, selection_names[SELECTION_SELECTION])),
+ ( GTK_TOGGLE_BUTTON ( g_object_get_data (G_OBJECT(base), selection_names[SELECTION_SELECTION])),
TRUE );
}
was_empty = (sp_desktop_selection(SP_ACTIVE_DESKTOP))->isEmpty();
- current_key = (selection_type)(GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(base), "selection-type")));
+ current_key = (selection_type)(GPOINTER_TO_INT(g_object_get_data(G_OBJECT(base), "selection-type")));
if (inkscape &&
SP_IS_INKSCAPE (inkscape) &&
selection &&
SELECTION_CUSTOM != current_key) {
GtkToggleButton * button;
- button = (GtkToggleButton *)gtk_object_get_data(base, selection_names[current_key]);
+ button = (GtkToggleButton *)g_object_get_data(G_OBJECT(base), selection_names[current_key]);
sp_export_area_toggled(button, base);
}
@@ -777,27 +773,29 @@ sp_export_selection_modified ( Inkscape::Application */*inkscape*/,
GtkObject *base )
{
selection_type current_key;
- current_key = (selection_type)(GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(base), "selection-type")));
+ current_key = (selection_type)(GPOINTER_TO_INT(g_object_get_data(G_OBJECT(base), "selection-type")));
switch (current_key) {
case SELECTION_DRAWING:
if ( SP_ACTIVE_DESKTOP ) {
SPDocument *doc;
doc = sp_desktop_document (SP_ACTIVE_DESKTOP);
- Geom::OptRect bbox = SP_ITEM(doc->root)->getBboxDesktop(SPItem::RENDERING_BBOX);
+ Geom::OptRect bbox = doc->getRoot()->desktopVisualBounds();
if (bbox) {
- sp_export_set_area (base, bbox->min()[Geom::X],
- bbox->min()[Geom::Y],
- bbox->max()[Geom::X],
- bbox->max()[Geom::Y]);
+ sp_export_set_area (base, bbox->left(),
+ bbox->top(),
+ bbox->right(),
+ bbox->bottom());
}
}
break;
case SELECTION_SELECTION:
if ((sp_desktop_selection(SP_ACTIVE_DESKTOP))->isEmpty() == false) {
- NRRect bbox;
- (sp_desktop_selection (SP_ACTIVE_DESKTOP))->bounds(&bbox, SPItem::RENDERING_BBOX);
- sp_export_set_area (base, bbox.x0, bbox.y0, bbox.x1, bbox.y1);
+ Geom::OptRect bbox = (sp_desktop_selection (SP_ACTIVE_DESKTOP))->visualBounds();
+ sp_export_set_area (base, bbox->left(),
+ bbox->top(),
+ bbox->right(),
+ bbox->bottom());
}
break;
default:
@@ -812,12 +810,12 @@ sp_export_selection_modified ( Inkscape::Application */*inkscape*/,
static void
sp_export_area_toggled (GtkToggleButton *tb, GtkObject *base)
{
- if (gtk_object_get_data (base, "update"))
+ if (g_object_get_data (G_OBJECT(base), "update"))
return;
selection_type key, old_key;
- key = (selection_type)(GPOINTER_TO_INT(gtk_object_get_data (GTK_OBJECT (tb), "key")));
- old_key = (selection_type)(GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(base), "selection-type")));
+ key = (selection_type)(GPOINTER_TO_INT(g_object_get_data(G_OBJECT (tb), "key")));
+ old_key = (selection_type)(GPOINTER_TO_INT(g_object_get_data(G_OBJECT(base), "selection-type")));
/* Ignore all "turned off" events unless we're the only active button */
if (!gtk_toggle_button_get_active (tb) ) {
@@ -832,11 +830,11 @@ sp_export_area_toggled (GtkToggleButton *tb, GtkObject *base)
}
/* Turn off the currently active button unless it's us */
- gtk_object_set_data(GTK_OBJECT(base), "selection-type", (gpointer)key);
+ g_object_set_data(G_OBJECT(base), "selection-type", (gpointer)key);
if (old_key != key) {
gtk_toggle_button_set_active
- ( GTK_TOGGLE_BUTTON ( gtk_object_get_data (base, selection_names[old_key])),
+ ( GTK_TOGGLE_BUTTON ( g_object_get_data (G_OBJECT(base), selection_names[old_key])),
FALSE );
}
@@ -853,7 +851,7 @@ sp_export_area_toggled (GtkToggleButton *tb, GtkObject *base)
case SELECTION_SELECTION:
if ((sp_desktop_selection(SP_ACTIVE_DESKTOP))->isEmpty() == false)
{
- bbox = sp_desktop_selection (SP_ACTIVE_DESKTOP)->bounds(SPItem::RENDERING_BBOX);
+ bbox = sp_desktop_selection (SP_ACTIVE_DESKTOP)->visualBounds();
/* Only if there is a selection that we can set
do we break, otherwise we fall through to the
drawing */
@@ -865,7 +863,7 @@ sp_export_area_toggled (GtkToggleButton *tb, GtkObject *base)
/** \todo
* This returns wrong values if the document has a viewBox.
*/
- bbox = SP_ITEM(doc->root)->getBboxDesktop(SPItem::RENDERING_BBOX);
+ bbox = doc->getRoot()->desktopVisualBounds();
/* If the drawing is valid, then we'll use it and break
otherwise we drop through to the page settings */
if (bbox) {
@@ -899,12 +897,12 @@ sp_export_area_toggled (GtkToggleButton *tb, GtkObject *base)
} // end of if ( SP_ACTIVE_DESKTOP )
- if (SP_ACTIVE_DESKTOP && !gtk_object_get_data(GTK_OBJECT(base), "filename-modified")) {
+ if (SP_ACTIVE_DESKTOP && !g_object_get_data(G_OBJECT(base), "filename-modified")) {
GtkWidget * file_entry;
const gchar * filename = NULL;
float xdpi = 0.0, ydpi = 0.0;
- file_entry = (GtkWidget *)gtk_object_get_data (base, "filename");
+ file_entry = (GtkWidget *)g_object_get_data (G_OBJECT(base), "filename");
switch (key) {
case SELECTION_PAGE:
@@ -1054,7 +1052,7 @@ filename_add_extension (const gchar *filename, const gchar *extension)
return g_strconcat (filename, extension, NULL);
else
{
- if (g_strcasecmp (dot + 1, extension) == 0)
+ if (g_ascii_strcasecmp (dot + 1, extension) == 0)
return g_strdup (filename);
else
{
@@ -1090,8 +1088,8 @@ sp_export_export_clicked (GtkButton */*button*/, GtkObject *base)
SPNamedView *nv = sp_desktop_namedview(SP_ACTIVE_DESKTOP);
SPDocument *doc = sp_desktop_document (SP_ACTIVE_DESKTOP);
- GtkWidget *be = (GtkWidget *)gtk_object_get_data(base, "batch_checkbox");
- GtkWidget *he = (GtkWidget *)gtk_object_get_data(base, "hide_checkbox");
+ GtkWidget *be = (GtkWidget *)g_object_get_data(G_OBJECT(base), "batch_checkbox");
+ GtkWidget *he = (GtkWidget *)g_object_get_data(G_OBJECT(base), "hide_checkbox");
bool hide = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (he));
if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (be))) {
// Batch export of selected objects
@@ -1130,8 +1128,7 @@ sp_export_export_clicked (GtkButton */*button*/, GtkObject *base)
dpi = DPI_BASE;
}
- Geom::OptRect area;
- item->invoke_bbox( area, item->i2d_affine(), TRUE );
+ Geom::OptRect area = item->desktopVisualBounds();
if (area) {
gint width = (gint) (area->width() * dpi / PX_PER_IN + 0.5);
gint height = (gint) (area->height() * dpi / PX_PER_IN + 0.5);
@@ -1163,7 +1160,7 @@ sp_export_export_clicked (GtkButton */*button*/, GtkObject *base)
} else {
- GtkWidget *fe = (GtkWidget *)gtk_object_get_data(base, "filename");
+ GtkWidget *fe = (GtkWidget *)g_object_get_data(G_OBJECT(base), "filename");
gchar const *filename = gtk_entry_get_text(GTK_ENTRY(fe));
float const x0 = sp_export_value_get_px(base, "x0");
@@ -1233,13 +1230,13 @@ sp_export_export_clicked (GtkButton */*button*/, GtkObject *base)
selections and all that */
g_free(original_name);
original_name = g_strdup(filename_ext);
- gtk_object_set_data (GTK_OBJECT (base), "filename-modified", (gpointer)FALSE);
+ g_object_set_data (G_OBJECT (base), "filename-modified", (gpointer)FALSE);
gtk_widget_destroy (prog_dlg);
g_object_set_data (G_OBJECT (base), "cancel", (gpointer) 0);
/* Setup the values in the document */
- switch ((selection_type)(GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(base), "selection-type")))) {
+ switch ((selection_type)(GPOINTER_TO_INT(g_object_get_data(G_OBJECT(base), "selection-type")))) {
case SELECTION_PAGE:
case SELECTION_DRAWING: {
SPDocument * doc = SP_ACTIVE_DOCUMENT;
@@ -1283,11 +1280,13 @@ sp_export_export_clicked (GtkButton */*button*/, GtkObject *base)
for(; reprlst != NULL; reprlst = reprlst->next) {
Inkscape::XML::Node * repr = (Inkscape::XML::Node *)reprlst->data;
const gchar * temp_string;
+ gchar *dir = g_path_get_dirname(filename);
+ gchar *docdir = g_path_get_dirname(SP_ACTIVE_DOCUMENT->getURI());
if (repr->attribute("id") == NULL ||
!(g_strrstr(filename_ext, repr->attribute("id")) != NULL &&
( !SP_ACTIVE_DOCUMENT->getURI() ||
- strcmp(g_dirname(filename), g_dirname(SP_ACTIVE_DOCUMENT->getURI())) == 0))) {
+ strcmp(dir, docdir) == 0))) {
temp_string = repr->attribute("inkscape:export-filename");
if (temp_string == NULL || strcmp(temp_string, filename_ext)) {
repr->setAttribute("inkscape:export-filename", filename_ext);
@@ -1304,6 +1303,8 @@ sp_export_export_clicked (GtkButton */*button*/, GtkObject *base)
sp_repr_set_svg_double(repr, "inkscape:export-ydpi", ydpi);
modified = true;
}
+ g_free(dir);
+ g_free(docdir);
}
DocumentUndo::setUndoSensitive(doc, saved);
@@ -1441,34 +1442,34 @@ sp_export_bbox_equal(Geom::Rect const &one, Geom::Rect const &two)
}
/**
- \brief This function is used to detect the current selection setting
- based on the values in the x0, y0, x1 and y0 fields.
- \param base The export dialog itself
-
- One of the most confusing parts of this function is why the array
- is built at the beginning. What needs to happen here is that we
- should always check the current selection to see if it is the valid
- one. While this is a performance improvement it is also a usability
- one during the cases where things like selections and drawings match
- size. This way buttons change less 'randomly' (atleast in the eyes
- of the user). To do this an array is built where the current selection
- type is placed first, and then the others in an order from smallest
- to largest (this can be configured by reshuffling \c test_order).
-
- All of the values in this function are rounded to two decimal places
- because that is what is shown to the user. While everything is kept
- more accurate than that, the user can't control more acurrate than
- that, so for this to work for them - it needs to check on that level
- of accuracy.
-
- \todo finish writing this up
-*/
-static void
-sp_export_detect_size(GtkObject * base) {
+ *This function is used to detect the current selection setting
+ * based on the values in the x0, y0, x1 and y0 fields.
+ *
+ * One of the most confusing parts of this function is why the array
+ * is built at the beginning. What needs to happen here is that we
+ * should always check the current selection to see if it is the valid
+ * one. While this is a performance improvement it is also a usability
+ * one during the cases where things like selections and drawings match
+ * size. This way buttons change less 'randomly' (atleast in the eyes
+ * of the user). To do this an array is built where the current selection
+ * type is placed first, and then the others in an order from smallest
+ * to largest (this can be configured by reshuffling \c test_order).
+ *
+ * All of the values in this function are rounded to two decimal places
+ * because that is what is shown to the user. While everything is kept
+ * more accurate than that, the user can't control more acurrate than
+ * that, so for this to work for them - it needs to check on that level
+ * of accuracy.
+ *
+ * @param base The export dialog itself.
+ *
+ * @todo finish writing this up.
+ */
+static void sp_export_detect_size(GtkObject * base) {
static const selection_type test_order[SELECTION_NUMBER_OF] = {SELECTION_SELECTION, SELECTION_DRAWING, SELECTION_PAGE, SELECTION_CUSTOM};
selection_type this_test[SELECTION_NUMBER_OF + 1];
selection_type key = SELECTION_NUMBER_OF;
-
+
Geom::Point x(sp_export_value_get_px (base, "x0"),
sp_export_value_get_px (base, "y0"));
Geom::Point y(sp_export_value_get_px (base, "x1"),
@@ -1476,7 +1477,7 @@ sp_export_detect_size(GtkObject * base) {
Geom::Rect current_bbox(x, y);
//std::cout << "Current " << current_bbox;
- this_test[0] = (selection_type)(GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(base), "selection-type")));
+ this_test[0] = (selection_type)(GPOINTER_TO_INT(g_object_get_data(G_OBJECT(base), "selection-type")));
for (int i = 0; i < SELECTION_NUMBER_OF; i++) {
this_test[i + 1] = test_order[i];
}
@@ -1490,7 +1491,7 @@ sp_export_detect_size(GtkObject * base) {
switch (this_test[i]) {
case SELECTION_SELECTION:
if ((sp_desktop_selection(SP_ACTIVE_DESKTOP))->isEmpty() == false) {
- Geom::OptRect bbox = (sp_desktop_selection (SP_ACTIVE_DESKTOP))->bounds(SPItem::RENDERING_BBOX);
+ Geom::OptRect bbox = (sp_desktop_selection (SP_ACTIVE_DESKTOP))->bounds(SPItem::VISUAL_BBOX);
//std::cout << "Selection " << bbox;
if ( bbox && sp_export_bbox_equal(*bbox,current_bbox)) {
@@ -1501,7 +1502,7 @@ sp_export_detect_size(GtkObject * base) {
case SELECTION_DRAWING: {
SPDocument *doc = sp_desktop_document (SP_ACTIVE_DESKTOP);
- Geom::OptRect bbox = SP_ITEM(doc->root)->getBboxDesktop(SPItem::RENDERING_BBOX);
+ Geom::OptRect bbox = doc->getRoot()->desktopVisualBounds();
// std::cout << "Drawing " << bbox2;
if ( bbox && sp_export_bbox_equal(*bbox,current_bbox) ) {
@@ -1539,10 +1540,10 @@ sp_export_detect_size(GtkObject * base) {
/* We're now using a custom size, not a fixed one */
/* printf("Detecting state: %s\n", selection_names[key]); */
- selection_type old = (selection_type)(GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(base), "selection-type")));
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(gtk_object_get_data(base, selection_names[old])), FALSE);
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(gtk_object_get_data(base, selection_names[key])), TRUE);
- gtk_object_set_data(GTK_OBJECT(base), "selection-type", (gpointer)key);
+ selection_type old = (selection_type)(GPOINTER_TO_INT(g_object_get_data(G_OBJECT(base), "selection-type")));
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(g_object_get_data(G_OBJECT(base), selection_names[old])), FALSE);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(g_object_get_data(G_OBJECT(base), selection_names[key])), TRUE);
+ g_object_set_data(G_OBJECT(base), "selection-type", (gpointer)key);
return;
} /* sp_export_detect_size */
@@ -1553,16 +1554,16 @@ sp_export_area_x_value_changed (GtkAdjustment *adj, GtkObject *base)
{
float x0, x1, xdpi, width;
- if (gtk_object_get_data (base, "update"))
+ if (g_object_get_data (G_OBJECT(base), "update"))
return;
- if (sp_unit_selector_update_test ((SPUnitSelector *)gtk_object_get_data
- (base, "units")))
+ if (sp_unit_selector_update_test ((SPUnitSelector *)g_object_get_data
+ (G_OBJECT(base), "units")))
{
return;
}
- gtk_object_set_data ( base, "update", GUINT_TO_POINTER (TRUE) );
+ g_object_set_data ( G_OBJECT(base), "update", GUINT_TO_POINTER (TRUE) );
x0 = sp_export_value_get_px (base, "x0");
x1 = sp_export_value_get_px (base, "x1");
@@ -1573,7 +1574,7 @@ sp_export_area_x_value_changed (GtkAdjustment *adj, GtkObject *base)
if (width < SP_EXPORT_MIN_SIZE) {
const gchar *key;
width = SP_EXPORT_MIN_SIZE;
- key = (const gchar *)gtk_object_get_data (GTK_OBJECT (adj), "key");
+ key = (const gchar *)g_object_get_data(G_OBJECT (adj), "key");
if (!strcmp (key, "x0")) {
x1 = x0 + width * DPI_BASE / xdpi;
@@ -1589,7 +1590,7 @@ sp_export_area_x_value_changed (GtkAdjustment *adj, GtkObject *base)
sp_export_detect_size(base);
- gtk_object_set_data (base, "update", GUINT_TO_POINTER (FALSE));
+ g_object_set_data ( G_OBJECT (base), "update", GUINT_TO_POINTER (FALSE));
return;
} // end of sp_export_area_x_value_changed()
@@ -1600,16 +1601,16 @@ sp_export_area_y_value_changed (GtkAdjustment *adj, GtkObject *base)
{
float y0, y1, ydpi, height;
- if (gtk_object_get_data (base, "update"))
+ if (g_object_get_data (G_OBJECT(base), "update"))
return;
- if (sp_unit_selector_update_test ((SPUnitSelector *)gtk_object_get_data
- (base, "units")))
+ if (sp_unit_selector_update_test ((SPUnitSelector *)g_object_get_data
+ (G_OBJECT(base), "units")))
{
return;
}
- gtk_object_set_data (base, "update", GUINT_TO_POINTER (TRUE));
+ g_object_set_data ( G_OBJECT (base), "update", GUINT_TO_POINTER (TRUE));
y0 = sp_export_value_get_px (base, "y0");
y1 = sp_export_value_get_px (base, "y1");
@@ -1620,7 +1621,7 @@ sp_export_area_y_value_changed (GtkAdjustment *adj, GtkObject *base)
if (height < SP_EXPORT_MIN_SIZE) {
const gchar *key;
height = SP_EXPORT_MIN_SIZE;
- key = (const gchar *)gtk_object_get_data (GTK_OBJECT (adj), "key");
+ key = (const gchar *)g_object_get_data(G_OBJECT (adj), "key");
if (!strcmp (key, "y0")) {
y1 = y0 + height * DPI_BASE / ydpi;
sp_export_value_set_px (base, "y1", y1);
@@ -1635,7 +1636,7 @@ sp_export_area_y_value_changed (GtkAdjustment *adj, GtkObject *base)
sp_export_detect_size(base);
- gtk_object_set_data (base, "update", GUINT_TO_POINTER (FALSE));
+ g_object_set_data ( G_OBJECT (base), "update", GUINT_TO_POINTER (FALSE));
return;
} // end of sp_export_area_y_value_changed()
@@ -1646,15 +1647,15 @@ sp_export_area_width_value_changed (GtkAdjustment */*adj*/, GtkObject *base)
{
float x0, x1, xdpi, width, bmwidth;
- if (gtk_object_get_data (base, "update"))
+ if (g_object_get_data (G_OBJECT(base), "update"))
return;
- if (sp_unit_selector_update_test ((SPUnitSelector *)gtk_object_get_data
- (base, "units"))) {
+ if (sp_unit_selector_update_test ((SPUnitSelector *)g_object_get_data
+ (G_OBJECT(base), "units"))) {
return;
}
- gtk_object_set_data (base, "update", GUINT_TO_POINTER (TRUE));
+ g_object_set_data ( G_OBJECT (base), "update", GUINT_TO_POINTER (TRUE));
x0 = sp_export_value_get_px (base, "x0");
x1 = sp_export_value_get_px (base, "x1");
@@ -1672,7 +1673,7 @@ sp_export_area_width_value_changed (GtkAdjustment */*adj*/, GtkObject *base)
sp_export_value_set_px (base, "x1", x0 + width);
sp_export_value_set (base, "bmwidth", bmwidth);
- gtk_object_set_data (base, "update", GUINT_TO_POINTER (FALSE));
+ g_object_set_data (G_OBJECT (base), "update", GUINT_TO_POINTER (FALSE));
return;
} // end of sp_export_area_width_value_changed()
@@ -1684,15 +1685,15 @@ sp_export_area_height_value_changed (GtkAdjustment */*adj*/, GtkObject *base)
float y0, y1, ydpi, height, bmheight;
- if (gtk_object_get_data (base, "update"))
+ if (g_object_get_data (G_OBJECT(base), "update"))
return;
- if (sp_unit_selector_update_test ((SPUnitSelector *)gtk_object_get_data
- (base, "units"))) {
+ if (sp_unit_selector_update_test ((SPUnitSelector *)g_object_get_data
+ (G_OBJECT(base), "units"))) {
return;
}
- gtk_object_set_data (base, "update", GUINT_TO_POINTER (TRUE));
+ g_object_set_data (G_OBJECT (base), "update", GUINT_TO_POINTER (TRUE));
y0 = sp_export_value_get_px (base, "y0");
y1 = sp_export_value_get_px (base, "y1");
@@ -1709,21 +1710,20 @@ sp_export_area_height_value_changed (GtkAdjustment */*adj*/, GtkObject *base)
sp_export_value_set_px (base, "y1", y0 + height);
sp_export_value_set (base, "bmheight", bmheight);
- gtk_object_set_data (base, "update", GUINT_TO_POINTER (FALSE));
+ g_object_set_data (G_OBJECT (base), "update", GUINT_TO_POINTER (FALSE));
return;
} // end of sp_export_area_height_value_changed()
/**
- \brief A function to set the ydpi
- \param base The export dialog
-
- This function grabs all of the y values and then figures out the
- new bitmap size based on the changing dpi value. The dpi value is
- gotten from the xdpi setting as these can not currently be independent.
-*/
-static void
-sp_export_set_image_y (GtkObject *base)
+ * A function to set the ydpi.
+ * @param base The export dialog.
+ *
+ * This function grabs all of the y values and then figures out the
+ * new bitmap size based on the changing dpi value. The dpi value is
+ * gotten from the xdpi setting as these can not currently be independent.
+ */
+static void sp_export_set_image_y(GtkObject *base)
{
float y0, y1, xdpi;
@@ -1738,15 +1738,15 @@ sp_export_set_image_y (GtkObject *base)
} // end of sp_export_set_image_y()
/**
- \brief A function to set the xdpi
- \param base The export dialog
-
- This function grabs all of the x values and then figures out the
- new bitmap size based on the changing dpi value. The dpi value is
- gotten from the xdpi setting as these can not currently be independent.
-*/
-static void
-sp_export_set_image_x (GtkObject *base)
+ * A function to set the xdpi.
+ *
+ * This function grabs all of the x values and then figures out the
+ * new bitmap size based on the changing dpi value. The dpi value is
+ * gotten from the xdpi setting as these can not currently be independent.
+ *
+ * @param base The export dialog.
+ */
+static void sp_export_set_image_x(GtkObject *base)
{
float x0, x1, xdpi;
@@ -1766,15 +1766,15 @@ sp_export_bitmap_width_value_changed (GtkAdjustment */*adj*/, GtkObject *base)
{
float x0, x1, bmwidth, xdpi;
- if (gtk_object_get_data (base, "update"))
+ if (g_object_get_data (G_OBJECT(base), "update"))
return;
- if (sp_unit_selector_update_test ((SPUnitSelector *)gtk_object_get_data
- (base, "units"))) {
+ if (sp_unit_selector_update_test ((SPUnitSelector *)g_object_get_data
+ (G_OBJECT(base), "units"))) {
return;
}
- gtk_object_set_data (base, "update", GUINT_TO_POINTER (TRUE));
+ g_object_set_data (G_OBJECT (base), "update", GUINT_TO_POINTER (TRUE));
x0 = sp_export_value_get_px (base, "x0");
x1 = sp_export_value_get_px (base, "x1");
@@ -1790,7 +1790,7 @@ sp_export_bitmap_width_value_changed (GtkAdjustment */*adj*/, GtkObject *base)
sp_export_set_image_y (base);
- gtk_object_set_data (base, "update", GUINT_TO_POINTER (FALSE));
+ g_object_set_data (G_OBJECT (base), "update", GUINT_TO_POINTER (FALSE));
return;
} // end of sp_export_bitmap_width_value_changed()
@@ -1801,15 +1801,15 @@ sp_export_bitmap_height_value_changed (GtkAdjustment */*adj*/, GtkObject *base)
{
float y0, y1, bmheight, xdpi;
- if (gtk_object_get_data (base, "update"))
+ if (g_object_get_data (G_OBJECT(base), "update"))
return;
- if (sp_unit_selector_update_test ((SPUnitSelector *)gtk_object_get_data
- (base, "units"))) {
+ if (sp_unit_selector_update_test ((SPUnitSelector *)g_object_get_data
+ (G_OBJECT(base), "units"))) {
return;
}
- gtk_object_set_data (base, "update", GUINT_TO_POINTER (TRUE));
+ g_object_set_data (G_OBJECT (base), "update", GUINT_TO_POINTER (TRUE));
y0 = sp_export_value_get_px (base, "y0");
y1 = sp_export_value_get_px (base, "y1");
@@ -1825,53 +1825,53 @@ sp_export_bitmap_height_value_changed (GtkAdjustment */*adj*/, GtkObject *base)
sp_export_set_image_x (base);
- gtk_object_set_data (base, "update", GUINT_TO_POINTER (FALSE));
+ g_object_set_data (G_OBJECT (base), "update", GUINT_TO_POINTER (FALSE));
return;
} // end of sp_export_bitmap_width_value_changed()
/**
- \brief A function to adjust the bitmap width when the xdpi value changes
- \param adj The adjustment that was changed
- \param base The export dialog itself
-
- The first thing this function checks is to see if we are doing an
- update. If we are, this function just returns because there is another
- instance of it that will handle everything for us. If there is a
- units change, we also assume that everyone is being updated appropriately
- and there is nothing for us to do.
-
- If we're the highest level function, we set the update flag, and
- continue on our way.
-
- All of the values are grabbed using the \c sp_export_value_get functions
- (call to the _pt ones for x0 and x1 but just standard for xdpi). The
- xdpi value is saved in the preferences for the next time the dialog
- is opened. (does the selection dpi need to be set here?)
-
- A check is done to to ensure that we aren't outputing an invalid width,
- this is set by SP_EXPORT_MIN_SIZE. If that is the case the dpi is
- changed to make it valid.
-
- After all of this the bitmap width is changed.
-
- We also change the ydpi. This is a temporary hack as these can not
- currently be independent. This is likely to change in the future.
-*/
-void
-sp_export_xdpi_value_changed (GtkAdjustment */*adj*/, GtkObject *base)
+ * A function to adjust the bitmap width when the xdpi value changes.
+ *
+ * The first thing this function checks is to see if we are doing an
+ * update. If we are, this function just returns because there is another
+ * instance of it that will handle everything for us. If there is a
+ * units change, we also assume that everyone is being updated appropriately
+ * and there is nothing for us to do.
+ *
+ * If we're the highest level function, we set the update flag, and
+ * continue on our way.
+ *
+ * All of the values are grabbed using the \c sp_export_value_get functions
+ * (call to the _pt ones for x0 and x1 but just standard for xdpi). The
+ * xdpi value is saved in the preferences for the next time the dialog
+ * is opened. (does the selection dpi need to be set here?)
+ *
+ * A check is done to to ensure that we aren't outputing an invalid width,
+ * this is set by SP_EXPORT_MIN_SIZE. If that is the case the dpi is
+ * changed to make it valid.
+ *
+ * After all of this the bitmap width is changed.
+ *
+ * We also change the ydpi. This is a temporary hack as these can not
+ * currently be independent. This is likely to change in the future.
+ *
+ * @param adj The adjustment that was changed.
+ * @param base The export dialog itself.
+ */
+void sp_export_xdpi_value_changed(GtkAdjustment */*adj*/, GtkObject *base)
{
float x0, x1, xdpi, bmwidth;
- if (gtk_object_get_data (base, "update"))
+ if (g_object_get_data (G_OBJECT(base), "update"))
return;
- if (sp_unit_selector_update_test ((SPUnitSelector *)gtk_object_get_data
- (base, "units"))) {
+ if (sp_unit_selector_update_test ((SPUnitSelector *)g_object_get_data
+ (G_OBJECT(base), "units"))) {
return;
}
- gtk_object_set_data (base, "update", GUINT_TO_POINTER (TRUE));
+ g_object_set_data (G_OBJECT (base), "update", GUINT_TO_POINTER (TRUE));
x0 = sp_export_value_get_px (base, "x0");
x1 = sp_export_value_get_px (base, "x1");
@@ -1896,82 +1896,80 @@ sp_export_xdpi_value_changed (GtkAdjustment */*adj*/, GtkObject *base)
sp_export_set_image_y (base);
- gtk_object_set_data (base, "update", GUINT_TO_POINTER (FALSE));
+ g_object_set_data (G_OBJECT (base), "update", GUINT_TO_POINTER (FALSE));
return;
} // end of sp_export_xdpi_value_changed()
/**
- \brief A function to change the area that is used for the exported
- bitmap.
- \param base This is the export dialog
- \param x0 Horizontal upper left hand corner of the picture in points
- \param y0 Vertical upper left hand corner of the picture in points
- \param x1 Horizontal lower right hand corner of the picture in points
- \param y1 Vertical lower right hand corner of the picture in points
-
- This function just calls \c sp_export_value_set_px for each of the
- parameters that is passed in. This allows for setting them all in
- one convient area.
-
- Update is set to suspend all of the other test running while all the
- values are being set up. This allows for a performance increase, but
- it also means that the wrong type won't be detected with only some of
- the values set. After all the values are set everyone is told that
- there has been an update.
-*/
-static void
-sp_export_set_area ( GtkObject *base, double x0, double y0, double x1, double y1 )
+ * A function to change the area that is used for the exported.
+ * bitmap.
+ *
+ * This function just calls \c sp_export_value_set_px for each of the
+ * parameters that is passed in. This allows for setting them all in
+ * one convient area.
+ *
+ * Update is set to suspend all of the other test running while all the
+ * values are being set up. This allows for a performance increase, but
+ * it also means that the wrong type won't be detected with only some of
+ * the values set. After all the values are set everyone is told that
+ * there has been an update.
+ *
+ * @param base This is the export dialog.
+ * @param x0 Horizontal upper left hand corner of the picture in points.
+ * @param y0 Vertical upper left hand corner of the picture in points.
+ * @param x1 Horizontal lower right hand corner of the picture in points.
+ * @param y1 Vertical lower right hand corner of the picture in points.
+ */
+static void sp_export_set_area( GtkObject *base, double x0, double y0, double x1, double y1 )
{
- gtk_object_set_data ( base, "update", GUINT_TO_POINTER (TRUE) );
+ g_object_set_data (G_OBJECT (base), "update", GUINT_TO_POINTER (TRUE) );
sp_export_value_set_px (base, "x1", x1);
sp_export_value_set_px (base, "y1", y1);
sp_export_value_set_px (base, "x0", x0);
sp_export_value_set_px (base, "y0", y0);
- gtk_object_set_data ( base, "update", GUINT_TO_POINTER (FALSE) );
+ g_object_set_data (G_OBJECT (base), "update", GUINT_TO_POINTER (FALSE) );
- sp_export_area_x_value_changed ((GtkAdjustment *)gtk_object_get_data (base, "x1"), base);
- sp_export_area_y_value_changed ((GtkAdjustment *)gtk_object_get_data (base, "y1"), base);
+ sp_export_area_x_value_changed ((GtkAdjustment *)g_object_get_data (G_OBJECT(base), "x1"), base);
+ sp_export_area_y_value_changed ((GtkAdjustment *)g_object_get_data (G_OBJECT(base), "y1"), base);
return;
}
/**
- \brief Sets the value of an adjustment
- \param base The export dialog
- \param key Which adjustment to set
- \param val What value to set it to
-
- This function finds the adjustment using the data stored in the
- export dialog. After finding the adjustment it then sets
- the value of it.
-*/
-static void
-sp_export_value_set ( GtkObject *base, const gchar *key, double val )
+ * Sets the value of an adjustment.
+ *
+ * This function finds the adjustment using the data stored in the
+ * export dialog. After finding the adjustment it then sets
+ * the value of it.
+ *
+ * @param base The export dialog.
+ * @param key Which adjustment to set.
+ * @param val What value to set it to.
+ */
+static void sp_export_value_set( GtkObject *base, const gchar *key, double val )
{
- GtkAdjustment *adj;
-
- adj = (GtkAdjustment *)gtk_object_get_data (base, key);
+ GtkAdjustment *adj = (GtkAdjustment *)g_object_get_data (G_OBJECT(base), key);
gtk_adjustment_set_value (adj, val);
}
/**
- \brief A function to set a value using the units points
- \param base The export dialog
- \param key Which value should be set
- \param val What the value should be in points
-
- This function first gets the adjustment for the key that is passed
- in. It then figures out what units are currently being used in the
- dialog. After doing all of that, it then converts the incoming
- value and sets the adjustment.
-*/
-static void
-sp_export_value_set_px (GtkObject *base, const gchar *key, double val)
+ * A function to set a value using the units points.
+ *
+ * This function first gets the adjustment for the key that is passed
+ * in. It then figures out what units are currently being used in the
+ * dialog. After doing all of that, it then converts the incoming
+ *value and sets the adjustment.
+ *
+ * @param base The export dialog.
+ * @param key Which value should be set.
+ * @param val What the value should be in points.
+ */
+static void sp_export_value_set_px(GtkObject *base, const gchar *key, double val)
{
- const SPUnit *unit = sp_unit_selector_get_unit ((SPUnitSelector *)gtk_object_get_data (base, "units") );
+ const SPUnit *unit = sp_unit_selector_get_unit ((SPUnitSelector *)g_object_get_data (G_OBJECT(base), "units") );
sp_export_value_set (base, key, sp_pixels_get_units (val, *unit));
@@ -1979,69 +1977,68 @@ sp_export_value_set_px (GtkObject *base, const gchar *key, double val)
}
/**
- \brief Get the value of an adjustment in the export dialog
- \param base The export dialog
- \param key Which adjustment is being looked for
- \return The value in the specified adjustment
-
- This function gets the adjustment from the data field in the export
- dialog. It then grabs the value from the adjustment.
-*/
-static float
-sp_export_value_get ( GtkObject *base, const gchar *key )
+ * Get the value of an adjustment in the export dialog.
+ *
+ * This function gets the adjustment from the data field in the export
+ * dialog. It then grabs the value from the adjustment.
+ *
+ * @param base The export dialog.
+ * @param key Which adjustment is being looked for.
+ * @return The value in the specified adjustment.
+ */
+static float sp_export_value_get( GtkObject *base, const gchar *key )
{
GtkAdjustment *adj;
- adj = (GtkAdjustment *)gtk_object_get_data (base, key);
+ adj = (GtkAdjustment *)g_object_get_data (G_OBJECT(base), key);
return adj->value;
}
/**
- \brief Grabs a value in the export dialog and converts the unit
- to points
- \param base The export dialog
- \param key Which value should be returned
- \return The value in the adjustment in points
-
- This function, at its most basic, is a call to \c sp_export_value_get
- to get the value of the adjustment. It then finds the units that
- are being used by looking at the "units" attribute of the export
- dialog. Using that it converts the returned value into points.
-*/
-static float
-sp_export_value_get_px ( GtkObject *base, const gchar *key )
+ * Grabs a value in the export dialog and converts the unit
+ * to points.
+ *
+ * This function, at its most basic, is a call to \c sp_export_value_get
+ * to get the value of the adjustment. It then finds the units that
+ * are being used by looking at the "units" attribute of the export
+ * dialog. Using that it converts the returned value into points.
+ *
+ * @param base The export dialog.
+ * @param key Which value should be returned.
+ * @return The value in the adjustment in points.
+ */
+static float sp_export_value_get_px( GtkObject *base, const gchar *key )
{
float value = sp_export_value_get(base, key);
- const SPUnit *unit = sp_unit_selector_get_unit ((SPUnitSelector *)gtk_object_get_data (base, "units"));
+ const SPUnit *unit = sp_unit_selector_get_unit ((SPUnitSelector *)g_object_get_data (G_OBJECT(base), "units"));
return sp_units_get_pixels (value, *unit);
} // end of sp_export_value_get_px()
/**
- \brief This function is called when the filename is changed by
- anyone. It resets the virgin bit.
- \param object Text entry box
- \param data The export dialog
- \return None
-
- This function gets called when the text area is modified. It is
- looking for the case where the text area is modified from its
- original value. In that case it sets the "filename-modified" bit
- to TRUE. If the text dialog returns back to the original text, the
- bit gets reset. This should stop simple mistakes.
-*/
-static void
-sp_export_filename_modified (GtkObject * object, gpointer data)
+ * This function is called when the filename is changed by
+ * anyone. It resets the virgin bit.
+ *
+ * This function gets called when the text area is modified. It is
+ * looking for the case where the text area is modified from its
+ * original value. In that case it sets the "filename-modified" bit
+ * to TRUE. If the text dialog returns back to the original text, the
+ * bit gets reset. This should stop simple mistakes.
+ *
+ * @param object Text entry box.
+ * @param data The export dialog.
+ */
+static void sp_export_filename_modified(GtkObject * object, gpointer data)
{
GtkWidget * text_entry = (GtkWidget *)object;
GtkWidget * export_dialog = (GtkWidget *)data;
if (!strcmp(original_name, gtk_entry_get_text(GTK_ENTRY(text_entry)))) {
- gtk_object_set_data (GTK_OBJECT (export_dialog), "filename-modified", (gpointer)FALSE);
+ g_object_set_data (G_OBJECT (export_dialog), "filename-modified", (gpointer)FALSE);
// printf("Modified: FALSE\n");
} else {
- gtk_object_set_data (GTK_OBJECT (export_dialog), "filename-modified", (gpointer)TRUE);
+ g_object_set_data (G_OBJECT (export_dialog), "filename-modified", (gpointer)TRUE);
// printf("Modified: TRUE\n");
}
diff --git a/src/dialogs/find.cpp b/src/dialogs/find.cpp
index c112b3531..7219c910e 100644
--- a/src/dialogs/find.cpp
+++ b/src/dialogs/find.cpp
@@ -1,5 +1,6 @@
-/** @file
- * @brief Find dialog
+/**
+ * @file
+ * Find dialog.
*/
/* Authors:
* bulia byak <bulia@users.sf.net>
@@ -60,6 +61,7 @@ sp_find_dialog(){
#include "../sp-image.h"
#include "../sp-offset.h"
#include <xml/repr.h>
+#include "sp-root.h"
#define MIN_ONSCREEN_DISTANCE 50
@@ -192,7 +194,7 @@ bool item_attr_match(SPItem *item, const gchar *name, bool exact)
GSList *
filter_onefield (GSList *l, GObject *dlg, const gchar *field, bool (*match_function)(SPItem *, const gchar *, bool), bool exact)
{
- GtkWidget *widget = GTK_WIDGET (gtk_object_get_data (GTK_OBJECT (dlg), field));
+ GtkWidget *widget = GTK_WIDGET (g_object_get_data(G_OBJECT (dlg), field));
const gchar *text = gtk_entry_get_text (GTK_ENTRY(widget));
if (strlen (text) != 0) {
@@ -214,7 +216,7 @@ filter_onefield (GSList *l, GObject *dlg, const gchar *field, bool (*match_funct
bool
type_checkbox (GtkWidget *widget, const gchar *data)
{
- return gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (gtk_object_get_data (GTK_OBJECT (widget), data)));
+ return gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (g_object_get_data(G_OBJECT (widget), data)));
}
bool
@@ -259,9 +261,9 @@ item_type_match (SPItem *item, GtkWidget *widget)
GSList *
filter_types (GSList *l, GObject *dlg, bool (*match_function)(SPItem *, GtkWidget *))
{
- GtkWidget *widget = GTK_WIDGET (gtk_object_get_data (GTK_OBJECT (dlg), "types"));
+ GtkWidget *widget = GTK_WIDGET (g_object_get_data(G_OBJECT (dlg), "types"));
- GtkWidget *alltypes = GTK_WIDGET (gtk_object_get_data (GTK_OBJECT (widget), "all"));
+ GtkWidget *alltypes = GTK_WIDGET (g_object_get_data(G_OBJECT (widget), "all"));
if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (alltypes)))
return l;
@@ -340,18 +342,18 @@ void sp_find_dialog_find(GObject *, GObject *dlg)
{
SPDesktop *desktop = SP_ACTIVE_DESKTOP;
- bool hidden = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (gtk_object_get_data (GTK_OBJECT (dlg), "includehidden")));
- bool locked = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (gtk_object_get_data (GTK_OBJECT (dlg), "includelocked")));
+ bool hidden = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (g_object_get_data(G_OBJECT (dlg), "includehidden")));
+ bool locked = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (g_object_get_data(G_OBJECT (dlg), "includelocked")));
GSList *l = NULL;
- if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (gtk_object_get_data (GTK_OBJECT (dlg), "inselection")))) {
- if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (gtk_object_get_data (GTK_OBJECT (dlg), "inlayer")))) {
+ if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (g_object_get_data(G_OBJECT (dlg), "inselection")))) {
+ if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (g_object_get_data(G_OBJECT (dlg), "inlayer")))) {
l = all_selection_items (desktop->selection, l, desktop->currentLayer(), hidden, locked);
} else {
l = all_selection_items (desktop->selection, l, NULL, hidden, locked);
}
} else {
- if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (gtk_object_get_data (GTK_OBJECT (dlg), "inlayer")))) {
+ if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (g_object_get_data(G_OBJECT (dlg), "inlayer")))) {
l = all_items (desktop->currentLayer(), l, hidden, locked);
} else {
l = all_items(sp_desktop_document(desktop)->getRoot(), l, hidden, locked);
@@ -388,7 +390,7 @@ void sp_find_dialog_find(GObject *, GObject *dlg)
void
sp_find_reset_searchfield (GObject *dlg, const gchar *field)
{
- GtkWidget *widget = GTK_WIDGET (gtk_object_get_data (GTK_OBJECT (dlg), field));
+ GtkWidget *widget = GTK_WIDGET (g_object_get_data(G_OBJECT (dlg), field));
gtk_entry_set_text (GTK_ENTRY(widget), "");
}
@@ -401,8 +403,8 @@ sp_find_dialog_reset (GObject *, GObject *dlg)
sp_find_reset_searchfield (dlg, "style");
sp_find_reset_searchfield (dlg, "attr");
- GtkWidget *types = GTK_WIDGET (gtk_object_get_data (GTK_OBJECT (dlg), "types"));
- GtkToggleButton *tb = GTK_TOGGLE_BUTTON (gtk_object_get_data (GTK_OBJECT (types), "all"));
+ GtkWidget *types = GTK_WIDGET (g_object_get_data(G_OBJECT (dlg), "types"));
+ GtkToggleButton *tb = GTK_TOGGLE_BUTTON (g_object_get_data(G_OBJECT (types), "all"));
gtk_toggle_button_toggled (tb);
gtk_toggle_button_set_active (tb, TRUE);
}
@@ -411,7 +413,7 @@ sp_find_dialog_reset (GObject *, GObject *dlg)
#define FIND_LABELWIDTH 80
void
-sp_find_new_searchfield (GtkWidget *dlg, GtkWidget *vb, const gchar *label, const gchar *id, GtkTooltips *tt, const gchar *tip)
+sp_find_new_searchfield (GtkWidget *dlg, GtkWidget *vb, const gchar *label, const gchar *id, const gchar *tip)
{
GtkWidget *hb = gtk_hbox_new (FALSE, 0);
GtkWidget *l = gtk_label_new_with_mnemonic (label);
@@ -422,8 +424,8 @@ sp_find_new_searchfield (GtkWidget *dlg, GtkWidget *vb, const gchar *label, cons
GtkWidget *tf = gtk_entry_new ();
gtk_entry_set_max_length (GTK_ENTRY (tf), 64);
gtk_box_pack_start (GTK_BOX (hb), tf, TRUE, TRUE, 0);
- gtk_object_set_data (GTK_OBJECT (dlg), id, tf);
- gtk_tooltips_set_tip (tt, tf, tip, NULL);
+ g_object_set_data (G_OBJECT (dlg), id, tf);
+ gtk_widget_set_tooltip_text (tf, tip);
g_signal_connect ( G_OBJECT (tf), "activate", G_CALLBACK (sp_find_dialog_find), dlg );
gtk_label_set_mnemonic_widget (GTK_LABEL(l), tf);
@@ -431,10 +433,10 @@ sp_find_new_searchfield (GtkWidget *dlg, GtkWidget *vb, const gchar *label, cons
}
void
-sp_find_new_button (GtkWidget *dlg, GtkWidget *hb, const gchar *label, GtkTooltips *tt, const gchar *tip, void (*function) (GObject *, GObject *))
+sp_find_new_button (GtkWidget *dlg, GtkWidget *hb, const gchar *label, const gchar *tip, void (*function) (GObject *, GObject *))
{
GtkWidget *b = gtk_button_new_with_mnemonic (label);
- gtk_tooltips_set_tip (tt, b, tip, NULL);
+ gtk_widget_set_tooltip_text (b, tip);
gtk_box_pack_start (GTK_BOX (hb), b, TRUE, TRUE, 0);
g_signal_connect ( G_OBJECT (b), "clicked", G_CALLBACK (function), dlg );
gtk_widget_show (b);
@@ -443,22 +445,22 @@ sp_find_new_button (GtkWidget *dlg, GtkWidget *hb, const gchar *label, GtkToolti
void
toggle_alltypes (GtkToggleButton *tb, gpointer data)
{
- GtkWidget *alltypes_pane = GTK_WIDGET (gtk_object_get_data (GTK_OBJECT (data), "all-pane"));
+ GtkWidget *alltypes_pane = GTK_WIDGET (g_object_get_data(G_OBJECT (data), "all-pane"));
if (gtk_toggle_button_get_active (tb)) {
- gtk_widget_hide_all (alltypes_pane);
+ gtk_widget_hide (alltypes_pane);
} else {
gtk_widget_show_all (alltypes_pane);
// excplicit toggle to make sure its handler gets called, no matter what was the original state
- gtk_toggle_button_toggled (GTK_TOGGLE_BUTTON (gtk_object_get_data (GTK_OBJECT (data), "shapes")));
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (gtk_object_get_data (GTK_OBJECT (data), "shapes")), TRUE);
-
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (gtk_object_get_data (GTK_OBJECT (data), "paths")), TRUE);
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (gtk_object_get_data (GTK_OBJECT (data), "texts")), TRUE);
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (gtk_object_get_data (GTK_OBJECT (data), "groups")), TRUE);
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (gtk_object_get_data (GTK_OBJECT (data), "clones")), TRUE);
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (gtk_object_get_data (GTK_OBJECT (data), "images")), TRUE);
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (gtk_object_get_data (GTK_OBJECT (data), "offsets")), TRUE);
+ gtk_toggle_button_toggled (GTK_TOGGLE_BUTTON (g_object_get_data(G_OBJECT (data), "shapes")));
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (g_object_get_data(G_OBJECT (data), "shapes")), TRUE);
+
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (g_object_get_data(G_OBJECT (data), "paths")), TRUE);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (g_object_get_data(G_OBJECT (data), "texts")), TRUE);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (g_object_get_data(G_OBJECT (data), "groups")), TRUE);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (g_object_get_data(G_OBJECT (data), "clones")), TRUE);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (g_object_get_data(G_OBJECT (data), "images")), TRUE);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (g_object_get_data(G_OBJECT (data), "offsets")), TRUE);
}
sp_find_squeeze_window();
}
@@ -466,15 +468,15 @@ toggle_alltypes (GtkToggleButton *tb, gpointer data)
void
toggle_shapes (GtkToggleButton *tb, gpointer data)
{
- GtkWidget *shapes_pane = GTK_WIDGET (gtk_object_get_data (GTK_OBJECT (data), "shapes-pane"));
+ GtkWidget *shapes_pane = GTK_WIDGET (g_object_get_data(G_OBJECT (data), "shapes-pane"));
if (gtk_toggle_button_get_active (tb)) {
- gtk_widget_hide_all (shapes_pane);
+ gtk_widget_hide (shapes_pane);
} else {
gtk_widget_show_all (shapes_pane);
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (gtk_object_get_data (GTK_OBJECT (data), "rects")), FALSE);
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (gtk_object_get_data (GTK_OBJECT (data), "ellipses")), FALSE);
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (gtk_object_get_data (GTK_OBJECT (data), "stars")), FALSE);
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (gtk_object_get_data (GTK_OBJECT (data), "spirals")), FALSE);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (g_object_get_data(G_OBJECT (data), "rects")), FALSE);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (g_object_get_data(G_OBJECT (data), "ellipses")), FALSE);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (g_object_get_data(G_OBJECT (data), "stars")), FALSE);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (g_object_get_data(G_OBJECT (data), "spirals")), FALSE);
}
sp_find_squeeze_window();
}
@@ -482,7 +484,7 @@ toggle_shapes (GtkToggleButton *tb, gpointer data)
GtkWidget *
sp_find_types_checkbox (GtkWidget *w, const gchar *data, gboolean active,
- GtkTooltips *tt, const gchar *tip,
+ const gchar *tip,
const gchar *label,
void (*toggled)(GtkToggleButton *, gpointer))
{
@@ -493,10 +495,10 @@ sp_find_types_checkbox (GtkWidget *w, const gchar *data, gboolean active,
GtkWidget *b = gtk_check_button_new_with_label (label);
gtk_widget_show (b);
gtk_toggle_button_set_active ((GtkToggleButton *) b, active);
- gtk_object_set_data (GTK_OBJECT (w), data, b);
- gtk_tooltips_set_tip (GTK_TOOLTIPS (tt), b, tip, NULL);
+ g_object_set_data (G_OBJECT (w), data, b);
+ gtk_widget_set_tooltip_text (b, tip);
if (toggled)
- gtk_signal_connect (GTK_OBJECT (b), "toggled", GTK_SIGNAL_FUNC (toggled), w);
+ g_signal_connect (G_OBJECT (b), "toggled", G_CALLBACK (toggled), w);
gtk_box_pack_start (GTK_BOX (hb), b, FALSE, FALSE, 0);
}
@@ -505,7 +507,7 @@ sp_find_types_checkbox (GtkWidget *w, const gchar *data, gboolean active,
GtkWidget *
sp_find_types_checkbox_indented (GtkWidget *w, const gchar *data, gboolean active,
- GtkTooltips *tt, const gchar *tip,
+ const gchar *tip,
const gchar *label,
void (*toggled)(GtkToggleButton *, gpointer), guint indent)
{
@@ -519,7 +521,7 @@ sp_find_types_checkbox_indented (GtkWidget *w, const gchar *data, gboolean activ
gtk_box_pack_start (GTK_BOX (hb), l, FALSE, FALSE, 0);
}
- GtkWidget *c = sp_find_types_checkbox (w, data, active, tt, tip, label, toggled);
+ GtkWidget *c = sp_find_types_checkbox (w, data, active, tip, label, toggled);
gtk_box_pack_start (GTK_BOX (hb), c, FALSE, FALSE, 0);
return hb;
@@ -529,8 +531,6 @@ sp_find_types_checkbox_indented (GtkWidget *w, const gchar *data, gboolean activ
GtkWidget *
sp_find_types ()
{
- GtkTooltips *tt = gtk_tooltips_new ();
-
GtkWidget *vb = gtk_vbox_new (FALSE, 4);
gtk_widget_show (vb);
@@ -546,7 +546,7 @@ sp_find_types ()
gtk_box_pack_start (GTK_BOX (hb), l, FALSE, FALSE, 0);
}
- GtkWidget *alltypes = sp_find_types_checkbox (vb, "all", TRUE, tt, _("Search in all object types"), _("All types"), toggle_alltypes);
+ GtkWidget *alltypes = sp_find_types_checkbox (vb, "all", TRUE, _("Search in all object types"), _("All types"), toggle_alltypes);
gtk_box_pack_start (GTK_BOX (hb), alltypes, FALSE, FALSE, 0);
gtk_box_pack_start (GTK_BOX (vb), hb, FALSE, FALSE, 0);
@@ -557,7 +557,7 @@ sp_find_types ()
gtk_widget_show (vb_all);
{
- GtkWidget *c = sp_find_types_checkbox_indented (vb, "shapes", FALSE, tt, _("Search all shapes"), _("All shapes"), toggle_shapes, 10);
+ GtkWidget *c = sp_find_types_checkbox_indented (vb, "shapes", FALSE, _("Search all shapes"), _("All shapes"), toggle_shapes, 10);
gtk_box_pack_start (GTK_BOX (vb_all), c, FALSE, FALSE, 0);
}
@@ -574,68 +574,68 @@ sp_find_types ()
}
{
- GtkWidget *c = sp_find_types_checkbox (vb, "rects", FALSE, tt, _("Search rectangles"), _("Rectangles"), NULL);
+ GtkWidget *c = sp_find_types_checkbox (vb, "rects", FALSE, _("Search rectangles"), _("Rectangles"), NULL);
gtk_box_pack_start (GTK_BOX (hb), c, FALSE, FALSE, 0);
}
{
- GtkWidget *c = sp_find_types_checkbox (vb, "ellipses", FALSE, tt, _("Search ellipses, arcs, circles"), _("Ellipses"), NULL);
+ GtkWidget *c = sp_find_types_checkbox (vb, "ellipses", FALSE, _("Search ellipses, arcs, circles"), _("Ellipses"), NULL);
gtk_box_pack_start (GTK_BOX (hb), c, FALSE, FALSE, 0);
}
{
- GtkWidget *c = sp_find_types_checkbox (vb, "stars", FALSE, tt, _("Search stars and polygons"), _("Stars"), NULL);
+ GtkWidget *c = sp_find_types_checkbox (vb, "stars", FALSE, _("Search stars and polygons"), _("Stars"), NULL);
gtk_box_pack_start (GTK_BOX (hb), c, FALSE, FALSE, 0);
}
{
- GtkWidget *c = sp_find_types_checkbox (vb, "spirals", FALSE, tt, _("Search spirals"), _("Spirals"), NULL);
+ GtkWidget *c = sp_find_types_checkbox (vb, "spirals", FALSE, _("Search spirals"), _("Spirals"), NULL);
gtk_box_pack_start (GTK_BOX (hb), c, FALSE, FALSE, 0);
}
- gtk_object_set_data (GTK_OBJECT (vb), "shapes-pane", hb);
+ g_object_set_data (G_OBJECT (vb), "shapes-pane", hb);
gtk_box_pack_start (GTK_BOX (vb_all), hb, FALSE, FALSE, 0);
- gtk_widget_hide_all (hb);
+ gtk_widget_hide (hb);
}
{
// TRANSLATORS: polyline is a set of connected straight line segments
// http://www.w3.org/TR/SVG11/shapes.html#PolylineElement
- GtkWidget *c = sp_find_types_checkbox_indented (vb, "paths", TRUE, tt, _("Search paths, lines, polylines"), _("Paths"), NULL, 10);
+ GtkWidget *c = sp_find_types_checkbox_indented (vb, "paths", TRUE, _("Search paths, lines, polylines"), _("Paths"), NULL, 10);
gtk_box_pack_start (GTK_BOX (vb_all), c, FALSE, FALSE, 0);
}
{
- GtkWidget *c = sp_find_types_checkbox_indented (vb, "texts", TRUE, tt, _("Search text objects"), _("Texts"), NULL, 10);
+ GtkWidget *c = sp_find_types_checkbox_indented (vb, "texts", TRUE, _("Search text objects"), _("Texts"), NULL, 10);
gtk_box_pack_start (GTK_BOX (vb_all), c, FALSE, FALSE, 0);
}
{
- GtkWidget *c = sp_find_types_checkbox_indented (vb, "groups", TRUE, tt, _("Search groups"), _("Groups"), NULL, 10);
+ GtkWidget *c = sp_find_types_checkbox_indented (vb, "groups", TRUE, _("Search groups"), _("Groups"), NULL, 10);
gtk_box_pack_start (GTK_BOX (vb_all), c, FALSE, FALSE, 0);
}
{
- GtkWidget *c = sp_find_types_checkbox_indented (vb, "clones", TRUE, tt, _("Search clones"),
+ GtkWidget *c = sp_find_types_checkbox_indented (vb, "clones", TRUE, _("Search clones"),
//TRANSLATORS: "Clones" is a noun indicating type of object to find
C_("Find dialog","Clones"), NULL, 10);
gtk_box_pack_start (GTK_BOX (vb_all), c, FALSE, FALSE, 0);
}
{
- GtkWidget *c = sp_find_types_checkbox_indented (vb, "images", TRUE, tt, _("Search images"), _("Images"), NULL, 10);
+ GtkWidget *c = sp_find_types_checkbox_indented (vb, "images", TRUE, _("Search images"), _("Images"), NULL, 10);
gtk_box_pack_start (GTK_BOX (vb_all), c, FALSE, FALSE, 0);
}
{
- GtkWidget *c = sp_find_types_checkbox_indented (vb, "offsets", TRUE, tt, _("Search offset objects"), _("Offsets"), NULL, 10);
+ GtkWidget *c = sp_find_types_checkbox_indented (vb, "offsets", TRUE, _("Search offset objects"), _("Offsets"), NULL, 10);
gtk_box_pack_start (GTK_BOX (vb_all), c, FALSE, FALSE, 0);
}
gtk_box_pack_start (GTK_BOX (vb), vb_all, FALSE, FALSE, 0);
- gtk_object_set_data (GTK_OBJECT (vb), "all-pane", vb_all);
- gtk_widget_hide_all (vb_all);
+ g_object_set_data (G_OBJECT (vb), "all-pane", vb_all);
+ gtk_widget_hide (vb_all);
}
return vb;
@@ -677,32 +677,30 @@ sp_find_dialog_old (void)
wd.stop = 0;
g_signal_connect ( G_OBJECT (INKSCAPE), "activate_desktop", G_CALLBACK (sp_transientize_callback), &wd );
- gtk_signal_connect ( GTK_OBJECT (dlg), "event", GTK_SIGNAL_FUNC (sp_dialog_event_handler), dlg);
+ g_signal_connect ( G_OBJECT (dlg), "event", G_CALLBACK (sp_dialog_event_handler), dlg);
- gtk_signal_connect ( GTK_OBJECT (dlg), "destroy", G_CALLBACK (sp_find_dialog_destroy), NULL );
- gtk_signal_connect ( GTK_OBJECT (dlg), "delete_event", G_CALLBACK (sp_find_dialog_delete), dlg);
+ g_signal_connect ( G_OBJECT (dlg), "destroy", G_CALLBACK (sp_find_dialog_destroy), NULL );
+ g_signal_connect ( G_OBJECT (dlg), "delete_event", G_CALLBACK (sp_find_dialog_delete), dlg);
g_signal_connect ( G_OBJECT (INKSCAPE), "shut_down", G_CALLBACK (sp_find_dialog_delete), dlg);
g_signal_connect ( G_OBJECT (INKSCAPE), "dialogs_hide", G_CALLBACK (sp_dialog_hide), dlg);
g_signal_connect ( G_OBJECT (INKSCAPE), "dialogs_unhide", G_CALLBACK (sp_dialog_unhide), dlg);
- GtkTooltips *tt = gtk_tooltips_new ();
-
gtk_container_set_border_width (GTK_CONTAINER (dlg), 4);
/* Toplevel vbox */
GtkWidget *vb = gtk_vbox_new (FALSE, 0);
gtk_container_add (GTK_CONTAINER (dlg), vb);
- sp_find_new_searchfield (dlg, vb, _("_Text:"), "text", tt, _("Find objects by their text content (exact or partial match)"));
- sp_find_new_searchfield (dlg, vb, _("_ID:"), "id", tt, _("Find objects by the value of the id attribute (exact or partial match)"));
- sp_find_new_searchfield (dlg, vb, _("_Style:"), "style", tt, _("Find objects by the value of the style attribute (exact or partial match)"));
- sp_find_new_searchfield (dlg, vb, _("_Attribute:"), "attr", tt ,_("Find objects by the name of an attribute (exact or partial match)"));
+ sp_find_new_searchfield (dlg, vb, _("_Text:"), "text", _("Find objects by their text content (exact or partial match)"));
+ sp_find_new_searchfield (dlg, vb, _("_ID:"), "id", _("Find objects by the value of the id attribute (exact or partial match)"));
+ sp_find_new_searchfield (dlg, vb, _("_Style:"), "style", _("Find objects by the value of the style attribute (exact or partial match)"));
+ sp_find_new_searchfield (dlg, vb, _("_Attribute:"), "attr", _("Find objects by the name of an attribute (exact or partial match)"));
gtk_widget_show_all (vb);
GtkWidget *types = sp_find_types ();
- gtk_object_set_data (GTK_OBJECT (dlg), "types", types);
+ g_object_set_data (G_OBJECT (dlg), "types", types);
gtk_box_pack_start (GTK_BOX (vb), types, FALSE, FALSE, 0);
{
@@ -714,8 +712,8 @@ sp_find_dialog_old (void)
GtkWidget *b = gtk_check_button_new_with_mnemonic (_("Search in s_election"));
gtk_widget_show (b);
gtk_toggle_button_set_active ((GtkToggleButton *) b, FALSE);
- gtk_object_set_data (GTK_OBJECT (dlg), "inselection", b);
- gtk_tooltips_set_tip (GTK_TOOLTIPS (tt), b, _("Limit search to the current selection"), NULL);
+ g_object_set_data (G_OBJECT (dlg), "inselection", b);
+ gtk_widget_set_tooltip_text (b, _("Limit search to the current selection"));
gtk_box_pack_start (GTK_BOX (vb), b, FALSE, FALSE, 0);
}
@@ -723,8 +721,8 @@ sp_find_dialog_old (void)
GtkWidget *b = gtk_check_button_new_with_mnemonic (_("Search in current _layer"));
gtk_widget_show (b);
gtk_toggle_button_set_active ((GtkToggleButton *) b, FALSE);
- gtk_object_set_data (GTK_OBJECT (dlg), "inlayer", b);
- gtk_tooltips_set_tip (GTK_TOOLTIPS (tt), b, _("Limit search to the current layer"), NULL);
+ g_object_set_data (G_OBJECT (dlg), "inlayer", b);
+ gtk_widget_set_tooltip_text (b, _("Limit search to the current layer"));
gtk_box_pack_start (GTK_BOX (vb), b, FALSE, FALSE, 0);
}
@@ -732,8 +730,8 @@ sp_find_dialog_old (void)
GtkWidget *b = gtk_check_button_new_with_mnemonic (_("Include _hidden"));
gtk_widget_show (b);
gtk_toggle_button_set_active ((GtkToggleButton *) b, FALSE);
- gtk_object_set_data (GTK_OBJECT (dlg), "includehidden", b);
- gtk_tooltips_set_tip (GTK_TOOLTIPS (tt), b, _("Include hidden objects in search"), NULL);
+ g_object_set_data (G_OBJECT (dlg), "includehidden", b);
+ gtk_widget_set_tooltip_text (b, _("Include hidden objects in search"));
gtk_box_pack_start (GTK_BOX (vb), b, FALSE, FALSE, 0);
}
@@ -741,8 +739,8 @@ sp_find_dialog_old (void)
GtkWidget *b = gtk_check_button_new_with_mnemonic (_("Include l_ocked"));
gtk_widget_show (b);
gtk_toggle_button_set_active ((GtkToggleButton *) b, FALSE);
- gtk_object_set_data (GTK_OBJECT (dlg), "includelocked", b);
- gtk_tooltips_set_tip (GTK_TOOLTIPS (tt), b, _("Include locked objects in search"), NULL);
+ g_object_set_data (G_OBJECT (dlg), "includelocked", b);
+ gtk_widget_set_tooltip_text (b, _("Include locked objects in search"));
gtk_box_pack_start (GTK_BOX (vb), b, FALSE, FALSE, 0);
}
}
@@ -753,8 +751,8 @@ sp_find_dialog_old (void)
gtk_box_pack_start (GTK_BOX (vb), hb, FALSE, FALSE, 0);
// TRANSLATORS: "Clear" is a verb here
- sp_find_new_button (dlg, hb, _("_Clear"), tt, _("Clear values"), sp_find_dialog_reset);
- sp_find_new_button (dlg, hb, _("_Find"), tt, _("Select objects matching all of the fields you filled in"), sp_find_dialog_find);
+ sp_find_new_button (dlg, hb, _("_Clear"), _("Clear values"), sp_find_dialog_reset);
+ sp_find_new_button (dlg, hb, _("_Find"), _("Select objects matching all of the fields you filled in"), sp_find_dialog_find);
}
}
diff --git a/src/dialogs/find.h b/src/dialogs/find.h
index fe5861a73..219c36bf2 100644
--- a/src/dialogs/find.h
+++ b/src/dialogs/find.h
@@ -12,7 +12,7 @@
#ifndef SEEN_FIND_H
#define SEEN_FIND_H
-#include <gtk/gtkstyle.h>
+#include <gtk/gtk.h>
void sp_find_dialog();
diff --git a/src/dialogs/item-properties.cpp b/src/dialogs/item-properties.cpp
index 94b8b1e98..2e805c14e 100644
--- a/src/dialogs/item-properties.cpp
+++ b/src/dialogs/item-properties.cpp
@@ -1,13 +1,15 @@
-/** @file
- * @brief Object properties dialog
+/**
+ * @file
+ * Object properties dialog.
*/
/* Authors:
* Lauris Kaplinski <lauris@kaplinski.com>
* bulia byak <buliabyak@users.sf.net>
* Johan Engelen <goejendaagh@zonnet.nl>
* Abhishek Sharma
+ * Kris De Gussem <Kris.DeGussem@gmail.com>
*
- * Copyright (C) 1999-2006 Authors
+ * Copyright (C) 1999-2011 Authors
* Copyright (C) 2001 Ximian, Inc.
*
* Released under GNU GPL, read the file 'COPYING' for more information
@@ -16,21 +18,12 @@
#ifdef HAVE_CONFIG_H
# include "config.h"
#endif
-#include <gtk/gtkvbox.h>
-#include <gtk/gtkhbox.h>
-#include <gtk/gtktable.h>
-#include <gtk/gtkcheckbutton.h>
#include <gtk/gtk.h>
-#include <gtk/gtklabel.h>
-#include <gtk/gtkframe.h>
-#include <gtk/gtkexpander.h>
-#include <gtk/gtktextview.h>
-#include <gtk/gtktooltips.h>
+#include <glibmm/i18n.h>
#include "../desktop-handles.h"
#include "dialog-events.h"
#include "../document.h"
-#include <glibmm/i18n.h>
#include "../helper/window.h"
#include "../inkscape.h"
#include "../interface.h"
@@ -47,6 +40,7 @@ using Inkscape::DocumentUndo;
#define MIN_ONSCREEN_DISTANCE 50
static GtkWidget *dlg = NULL;
+static SPAttributeTable* attrTable = NULL;
static win_data wd;
// impossible original values to make sure they are read from prefs
@@ -60,16 +54,18 @@ static void sp_item_widget_sensitivity_toggled (GtkWidget *widget, SPWidget *spw
static void sp_item_widget_hidden_toggled (GtkWidget *widget, SPWidget *spw);
static void sp_item_widget_label_changed (GtkWidget *widget, SPWidget *spw);
-static void
-sp_item_dialog_destroy( GtkObject */*object*/, gpointer /*data*/ )
+static void sp_item_dialog_destroy( GtkObject */*object*/, gpointer /*data*/ )
{
+ if (attrTable)
+ {
+ delete attrTable;
+ }
sp_signal_disconnect_by_data (INKSCAPE, dlg);
wd.win = dlg = NULL;
wd.stop = 0;
}
-static gboolean
-sp_item_dialog_delete( GtkObject */*object*/, GdkEvent */*event*/, gpointer /*data*/ )
+static gboolean sp_item_dialog_delete( GtkObject */*object*/, GdkEvent */*event*/, gpointer /*data*/ )
{
gtk_window_get_position ((GtkWindow *) dlg, &x, &y);
gtk_window_get_size ((GtkWindow *) dlg, &w, &h);
@@ -88,25 +84,21 @@ sp_item_dialog_delete( GtkObject */*object*/, GdkEvent */*event*/, gpointer /*da
}
/**
- * \brief Creates new instance of item properties widget
- *
+ * Creates new instance of item properties widget.
*/
-GtkWidget *
-sp_item_widget_new (void)
+GtkWidget *sp_item_widget_new(void)
{
GtkWidget *spw, *vb, *t, *cb, *l, *f, *tf, *pb, *int_expander, *int_label;
GtkTextBuffer *desc_buffer;
- GtkTooltips *tt = gtk_tooltips_new();
-
/* Create container widget */
spw = sp_widget_new_global (INKSCAPE);
- gtk_signal_connect ( GTK_OBJECT (spw), "modify_selection",
- GTK_SIGNAL_FUNC (sp_item_widget_modify_selection),
+ g_signal_connect ( G_OBJECT (spw), "modify_selection",
+ G_CALLBACK (sp_item_widget_modify_selection),
spw );
- gtk_signal_connect ( GTK_OBJECT (spw), "change_selection",
- GTK_SIGNAL_FUNC (sp_item_widget_change_selection),
+ g_signal_connect ( G_OBJECT (spw), "change_selection",
+ G_CALLBACK (sp_item_widget_change_selection),
spw );
vb = gtk_vbox_new (FALSE, 0);
@@ -125,16 +117,16 @@ sp_item_widget_new (void)
gtk_table_attach ( GTK_TABLE (t), l, 0, 1, 0, 1,
(GtkAttachOptions)( GTK_SHRINK | GTK_FILL ),
(GtkAttachOptions)0, 0, 0 );
- gtk_object_set_data (GTK_OBJECT (spw), "id_label", l);
+ g_object_set_data (G_OBJECT (spw), "id_label", l);
/* Create the entry box for the object id */
tf = gtk_entry_new ();
- gtk_tooltips_set_tip (tt, tf, _("The id= attribute (only letters, digits, and the characters .-_: allowed)"), NULL);
+ gtk_widget_set_tooltip_text (tf, _("The id= attribute (only letters, digits, and the characters .-_: allowed)"));
gtk_entry_set_max_length (GTK_ENTRY (tf), 64);
gtk_table_attach ( GTK_TABLE (t), tf, 1, 2, 0, 1,
(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),
(GtkAttachOptions)0, 0, 0 );
- gtk_object_set_data (GTK_OBJECT (spw), "id", tf);
+ g_object_set_data (G_OBJECT (spw), "id", tf);
gtk_label_set_mnemonic_widget (GTK_LABEL(l), tf);
// pressing enter in the id field is the same as clicking Set:
@@ -142,31 +134,22 @@ sp_item_widget_new (void)
// focus is in the id field initially:
gtk_widget_grab_focus (GTK_WIDGET (tf));
- /* Button for setting the object's id, label, title and description. */
- pb = gtk_button_new_with_mnemonic (_("_Set"));
- gtk_table_attach ( GTK_TABLE (t), pb, 2, 3, 0, 1,
- (GtkAttachOptions)( GTK_SHRINK | GTK_FILL ),
- (GtkAttachOptions)0, 0, 0 );
- gtk_signal_connect ( GTK_OBJECT (pb), "clicked",
- GTK_SIGNAL_FUNC (sp_item_widget_label_changed),
- spw );
-
/* Create the label for the object label */
l = gtk_label_new_with_mnemonic (_("_Label:"));
gtk_misc_set_alignment (GTK_MISC (l), 1, 0.5);
gtk_table_attach ( GTK_TABLE (t), l, 0, 1, 1, 2,
(GtkAttachOptions)( GTK_SHRINK | GTK_FILL ),
(GtkAttachOptions)0, 0, 0 );
- gtk_object_set_data (GTK_OBJECT (spw), "label_label", l);
+ g_object_set_data (G_OBJECT (spw), "label_label", l);
/* Create the entry box for the object label */
tf = gtk_entry_new ();
- gtk_tooltips_set_tip (tt, tf, _("A freeform label for the object"), NULL);
+ gtk_widget_set_tooltip_text (tf, _("A freeform label for the object"));
gtk_entry_set_max_length (GTK_ENTRY (tf), 256);
gtk_table_attach ( GTK_TABLE (t), tf, 1, 2, 1, 2,
(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),
(GtkAttachOptions)0, 0, 0 );
- gtk_object_set_data (GTK_OBJECT (spw), "label", tf);
+ g_object_set_data (G_OBJECT (spw), "label", tf);
gtk_label_set_mnemonic_widget (GTK_LABEL(l), tf);
// pressing enter in the label field is the same as clicking Set:
@@ -178,7 +161,7 @@ sp_item_widget_new (void)
gtk_table_attach ( GTK_TABLE (t), l, 0, 1, 2, 3,
(GtkAttachOptions)( GTK_SHRINK | GTK_FILL ),
(GtkAttachOptions)0, 0, 0 );
- gtk_object_set_data (GTK_OBJECT (spw), "title_label", l);
+ g_object_set_data (G_OBJECT (spw), "title_label", l);
/* Create the entry box for the object title */
tf = gtk_entry_new ();
@@ -187,7 +170,7 @@ sp_item_widget_new (void)
gtk_table_attach ( GTK_TABLE (t), tf, 1, 3, 2, 3,
(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),
(GtkAttachOptions)0, 0, 0 );
- gtk_object_set_data (GTK_OBJECT (spw), "title", tf);
+ g_object_set_data (G_OBJECT (spw), "title", tf);
gtk_label_set_mnemonic_widget (GTK_LABEL(l), tf);
/* Create the frame for the object description */
@@ -204,14 +187,14 @@ sp_item_widget_new (void)
gtk_widget_set_sensitive (GTK_WIDGET (textframe), FALSE);
gtk_container_add (GTK_CONTAINER (f), textframe);
gtk_frame_set_shadow_type (GTK_FRAME (textframe), GTK_SHADOW_IN);
- gtk_object_set_data(GTK_OBJECT(spw), "desc_frame", textframe);
+ g_object_set_data(G_OBJECT(spw), "desc_frame", textframe);
tf = gtk_text_view_new();
gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(tf), GTK_WRAP_WORD);
desc_buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(tf));
gtk_text_buffer_set_text(desc_buffer, "", -1);
gtk_container_add (GTK_CONTAINER (textframe), tf);
- gtk_object_set_data (GTK_OBJECT (spw), "desc", tf);
+ g_object_set_data (G_OBJECT (spw), "desc", tf);
gtk_label_set_mnemonic_widget (GTK_LABEL (gtk_frame_get_label_widget (GTK_FRAME (f))), tf);
/* Check boxes */
@@ -223,30 +206,37 @@ sp_item_widget_new (void)
/* Hide */
cb = gtk_check_button_new_with_mnemonic (_("_Hide"));
- gtk_tooltips_set_tip (tt, cb, _("Check to make the object invisible"), NULL);
+ gtk_widget_set_tooltip_text (cb, _("Check to make the object invisible"));
gtk_table_attach ( GTK_TABLE (t), cb, 0, 1, 0, 1,
(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),
(GtkAttachOptions)0, 0, 0 );
g_signal_connect (G_OBJECT(cb), "toggled", G_CALLBACK(sp_item_widget_hidden_toggled), spw);
- gtk_object_set_data(GTK_OBJECT(spw), "hidden", cb);
+ g_object_set_data(G_OBJECT(spw), "hidden", cb);
+
+ /* Button for setting the object's id, label, title and description. */
+ pb = gtk_button_new_with_mnemonic (_("_Set"));
+ gtk_box_pack_start (GTK_BOX (hb_cb), pb, TRUE, TRUE, 10);
+ g_signal_connect ( G_OBJECT (pb), "clicked",
+ G_CALLBACK (sp_item_widget_label_changed),
+ spw );
/* Lock */
// TRANSLATORS: "Lock" is a verb here
cb = gtk_check_button_new_with_mnemonic (_("L_ock"));
- gtk_tooltips_set_tip (tt, cb, _("Check to make the object insensitive (not selectable by mouse)"), NULL);
+ gtk_widget_set_tooltip_text (cb, _("Check to make the object insensitive (not selectable by mouse)"));
gtk_table_attach ( GTK_TABLE (t), cb, 1, 2, 0, 1,
(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),
(GtkAttachOptions)0, 0, 0 );
- gtk_signal_connect ( GTK_OBJECT (cb), "toggled",
- GTK_SIGNAL_FUNC (sp_item_widget_sensitivity_toggled),
+ g_signal_connect ( G_OBJECT (cb), "toggled",
+ G_CALLBACK (sp_item_widget_sensitivity_toggled),
spw );
- gtk_object_set_data (GTK_OBJECT (spw), "sensitive", cb);
+ g_object_set_data (G_OBJECT (spw), "sensitive", cb);
/* Create the frame for interactivity options */
int_label = gtk_label_new_with_mnemonic (_("_Interactivity"));
int_expander = gtk_expander_new (NULL);
gtk_expander_set_label_widget (GTK_EXPANDER (int_expander),int_label);
- gtk_object_set_data (GTK_OBJECT (spw), "interactivity", int_expander);
+ g_object_set_data (G_OBJECT (spw), "interactivity", int_expander);
gtk_box_pack_start (GTK_BOX (vb), int_expander, FALSE, FALSE, 0);
@@ -260,8 +250,7 @@ sp_item_widget_new (void)
-static void
-sp_item_widget_modify_selection( SPWidget *spw,
+static void sp_item_widget_modify_selection( SPWidget *spw,
Inkscape::Selection *selection,
guint /*flags*/,
GtkWidget */*itemw*/ )
@@ -271,8 +260,7 @@ sp_item_widget_modify_selection( SPWidget *spw,
-static void
-sp_item_widget_change_selection ( SPWidget *spw,
+static void sp_item_widget_change_selection ( SPWidget *spw,
Inkscape::Selection *selection,
GtkWidget */*itemw*/ )
{
@@ -281,14 +269,13 @@ sp_item_widget_change_selection ( SPWidget *spw,
/**
-* \param selection Selection to use; should not be NULL.
-*/
-static void
-sp_item_widget_setup ( SPWidget *spw, Inkscape::Selection *selection )
+ * @param selection Selection to use; should not be NULL.
+ */
+static void sp_item_widget_setup( SPWidget *spw, Inkscape::Selection *selection )
{
g_assert (selection != NULL);
- if (gtk_object_get_data (GTK_OBJECT (spw), "blocked"))
+ if (g_object_get_data(G_OBJECT (spw), "blocked"))
return;
if (!selection->singleItem()) {
@@ -298,51 +285,51 @@ sp_item_widget_setup ( SPWidget *spw, Inkscape::Selection *selection )
gtk_widget_set_sensitive (GTK_WIDGET (spw), TRUE);
}
- gtk_object_set_data (GTK_OBJECT (spw), "blocked", GUINT_TO_POINTER (TRUE));
+ g_object_set_data (G_OBJECT (spw), "blocked", GUINT_TO_POINTER (TRUE));
SPItem *item = selection->singleItem();
/* Sensitive */
- GtkWidget *w = GTK_WIDGET(gtk_object_get_data (GTK_OBJECT (spw), "sensitive"));
+ GtkWidget *w = GTK_WIDGET(g_object_get_data(G_OBJECT (spw), "sensitive"));
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (w), item->isLocked());
/* Hidden */
- w = GTK_WIDGET(gtk_object_get_data (GTK_OBJECT (spw), "hidden"));
+ w = GTK_WIDGET(g_object_get_data(G_OBJECT (spw), "hidden"));
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w), item->isExplicitlyHidden());
if (item->cloned) {
/* ID */
- w = GTK_WIDGET(gtk_object_get_data (GTK_OBJECT (spw), "id"));
+ w = GTK_WIDGET(g_object_get_data(G_OBJECT (spw), "id"));
gtk_entry_set_text (GTK_ENTRY (w), "");
gtk_widget_set_sensitive (w, FALSE);
- w = GTK_WIDGET(gtk_object_get_data (GTK_OBJECT (spw), "id_label"));
+ w = GTK_WIDGET(g_object_get_data(G_OBJECT (spw), "id_label"));
gtk_label_set_text (GTK_LABEL (w), _("Ref"));
/* Label */
- w = GTK_WIDGET(gtk_object_get_data (GTK_OBJECT (spw), "label"));
+ w = GTK_WIDGET(g_object_get_data(G_OBJECT (spw), "label"));
gtk_entry_set_text (GTK_ENTRY (w), "");
gtk_widget_set_sensitive (w, FALSE);
- w = GTK_WIDGET(gtk_object_get_data (GTK_OBJECT (spw), "label_label"));
+ w = GTK_WIDGET(g_object_get_data(G_OBJECT (spw), "label_label"));
gtk_label_set_text (GTK_LABEL (w), _("Ref"));
} else {
SPObject *obj = (SPObject*)item;
/* ID */
- w = GTK_WIDGET(gtk_object_get_data (GTK_OBJECT (spw), "id"));
+ w = GTK_WIDGET(g_object_get_data(G_OBJECT (spw), "id"));
gtk_entry_set_text (GTK_ENTRY (w), obj->getId());
gtk_widget_set_sensitive (w, TRUE);
- w = GTK_WIDGET(gtk_object_get_data (GTK_OBJECT (spw), "id_label"));
+ w = GTK_WIDGET(g_object_get_data(G_OBJECT (spw), "id_label"));
gtk_label_set_markup_with_mnemonic (GTK_LABEL (w), _("_ID:"));
/* Label */
- w = GTK_WIDGET(gtk_object_get_data (GTK_OBJECT (spw), "label"));
+ w = GTK_WIDGET(g_object_get_data(G_OBJECT (spw), "label"));
gtk_entry_set_text (GTK_ENTRY (w), obj->defaultLabel());
gtk_widget_set_sensitive (w, TRUE);
/* Title */
- w = GTK_WIDGET(gtk_object_get_data(GTK_OBJECT(spw), "title"));
+ w = GTK_WIDGET(g_object_get_data(G_OBJECT(spw), "title"));
gchar *title = obj->title();
if (title) {
gtk_entry_set_text(GTK_ENTRY(w), title);
@@ -352,7 +339,7 @@ sp_item_widget_setup ( SPWidget *spw, Inkscape::Selection *selection )
gtk_widget_set_sensitive(w, TRUE);
/* Description */
- w = GTK_WIDGET(gtk_object_get_data(GTK_OBJECT(spw), "desc"));
+ w = GTK_WIDGET(g_object_get_data(G_OBJECT(spw), "desc"));
GtkTextBuffer *buf = gtk_text_view_get_buffer(GTK_TEXT_VIEW(w));
gchar *desc = obj->desc();
if (desc) {
@@ -361,87 +348,90 @@ sp_item_widget_setup ( SPWidget *spw, Inkscape::Selection *selection )
} else {
gtk_text_buffer_set_text(buf, "", 0);
}
- w = GTK_WIDGET(gtk_object_get_data(GTK_OBJECT(spw), "desc_frame"));
+ w = GTK_WIDGET(g_object_get_data(G_OBJECT(spw), "desc_frame"));
gtk_widget_set_sensitive(w, TRUE);
- w = GTK_WIDGET(gtk_object_get_data(GTK_OBJECT(spw), "interactivity"));
-
- GtkWidget* int_table = GTK_WIDGET(gtk_object_get_data(GTK_OBJECT(spw), "interactivity_table"));
- if (int_table){
- gtk_container_remove(GTK_CONTAINER(w), int_table);
+ w = GTK_WIDGET(g_object_get_data(G_OBJECT(spw), "interactivity"));
+
+ GtkWidget* int_table = GTK_WIDGET(g_object_get_data(G_OBJECT(spw), "interactivity_table"));
+
+ std::vector<Glib::ustring> int_labels;
+ int_labels.push_back("onclick");
+ int_labels.push_back("onmouseover");
+ int_labels.push_back("onmouseout");
+ int_labels.push_back("onmousedown");
+ int_labels.push_back("onmouseup");
+ int_labels.push_back("onmousemove");
+ int_labels.push_back("onfocusin");
+ int_labels.push_back("onfocusout");
+ int_labels.push_back("onfocusout");
+ int_labels.push_back("onload");
+
+ if (attrTable)
+ {
+ delete(attrTable);
}
-
- const gchar* int_labels[10] = {"onclick", "onmouseover", "onmouseout", "onmousedown", "onmouseup", "onmousemove","onfocusin", "onfocusout", "onactivate", "onload"};
-
- int_table = sp_attribute_table_new (obj, 10, int_labels, int_labels);
- gtk_widget_show_all (int_table);
- gtk_object_set_data(GTK_OBJECT(spw), "interactivity_table", int_table);
-
- gtk_container_add (GTK_CONTAINER (w), int_table);
-
+ attrTable = new SPAttributeTable (obj, int_labels, int_labels, w);
+ attrTable->show_all();
+ g_object_set_data(G_OBJECT(spw), "interactivity_table", (GtkWidget*) attrTable->gobj());
}
- gtk_object_set_data (GTK_OBJECT (spw), "blocked", GUINT_TO_POINTER (FALSE));
-
-
+ g_object_set_data (G_OBJECT (spw), "blocked", GUINT_TO_POINTER (FALSE));
} // end of sp_item_widget_setup()
-static void
-sp_item_widget_sensitivity_toggled (GtkWidget *widget, SPWidget *spw)
+static void sp_item_widget_sensitivity_toggled (GtkWidget *widget, SPWidget *spw)
{
- if (gtk_object_get_data (GTK_OBJECT (spw), "blocked"))
+ if (g_object_get_data(G_OBJECT (spw), "blocked"))
return;
SPItem *item = sp_desktop_selection(SP_ACTIVE_DESKTOP)->singleItem();
g_return_if_fail (item != NULL);
- gtk_object_set_data (GTK_OBJECT (spw), "blocked", GUINT_TO_POINTER (TRUE));
+ g_object_set_data (G_OBJECT (spw), "blocked", GUINT_TO_POINTER (TRUE));
item->setLocked(gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget)));
DocumentUndo::done(SP_ACTIVE_DOCUMENT, SP_VERB_DIALOG_ITEM,
gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget))? _("Lock object") : _("Unlock object"));
- gtk_object_set_data (GTK_OBJECT (spw), "blocked", GUINT_TO_POINTER (FALSE));
+ g_object_set_data (G_OBJECT (spw), "blocked", GUINT_TO_POINTER (FALSE));
}
-void
-sp_item_widget_hidden_toggled(GtkWidget *widget, SPWidget *spw)
+void sp_item_widget_hidden_toggled(GtkWidget *widget, SPWidget *spw)
{
- if (gtk_object_get_data (GTK_OBJECT (spw), "blocked"))
+ if (g_object_get_data(G_OBJECT (spw), "blocked"))
return;
SPItem *item = sp_desktop_selection(SP_ACTIVE_DESKTOP)->singleItem();
g_return_if_fail (item != NULL);
- gtk_object_set_data (GTK_OBJECT (spw), "blocked", GUINT_TO_POINTER (TRUE));
+ g_object_set_data (G_OBJECT (spw), "blocked", GUINT_TO_POINTER (TRUE));
item->setExplicitlyHidden(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)));
DocumentUndo::done(SP_ACTIVE_DOCUMENT, SP_VERB_DIALOG_ITEM,
gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget))? _("Hide object") : _("Unhide object"));
- gtk_object_set_data (GTK_OBJECT (spw), "blocked", GUINT_TO_POINTER (FALSE));
+ g_object_set_data (G_OBJECT (spw), "blocked", GUINT_TO_POINTER (FALSE));
}
-static void
-sp_item_widget_label_changed( GtkWidget */*widget*/, SPWidget *spw )
+static void sp_item_widget_label_changed( GtkWidget */*widget*/, SPWidget *spw )
{
- if (gtk_object_get_data (GTK_OBJECT (spw), "blocked"))
+ if (g_object_get_data(G_OBJECT (spw), "blocked"))
return;
SPItem *item = sp_desktop_selection(SP_ACTIVE_DESKTOP)->singleItem();
g_return_if_fail (item != NULL);
- gtk_object_set_data (GTK_OBJECT (spw), "blocked", GUINT_TO_POINTER (TRUE));
+ g_object_set_data (G_OBJECT (spw), "blocked", GUINT_TO_POINTER (TRUE));
/* Retrieve the label widget for the object's id */
- GtkWidget *id_entry = GTK_WIDGET(gtk_object_get_data (GTK_OBJECT (spw), "id"));
+ GtkWidget *id_entry = GTK_WIDGET(g_object_get_data(G_OBJECT (spw), "id"));
gchar *id = (gchar *) gtk_entry_get_text (GTK_ENTRY (id_entry));
g_strcanon (id, "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_.:", '_');
- GtkWidget *id_label = GTK_WIDGET(gtk_object_get_data (GTK_OBJECT (spw), "id_label"));
+ GtkWidget *id_label = GTK_WIDGET(g_object_get_data(G_OBJECT (spw), "id_label"));
if (!strcmp (id, item->getId())) {
gtk_label_set_markup_with_mnemonic (GTK_LABEL (id_label), _("_ID:"));
} else if (!*id || !isalnum (*id)) {
@@ -458,7 +448,7 @@ sp_item_widget_label_changed( GtkWidget */*widget*/, SPWidget *spw )
}
/* Retrieve the label widget for the object's label */
- GtkWidget *label_entry = GTK_WIDGET(gtk_object_get_data (GTK_OBJECT (spw), "label"));
+ GtkWidget *label_entry = GTK_WIDGET(g_object_get_data(G_OBJECT (spw), "label"));
gchar *label = (gchar *)gtk_entry_get_text (GTK_ENTRY (label_entry));
g_assert(label != NULL);
@@ -473,14 +463,14 @@ sp_item_widget_label_changed( GtkWidget */*widget*/, SPWidget *spw )
}
/* Retrieve the title */
- GtkWidget *w = GTK_WIDGET(gtk_object_get_data(GTK_OBJECT(spw), "title"));
+ GtkWidget *w = GTK_WIDGET(g_object_get_data(G_OBJECT(spw), "title"));
gchar *title = (gchar *)gtk_entry_get_text(GTK_ENTRY (w));
if (obj->setTitle(title))
DocumentUndo::done(SP_ACTIVE_DOCUMENT, SP_VERB_DIALOG_ITEM,
_("Set object title"));
/* Retrieve the description */
- GtkTextView *tv = GTK_TEXT_VIEW(gtk_object_get_data(GTK_OBJECT(spw), "desc"));
+ GtkTextView *tv = GTK_TEXT_VIEW(g_object_get_data(G_OBJECT(spw), "desc"));
GtkTextBuffer *buf = gtk_text_view_get_buffer(tv);
GtkTextIter start, end;
gtk_text_buffer_get_bounds(buf, &start, &end);
@@ -490,25 +480,24 @@ sp_item_widget_label_changed( GtkWidget */*widget*/, SPWidget *spw )
_("Set object description"));
g_free(desc);
- gtk_object_set_data (GTK_OBJECT (spw), "blocked", GUINT_TO_POINTER (FALSE));
+ g_object_set_data (G_OBJECT (spw), "blocked", GUINT_TO_POINTER (FALSE));
} // end of sp_item_widget_label_changed()
/**
- * \brief Dialog
- *
+ * Dialog.
*/
-void
-sp_item_dialog (void)
+void sp_item_dialog(void)
{
if (dlg == NULL) {
gchar title[500];
sp_ui_dialog_title_string (Inkscape::Verb::get(SP_VERB_DIALOG_ITEM), title);
Inkscape::Preferences *prefs = Inkscape::Preferences::get();
-
- dlg = sp_window_new (title, TRUE);
+
+ Gtk::Window* window = Inkscape::UI::window_new (title, true);
+ dlg = (GtkWidget*)window->gobj();
if (x == -1000 || y == -1000) {
x = prefs->getInt(prefs_path + "x", -1000);
y = prefs->getInt(prefs_path + "y", -1000);
@@ -518,9 +507,6 @@ sp_item_dialog (void)
h = prefs->getInt(prefs_path + "h", 0);
}
-// if (x<0) x=0;
-// if (y<0) y=0;
-
if (w && h) {
gtk_window_resize ((GtkWindow *) dlg, w, h);
}
@@ -530,24 +516,22 @@ sp_item_dialog (void)
gtk_window_set_position(GTK_WINDOW(dlg), GTK_WIN_POS_CENTER);
}
-
sp_transientize (dlg);
wd.win = dlg;
wd.stop = 0;
- g_signal_connect ( G_OBJECT (INKSCAPE), "activate_desktop", G_CALLBACK (sp_transientize_callback), &wd);
- gtk_signal_connect ( GTK_OBJECT (dlg), "event", GTK_SIGNAL_FUNC (sp_dialog_event_handler), dlg);
- gtk_signal_connect ( GTK_OBJECT (dlg), "destroy", G_CALLBACK (sp_item_dialog_destroy), dlg);
- gtk_signal_connect ( GTK_OBJECT (dlg), "delete_event", G_CALLBACK (sp_item_dialog_delete), dlg);
- g_signal_connect ( G_OBJECT (INKSCAPE), "shut_down", G_CALLBACK (sp_item_dialog_delete), dlg);
- g_signal_connect ( G_OBJECT (INKSCAPE), "dialogs_hide", G_CALLBACK (sp_dialog_hide), dlg);
- g_signal_connect ( G_OBJECT (INKSCAPE), "dialogs_unhide", G_CALLBACK (sp_dialog_unhide), dlg);
+ g_signal_connect ( G_OBJECT (INKSCAPE), "activate_desktop", G_CALLBACK (sp_transientize_callback), &wd);
+ g_signal_connect ( G_OBJECT (dlg), "event", G_CALLBACK (sp_dialog_event_handler), dlg);
+ g_signal_connect ( G_OBJECT (dlg), "destroy", G_CALLBACK (sp_item_dialog_destroy), dlg);
+ g_signal_connect ( G_OBJECT (dlg), "delete_event", G_CALLBACK (sp_item_dialog_delete), dlg);
+ g_signal_connect ( G_OBJECT (INKSCAPE), "shut_down", G_CALLBACK (sp_item_dialog_delete), dlg);
+ g_signal_connect ( G_OBJECT (INKSCAPE), "dialogs_hide", G_CALLBACK (sp_dialog_hide), dlg);
+ g_signal_connect ( G_OBJECT (INKSCAPE), "dialogs_unhide", G_CALLBACK (sp_dialog_unhide), dlg);
// Dialog-specific stuff
GtkWidget *itemw = sp_item_widget_new ();
gtk_widget_show (itemw);
gtk_container_add (GTK_CONTAINER (dlg), itemw);
-
}
gtk_window_present ((GtkWindow *) dlg);
diff --git a/src/dialogs/item-properties.h b/src/dialogs/item-properties.h
index bc04608bc..51f5d7032 100644
--- a/src/dialogs/item-properties.h
+++ b/src/dialogs/item-properties.h
@@ -11,13 +11,11 @@
#ifndef SEEN_DIALOGS_ITEM_PROPERTIES_H
#define SEEN_DIALOGS_ITEM_PROPERTIES_H
-#include <glib.h>
-#include <gtk/gtkwidget.h>
-#include "../forward.h"
+#include <gtk/gtk.h>
-GtkWidget *sp_item_widget_new (void);
+GtkWidget *sp_item_widget_new(void);
-void sp_item_dialog (void);
+void sp_item_dialog(void);
#endif
diff --git a/src/dialogs/object-attributes.cpp b/src/dialogs/object-attributes.cpp
index 57b295e4e..0511ebb3a 100644
--- a/src/dialogs/object-attributes.cpp
+++ b/src/dialogs/object-attributes.cpp
@@ -1,11 +1,13 @@
-/** @file
- * @brief Generic properties editor
+/**
+ * @file
+ * Generic properties editor.
*/
/* Authors:
* Lauris Kaplinski <lauris@kaplinski.com>
* bulia byak <buliabyak@users.sf.net>
+ * Kris De Gussem <Kris.DeGussem@gmail.com>
*
- * Copyright (C) 1999-2005 Authors
+ * Copyright (C) 1999-2011 Authors
*
* Released under GNU GPL, read the file 'COPYING' for more information
*/
@@ -65,75 +67,41 @@ static const SPAttrDesc image_nohref_desc[] = {
};
-static void
-object_released( SPObject */*object*/, GtkWidget *widget )
-{
- gtk_widget_destroy (widget);
-}
-
-
-
-static void
-window_destroyed( GtkObject *window, GtkObject */*object*/ )
-{
- sigc::connection *release_connection = (sigc::connection *)g_object_get_data(G_OBJECT(window), "release_connection");
- release_connection->disconnect();
- delete release_connection;
-}
-
-
-
-static void
-sp_object_attr_show_dialog ( SPObject *object,
+static void sp_object_attr_show_dialog ( SPObject *object,
const SPAttrDesc *desc,
const gchar *tag )
{
- const gchar **labels, **attrs;
- gint len, i;
- gchar *title;
- GtkWidget *w, *t;
-
- len = 0;
- while (desc[len].label) len += 1;
-
- labels = (const gchar **)alloca (len * sizeof (char *));
- attrs = (const gchar **)alloca (len * sizeof (char *));
-
- for (i = 0; i < len; i++) {
- labels[i] = desc[i].label;
- attrs[i] = desc[i].attribute;
- }
+ int len;
+ Gtk::Window *window;
+ SPAttributeTable* t;
+ Glib::ustring title;
+ std::vector<Glib::ustring> labels;
+ std::vector<Glib::ustring> attrs;
if (!strcmp (tag, "Link")) {
- title = g_strdup_printf (_("Link Properties"));
+ title = _("Link Properties");
} else if (!strcmp (tag, "Image")) {
- title = g_strdup_printf (_("Image Properties"));
+ title = _("Image Properties");
} else {
- title = g_strdup_printf (_("%s Properties"), tag);
+ title = Glib::ustring::compose(_("%1 Properties"), tag);
}
- w = sp_window_new (title, TRUE);
- g_free (title);
-
- t = sp_attribute_table_new (object, len, labels, attrs);
- gtk_widget_show (t);
- gtk_container_add (GTK_CONTAINER (w), t);
-
- g_signal_connect ( G_OBJECT (w), "destroy",
- G_CALLBACK (window_destroyed), object );
-
- sigc::connection *release_connection = new sigc::connection();
- *release_connection = object->connectRelease(sigc::bind<1>(sigc::ptr_fun(&object_released), w));
- g_object_set_data(G_OBJECT(w), "release_connection", release_connection);
-
- gtk_widget_show (w);
-
+ len = 0;
+ while (desc[len].label)
+ {
+ labels.push_back(desc[len].label);
+ attrs.push_back (desc[len].attribute);
+ len += 1;
+ }
+
+ window = Inkscape::UI::window_new (title.c_str(), true);
+ t = new SPAttributeTable (object, labels, attrs, (GtkWidget*)window->gobj());
+ t->show();
+ window->show();
} // end of sp_object_attr_show_dialog()
-
-void
-sp_object_attributes_dialog (SPObject *object, const gchar *tag)
+void sp_object_attributes_dialog (SPObject *object, const gchar *tag)
{
g_return_if_fail (object != NULL);
g_return_if_fail (SP_IS_OBJECT (object));
diff --git a/src/dialogs/object-attributes.h b/src/dialogs/object-attributes.h
index ef84708c0..53b3ee37f 100644
--- a/src/dialogs/object-attributes.h
+++ b/src/dialogs/object-attributes.h
@@ -13,8 +13,8 @@
#define SEEN_DIALOGS_OBJECT_ATTRIBUTES_H
#include <glib.h>
-#include <gtk/gtkwidget.h>
-#include "../forward.h"
+
+class SPObject;
void sp_object_attributes_dialog (SPObject *object, const gchar *tag);
diff --git a/src/dialogs/spellcheck.cpp b/src/dialogs/spellcheck.cpp
index f72612420..847f5b877 100644
--- a/src/dialogs/spellcheck.cpp
+++ b/src/dialogs/spellcheck.cpp
@@ -1,5 +1,6 @@
-/** @file
- * @brief Spellcheck dialog
+/**
+ * @file
+ * Spellcheck dialog.
*/
/* Authors:
* bulia byak <bulia@users.sf.net>
@@ -40,6 +41,7 @@
#include "display/canvas-bpath.h"
#include "display/curve.h"
#include "document-undo.h"
+#include "sp-root.h"
#ifdef HAVE_ASPELL
#include <aspell.h>
@@ -184,13 +186,13 @@ static gboolean sp_spellcheck_dialog_delete(GtkObject *, GdkEvent *, gpointer /*
}
void
-sp_spellcheck_new_button (GtkWidget *dlg, GtkWidget *hb, const gchar *label, GtkTooltips *tt, const gchar *tip, void (*function) (GObject *, GObject *), const gchar *cookie)
+sp_spellcheck_new_button (GtkWidget *dlg, GtkWidget *hb, const gchar *label, const gchar *tip, void (*function) (GObject *, GObject *), const gchar *cookie)
{
GtkWidget *b = gtk_button_new_with_mnemonic (label);
- gtk_tooltips_set_tip (tt, b, tip, NULL);
+ gtk_widget_set_tooltip_text (b, tip);
gtk_box_pack_start (GTK_BOX (hb), b, TRUE, TRUE, 0);
g_signal_connect ( G_OBJECT (b), "clicked", G_CALLBACK (function), dlg );
- gtk_object_set_data (GTK_OBJECT (dlg), cookie, b);
+ g_object_set_data (G_OBJECT (dlg), cookie, b);
gtk_widget_show (b);
}
@@ -242,8 +244,8 @@ gint compare_text_bboxes (gconstpointer a, gconstpointer b)
SPItem *i1 = SP_ITEM(a);
SPItem *i2 = SP_ITEM(b);
- Geom::OptRect bbox1 = i1->getBounds(i1->i2d_affine());
- Geom::OptRect bbox2 = i2->getBounds(i2->i2d_affine());
+ Geom::OptRect bbox1 = i1->desktopVisualBounds();
+ Geom::OptRect bbox2 = i2->desktopVisualBounds();
if (!bbox1 || !bbox2) {
return 0;
}
@@ -286,7 +288,7 @@ SPItem *spellcheck_get_text (SPObject *root)
void
spellcheck_sensitive (const gchar *cookie, gboolean gray)
{
- GtkWidget *l = GTK_WIDGET(gtk_object_get_data (GTK_OBJECT (dlg), cookie));
+ GtkWidget *l = GTK_WIDGET(g_object_get_data(G_OBJECT (dlg), cookie));
gtk_widget_set_sensitive(l, gray);
}
@@ -444,7 +446,7 @@ spellcheck_finished ()
spellcheck_sensitive("b_start", TRUE);
{
- GtkWidget *l = GTK_WIDGET(gtk_object_get_data (GTK_OBJECT (dlg), "banner"));
+ GtkWidget *l = GTK_WIDGET(g_object_get_data(G_OBJECT (dlg), "banner"));
gchar *label;
if (_stops)
label = g_strdup_printf(_("<b>Finished</b>, <b>%d</b> words added to dictionary"), _adds);
@@ -556,7 +558,7 @@ spellcheck_next_word()
// display it in window
{
- GtkWidget *l = GTK_WIDGET(gtk_object_get_data (GTK_OBJECT (dlg), "banner"));
+ GtkWidget *l = GTK_WIDGET(g_object_get_data(G_OBJECT (dlg), "banner"));
Glib::ustring langs = _lang;
if (_lang2)
langs = langs + ", " + _lang2;
@@ -576,7 +578,7 @@ spellcheck_next_word()
// draw rect
std::vector<Geom::Point> points =
- _layout->createSelectionShape(_begin_w, _end_w, _text->i2d_affine());
+ _layout->createSelectionShape(_begin_w, _end_w, _text->i2dt_affine());
Geom::Point tl, br;
tl = br = points.front();
for (unsigned i = 0 ; i < points.size() ; i ++) {
@@ -640,7 +642,7 @@ spellcheck_next_word()
// get suggestions
{
GtkTreeView *tree_view =
- GTK_TREE_VIEW(gtk_object_get_data (GTK_OBJECT (dlg), "suggestions"));
+ GTK_TREE_VIEW(g_object_get_data(G_OBJECT (dlg), "suggestions"));
GtkListStore *model = gtk_list_store_new (1, G_TYPE_STRING);
gtk_tree_view_set_model (GTK_TREE_VIEW (tree_view), GTK_TREE_MODEL (model));
@@ -713,7 +715,7 @@ spellcheck_delete_last_rect ()
void
do_spellcheck ()
{
- GtkWidget *l = GTK_WIDGET(gtk_object_get_data (GTK_OBJECT (dlg), "banner"));
+ GtkWidget *l = GTK_WIDGET(g_object_get_data(G_OBJECT (dlg), "banner"));
gtk_label_set_markup (GTK_LABEL(l), _("<i>Checking...</i>"));
gtk_widget_queue_draw(GTK_WIDGET(dlg));
gdk_window_process_updates(GTK_WIDGET(dlg)->window, TRUE);
@@ -769,7 +771,7 @@ sp_spellcheck_accept (GObject *, GObject *dlg)
{
// insert chosen suggestion
GtkTreeView *tv =
- GTK_TREE_VIEW(gtk_object_get_data (GTK_OBJECT (dlg), "suggestions"));
+ GTK_TREE_VIEW(g_object_get_data(G_OBJECT (dlg), "suggestions"));
GtkTreeSelection *ts = gtk_tree_view_get_selection(tv);
GtkTreeModel *model = 0;
GtkTreeIter iter;
@@ -819,7 +821,7 @@ sp_spellcheck_add (GObject */*obj*/, GObject */*dlg*/)
{
_adds++;
GtkComboBox *cbox =
- GTK_COMBO_BOX(gtk_object_get_data (GTK_OBJECT (dlg), "addto_langs"));
+ GTK_COMBO_BOX(g_object_get_data(G_OBJECT (dlg), "addto_langs"));
gint num = gtk_combo_box_get_active(cbox);
switch (num) {
case 0:
@@ -916,17 +918,15 @@ sp_spellcheck_dialog (void)
g_signal_connect( G_OBJECT(INKSCAPE), "deactivate_desktop", G_CALLBACK( spellcheck_desktop_deactivated ), NULL);
- gtk_signal_connect ( GTK_OBJECT (dlg), "event", GTK_SIGNAL_FUNC (sp_dialog_event_handler), dlg);
+ g_signal_connect ( G_OBJECT (dlg), "event", G_CALLBACK (sp_dialog_event_handler), dlg);
- gtk_signal_connect ( GTK_OBJECT (dlg), "destroy", G_CALLBACK (sp_spellcheck_dialog_destroy), NULL );
- gtk_signal_connect ( GTK_OBJECT (dlg), "delete_event", G_CALLBACK (sp_spellcheck_dialog_delete), dlg);
+ g_signal_connect ( G_OBJECT (dlg), "destroy", G_CALLBACK (sp_spellcheck_dialog_destroy), NULL );
+ g_signal_connect ( G_OBJECT (dlg), "delete_event", G_CALLBACK (sp_spellcheck_dialog_delete), dlg);
g_signal_connect ( G_OBJECT (INKSCAPE), "shut_down", G_CALLBACK (sp_spellcheck_dialog_delete), dlg);
g_signal_connect ( G_OBJECT (INKSCAPE), "dialogs_hide", G_CALLBACK (sp_dialog_hide), dlg);
g_signal_connect ( G_OBJECT (INKSCAPE), "dialogs_unhide", G_CALLBACK (sp_dialog_unhide), dlg);
- GtkTooltips *tt = gtk_tooltips_new ();
-
gtk_container_set_border_width (GTK_CONTAINER (dlg), 4);
/* Toplevel vbox */
@@ -936,7 +936,7 @@ sp_spellcheck_dialog (void)
{
GtkWidget *hb = gtk_hbox_new (FALSE, 0);
GtkWidget *l = gtk_label_new (NULL);
- gtk_object_set_data (GTK_OBJECT (dlg), "banner", l);
+ g_object_set_data (G_OBJECT (dlg), "banner", l);
gtk_box_pack_start (GTK_BOX (hb), l, FALSE, FALSE, 0);
gtk_box_pack_start (GTK_BOX (vb), hb, FALSE, FALSE, 0);
}
@@ -949,7 +949,7 @@ sp_spellcheck_dialog (void)
GtkListStore *model = gtk_list_store_new (1, G_TYPE_STRING);
GtkWidget *tree_view = gtk_tree_view_new ();
- gtk_object_set_data (GTK_OBJECT (dlg), "suggestions", tree_view);
+ g_object_set_data (G_OBJECT (dlg), "suggestions", tree_view);
gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (scrolled_window),
tree_view);
gtk_tree_view_set_model (GTK_TREE_VIEW (tree_view), GTK_TREE_MODEL (model));
@@ -970,18 +970,18 @@ sp_spellcheck_dialog (void)
{
GtkWidget *hb = gtk_hbox_new (FALSE, 0);
- sp_spellcheck_new_button (dlg, hb, _("_Accept"), tt, _("Accept the chosen suggestion"),
+ sp_spellcheck_new_button (dlg, hb, _("_Accept"), _("Accept the chosen suggestion"),
sp_spellcheck_accept, "b_accept");
- sp_spellcheck_new_button (dlg, hb, _("_Ignore once"), tt, _("Ignore this word only once"),
+ sp_spellcheck_new_button (dlg, hb, _("_Ignore once"), _("Ignore this word only once"),
sp_spellcheck_ignore_once, "b_ignore_once");
- sp_spellcheck_new_button (dlg, hb, _("_Ignore"), tt, _("Ignore this word in this session"),
+ sp_spellcheck_new_button (dlg, hb, _("_Ignore"), _("Ignore this word in this session"),
sp_spellcheck_ignore, "b_ignore");
gtk_box_pack_start (GTK_BOX (vb), hb, FALSE, FALSE, 0);
}
{
GtkWidget *hb = gtk_hbox_new (FALSE, 0);
- sp_spellcheck_new_button (dlg, hb, _("A_dd to dictionary:"), tt, _("Add this word to the chosen dictionary"),
+ sp_spellcheck_new_button (dlg, hb, _("A_dd to dictionary:"), _("Add this word to the chosen dictionary"),
sp_spellcheck_add, "b_add");
GtkComboBox *cbox = GTK_COMBO_BOX (gtk_combo_box_new_text());
gtk_combo_box_append_text (cbox, _lang);
@@ -1005,9 +1005,9 @@ sp_spellcheck_dialog (void)
{
GtkWidget *hb = gtk_hbox_new (FALSE, 0);
- sp_spellcheck_new_button (dlg, hb, _("_Stop"), tt, _("Stop the check"),
+ sp_spellcheck_new_button (dlg, hb, _("_Stop"), _("Stop the check"),
sp_spellcheck_stop, "b_stop");
- sp_spellcheck_new_button (dlg, hb, _("_Start"), tt, _("Start the check"),
+ sp_spellcheck_new_button (dlg, hb, _("_Start"), _("Start the check"),
sp_spellcheck_start, "b_start");
gtk_box_pack_start (GTK_BOX (vb), hb, FALSE, FALSE, 0);
}
diff --git a/src/dialogs/spellcheck.h b/src/dialogs/spellcheck.h
index b941788ca..fe80be2cb 100644
--- a/src/dialogs/spellcheck.h
+++ b/src/dialogs/spellcheck.h
@@ -12,7 +12,7 @@
#ifndef SEEN_SPELLCHECK_H
#define SEEN_SPELLCHECK_H
-#include <gtk/gtkstyle.h>
+#include <gtk/gtk.h>
void sp_spellcheck_dialog();
diff --git a/src/dialogs/text-edit.cpp b/src/dialogs/text-edit.cpp
index d741e2de0..ae34fe4b1 100644
--- a/src/dialogs/text-edit.cpp
+++ b/src/dialogs/text-edit.cpp
@@ -1,5 +1,6 @@
-/** @file
- * @brief Text editing dialog
+/**
+ * @file
+ * Text editing dialog.
*/
/* Authors:
* Lauris Kaplinski <lauris@ximian.com>
@@ -177,19 +178,15 @@ sp_text_edit_dialog (void)
wd.stop = 0;
g_signal_connect ( G_OBJECT (INKSCAPE), "activate_desktop", G_CALLBACK (sp_transientize_callback), &wd );
- gtk_signal_connect ( GTK_OBJECT (dlg), "event", GTK_SIGNAL_FUNC (sp_dialog_event_handler), dlg );
+ g_signal_connect ( G_OBJECT (dlg), "event", G_CALLBACK (sp_dialog_event_handler), dlg );
- gtk_signal_connect ( GTK_OBJECT (dlg), "destroy", G_CALLBACK (sp_text_edit_dialog_destroy), dlg );
- gtk_signal_connect ( GTK_OBJECT (dlg), "delete_event", G_CALLBACK (sp_text_edit_dialog_delete), dlg );
+ g_signal_connect ( G_OBJECT (dlg), "destroy", G_CALLBACK (sp_text_edit_dialog_destroy), dlg );
+ g_signal_connect ( G_OBJECT (dlg), "delete_event", G_CALLBACK (sp_text_edit_dialog_delete), dlg );
g_signal_connect ( G_OBJECT (INKSCAPE), "shut_down", G_CALLBACK (sp_text_edit_dialog_delete), dlg );
g_signal_connect ( G_OBJECT (INKSCAPE), "dialogs_hide", G_CALLBACK (sp_dialog_hide), dlg );
g_signal_connect ( G_OBJECT (INKSCAPE), "dialogs_unhide", G_CALLBACK (sp_dialog_unhide), dlg );
- gtk_window_set_policy (GTK_WINDOW (dlg), TRUE, TRUE, FALSE);
-
- GtkTooltips *tt = gtk_tooltips_new();
-
// box containing the notebook and the bottom buttons
GtkWidget *mainvb = gtk_vbox_new (FALSE, 0);
gtk_container_add (GTK_CONTAINER (dlg), mainvb);
@@ -203,7 +200,7 @@ sp_text_edit_dialog (void)
// Font tab
{
- GtkWidget *l = gtk_label_new (_("Font"));
+ GtkWidget *l = gtk_label_new_with_mnemonic (_("_Font"));
GtkWidget *vb = gtk_vbox_new (FALSE, VB_MARGIN);
gtk_container_set_border_width (GTK_CONTAINER (vb), VB_MARGIN);
gtk_notebook_append_page (GTK_NOTEBOOK (nb), vb, l);
@@ -240,7 +237,7 @@ sp_text_edit_dialog (void)
// TODO - replace with Inkscape-specific call
GtkWidget *px = gtk_image_new_from_stock ( GTK_STOCK_JUSTIFY_LEFT, GTK_ICON_SIZE_LARGE_TOOLBAR );
GtkWidget *b = group = gtk_radio_button_new (NULL);
- gtk_tooltips_set_tip (tt, b, _("Align lines left"), NULL);
+ gtk_widget_set_tooltip_text (b, _("Align lines left"));
gtk_button_set_relief (GTK_BUTTON (b), GTK_RELIEF_NONE);
g_signal_connect ( G_OBJECT (b), "toggled", G_CALLBACK (sp_text_edit_dialog_any_toggled), dlg);
gtk_toggle_button_set_mode (GTK_TOGGLE_BUTTON (b), FALSE );
@@ -253,9 +250,9 @@ sp_text_edit_dialog (void)
{
// TODO - replace with Inkscape-specific call
GtkWidget *px = gtk_image_new_from_stock ( GTK_STOCK_JUSTIFY_CENTER, GTK_ICON_SIZE_LARGE_TOOLBAR );
- GtkWidget *b = gtk_radio_button_new (gtk_radio_button_group (GTK_RADIO_BUTTON (group)));
+ GtkWidget *b = gtk_radio_button_new (gtk_radio_button_get_group (GTK_RADIO_BUTTON (group)));
/* TRANSLATORS: `Center' here is a verb. */
- gtk_tooltips_set_tip (tt, b, _("Center lines"), NULL);
+ gtk_widget_set_tooltip_text (b, _("Center lines"));
gtk_button_set_relief (GTK_BUTTON (b), GTK_RELIEF_NONE);
g_signal_connect ( G_OBJECT (b), "toggled", G_CALLBACK (sp_text_edit_dialog_any_toggled), dlg );
gtk_toggle_button_set_mode (GTK_TOGGLE_BUTTON (b), FALSE);
@@ -268,8 +265,8 @@ sp_text_edit_dialog (void)
{
// TODO - replace with Inkscape-specific call
GtkWidget *px = gtk_image_new_from_stock ( GTK_STOCK_JUSTIFY_RIGHT, GTK_ICON_SIZE_LARGE_TOOLBAR );
- GtkWidget *b = gtk_radio_button_new (gtk_radio_button_group (GTK_RADIO_BUTTON (group)));
- gtk_tooltips_set_tip (tt, b, _("Align lines right"), NULL);
+ GtkWidget *b = gtk_radio_button_new (gtk_radio_button_get_group (GTK_RADIO_BUTTON (group)));
+ gtk_widget_set_tooltip_text (b, _("Align lines right"));
gtk_button_set_relief (GTK_BUTTON (b), GTK_RELIEF_NONE);
g_signal_connect ( G_OBJECT (b), "toggled", G_CALLBACK (sp_text_edit_dialog_any_toggled), dlg );
gtk_toggle_button_set_mode (GTK_TOGGLE_BUTTON (b), FALSE);
@@ -282,8 +279,8 @@ sp_text_edit_dialog (void)
{
// TODO - replace with Inkscape-specific call
GtkWidget *px = gtk_image_new_from_stock ( GTK_STOCK_JUSTIFY_FILL, GTK_ICON_SIZE_LARGE_TOOLBAR );
- GtkWidget *b = gtk_radio_button_new (gtk_radio_button_group (GTK_RADIO_BUTTON (group)));
- gtk_tooltips_set_tip (tt, b, _("Justify lines"), NULL);
+ GtkWidget *b = gtk_radio_button_new (gtk_radio_button_get_group (GTK_RADIO_BUTTON (group)));
+ gtk_widget_set_tooltip_text (b, _("Justify lines"));
gtk_button_set_relief (GTK_BUTTON (b), GTK_RELIEF_NONE);
g_signal_connect ( G_OBJECT (b), "toggled", G_CALLBACK (sp_text_edit_dialog_any_toggled), dlg );
gtk_toggle_button_set_mode (GTK_TOGGLE_BUTTON (b), FALSE);
@@ -303,29 +300,29 @@ sp_text_edit_dialog (void)
// horizontal
{
GtkWidget *px = sp_icon_new( Inkscape::ICON_SIZE_LARGE_TOOLBAR,
- INKSCAPE_ICON_FORMAT_TEXT_DIRECTION_HORIZONTAL );
+ INKSCAPE_ICON("format-text-direction-horizontal") );
GtkWidget *b = group = gtk_radio_button_new (NULL);
- gtk_tooltips_set_tip (tt, b, _("Horizontal text"), NULL);
+ gtk_widget_set_tooltip_text (b, _("Horizontal text"));
gtk_button_set_relief (GTK_BUTTON (b), GTK_RELIEF_NONE);
g_signal_connect ( G_OBJECT (b), "toggled", G_CALLBACK (sp_text_edit_dialog_any_toggled), dlg );
gtk_toggle_button_set_mode (GTK_TOGGLE_BUTTON (b), FALSE);
gtk_container_add (GTK_CONTAINER (b), px);
gtk_box_pack_start (GTK_BOX (row), b, FALSE, FALSE, 0);
- g_object_set_data (G_OBJECT (dlg), INKSCAPE_ICON_FORMAT_TEXT_DIRECTION_HORIZONTAL, b);
+ g_object_set_data (G_OBJECT (dlg), INKSCAPE_ICON("format-text-direction-horizontal"), b);
}
// vertical
{
GtkWidget *px = sp_icon_new( Inkscape::ICON_SIZE_LARGE_TOOLBAR,
- INKSCAPE_ICON_FORMAT_TEXT_DIRECTION_VERTICAL );
- GtkWidget *b = gtk_radio_button_new (gtk_radio_button_group (GTK_RADIO_BUTTON (group)));
- gtk_tooltips_set_tip (tt, b, _("Vertical text"), NULL);
+ INKSCAPE_ICON("format-text-direction-vertical") );
+ GtkWidget *b = gtk_radio_button_new (gtk_radio_button_get_group (GTK_RADIO_BUTTON (group)));
+ gtk_widget_set_tooltip_text (b, _("Vertical text"));
gtk_button_set_relief (GTK_BUTTON (b), GTK_RELIEF_NONE);
g_signal_connect ( G_OBJECT (b), "toggled", G_CALLBACK (sp_text_edit_dialog_any_toggled), dlg );
gtk_toggle_button_set_mode (GTK_TOGGLE_BUTTON (b), FALSE);
gtk_container_add (GTK_CONTAINER (b), px);
gtk_box_pack_start (GTK_BOX (row), b, FALSE, FALSE, 0);
- g_object_set_data (G_OBJECT (dlg), INKSCAPE_ICON_FORMAT_TEXT_DIRECTION_VERTICAL, b);
+ g_object_set_data (G_OBJECT (dlg), INKSCAPE_ICON("format-text-direction-vertical"), b);
}
gtk_box_pack_start (GTK_BOX (l_vb), row, FALSE, FALSE, 0);
@@ -344,23 +341,30 @@ sp_text_edit_dialog (void)
{
GtkWidget *row = gtk_hbox_new (FALSE, VB_MARGIN);
- GtkWidget *c = gtk_combo_new ();
- gtk_combo_set_value_in_list ((GtkCombo *) c, FALSE, FALSE);
- gtk_combo_set_use_arrows ((GtkCombo *) c, TRUE);
- gtk_combo_set_use_arrows_always ((GtkCombo *) c, TRUE);
+//This would introduce dependency on gtk version 2.24 which is currently not available in
+// Trisquel GNU/Linux 4.5.1 (released on May 25th, 2011)
+//This conditional and its #else block can be deleted in the future.
+#if GTK_CHECK_VERSION(2, 24,0)
+ GtkWidget *c = gtk_combo_box_text_new_with_entry ();
+#else
+ GtkWidget *c = gtk_combo_box_entry_new_text ();
+#endif
gtk_widget_set_size_request (c, 90, -1);
{ /* Setup strings */
- GList *sl = NULL;
for (int i = 0; spacings[i]; i++) {
- sl = g_list_prepend (sl, (void *) spacings[i]);
+//This would introduce dependency on gtk version 2.24 which is currently not available in
+// Trisquel GNU/Linux 4.5.1 (released on May 25th, 2011)
+//This conditional and its #else block can be deleted in the future.
+#if GTK_CHECK_VERSION(2, 24,0)
+ gtk_combo_box_text_append_text((GtkComboBoxText *) c, spacings[i]);
+#else
+ gtk_combo_box_append_text((GtkComboBox *) c, spacings[i]);
+#endif
}
- sl = g_list_reverse (sl);
- gtk_combo_set_popdown_strings ((GtkCombo *) c, sl);
- g_list_free (sl);
}
- g_signal_connect ( (GObject *) ((GtkCombo *) c)->entry,
+ g_signal_connect ( (GObject *) c,
"changed",
(GCallback) sp_text_edit_dialog_line_spacing_changed,
dlg );
@@ -372,15 +376,18 @@ sp_text_edit_dialog (void)
}
/* Font preview */
- GtkWidget *preview = sp_font_preview_new ();
- gtk_box_pack_start (GTK_BOX (vb), preview, TRUE, TRUE, 4);
+ GtkLabel *preview = (GtkLabel*) gtk_label_new(NULL);
+ gtk_label_set_ellipsize(preview, PANGO_ELLIPSIZE_END);
+ gtk_label_set_justify(preview, GTK_JUSTIFY_CENTER);
+ gtk_label_set_line_wrap(preview, FALSE);
+ gtk_box_pack_start (GTK_BOX (vb), (GtkWidget*) preview, TRUE, TRUE, 4);
g_object_set_data (G_OBJECT (dlg), "preview", preview);
}
// Text tab
{
- GtkWidget *l = gtk_label_new (_("Text"));
+ GtkWidget *l = gtk_label_new_with_mnemonic (_("_Text"));
GtkWidget *vb = gtk_vbox_new (FALSE, VB_MARGIN);
gtk_container_set_border_width (GTK_CONTAINER (vb), VB_MARGIN);
gtk_notebook_append_page (GTK_NOTEBOOK (nb), vb, l);
@@ -427,7 +434,7 @@ sp_text_edit_dialog (void)
gtk_box_pack_start (GTK_BOX (mainvb), hb, FALSE, FALSE, 0);
{
- GtkWidget *b = gtk_button_new_with_label (_("Set as default"));
+ GtkWidget *b = gtk_button_new_with_mnemonic (_("Set as _default"));
g_signal_connect ( G_OBJECT (b), "clicked",
G_CALLBACK (sp_text_edit_dialog_set_default),
dlg );
@@ -444,10 +451,11 @@ sp_text_edit_dialog (void)
{
GtkWidget *b = gtk_button_new_from_stock (GTK_STOCK_APPLY);
- GTK_WIDGET_SET_FLAGS (b, GTK_CAN_DEFAULT | GTK_HAS_DEFAULT);
g_signal_connect ( G_OBJECT (b), "clicked",
G_CALLBACK (sp_text_edit_dialog_apply), dlg );
gtk_box_pack_end ( GTK_BOX (hb), b, FALSE, FALSE, 0 );
+ gtk_widget_set_can_default (b, TRUE);
+ gtk_widget_grab_default (b);
g_object_set_data (G_OBJECT (dlg), "apply", b);
}
@@ -597,7 +605,7 @@ sp_get_text_dialog_style ()
}
}
- b = (GtkWidget*)g_object_get_data (G_OBJECT (dlg), INKSCAPE_ICON_FORMAT_TEXT_DIRECTION_HORIZONTAL );
+ b = (GtkWidget*)g_object_get_data (G_OBJECT (dlg), INKSCAPE_ICON("format-text-direction-horizontal") );
if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (b))) {
sp_repr_css_set_property (css, "writing-mode", "lr");
@@ -608,7 +616,15 @@ sp_get_text_dialog_style ()
// Note that CSS 1.1 does not support line-height; we set it for consistency, but also set
// sodipodi:linespacing for backwards compatibility; in 1.2 we use line-height for flowtext
GtkWidget *combo = (GtkWidget*)g_object_get_data ((GObject *) dlg, "line_spacing");
- const char *sstr = gtk_entry_get_text ((GtkEntry *) ((GtkCombo *) (combo))->entry);
+
+//This would introduce dependency on gtk version 2.24 which is currently not available in
+// Trisquel GNU/Linux 4.5.1 (released on May 25th, 2011)
+//This conditional and its #else block can be deleted in the future.
+#if GTK_CHECK_VERSION(2, 24,0)
+ const gchar *sstr = gtk_combo_box_text_get_active_text ((GtkComboBoxText *) combo);
+#else
+ const gchar *sstr = gtk_entry_get_text ((GtkEntry *) (gtk_bin_get_child (GTK_BIN (combo))));
+#endif
sp_repr_css_set_property (css, "line-height", sstr);
return css;
@@ -699,7 +715,7 @@ sp_text_edit_dialog_read_selection ( GtkWidget *dlg,
g_object_set_data (G_OBJECT (dlg), "blocked", GINT_TO_POINTER (TRUE));
- GtkWidget *notebook = (GtkWidget*)g_object_get_data (G_OBJECT (dlg), "notebook");
+ //GtkWidget *notebook = (GtkWidget*)g_object_get_data (G_OBJECT (dlg), "notebook");
GtkWidget *textw = (GtkWidget*)g_object_get_data (G_OBJECT (dlg), "textw");
GtkWidget *fontsel = (GtkWidget*)g_object_get_data (G_OBJECT (dlg), "fontsel");
GtkWidget *preview = (GtkWidget*)g_object_get_data (G_OBJECT (dlg), "preview");
@@ -710,6 +726,12 @@ sp_text_edit_dialog_read_selection ( GtkWidget *dlg,
SPItem *text = sp_ted_get_selected_text_item ();
+ /* TRANSLATORS: Test string used in text and font dialog (when no
+ * text has been entered) to get a preview of the font. Choose
+ * some representative characters that users of your locale will be
+ * interested in. */
+ gchar *phrase = g_strdup(_("AaBbCcIiPpQq12369$\342\202\254\302\242?.;/()"));
+
Inkscape::XML::Node *repr;
if (text)
{
@@ -727,19 +749,15 @@ sp_text_edit_dialog_read_selection ( GtkWidget *dlg,
str = sp_te_get_string_multiline (text);
if (str) {
- int pos;
- pos = 0;
-
if (items == 1) {
gtk_text_buffer_set_text (tb, str, strlen (str));
gtk_text_buffer_set_modified (tb, FALSE);
}
- sp_font_preview_set_phrase (SP_FONT_PREVIEW (preview), str);
- g_free (str);
+ g_free(phrase);
+ phrase = str;
} else {
gtk_text_buffer_set_text (tb, "", 0);
- sp_font_preview_set_phrase (SP_FONT_PREVIEW (preview), NULL);
}
} // end of if (docontent)
repr = text->getRepr();
@@ -776,7 +794,13 @@ sp_text_edit_dialog_read_selection ( GtkWidget *dlg,
if (font) {
// the font is oversized, so we need to pass the true size separately
sp_font_selector_set_font (SP_FONT_SELECTOR (fontsel), font, query->font_size.computed);
- sp_font_preview_set_font (SP_FONT_PREVIEW (preview), font, SP_FONT_SELECTOR(fontsel));
+ char *desc = pango_font_description_to_string(font->descr);
+ double size = sp_font_selector_get_size(SP_FONT_SELECTOR(fontsel));
+ gchar *markup = g_strdup_printf("<span font=\"%s\" size=\"%d\">%s</span>",
+ desc, (int) size * PANGO_SCALE, phrase);
+ gtk_label_set_markup(GTK_LABEL(preview), markup);
+ g_free(desc);
+ g_free(markup);
font->Unref();
font=NULL;
}
@@ -796,9 +820,9 @@ sp_text_edit_dialog_read_selection ( GtkWidget *dlg,
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (b), TRUE);
if (query->writing_mode.computed == SP_CSS_WRITING_MODE_LR_TB) {
- b = (GtkWidget*)g_object_get_data ( G_OBJECT (dlg), INKSCAPE_ICON_FORMAT_TEXT_DIRECTION_HORIZONTAL );
+ b = (GtkWidget*)g_object_get_data ( G_OBJECT (dlg), INKSCAPE_ICON("format-text-direction-horizontal") );
} else {
- b = (GtkWidget*)g_object_get_data ( G_OBJECT (dlg), INKSCAPE_ICON_FORMAT_TEXT_DIRECTION_VERTICAL );
+ b = (GtkWidget*)g_object_get_data ( G_OBJECT (dlg), INKSCAPE_ICON("format-text-direction-vertical") );
}
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (b), TRUE);
@@ -809,12 +833,13 @@ sp_text_edit_dialog_read_selection ( GtkWidget *dlg,
height = query->line_height.value;
else height = query->line_height.computed;
gchar *sstr = g_strdup_printf ("%d%%", (int) floor(height * 100 + 0.5));
- gtk_entry_set_text ((GtkEntry *) ((GtkCombo *) (combo))->entry, sstr);
+
+ gtk_entry_set_text ((GtkEntry *) gtk_bin_get_child ((GtkBin *) (combo)), sstr);
g_free(sstr);
sp_style_unref(query);
}
-
+ g_free(phrase);
g_object_set_data (G_OBJECT (dlg), "blocked", NULL);
}
@@ -822,7 +847,7 @@ sp_text_edit_dialog_read_selection ( GtkWidget *dlg,
static void
sp_text_edit_dialog_text_changed (GtkTextBuffer *tb, GtkWidget *dlg)
{
- GtkWidget *textw, *preview, *apply, *def;
+ GtkWidget *textw, *preview, *apply, *def, *fontsel;
GtkTextIter start, end;
gchar *str;
@@ -835,14 +860,23 @@ sp_text_edit_dialog_text_changed (GtkTextBuffer *tb, GtkWidget *dlg)
preview = (GtkWidget*)g_object_get_data (G_OBJECT (dlg), "preview");
apply = (GtkWidget*)g_object_get_data (G_OBJECT (dlg), "apply");
def = (GtkWidget*)g_object_get_data (G_OBJECT (dlg), "default");
+ fontsel = (GtkWidget*)g_object_get_data (G_OBJECT (dlg), "fontsel");
gtk_text_buffer_get_bounds (tb, &start, &end);
str = gtk_text_buffer_get_text (tb, &start, &end, TRUE);
-
- if (str && *str) {
- sp_font_preview_set_phrase (SP_FONT_PREVIEW (preview), str);
+ font_instance *font = sp_font_selector_get_font(SP_FONT_SELECTOR(fontsel));
+
+ if (font) {
+ gchar *phrase = str && *str ? str : _("AaBbCcIiPpQq12369$\342\202\254\302\242?.;/()");
+ char *desc = pango_font_description_to_string(font->descr);
+ double size = sp_font_selector_get_size(SP_FONT_SELECTOR(fontsel));
+ gchar *markup = g_strdup_printf("<span font=\"%s\" size=\"%d\">%s</span>",
+ desc, (int) size * PANGO_SCALE, phrase);
+ gtk_label_set_markup(GTK_LABEL(preview), markup);
+ g_free(desc);
+ g_free(markup);
} else {
- sp_font_preview_set_phrase (SP_FONT_PREVIEW (preview), NULL);
+ gtk_label_set_markup(GTK_LABEL(preview), NULL);
}
g_free (str);
@@ -863,11 +897,13 @@ sp_text_edit_dialog_default_set_insensitive ()
}
static void
-sp_text_edit_dialog_font_changed ( SPFontSelector *fsel,
+sp_text_edit_dialog_font_changed ( SPFontSelector * /*fsel*/,
font_instance *font,
GtkWidget *dlg )
{
- GtkWidget *preview, *apply, *def;
+ GtkWidget *preview, *apply, *def, *fontsel;
+ GtkTextIter start, end;
+ gchar *str;
if (g_object_get_data (G_OBJECT (dlg), "blocked"))
return;
@@ -877,11 +913,27 @@ sp_text_edit_dialog_font_changed ( SPFontSelector *fsel,
preview = (GtkWidget*)g_object_get_data (G_OBJECT (dlg), "preview");
apply = (GtkWidget*)g_object_get_data (G_OBJECT (dlg), "apply");
def = (GtkWidget*)g_object_get_data (G_OBJECT (dlg), "default");
+ fontsel = (GtkWidget*)g_object_get_data (G_OBJECT (dlg), "fontsel");
- sp_font_preview_set_font (SP_FONT_PREVIEW (preview), font, SP_FONT_SELECTOR(fsel));
+ GtkTextBuffer *tb = (GtkTextBuffer*)g_object_get_data (G_OBJECT (dlg), "text");
+ gtk_text_buffer_get_bounds (tb, &start, &end);
+ str = gtk_text_buffer_get_text (tb, &start, &end, TRUE);
- if (text)
- {
+ if (font) {
+ gchar *phrase = str && *str ? str : _("AaBbCcIiPpQq12369$\342\202\254\302\242?.;/()");
+ char *desc = pango_font_description_to_string(font->descr);
+ double size = sp_font_selector_get_size(SP_FONT_SELECTOR(fontsel));
+ gchar *markup = g_strdup_printf("<span font=\"%s\" size=\"%d\">%s</span>",
+ desc, (int) size * PANGO_SCALE, phrase);
+ gtk_label_set_markup(GTK_LABEL(preview), markup);
+ g_free(desc);
+ g_free(markup);
+ } else {
+ gtk_label_set_markup(GTK_LABEL(preview), NULL);
+ }
+ g_free(str);
+
+ if (text) {
gtk_widget_set_sensitive (apply, TRUE);
}
gtk_widget_set_sensitive (def, TRUE);
diff --git a/src/dialogs/xml-tree.cpp b/src/dialogs/xml-tree.cpp
index ddb419dcd..5e0766ded 100644
--- a/src/dialogs/xml-tree.cpp
+++ b/src/dialogs/xml-tree.cpp
@@ -1,5 +1,6 @@
-/** @file
- * @brief XML editor
+/**
+ * @file
+ * XML editor.
*/
/* Authors:
* Lauris Kaplinski <lauris@kaplinski.com>
@@ -66,7 +67,6 @@ static Inkscape::MessageStack *_message_stack = NULL;
static Inkscape::MessageContext *_message_context = NULL;
static sigc::connection _message_changed_connection;
-static GtkTooltips *tooltips = NULL;
static GtkEditable *attr_name = NULL;
static GtkTextView *attr_value = NULL;
static SPXMLViewTree *tree = NULL;
@@ -149,8 +149,8 @@ static gboolean sp_xml_tree_key_press(GtkWidget *widget, GdkEventKey *event);
static bool in_dt_coordsys(SPObject const &item);
-/*
- * \brief Sets the XML status bar when the tree is selected.
+/**
+ * Sets the XML status bar when the tree is selected.
*/
void tree_reset_context()
{
@@ -159,8 +159,8 @@ void tree_reset_context()
}
-/*
- * \brief Sets the XML status bar, depending on which attr is selected.
+/**
+ * Sets the XML status bar, depending on which attr is selected.
*/
void attr_reset_context(gint attr)
{
@@ -190,13 +190,10 @@ void sp_xml_tree_dialog()
if (dlg == NULL)
{ // very long block
- GtkWidget *box, *sw, *paned, *toolbar, *button;
+ GtkWidget *box, *sw, *paned, *toolbar;
GtkWidget *text_container, *attr_container, *attr_subpaned_container, *box2;
GtkWidget *set_attr;
- tooltips = gtk_tooltips_new();
- gtk_tooltips_enable(tooltips);
-
dlg = sp_window_new("", TRUE);
Inkscape::Preferences *prefs = Inkscape::Preferences::get();
if (x == -1000 || y == -1000) {
@@ -225,10 +222,10 @@ void sp_xml_tree_dialog()
wd.stop = 0;
g_signal_connect ( G_OBJECT(INKSCAPE), "activate_desktop", G_CALLBACK(sp_transientize_callback), &wd );
- gtk_signal_connect( GTK_OBJECT(dlg), "event", GTK_SIGNAL_FUNC(sp_dialog_event_handler), dlg );
+ g_signal_connect( G_OBJECT(dlg), "event", G_CALLBACK(sp_dialog_event_handler), dlg );
- gtk_signal_connect( GTK_OBJECT(dlg), "destroy", G_CALLBACK(on_destroy), dlg);
- gtk_signal_connect( GTK_OBJECT(dlg), "delete_event", G_CALLBACK(on_delete), dlg);
+ g_signal_connect( G_OBJECT(dlg), "destroy", G_CALLBACK(on_destroy), dlg);
+ g_signal_connect( G_OBJECT(dlg), "delete_event", G_CALLBACK(on_delete), dlg);
g_signal_connect ( G_OBJECT(INKSCAPE), "shut_down", G_CALLBACK(on_delete), dlg);
g_signal_connect ( G_OBJECT(INKSCAPE), "dialogs_hide", G_CALLBACK(sp_dialog_hide), dlg);
@@ -267,8 +264,8 @@ void sp_xml_tree_dialog()
gtk_paned_pack1(GTK_PANED(paned), box, FALSE, FALSE);
tree = SP_XMLVIEW_TREE(sp_xmlview_tree_new(NULL, NULL, NULL));
- gtk_tooltips_set_tip( tooltips, GTK_WIDGET(tree),
- _("Drag to reorder nodes"), NULL );
+ gtk_widget_set_tooltip_text( GTK_WIDGET(tree),
+ _("Drag to reorder nodes") );
g_signal_connect( G_OBJECT(tree), "tree_select_row",
G_CALLBACK(on_tree_select_row), NULL );
@@ -279,144 +276,226 @@ void sp_xml_tree_dialog()
g_signal_connect_after( G_OBJECT(tree), "tree_move",
G_CALLBACK(after_tree_move), NULL);
- /* TODO: replace gtk_signal_connect_while_alive() with something
- * else...
- */
toolbar = gtk_toolbar_new();
gtk_toolbar_set_style(GTK_TOOLBAR(toolbar), GTK_TOOLBAR_ICONS);
gtk_container_set_border_width(GTK_CONTAINER(toolbar), 0);
- button = gtk_toolbar_append_item(GTK_TOOLBAR(toolbar),
- NULL,
- _("New element node"),
- NULL,
- sp_icon_new( Inkscape::ICON_SIZE_LARGE_TOOLBAR,
- INKSCAPE_ICON_XML_ELEMENT_NEW ),
- G_CALLBACK(cmd_new_element_node),
- NULL);
+ GtkToolItem *xml_element_new_button = gtk_tool_button_new (
+ sp_icon_new (Inkscape::ICON_SIZE_LARGE_TOOLBAR,
+ INKSCAPE_ICON("xml-element-new")),
+ NULL);
+
+ g_signal_connect (G_OBJECT(xml_element_new_button),
+ "clicked",
+ G_CALLBACK(cmd_new_element_node),
+ NULL);
- gtk_signal_connect_while_alive( GTK_OBJECT(tree),
+ gtk_widget_set_tooltip_text (GTK_WIDGET(xml_element_new_button),
+ _("New element node"));
+
+ gtk_toolbar_insert (GTK_TOOLBAR(toolbar), xml_element_new_button, -1);
+
+ g_signal_connect_object (G_OBJECT(tree),
"tree_select_row",
G_CALLBACK(on_tree_select_row_enable_if_element),
- button,
- GTK_OBJECT(button));
+ xml_element_new_button,
+ (GConnectFlags)0);
- gtk_signal_connect_while_alive(GTK_OBJECT(tree),
+ g_signal_connect_object (G_OBJECT(tree),
"tree_unselect_row",
G_CALLBACK(on_tree_unselect_row_disable),
- button,
- GTK_OBJECT(button));
+ xml_element_new_button,
+ (GConnectFlags)0);
+
+ gtk_widget_set_sensitive(GTK_WIDGET(xml_element_new_button), FALSE);
+
+ GtkToolItem *xml_text_new_button = gtk_tool_button_new (
+ sp_icon_new (Inkscape::ICON_SIZE_LARGE_TOOLBAR,
+ INKSCAPE_ICON("xml-text-new")),
+ NULL);
- gtk_widget_set_sensitive(GTK_WIDGET(button), FALSE);
+ g_signal_connect (G_OBJECT(xml_text_new_button),
+ "clicked",
+ G_CALLBACK(cmd_new_text_node),
+ NULL);
+
+ gtk_widget_set_tooltip_text (GTK_WIDGET(xml_text_new_button),
+ _("New text node"));
- button = gtk_toolbar_append_item(GTK_TOOLBAR(toolbar),
- NULL, _("New text node"), NULL,
- sp_icon_new( Inkscape::ICON_SIZE_LARGE_TOOLBAR,
- INKSCAPE_ICON_XML_TEXT_NEW ),
- G_CALLBACK(cmd_new_text_node),
- NULL);
+ gtk_toolbar_insert (GTK_TOOLBAR(toolbar), xml_text_new_button, -1);
- gtk_signal_connect_while_alive(GTK_OBJECT(tree),
+ g_signal_connect_object(G_OBJECT(tree),
"tree_select_row",
G_CALLBACK(on_tree_select_row_enable_if_element),
- button,
- GTK_OBJECT(button));
+ xml_text_new_button,
+ (GConnectFlags)0);
- gtk_signal_connect_while_alive(GTK_OBJECT(tree),
+ g_signal_connect_object(G_OBJECT(tree),
"tree_unselect_row",
G_CALLBACK(on_tree_unselect_row_disable),
- button,
- GTK_OBJECT(button));
+ xml_text_new_button,
+ (GConnectFlags)0);
- gtk_widget_set_sensitive(GTK_WIDGET(button), FALSE);
+ gtk_widget_set_sensitive(GTK_WIDGET(xml_text_new_button), FALSE);
- button = gtk_toolbar_append_item(GTK_TOOLBAR(toolbar),
- NULL, _("Duplicate node"), NULL,
- sp_icon_new( Inkscape::ICON_SIZE_LARGE_TOOLBAR,
- INKSCAPE_ICON_XML_NODE_DUPLICATE ),
- G_CALLBACK(cmd_duplicate_node),
- NULL);
+ GtkToolItem *xml_node_duplicate_button = gtk_tool_button_new (
+ sp_icon_new (Inkscape::ICON_SIZE_LARGE_TOOLBAR,
+ INKSCAPE_ICON("xml-node-duplicate")),
+ NULL);
+
+ g_signal_connect (G_OBJECT(xml_node_duplicate_button),
+ "clicked",
+ G_CALLBACK(cmd_duplicate_node),
+ NULL);
- gtk_signal_connect_while_alive(GTK_OBJECT(tree),
+ gtk_widget_set_tooltip_text (GTK_WIDGET(xml_node_duplicate_button),
+ _("Duplicate node"));
+
+ gtk_toolbar_insert (GTK_TOOLBAR(toolbar), xml_node_duplicate_button, -1);
+
+ g_signal_connect_object(G_OBJECT(tree),
"tree_select_row",
G_CALLBACK(on_tree_select_row_enable_if_mutable),
- button,
- GTK_OBJECT(button));
+ xml_node_duplicate_button,
+ (GConnectFlags)0);
- gtk_signal_connect_while_alive(GTK_OBJECT(tree), "tree_unselect_row",
+ g_signal_connect_object(G_OBJECT(tree), "tree_unselect_row",
G_CALLBACK(on_tree_unselect_row_disable),
- button, GTK_OBJECT(button));
+ xml_node_duplicate_button,
+ (GConnectFlags)0);
+
+ gtk_widget_set_sensitive(GTK_WIDGET(xml_node_duplicate_button), FALSE);
+
+ GtkToolItem *separator = gtk_separator_tool_item_new ();
+ gtk_separator_tool_item_set_draw (GTK_SEPARATOR_TOOL_ITEM(separator), FALSE);
+ gtk_toolbar_insert (GTK_TOOLBAR(toolbar), separator, -1);
- gtk_widget_set_sensitive(GTK_WIDGET(button), FALSE);
+ GtkToolItem *xml_node_delete_button = gtk_tool_button_new (
+ sp_icon_new (Inkscape::ICON_SIZE_LARGE_TOOLBAR,
+ INKSCAPE_ICON ("xml-node-delete")),
+ NULL);
+
+ g_signal_connect (G_OBJECT(xml_node_delete_button),
+ "clicked",
+ G_CALLBACK(cmd_delete_node),
+ NULL);
- gtk_toolbar_append_space(GTK_TOOLBAR(toolbar));
+ gtk_widget_set_tooltip_text (GTK_WIDGET(xml_node_delete_button),
+ Q_("nodeAsInXMLdialogTooltip|Delete node"));
- button = gtk_toolbar_append_item(GTK_TOOLBAR(toolbar),
- NULL, Q_("nodeAsInXMLdialogTooltip|Delete node"), NULL,
- sp_icon_new( Inkscape::ICON_SIZE_LARGE_TOOLBAR,
- INKSCAPE_ICON_XML_NODE_DELETE ),
- G_CALLBACK(cmd_delete_node), NULL );
+ gtk_toolbar_insert (GTK_TOOLBAR(toolbar), xml_node_delete_button, -1);
- gtk_signal_connect_while_alive(GTK_OBJECT(tree), "tree_select_row",
+ g_signal_connect_object(G_OBJECT(tree), "tree_select_row",
G_CALLBACK(on_tree_select_row_enable_if_mutable),
- button, GTK_OBJECT(button));
- gtk_signal_connect_while_alive(GTK_OBJECT(tree), "tree_unselect_row",
+ xml_node_delete_button,
+ (GConnectFlags)0);
+ g_signal_connect_object(G_OBJECT(tree), "tree_unselect_row",
G_CALLBACK(on_tree_unselect_row_disable),
- button, GTK_OBJECT(button));
- gtk_widget_set_sensitive(GTK_WIDGET(button), FALSE);
+ xml_node_delete_button,
+ (GConnectFlags)0);
+ gtk_widget_set_sensitive(GTK_WIDGET(xml_node_delete_button), FALSE);
- gtk_toolbar_append_space(GTK_TOOLBAR(toolbar));
+ GtkToolItem *separator2 = gtk_separator_tool_item_new ();
+ gtk_separator_tool_item_set_draw (GTK_SEPARATOR_TOOL_ITEM(separator2), FALSE);
+ gtk_toolbar_insert (GTK_TOOLBAR(toolbar), separator2, -1);
- button = gtk_toolbar_append_item( GTK_TOOLBAR(toolbar), "<",
- _("Unindent node"), NULL,
- gtk_arrow_new(GTK_ARROW_LEFT, GTK_SHADOW_IN),
- G_CALLBACK(cmd_unindent_node), NULL);
+ GtkToolItem *unindent_node_button = gtk_tool_button_new (
+ gtk_arrow_new (GTK_ARROW_LEFT, GTK_SHADOW_IN),
+ "<");
- gtk_signal_connect_while_alive(GTK_OBJECT(tree), "tree_select_row",
+ g_signal_connect (G_OBJECT(unindent_node_button),
+ "clicked",
+ G_CALLBACK(cmd_unindent_node),
+ NULL);
+
+ gtk_widget_set_tooltip_text (GTK_WIDGET(unindent_node_button),
+ _("Unindent node"));
+
+ gtk_toolbar_insert (GTK_TOOLBAR(toolbar), unindent_node_button, -1);
+
+ g_signal_connect_object(G_OBJECT(tree), "tree_select_row",
G_CALLBACK(on_tree_select_row_enable_if_has_grandparent),
- button, GTK_OBJECT(button));
+ unindent_node_button,
+ (GConnectFlags)0);
- gtk_signal_connect_while_alive(GTK_OBJECT(tree), "tree_unselect_row",
+ g_signal_connect_object(G_OBJECT(tree), "tree_unselect_row",
G_CALLBACK(on_tree_unselect_row_disable),
- button, GTK_OBJECT(button));
+ unindent_node_button,
+ (GConnectFlags)0);
+
+ gtk_widget_set_sensitive(GTK_WIDGET(unindent_node_button), FALSE);
- gtk_widget_set_sensitive(GTK_WIDGET(button), FALSE);
+ GtkToolItem *indent_node_button = gtk_tool_button_new (
+ gtk_arrow_new (GTK_ARROW_RIGHT, GTK_SHADOW_IN),
+ ">");
- button = gtk_toolbar_append_item(GTK_TOOLBAR(toolbar), ">",
- _("Indent node"), NULL,
- gtk_arrow_new(GTK_ARROW_RIGHT, GTK_SHADOW_IN),
- G_CALLBACK(cmd_indent_node), NULL);
- gtk_signal_connect_while_alive(GTK_OBJECT(tree), "tree_select_row",
+ g_signal_connect (G_OBJECT(indent_node_button),
+ "clicked",
+ G_CALLBACK(cmd_indent_node),
+ NULL);
+
+ gtk_widget_set_tooltip_text (GTK_WIDGET(indent_node_button),
+ _("Indent node"));
+
+ gtk_toolbar_insert (GTK_TOOLBAR(toolbar), indent_node_button, -1);
+
+ g_signal_connect_object(G_OBJECT(tree), "tree_select_row",
G_CALLBACK(on_tree_select_row_enable_if_indentable),
- button, GTK_OBJECT(button));
- gtk_signal_connect_while_alive(GTK_OBJECT(tree), "tree_unselect_row",
+ indent_node_button,
+ (GConnectFlags)0);
+ g_signal_connect_object(G_OBJECT(tree), "tree_unselect_row",
(GCallback) on_tree_unselect_row_disable,
- button, GTK_OBJECT(button));
- gtk_widget_set_sensitive(GTK_WIDGET(button), FALSE);
-
- button = gtk_toolbar_append_item(GTK_TOOLBAR(toolbar), "^",
- _("Raise node"), NULL,
- gtk_arrow_new(GTK_ARROW_UP, GTK_SHADOW_IN),
- G_CALLBACK(cmd_raise_node), NULL);
- gtk_signal_connect_while_alive(GTK_OBJECT(tree), "tree_select_row",
+ indent_node_button,
+ (GConnectFlags)0);
+ gtk_widget_set_sensitive(GTK_WIDGET(indent_node_button), FALSE);
+
+ GtkToolItem *raise_node_button = gtk_tool_button_new (
+ gtk_arrow_new (GTK_ARROW_UP, GTK_SHADOW_IN),
+ "^");
+
+ g_signal_connect (G_OBJECT(raise_node_button),
+ "clicked",
+ G_CALLBACK(cmd_raise_node),
+ NULL);
+
+ gtk_widget_set_tooltip_text (GTK_WIDGET (raise_node_button),
+ _("Raise node"));
+
+ gtk_toolbar_insert (GTK_TOOLBAR(toolbar), raise_node_button, -1);
+
+ g_signal_connect_object(G_OBJECT(tree), "tree_select_row",
G_CALLBACK(on_tree_select_row_enable_if_not_first_child),
- button, GTK_OBJECT(button));
- gtk_signal_connect_while_alive(GTK_OBJECT(tree), "tree_unselect_row",
+ raise_node_button,
+ (GConnectFlags)0);
+ g_signal_connect_object(G_OBJECT(tree), "tree_unselect_row",
G_CALLBACK(on_tree_unselect_row_disable),
- button, GTK_OBJECT(button));
- gtk_widget_set_sensitive(GTK_WIDGET(button), FALSE);
-
- button = gtk_toolbar_append_item(GTK_TOOLBAR(toolbar), "v",
- _("Lower node"), NULL,
- gtk_arrow_new(GTK_ARROW_DOWN, GTK_SHADOW_IN),
- G_CALLBACK(cmd_lower_node), NULL);
- gtk_signal_connect_while_alive(GTK_OBJECT(tree), "tree_select_row",
+ raise_node_button,
+ (GConnectFlags)0);
+ gtk_widget_set_sensitive(GTK_WIDGET(raise_node_button), FALSE);
+
+ GtkToolItem *lower_node_button = gtk_tool_button_new (
+ gtk_arrow_new (GTK_ARROW_DOWN, GTK_SHADOW_IN),
+ "v");
+
+ g_signal_connect (G_OBJECT(lower_node_button),
+ "clicked",
+ G_CALLBACK(cmd_lower_node),
+ NULL);
+
+ gtk_widget_set_tooltip_text (GTK_WIDGET (lower_node_button),
+ _("Lower node"));
+
+ gtk_toolbar_insert (GTK_TOOLBAR(toolbar), lower_node_button, -1);
+
+ g_signal_connect_object(G_OBJECT(tree), "tree_select_row",
G_CALLBACK(on_tree_select_row_enable_if_not_last_child),
- button, GTK_OBJECT(button));
- gtk_signal_connect_while_alive(GTK_OBJECT(tree), "tree_unselect_row",
+ lower_node_button,
+ (GConnectFlags)0);
+ g_signal_connect_object(G_OBJECT(tree), "tree_unselect_row",
G_CALLBACK(on_tree_unselect_row_disable),
- button, GTK_OBJECT(button));
- gtk_widget_set_sensitive(GTK_WIDGET(button), FALSE);
+ lower_node_button,
+ (GConnectFlags)0);
+ gtk_widget_set_sensitive(GTK_WIDGET(lower_node_button), FALSE);
gtk_box_pack_start(GTK_BOX(box), toolbar, FALSE, TRUE, 0);
@@ -424,7 +503,7 @@ void sp_xml_tree_dialog()
gtk_scrolled_window_set_policy( GTK_SCROLLED_WINDOW(sw),
GTK_POLICY_AUTOMATIC,
GTK_POLICY_AUTOMATIC );
- gtk_box_pack_start(GTK_BOX(box), sw, TRUE, TRUE, 0);
+ gtk_box_pack_start(GTK_BOX(box), sw, TRUE, TRUE, 0);
gtk_container_add(GTK_CONTAINER(sw), GTK_WIDGET(tree));
@@ -451,25 +530,37 @@ void sp_xml_tree_dialog()
gtk_toolbar_set_style(GTK_TOOLBAR(toolbar), GTK_TOOLBAR_ICONS);
gtk_container_set_border_width(GTK_CONTAINER(toolbar), 0);
- button = gtk_toolbar_append_item(GTK_TOOLBAR(toolbar),
- NULL, _("Delete attribute"), NULL,
- sp_icon_new( Inkscape::ICON_SIZE_LARGE_TOOLBAR,
- INKSCAPE_ICON_XML_ATTRIBUTE_DELETE ),
- (GCallback) cmd_delete_attr, NULL);
+ GtkToolItem* xml_attribute_delete_button = gtk_tool_button_new (
+ sp_icon_new (Inkscape::ICON_SIZE_LARGE_TOOLBAR,
+ INKSCAPE_ICON ("xml-attribute-delete")),
+ NULL);
+
+ g_signal_connect (G_OBJECT(xml_attribute_delete_button),
+ "clicked",
+ G_CALLBACK(cmd_delete_attr),
+ NULL);
+
+ gtk_widget_set_tooltip_text (GTK_WIDGET(xml_attribute_delete_button),
+ _("Delete attribute"));
- gtk_signal_connect_while_alive(GTK_OBJECT(attributes), "select_row",
- (GCallback) on_attr_select_row_enable, button,
- GTK_OBJECT(button));
+ gtk_toolbar_insert (GTK_TOOLBAR(toolbar), xml_attribute_delete_button, -1);
- gtk_signal_connect_while_alive(GTK_OBJECT(attributes), "unselect_row",
- (GCallback) on_attr_unselect_row_disable, button,
- GTK_OBJECT(button));
+ g_signal_connect_object(G_OBJECT(attributes), "select_row",
+ (GCallback) on_attr_select_row_enable,
+ xml_attribute_delete_button,
+ (GConnectFlags)0);
- gtk_signal_connect_while_alive(GTK_OBJECT(tree), "tree_unselect_row",
- (GCallback) on_tree_unselect_row_disable, button,
- GTK_OBJECT(button));
+ g_signal_connect_object(G_OBJECT(attributes), "unselect_row",
+ (GCallback) on_attr_unselect_row_disable,
+ xml_attribute_delete_button,
+ (GConnectFlags)0);
- gtk_widget_set_sensitive(GTK_WIDGET(button), FALSE);
+ g_signal_connect_object(G_OBJECT(tree), "tree_unselect_row",
+ (GCallback) on_tree_unselect_row_disable,
+ xml_attribute_delete_button,
+ (GConnectFlags)0);
+
+ gtk_widget_set_sensitive(GTK_WIDGET(xml_attribute_delete_button), FALSE);
gtk_box_pack_start( GTK_BOX(attr_container),
GTK_WIDGET(toolbar), FALSE, TRUE, 0 );
@@ -495,19 +586,19 @@ void sp_xml_tree_dialog()
FALSE, TRUE, 0);
attr_name = GTK_EDITABLE(gtk_entry_new());
- gtk_tooltips_set_tip( tooltips, GTK_WIDGET(attr_name),
+ gtk_widget_set_tooltip_text( GTK_WIDGET(attr_name),
// TRANSLATORS: "Attribute" is a noun here
- _("Attribute name"), NULL );
+ _("Attribute name") );
- gtk_signal_connect( GTK_OBJECT(attributes), "select_row",
+ g_signal_connect( G_OBJECT(attributes), "select_row",
(GCallback) on_attr_select_row_set_name_content,
attr_name);
- gtk_signal_connect( GTK_OBJECT(attributes), "unselect_row",
+ g_signal_connect( G_OBJECT(attributes), "unselect_row",
(GCallback) on_attr_unselect_row_clear_text,
attr_name);
- gtk_signal_connect( GTK_OBJECT(tree), "tree_unselect_row",
+ g_signal_connect( G_OBJECT(tree), "tree_unselect_row",
(GCallback) on_tree_unselect_row_clear_text,
attr_name);
@@ -515,16 +606,16 @@ void sp_xml_tree_dialog()
TRUE, TRUE, 0);
set_attr = gtk_button_new();
- gtk_tooltips_set_tip( tooltips, GTK_WIDGET(set_attr),
+ gtk_widget_set_tooltip_text( GTK_WIDGET(set_attr),
// TRANSLATORS: "Set" is a verb here
- _("Set attribute"), NULL );
+ _("Set attribute") );
// TRANSLATORS: "Set" is a verb here
GtkWidget *set_label = gtk_label_new(_("Set"));
gtk_container_add(GTK_CONTAINER(set_attr), set_label);
- gtk_signal_connect( GTK_OBJECT(set_attr), "clicked",
+ g_signal_connect( G_OBJECT(set_attr), "clicked",
(GCallback) cmd_set_attr, NULL);
- gtk_signal_connect( GTK_OBJECT(attr_name), "changed",
+ g_signal_connect( G_OBJECT(attr_name), "changed",
(GCallback) on_editable_changed_enable_if_valid_xml_name,
set_attr );
gtk_widget_set_sensitive(GTK_WIDGET(set_attr), FALSE);
@@ -540,16 +631,16 @@ void sp_xml_tree_dialog()
attr_value =(GtkTextView *) gtk_text_view_new();
gtk_text_view_set_wrap_mode((GtkTextView *) attr_value, GTK_WRAP_CHAR);
- gtk_tooltips_set_tip( tooltips, GTK_WIDGET(attr_value),
+ gtk_widget_set_tooltip_text( GTK_WIDGET(attr_value),
// TRANSLATORS: "Attribute" is a noun here
- _("Attribute value"), NULL );
- gtk_signal_connect( GTK_OBJECT(attributes), "select_row",
+ _("Attribute value") );
+ g_signal_connect( G_OBJECT(attributes), "select_row",
(GCallback) on_attr_select_row_set_value_content,
attr_value );
- gtk_signal_connect( GTK_OBJECT(attributes), "unselect_row",
+ g_signal_connect( G_OBJECT(attributes), "unselect_row",
(GCallback) on_attr_unselect_row_clear_text,
attr_value );
- gtk_signal_connect( GTK_OBJECT(tree), "tree_unselect_row",
+ g_signal_connect( G_OBJECT(tree), "tree_unselect_row",
(GCallback) on_tree_unselect_row_clear_text,
attr_value );
gtk_text_view_set_editable(attr_value, TRUE);
@@ -577,23 +668,27 @@ void sp_xml_tree_dialog()
gtk_widget_show_all(GTK_WIDGET(dlg));
- gtk_signal_connect_while_alive(GTK_OBJECT(tree), "tree_select_row",
+ g_signal_connect_object(G_OBJECT(tree), "tree_select_row",
(GCallback) on_tree_select_row_show_if_element,
- attr_container, GTK_OBJECT(attr_container));
+ attr_container,
+ (GConnectFlags)0);
- gtk_signal_connect_while_alive(GTK_OBJECT(tree), "tree_unselect_row",
+ g_signal_connect_object(G_OBJECT(tree), "tree_unselect_row",
(GCallback) on_tree_unselect_row_hide,
- attr_container, GTK_OBJECT(attr_container));
+ attr_container,
+ (GConnectFlags)0);
gtk_widget_hide(attr_container);
- gtk_signal_connect_while_alive(GTK_OBJECT(tree), "tree_select_row",
+ g_signal_connect_object(G_OBJECT(tree), "tree_select_row",
(GCallback) on_tree_select_row_show_if_text,
- text_container, GTK_OBJECT(text_container));
+ text_container,
+ (GConnectFlags)0);
- gtk_signal_connect_while_alive(GTK_OBJECT(tree), "tree_unselect_row",
+ g_signal_connect_object(G_OBJECT(tree), "tree_unselect_row",
(GCallback) on_tree_unselect_row_hide,
- text_container, GTK_OBJECT(text_container));
+ text_container,
+ (GConnectFlags)0);
gtk_widget_hide(text_container);
@@ -895,8 +990,6 @@ void after_tree_move(GtkCTree */*tree*/,
static void on_destroy(GtkObject */*object*/, gpointer /*data*/)
{
set_tree_desktop(NULL);
- gtk_object_destroy(GTK_OBJECT(tooltips));
- tooltips = NULL;
sp_signal_disconnect_by_data(INKSCAPE, dlg);
wd.win = dlg = NULL;
wd.stop = 0;
@@ -1323,12 +1416,12 @@ void cmd_new_element_node(GtkObject */*object*/, gpointer /*data*/)
window = sp_window_new(NULL, TRUE);
gtk_container_set_border_width(GTK_CONTAINER(window), 4);
gtk_window_set_title(GTK_WINDOW(window), _("New element node..."));
- gtk_window_set_policy(GTK_WINDOW(window), FALSE, FALSE, TRUE);
+ gtk_window_set_resizable(GTK_WINDOW(window), FALSE);
gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);
gtk_window_set_transient_for(GTK_WINDOW(window), GTK_WINDOW(dlg));
gtk_window_set_modal(GTK_WINDOW(window), TRUE);
- gtk_signal_connect(GTK_OBJECT(window), "destroy", gtk_main_quit, NULL);
- gtk_signal_connect(GTK_OBJECT(window), "key-press-event", G_CALLBACK(quit_on_esc), window);
+ g_signal_connect(G_OBJECT(window), "destroy", gtk_main_quit, NULL);
+ g_signal_connect(G_OBJECT(window), "key-press-event", G_CALLBACK(quit_on_esc), window);
vbox = gtk_vbox_new(FALSE, 4);
gtk_container_add(GTK_CONTAINER(window), vbox);
@@ -1345,25 +1438,24 @@ void cmd_new_element_node(GtkObject */*object*/, gpointer /*data*/)
gtk_box_pack_start(GTK_BOX(vbox), bbox, FALSE, TRUE, 0);
cancel = gtk_button_new_with_label(_("Cancel"));
- GTK_WIDGET_SET_FLAGS( GTK_WIDGET(cancel),
- GTK_CAN_DEFAULT );
- gtk_signal_connect_object( GTK_OBJECT(cancel), "clicked",
+ gtk_widget_set_can_default( GTK_WIDGET(cancel), TRUE );
+ g_signal_connect_swapped( G_OBJECT(cancel), "clicked",
G_CALLBACK(gtk_widget_destroy),
- GTK_OBJECT(window) );
+ G_OBJECT(window) );
gtk_container_add(GTK_CONTAINER(bbox), cancel);
create = gtk_button_new_with_label(_("Create"));
gtk_widget_set_sensitive(GTK_WIDGET(create), FALSE);
- gtk_signal_connect( GTK_OBJECT(entry), "changed",
+ g_signal_connect( G_OBJECT(entry), "changed",
G_CALLBACK(on_editable_changed_enable_if_valid_xml_name),
create );
- gtk_signal_connect( GTK_OBJECT(create), "clicked",
+ g_signal_connect( G_OBJECT(create), "clicked",
G_CALLBACK(on_clicked_get_editable_text), &name );
- gtk_signal_connect_object( GTK_OBJECT(create), "clicked",
+ g_signal_connect_swapped( G_OBJECT(create), "clicked",
G_CALLBACK(gtk_widget_destroy),
- GTK_OBJECT(window) );
- GTK_WIDGET_SET_FLAGS( GTK_WIDGET(create),
- GTK_CAN_DEFAULT | GTK_RECEIVES_DEFAULT );
+ G_OBJECT(window) );
+ gtk_widget_set_can_default( GTK_WIDGET(create), TRUE );
+ gtk_widget_set_receives_default( GTK_WIDGET(create), TRUE );
gtk_container_add(GTK_CONTAINER(bbox), create);
gtk_widget_show_all(GTK_WIDGET(window));