diff options
| author | Jabier Arraiza <jabier.arraiza@marker.es> | 2019-06-22 10:38:08 +0000 |
|---|---|---|
| committer | Jabier Arraiza <jabier.arraiza@marker.es> | 2019-08-02 21:26:28 +0000 |
| commit | f618042e75b267e7fb405c649f735bc18f64ef37 (patch) | |
| tree | 9035477ae9c52ef4b2f2937291b649309da5367d /src | |
| parent | addpopover to textmenu (diff) | |
| download | inkscape-f618042e75b267e7fb405c649f735bc18f64ef37.tar.gz inkscape-f618042e75b267e7fb405c649f735bc18f64ef37.zip | |
moving hamburger to only line height part
Diffstat (limited to 'src')
| -rw-r--r-- | src/ui/toolbar/text-toolbar.cpp | 47 | ||||
| -rw-r--r-- | src/ui/widget/spinbutton.cpp | 24 | ||||
| -rw-r--r-- | src/ui/widget/spinbutton.h | 4 |
3 files changed, 53 insertions, 22 deletions
diff --git a/src/ui/toolbar/text-toolbar.cpp b/src/ui/toolbar/text-toolbar.cpp index c7a9d4efd..8b0698c06 100644 --- a/src/ui/toolbar/text-toolbar.cpp +++ b/src/ui/toolbar/text-toolbar.cpp @@ -429,6 +429,10 @@ TextToolbar::TextToolbar(SPDesktop *desktop) store ); // Tree store _line_spacing_item->use_icon(true); _line_spacing_item->use_label(true); + std::cout << prefs->getEntry("/tools/text/default_line_spacing_mode").isValid() << "jjjjjjj" << std::endl; + if (!prefs->getEntry("/tools/text/default_line_spacing_mode").isValid()) { + prefs->setInt("/tools/text/default_line_spacing_mode",0); + } gint mode = prefs->getInt("/tools/text/line_spacing_mode", 0); _line_spacing_item->set_active( mode ); @@ -436,7 +440,19 @@ TextToolbar::TextToolbar(SPDesktop *desktop) _line_spacing_item->signal_changed().connect(sigc::mem_fun(*this, &TextToolbar::line_spacing_mode_changed)); } - + /* Hamburger Menu */ + { + _hamburger_menu_launcher = Gtk::manage(new Gtk::ToggleToolButton()); + _hamburger_menu_launcher->set_label(_("More options")); + _hamburger_menu_launcher->set_tooltip_text(_("Toggle show more options")); + _hamburger_menu_launcher->set_icon_name(INKSCAPE_ICON("hamburger-menu")); + _hamburger_menu_launcher->set_name("hamburger-menu-launcher"); + _hamburger_menu->set_relative_to(*_hamburger_menu_launcher); + _hamburger_menu->set_name("hamburger-menu"); + _hamburger_menu->set_default_widget(*_hamburger_menu_launcher); + _hamburger_menu_launcher->signal_toggled().connect(sigc::bind(sigc::mem_fun(*this, &TextToolbar::poptoggle), _hamburger_menu_launcher)); + add(*_hamburger_menu_launcher); + } /* Alignment */ { @@ -492,7 +508,7 @@ TextToolbar::TextToolbar(SPDesktop *desktop) _superscript_item->set_tooltip_text(_("Toggle superscript")); _superscript_item->set_icon_name(INKSCAPE_ICON("text_superscript")); _superscript_item->set_name("text-superscript"); - _hamburger_menu_content->pack_start(*_superscript_item, 10, false, false); + add(*_superscript_item); _superscript_item->signal_toggled().connect(sigc::bind(sigc::mem_fun(*this, &TextToolbar::script_changed), _superscript_item)); _superscript_item->set_active(prefs->getBool("/tools/text/super", false)); } @@ -504,7 +520,7 @@ TextToolbar::TextToolbar(SPDesktop *desktop) _subscript_item->set_tooltip_text(_("Toggle subscript")); _subscript_item->set_icon_name(INKSCAPE_ICON("text_subscript")); _subscript_item->set_name("text-subscript"); - _hamburger_menu_content->pack_start(*_subscript_item, 10, false, false); + add(*_subscript_item); _subscript_item->signal_toggled().connect(sigc::bind(sigc::mem_fun(*this, &TextToolbar::script_changed), _subscript_item)); _subscript_item->set_active(prefs->getBool("/tools/text/sub", false)); } @@ -565,7 +581,7 @@ TextToolbar::TextToolbar(SPDesktop *desktop) _word_spacing_item->set_focus_widget(Glib::wrap(GTK_WIDGET(desktop->canvas))); _word_spacing_adj->signal_value_changed().connect(sigc::mem_fun(*this, &TextToolbar::wordspacing_value_changed)); - _hamburger_menu_content->pack_start(*_word_spacing_item, 10, false, false); + add(*_word_spacing_item); _word_spacing_item->set_sensitive(true); _word_spacing_item->set_icon(INKSCAPE_ICON("text_word_spacing")); } @@ -581,7 +597,7 @@ TextToolbar::TextToolbar(SPDesktop *desktop) _dx_item->set_tooltip_text(_("Horizontal kerning (px)")); _dx_item->set_focus_widget(Glib::wrap(GTK_WIDGET(desktop->canvas))); _dx_adj->signal_value_changed().connect(sigc::mem_fun(*this, &TextToolbar::dx_value_changed)); - _hamburger_menu_content->pack_start(*_dx_item, 10, false, false); + add(*_dx_item); _dx_item->set_sensitive(true); _dx_item->set_icon(INKSCAPE_ICON("text_horz_kern")); } @@ -599,7 +615,7 @@ TextToolbar::TextToolbar(SPDesktop *desktop) _dy_adj->signal_value_changed().connect(sigc::mem_fun(*this, &TextToolbar::dy_value_changed)); _dy_item->set_sensitive(true); _dy_item->set_icon(INKSCAPE_ICON("text_vert_kern")); - _hamburger_menu_content->pack_start(*_dy_item, 10, false, false); + add(*_dy_item); } @@ -615,7 +631,7 @@ TextToolbar::TextToolbar(SPDesktop *desktop) _rotation_adj->signal_value_changed().connect(sigc::mem_fun(*this, &TextToolbar::rotation_value_changed)); _rotation_item->set_sensitive(); _rotation_item->set_icon(INKSCAPE_ICON("text_rotation")); - _hamburger_menu_content->pack_start(*_rotation_item, 10, false, false); + add(*_rotation_item); } @@ -654,7 +670,7 @@ TextToolbar::TextToolbar(SPDesktop *desktop) _writing_mode_item->use_label( false ); gint mode = prefs->getInt("/tools/text/writing_mode", 0); _writing_mode_item->set_active( mode ); - _hamburger_menu_content->pack_start(*_writing_mode_item, 10, false, false); + add(*_writing_mode_item); _writing_mode_item->signal_changed().connect(sigc::mem_fun(*this, &TextToolbar::writing_mode_changed)); } @@ -695,7 +711,7 @@ TextToolbar::TextToolbar(SPDesktop *desktop) _orientation_item->use_label( false ); gint mode = prefs->getInt("/tools/text/text_orientation", 0); _orientation_item->set_active( mode ); - _hamburger_menu_content->pack_start(*_orientation_item,10, false, false); + add(*_orientation_item); _orientation_item->signal_changed().connect(sigc::mem_fun(*this, &TextToolbar::orientation_changed)); } @@ -734,19 +750,6 @@ TextToolbar::TextToolbar(SPDesktop *desktop) } add_separator(); - /* Hamburger Menu */ - { - _hamburger_menu_launcher = Gtk::manage(new Gtk::ToggleToolButton()); - _hamburger_menu_launcher->set_label(_("More options")); - _hamburger_menu_launcher->set_tooltip_text(_("Toggle show more options")); - _hamburger_menu_launcher->set_icon_name(INKSCAPE_ICON("hamburger-menu")); - _hamburger_menu_launcher->set_name("hamburger-menu-launcher"); - _hamburger_menu->set_relative_to(*_hamburger_menu_launcher); - _hamburger_menu->set_name("hamburger-menu"); - _hamburger_menu->set_default_widget(*_hamburger_menu_launcher); - _hamburger_menu_launcher->signal_toggled().connect(sigc::bind(sigc::mem_fun(*this, &TextToolbar::poptoggle), _hamburger_menu_launcher)); - add(*_hamburger_menu_launcher); - } // Text outer style (continued) _outer_style_item->set_active(prefs->getBool("/tools/text/outer_style", false)); diff --git a/src/ui/widget/spinbutton.cpp b/src/ui/widget/spinbutton.cpp index c633035cf..0cf29f1dd 100644 --- a/src/ui/widget/spinbutton.cpp +++ b/src/ui/widget/spinbutton.cpp @@ -13,6 +13,7 @@ #include "unit-tracker.h" #include "util/expression-evaluator.h" #include "ui/tools/tool-base.h" +#include <cmath> namespace Inkscape { namespace UI { @@ -26,7 +27,10 @@ SpinButton::connect_signals() { signal_key_press_event().connect(sigc::mem_fun(*this, &SpinButton::on_my_key_press_event)); gtk_widget_add_events(GTK_WIDGET(gobj()), GDK_SCROLL_MASK | GDK_SMOOTH_SCROLL_MASK); signal_scroll_event().connect(sigc::mem_fun(*this, &SpinButton::on_scroll_event)); + signal_value_changed().connect(sigc::mem_fun(*this, &SpinButton::on_value_changed)); set_focus_on_click(true); + prevdigits = get_digits(); + on_value_changed(); }; int SpinButton::on_input(double* newvalue) @@ -61,6 +65,26 @@ int SpinButton::on_input(double* newvalue) return true; } +void SpinButton::on_value_changed() { + double val = get_value(); + double absval = std::abs(val); + int count = get_digits(); + double intpart; + if (modf(absval, &intpart) == 0.0) { + set_digits(0); + count = 0; + } else { + set_digits(prevdigits); + count = prevdigits + 1; + } + if (val < 0) { + count += 1; + } + count += absval > 9 ? (int) log10 (absval) + 1 : 1; + count = std::min(std::max(count, 3), 7); + set_width_chars(count); +} + bool SpinButton::on_my_focus_in_event(GdkEventFocus* /*event*/) { _on_focus_in_value = get_value(); diff --git a/src/ui/widget/spinbutton.h b/src/ui/widget/spinbutton.h index 710b511b1..3e7e829f5 100644 --- a/src/ui/widget/spinbutton.h +++ b/src/ui/widget/spinbutton.h @@ -93,10 +93,14 @@ protected: */ bool on_my_key_press_event(GdkEventKey* event); + + void on_value_changed(); /** * Undo the editing, by resetting the value upon when the spinbutton got focus. */ void undo(); + + int prevdigits; }; } // namespace Widget |
