Add utility function to raise a toolwindow

This commit is contained in:
baldurk
2016-11-21 17:58:00 +01:00
parent 23d8c12457
commit 46a86dce92
4 changed files with 28 additions and 7 deletions
@@ -297,6 +297,26 @@ void ToolWindowManager::closeToolWindow(QWidget *toolWindow) {
qWarning("window not child of any tool window");
}
void ToolWindowManager::raiseToolWindow(QWidget *toolWindow) {
if (!toolWindow) {
qWarning("NULL tool window");
return;
}
// if the parent is a ToolWindowManagerArea, switch tabs
QWidget *parent = toolWindow->parentWidget();
ToolWindowManagerArea *area = qobject_cast<ToolWindowManagerArea*>(parent);
if(area == NULL)
parent = parent->parentWidget();
area = qobject_cast<ToolWindowManagerArea*>(parent);
if(area)
area->setCurrentWidget(toolWindow);
else
qWarning("parent is not a tool window area");
}
QWidget* ToolWindowManager::createToolWindow(const QString& objectName)
{
if (m_createCallback) {
@@ -235,6 +235,7 @@ public:
void hideToolWindow(QWidget* toolWindow) { moveToolWindow(toolWindow, NoArea); }
static void closeToolWindow(QWidget *toolWindow);
static void raiseToolWindow(QWidget *toolWindow);
/*!
* \brief saveState
+2 -2
View File
@@ -501,7 +501,7 @@ bool LiveCapture::checkAllowDelete()
if(!needcheck || ui->captures->selectedItems().empty())
return true;
this->activateWindow();
ToolWindowManager::raiseToolWindow(this);
QMessageBox::StandardButton res = RDDialog::question(
this, tr("Unsaved log(s)", "", ui->captures->selectedItems().size()),
@@ -539,7 +539,7 @@ bool LiveCapture::checkAllowClose()
continue;
ui->captures->clearSelection();
this->activateWindow();
ToolWindowManager::raiseToolWindow(this);
ui->captures->setFocus();
item->setSelected(true);
+5 -5
View File
@@ -868,7 +868,7 @@ void MainWindow::OnLogfileLoaded()
PopulateRecentFiles();
m_Ctx->eventBrowser()->activateWindow();
ToolWindowManager::raiseToolWindow(m_Ctx->eventBrowser());
}
void MainWindow::OnLogfileClosed()
@@ -922,7 +922,7 @@ void MainWindow::on_action_Event_Browser_triggered()
EventBrowser *eventBrowser = m_Ctx->eventBrowser();
if(ui->toolWindowManager->toolWindows().contains(eventBrowser))
eventBrowser->activateWindow();
ToolWindowManager::raiseToolWindow(eventBrowser);
else
ui->toolWindowManager->addToolWindow(eventBrowser, leftToolArea());
}
@@ -932,7 +932,7 @@ void MainWindow::on_action_Texture_Viewer_triggered()
TextureViewer *textureViewer = m_Ctx->textureViewer();
if(ui->toolWindowManager->toolWindows().contains(textureViewer))
textureViewer->activateWindow();
ToolWindowManager::raiseToolWindow(textureViewer);
else
ui->toolWindowManager->addToolWindow(textureViewer, mainToolArea());
}
@@ -944,7 +944,7 @@ void MainWindow::on_action_Capture_Log_triggered()
capDialog->setInjectMode(false);
if(ui->toolWindowManager->toolWindows().contains(capDialog))
capDialog->activateWindow();
ToolWindowManager::raiseToolWindow(capDialog);
else
ui->toolWindowManager->addToolWindow(capDialog, mainToolArea());
}
@@ -956,7 +956,7 @@ void MainWindow::on_action_Inject_into_Process_triggered()
capDialog->setInjectMode(true);
if(ui->toolWindowManager->toolWindows().contains(capDialog))
capDialog->activateWindow();
ToolWindowManager::raiseToolWindow(capDialog);
else
ui->toolWindowManager->addToolWindow(capDialog, mainToolArea());
}