From e15ddfd487bdc78ce3b1b8a8596783e2798dd14c Mon Sep 17 00:00:00 2001 From: WrinklyNinja Date: Sun, 9 Feb 2014 20:27:44 +0000 Subject: [PATCH] Fixed new dialogs not closing. --- src/gui/editor.cpp | 10 ++++++++++ src/gui/editor.h | 1 + src/gui/misc.cpp | 8 ++++++++ src/gui/misc.h | 2 ++ 4 files changed, 21 insertions(+) diff --git a/src/gui/editor.cpp b/src/gui/editor.cpp index c7061d02..160af435 100644 --- a/src/gui/editor.cpp +++ b/src/gui/editor.cpp @@ -189,6 +189,7 @@ MiniEditor::MiniEditor(wxWindow *parent, const wxString& title, const std::list< Bind(wxEVT_BUTTON, &MiniEditor::OnRemoveRow, this, BUTTON_RemoveRow); Bind(wxEVT_TOGGLEBUTTON, &MiniEditor::OnAddRowToggle, this, BUTTON_AddRow); Bind(wxEVT_CHECKBOX, &MiniEditor::OnFilterToggle, this); + Bind(wxEVT_BUTTON, &MiniEditor::OnApply, this, wxID_APPLY); //Set up layout. wxBoxSizer * bigBox = new wxBoxSizer(wxVERTICAL); @@ -400,6 +401,15 @@ void MiniEditor::OnDragStart(wxListEvent& event) { wxDragResult result = dropSource.DoDragDrop(); } +void MiniEditor::OnApply(wxCommandEvent& event) { + //Apply any current edits. + wxString currentPlugin = pluginText->GetLabelText(); + if (!currentPlugin.empty()) + ApplyEdits(currentPlugin, pluginList); + + EndModal(event.GetId()); +} + const std::list& MiniEditor::GetEditedPlugins() const { return _editedPlugins; } diff --git a/src/gui/editor.h b/src/gui/editor.h index 35f3e9cb..f3af5f01 100644 --- a/src/gui/editor.h +++ b/src/gui/editor.h @@ -89,6 +89,7 @@ public: void OnAddRowToggle(wxCommandEvent& event); void OnFilterToggle(wxCommandEvent& event); void OnDragStart(wxListEvent& event); + void OnApply(wxCommandEvent& event); const std::list& GetEditedPlugins() const; private: diff --git a/src/gui/misc.cpp b/src/gui/misc.cpp index 09257cc7..ee8af661 100644 --- a/src/gui/misc.cpp +++ b/src/gui/misc.cpp @@ -498,6 +498,10 @@ LoadOrderPreview::LoadOrderPreview(wxWindow *parent, const wxString title, const } _loadOrder->SetColumnWidth(0, wxLIST_AUTOSIZE); + //Set up event handling. + Bind(wxEVT_BUTTON, &LoadOrderPreview::OnYesNo, this, wxID_YES); + Bind(wxEVT_BUTTON, &LoadOrderPreview::OnYesNo, this, wxID_NO); + //Set up layout. wxBoxSizer * bigBox = new wxBoxSizer(wxVERTICAL); @@ -517,3 +521,7 @@ LoadOrderPreview::LoadOrderPreview(wxWindow *parent, const wxString title, const SetIcon(wxIconLocation("BOSS.exe")); SetSizerAndFit(bigBox); } + +void LoadOrderPreview::OnYesNo(wxCommandEvent& event) { + EndModal(event.GetId()); +} \ No newline at end of file diff --git a/src/gui/misc.h b/src/gui/misc.h index 03151dfd..2b5ff4e8 100644 --- a/src/gui/misc.h +++ b/src/gui/misc.h @@ -133,6 +133,8 @@ private: class LoadOrderPreview : public wxDialog { public: LoadOrderPreview(wxWindow *parent, const wxString title, const std::list& plugins, const boss::Game& game); + + void OnYesNo(wxCommandEvent& event); private: wxListView * _loadOrder; };