summaryrefslogtreecommitdiff
path: root/ui/folder_history_box.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'ui/folder_history_box.cpp')
-rw-r--r--ui/folder_history_box.cpp22
1 files changed, 20 insertions, 2 deletions
diff --git a/ui/folder_history_box.cpp b/ui/folder_history_box.cpp
index 2b773c20..528a36ce 100644
--- a/ui/folder_history_box.cpp
+++ b/ui/folder_history_box.cpp
@@ -1,7 +1,7 @@
// **************************************************************************
// * This file is part of the FreeFileSync project. It is distributed under *
// * GNU General Public License: http://www.gnu.org/licenses/gpl.html *
-// * Copyright (C) ZenJu (zhnmju123 AT gmx DOT de) - All Rights Reserved *
+// * Copyright (C) ZenJu (zenju AT gmx DOT de) - All Rights Reserved *
// **************************************************************************
#include "folder_history_box.h"
@@ -12,6 +12,10 @@
using namespace zen;
+namespace
+{
+const wxEventType wxEVT_VALIDATE_USER_SELECTION = wxNewEventType();
+}
FolderHistoryBox::FolderHistoryBox(wxWindow* parent,
wxWindowID id,
@@ -41,6 +45,8 @@ FolderHistoryBox::FolderHistoryBox(wxWindow* parent,
Connect(wxEVT_COMMAND_COMBOBOX_DROPDOWN, wxCommandEventHandler(FolderHistoryBox::OnShowDropDown), nullptr, this);
Connect(wxEVT_COMMAND_COMBOBOX_CLOSEUP, wxCommandEventHandler(FolderHistoryBox::OnHideDropDown), nullptr, this);
#endif
+
+Connect(wxEVT_VALIDATE_USER_SELECTION, wxCommandEventHandler(FolderHistoryBox::OnValidateSelection), nullptr, this);
}
@@ -78,7 +84,7 @@ void FolderHistoryBox::setValueAndUpdateList(const wxString& dirname)
//std::sort(tmp.begin(), tmp.end(), LessFilename());
if (!dirList.empty() && !tmp.empty())
- dirList.push_back(FolderHistory::lineSeparator());
+ dirList.push_back(toZ(FolderHistory::separationLine()));
dirList.insert(dirList.end(), tmp.begin(), tmp.end());
}
@@ -99,10 +105,22 @@ void FolderHistoryBox::setValueAndUpdateList(const wxString& dirname)
void FolderHistoryBox::OnSelection(wxCommandEvent& event)
{
+ wxCommandEvent dummy2(wxEVT_VALIDATE_USER_SELECTION); //we cannot replace built-in commands at this position in call stack, so defer to a later time!
+ if (auto handler = GetEventHandler())
+ handler->AddPendingEvent(dummy2);
+
event.Skip();
}
+void FolderHistoryBox::OnValidateSelection(wxCommandEvent& event)
+{
+ //const auto& value = GetValue();
+ //if (value == FolderHistory::separationLine())
+ // setValueAndUpdateList(wxString()); -> not good enough (resolved folder name not updated)
+}
+
+
void FolderHistoryBox::OnKeyEvent(wxKeyEvent& event)
{
const int keyCode = event.GetKeyCode();
bgstack15