3a918864f9
The previous commit fixed accelerators support in wxQt for the items created in XRC, but not for those created directly in the code, as wxMenuItem::SetItemLabel() is not called in this case. Refactor the code to extract UpdateShortcutsFromLabel() from SetItemLabel() and call the new function both from there and from wxMenuItem ctor, to ensure that the accelerators are taken into account in any case. This commit is best viewed with "git diff --color-moved". See https://github.com/wxWidgets/wxWidgets/pull/1544
54 lines
1.5 KiB
C++
54 lines
1.5 KiB
C++
/////////////////////////////////////////////////////////////////////////////
|
|
// Name: wx/qt/menuitem.h
|
|
// Author: Peter Most, Mariano Reingart
|
|
// Copyright: (c) 2010 wxWidgets dev team
|
|
// Licence: wxWindows licence
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef _WX_QT_MENUITEM_H_
|
|
#define _WX_QT_MENUITEM_H_
|
|
|
|
#include "wx/menuitem.h"
|
|
#include "wx/bitmap.h"
|
|
|
|
class QAction;
|
|
class wxQtAction;
|
|
|
|
class WXDLLIMPEXP_FWD_CORE wxMenu;
|
|
|
|
class WXDLLIMPEXP_CORE wxMenuItem : public wxMenuItemBase
|
|
{
|
|
public:
|
|
wxMenuItem(wxMenu *parentMenu = NULL,
|
|
int id = wxID_SEPARATOR,
|
|
const wxString& text = wxEmptyString,
|
|
const wxString& help = wxEmptyString,
|
|
wxItemKind kind = wxITEM_NORMAL,
|
|
wxMenu *subMenu = NULL);
|
|
|
|
virtual void SetItemLabel(const wxString& str) wxOVERRIDE;
|
|
virtual void SetCheckable(bool checkable) wxOVERRIDE;
|
|
|
|
virtual void Enable(bool enable = true) wxOVERRIDE;
|
|
virtual bool IsEnabled() const wxOVERRIDE;
|
|
|
|
virtual void Check(bool check = true) wxOVERRIDE;
|
|
virtual bool IsChecked() const wxOVERRIDE;
|
|
|
|
virtual void SetBitmap(const wxBitmap& bitmap);
|
|
virtual const wxBitmap& GetBitmap() const { return m_bitmap; };
|
|
|
|
virtual QAction *GetHandle() const;
|
|
|
|
private:
|
|
// Qt is using an action instead of a menu item.
|
|
wxQtAction *m_qtAction;
|
|
wxBitmap m_bitmap;
|
|
|
|
wxDECLARE_DYNAMIC_CLASS( wxMenuItem );
|
|
};
|
|
|
|
|
|
|
|
#endif // _WX_QT_MENUITEM_H_
|