=== modified file 'src/ui/dialog/grid-arrange-tab.cpp' --- src/ui/dialog/grid-arrange-tab.cpp 2014-05-11 14:04:42 +0000 +++ src/ui/dialog/grid-arrange-tab.cpp 2014-09-27 17:37:30 +0000 @@ -207,7 +207,6 @@ // Calculate individual Row and Column sizes if necessary - cnt=0; const GSList *sizes = sorted; for (; sizes != NULL; sizes = sizes->next) { @@ -308,6 +307,8 @@ } cnt=0; + + const bool ignoreBoxSize = SpaceManualRadioButton.get_active() && IgnoreBoxSizeCheckButton.get_active(); for (row_cnt=0; ((sorted != NULL) && (row_cntsetDouble("/dialogs/gridtiler/YPad", YPadding.getValue("px")); } +/** + * changed value in ignore box size checkbutton. + */ +void GridArrangeTab::on_ingore_box_checkbutton_changed() +{ + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + prefs->setBool("/dialogs/gridtiler/IgnoreBox", IgnoreBoxSizeCheckButton.get_active()); +} + /** * checked/unchecked autosize Rows button. @@ -509,6 +524,7 @@ XPadding.set_sensitive ( SpaceManualRadioButton.get_active()); YPadding.set_sensitive ( SpaceManualRadioButton.get_active()); + IgnoreBoxSizeCheckButton.set_sensitive ( SpaceManualRadioButton.get_active()); } /** @@ -754,6 +770,13 @@ XPadding.signal_value_changed().connect(sigc::mem_fun(*this, &GridArrangeTab::on_xpad_spinbutton_changed)); } + { + /*#### Ignore box size ####*/ + IgnoreBoxSizeCheckButton.set_label(_("_Ignore Box Size")); + IgnoreBoxSizeCheckButton.set_use_underline(true); + IgnoreBoxSizeCheckButton.signal_clicked().connect(sigc::mem_fun(*this, &GridArrangeTab::on_ingore_box_checkbutton_changed)); + } + PaddingTable->set_border_width(MARGIN); #if WITH_GTKMM_3_0 @@ -762,12 +785,14 @@ PaddingTable->attach(XPadding, 0, 0, 1, 1); PaddingTable->attach(PaddingUnitMenu, 1, 0, 1, 1); PaddingTable->attach(YPadding, 0, 1, 1, 1); + PaddingTable->attach(IgnoreBoxSizeCheckButton, 0, 1, 1, 1); #else PaddingTable->set_row_spacings(MARGIN); PaddingTable->set_col_spacings(MARGIN); PaddingTable->attach(XPadding, 0, 1, 0, 1, Gtk::SHRINK, Gtk::SHRINK); PaddingTable->attach(PaddingUnitMenu, 1, 2, 0, 1, Gtk::SHRINK, Gtk::SHRINK); PaddingTable->attach(YPadding, 0, 1, 1, 2, Gtk::SHRINK, Gtk::SHRINK); + PaddingTable->attach(IgnoreBoxSizeCheckButton, 0, 1, 2, 3, Gtk::SHRINK, Gtk::SHRINK); #endif TileBox.pack_start(*PaddingTable, false, false, MARGIN); @@ -784,6 +809,7 @@ SpaceByBBoxRadioButton.set_active(!ManualSpacing); XPadding.set_sensitive (ManualSpacing); YPadding.set_sensitive (ManualSpacing); + IgnoreBoxSizeCheckButton.set_sensitive(ManualSpacing); //## The OK button FIXME /*TileOkButton = addResponseButton(C_("Rows and columns dialog","_Arrange"), GTK_RESPONSE_APPLY); === modified file 'src/ui/dialog/grid-arrange-tab.h' --- src/ui/dialog/grid-arrange-tab.h 2014-03-27 01:33:44 +0000 +++ src/ui/dialog/grid-arrange-tab.h 2014-09-27 16:49:32 +0000 @@ -58,6 +58,7 @@ void on_ColSize_checkbutton_changed(); void on_rowSize_spinbutton_changed(); void on_colSize_spinbutton_changed(); + void on_ingore_box_checkbutton_changed(); void Spacing_button_changed(); void Align_changed(); @@ -121,6 +122,7 @@ Gtk::RadioButtonGroup SpacingGroup; Gtk::RadioButton SpaceByBBoxRadioButton; Gtk::RadioButton SpaceManualRadioButton; + Gtk::CheckButton IgnoreBoxSizeCheckButton; bool ManualSpacing; // Row height