mirror of
https://github.com/firestar5683/StarPilot.git
synced 2026-06-29 18:42:07 +08:00
Cabana: show welcome widget if no msg selected (#26703)
* show a blank widget if no msg selected * smaller font * rename to WelcomeWidget old-commit-hash: e598438a97b9ae6c4d5d921cd094efe1f40320b4
This commit is contained in:
@@ -16,9 +16,9 @@
|
||||
|
||||
DetailWidget::DetailWidget(ChartsWidget *charts, QWidget *parent) : charts(charts), QWidget(parent) {
|
||||
undo_stack = new QUndoStack(this);
|
||||
|
||||
setMinimumWidth(500);
|
||||
QVBoxLayout *main_layout = new QVBoxLayout(this);
|
||||
QWidget *main_widget = new QWidget(this);
|
||||
QVBoxLayout *main_layout = new QVBoxLayout(main_widget);
|
||||
main_layout->setContentsMargins(0, 0, 0, 0);
|
||||
main_layout->setSpacing(0);
|
||||
|
||||
@@ -90,6 +90,10 @@ DetailWidget::DetailWidget(ChartsWidget *charts, QWidget *parent) : charts(chart
|
||||
tab_widget->addTab(history_log, "&Logs");
|
||||
main_layout->addWidget(tab_widget);
|
||||
|
||||
stacked_layout = new QStackedLayout(this);
|
||||
stacked_layout->addWidget(new WelcomeWidget(this));
|
||||
stacked_layout->addWidget(main_widget);
|
||||
|
||||
QObject::connect(binary_view, &BinaryView::signalClicked, this, &DetailWidget::showForm);
|
||||
QObject::connect(binary_view, &BinaryView::resizeSignal, this, &DetailWidget::resizeSignal);
|
||||
QObject::connect(binary_view, &BinaryView::addSignal, this, &DetailWidget::addSignal);
|
||||
@@ -136,6 +140,7 @@ void DetailWidget::setMessage(const QString &message_id) {
|
||||
tabbar->setCurrentIndex(index);
|
||||
dbcMsgChanged();
|
||||
scroll->verticalScrollBar()->setValue(0);
|
||||
stacked_layout->setCurrentIndex(1);
|
||||
}
|
||||
|
||||
void DetailWidget::dbcMsgChanged(int show_form_idx) {
|
||||
@@ -302,3 +307,31 @@ EditMessageDialog::EditMessageDialog(const QString &msg_id, const QString &title
|
||||
connect(buttonBox, &QDialogButtonBox::accepted, this, &QDialog::accept);
|
||||
connect(buttonBox, &QDialogButtonBox::rejected, this, &QDialog::reject);
|
||||
}
|
||||
|
||||
// WelcomeWidget
|
||||
|
||||
WelcomeWidget::WelcomeWidget(QWidget *parent) : QWidget(parent) {
|
||||
QVBoxLayout *main_layout = new QVBoxLayout(this);
|
||||
main_layout->addStretch(0);
|
||||
QLabel *logo = new QLabel("CABANA");
|
||||
logo->setAlignment(Qt::AlignCenter);
|
||||
logo->setStyleSheet("font-size:50px;font-weight:bold;");
|
||||
main_layout->addWidget(logo);
|
||||
|
||||
auto newShortcutRow = [](const QString &title, const QString &key) {
|
||||
QHBoxLayout *hlayout = new QHBoxLayout();
|
||||
auto btn = new QToolButton();
|
||||
btn->setText(key);
|
||||
btn->setEnabled(false);
|
||||
hlayout->addWidget(new QLabel(title), 0, Qt::AlignRight);
|
||||
hlayout->addWidget(btn, 0, Qt::AlignLeft);
|
||||
return hlayout;
|
||||
};
|
||||
|
||||
main_layout->addLayout(newShortcutRow("Pause", "Space"));
|
||||
main_layout->addLayout(newShortcutRow("Help", "Alt + H"));
|
||||
main_layout->addStretch(0);
|
||||
|
||||
setStyleSheet("QLabel{color:darkGray;}");
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#pragma once
|
||||
|
||||
#include <QStackedLayout>
|
||||
#include <QScrollArea>
|
||||
#include <QTabWidget>
|
||||
#include <QToolBar>
|
||||
@@ -18,6 +19,11 @@ public:
|
||||
QSpinBox *size_spin;
|
||||
};
|
||||
|
||||
class WelcomeWidget : public QWidget {
|
||||
public:
|
||||
WelcomeWidget(QWidget *parent);
|
||||
};
|
||||
|
||||
class DetailWidget : public QWidget {
|
||||
Q_OBJECT
|
||||
|
||||
@@ -51,5 +57,6 @@ private:
|
||||
BinaryView *binary_view;
|
||||
QScrollArea *scroll;
|
||||
ChartsWidget *charts;
|
||||
QStackedLayout *stacked_layout;
|
||||
QList<SignalEdit *> signal_list;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user