summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorNathan Lee <2431820-nathanal@users.noreply.gitlab.com>2019-03-05 03:41:37 +0000
committerNathan Lee <2431820-nathanal@users.noreply.gitlab.com>2019-03-09 01:01:30 +0000
commit73710afc40c37d70673ac0d89aad7a2636f2073b (patch)
tree8826d1f19ad0f4967cd0214e11155d553c0f5e47 /src
parentFix #122 reversing change from merge request \!303 (diff)
downloadinkscape-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.cpp28
-rw-r--r--src/display/canvas-grid.cpp71
-rw-r--r--src/display/canvas-grid.h6
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;
};