X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8907154c1a8a6882c6797d1f16393ddfb23e7f3a..6cab4fcac7fe26d9ae5a1d29066e0893d689bb38:/src/generic/accel.cpp?ds=sidebyside diff --git a/src/generic/accel.cpp b/src/generic/accel.cpp index 957732311e..91c39cd066 100644 --- a/src/generic/accel.cpp +++ b/src/generic/accel.cpp @@ -1,5 +1,5 @@ /////////////////////////////////////////////////////////////////////////////// -// Name: generic/accel.cpp +// Name: src/generic/accel.cpp // Purpose: generic implementation of wxAcceleratorTable class // Author: Robert Roebling // Modified: VZ pn 31.05.01: use typed lists, Unicode cleanup, Add/Remove @@ -26,8 +26,8 @@ #if wxUSE_ACCEL #ifndef WX_PRECOMP - #include "wx/event.h" #include "wx/list.h" + #include "wx/event.h" #endif // WX_PRECOMP #include "wx/accel.h" @@ -40,7 +40,7 @@ WX_DECLARE_LIST(wxAcceleratorEntry, wxAccelList); #include "wx/listimpl.cpp" -WX_DEFINE_LIST(wxAccelList); +WX_DEFINE_LIST(wxAccelList) // ---------------------------------------------------------------------------- // wxAccelRefData: the data used by wxAcceleratorTable @@ -93,7 +93,9 @@ wxAcceleratorTable::wxAcceleratorTable(int n, const wxAcceleratorEntry entries[] { const wxAcceleratorEntry& entry = entries[i]; - int keycode = wxToupper(entry.GetKeyCode()); + int keycode = entry.GetKeyCode(); + if ( isascii(keycode) ) + keycode = toupper(keycode); M_ACCELDATA->m_accels.Append(new wxAcceleratorEntry(entry.GetFlags(), keycode, @@ -105,7 +107,7 @@ wxAcceleratorTable::~wxAcceleratorTable() { } -bool wxAcceleratorTable::Ok() const +bool wxAcceleratorTable::IsOk() const { return m_refData != NULL; } @@ -136,8 +138,8 @@ void wxAcceleratorTable::Remove(const wxAcceleratorEntry& entry) const wxAcceleratorEntry *entryCur = node->GetData(); // given entry contains only the information of the accelerator key - // because it was set that way in wxGetAccelFromString() - // so do not perform full ( *entryCur == entry ) comparison + // because it was set that way during creation so do not use the + // comparison operator which also checks the command field if ((entryCur->GetKeyCode() == entry.GetKeyCode()) && (entryCur->GetFlags() == entry.GetFlags())) { @@ -216,4 +218,3 @@ wxObjectRefData *wxAcceleratorTable::CloneRefData(const wxObjectRefData *data) c } #endif // wxUSE_ACCEL -