syncthingtray/fileitemactionplugin/syncthingmenuaction.h
Martchus 975e86c895 Allow backend libraries to be used from other projects
So far the backend libraries' include paths were relative within this
repository. This means the header files could not be used at their
installed location.

This change replaces them with "<>" includes to fix that problem and adds
a new include directory so building everything at once still works.

With this change it should be easier to actually split some parts into
another repository if this one would become too big.
2021-01-25 19:48:11 +01:00

39 lines
937 B
C++

#ifndef SYNCTHINGMENUACTION_H
#define SYNCTHINGMENUACTION_H
#include <syncthingconnector/syncthingnotifier.h>
#include <KFileItemListProperties>
#include <QAction>
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 *>(), QObject *parent = 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;
};
#endif // SYNCTHINGMENUACTION_H