2021-12-20 18:04:53 -06:00
|
|
|
#include "SeerConfigDialog.h"
|
2021-12-19 11:11:42 -06:00
|
|
|
#include <QtWidgets/QListWidget>
|
|
|
|
|
#include <QtWidgets/QListWidgetItem>
|
|
|
|
|
#include <QtWidgets/QStackedWidget>
|
|
|
|
|
#include <QtCore/QDebug>
|
|
|
|
|
|
|
|
|
|
SeerConfigDialog::SeerConfigDialog(QWidget* parent) : QDialog(parent) {
|
|
|
|
|
|
|
|
|
|
// Set up the UI.
|
|
|
|
|
setupUi(this);
|
|
|
|
|
|
|
|
|
|
// Setup the widgets
|
|
|
|
|
contentsListWidget->setViewMode(QListView::IconMode);
|
|
|
|
|
contentsListWidget->setIconSize(QSize(96, 84));
|
|
|
|
|
contentsListWidget->setMovement(QListView::Static);
|
|
|
|
|
contentsListWidget->setMaximumWidth(128);
|
|
|
|
|
contentsListWidget->setSpacing(12);
|
|
|
|
|
|
2021-12-20 18:04:53 -06:00
|
|
|
// Create pages.
|
|
|
|
|
_gdbConfigPage = new SeerGdbConfigPage;
|
|
|
|
|
_editorConfigPage = new SeerEditorConfigPage;
|
|
|
|
|
_sourceConfigPage = new SeerSourceConfigPage;
|
|
|
|
|
_seerConfigPage = new SeerSeerConfigPage;
|
|
|
|
|
|
|
|
|
|
// Add the pages to the stacked widget.
|
|
|
|
|
pagesStackedWidget->addWidget(_gdbConfigPage);
|
|
|
|
|
pagesStackedWidget->addWidget(_editorConfigPage);
|
|
|
|
|
pagesStackedWidget->addWidget(_sourceConfigPage);
|
|
|
|
|
pagesStackedWidget->addWidget(_seerConfigPage);
|
|
|
|
|
|
|
|
|
|
_gdbConfigPage->gdbProgramLineEdit->setText("/usr/bin/gdb");
|
|
|
|
|
_gdbConfigPage->gdbArgumentsLineEdit->setText("--interpreter=mi");
|
2021-12-19 11:11:42 -06:00
|
|
|
|
|
|
|
|
// Create icons.
|
|
|
|
|
QListWidgetItem* configGdbButton = new QListWidgetItem(contentsListWidget);
|
|
|
|
|
configGdbButton->setIcon(QIcon(":/seer/resources/gdb.png"));
|
|
|
|
|
configGdbButton->setText(tr("GDB"));
|
|
|
|
|
configGdbButton->setTextAlignment(Qt::AlignHCenter);
|
|
|
|
|
configGdbButton->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
|
|
|
|
|
|
|
|
|
|
QListWidgetItem* configEditorButton = new QListWidgetItem(contentsListWidget);
|
|
|
|
|
configEditorButton->setIcon(QIcon(":/seer/resources/editor.png"));
|
|
|
|
|
configEditorButton->setText(tr("Editor"));
|
|
|
|
|
configEditorButton->setTextAlignment(Qt::AlignHCenter);
|
|
|
|
|
configEditorButton->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
|
|
|
|
|
|
2021-12-20 18:04:53 -06:00
|
|
|
QListWidgetItem* configSourceButton = new QListWidgetItem(contentsListWidget);
|
|
|
|
|
configSourceButton->setIcon(QIcon(":/seer/resources/source.png"));
|
|
|
|
|
configSourceButton->setText(tr("Source"));
|
|
|
|
|
configSourceButton->setTextAlignment(Qt::AlignHCenter);
|
|
|
|
|
configSourceButton->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
|
|
|
|
|
|
|
|
|
|
QListWidgetItem* configSeerButton = new QListWidgetItem(contentsListWidget);
|
|
|
|
|
configSeerButton->setIcon(QIcon(":/seer/resources/seer_128x128.png"));
|
|
|
|
|
configSeerButton->setText(tr("Seer"));
|
|
|
|
|
configSeerButton->setTextAlignment(Qt::AlignHCenter);
|
|
|
|
|
configSeerButton->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
|
2021-12-19 11:11:42 -06:00
|
|
|
|
|
|
|
|
// Connect things.
|
|
|
|
|
connect(contentsListWidget, &QListWidget::currentItemChanged, this, &SeerConfigDialog::changePage);
|
2021-12-20 18:04:53 -06:00
|
|
|
|
|
|
|
|
// Set to first page.
|
|
|
|
|
contentsListWidget->setCurrentRow(0);
|
2021-12-19 11:11:42 -06:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
SeerConfigDialog::~SeerConfigDialog() {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void SeerConfigDialog::changePage(QListWidgetItem* current, QListWidgetItem* previous) {
|
|
|
|
|
|
|
|
|
|
//qDebug() << __PRETTY_FUNCTION__ << ":" << current << previous;
|
|
|
|
|
|
|
|
|
|
if (!current) {
|
|
|
|
|
current = previous;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
pagesStackedWidget->setCurrentIndex(contentsListWidget->row(current));
|
|
|
|
|
}
|
|
|
|
|
|