diff options
| author | su_v <suv-sf@users.sourceforge.net> | 2012-10-18 18:06:35 +0000 |
|---|---|---|
| committer | ~suv <suv-sf@users.sourceforge.net> | 2012-10-18 18:06:35 +0000 |
| commit | 9158a2ccc3f6238e3f511d078b4d0ef942f30e9b (patch) | |
| tree | cb4a833c8d624bfb1d36052c8088c4f835cfb031 /src/ui/previewholder.cpp | |
| parent | Fix SVG formatting (EMF import): (diff) | |
| parent | Translations. Latvian translation update by Jānis Eisaks. (diff) | |
| download | inkscape-9158a2ccc3f6238e3f511d078b4d0ef942f30e9b.tar.gz inkscape-9158a2ccc3f6238e3f511d078b4d0ef942f30e9b.zip | |
merge from trunk (r11808)
(bzr r11668.1.30)
Diffstat (limited to 'src/ui/previewholder.cpp')
| -rw-r--r-- | src/ui/previewholder.cpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/ui/previewholder.cpp b/src/ui/previewholder.cpp index 0dac18665..0b280ccb9 100644 --- a/src/ui/previewholder.cpp +++ b/src/ui/previewholder.cpp @@ -17,6 +17,7 @@ #include <gtkmm/scrolledwindow.h> #include <gtkmm/sizegroup.h> #include <gtkmm/scrollbar.h> +#include <gtkmm/adjustment.h> #define COLUMNS_FOR_SMALL 16 #define COLUMNS_FOR_LARGE 8 @@ -56,9 +57,30 @@ PreviewHolder::PreviewHolder() : PreviewHolder::~PreviewHolder() { + } +bool PreviewHolder::on_scroll_event(GdkEventScroll *event) +{ + // Scroll horizontally by page on mouse wheel +#if WITH_GTKMM_3_0 + Glib::RefPtr<Gtk::Adjustment> adj = dynamic_cast<Gtk::ScrolledWindow*>(_scroller)->get_hadjustment(); +#else + Gtk::Adjustment *adj = dynamic_cast<Gtk::ScrolledWindow*>(_scroller)->get_hadjustment(); +#endif + + if (!adj) { + return FALSE; + } + + int move = (event->direction == GDK_SCROLL_DOWN) ? adj->get_page_size() : -adj->get_page_size(); + + double value = std::min(adj->get_upper() - move, adj->get_value() + move ); + adj->set_value(value); + + return FALSE; +} void PreviewHolder::clear() { |
