Fix "Shortcut" special-case in the script-selector.

The Script-selector is used in various places, not just for
Action-scripts.

Also add a "--" prefix for the separator to avoid name conflicts with
actual script names.
This commit is contained in:
Robin Gareus 2018-03-19 15:43:07 +01:00
parent 2fa6314fb4
commit ecb6e7fcfe

View file

@ -88,7 +88,7 @@ ScriptSelector::script_separator (const Glib::RefPtr<Gtk::TreeModel> &, const Gt
{ {
_script_combo.set_active (i); _script_combo.set_active (i);
return _script_combo.get_active_text () == "separator"; return _script_combo.get_active_text () == "--separator--";
} }
void void
@ -98,7 +98,7 @@ ScriptSelector::setup_list ()
vector<string> script_names; vector<string> script_names;
for (LuaScriptList::const_iterator s = _scripts.begin(); s != _scripts.end(); ++s) { for (LuaScriptList::const_iterator s = _scripts.begin(); s != _scripts.end(); ++s) {
if ((*s)->name != "Shortcut") { if ((*s)->name != "Shortcut" || _script_type != LuaScriptInfo::EditorAction) {
script_names.push_back ((*s)->name); script_names.push_back ((*s)->name);
} }
} }
@ -106,8 +106,10 @@ ScriptSelector::setup_list ()
_script_combo.clear(); _script_combo.clear();
_script_combo.set_row_separator_func (sigc::mem_fun (*this, &ScriptSelector::script_separator)); _script_combo.set_row_separator_func (sigc::mem_fun (*this, &ScriptSelector::script_separator));
if (_script_type == LuaScriptInfo::EditorAction) {
_script_combo.append_text ("Shortcut"); _script_combo.append_text ("Shortcut");
_script_combo.append_text ("separator"); _script_combo.append_text ("--separator--");
}
vector<string>::const_iterator i; vector<string>::const_iterator i;
for (i = script_names.begin(); i != script_names.end(); ++i) { for (i = script_names.begin(); i != script_names.end(); ++i) {