diff options
| author | Denis Declara <declara91@gmail.com> | 2012-05-05 13:32:42 +0000 |
|---|---|---|
| committer | Denis Declara <declara91@gmail.com> | 2012-05-05 13:32:42 +0000 |
| commit | aeb9c1bde66de096910757abb17dedb94ad74207 (patch) | |
| tree | c0adf97685b0fa8af1553b14d20601f280492762 /src/ui/widget | |
| parent | Fixed some math, so that the objects now line up correctly (diff) | |
| parent | Adding checks to prevent null pointer dereferences (diff) | |
| download | inkscape-aeb9c1bde66de096910757abb17dedb94ad74207.tar.gz inkscape-aeb9c1bde66de096910757abb17dedb94ad74207.zip | |
Trunk merge
(bzr r11073.1.29)
Diffstat (limited to 'src/ui/widget')
| -rw-r--r-- | src/ui/widget/imagetoggler.h | 1 | ||||
| -rw-r--r-- | src/ui/widget/licensor.cpp | 1 | ||||
| -rw-r--r-- | src/ui/widget/object-composite-settings.cpp | 17 | ||||
| -rw-r--r-- | src/ui/widget/object-composite-settings.h | 4 | ||||
| -rw-r--r-- | src/ui/widget/page-sizer.h | 1 | ||||
| -rw-r--r-- | src/ui/widget/panel.cpp | 3 | ||||
| -rw-r--r-- | src/ui/widget/point.cpp | 4 | ||||
| -rw-r--r-- | src/ui/widget/point.h | 4 | ||||
| -rw-r--r-- | src/ui/widget/preferences-widget.h | 2 | ||||
| -rw-r--r-- | src/ui/widget/random.cpp | 4 | ||||
| -rw-r--r-- | src/ui/widget/random.h | 4 | ||||
| -rw-r--r-- | src/ui/widget/registered-widget.cpp | 1 | ||||
| -rw-r--r-- | src/ui/widget/scalar.cpp | 8 | ||||
| -rw-r--r-- | src/ui/widget/scalar.h | 4 | ||||
| -rw-r--r-- | src/ui/widget/selected-style.cpp | 13 | ||||
| -rw-r--r-- | src/ui/widget/selected-style.h | 6 | ||||
| -rw-r--r-- | src/ui/widget/spin-slider.cpp | 50 | ||||
| -rw-r--r-- | src/ui/widget/spin-slider.h | 10 | ||||
| -rw-r--r-- | src/ui/widget/spinbutton.cpp | 4 | ||||
| -rw-r--r-- | src/ui/widget/spinbutton.h | 4 | ||||
| -rw-r--r-- | src/ui/widget/tolerance-slider.cpp | 4 | ||||
| -rw-r--r-- | src/ui/widget/zoom-status.cpp | 12 | ||||
| -rw-r--r-- | src/ui/widget/zoom-status.h | 8 |
23 files changed, 165 insertions, 4 deletions
diff --git a/src/ui/widget/imagetoggler.h b/src/ui/widget/imagetoggler.h index 54446230e..6389ce8af 100644 --- a/src/ui/widget/imagetoggler.h +++ b/src/ui/widget/imagetoggler.h @@ -10,6 +10,7 @@ * Released under GNU GPL, read the file 'COPYING' for more information */ +#include <glibmm/property.h> #include <gtkmm/cellrendererpixbuf.h> #include <gtkmm/widget.h> diff --git a/src/ui/widget/licensor.cpp b/src/ui/widget/licensor.cpp index 4a4a67bf3..d31d4b759 100644 --- a/src/ui/widget/licensor.cpp +++ b/src/ui/widget/licensor.cpp @@ -26,6 +26,7 @@ #include "inkscape.h" #include "document-undo.h" #include "verbs.h" +#include <gtkmm/radiobutton.h> namespace Inkscape { diff --git a/src/ui/widget/object-composite-settings.cpp b/src/ui/widget/object-composite-settings.cpp index fd9d71d6a..eb4790990 100644 --- a/src/ui/widget/object-composite-settings.cpp +++ b/src/ui/widget/object-composite-settings.cpp @@ -63,7 +63,11 @@ ObjectCompositeSettings::ObjectCompositeSettings(unsigned int verb_code, char co _opacity_tag(Glib::ustring(history_prefix) + ":opacity"), _opacity_vbox(false, 0), _opacity_label(_("Opacity:")), +#if WITH_GTKMM_3_0 + _opacity_adjustment(Gtk::Adjustment::create(100.0, 0.0, 100.0, 1.0, 1.0, 0.0)), +#else _opacity_adjustment(100.0, 0.0, 100.0, 1.0, 1.0, 0.0), +#endif _opacity_hscale(_opacity_adjustment), _opacity_spin_button(_opacity_adjustment, 0.01, 1), _fe_cb(flags), @@ -93,8 +97,13 @@ ObjectCompositeSettings::ObjectCompositeSettings(unsigned int verb_code, char co _opacity_hbox.pack_start(_opacity_hscale, true, true, 0); _opacity_hbox.pack_start(_opacity_spin_button, false, false, 0); _opacity_hscale.set_draw_value(false); +#if WITH_GTKMM_3_0 + _opacity_adjustment->signal_value_changed().connect(sigc::mem_fun(*this, &ObjectCompositeSettings::_opacityValueChanged)); + _opacity_label.set_mnemonic_widget(_opacity_hscale); +#else _opacity_adjustment.signal_value_changed().connect(sigc::mem_fun(*this, &ObjectCompositeSettings::_opacityValueChanged)); _opacity_label.set_mnemonic_widget(_opacity_hscale); +#endif /* SizeGroup keeps the blur and opacity labels aligned in Fill & Stroke dlg */ GtkSizeGroup *labels = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); @@ -216,7 +225,11 @@ ObjectCompositeSettings::_opacityValueChanged() SPCSSAttr *css = sp_repr_css_attr_new (); Inkscape::CSSOStringStream os; +#if WITH_GTKMM_3_0 + os << CLAMP (_opacity_adjustment->get_value() / 100, 0.0, 1.0); +#else os << CLAMP (_opacity_adjustment.get_value() / 100, 0.0, 1.0); +#endif sp_repr_css_set_property (css, "opacity", os.str().c_str()); _subject->setCSS(css); @@ -259,7 +272,11 @@ ObjectCompositeSettings::_subjectChanged() { case QUERY_STYLE_MULTIPLE_AVERAGED: // TODO: treat this slightly differently case QUERY_STYLE_MULTIPLE_SAME: _opacity_hbox.set_sensitive(true); +#if WITH_GTKMM_3_0 + _opacity_adjustment->set_value(100 * SP_SCALE24_TO_FLOAT(query->opacity.value)); +#else _opacity_adjustment.set_value(100 * SP_SCALE24_TO_FLOAT(query->opacity.value)); +#endif break; } diff --git a/src/ui/widget/object-composite-settings.h b/src/ui/widget/object-composite-settings.h index d05839a03..9f9b336eb 100644 --- a/src/ui/widget/object-composite-settings.h +++ b/src/ui/widget/object-composite-settings.h @@ -47,7 +47,11 @@ private: Gtk::VBox _opacity_vbox; Gtk::HBox _opacity_hbox; Gtk::Label _opacity_label; +#if WITH_GTKMM_3_0 + Glib::RefPtr<Gtk::Adjustment> _opacity_adjustment; +#else Gtk::Adjustment _opacity_adjustment; +#endif Gtk::HScale _opacity_hscale; Inkscape::UI::Widget::SpinButton _opacity_spin_button; diff --git a/src/ui/widget/page-sizer.h b/src/ui/widget/page-sizer.h index e52303254..17fd7b1ea 100644 --- a/src/ui/widget/page-sizer.h +++ b/src/ui/widget/page-sizer.h @@ -22,6 +22,7 @@ #include <gtkmm/liststore.h> #include <gtkmm/scrolledwindow.h> #include <gtkmm/table.h> +#include <gtkmm/radiobutton.h> namespace Inkscape { namespace XML { diff --git a/src/ui/widget/panel.cpp b/src/ui/widget/panel.cpp index 45c4e5f07..a1ae6a36d 100644 --- a/src/ui/widget/panel.cpp +++ b/src/ui/widget/panel.cpp @@ -20,6 +20,9 @@ #include <gtkmm/dialog.h> // for Gtk::RESPONSE_* #include <gtkmm/menu.h> #include <gtkmm/stock.h> +#include <gtkmm/radiobutton.h> +#include <gtkmm/radiomenuitem.h> +#include <gtkmm/separatormenuitem.h> #include <gtk/gtk.h> diff --git a/src/ui/widget/point.cpp b/src/ui/widget/point.cpp index 385b60122..6aa6196bb 100644 --- a/src/ui/widget/point.cpp +++ b/src/ui/widget/point.cpp @@ -53,7 +53,11 @@ Point::Point(Glib::ustring const &label, Glib::ustring const &tooltip, } Point::Point(Glib::ustring const &label, Glib::ustring const &tooltip, +#if WITH_GTKMM_3_0 + Glib::RefPtr<Gtk::Adjustment> &adjust, +#else Gtk::Adjustment &adjust, +#endif unsigned digits, Glib::ustring const &suffix, Glib::ustring const &icon, diff --git a/src/ui/widget/point.h b/src/ui/widget/point.h index 1d91549d6..15f1a80fb 100644 --- a/src/ui/widget/point.h +++ b/src/ui/widget/point.h @@ -82,7 +82,11 @@ public: */ Point( Glib::ustring const &label, Glib::ustring const &tooltip, +#if WITH_GTKMM_3_0 + Glib::RefPtr<Gtk::Adjustment> &adjust, +#else Gtk::Adjustment &adjust, +#endif unsigned digits = 0, Glib::ustring const &suffix = "", Glib::ustring const &icon = "", diff --git a/src/ui/widget/preferences-widget.h b/src/ui/widget/preferences-widget.h index aad880ec7..874e0958a 100644 --- a/src/ui/widget/preferences-widget.h +++ b/src/ui/widget/preferences-widget.h @@ -21,6 +21,8 @@ #include "ui/widget/spinbutton.h" #include <stddef.h> #include <sigc++/sigc++.h> +#include <gtkmm/checkbutton.h> +#include <gtkmm/radiobutton.h> #include <gtkmm/comboboxtext.h> #include <gtkmm/drawingarea.h> #include <gtkmm/scale.h> diff --git a/src/ui/widget/random.cpp b/src/ui/widget/random.cpp index e8c84a780..0a646b6fb 100644 --- a/src/ui/widget/random.cpp +++ b/src/ui/widget/random.cpp @@ -47,7 +47,11 @@ Random::Random(Glib::ustring const &label, Glib::ustring const &tooltip, } Random::Random(Glib::ustring const &label, Glib::ustring const &tooltip, +#if WITH_GTKMM_3_0 + Glib::RefPtr<Gtk::Adjustment> &adjust, +#else Gtk::Adjustment &adjust, +#endif unsigned digits, Glib::ustring const &suffix, Glib::ustring const &icon, diff --git a/src/ui/widget/random.h b/src/ui/widget/random.h index cb8c223dc..dc2b457c2 100644 --- a/src/ui/widget/random.h +++ b/src/ui/widget/random.h @@ -75,7 +75,11 @@ public: */ Random(Glib::ustring const &label, Glib::ustring const &tooltip, +#if WITH_GTKMM_3_0 + Glib::RefPtr<Gtk::Adjustment> &adjust, +#else Gtk::Adjustment &adjust, +#endif unsigned digits = 0, Glib::ustring const &suffix = "", Glib::ustring const &icon = "", diff --git a/src/ui/widget/registered-widget.cpp b/src/ui/widget/registered-widget.cpp index 747de4681..ea2bac867 100644 --- a/src/ui/widget/registered-widget.cpp +++ b/src/ui/widget/registered-widget.cpp @@ -18,6 +18,7 @@ #endif #include "registered-widget.h" +#include <gtkmm/radiobutton.h> #include "ui/widget/color-picker.h" #include "ui/widget/registry.h" diff --git a/src/ui/widget/scalar.cpp b/src/ui/widget/scalar.cpp index cc051599c..9bbcc80f9 100644 --- a/src/ui/widget/scalar.cpp +++ b/src/ui/widget/scalar.cpp @@ -43,7 +43,11 @@ Scalar::Scalar(Glib::ustring const &label, Glib::ustring const &tooltip, } Scalar::Scalar(Glib::ustring const &label, Glib::ustring const &tooltip, +#if WITH_GTKMM_3_0 + Glib::RefPtr<Gtk::Adjustment> &adjust, +#else Gtk::Adjustment &adjust, +#endif unsigned digits, Glib::ustring const &suffix, Glib::ustring const &icon, @@ -137,7 +141,11 @@ void Scalar::update() void Scalar::addSlider() { +#if WITH_GTKMM_3_0 + Gtk::HScale *scale = new Gtk::HScale(static_cast<SpinButton*>(_widget)->get_adjustment()); +#else Gtk::HScale *scale = new Gtk::HScale( * static_cast<SpinButton*>(_widget)->get_adjustment() ); +#endif scale->set_draw_value(false); add (*manage (scale)); } diff --git a/src/ui/widget/scalar.h b/src/ui/widget/scalar.h index 19ccb7ae0..86d7aee28 100644 --- a/src/ui/widget/scalar.h +++ b/src/ui/widget/scalar.h @@ -73,7 +73,11 @@ public: */ Scalar(Glib::ustring const &label, Glib::ustring const &tooltip, +#if WITH_GTKMM_3_0 + Glib::RefPtr<Gtk::Adjustment> &adjust, +#else Gtk::Adjustment &adjust, +#endif unsigned digits = 0, Glib::ustring const &suffix = "", Glib::ustring const &icon = "", diff --git a/src/ui/widget/selected-style.cpp b/src/ui/widget/selected-style.cpp index d26005317..a60e3cc31 100644 --- a/src/ui/widget/selected-style.cpp +++ b/src/ui/widget/selected-style.cpp @@ -14,6 +14,7 @@ #endif #include "selected-style.h" +#include <gtkmm/separatormenuitem.h> #include "widgets/spw-utilities.h" #include "ui/widget/color-preview.h" @@ -129,7 +130,11 @@ SelectedStyle::SelectedStyle(bool /*layout*/) _stroke_flag_place (), _opacity_place (), +#if WITH_GTKMM_3_0 + _opacity_adjustment(Gtk::Adjustment::create(100, 0.0, 100, 1.0, 10.0)), +#else _opacity_adjustment (100, 0.0, 100, 1.0, 10.0), +#endif _opacity_sb (0.02, 0), _stroke (), @@ -1041,7 +1046,11 @@ SelectedStyle::update() if (_opacity_blocked) break; _opacity_blocked = true; _opacity_sb.set_sensitive(true); +#if WITH_GTKMM_3_0 + _opacity_adjustment->set_value(SP_SCALE24_TO_FLOAT(query->opacity.value) * 100); +#else _opacity_adjustment.set_value(SP_SCALE24_TO_FLOAT(query->opacity.value) * 100); +#endif _opacity_blocked = false; break; } @@ -1141,7 +1150,11 @@ void SelectedStyle::on_opacity_changed () { _opacity_blocked = true; SPCSSAttr *css = sp_repr_css_attr_new (); Inkscape::CSSOStringStream os; +#if WITH_GTKMM_3_0 + os << CLAMP ((_opacity_adjustment->get_value() / 100), 0.0, 1.0); +#else os << CLAMP ((_opacity_adjustment.get_value() / 100), 0.0, 1.0); +#endif sp_repr_css_set_property (css, "opacity", os.str().c_str()); // FIXME: workaround for GTK breakage: display interruptibility sometimes results in GTK // sending multiple value-changed events. As if when Inkscape interrupts redraw for main loop diff --git a/src/ui/widget/selected-style.h b/src/ui/widget/selected-style.h index 0fe516321..542983b53 100644 --- a/src/ui/widget/selected-style.h +++ b/src/ui/widget/selected-style.h @@ -19,6 +19,8 @@ #include <gtkmm/menu.h> #include <gtkmm/menuitem.h> #include <gtkmm/adjustment.h> +#include <gtkmm/radiobuttongroup.h> +#include <gtkmm/radiomenuitem.h> #include "ui/widget/spinbutton.h" #include <stddef.h> @@ -134,7 +136,11 @@ protected: Gtk::EventBox _stroke_flag_place; Gtk::EventBox _opacity_place; +#if WITH_GTKMM_3_0 + Glib::RefPtr<Gtk::Adjustment> _opacity_adjustment; +#else Gtk::Adjustment _opacity_adjustment; +#endif Inkscape::UI::Widget::SpinButton _opacity_sb; Gtk::Label _na[2]; diff --git a/src/ui/widget/spin-slider.cpp b/src/ui/widget/spin-slider.cpp index 3e85f845e..97ae18e20 100644 --- a/src/ui/widget/spin-slider.cpp +++ b/src/ui/widget/spin-slider.cpp @@ -10,6 +10,7 @@ #include <glib.h> #include <glibmm/i18n.h> +#include <glibmm/stringutils.h> #include "spin-slider.h" @@ -19,7 +20,12 @@ namespace Widget { SpinSlider::SpinSlider(double value, double lower, double upper, double step_inc, double climb_rate, int digits, const SPAttributeEnum a, const char* tip_text) - : AttrWidget(a, value), _adjustment(value, lower, upper, step_inc), + : AttrWidget(a, value), +#if WITH_GTKMM_3_0 + _adjustment(Gtk::Adjustment::create(value, lower, upper, step_inc)), +#else + _adjustment(value, lower, upper, step_inc), +#endif _scale(_adjustment), _spin(_adjustment, climb_rate, digits) { signal_value_changed().connect(signal_attr_changed().make_slot()); @@ -38,7 +44,11 @@ SpinSlider::SpinSlider(double value, double lower, double upper, double step_inc Glib::ustring SpinSlider::get_as_attribute() const { +#if WITH_GTKMM_3_0 + const double val = _adjustment->get_value(); +#else const double val = _adjustment.get_value(); +#endif if(_spin.get_digits() == 0) return Glib::Ascii::dtostr((int)val); @@ -49,32 +59,59 @@ Glib::ustring SpinSlider::get_as_attribute() const void SpinSlider::set_from_attribute(SPObject* o) { const gchar* val = attribute_value(o); +#if WITH_GTKMM_3_0 + if(val) + _adjustment->set_value(Glib::Ascii::strtod(val)); + else + _adjustment->set_value(get_default()->as_double()); +#else if(val) _adjustment.set_value(Glib::Ascii::strtod(val)); else _adjustment.set_value(get_default()->as_double()); +#endif } Glib::SignalProxy0<void> SpinSlider::signal_value_changed() { +#if WITH_GTKMM_3_0 + return _adjustment->signal_value_changed(); +#else return _adjustment.signal_value_changed(); +#endif } double SpinSlider::get_value() const { +#if WITH_GTKMM_3_0 + return _adjustment->get_value(); +#else return _adjustment.get_value(); +#endif } void SpinSlider::set_value(const double val) { +#if WITH_GTKMM_3_0 + _adjustment->set_value(val); +#else _adjustment.set_value(val); +#endif } +#if WITH_GTKMM_3_0 +const Glib::RefPtr<Gtk::Adjustment> SpinSlider::get_adjustment() const +#else const Gtk::Adjustment& SpinSlider::get_adjustment() const +#endif { return _adjustment; } +#if WITH_GTKMM_3_0 +Glib::RefPtr<Gtk::Adjustment> SpinSlider::get_adjustment() +#else Gtk::Adjustment& SpinSlider::get_adjustment() +#endif { return _adjustment; } @@ -112,9 +149,15 @@ DualSpinSlider::DualSpinSlider(double value, double lower, double upper, double { signal_value_changed().connect(signal_attr_changed().make_slot()); +#if WITH_GTKMM_3_0 + _s1.get_adjustment()->signal_value_changed().connect(_signal_value_changed.make_slot()); + _s2.get_adjustment()->signal_value_changed().connect(_signal_value_changed.make_slot()); + _s1.get_adjustment()->signal_value_changed().connect(sigc::mem_fun(*this, &DualSpinSlider::update_linked)); +#else _s1.get_adjustment().signal_value_changed().connect(_signal_value_changed.make_slot()); _s2.get_adjustment().signal_value_changed().connect(_signal_value_changed.make_slot()); _s1.get_adjustment().signal_value_changed().connect(sigc::mem_fun(*this, &DualSpinSlider::update_linked)); +#endif _link.signal_toggled().connect(sigc::mem_fun(*this, &DualSpinSlider::link_toggled)); Gtk::VBox* vb = Gtk::manage(new Gtk::VBox); @@ -151,8 +194,13 @@ void DualSpinSlider::set_from_attribute(SPObject* o) _link.set_active(toks[1] == 0); +#if WITH_GTKMM_3_0 + _s1.get_adjustment()->set_value(v1); + _s2.get_adjustment()->set_value(v2); +#else _s1.get_adjustment().set_value(v1); _s2.get_adjustment().set_value(v2); +#endif g_strfreev(toks); } diff --git a/src/ui/widget/spin-slider.h b/src/ui/widget/spin-slider.h index c21b819ca..f4a62107b 100644 --- a/src/ui/widget/spin-slider.h +++ b/src/ui/widget/spin-slider.h @@ -13,6 +13,7 @@ #include <gtkmm/adjustment.h> #include <gtkmm/box.h> #include <gtkmm/scale.h> +#include <gtkmm/togglebutton.h> #include "spinbutton.h" #include "attr-widget.h" @@ -37,8 +38,13 @@ public: double get_value() const; void set_value(const double); +#if WITH_GTKMM_3_0 + const Glib::RefPtr<Gtk::Adjustment> get_adjustment() const; + Glib::RefPtr<Gtk::Adjustment> get_adjustment(); +#else const Gtk::Adjustment& get_adjustment() const; Gtk::Adjustment& get_adjustment(); +#endif const Gtk::HScale& get_scale() const; Gtk::HScale& get_scale(); @@ -49,7 +55,11 @@ public: // Change the SpinSlider into a SpinButton with AttrWidget support) void remove_scale(); private: +#if WITH_GTKMM_3_0 + Glib::RefPtr<Gtk::Adjustment> _adjustment; +#else Gtk::Adjustment _adjustment; +#endif Gtk::HScale _scale; Inkscape::UI::Widget::SpinButton _spin; }; diff --git a/src/ui/widget/spinbutton.cpp b/src/ui/widget/spinbutton.cpp index 8ba8d413d..7d6479923 100644 --- a/src/ui/widget/spinbutton.cpp +++ b/src/ui/widget/spinbutton.cpp @@ -18,9 +18,7 @@ #include "event-context.h" #if !GTK_CHECK_VERSION(2,22,0) -#define GDK_KEY_Escape 0xff1b -#define GDK_KEY_z 0x07a -#define GDK_KEY_Z 0x05a +#include "compat-key-syms.h" #endif namespace Inkscape { diff --git a/src/ui/widget/spinbutton.h b/src/ui/widget/spinbutton.h index b7764d979..57c48369e 100644 --- a/src/ui/widget/spinbutton.h +++ b/src/ui/widget/spinbutton.h @@ -33,7 +33,11 @@ public: { connect_signals(); }; +#if GTK_CHECK_VERSION(3,0,0) + explicit SpinButton(Glib::RefPtr<Gtk::Adjustment>& adjustment, double climb_rate = 0.0, guint digits = 0) +#else explicit SpinButton(Gtk::Adjustment& adjustment, double climb_rate = 0.0, guint digits = 0) +#endif : Gtk::SpinButton(adjustment, climb_rate, digits), _unit_menu(NULL) { diff --git a/src/ui/widget/tolerance-slider.cpp b/src/ui/widget/tolerance-slider.cpp index be710f5e5..16558f0ee 100644 --- a/src/ui/widget/tolerance-slider.cpp +++ b/src/ui/widget/tolerance-slider.cpp @@ -113,7 +113,11 @@ void ToleranceSlider::init (const Glib::ustring& label1, const Glib::ustring& la void ToleranceSlider::setValue (double val) { +#if WITH_GTKMM_3_0 + Glib::RefPtr<Gtk::Adjustment> adj = _hscale->get_adjustment(); +#else Gtk::Adjustment *adj = _hscale->get_adjustment(); +#endif adj->set_lower (1.0); adj->set_upper (51.0); diff --git a/src/ui/widget/zoom-status.cpp b/src/ui/widget/zoom-status.cpp index 579449744..aea1beb17 100644 --- a/src/ui/widget/zoom-status.cpp +++ b/src/ui/widget/zoom-status.cpp @@ -23,7 +23,11 @@ namespace UI { namespace Widget { ZoomStatus::ZoomStatus() +#if WITH_GTKMM_3_0 + : _adj(Gtk::Adjustment::create(0.0, -1.0, 1.0, 0.1, 0.1)) +#else : _adj(0.0, -1.0, 1.0, 0.1, 0.1) +#endif { _dt = 0; _upd_f = false; @@ -43,11 +47,19 @@ ZoomStatus::init(SPDesktop *dt) { _dt = dt; property_digits() = 4; +#if WITH_GTKMM_3_0 + _adj->set_value(0.0); + _adj->set_lower(log(SP_DESKTOP_ZOOM_MIN)/log(2.0)); + _adj->set_upper(log(SP_DESKTOP_ZOOM_MAX)/log(2.0)); + _adj->set_step_increment(0.1); + _adj->set_page_increment(0.1); +#else _adj.set_value(0.0); _adj.set_lower(log(SP_DESKTOP_ZOOM_MIN)/log(2.0)); _adj.set_upper(log(SP_DESKTOP_ZOOM_MAX)/log(2.0)); _adj.set_step_increment(0.1); _adj.set_page_increment(0.1); +#endif set_adjustment(_adj); } diff --git a/src/ui/widget/zoom-status.h b/src/ui/widget/zoom-status.h index b9373589f..8f710300a 100644 --- a/src/ui/widget/zoom-status.h +++ b/src/ui/widget/zoom-status.h @@ -9,6 +9,10 @@ * Released under GNU GPL, read the file 'COPYING' for more information */ +#if HAVE_CONFIG_H +#include "config.h" +#endif + #include <gtkmm/adjustment.h> #include "ui/widget/spinbutton.h" @@ -32,7 +36,11 @@ public: void update(); protected: +#if WITH_GTKMM_3_0 + Glib::RefPtr<Gtk::Adjustment> _adj; +#else Gtk::Adjustment _adj; +#endif SPDesktop *_dt; bool _upd_f; |
