a bunch of stuff to make tab/window switching work better, and provide Alt-m to toggle between editor+mixer in a sane way
This commit is contained in:
@@ -52,8 +52,8 @@ class LIBGTKMM2EXT_API WindowProxy : public PBD::StatefulDestructible, public vi
|
||||
void present ();
|
||||
void maybe_show ();
|
||||
|
||||
bool visible() const { return _visible; }
|
||||
bool not_visible() const { return !_visible; }
|
||||
bool visible() const;
|
||||
bool fully_visible() const;
|
||||
const std::string& name() const { return _name; }
|
||||
const std::string& menu_name() const { return _menu_name; }
|
||||
|
||||
|
||||
@@ -188,11 +188,8 @@ Tabbable::change_visibility ()
|
||||
}
|
||||
|
||||
if (_window && (current_toplevel() == _window)) {
|
||||
if (_window->is_visible ()) {
|
||||
_window->hide ();
|
||||
} else {
|
||||
_window->present ();
|
||||
}
|
||||
/* Use WindowProxy method which will rotate then hide */
|
||||
toggle();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -233,6 +233,26 @@ WindowProxy::setup ()
|
||||
set_pos_and_size ();
|
||||
}
|
||||
|
||||
bool
|
||||
WindowProxy::visible() const
|
||||
{
|
||||
if (vistracker) {
|
||||
/* update with current state */
|
||||
_visible = vistracker->partially_visible();
|
||||
}
|
||||
return _visible;
|
||||
}
|
||||
|
||||
bool
|
||||
WindowProxy::fully_visible () const
|
||||
{
|
||||
if (!vistracker) {
|
||||
/* no vistracker .. no window .. cannot be fully visible */
|
||||
return false;
|
||||
}
|
||||
return vistracker->fully_visible();
|
||||
}
|
||||
|
||||
void
|
||||
WindowProxy::show ()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user