diff options
| author | Geoff Lankow <geoff@darktrojan.net> | 2018-04-13 03:46:26 +0000 |
|---|---|---|
| committer | Marc Jeanmougin <marcjeanmougin@free.fr> | 2018-05-09 12:23:00 +0000 |
| commit | cca246da00beb707a032340f2b2f36e8da093194 (patch) | |
| tree | bd51357f4c9afddb1e2071ced98e71ab4da7a2ce /src/display | |
| parent | Add buttons to align grids to page (diff) | |
| download | inkscape-cca246da00beb707a032340f2b2f36e8da093194.tar.gz inkscape-cca246da00beb707a032340f2b2f36e8da093194.zip | |
Create stateless alignment selector and use it instead
Diffstat (limited to 'src/display')
| -rw-r--r-- | src/display/canvas-grid.cpp | 13 | ||||
| -rw-r--r-- | src/display/canvas-grid.h | 6 |
2 files changed, 9 insertions, 10 deletions
diff --git a/src/display/canvas-grid.cpp b/src/display/canvas-grid.cpp index a81b06aae..6d646f39d 100644 --- a/src/display/canvas-grid.cpp +++ b/src/display/canvas-grid.cpp @@ -319,13 +319,12 @@ CanvasGrid::newWidget() vbox->pack_start(*_rcb_visible, true, true); vbox->pack_start(*_rcb_snap_visible_only, true, true); - alignment = Gtk::manage( new Inkscape::UI::Widget::AnchorSelector() ); - alignment->setAlignment(0, 2); - alignment->on_selectionChanged().connect(sigc::mem_fun(*this, &CanvasGrid::align_changed)); + _as_alignment = Gtk::manage( new Inkscape::UI::Widget::AlignmentSelector() ); + _as_alignment->on_alignmentClicked().connect(sigc::mem_fun(*this, &CanvasGrid::align_clicked)); Gtk::VBox *left = new Gtk::VBox(); left->pack_start(*Gtk::manage(new Gtk::Label(_("Align to page:"))), false, false); - left->pack_start(*alignment, false, false); + left->pack_start(*_as_alignment, false, false); Gtk::HBox *outer = new Gtk::HBox(); outer->pack_start(*left, true, true); @@ -386,11 +385,11 @@ void CanvasGrid::setOrigin(Geom::Point const &origin_px) repr->setAttribute("originy", os_y.str().c_str()); } -void CanvasGrid::align_changed() +void CanvasGrid::align_clicked(int align) { Geom::Point dimensions = doc->getDimensions(); - dimensions[Geom::X] *= alignment->getHorizontalAlignment() * 0.5; - dimensions[Geom::Y] *= 1 - (alignment->getVerticalAlignment() * 0.5); + dimensions[Geom::X] *= align % 3 * 0.5; + dimensions[Geom::Y] *= 1 - (align / 3 * 0.5); setOrigin(dimensions); } diff --git a/src/display/canvas-grid.h b/src/display/canvas-grid.h index b815aa305..c15cde656 100644 --- a/src/display/canvas-grid.h +++ b/src/display/canvas-grid.h @@ -9,7 +9,7 @@ #define INKSCAPE_CANVAS_GRID_H #include "sp-canvas-item.h" -#include "ui/widget/anchor-selector.h" +#include "ui/widget/alignment-selector.h" #include "ui/widget/registered-widget.h" #include "ui/widget/registry.h" #include "line-snapper.h" @@ -109,7 +109,7 @@ public: bool isVisible() const { return (isEnabled() &&visible); }; bool isEnabled() const; - void align_changed(); + void align_clicked(int align); protected: CanvasGrid(SPNamedView * nv, Inkscape::XML::Node * in_repr, SPDocument *in_doc, GridType type); @@ -132,7 +132,7 @@ protected: Inkscape::UI::Widget::RegisteredCheckButton *_rcb_enabled; Inkscape::UI::Widget::RegisteredCheckButton *_rcb_snap_visible_only; Inkscape::UI::Widget::RegisteredCheckButton *_rcb_visible; - Inkscape::UI::Widget::AnchorSelector *alignment; + Inkscape::UI::Widget::AlignmentSelector *_as_alignment; private: CanvasGrid(const CanvasGrid&); |
