From e16906f49cc0d7887fbdc2b90c6bab11d1b9bbc4 Mon Sep 17 00:00:00 2001 From: WrinklyNinja Date: Sun, 26 Jan 2014 23:36:13 +0000 Subject: [PATCH] Issue #79 work. This should complete it, I can't think of any other plugin lists that need colours added. The plugin list in the Editor now displays plugins with accompanying BSAs in light blue. The grey text for empty plugins is not used here because record parsing is skipped for the Editor, so they all appear empty. --- src/gui/editor.cpp | 5 ++++- src/gui/editor.h | 3 ++- src/gui/main.cpp | 4 ++-- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/gui/editor.cpp b/src/gui/editor.cpp index b0304b8c..a90314b5 100644 --- a/src/gui/editor.cpp +++ b/src/gui/editor.cpp @@ -106,7 +106,7 @@ wxString MessageList::OnGetItemText(long item, long column) const { } } -Editor::Editor(wxWindow *parent, const wxString& title, const std::string userlistPath, const std::vector& basePlugins, std::vector& editedPlugins, const unsigned int language) : wxFrame(parent, wxID_ANY, title), _userlistPath(userlistPath), _basePlugins(basePlugins), _editedPlugins(editedPlugins) { +Editor::Editor(wxWindow *parent, const wxString& title, const std::string userlistPath, const std::vector& basePlugins, std::vector& editedPlugins, const unsigned int language, const boss::Game& game) : wxFrame(parent, wxID_ANY, title), _userlistPath(userlistPath), _basePlugins(basePlugins), _editedPlugins(editedPlugins), _game(game) { //Initialise child windows. listBook = new wxNotebook(this, BOOK_Lists); @@ -265,6 +265,9 @@ Editor::Editor(wxWindow *parent, const wxString& title, const std::string userli //Fill pluginList with the contents of basePlugins. for (int i=0, max=_basePlugins.size(); i < max; ++i) { pluginList->InsertItem(i, FromUTF8(_basePlugins[i].Name())); + if (_basePlugins[i].HasBSA(_game)) { + pluginList->SetItemTextColour(i, wxColour(0, 142, 219)); + } } pluginList->SetColumnWidth(0, wxLIST_AUTOSIZE); diff --git a/src/gui/editor.h b/src/gui/editor.h index 18ada887..5f28c5c1 100644 --- a/src/gui/editor.h +++ b/src/gui/editor.h @@ -54,7 +54,7 @@ private: class Editor : public wxFrame { public: - Editor(wxWindow *parent, const wxString& title, const std::string userlistPath, const std::vector& basePlugins, std::vector& editedPlugins, const unsigned int language); + Editor(wxWindow *parent, const wxString& title, const std::string userlistPath, const std::vector& basePlugins, std::vector& editedPlugins, const unsigned int language, const boss::Game& game); void OnPluginSelect(wxListEvent& event); void OnEnabledToggle(wxCommandEvent& event); @@ -89,6 +89,7 @@ private: const std::string _userlistPath; const std::vector _basePlugins; + const boss::Game& _game; std::vector _editedPlugins; std::vector currentMessages; diff --git a/src/gui/main.cpp b/src/gui/main.cpp index b8c8f623..f0f1ce73 100644 --- a/src/gui/main.cpp +++ b/src/gui/main.cpp @@ -936,7 +936,7 @@ void Launcher::OnEditMetadata(wxCommandEvent& event) { //Create editor window. BOOST_LOG_TRIVIAL(debug) << "Opening editor window."; - Editor *editor = new Editor(this, translate("BOSS: Metadata Editor"), _game.UserlistPath().string(), installed, ulist_plugins, lang); + Editor *editor = new Editor(this, translate("BOSS: Metadata Editor"), _game.UserlistPath().string(), installed, ulist_plugins, lang, _game); progDia->Destroy(); @@ -1023,7 +1023,7 @@ void Launcher::OnOpenSettings(wxCommandEvent& event) { BOOST_LOG_TRIVIAL(debug) << "Opening settings window..."; SettingsFrame *settings = new SettingsFrame(this, translate("BOSS: Settings"), _settings, _games); settings->ShowModal(); - BOOST_LOG_TRIVIAL(debug) << "Editor window opened."; + BOOST_LOG_TRIVIAL(debug) << "Settings window opened."; } void Launcher::OnGameChange(wxCommandEvent& event) {