syncthingtray/fileitemactionplugin/syncthingmenuaction.h
Martchus eef47e7ef1 Allow building KIO/Dolphin against Qt/KF 6
* Avoid using function that is deprecated in Qt 6
* Remove unused include not available in KF6
* Don't hardcode CMake-package-prefix of KF modules
2023-02-07 20:57:21 +01:00

42 lines
1007 B
C++

#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