diff options
| -rw-r--r-- | share/ui/style.css | 37 | ||||
| -rw-r--r-- | src/ui/dialog/selectorsdialog.cpp | 36 | ||||
| -rw-r--r-- | src/ui/dialog/selectorsdialog.h | 1 | ||||
| -rw-r--r-- | src/ui/dialog/styledialog.cpp | 2 | ||||
| -rw-r--r-- | src/ui/dialog/xml-tree.cpp | 70 | ||||
| -rw-r--r-- | src/ui/dialog/xml-tree.h | 1 |
6 files changed, 81 insertions, 66 deletions
diff --git a/share/ui/style.css b/share/ui/style.css index 5a0f98a9a..0a7faa0b6 100644 --- a/share/ui/style.css +++ b/share/ui/style.css @@ -316,30 +316,19 @@ #LPEDialogSelector .searchbar #LPESelectorEffectFavShowImage { color: @theme_fg_color; } - - #XMLDialogAndAttribuesDialog, - #SelectorsAndStyleDialog{ - min-height:200px; - min-width:250px; - } - #XMLAndAttributesDialog button, + #SelectorsAndStyleDialog button{ padding:4px; min-height:16px; margin:2px; - } - #XMLAndAttributesDialog .directiontoggler image, - #XMLAndAttributesDialog .stylesheettoggler image, - #SelectorsAndStyleDialog .directiontoggler image, - #SelectorsAndStyleDialog .stylesheettoggler image { - color: transparent; + padding:2px; } - #XMLAndAttributesDialog .directiontoggler, - #XMLAndAttributesDialog .stylesheettoggler, - #SelectorsAndStyleDialog .directiontoggler, - #SelectorsAndStyleDialog .stylesheettoggler { - margin:2px; + .inkswitch image{ + color: transparent; + } + .inkswitch { + margin:2px; } #XMLAndAttributesDialog .toggle, @@ -350,18 +339,6 @@ padding-top: 0; padding-bottom: 0; } - - #XMLFlow GtkFlowBoxChild, - #XMLFlow flowboxchild{ - border-right-width:1px; - border-top-width:1px; - border-bottom-width:1px; - margin-top:-1px; - border-style:solid; - border-color:@borders; - padding:7px; - } - SPRuler { background-color: @theme_bg_color; color: @theme_fg_color; diff --git a/src/ui/dialog/selectorsdialog.cpp b/src/ui/dialog/selectorsdialog.cpp index 0d46886b6..edf5d926f 100644 --- a/src/ui/dialog/selectorsdialog.cpp +++ b/src/ui/dialog/selectorsdialog.cpp @@ -354,7 +354,7 @@ void SelectorsDialog::_showWidgets() { // Pack widgets Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - bool dir = prefs->getBool("/dialogs/selectors/updown", true); + bool dir = prefs->getBool("/dialogs/selectors/vertical", true); _paned.set_orientation(dir ? Gtk::ORIENTATION_VERTICAL : Gtk::ORIENTATION_HORIZONTAL); _selectors_box.set_orientation(Gtk::ORIENTATION_VERTICAL); _selectors_box.set_name("SelectorsDialog"); @@ -362,34 +362,52 @@ void SelectorsDialog::_showWidgets() _scrolled_window_selectors.add(_treeView); _scrolled_window_selectors.set_policy(Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC); Gtk::Label *dirtogglerlabel = Gtk::manage(new Gtk::Label(_("Paned vertical"))); + _direction.property_active() = dir; _direction.property_active().signal_changed().connect(sigc::mem_fun(*this, &SelectorsDialog::_toggleDirection)); - _direction.get_style_context()->add_class("directiontoggler"); + _direction.get_style_context()->add_class("inkswitch"); _styleButton(_create, "list-add", "Add a new CSS Selector"); _create.signal_clicked().connect(sigc::mem_fun(*this, &SelectorsDialog::_addSelector)); _styleButton(_del, "list-remove", "Remove a CSS Selector"); _button_box.pack_start(_create, Gtk::PACK_SHRINK); _button_box.pack_start(_del, Gtk::PACK_SHRINK); - _button_box.pack_start(_direction, Gtk::PACK_SHRINK); - _button_box.pack_start(*dirtogglerlabel, Gtk::PACK_SHRINK); - _selectors_box.pack_end(_button_box, Gtk::PACK_SHRINK); + _button_box.pack_start(_direction, false, false, 0); + _button_box.pack_start(*dirtogglerlabel, false, false, 0); + _selectors_box.pack_end(_button_box, false, false, 0); _del.signal_clicked().connect(sigc::mem_fun(*this, &SelectorsDialog::_delSelector)); _del.hide(); _style_dialog = new StyleDialog; _selectors_box.set_name("StyleDialog"); _paned.pack1(*_style_dialog, Gtk::SHRINK); _paned.pack2(_selectors_box, true, true); - _paned.set_position(-1); _getContents()->pack_start(_paned, Gtk::PACK_EXPAND_WIDGET); + show_all(); + int widthpos = _paned.property_max_position() - _paned.property_min_position(); + int panedpos = prefs->getInt("/dialogs/selectors/panedpos", 130); + + _paned.set_position(panedpos); + _paned.property_wide_handle() = true; + _paned.signal_button_release_event().connect(sigc::mem_fun(*this, &SelectorsDialog::_resized), false); + set_size_request(320, 260); set_name("SelectorsAndStyleDialog"); } +bool SelectorsDialog::_resized(GdkEventButton *event) +{ + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + prefs->setInt("/dialogs/selectors/pannedpos", _paned.get_position()); + return false; +} + + void SelectorsDialog::_toggleDirection() { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - bool dir = !prefs->getBool("/dialogs/selectors/updown", true); - prefs->setBool("/dialogs/selectors/updown", dir); - _paned.set_position(-1); + bool dir = !prefs->getBool("/dialogs/selectors/vertical", true); + prefs->setBool("/dialogs/selectors/vertical", dir); _paned.set_orientation(dir ? Gtk::ORIENTATION_VERTICAL : Gtk::ORIENTATION_HORIZONTAL); + int widthpos = _paned.property_max_position() - _paned.property_min_position(); + _paned.set_position(widthpos/2); + } /** diff --git a/src/ui/dialog/selectorsdialog.h b/src/ui/dialog/selectorsdialog.h index 1f9a25bc2..109ffaf22 100644 --- a/src/ui/dialog/selectorsdialog.h +++ b/src/ui/dialog/selectorsdialog.h @@ -146,6 +146,7 @@ class SelectorsDialog : public Widget::Panel { void _removeClass(SPObject *obj, const Glib::ustring &className, bool all = false); void _toggleDirection(); void _showWidgets(); + bool _resized(GdkEventButton *event); void _selectObjects(int, int); // Variables diff --git a/src/ui/dialog/styledialog.cpp b/src/ui/dialog/styledialog.cpp index a1cde20df..d8711c784 100644 --- a/src/ui/dialog/styledialog.cpp +++ b/src/ui/dialog/styledialog.cpp @@ -211,7 +211,7 @@ StyleDialog::StyleDialog() _mainBox.set_orientation(Gtk::ORIENTATION_VERTICAL); _getContents()->pack_start(_mainBox, Gtk::PACK_EXPAND_WIDGET); - _all_css->get_style_context()->add_class("stylesheettoggler"); + _all_css->get_style_context()->add_class("inkswitch"); // Document & Desktop _desktop_changed_connection = _desktopTracker.connectDesktopChanged(sigc::mem_fun(*this, &StyleDialog::_handleDesktopChanged)); diff --git a/src/ui/dialog/xml-tree.cpp b/src/ui/dialog/xml-tree.cpp index bf3f237be..5b94cfbbd 100644 --- a/src/ui/dialog/xml-tree.cpp +++ b/src/ui/dialog/xml-tree.cpp @@ -74,19 +74,16 @@ XmlTree::XmlTree() : return; } Gtk::Box *contents = _getContents(); - contents->set_name("XMLAndAttributesDialog"); - contents->set_spacing(0); - contents->set_size_request(320, 260); - status.set_halign(Gtk::ALIGN_START); status.set_valign(Gtk::ALIGN_CENTER); status.set_size_request(1, -1); status.set_markup(""); status.set_line_wrap(true); status_box.pack_start( status, TRUE, TRUE, 0); - status_box.pack_start(_direction, Gtk::PACK_SHRINK); contents->pack_start(_paned, true, true, 0); - + contents->set_valign(Gtk::ALIGN_FILL); + contents->child_property_fill(_paned); + _paned.set_vexpand(true); _message_stack = std::make_shared<Inkscape::MessageStack>(); _message_context = std::unique_ptr<Inkscape::MessageContext>(new Inkscape::MessageContext(_message_stack)); _message_changed_connection = _message_stack->connectChanged( @@ -174,25 +171,29 @@ XmlTree::XmlTree() : node_box.pack_end(status_box, false, false, 2); Inkscape::Preferences *prefs = Inkscape::Preferences::get(); bool attrtoggler = prefs->getBool("/dialogs/xml/attrtoggler", true); + bool dir = prefs->getBool("/dialogs/xml/vertical", true); attributes = new AttrDialog; - _paned.set_orientation(attrtoggler ? Gtk::ORIENTATION_VERTICAL : Gtk::ORIENTATION_HORIZONTAL); + _paned.set_orientation(dir ? Gtk::ORIENTATION_VERTICAL : Gtk::ORIENTATION_HORIZONTAL); _paned.pack1(node_box, Gtk::SHRINK); /* attributes */ - Gtk::Box *actionsbox = Gtk::manage(new Gtk::Box(Gtk::ORIENTATION_VERTICAL)); + Gtk::Box *actionsbox = Gtk::manage(new Gtk::Box(Gtk::ORIENTATION_HORIZONTAL)); + actionsbox->set_valign(Gtk::ALIGN_START); Gtk::Label *attrtogglerlabel = Gtk::manage(new Gtk::Label(_("Show attributes"))); + attrtogglerlabel->set_margin_right(5); _attrswitch.property_active() = attrtoggler; + _attrswitch.get_style_context()->add_class("inkswitch"); _attrswitch.property_active().signal_changed().connect(sigc::mem_fun(*this, &XmlTree::_attrtoggler)); - _attrswitch.get_style_context()->add_class("directiontoggler"); _dirtogglerlabel = Gtk::manage(new Gtk::Label(_("Paned vertical"))); + _direction.property_active() = dir; _direction.property_active().signal_changed().connect(sigc::mem_fun(*this, &XmlTree::_toggleDirection)); - _direction.get_style_context()->add_class("directiontoggler"); + _direction.get_style_context()->add_class("inkswitch"); actionsbox->pack_start(_attrswitch, Gtk::PACK_SHRINK); actionsbox->pack_start(*attrtogglerlabel, Gtk::PACK_SHRINK); actionsbox->pack_start(_direction, Gtk::PACK_SHRINK); actionsbox->pack_start(*_dirtogglerlabel, Gtk::PACK_SHRINK); _paned.pack2(*attributes, true, true); - contents->pack_start(*actionsbox, true, true, 0); + contents->pack_start(*actionsbox, false, false, 0); /* Signal handlers */ GtkTreeSelection *selection = gtk_tree_view_get_selection (GTK_TREE_VIEW(tree)); g_signal_connect (G_OBJECT(selection), "changed", G_CALLBACK (on_tree_select_row), this); @@ -209,14 +210,21 @@ XmlTree::XmlTree() : desktopChangeConn = deskTrack.connectDesktopChanged( sigc::mem_fun(*this, &XmlTree::set_tree_desktop) ); deskTrack.connect(GTK_WIDGET(gobj())); - - /* initial show/hide */ + int widthpos = _paned.property_max_position() - _paned.property_min_position(); + int panedpos = prefs->getInt("/dialogs/xml/panedpos", 130); + + _paned.set_position(panedpos); + _paned.signal_button_release_event().connect(sigc::mem_fun(*this, &XmlTree::_resized), false); /* initial show/hide */ + set_name("XMLAndAttributesDialog"); + set_spacing(0); + set_size_request(320, 260); show_all(); - if (attrtoggler) { + _paned.property_wide_handle() = true; + if (!attrtoggler) { attributes->hide(); _dirtogglerlabel->hide(); _direction.hide(); - _paned.set_position(9999999); + _paned.set_position(widthpos); } tree_reset_context(); @@ -225,13 +233,21 @@ XmlTree::XmlTree() : } +bool XmlTree::_resized(GdkEventButton *event) +{ + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + prefs->setInt("/dialogs/xml/panedpos", _paned.get_position()); + return false; +} + void XmlTree::_toggleDirection() { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - bool dir = !prefs->getBool("/dialogs/xml/updown", true); - prefs->setBool("/dialogs/xml/updown", dir); - _paned.set_position(-1); + bool dir = !prefs->getBool("/dialogs/xml/vertical", true); + prefs->setBool("/dialogs/xml/vertical", dir); _paned.set_orientation(dir ? Gtk::ORIENTATION_VERTICAL : Gtk::ORIENTATION_HORIZONTAL); + int widthpos = _paned.property_max_position() - _paned.property_min_position(); + _paned.set_position(widthpos/2); } void XmlTree::_attrtoggler() @@ -239,16 +255,18 @@ void XmlTree::_attrtoggler() Inkscape::Preferences *prefs = Inkscape::Preferences::get(); bool attrtoggler = !prefs->getBool("/dialogs/xml/attrtoggler", true); prefs->setBool("/dialogs/xml/attrtoggler", attrtoggler); - if (prefs->getBool("/dialogs/xml/attrtoggler", true)) { - _attrbox->hide(); - _dirtogglerlabel->hide(); - _direction.hide(); - _paned.set_position(9999999); - } else { - _attrbox->show(); + if (attrtoggler) { + attributes->show(); _dirtogglerlabel->show(); _direction.show(); - _paned.set_position(-1); + int widthpos = _paned.property_max_position() - _paned.property_min_position(); + _paned.set_position(widthpos/2); + } else { + attributes->hide(); + _dirtogglerlabel->hide(); + _direction.hide(); + int widthpos = _paned.property_max_position() - _paned.property_min_position(); + _paned.set_position(widthpos); } } diff --git a/src/ui/dialog/xml-tree.h b/src/ui/dialog/xml-tree.h index 2750c7d15..f9c3c1c02 100644 --- a/src/ui/dialog/xml-tree.h +++ b/src/ui/dialog/xml-tree.h @@ -167,6 +167,7 @@ private: void present() override; void _attrtoggler(); void _toggleDirection(); + bool _resized(GdkEventButton *event); bool in_dt_coordsys(SPObject const &item); /** |
