1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
|
#ifndef SYNCTHINGMENUACTION_H
#define SYNCTHINGMENUACTION_H
#include <syncthingconnector/syncthingnotifier.h>
#include <KFileItemListProperties>
#include <QAction>
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<QAction *> &actions = QList<QAction *>(), QWidget *parentWidget = nullptr);
#ifdef CPP_UTILITIES_DEBUG_BUILD
~SyncthingMenuAction() override;
#endif
private Q_SLOTS:
void handleConnectedChanged();
void updateActionStatus();
private:
void createMenu(const QList<QAction *> &actions);
KFileItemListProperties m_properties;
Data::SyncthingNotifier m_notifier;
QWidget *m_parentWidget;
};
#endif // SYNCTHINGMENUACTION_H
|