diff options
| author | Nathan Lee <2431820-nathanal@users.noreply.gitlab.com> | 2019-03-05 03:41:37 +0000 |
|---|---|---|
| committer | Nathan Lee <2431820-nathanal@users.noreply.gitlab.com> | 2019-03-09 01:01:30 +0000 |
| commit | 73710afc40c37d70673ac0d89aad7a2636f2073b (patch) | |
| tree | 8826d1f19ad0f4967cd0214e11155d553c0f5e47 /src | |
| parent | Fix #122 reversing change from merge request \!303 (diff) | |
| download | inkscape-73710afc40c37d70673ac0d89aad7a2636f2073b.tar.gz inkscape-73710afc40c37d70673ac0d89aad7a2636f2073b.zip | |
Realign UI of Doc Properties > Grid
Fixes https://gitlab.com/inkscape/inbox/issues/187
Diffstat (limited to 'src')
| -rw-r--r-- | src/display/canvas-axonomgrid.cpp | 28 | ||||
| -rw-r--r-- | src/display/canvas-grid.cpp | 71 | ||||
| -rw-r--r-- | src/display/canvas-grid.h | 6 |
3 files changed, 53 insertions, 52 deletions
diff --git a/src/display/canvas-axonomgrid.cpp b/src/display/canvas-axonomgrid.cpp index 3d66c0a5a..dd03f13e8 100644 --- a/src/display/canvas-axonomgrid.cpp +++ b/src/display/canvas-axonomgrid.cpp @@ -261,10 +261,6 @@ CanvasAxonomGrid::onReprAttrChanged(Inkscape::XML::Node */*repr*/, gchar const * Gtk::Widget * CanvasAxonomGrid::newSpecificWidget() { - auto table = Gtk::manage(new Gtk::Grid()); - table->set_row_spacing(2); - table->set_column_spacing(2); - _wr.setUpdating (true); _rumg = Gtk::manage( new Inkscape::UI::Widget::RegisteredUnitMenu( @@ -329,18 +325,18 @@ CanvasAxonomGrid::newSpecificWidget() _rsu_ox->setProgrammatically = false; _rsu_oy->setProgrammatically = false; - Gtk::VBox *right = new Gtk::VBox(); - right->pack_start(*_rumg); - right->pack_start(*_rsu_ox); - right->pack_start(*_rsu_oy); - right->pack_start(*_rsu_sy); - right->pack_start(*_rsu_ax); - right->pack_start(*_rsu_az); - right->pack_start(*_rcp_gcol); - right->pack_start(*_rcp_gmcol); - right->pack_start(*_rsi); - - return right; + Gtk::VBox *column = new Gtk::VBox(); + column->pack_start(*_rumg, true, false, 2); + column->pack_start(*_rsu_ox, true, false, 2); + column->pack_start(*_rsu_oy, true, false, 2); + column->pack_start(*_rsu_sy, true, false, 2); + column->pack_start(*_rsu_ax, true, false, 2); + column->pack_start(*_rsu_az, true, false, 2); + column->pack_start(*_rcp_gcol, true, false, 2); + column->pack_start(*_rcp_gmcol, true, false, 2); + column->pack_start(*_rsi, true, false, 2); + + return column; } diff --git a/src/display/canvas-grid.cpp b/src/display/canvas-grid.cpp index 585ae5b82..73746cdb2 100644 --- a/src/display/canvas-grid.cpp +++ b/src/display/canvas-grid.cpp @@ -299,7 +299,7 @@ CanvasGrid::newWidget() str += getName(); str += "</b>"; namelabel->set_markup(str); - vbox->pack_start(*namelabel, true, true); + vbox->pack_start(*namelabel, false, false); _rcb_enabled = Gtk::manage( new Inkscape::UI::Widget::RegisteredCheckButton( _("_Enabled"), @@ -309,33 +309,46 @@ CanvasGrid::newWidget() _rcb_snap_visible_only = Gtk::manage( new Inkscape::UI::Widget::RegisteredCheckButton( _("Snap to visible _grid lines only"), _("When zoomed out, not all grid lines will be displayed. Only the visible ones will be snapped to"), - "snapvisiblegridlinesonly", _wr, true, repr, doc) ); + "snapvisiblegridlinesonly", _wr, false, repr, doc) ); _rcb_visible = Gtk::manage( new Inkscape::UI::Widget::RegisteredCheckButton( _("_Visible"), _("Determines whether the grid is displayed or not. Objects are still snapped to invisible grids."), - "visible", _wr, true, repr, doc) ); - - vbox->pack_start(*_rcb_enabled, true, true); - vbox->pack_start(*_rcb_visible, true, true); - vbox->pack_start(*_rcb_snap_visible_only, true, true); + "visible", _wr, false, repr, doc) ); _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(*_rcb_enabled, false, false); + left->pack_start(*_rcb_visible, false, false); + left->pack_start(*_rcb_snap_visible_only, false, false); + + if (getGridType() == GRID_RECTANGULAR) { + _rcb_dotted = Gtk::manage( new Inkscape::UI::Widget::RegisteredCheckButton( + _("_Show dots instead of lines"), _("If set, displays dots at gridpoints instead of gridlines"), + "dotted", _wr, false, repr, doc) ); + _rcb_dotted->setActive(render_dotted); + left->pack_start(*_rcb_dotted, false, false); + } + left->pack_start(*Gtk::manage(new Gtk::Label(_("Align to page:"))), false, false); left->pack_start(*_as_alignment, false, false); - Gtk::HBox *outer = new Gtk::HBox(); - outer->pack_start(*left, true, true); - outer->pack_start(*newSpecificWidget(), false, false); - vbox->pack_start(*outer, true, true); + auto right = newSpecificWidget(); + + Gtk::HBox *inner = new Gtk::HBox(); + inner->pack_start(*left, true, true, 2); + inner->pack_start(*right, false, false, 2); + vbox->pack_start(*inner, false, false); std::list<Gtk::Widget*> slaves; - slaves.push_back(_rcb_visible); - slaves.push_back(_rcb_snap_visible_only); - slaves.push_back(outer); + for (auto &item : left->get_children()) { + if (item != _rcb_enabled) { + slaves.push_back(item); + } + } + slaves.push_back(right); _rcb_enabled->setSlaveWidgets(slaves); // set widget values @@ -679,10 +692,6 @@ CanvasXYGrid::newSpecificWidget() _rsu_sy->setDigits(5); _rsu_sy->setIncrements(0.1, 1.0); - _rcb_dotted = Gtk::manage( new Inkscape::UI::Widget::RegisteredCheckButton( - _("_Show dots instead of lines"), _("If set, displays dots at gridpoints instead of gridlines"), - "dotted", _wr, false, repr, doc) ); - // set widget values _rumg->setUnit (gridunit->abbr); @@ -704,8 +713,6 @@ CanvasXYGrid::newSpecificWidget() _rcp_gmcol->setRgba32 (empcolor); _rsi->setValue (empspacing); - _rcb_dotted->setActive(render_dotted); - _wr.setUpdating (false); _rsu_ox->setProgrammatically = false; @@ -713,18 +720,17 @@ CanvasXYGrid::newSpecificWidget() _rsu_sx->setProgrammatically = false; _rsu_sy->setProgrammatically = false; - Gtk::VBox *right = new Gtk::VBox(); - right->pack_start(*_rumg); - right->pack_start(*_rsu_ox); - right->pack_start(*_rsu_oy); - right->pack_start(*_rsu_sx); - right->pack_start(*_rsu_sy); - right->pack_start(*_rcp_gcol); - right->pack_start(*_rcp_gmcol); - right->pack_start(*_rsi); - right->pack_start(*_rcb_dotted); - - return right; + Gtk::VBox *column = new Gtk::VBox(); + column->pack_start(*_rumg, true, false, 2); + column->pack_start(*_rsu_ox, true, false, 2); + column->pack_start(*_rsu_oy, true, false, 2); + column->pack_start(*_rsu_sx, true, false, 2); + column->pack_start(*_rsu_sy, true, false, 2); + column->pack_start(*_rcp_gcol, true, false, 2); + column->pack_start(*_rcp_gmcol, true, false, 2); + column->pack_start(*_rsi, true, false, 2); + + return column; } @@ -956,7 +962,6 @@ CanvasXYGrid::Render (SPCanvasBuf *buf) // Set dash pattern and color. if (render_dotted) { - // alpha needs to be larger than in the line case to maintain a similar // visual impact but setting it to the maximal value makes the dots // dominant in some cases. Solution, increase the alpha by a factor of diff --git a/src/display/canvas-grid.h b/src/display/canvas-grid.h index 3cd5a76b5..6fde5a6e3 100644 --- a/src/display/canvas-grid.h +++ b/src/display/canvas-grid.h @@ -95,6 +95,7 @@ public: void setOrigin(Geom::Point const &origin_px); /**< writes new origin (specified in px units) to SVG */ Geom::Point origin; /**< Origin of the grid */ + guint32 color; /**< Color for normal lines */ guint32 empcolor; /**< Color for emphasis lines */ gint empspacing; /**< Spacing between emphasis lines */ @@ -127,6 +128,7 @@ protected: Inkscape::UI::Widget::Registry _wr; bool visible; + bool render_dotted; GridType gridtype; @@ -137,6 +139,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::RegisteredCheckButton *_rcb_dotted; Inkscape::UI::Widget::AlignmentSelector *_as_alignment; private: @@ -173,8 +176,6 @@ private: void updateWidgets(); - bool render_dotted; - Inkscape::UI::Widget::RegisteredUnitMenu *_rumg; Inkscape::UI::Widget::RegisteredScalarUnit *_rsu_ox; Inkscape::UI::Widget::RegisteredScalarUnit *_rsu_oy; @@ -183,7 +184,6 @@ private: Inkscape::UI::Widget::RegisteredColorPicker *_rcp_gcol; Inkscape::UI::Widget::RegisteredColorPicker *_rcp_gmcol; Inkscape::UI::Widget::RegisteredSuffixedInteger *_rsi; - Inkscape::UI::Widget::RegisteredCheckButton *_rcb_dotted; }; |
