--- gigedit/trunk/src/gigedit/MacroEditor.cpp 2017/05/08 22:25:46 3161 +++ gigedit/trunk/src/gigedit/MacroEditor.cpp 2017/05/09 14:35:23 3162 @@ -22,6 +22,17 @@ set_default_size(800, 600); + //FIXME: Commented out since Gtk::Label is a disaster when it comes to multi line content. + /*m_labelIntro.set_text( + _("A macro is a list of parameters and corresponding values which " + "should be applied to the instrument editor when the macro is " + "triggered by the user. A macro is triggered either by selecting " + "the macro from the \"Macro\" menu, or by hitting the macro's " + "respective keyboard accelerator (F1 to F12).") + ); + m_labelIntro.set_line_wrap(); + m_vbox.pack_start(m_labelIntro, Gtk::PACK_SHRINK);*/ + // create Macro treeview (including its data model) m_treeStoreMacro = MacroTreeStore::create(m_treeModelMacro); m_treeViewMacro.set_model(m_treeStoreMacro); @@ -136,15 +147,21 @@ printf("MacroEditor destruct\n"); } -void MacroEditor::setMacro(Serialization::Archive* macro) { +void MacroEditor::setMacro(Serialization::Archive* macro, bool isClipboard) { m_macroOriginal = macro; if (!macro) { set_title(_("No Macro")); return; } - //set_title(std::string(_("Macro Editor:")) + " \"" + macro->name() + "\""); - set_title(std::string(_("Macro Editor:"))); + if (isClipboard) + set_title(std::string(_("Macro Editor:")) + " " + _("Clipboard Content")); + else { + if (macro->name().empty()) + set_title(std::string(_("Macro Editor:")) + " " + _("Unnamed Macro")); + else + set_title(std::string(_("Macro Editor:")) + " \"" + macro->name() + "\""); + } // copy for non-destructive editing m_macro = *macro; @@ -152,6 +169,10 @@ reloadTreeView(); } +sigc::signal& MacroEditor::signal_changes_applied() { + return m_changes_applied; +} + void MacroEditor::buildTreeView(const Gtk::TreeModel::Row& parentRow, const Serialization::Object& parentObject) { for (int iMember = 0; iMember < parentObject.members().size(); ++iMember) { const Serialization::Member& member = parentObject.members()[iMember]; @@ -381,6 +402,7 @@ msg.run(); } updateStatus(); + m_changes_applied.emit(); } void MacroEditor::onWindowHide() {