X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ffrontends%2Fqt4%2FAction.h;h=8bc4a71f2442d0e0fce6082a1f5f9ea5dcc59dbd;hb=1f10969bb5c5f36017bf5ba8671381b09945cf57;hp=11a862b7887f278149638a74d16dac6c5e7bf0fd;hpb=5d112c185c8feaf24f87002b09746b0b5e3373d2;p=lyx.git diff --git a/src/frontends/qt4/Action.h b/src/frontends/qt4/Action.h index 11a862b788..8bc4a71f24 100644 --- a/src/frontends/qt4/Action.h +++ b/src/frontends/qt4/Action.h @@ -13,6 +13,7 @@ #define ACTION_H #include +#include class QIcon; @@ -22,8 +23,6 @@ class FuncRequest; namespace frontend { -class GuiView; - /** * Action - Qt interface with LyX' FuncRequest. * @@ -34,8 +33,15 @@ class Action : public QAction Q_OBJECT public: - Action(GuiView * lyxView, QIcon const & icon, QString const & text, - FuncRequest const & func, QString const & tooltip, QObject * parent); + // Makes a copy of func + Action(FuncRequest func, QIcon const & icon, QString const & text, + QString const & tooltip, QObject * parent); + + // Takes shared ownership of func. + // Use for perf-sensitive code such as populating menus. + Action(std::shared_ptr func, + QIcon const & icon, QString const & text, + QString const & tooltip, QObject * parent); void update(); @@ -47,8 +53,8 @@ private Q_SLOTS: void action(); private: - FuncRequest const & func_ ; - GuiView * lyxView_; + void init(QIcon const & icon, QString const & text, QString const & tooltip); + std::shared_ptr func_; };