force provision of "menu-name" for all WindowProxy objects, and thus Tabbables

Actions for hide/show/attach/detach tabbables use hard-coded names which are not
translated. Using Tabbable/WindowProxy::name() to lookup the action will fail,
since the name can be translated. This changes just removes the option to not
provide a menu-name when creating these objects, and uses the name menu-name
when looking up an action by name
This commit is contained in:
Paul Davis
2020-05-01 14:28:05 -06:00
parent 51795d2e11
commit b258ad792e
8 changed files with 27 additions and 41 deletions

View File

@@ -40,7 +40,6 @@ class VisibilityTracker;
class LIBGTKMM2EXT_API WindowProxy : public PBD::StatefulDestructible, public virtual sigc::trackable
{
public:
WindowProxy (const std::string& name);
WindowProxy (const std::string& name, const std::string& menu_name);
WindowProxy (const std::string& name, const std::string& menu_name, const XMLNode&);
virtual ~WindowProxy();

View File

@@ -31,19 +31,6 @@ using namespace Gtk;
using namespace Gtkmm2ext;
using namespace PBD;
WindowProxy::WindowProxy (const std::string& name)
: _name (name)
, _window (0)
, _visible (false)
, _x_off (-1)
, _y_off (-1)
, _width (-1)
, _height (-1)
, vistracker (0)
, _state_mask (StateMask (Position|Size))
{
}
WindowProxy::WindowProxy (const std::string& name, const std::string& menu_name)
: _name (name)
, _menu_name (menu_name)

View File

@@ -37,8 +37,8 @@ using namespace Gtk;
using namespace Gtkmm2ext;
using namespace ArdourWidgets;
Tabbable::Tabbable (Widget& w, const string& name, bool tabbed_by_default)
: WindowProxy (name)
Tabbable::Tabbable (Widget& w, const string& visible_name, string const & nontranslatable_name, bool tabbed_by_default)
: WindowProxy (visible_name, nontranslatable_name)
, _contents (w)
, _parent_notebook (0)
, tab_requested_by_state (tabbed_by_default)

View File

@@ -44,7 +44,7 @@ namespace ArdourWidgets {
class LIBWIDGETS_API Tabbable : public Gtkmm2ext::WindowProxy
{
public:
Tabbable (Gtk::Widget&, const std::string&, bool tabbed_by_default = true);
Tabbable (Gtk::Widget&, const std::string& user_visible_name, std::string const & untranslated_name, bool tabbed_by_default = true);
~Tabbable ();
void add_to_notebook (Gtk::Notebook& notebook, const std::string& tab_title);