13
0

use same tooltip timeout throughout Ardour -- part one

This commit is contained in:
Robin Gareus 2016-05-02 20:24:46 +02:00
parent 9b49b29061
commit 42e2cc0976
2 changed files with 5 additions and 1 deletions

View File

@ -45,6 +45,7 @@ class LIBGTKMM2EXT_API PersistentTooltip : public sigc::trackable
private:
static bool _tooltips_enabled;
static unsigned int _tooltip_timeout;
bool timeout ();
void show ();
void hide ();

View File

@ -19,6 +19,7 @@
#include <gtkmm/window.h>
#include <gtkmm/label.h>
#include <gtkmm/settings.h>
#include "gtkmm2ext/persistent_tooltip.h"
#include "pbd/stacktrace.h"
@ -30,6 +31,7 @@ using namespace Gtk;
using namespace Gtkmm2ext;
bool PersistentTooltip::_tooltips_enabled = true;
unsigned int PersistentTooltip::_tooltip_timeout = 500;
/** @param target The widget to provide the tooltip for */
PersistentTooltip::PersistentTooltip (Gtk::Widget* target, bool draggable, int margin_y)
@ -45,6 +47,7 @@ PersistentTooltip::PersistentTooltip (Gtk::Widget* target, bool draggable, int
target->signal_leave_notify_event().connect (sigc::mem_fun (*this, &PersistentTooltip::leave), false);
target->signal_button_press_event().connect (sigc::mem_fun (*this, &PersistentTooltip::press), false);
target->signal_button_release_event().connect (sigc::mem_fun (*this, &PersistentTooltip::release), false);
_tooltip_timeout = Gtk::Settings::get_default()->property_gtk_tooltip_timeout ();
}
PersistentTooltip::~PersistentTooltip ()
@ -58,7 +61,7 @@ PersistentTooltip::enter (GdkEventCrossing *)
if (_timeout.connected()) {
leave(NULL);
}
_timeout = Glib::signal_timeout().connect (sigc::mem_fun (*this, &PersistentTooltip::timeout), 500);
_timeout = Glib::signal_timeout().connect (sigc::mem_fun (*this, &PersistentTooltip::timeout), _tooltip_timeout);
return false;
}