1// SPDX-FileCopyrightText: 2023 UnionTech Software Technology Co., Ltd.
2//
3// SPDX-License-Identifier: GPL-3.0-or-later
4
5#ifndef BINARYTOOLSCONFIGVIEW_H
6#define BINARYTOOLSCONFIGVIEW_H
7
8#include <QWidget>
9
10class BinaryToolsConfigViewPrivate;
11class BinaryToolsConfigView : public QWidget
12{
13 Q_OBJECT
14public:
15 explicit BinaryToolsConfigView(QWidget *parent = nullptr);
16 ~BinaryToolsConfigView();
17
18 bool saveConfig();
19 void readConfig();
20
21 QList<QString> getProgramList();
22 QList<QStringList> getArgumentsList();
23 QList<QString> getWorkingDirList();
24 QList<QMap<QString, QVariant>> getEnvironmentList();
25
26signals:
27 void comboChanged();
28 void useCombinationCommand();
29
30private:
31 void updateView(const QString &command);
32 void currentConfigChanged(const QString &text);
33 void initializeCombo();
34 void initializeCombinationDialog();
35 void addCompatConfig();
36 void deleteCompatConfig();
37 void renameCompatConfig();
38 void combineCompatConfig();
39 void setConfigWidget();
40 void findWorkPath();
41 void appendCommand(const QString &name);
42 QString uniqueName(const QString &name);
43
44 BinaryToolsConfigViewPrivate *const d = nullptr;
45};
46
47#endif // BINARYTOOLSCONFIGVIEW_H
48