moduleconfmgt.h 2.33 KB
Newer Older
‘oliver.hui’'s avatar
‘oliver.hui’ committed
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 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
#ifndef SYSCONFMGT_H
#define SYSCONFMGT_H

#include <topcore/topclassabs.h>

class TTreeView;
class TTextEdit;
class TDataResponse;
class TSplitter;
class SysModuleConfPanel;
class TSearchEntry;
class TUiloaderDialog;
class TTableChooserDialog;

class SysModuleConfMgt : public TopClassAbs
{
    Q_OBJECT
public:
    explicit SysModuleConfMgt(const QString &iModuleNameStr = QString(""),
                        const QVariantMap &iUrlPars = QVariantMap(),
                        QWidget *iParent = nullptr);
    ~SysModuleConfMgt();

public slots:
    void refreshTree(const QString &iTextStr = "");
    void refresh();
    void showInputPassword();
    void exportDevConfig();
    void exportProdConfig();
    void exportProjectConfig();
    void exportAdminConfig();
    void exportUserConfig();
    void exportModuleFile(const QString &iTypeStr);

private:
    void initTreeView();
    void initLeftWidget();
    void initMiddleWidget();
    void initRightWidget();
    void fillTreeData(const TDataResponse &iDataRes);
    bool getMatchedStrLst(const QVariant &iDataVar, const QString &iPatternStr, QStringList &iMatchedLst);
    void initChooseDialog();

private slots:
    void onSearched(const QString &iTextStr, const QVariant &iFieldsVar);
    void onPasswordAccept();
    void onDataChange();
    void onDataSave();
    void addChooseSelection(const QModelIndex &iModelIndex);
    void removeChooseSelection(const QModelIndex &iModelIndex);
    void writeConfigFile(const QString &iDirectoryStr, const QVariantList &iDataLst, const QString &iTypeStr);
    void writePermissionAndEnumFile(const QString &iDirectoryStr, const QStringList &iPermissionLst, const QStringList &iEnumLst, const QString &iTypeStr);
    QVariantMap analysisModuleConf(const QString &iConfStr);
    void writeFile(const QString &iFilePath, const QStringList &iInfoLst);
    void writeFile(const QString &iFilePath, const QString &iInfoStr);

private:
    TTreeView *mTreeView = nullptr;
    TTextEdit *mTextEdit = nullptr;
    TSearchEntry *mLeftSearchEntry = nullptr;
    TSplitter *mSplitter = nullptr;
    QList<SysModuleConfPanel*> mPanelLst;
    TUiloaderDialog *mPasswordDialog = nullptr;
    QWidget *mLeftWidget = nullptr;
    TTableChooserDialog *mChooseDlg = nullptr;
    QVariantList mDataLst;
    QVariantList mAllDataLst;
    QStringList mTreeDataKeyLst;
};

#endif // SYSCONFMGT_H