index 572f1ef7e974581b4b8f264caafa0a8c24108341..a2d5b50ed163f61a01b154b37437de56eba62fba 100644 (file)
* Lauris Kaplinski <lauris@kaplinski.com>
* Jon Phillips <jon@rejon.org>
* Ralf Stephan <ralf@ark.in-berlin.de> (Gtkmm)
+ * Diederik van Lierop <mail@diedenrezi.nl>
*
* Copyright (C) 2006-2008 Johan Engelen <johan@shouraizou.nl>
- * Copyright (C) 2000 - 2005 Authors
+ * Copyright (C) 2000 - 2008 Authors
*
* Released under GNU GPL. Read the file 'COPYING' for more information
*/
DocumentProperties::DocumentProperties()
: UI::Widget::Panel ("", "dialogs.documentoptions", SP_VERB_DIALOG_NAMEDVIEW),
- _page_page(1, 1), _page_guides(1, 1),
+ _page_page(1, 1, true, true), _page_guides(1, 1),
_page_snap(1, 1), _page_snap_dtls(1, 1),
//---------------------------------------------------------------
_rcb_canb(_("Show page _border"), _("If set, rectangular page border is shown"), "showborder", _wr, false),
_rcp_gui(_("Guide co_lor:"), _("Guideline color"), _("Color of guidelines"), "guidecolor", "guideopacity", _wr),
_rcp_hgui(_("_Highlight color:"), _("Highlighted guideline color"), _("Color of a guideline when it is under mouse"), "guidehicolor", "guidehiopacity", _wr),
//---------------------------------------------------------------
- _rcbsg(_("_Enable snapping"), _("Toggle snapping on or off"), "inkscape:snap-global", _wr),
+ _rcbs(_("_Enable snapping"), _("Toggle snapping on or off"), "inkscape:snap-global", _wr),
+ _rcbsi(_("_Enable snap indicator"), _("After snapping, a symbol is drawn at the point that has snapped"), "inkscape:snap-indicator", _wr),
_rcbsnbb(_("_Bounding box corners"), _("Only available in the selector tool: snap bounding box corners to guides, to grids, and to other bounding boxes (but not to nodes or paths)"),
"inkscape:snap-bbox", _wr),
_rcbsnn(_("_Nodes"), _("Snap nodes (e.g. path nodes, special points in shapes, gradient handles, text base points, transformation origins, etc.) to guides, to grids, to paths and to other nodes"),
_rcbsnon(_("Snap to n_odes"), _("Snap nodes and guides to object nodes"), "inkscape:object-nodes", _wr),
_rcbsnbbp(_("Snap to bounding bo_x edges"), _("Snap bounding box corners and guides to bounding box edges"), "inkscape:bbox-paths", _wr),
_rcbsnbbn(_("Snap to bounding box co_rners"), _("Snap bounding box corners to other bounding box corners"), "inkscape:bbox-nodes", _wr),
+ _rcbsnpb(_("Snap to page border"), _("Snap bounding box corners and nodes to the page border"), "inkscape:snap-page", _wr),
//---------------------------------------------------------------
//Applies to both nodes and guides, but not to bboxes, that's why its located here
_rcbic( _("Rotation _center"), _("Consider the rotation center of an object when snapping"), "inkscape:snap-center", _wr),
_rcbsigg(_("_Grid with guides"), _("Snap to grid-guide intersections"), "inkscape:snap-intersection-grid-guide", _wr),
- _rcbsils(_("_Line segments"), _("Snap to intersections of line segments ('snap to paths' must be enabled, see the previous tab)"),
- "inkscape:snap-intersection-line-segments", _wr),
+ _rcbsils(_("_Paths"), _("Snap to intersections of paths ('snap to paths' must be enabled, see the previous tab)"),
+ "inkscape:snap-intersection-paths", _wr),
//---------------------------------------------------------------
_grids_label_crea("", Gtk::ALIGN_LEFT),
//TRANSLATORS: In Grid|_New translate only the word _New. It ref to grid
_notebook.append_page(_page_snap, _("Snap"));
_notebook.append_page(_page_snap_dtls, _("Snap points"));
- _page_sizer.init();
build_page();
build_guides();
build_gridspage();
@@ -194,9 +196,15 @@ attach_all(Gtk::Table &table, Gtk::Widget *const arr[], unsigned const n, int st
}
else
{
- if (arr[i+1])
+ if (arr[i+1]) {
+ Gtk::AttachOptions yoptions = (Gtk::AttachOptions)0;
+ if (dynamic_cast<Inkscape::UI::Widget::PageSizer*>(arr[i+1])) {
+ // only the PageSizer in Document Properties|Page should be stretched vertically
+ yoptions = Gtk::FILL|Gtk::EXPAND;
+ }
table.attach(*arr[i+1], 1, 3, r, r+1,
- Gtk::FILL|Gtk::EXPAND, (Gtk::AttachOptions)0,0,0);
+ Gtk::FILL|Gtk::EXPAND, yoptions, 0,0);
+ }
else if (arr[i])
{
Gtk::Label& label = reinterpret_cast<Gtk::Label&>(*arr[i]);
label_bor->set_markup (_("<b>Border</b>"));
Gtk::Label *label_for = manage (new Gtk::Label);
label_for->set_markup (_("<b>Format</b>"));
+ _page_sizer.init();
Gtk::Widget *const widget_array[] =
{
{
_page_snap.show();
- _rsu_sno.init (_("Snap _distance"), _("Snap only when _closer than:"),
- _("Snapping distance, in screen pixels, for snapping to objects"),
+ _rsu_sno.init (_("Snap _distance"), _("Snap only when _closer than:"), _("Always snap"),
+ _("Snapping distance, in screen pixels, for snapping to objects"), _("Always snap to objects, regardless of their distance"),
_("If set, objects only snap to another object when it's within the range specified below"),
"objecttolerance", _wr);
//Options for snapping to grids
- _rsu_sn.init (_("Snap d_istance"), _("Snap only when c_loser than:"),
- _("Snapping distance, in screen pixels, for snapping to grid"),
+ _rsu_sn.init (_("Snap d_istance"), _("Snap only when c_loser than:"), _("Always snap"),
+ _("Snapping distance, in screen pixels, for snapping to grid"), _("Always snap to grids, regardless of the distance"),
_("If set, objects only snap to a grid line when it's within the range specified below"),
"gridtolerance", _wr);
//Options for snapping to guides
- _rsu_gusn.init (_("Snap dist_ance"), _("Snap only when close_r than:"),
- _("Snapping distance, in screen pixels, for snapping to guides"),
+ _rsu_gusn.init (_("Snap dist_ance"), _("Snap only when close_r than:"), _("Always snap"),
+ _("Snapping distance, in screen pixels, for snapping to guides"), _("Always snap to guides, regardless of the distance"),
_("If set, objects only snap to a guide when it's within the range specified below"),
"guidetolerance", _wr);
slaves.clear();
slaves.push_back(&_rcbsnn);
slaves.push_back(&_rcbsnbb);
+ slaves.push_back(&_rcbsi);
- _rcbsg.setSlaveWidgets(slaves);
+ _rcbs.setSlaveWidgets(slaves);
Gtk::Label *label_g = manage (new Gtk::Label);
label_g->set_markup (_("<b>Snapping</b>"));
Gtk::Widget *const array[] =
{
label_g, 0,
- 0, &_rcbsg,
+ 0, &_rcbs,
+ 0, &_rcbsi,
0, 0,
label_w, 0,
0, &_rcbsnn,
0, &_rcbsnon,
0, &_rcbsnbbp,
0, &_rcbsnbbn,
+ 0, &_rcbsnpb,
0, _rsu_sno._vbox,
0, 0,
label_gr, 0,
Gtk::Label *label_i= manage (new Gtk::Label);
label_i->set_markup (_("<b>Snapping to intersections of</b>"));
Gtk::Label *label_m = manage (new Gtk::Label);
- label_m->set_markup (_("<b>Snapping to special nodes</b>"));
+ label_m->set_markup (_("<b>Special points to consider</b>"));
Gtk::Widget *const array[] =
{
_rcbsng.setActive (nv->snap_manager.getSnapModeGuide());
_rcbic.setActive (nv->snap_manager.getIncludeItemCenter());
_rcbsigg.setActive (nv->snap_manager.getSnapIntersectionGG());
- _rcbsils.setActive (nv->snap_manager.getSnapIntersectionLS());
+ _rcbsils.setActive (nv->snap_manager.getSnapIntersectionCS());
_rcbsnop.setActive(nv->snap_manager.object.getSnapToItemPath());
_rcbsnon.setActive(nv->snap_manager.object.getSnapToItemNode());
_rcbsnbbp.setActive(nv->snap_manager.object.getSnapToBBoxPath());
_rcbsnbbn.setActive(nv->snap_manager.object.getSnapToBBoxNode());
+ _rcbsnpb.setActive(nv->snap_manager.object.getSnapToPageBorder());
_rsu_sno.setValue (nv->objecttolerance);
_rsu_sn.setValue (nv->gridtolerance);
_rsu_gusn.setValue (nv->guidetolerance);
- _rcbsg.setActive (nv->snap_manager.getSnapEnabledGlobally());
+ _rcbs.setActive (nv->snap_manager.getSnapEnabledGlobally());
+ _rcbsi.setActive (nv->snapindicator);
//-----------------------------------------------------------grids page