mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-07-08 16:50:44 +00:00
Default to deleting windows from ToolWindowManager when closed
This commit is contained in:
@@ -270,6 +270,7 @@ void ToolWindowManager::removeToolWindow(QWidget *toolWindow) {
|
||||
moveToolWindow(toolWindow, NoArea);
|
||||
m_toolWindows.removeOne(toolWindow);
|
||||
m_toolWindowProperties.remove(toolWindow);
|
||||
delete toolWindow;
|
||||
}
|
||||
|
||||
QWidget* ToolWindowManager::createToolWindow(const QString& objectName)
|
||||
@@ -790,7 +791,11 @@ void ToolWindowManager::tabCloseRequested(int index) {
|
||||
qWarning("unknown tab in tab widget");
|
||||
return;
|
||||
}
|
||||
hideToolWindow(toolWindow);
|
||||
|
||||
if(toolWindowProperties(toolWindow) & ToolWindowManager::HideOnClose)
|
||||
hideToolWindow(toolWindow);
|
||||
else
|
||||
removeToolWindow(toolWindow);
|
||||
}
|
||||
|
||||
void ToolWindowManager::windowTitleChanged(const QString &title) {
|
||||
|
||||
@@ -113,6 +113,8 @@ public:
|
||||
HideCloseButton = 0x2,
|
||||
//! Disable the user being able to drag this tab in the tab bar, to rearrange
|
||||
DisableDraggableTab = 0x4,
|
||||
//! When the tool window is closed, hide it instead of removing it
|
||||
HideOnClose = 0x8,
|
||||
};
|
||||
|
||||
//! Type of AreaReference.
|
||||
|
||||
@@ -165,6 +165,13 @@ CaptureDialog::CaptureDialog(CaptureContext *ctx, OnCaptureMethod captureCallbac
|
||||
|
||||
CaptureDialog::~CaptureDialog()
|
||||
{
|
||||
if(ui->toggleGlobal->isChecked())
|
||||
{
|
||||
ui->toggleGlobal->setChecked(false);
|
||||
|
||||
updateGlobalHook();
|
||||
}
|
||||
|
||||
delete ui;
|
||||
}
|
||||
|
||||
@@ -504,16 +511,6 @@ void CaptureDialog::loadSettings(QString filename)
|
||||
}
|
||||
}
|
||||
|
||||
void CaptureDialog::closeEvent(QCloseEvent *event)
|
||||
{
|
||||
if(ui->toggleGlobal->isChecked())
|
||||
{
|
||||
ui->toggleGlobal->setChecked(false);
|
||||
|
||||
updateGlobalHook();
|
||||
}
|
||||
}
|
||||
|
||||
void CaptureDialog::updateGlobalHook()
|
||||
{
|
||||
ui->globalGroup->setVisible(!injectMode() && m_Ctx->Config.AllowGlobalHook);
|
||||
|
||||
@@ -141,12 +141,12 @@ MainWindow::MainWindow(CaptureContext *ctx) : QMainWindow(NULL), ui(new Ui::Main
|
||||
// create default layout if layout failed to load
|
||||
if(!loaded)
|
||||
{
|
||||
EventBrowser *eventBrowser = new EventBrowser(m_Ctx);
|
||||
EventBrowser *eventBrowser = new EventBrowser(m_Ctx, this);
|
||||
eventBrowser->setObjectName("eventBrowser");
|
||||
|
||||
ui->toolWindowManager->addToolWindow(eventBrowser, ToolWindowManager::EmptySpace);
|
||||
|
||||
TextureViewer *textureViewer = new TextureViewer(m_Ctx);
|
||||
TextureViewer *textureViewer = new TextureViewer(m_Ctx, this);
|
||||
textureViewer->setObjectName("textureViewer");
|
||||
|
||||
ui->toolWindowManager->addToolWindow(
|
||||
@@ -596,9 +596,9 @@ CaptureDialog *MainWindow::createCaptureDialog()
|
||||
m_Ctx,
|
||||
[this](const QString &exe, const QString &workingDir, const QString &cmdLine,
|
||||
const QList<EnvironmentModification> &env,
|
||||
CaptureOptions opts) { this->OnCaptureTrigger(exe, workingDir, cmdLine, env, opts); },
|
||||
CaptureOptions opts) { return this->OnCaptureTrigger(exe, workingDir, cmdLine, env, opts); },
|
||||
[this](uint32_t PID, const QList<EnvironmentModification> &env, const QString &name,
|
||||
CaptureOptions opts) { this->OnInjectTrigger(PID, env, name, opts); });
|
||||
CaptureOptions opts) { return this->OnInjectTrigger(PID, env, name, opts); }, this);
|
||||
ret->setObjectName("capDialog");
|
||||
return ret;
|
||||
}
|
||||
@@ -810,7 +810,7 @@ void MainWindow::on_action_Mesh_Output_triggered()
|
||||
|
||||
void MainWindow::on_action_Event_Viewer_triggered()
|
||||
{
|
||||
EventBrowser *eventBrowser = new EventBrowser(m_Ctx);
|
||||
EventBrowser *eventBrowser = new EventBrowser(m_Ctx, this);
|
||||
eventBrowser->setObjectName("eventBrowser");
|
||||
|
||||
ui->toolWindowManager->addToolWindow(eventBrowser, ToolWindowManager::EmptySpace);
|
||||
@@ -818,7 +818,7 @@ void MainWindow::on_action_Event_Viewer_triggered()
|
||||
|
||||
void MainWindow::on_action_Texture_Viewer_triggered()
|
||||
{
|
||||
TextureViewer *textureViewer = new TextureViewer(m_Ctx);
|
||||
TextureViewer *textureViewer = new TextureViewer(m_Ctx, this);
|
||||
textureViewer->setObjectName("textureViewer");
|
||||
|
||||
ui->toolWindowManager->addToolWindow(textureViewer, ToolWindowManager::EmptySpace);
|
||||
|
||||
@@ -3251,6 +3251,7 @@ void TextureViewer::on_texListShow_clicked()
|
||||
ui->textureListFrame,
|
||||
ToolWindowManager::AreaReference(ToolWindowManager::LeftOf,
|
||||
ui->dockarea->areaOf(ui->renderContainer), 0.2f));
|
||||
ui->dockarea->setToolWindowProperties(ui->textureListFrame, ToolWindowManager::HideOnClose);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user