diff --git a/src/gui/Src/Gui/MainWindow.cpp b/src/gui/Src/Gui/MainWindow.cpp
index f5d6c12d..84f32e4c 100644
--- a/src/gui/Src/Gui/MainWindow.cpp
+++ b/src/gui/Src/Gui/MainWindow.cpp
@@ -316,6 +316,8 @@ MainWindow::MainWindow(QWidget* parent)
connect(ui->actionSnowman, SIGNAL(triggered()), this, SLOT(displaySnowmanWidget()));
connect(ui->actionHandles, SIGNAL(triggered()), this, SLOT(displayHandlesWidget()));
connect(ui->actionGraph, SIGNAL(triggered()), this, SLOT(displayGraphWidget()));
+ connect(ui->actionPreviousTab, SIGNAL(triggered()), this, SLOT(displayPreviousTab()));
+ connect(ui->actionNextTab, SIGNAL(triggered()), this, SLOT(displayNextTab()));
makeCommandAction(ui->actionStepIntoSource, "TraceIntoConditional src.line(cip) && !src.disp(cip)");
makeCommandAction(ui->actionStepOverSource, "TraceOverConditional src.line(cip) && !src.disp(cip)");
makeCommandAction(ui->actionseStepInto, "seStepInto");
@@ -572,6 +574,8 @@ void MainWindow::refreshShortcuts()
setGlobalShortcut(ui->actionSnowman, ConfigShortcut("ViewSnowman"));
setGlobalShortcut(ui->actionHandles, ConfigShortcut("ViewHandles"));
setGlobalShortcut(ui->actionGraph, ConfigShortcut("ViewGraph"));
+ setGlobalShortcut(ui->actionPreviousTab, ConfigShortcut("ViewPreviousTab"));
+ setGlobalShortcut(ui->actionNextTab, ConfigShortcut("ViewNextTab"));
setGlobalShortcut(ui->actionRun, ConfigShortcut("DebugRun"));
setGlobalShortcut(ui->actioneRun, ConfigShortcut("DebugeRun"));
@@ -918,6 +922,16 @@ void MainWindow::displayGraphWidget()
showQWidgetTab(mGraphView);
}
+void MainWindow::displayPreviousTab()
+{
+ mTabWidget->showPreviousTab();
+}
+
+void MainWindow::displayNextTab()
+{
+ mTabWidget->showNextTab();
+}
+
void MainWindow::openSettings()
{
SettingsDialog* settings = new SettingsDialog(this);
diff --git a/src/gui/Src/Gui/MainWindow.h b/src/gui/Src/Gui/MainWindow.h
index df05320e..ce17a3a7 100644
--- a/src/gui/Src/Gui/MainWindow.h
+++ b/src/gui/Src/Gui/MainWindow.h
@@ -83,6 +83,8 @@ public slots:
void displayThreadsWidget();
void displaySnowmanWidget();
void displayGraphWidget();
+ void displayPreviousTab();
+ void displayNextTab();
void openSettings();
void openAppearance();
void openCalculator();
diff --git a/src/gui/Src/Gui/MainWindow.ui b/src/gui/Src/Gui/MainWindow.ui
index 3fe7f9b6..1199c609 100644
--- a/src/gui/Src/Gui/MainWindow.ui
+++ b/src/gui/Src/Gui/MainWindow.ui
@@ -72,6 +72,9 @@
+
+
+
diff --git a/src/gui/Src/Gui/TabWidget.cpp b/src/gui/Src/Gui/TabWidget.cpp
index 0e423ade..bca124a8 100644
--- a/src/gui/Src/Gui/TabWidget.cpp
+++ b/src/gui/Src/Gui/TabWidget.cpp
@@ -198,6 +198,36 @@ QString MHTabWidget::getNativeName(int index)
}
}
+void MHTabWidget::showPreviousTab()
+{
+ if(QTabWidget::count() <= 1)
+ {
+ return;
+ }
+
+ int previousTabIndex = QTabWidget::currentIndex();
+ if(previousTabIndex == 0)
+ {
+ previousTabIndex = QTabWidget::count() - 1;
+ }
+ else
+ {
+ previousTabIndex--;
+ }
+
+ QTabWidget::setCurrentIndex(previousTabIndex);
+}
+
+void MHTabWidget::showNextTab()
+{
+ if(QTabWidget::count() <= 1)
+ {
+ return;
+ }
+
+ QTabWidget::setCurrentIndex((QTabWidget::currentIndex() + 1) % QTabWidget::count());
+}
+
//----------------------------------------------------------------------------
MHDetachedWindow::MHDetachedWindow(QWidget* parent, MHTabWidget* tabwidget) : QMainWindow(parent)
diff --git a/src/gui/Src/Gui/TabWidget.h b/src/gui/Src/Gui/TabWidget.h
index 970a0613..07af9c63 100644
--- a/src/gui/Src/Gui/TabWidget.h
+++ b/src/gui/Src/Gui/TabWidget.h
@@ -29,6 +29,8 @@ public:
int addTabEx(QWidget* widget, const QIcon & icon, const QString & label, const QString & nativeName);
QString getNativeName(int index);
+ void showPreviousTab();
+ void showNextTab();
signals:
void tabMovedTabWidget(int from, int to);
diff --git a/src/gui/Src/Utils/Configuration.cpp b/src/gui/Src/Utils/Configuration.cpp
index ebd6efef..f1029d8c 100644
--- a/src/gui/Src/Utils/Configuration.cpp
+++ b/src/gui/Src/Utils/Configuration.cpp
@@ -308,6 +308,8 @@ Configuration::Configuration() : QObject(), noMoreMsgbox(false)
defaultShortcuts.insert("ViewSnowman", Shortcut(tr("View -> Snowman"), "", true));
defaultShortcuts.insert("ViewHandles", Shortcut(tr("View -> Handles"), "", true));
defaultShortcuts.insert("ViewGraph", Shortcut(tr("View -> Graph"), "Alt+G", true));
+ defaultShortcuts.insert("ViewPreviousTab", Shortcut(tr("View -> Previous Tab"), "Ctrl+Shift+Tab"));
+ defaultShortcuts.insert("ViewNextTab", Shortcut(tr("View -> Next Tab"), "Ctrl+Tab"));
defaultShortcuts.insert("DebugRun", Shortcut(tr("Debug -> Run"), "F9", true));
defaultShortcuts.insert("DebugeRun", Shortcut(tr("Debug -> Run (pass exceptions)"), "Shift+F9", true));