#include "wx/accel.h"
+#include <ctype.h>
+
//-----------------------------------------------------------------------------
// wxAcceleratorTable
//-----------------------------------------------------------------------------
public:
wxAccelRefData(void);
+ ~wxAccelRefData(void);
wxList m_accels;
};
wxAccelRefData::wxAccelRefData(void)
{
- m_accels.DeleteContents( TRUE );
+}
+
+wxAccelRefData::~wxAccelRefData(void)
+{
+ wxNode *node = m_accels.First();
+ while (node)
+ {
+ wxAcceleratorEntry *entry = (wxAcceleratorEntry *)node->Data();
+ delete entry;
+ node = node->Next();
+ }
}
//-----------------------------------------------------------------------------
m_refData = new wxAccelRefData();
for (int i = 0; i < n; i++)
{
- M_ACCELDATA->m_accels.Append( (wxObject*)
- new wxAcceleratorEntry( entries[n].GetFlags(), entries[n].GetKeyCode(), entries[n].GetCommand() ) );
+ int flag = entries[i].GetFlags();
+ int keycode = entries[i].GetKeyCode();
+ int command = entries[i].GetCommand();
+ if ((keycode >= (int)'A') && (keycode <= (int)'Z')) keycode = (int)tolower( (char)keycode );
+ M_ACCELDATA->m_accels.Append( (wxObject*) new wxAcceleratorEntry( flag, keycode, command ) );
}
}