void
Editor::show_window ()
{
- if (! is_visible ()) {
+ if (!is_visible ()) {
show_all ();
- /* re-hide editor list if necessary */
+ /* re-hide stuff if necessary */
editor_list_button_toggled ();
-
- /* re-hide summary widget if necessary */
parameter_changed ("show-summary");
-
parameter_changed ("show-edit-group-tabs");
+ parameter_changed ("show-zoom-tools");
/* now reset all audio_time_axis heights, because widgets might need
to be re-hidden
if (Config->get_keep_tearoffs()) {
_mouse_mode_tearoff->set_visible (true);
_tools_tearoff->set_visible (true);
- _zoom_tearoff->set_visible (true);
+ if (Config->get_show_zoom_tools ()) {
+ _zoom_tearoff->set_visible (true);
+ }
}
}
_mouse_mode_tearoff->set_visible (true);
_tools_tearoff->set_visible (true);
- _zoom_tearoff->set_visible (true);
+ if (Config->get_show_zoom_tools ()) {
+ _zoom_tearoff->set_visible (true);
+ }
post_maximal_editor_width = this->get_width();
post_maximal_editor_height = this->get_height();
#include <gio/gio.h>
#include <gtk/gtkiconfactory.h>
+#include "gtkmm2ext/tearoff.h"
+
#include "ardour/ardour.h"
#include "ardour/profile.h"
#include "ardour/session.h"
}
} else if (p == "timecode-offset" || p == "timecode-offset-negative") {
update_just_timecode ();
+ } else if (p == "show-zoom-tools") {
+ _zoom_tearoff->set_visible (Config->get_show_zoom_tools(), true);
}
}
sigc::mem_fun (*_rc_config, &RCConfiguration::set_show_waveforms_while_recording)
));
+ add_option (_("Editor"),
+ new BoolOption (
+ "show-zoom-tools",
+ _("Show zoom toolbar"),
+ sigc::mem_fun (*_rc_config, &RCConfiguration::get_show_zoom_tools),
+ sigc::mem_fun (*_rc_config, &RCConfiguration::set_show_zoom_tools)
+ ));
+
/* AUDIO */
add_option (_("Audio"), new OptionEditorHeading (_("Buffering")));
CONFIG_VARIABLE (bool, denormal_protection, "denormal-protection", false)
CONFIG_VARIABLE (DenormalModel, denormal_model, "denormal-model", DenormalNone)
+/* visibility of toolbar components */
+
+CONFIG_VARIABLE (bool, show_zoom_tools, "show-zoom-tools", true)
TearOff (Gtk::Widget& contents, bool allow_resize = false);
virtual ~TearOff ();
- void set_visible (bool yn);
+ void set_visible (bool yn, bool force = false);
void set_can_be_torn_off (bool);
bool can_be_torn_off () const { return _can_be_torn_off; }
}
void
-TearOff::set_visible (bool yn)
+TearOff::set_visible (bool yn, bool force)
{
/* don't change visibility if torn off */
return;
}
- if (_visible != yn) {
+ if (_visible != yn || force) {
_visible = yn;
if (yn) {
show_all();