Skip to content

Commit

Permalink
feat: make document tabs easily closable via mouse
Browse files Browse the repository at this point in the history
  • Loading branch information
Cuperino committed Mar 3, 2025
1 parent 95ba0b5 commit f118094
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 4 deletions.
20 changes: 17 additions & 3 deletions src/gui/mainwindow.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -179,6 +179,7 @@ MainWindow::MainWindow(QWidget *parent)
m_palette->showPalette();
});
connect(ui->actionCloseDocument, &QAction::triggered, this, &MainWindow::closeDocument);
connect(ui->tabWidget, &QTabWidget::tabCloseRequested, this, &MainWindow::closeDocument);

// Script
ui->apiExecutorWidget->hide();
Expand Down Expand Up @@ -513,12 +514,25 @@ void MainWindow::saveDocument()
document->save();
}

void MainWindow::closeDocument()
void MainWindow::closeDocument(int closeIndex)
{
const int currentIndex = ui->tabWidget->currentIndex();
bool differentIndex = false;
if (closeIndex == 0)
closeIndex = currentIndex;
else
differentIndex = currentIndex != closeIndex;
if (differentIndex)
ui->tabWidget->setCurrentIndex(closeIndex);

auto document = Core::Project::instance()->currentDocument();
if (document)
if (document) {
document->close();
ui->tabWidget->removeTab(ui->tabWidget->currentIndex());
ui->tabWidget->removeTab(closeIndex);
}

if (differentIndex)
ui->tabWidget->setCurrentIndex(currentIndex - (closeIndex < currentIndex ? 1 : 0));
}

void MainWindow::createQrc()
Expand Down
2 changes: 1 addition & 1 deletion src/gui/mainwindow.h
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ class MainWindow : public QMainWindow
void openProject();
void saveDocument();
void saveAllDocuments();
void closeDocument();
void closeDocument(int);
void openOptions();
void returnToEditor();

Expand Down
3 changes: 3 additions & 0 deletions src/gui/mainwindow.ui
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,9 @@
<property name="documentMode">
<bool>true</bool>
</property>
<property name="tabsClosable">
<bool>true</bool>
</property>
</widget>
</item>
<item>
Expand Down

0 comments on commit f118094

Please sign in to comment.