summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2016-04-27 01:07:53 +0200
committerRobin Gareus <robin@gareus.org>2016-04-27 01:07:53 +0200
commit49e5494907a8536442dbf808416096734bec453c (patch)
treea480f0f0d05ad187a7787692819ae2b866593db3 /libs
parent54e01f4e48739590e25ea8448a5a80a1b95e8cec (diff)
also hide persistent tooltips
debatable, since most of them are not "help/tool info" but rather "current value display". Then again tooltip is tooltip and can be annoying or not wanted.
Diffstat (limited to 'libs')
-rw-r--r--libs/gtkmm2ext/gtkmm2ext/persistent_tooltip.h3
-rw-r--r--libs/gtkmm2ext/persistent_tooltip.cc4
-rw-r--r--libs/gtkmm2ext/utils.cc3
3 files changed, 9 insertions, 1 deletions
diff --git a/libs/gtkmm2ext/gtkmm2ext/persistent_tooltip.h b/libs/gtkmm2ext/gtkmm2ext/persistent_tooltip.h
index 9883fd2020..3b0fe48184 100644
--- a/libs/gtkmm2ext/gtkmm2ext/persistent_tooltip.h
+++ b/libs/gtkmm2ext/gtkmm2ext/persistent_tooltip.h
@@ -40,8 +40,11 @@ class LIBGTKMM2EXT_API PersistentTooltip : public sigc::trackable
void set_center_alignment (bool align_to_center);
virtual bool dragging () const;
+ static void set_tooltips_enabled (bool en) { _tooltips_enabled = en; }
+ static bool tooltips_enabled () { return _tooltips_enabled; }
private:
+ static bool _tooltips_enabled;
bool timeout ();
void show ();
void hide ();
diff --git a/libs/gtkmm2ext/persistent_tooltip.cc b/libs/gtkmm2ext/persistent_tooltip.cc
index c7cb3f4df2..7ee1c3ba6f 100644
--- a/libs/gtkmm2ext/persistent_tooltip.cc
+++ b/libs/gtkmm2ext/persistent_tooltip.cc
@@ -29,6 +29,8 @@ using namespace std;
using namespace Gtk;
using namespace Gtkmm2ext;
+bool PersistentTooltip::_tooltips_enabled = true;
+
/** @param target The widget to provide the tooltip for */
PersistentTooltip::PersistentTooltip (Gtk::Widget* target, bool draggable, int margin_y)
: _target (target)
@@ -115,7 +117,7 @@ PersistentTooltip::hide ()
void
PersistentTooltip::show ()
{
- if (_tip.empty()) {
+ if (_tip.empty() || !_tooltips_enabled) {
return;
}
diff --git a/libs/gtkmm2ext/utils.cc b/libs/gtkmm2ext/utils.cc
index 2b0eb86a9c..7590ed2d78 100644
--- a/libs/gtkmm2ext/utils.cc
+++ b/libs/gtkmm2ext/utils.cc
@@ -33,6 +33,7 @@
#include <gtkmm/tooltip.h>
#include "gtkmm2ext/utils.h"
+#include "gtkmm2ext/persistent_tooltip.h"
#include "i18n.h"
@@ -836,12 +837,14 @@ void
Gtkmm2ext::enable_tooltips ()
{
gtk_rc_parse_string ("gtk-enable-tooltips = 1");
+ PersistentTooltip::set_tooltips_enabled (true);
}
void
Gtkmm2ext::disable_tooltips ()
{
gtk_rc_parse_string ("gtk-enable-tooltips = 0");
+ PersistentTooltip::set_tooltips_enabled (false);
}
bool