#ifndef SYNCTHINGMENUACTION_H #define SYNCTHINGMENUACTION_H #include #include #include QT_FORWARD_DECLARE_CLASS(QWidget) namespace Data { enum class SyncthingStatus; } /*! * \brief The SyncthingMenuAction class provides the top-level menu "Syncthing" entry for the context menu. */ class SyncthingMenuAction : public QAction { Q_OBJECT public: explicit SyncthingMenuAction(const KFileItemListProperties &properties = KFileItemListProperties(), const QList &actions = QList(), QWidget *parentWidget = nullptr); #ifdef CPP_UTILITIES_DEBUG_BUILD ~SyncthingMenuAction() override; #endif private Q_SLOTS: void handleConnectedChanged(); void updateActionStatus(); private: void createMenu(const QList &actions); KFileItemListProperties m_properties; Data::SyncthingNotifier m_notifier; QWidget *m_parentWidget; }; #endif // SYNCTHINGMENUACTION_H