2 #include <gtkmm2ext/idle_adjustment.h>
3 #include <gtkmm/main.h>
8 using namespace Gtkmm2ext;
10 IdleAdjustment::IdleAdjustment (Gtk::Adjustment& adj)
12 adj.signal_value_changed().connect (mem_fun (*this, &IdleAdjustment::underlying_adjustment_value_changed));
14 gettimeofday (&last_vc, 0);
17 IdleAdjustment::~IdleAdjustment ()
22 IdleAdjustment::underlying_adjustment_value_changed ()
24 gettimeofday (&last_vc, 0);
30 Glib::signal_timeout().connect(mem_fun(*this, &IdleAdjustment::timeout_handler), 250);
31 timeout_queued = true;
35 IdleAdjustment::timeout_handler ()
40 gettimeofday (&now, 0);
42 timersub (&now, &last_vc, &tdiff);
44 std::cerr << "timer elapsed, diff = " << tdiff.tv_sec << " + " << tdiff.tv_usec << std::endl;
46 if (tdiff.tv_sec > 0 || tdiff.tv_usec > 250000) {
47 std::cerr << "send signal\n";
49 timeout_queued = false;