From 1379735e7129e1e04affc579f20c1c3dfc4659bb Mon Sep 17 00:00:00 2001 From: Ernie Pasveer Date: Sat, 4 Mar 2023 10:00:14 -0600 Subject: [PATCH] Save state of tabs (tab order and current tab). --- CHANGELOG.md | 1 + src/SeerGdbWidget.cpp | 95 +++++++++++++++++ src/SeerGdbWidget.h | 5 + src/SeerGdbWidget.ui | 3 + src/SeerSourceSymbolLibraryManagerWidget.cpp | 98 +++++++++++++++++- src/SeerSourceSymbolLibraryManagerWidget.h | 8 +- src/SeerStackManagerWidget.cpp | 102 ++++++++++++++++++- src/SeerStackManagerWidget.h | 6 ++ src/SeerThreadManagerWidget.cpp | 94 +++++++++++++++++ src/SeerThreadManagerWidget.h | 6 ++ src/SeerVariableManagerWidget.cpp | 98 +++++++++++++++++- src/SeerVariableManagerWidget.h | 8 +- 12 files changed, 514 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8937912..c65af41 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,6 +22,7 @@ Source tabs - show only Next and Step buttons. * Hide certains buttons (Run, Start, ...) depending on Debug mode (run, attach, connect, etc...) +* Save state of tabs (tab order and current tab). So next session will get them. ## [1.14] - 2023-01-02 * Happy New Year! diff --git a/src/SeerGdbWidget.cpp b/src/SeerGdbWidget.cpp index 0f9d7cb..5bbfbc3 100644 --- a/src/SeerGdbWidget.cpp +++ b/src/SeerGdbWidget.cpp @@ -13,6 +13,7 @@ #include #include #include +#include #include #include #include @@ -121,7 +122,13 @@ SeerGdbWidget::SeerGdbWidget (QWidget* parent) : QWidget(parent) { _gdbMonitor = new GdbMonitor(this); _gdbMonitor->setProcess(_gdbProcess); + // Restore tab ordering. + readLogsSettings(); + // Connect things. + QObject::connect(logsTabWidget->tabBar(), &QTabBar::tabMoved, this, &SeerGdbWidget::handleLogsTabMoved); + QObject::connect(logsTabWidget->tabBar(), &QTabBar::currentChanged, this, &SeerGdbWidget::handleLogsTabChanged); + QObject::connect(manualCommandComboBox->lineEdit(), &QLineEdit::returnPressed, this, &SeerGdbWidget::handleManualCommandExecute); QObject::connect(_gdbProcess, &QProcess::readyReadStandardOutput, _gdbMonitor, &GdbMonitor::handleReadyReadStandardOutput); @@ -586,6 +593,94 @@ const SeerEditorManagerWidget* SeerGdbWidget::editorManager () const { return editorManagerWidget; } +void SeerGdbWidget::handleLogsTabMoved (int from, int to) { + + Q_UNUSED(from); + Q_UNUSED(to); + + writeLogsSettings(); +} + +void SeerGdbWidget::handleLogsTabChanged (int index) { + + Q_UNUSED(index); + + writeLogsSettings(); +} + +void SeerGdbWidget::writeLogsSettings () { + + // Write tab order to settings. + QStringList tabs; + + for (int i=0; itabBar()->count(); i++) { + tabs.append(logsTabWidget->tabBar()->tabText(i)); + } + + QString current = logsTabWidget->tabBar()->tabText(logsTabWidget->tabBar()->currentIndex()); + + //qDebug() << "Tabs" << tabs; + //qDebug() << "Current" << current; + + QSettings settings; + + settings.beginGroup("logsmanagerwindow"); { + settings.setValue("taborder", tabs.join(',')); + settings.setValue("tabcurrent", current); + } settings.endGroup(); +} + +void SeerGdbWidget::readLogsSettings () { + + // Can't move things? + if (logsTabWidget->tabBar()->isMovable() == false) { + return; + } + + // Read tab order from settings. + QSettings settings; + QStringList tabs; + QString current; + + settings.beginGroup("logsmanagerwindow"); { + tabs = settings.value("taborder").toString().split(','); + current = settings.value("tabcurrent").toString(); + } settings.endGroup(); + + //qDebug() << "Tabs" << tabs; + //qDebug() << "Current" << current; + + // Move tabs to the requested order. + for (int i=0; itabBar()->count(); j++) { + if (logsTabWidget->tabBar()->tabText(j) == tab) { + tb = j; + break; + } + } + + if (tb != -1) { + logsTabWidget->tabBar()->moveTab(tb, i); + } + } + + // Make a tab current. + if (current != "") { + for (int i=0; itabBar()->count(); i++) { + if (logsTabWidget->tabBar()->tabText(i) == current) { + logsTabWidget->setCurrentIndex(i); + break; + } + } + }else{ + logsTabWidget->setCurrentIndex(0); + } +} + void SeerGdbWidget::handleText (const QString& text) { if (text.startsWith("*running,thread-id=\"all\"")) { diff --git a/src/SeerGdbWidget.h b/src/SeerGdbWidget.h index de32341..7d5ae2d 100644 --- a/src/SeerGdbWidget.h +++ b/src/SeerGdbWidget.h @@ -180,6 +180,9 @@ class SeerGdbWidget : public QWidget, protected Ui::SeerGdbWidgetForm { void resetDprintf (); public slots: + void handleLogsTabMoved (int from, int to); + void handleLogsTabChanged (int index); + void handleText (const QString& text); void handleManualCommandExecute (); void handleGdbCommand (const QString& command); @@ -312,6 +315,8 @@ class SeerGdbWidget : public QWidget, protected Ui::SeerGdbWidgetForm { void recordSettingsChanged (); protected: + void writeLogsSettings (); + void readLogsSettings (); private: bool isGdbRuning () const; diff --git a/src/SeerGdbWidget.ui b/src/SeerGdbWidget.ui index 3b4aae1..ec8f93a 100644 --- a/src/SeerGdbWidget.ui +++ b/src/SeerGdbWidget.ui @@ -81,6 +81,9 @@ 25 + + true + diff --git a/src/SeerSourceSymbolLibraryManagerWidget.cpp b/src/SeerSourceSymbolLibraryManagerWidget.cpp index b5e3b31..7407b3a 100644 --- a/src/SeerSourceSymbolLibraryManagerWidget.cpp +++ b/src/SeerSourceSymbolLibraryManagerWidget.cpp @@ -3,6 +3,7 @@ #include "QHContainerWidget.h" #include #include +#include #include SeerSourceSymbolLibraryManagerWidget::SeerSourceSymbolLibraryManagerWidget (QWidget* parent) : QWidget(parent) { @@ -43,9 +44,14 @@ SeerSourceSymbolLibraryManagerWidget::SeerSourceSymbolLibraryManagerWidget (QWid tabWidget->setCornerWidget(hcontainer, Qt::TopRightCorner); + // Restore tab ordering. + readSettings(); + // Connect things. - QObject::connect(refreshToolButton, &QToolButton::clicked, this, &SeerSourceSymbolLibraryManagerWidget::handleRefreshToolButtonClicked); - QObject::connect(helpToolButton, &QToolButton::clicked, this, &SeerSourceSymbolLibraryManagerWidget::handleHelpToolButtonClicked); + QObject::connect(refreshToolButton, &QToolButton::clicked, this, &SeerSourceSymbolLibraryManagerWidget::handleRefreshToolButtonClicked); + QObject::connect(helpToolButton, &QToolButton::clicked, this, &SeerSourceSymbolLibraryManagerWidget::handleHelpToolButtonClicked); + QObject::connect(tabWidget->tabBar(), &QTabBar::tabMoved, this, &SeerSourceSymbolLibraryManagerWidget::handleTabMoved); + QObject::connect(tabWidget->tabBar(), &QTabBar::currentChanged, this, &SeerSourceSymbolLibraryManagerWidget::handleTabChanged); } SeerSourceSymbolLibraryManagerWidget::~SeerSourceSymbolLibraryManagerWidget () { @@ -88,3 +94,91 @@ void SeerSourceSymbolLibraryManagerWidget::handleHelpToolButtonClicked () { help->raise(); } +void SeerSourceSymbolLibraryManagerWidget::handleTabMoved (int from, int to) { + + Q_UNUSED(from); + Q_UNUSED(to); + + writeSettings(); +} + +void SeerSourceSymbolLibraryManagerWidget::handleTabChanged (int index) { + + Q_UNUSED(index); + + writeSettings(); +} + +void SeerSourceSymbolLibraryManagerWidget::writeSettings () { + + // Write tab order to settings. + QStringList tabs; + + for (int i=0; itabBar()->count(); i++) { + tabs.append(tabWidget->tabBar()->tabText(i)); + } + + QString current = tabWidget->tabBar()->tabText(tabWidget->tabBar()->currentIndex()); + + //qDebug() << "Tabs" << tabs; + //qDebug() << "Current" << current; + + QSettings settings; + + settings.beginGroup("sourcemanagerwindow"); { + settings.setValue("taborder", tabs.join(',')); + settings.setValue("tabcurrent", current); + } settings.endGroup(); +} + +void SeerSourceSymbolLibraryManagerWidget::readSettings () { + + // Can't move things? + if (tabWidget->tabBar()->isMovable() == false) { + return; + } + + // Read tab order from settings. + QSettings settings; + QStringList tabs; + QString current; + + settings.beginGroup("sourcemanagerwindow"); { + tabs = settings.value("taborder").toString().split(','); + current = settings.value("tabcurrent").toString(); + } settings.endGroup(); + + //qDebug() << "Tabs" << tabs; + //qDebug() << "Current" << current; + + // Move tabs to the requested order. + for (int i=0; itabBar()->count(); j++) { + if (tabWidget->tabBar()->tabText(j) == tab) { + tb = j; + break; + } + } + + if (tb != -1) { + tabWidget->tabBar()->moveTab(tb, i); + } + } + + // Make a tab current. + if (current != "") { + for (int i=0; itabBar()->count(); i++) { + if (tabWidget->tabBar()->tabText(i) == current) { + tabWidget->setCurrentIndex(i); + break; + } + } + }else{ + tabWidget->setCurrentIndex(0); + } +} + diff --git a/src/SeerSourceSymbolLibraryManagerWidget.h b/src/SeerSourceSymbolLibraryManagerWidget.h index cf650df..18a9d3c 100644 --- a/src/SeerSourceSymbolLibraryManagerWidget.h +++ b/src/SeerSourceSymbolLibraryManagerWidget.h @@ -24,11 +24,15 @@ class SeerSourceSymbolLibraryManagerWidget : public QWidget, protected Ui::SeerS SeerStaticBrowserWidget* staticBrowserWidget (); SeerLibraryBrowserWidget* libraryBrowserWidget (); - signals: - public slots: + protected: + void writeSettings (); + void readSettings (); + private slots: void handleRefreshToolButtonClicked (); void handleHelpToolButtonClicked (); + void handleTabMoved (int from, int to); + void handleTabChanged (int index); private: SeerSourceBrowserWidget* _sourceBrowserWidget; diff --git a/src/SeerStackManagerWidget.cpp b/src/SeerStackManagerWidget.cpp index c20759d..0432378 100644 --- a/src/SeerStackManagerWidget.cpp +++ b/src/SeerStackManagerWidget.cpp @@ -4,6 +4,7 @@ #include "QHContainerWidget.h" #include #include +#include #include SeerStackManagerWidget::SeerStackManagerWidget (QWidget* parent) : QWidget(parent) { @@ -40,9 +41,14 @@ SeerStackManagerWidget::SeerStackManagerWidget (QWidget* parent) : QWidget(paren tabWidget->setCornerWidget(hcontainer, Qt::TopRightCorner); + // Restore tab ordering. + readSettings(); + // Connect things. - QObject::connect(refreshToolButton, &QToolButton::clicked, this, &SeerStackManagerWidget::handleRefreshToolButtonClicked); - QObject::connect(helpToolButton, &QToolButton::clicked, this, &SeerStackManagerWidget::handleHelpToolButtonClicked); + QObject::connect(refreshToolButton, &QToolButton::clicked, this, &SeerStackManagerWidget::handleRefreshToolButtonClicked); + QObject::connect(helpToolButton, &QToolButton::clicked, this, &SeerStackManagerWidget::handleHelpToolButtonClicked); + QObject::connect(tabWidget->tabBar(), &QTabBar::tabMoved, this, &SeerStackManagerWidget::handleTabMoved); + QObject::connect(tabWidget->tabBar(), &QTabBar::currentChanged, this, &SeerStackManagerWidget::handleTabChanged); } SeerStackManagerWidget::~SeerStackManagerWidget () { @@ -77,6 +83,94 @@ void SeerStackManagerWidget::handleHelpToolButtonClicked () { help->raise(); } +void SeerStackManagerWidget::handleTabMoved (int from, int to) { + + Q_UNUSED(from); + Q_UNUSED(to); + + writeSettings(); +} + +void SeerStackManagerWidget::handleTabChanged (int index) { + + Q_UNUSED(index); + + writeSettings(); +} + +void SeerStackManagerWidget::writeSettings () { + + // Write tab order to settings. + QStringList tabs; + + for (int i=0; itabBar()->count(); i++) { + tabs.append(tabWidget->tabBar()->tabText(i)); + } + + QString current = tabWidget->tabBar()->tabText(tabWidget->tabBar()->currentIndex()); + + //qDebug() << "Tabs" << tabs; + //qDebug() << "Current" << current; + + QSettings settings; + + settings.beginGroup("stackmanagerwindow"); { + settings.setValue("taborder", tabs.join(',')); + settings.setValue("tabcurrent", current); + } settings.endGroup(); +} + +void SeerStackManagerWidget::readSettings () { + + // Can't move things? + if (tabWidget->tabBar()->isMovable() == false) { + return; + } + + // Read tab order from settings. + QSettings settings; + QStringList tabs; + QString current; + + settings.beginGroup("stackmanagerwindow"); { + tabs = settings.value("taborder").toString().split(','); + current = settings.value("tabcurrent").toString(); + } settings.endGroup(); + + //qDebug() << "Tabs" << tabs; + //qDebug() << "Current" << current; + + // Move tabs to the requested order. + for (int i=0; itabBar()->count(); j++) { + if (tabWidget->tabBar()->tabText(j) == tab) { + tb = j; + break; + } + } + + if (tb != -1) { + tabWidget->tabBar()->moveTab(tb, i); + } + } + + // Make a tab current. + if (current != "") { + for (int i=0; itabBar()->count(); i++) { + if (tabWidget->tabBar()->tabText(i) == current) { + tabWidget->setCurrentIndex(i); + break; + } + } + }else{ + tabWidget->setCurrentIndex(0); + } +} + void SeerStackManagerWidget::handleText (const QString& text) { // Don't do any work if the widget is hidden. @@ -101,6 +195,10 @@ void SeerStackManagerWidget::handleText (const QString& text) { groupBox->setTitle("Stack Info for Thread Id : " + currentthreadid_text); + stackFramesBrowserWidget()->refresh(); + stackArgumentsBrowserWidget()->refresh(); + stackLocalsBrowserWidget()->refresh(); + }else if (text.startsWith("^error,msg=\"No registers.\"")) { groupBox->setTitle("Stack Info"); diff --git a/src/SeerStackManagerWidget.h b/src/SeerStackManagerWidget.h index 2cd82c3..b126ecd 100644 --- a/src/SeerStackManagerWidget.h +++ b/src/SeerStackManagerWidget.h @@ -23,6 +23,10 @@ class SeerStackManagerWidget : public QWidget, protected Ui::SeerStackManagerWid signals: void refreshThreadFrames (); + protected: + void writeSettings (); + void readSettings (); + public slots: void handleText (const QString& text); void handleStoppingPointReached (); @@ -31,6 +35,8 @@ class SeerStackManagerWidget : public QWidget, protected Ui::SeerStackManagerWid private slots: void handleRefreshToolButtonClicked (); void handleHelpToolButtonClicked (); + void handleTabMoved (int from, int to); + void handleTabChanged (int index); private: SeerStackFramesBrowserWidget* _stackFramesBrowserWidget; diff --git a/src/SeerThreadManagerWidget.cpp b/src/SeerThreadManagerWidget.cpp index f6f5c0c..746b290 100644 --- a/src/SeerThreadManagerWidget.cpp +++ b/src/SeerThreadManagerWidget.cpp @@ -5,6 +5,7 @@ #include #include #include +#include #include SeerThreadManagerWidget::SeerThreadManagerWidget (QWidget* parent) : QWidget(parent) { @@ -41,12 +42,17 @@ SeerThreadManagerWidget::SeerThreadManagerWidget (QWidget* parent) : QWidget(par tabWidget->setCornerWidget(hcontainer, Qt::TopRightCorner); + // Restore tab ordering. + readSettings(); + // Connect things. QObject::connect(refreshToolButton, &QToolButton::clicked, this, &SeerThreadManagerWidget::handleRefreshToolButtonClicked); QObject::connect(helpToolButton, &QToolButton::clicked, this, &SeerThreadManagerWidget::handleHelpToolButtonClicked); QObject::connect(schedulerLockingComboBox, QOverload::of(&QComboBox::currentIndexChanged), this, &SeerThreadManagerWidget::handleSchedulerLockingComboBox); QObject::connect(scheduleMultipleComboBox, QOverload::of(&QComboBox::currentIndexChanged), this, &SeerThreadManagerWidget::handleScheduleMultipleComboBox); QObject::connect(forkFollowsComboBox, QOverload::of(&QComboBox::currentIndexChanged), this, &SeerThreadManagerWidget::handleForkFollowComboBox); + QObject::connect(tabWidget->tabBar(), &QTabBar::tabMoved, this, &SeerThreadManagerWidget::handleTabMoved); + QObject::connect(tabWidget->tabBar(), &QTabBar::currentChanged, this, &SeerThreadManagerWidget::handleTabChanged); } SeerThreadManagerWidget::~SeerThreadManagerWidget () { @@ -130,3 +136,91 @@ void SeerThreadManagerWidget::handleForkFollowComboBox (int index) { emit forkFollowsModeChanged(forkFollowsComboBox->currentText()); } +void SeerThreadManagerWidget::handleTabMoved (int from, int to) { + + Q_UNUSED(from); + Q_UNUSED(to); + + writeSettings(); +} + +void SeerThreadManagerWidget::handleTabChanged (int index) { + + Q_UNUSED(index); + + writeSettings(); +} + +void SeerThreadManagerWidget::writeSettings () { + + // Write tab order to settings. + QStringList tabs; + + for (int i=0; itabBar()->count(); i++) { + tabs.append(tabWidget->tabBar()->tabText(i)); + } + + QString current = tabWidget->tabBar()->tabText(tabWidget->tabBar()->currentIndex()); + + //qDebug() << "Tabs" << tabs; + //qDebug() << "Current" << current; + + QSettings settings; + + settings.beginGroup("threadmanagerwindow"); { + settings.setValue("taborder", tabs.join(',')); + settings.setValue("tabcurrent", current); + } settings.endGroup(); +} + +void SeerThreadManagerWidget::readSettings () { + + // Can't move things? + if (tabWidget->tabBar()->isMovable() == false) { + return; + } + + // Read tab order from settings. + QSettings settings; + QStringList tabs; + QString current; + + settings.beginGroup("threadmanagerwindow"); { + tabs = settings.value("taborder").toString().split(','); + current = settings.value("tabcurrent").toString(); + } settings.endGroup(); + + //qDebug() << "Tabs" << tabs; + //qDebug() << "Current" << current; + + // Move tabs to the requested order. + for (int i=0; itabBar()->count(); j++) { + if (tabWidget->tabBar()->tabText(j) == tab) { + tb = j; + break; + } + } + + if (tb != -1) { + tabWidget->tabBar()->moveTab(tb, i); + } + } + + // Make a tab current. + if (current != "") { + for (int i=0; itabBar()->count(); i++) { + if (tabWidget->tabBar()->tabText(i) == current) { + tabWidget->setCurrentIndex(i); + break; + } + } + }else{ + tabWidget->setCurrentIndex(0); + } +} + diff --git a/src/SeerThreadManagerWidget.h b/src/SeerThreadManagerWidget.h index ae3c417..52a1722 100644 --- a/src/SeerThreadManagerWidget.h +++ b/src/SeerThreadManagerWidget.h @@ -25,6 +25,10 @@ class SeerThreadManagerWidget : public QWidget, protected Ui::SeerThreadManagerW void scheduleMultipleModeChanged (const QString& mode); void forkFollowsModeChanged (const QString& mode); + protected: + void writeSettings (); + void readSettings (); + public slots: void setSchedulerLockingMode (const QString& mode); QString schedulerLockingMode () const; @@ -41,6 +45,8 @@ class SeerThreadManagerWidget : public QWidget, protected Ui::SeerThreadManagerW void handleSchedulerLockingComboBox (int index); void handleScheduleMultipleComboBox (int index); void handleForkFollowComboBox (int index); + void handleTabMoved (int from, int to); + void handleTabChanged (int index); private: SeerThreadFramesBrowserWidget* _threadFramesBrowserWidget; diff --git a/src/SeerVariableManagerWidget.cpp b/src/SeerVariableManagerWidget.cpp index 16ca589..f8754ac 100644 --- a/src/SeerVariableManagerWidget.cpp +++ b/src/SeerVariableManagerWidget.cpp @@ -3,6 +3,7 @@ #include "QHContainerWidget.h" #include #include +#include #include SeerVariableManagerWidget::SeerVariableManagerWidget (QWidget* parent) : QWidget(parent) { @@ -39,9 +40,14 @@ SeerVariableManagerWidget::SeerVariableManagerWidget (QWidget* parent) : QWidget tabWidget->setCornerWidget(hcontainer, Qt::TopRightCorner); + // Restore tab ordering. + readSettings(); + // Connect things. - QObject::connect(refreshToolButton, &QToolButton::clicked, this, &SeerVariableManagerWidget::handleRefreshToolButtonClicked); - QObject::connect(helpToolButton, &QToolButton::clicked, this, &SeerVariableManagerWidget::handleHelpToolButtonClicked); + QObject::connect(refreshToolButton, &QToolButton::clicked, this, &SeerVariableManagerWidget::handleRefreshToolButtonClicked); + QObject::connect(helpToolButton, &QToolButton::clicked, this, &SeerVariableManagerWidget::handleHelpToolButtonClicked); + QObject::connect(tabWidget->tabBar(), &QTabBar::tabMoved, this, &SeerVariableManagerWidget::handleTabMoved); + QObject::connect(tabWidget->tabBar(), &QTabBar::currentChanged, this, &SeerVariableManagerWidget::handleTabChanged); } SeerVariableManagerWidget::~SeerVariableManagerWidget () { @@ -73,3 +79,91 @@ void SeerVariableManagerWidget::handleHelpToolButtonClicked () { help->raise(); } +void SeerVariableManagerWidget::handleTabMoved (int from, int to) { + + Q_UNUSED(from); + Q_UNUSED(to); + + writeSettings(); +} + +void SeerVariableManagerWidget::handleTabChanged (int index) { + + Q_UNUSED(index); + + writeSettings(); +} + +void SeerVariableManagerWidget::writeSettings () { + + // Write tab order to settings. + QStringList tabs; + + for (int i=0; itabBar()->count(); i++) { + tabs.append(tabWidget->tabBar()->tabText(i)); + } + + QString current = tabWidget->tabBar()->tabText(tabWidget->tabBar()->currentIndex()); + + //qDebug() << "Tabs" << tabs; + //qDebug() << "Current" << current; + + QSettings settings; + + settings.beginGroup("variablemanagerwindow"); { + settings.setValue("taborder", tabs.join(',')); + settings.setValue("tabcurrent", current); + } settings.endGroup(); +} + +void SeerVariableManagerWidget::readSettings () { + + // Can't move things? + if (tabWidget->tabBar()->isMovable() == false) { + return; + } + + // Read tab order from settings. + QSettings settings; + QStringList tabs; + QString current; + + settings.beginGroup("variablemanagerwindow"); { + tabs = settings.value("taborder").toString().split(','); + current = settings.value("tabcurrent").toString(); + } settings.endGroup(); + + //qDebug() << "Tabs" << tabs; + //qDebug() << "Current" << current; + + // Move tabs to the requested order. + for (int i=0; itabBar()->count(); j++) { + if (tabWidget->tabBar()->tabText(j) == tab) { + tb = j; + break; + } + } + + if (tb != -1) { + tabWidget->tabBar()->moveTab(tb, i); + } + } + + // Make a tab current. + if (current != "") { + for (int i=0; itabBar()->count(); i++) { + if (tabWidget->tabBar()->tabText(i) == current) { + tabWidget->setCurrentIndex(i); + break; + } + } + }else{ + tabWidget->setCurrentIndex(0); + } +} + diff --git a/src/SeerVariableManagerWidget.h b/src/SeerVariableManagerWidget.h index 9fd68a0..d6b9525 100644 --- a/src/SeerVariableManagerWidget.h +++ b/src/SeerVariableManagerWidget.h @@ -20,11 +20,15 @@ class SeerVariableManagerWidget : public QWidget, protected Ui::SeerVariableMana SeerVariableLoggerBrowserWidget* variableLoggerBrowserWidget (); SeerRegisterValuesBrowserWidget* registerValuesBrowserWidget (); - signals: - public slots: + protected: + void writeSettings (); + void readSettings (); + private slots: void handleRefreshToolButtonClicked (); void handleHelpToolButtonClicked (); + void handleTabMoved (int from, int to); + void handleTabChanged (int index); private: SeerVariableTrackerBrowserWidget* _variableTrackerBrowserWidget;