amnezia-client/client/ui/pages_logic/SitesLogic.h
2021-09-03 20:17:13 +03:00

60 lines
1.7 KiB
C++

#ifndef SITES_LOGIC_H
#define SITES_LOGIC_H
#include "../pages.h"
#include "settings.h"
class UiLogic;
class SitesModel;
class SitesLogic : public QObject
{
Q_OBJECT
public:
Q_INVOKABLE void updateSitesPage();
Q_PROPERTY(QString labelSitesAddCustomText READ getLabelSitesAddCustomText WRITE setLabelSitesAddCustomText NOTIFY labelSitesAddCustomTextChanged)
Q_PROPERTY(QObject* tableViewSitesModel READ getTableViewSitesModel NOTIFY tableViewSitesModelChanged)
Q_PROPERTY(QString lineEditSitesAddCustomText READ getLineEditSitesAddCustomText WRITE setLineEditSitesAddCustomText NOTIFY lineEditSitesAddCustomTextChanged)
Q_INVOKABLE void onPushButtonAddCustomSitesClicked();
Q_INVOKABLE void onPushButtonSitesDeleteClicked(int row);
Q_INVOKABLE void onPushButtonSitesImportClicked(const QString &fileName);
public:
explicit SitesLogic(UiLogic *uiLogic, QObject *parent = nullptr);
~SitesLogic() = default;
QString getLabelSitesAddCustomText() const;
void setLabelSitesAddCustomText(const QString &labelSitesAddCustomText);
QObject* getTableViewSitesModel() const;
void setTableViewSitesModel(QObject *tableViewSitesModel);
QString getLineEditSitesAddCustomText() const;
void setLineEditSitesAddCustomText(const QString &lineEditSitesAddCustomText);
signals:
void labelSitesAddCustomTextChanged();
void tableViewSitesModelChanged();
void lineEditSitesAddCustomTextChanged();
private:
private slots:
private:
Settings m_settings;
UiLogic *m_uiLogic;
QString m_labelSitesAddCustomText;
QObject* m_tableViewSitesModel;
QString m_lineEditSitesAddCustomText;
QMap<Settings::RouteMode, SitesModel *> sitesModels;
};
#endif // SITES_LOGIC_H