13
0

[Summary] Bug fix #44332 "Please fit the Pan values monitor to channel borders"

[Feature reviewed] AMishyn
[Reviewed] VKamyshniy

Fixed up by Paul Davis to fix logic mistakes and unnecessary complexity,
and indentation.

Conflicts:
	libs/gtkmm2ext/persistent_tooltip.cc
This commit is contained in:
Nikolay 2015-03-25 10:55:55 +02:00 committed by Paul Davis
parent 4465fb62f3
commit 7e097c5efc

View File

@ -21,6 +21,8 @@
#include <gtkmm/label.h> #include <gtkmm/label.h>
#include "gtkmm2ext/persistent_tooltip.h" #include "gtkmm2ext/persistent_tooltip.h"
#include "pbd/stacktrace.h"
#include "i18n.h" #include "i18n.h"
using namespace std; using namespace std;
@ -60,7 +62,7 @@ bool
PersistentTooltip::timeout () PersistentTooltip::timeout ()
{ {
show (); show ();
return false; return true;
} }
bool bool
@ -114,6 +116,7 @@ PersistentTooltip::show ()
if (_tip.empty()) { if (_tip.empty()) {
return; return;
} }
if (!_window) { if (!_window) {
_window = new Window (WINDOW_POPUP); _window = new Window (WINDOW_POPUP);
_window->set_name (X_("ContrastingPopup")); _window->set_name (X_("ContrastingPopup"));
@ -136,18 +139,22 @@ PersistentTooltip::show ()
set_tip (_tip); set_tip (_tip);
if (!_window->is_visible ()) { if (!_window->is_visible ()) {
int rx, ry, sw; int rx, ry;
sw= gdk_screen_width(); int sw = gdk_screen_width();
_target->get_window()->get_origin (rx, ry); _target->get_window()->get_origin (rx, ry);
_window->move (rx, ry + _target->get_height() + _margin_y);
_window->present ();
/* the window needs to be realized first /* the window needs to be realized first
* for _window->get_width() to be correct. * for _window->get_width() to be correct.
*/ */
_window->present ();
if (sw < rx + _window->get_width()) { if (sw < rx + _window->get_width()) {
rx = sw - _window->get_width(); rx = sw - _window->get_width();
_window->move (rx, ry + _target->get_height()); _window->move (rx, ry + _target->get_height());
} else {
_window->move (rx + (_target->get_width () - _window->get_width ()) / 2, ry + _target->get_height());
} }
} }
} }