#ifndef KASETTINGDIALOG_H
#define KASETTINGDIALOG_H

#include <memory>
#include <kwidget.h>
#include <kylin-ai/ai-base/modelconfig.h>

using namespace kdk;
using namespace std;

class KASettingDialog : public KWidget
{
    Q_OBJECT
public:
    KASettingDialog(QWidget *parent = nullptr);
    ~KASettingDialog();
    void scribeWordsDisabled();

signals:
    void sigShowScribeWords();
    void sigCloseScribeWords();


public slots:
    void onShowScribeWords();
    void onCloseScribeWords();

private:
    void initLayout();
    void initConnect();
    void initSideBar();
    void initBaseBar();

private slots:
    void showMessageBox(RemoteModelId type);
    void slotNaviClicked(const QModelIndex &index);

protected:
    void closeEvent(QCloseEvent *event) override;

private:
    class Private;
    shared_ptr<Private> d_ptr;
};

#endif // KASETTINGDIALOG_H
