syncthingtray/plasmoid/lib/settingsdialog.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

68 lines
1.6 KiB
C++

#ifndef SETTINGSDIALOG_H
#define SETTINGSDIALOG_H
#include <syncthingmodel/syncthingstatusselectionmodel.h>
#include <syncthingwidgets/settings/settingsdialog.h>
#include <qtutilities/settingsdialog/optionpage.h>
QT_FORWARD_DECLARE_CLASS(QKeySequenceEdit)
namespace QtGui {
class SettingsDialog;
}
namespace Data {
class SyncthingStatusSelectionModel;
}
namespace Plasmoid {
class SyncthingApplet;
BEGIN_DECLARE_OPTION_PAGE_CUSTOM_CTOR(ShortcutOptionPage)
public:
ShortcutOptionPage(SyncthingApplet &applet, QWidget *parentWidget = nullptr);
private:
DECLARE_SETUP_WIDGETS
SyncthingApplet *m_applet;
QKeySequenceEdit *m_globalShortcutEdit;
END_DECLARE_OPTION_PAGE
BEGIN_DECLARE_UI_FILE_BASED_OPTION_PAGE_CUSTOM_CTOR(AppearanceOptionPage)
public:
AppearanceOptionPage(SyncthingApplet &applet, QWidget *parentWidget = nullptr);
Data::SyncthingStatusSelectionModel *passiveStatusSelection();
private:
DECLARE_SETUP_WIDGETS
SyncthingApplet *m_applet;
Data::SyncthingStatusSelectionModel m_passiveStatusSelection;
END_DECLARE_OPTION_PAGE
inline Data::SyncthingStatusSelectionModel *AppearanceOptionPage::passiveStatusSelection()
{
return &m_passiveStatusSelection;
}
class SettingsDialog : public QtGui::SettingsDialog {
public:
SettingsDialog(Plasmoid::SyncthingApplet &applet);
AppearanceOptionPage *appearanceOptionPage();
private:
AppearanceOptionPage *m_appearanceOptionPage;
};
inline AppearanceOptionPage *SettingsDialog::appearanceOptionPage()
{
return m_appearanceOptionPage;
}
QtGui::SettingsDialog *setupSettingsDialog(Plasmoid::SyncthingApplet &applet);
} // namespace Plasmoid
#endif // SETTINGSDIALOG_H