summaryrefslogtreecommitdiffstats
path: root/src/ui/previewholder.cpp
diff options
context:
space:
mode:
authorsu_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
commit9158a2ccc3f6238e3f511d078b4d0ef942f30e9b (patch)
treecb4a833c8d624bfb1d36052c8088c4f835cfb031 /src/ui/previewholder.cpp
parentFix SVG formatting (EMF import): (diff)
parentTranslations. Latvian translation update by Jānis Eisaks. (diff)
downloadinkscape-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.cpp22
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()
{