File indexing completed on 2024-04-28 05:48:30

0001 // Description: Advanced settings dialog for gdb
0002 //
0003 //
0004 // SPDX-FileCopyrightText: 2012 Kåre Särs <kare.sars@iki.fi>
0005 //
0006 //  SPDX-License-Identifier: LGPL-2.0-only
0007 
0008 #pragma once
0009 
0010 #include "ui_advanced_settings.h"
0011 #include <QDialog>
0012 #include <QStringList>
0013 
0014 class AdvancedGDBSettings : public QDialog, public Ui::AdvancedGDBSettings
0015 {
0016     Q_OBJECT
0017 public:
0018     enum CustomStringOrder { GDBIndex = 0, LocalRemoteIndex, RemoteBaudIndex, SoAbsoluteIndex, SoRelativeIndex, SrcPathsIndex, CustomStartIndex };
0019 
0020     explicit AdvancedGDBSettings(QWidget *parent = nullptr);
0021     ~AdvancedGDBSettings() override;
0022 
0023     static QJsonObject upgradeConfigV4_5(const QStringList &cfgs);
0024     static QStringList commandList(const QJsonObject &config);
0025     const QJsonObject configs() const;
0026 
0027     void setConfigs(const QJsonObject &cfgs);
0028 
0029     const static QString F_GDB;
0030     const static QString F_SRC_PATHS;
0031 
0032 private:
0033     static void setComboText(QComboBox *combo, const QString &str);
0034 
0035 private Q_SLOTS:
0036     void slotBrowseGDB();
0037 
0038     void slotSetSoPrefix();
0039 
0040     void slotAddSoPath();
0041     void slotDelSoPath();
0042 
0043     void slotAddSrcPath();
0044     void slotDelSrcPath();
0045 
0046     void slotLocalRemoteChanged();
0047 };