Skip to content

Commit

Permalink
Add close tab button
Browse files Browse the repository at this point in the history
  • Loading branch information
vicr123 committed Sep 8, 2023
1 parent 47d8ee7 commit 1b4beeb
Show file tree
Hide file tree
Showing 5 changed files with 413 additions and 47 deletions.
27 changes: 27 additions & 0 deletions application/mainwindow.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,9 @@ MainWindow::MainWindow(QWidget* parent) :
ui->stackedWidget->setCurrentAnimation(tStackedWidget::SlideHorizontal);
this->setWindowIcon(tApplication::applicationIcon());

connect(ui->stackedWidget, &tStackedWidget::switchingFrame, this, &MainWindow::updateMenuItems);
updateMenuItems();

ui->replyViewer->setFixedWidth(400);
}

Expand Down Expand Up @@ -198,3 +201,27 @@ QCoro::Task<> MainWindow::on_actionCheckout_triggered() {

SnapInPopover::showSnapInPopover(this, new CheckoutSnapIn(repo));
}

void MainWindow::on_actionClose_Tab_triggered() {
auto browser = qobject_cast<ZzzWorkspaceEditor*>(ui->stackedWidget->currentWidget());
if (browser) {
ui->stackedWidget->removeWidget(browser);
ui->windowTabber->removeButton(d->tabButtons.value(browser));
d->tabButtons.remove(browser);
browser->deleteLater();

updateMenuItems();
}
}

void MainWindow::updateMenuItems() {
bool enabled = qobject_cast<ZzzWorkspaceEditor*>(ui->stackedWidget->currentWidget());

ui->actionSave->setEnabled(enabled);
ui->actionSave_As->setEnabled(enabled);
ui->actionCommit->setEnabled(enabled);
ui->actionCheckout->setEnabled(enabled);
ui->actionPush->setEnabled(enabled);
ui->actionPull->setEnabled(enabled);
ui->actionClose_Tab->setEnabled(enabled);
}
2 changes: 2 additions & 0 deletions application/mainwindow.h
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,8 @@ class MainWindow : public QMainWindow {

QCoro::Task<> on_actionCheckout_triggered();

void on_actionClose_Tab_triggered();

private:
Ui::MainWindow* ui;
MainWindowPrivate* d;
Expand Down
11 changes: 10 additions & 1 deletion application/mainwindow.ui
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
</rect>
</property>
<property name="windowTitle">
<string>MainWindow</string>
<string>theZzz</string>
</property>
<widget class="QWidget" name="centralwidget">
<property name="autoFillBackground">
Expand Down Expand Up @@ -162,6 +162,7 @@
<addaction name="actionSave"/>
<addaction name="actionSave_As"/>
<addaction name="separator"/>
<addaction name="actionClose_Tab"/>
<addaction name="actionExit"/>
</widget>
<widget class="QMenu" name="menuGit">
Expand Down Expand Up @@ -253,6 +254,14 @@
<string>Ctrl+Alt+.</string>
</property>
</action>
<action name="actionClose_Tab">
<property name="text">
<string>Close Tab</string>
</property>
<property name="shortcut">
<string>Ctrl+W</string>
</property>
</action>
</widget>
<customwidgets>
<customwidget>
Expand Down
104 changes: 58 additions & 46 deletions application/translations/en_US.ts
Original file line number Diff line number Diff line change
Expand Up @@ -44,144 +44,156 @@
<name>MainWindow</name>
<message>
<location filename="../mainwindow.ui" line="14"/>
<location filename="../../../build-theZzz-Desktop_ARM-Debug/application/thezzz_autogen/include/ui_mainwindow.h" line="204"/>
<source>MainWindow</source>
<location filename="../../../build-theZzz-Desktop_ARM-Debug/application/thezzz_autogen/include/ui_mainwindow.h" line="208"/>
<source>theZzz</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.ui" line="157"/>
<location filename="../../../build-theZzz-Desktop_ARM-Debug/application/thezzz_autogen/include/ui_mainwindow.h" line="242"/>
<location filename="../../../build-theZzz-Desktop_ARM-Debug/application/thezzz_autogen/include/ui_mainwindow.h" line="250"/>
<source>File</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.ui" line="169"/>
<location filename="../../../build-theZzz-Desktop_ARM-Debug/application/thezzz_autogen/include/ui_mainwindow.h" line="243"/>
<location filename="../mainwindow.ui" line="170"/>
<location filename="../../../build-theZzz-Desktop_ARM-Debug/application/thezzz_autogen/include/ui_mainwindow.h" line="251"/>
<source>Git</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.ui" line="186"/>
<location filename="../../../build-theZzz-Desktop_ARM-Debug/application/thezzz_autogen/include/ui_mainwindow.h" line="205"/>
<location filename="../mainwindow.ui" line="187"/>
<location filename="../../../build-theZzz-Desktop_ARM-Debug/application/thezzz_autogen/include/ui_mainwindow.h" line="209"/>
<source>Exit</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.ui" line="189"/>
<location filename="../../../build-theZzz-Desktop_ARM-Debug/application/thezzz_autogen/include/ui_mainwindow.h" line="207"/>
<location filename="../mainwindow.ui" line="190"/>
<location filename="../../../build-theZzz-Desktop_ARM-Debug/application/thezzz_autogen/include/ui_mainwindow.h" line="211"/>
<source>Ctrl+Q</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.ui" line="194"/>
<location filename="../mainwindow.cpp" line="142"/>
<location filename="../../../build-theZzz-Desktop_ARM-Debug/application/thezzz_autogen/include/ui_mainwindow.h" line="209"/>
<location filename="../mainwindow.ui" line="195"/>
<location filename="../mainwindow.cpp" line="145"/>
<location filename="../../../build-theZzz-Desktop_ARM-Debug/application/thezzz_autogen/include/ui_mainwindow.h" line="213"/>
<source>New Workspace</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.ui" line="197"/>
<location filename="../../../build-theZzz-Desktop_ARM-Debug/application/thezzz_autogen/include/ui_mainwindow.h" line="211"/>
<location filename="../mainwindow.ui" line="198"/>
<location filename="../../../build-theZzz-Desktop_ARM-Debug/application/thezzz_autogen/include/ui_mainwindow.h" line="215"/>
<source>Ctrl+Shift+N</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.ui" line="202"/>
<location filename="../../../build-theZzz-Desktop_ARM-Debug/application/thezzz_autogen/include/ui_mainwindow.h" line="213"/>
<location filename="../mainwindow.ui" line="203"/>
<location filename="../../../build-theZzz-Desktop_ARM-Debug/application/thezzz_autogen/include/ui_mainwindow.h" line="217"/>
<source>Open Workspace</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.ui" line="205"/>
<location filename="../../../build-theZzz-Desktop_ARM-Debug/application/thezzz_autogen/include/ui_mainwindow.h" line="215"/>
<location filename="../mainwindow.ui" line="206"/>
<location filename="../../../build-theZzz-Desktop_ARM-Debug/application/thezzz_autogen/include/ui_mainwindow.h" line="219"/>
<source>Ctrl+O</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.ui" line="210"/>
<location filename="../../../build-theZzz-Desktop_ARM-Debug/application/thezzz_autogen/include/ui_mainwindow.h" line="217"/>
<location filename="../mainwindow.ui" line="211"/>
<location filename="../../../build-theZzz-Desktop_ARM-Debug/application/thezzz_autogen/include/ui_mainwindow.h" line="221"/>
<source>Save As</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.ui" line="213"/>
<location filename="../../../build-theZzz-Desktop_ARM-Debug/application/thezzz_autogen/include/ui_mainwindow.h" line="219"/>
<location filename="../mainwindow.ui" line="214"/>
<location filename="../../../build-theZzz-Desktop_ARM-Debug/application/thezzz_autogen/include/ui_mainwindow.h" line="223"/>
<source>Ctrl+Shift+S</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.ui" line="218"/>
<location filename="../../../build-theZzz-Desktop_ARM-Debug/application/thezzz_autogen/include/ui_mainwindow.h" line="221"/>
<location filename="../mainwindow.ui" line="219"/>
<location filename="../../../build-theZzz-Desktop_ARM-Debug/application/thezzz_autogen/include/ui_mainwindow.h" line="225"/>
<source>Save</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.ui" line="221"/>
<location filename="../../../build-theZzz-Desktop_ARM-Debug/application/thezzz_autogen/include/ui_mainwindow.h" line="223"/>
<location filename="../mainwindow.ui" line="222"/>
<location filename="../../../build-theZzz-Desktop_ARM-Debug/application/thezzz_autogen/include/ui_mainwindow.h" line="227"/>
<source>Ctrl+S</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.ui" line="226"/>
<location filename="../../../build-theZzz-Desktop_ARM-Debug/application/thezzz_autogen/include/ui_mainwindow.h" line="225"/>
<location filename="../mainwindow.ui" line="227"/>
<location filename="../../../build-theZzz-Desktop_ARM-Debug/application/thezzz_autogen/include/ui_mainwindow.h" line="229"/>
<source>Commit</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.ui" line="229"/>
<location filename="../../../build-theZzz-Desktop_ARM-Debug/application/thezzz_autogen/include/ui_mainwindow.h" line="227"/>
<location filename="../mainwindow.ui" line="230"/>
<location filename="../../../build-theZzz-Desktop_ARM-Debug/application/thezzz_autogen/include/ui_mainwindow.h" line="231"/>
<source>Ctrl+Alt+S</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.ui" line="234"/>
<location filename="../../../build-theZzz-Desktop_ARM-Debug/application/thezzz_autogen/include/ui_mainwindow.h" line="229"/>
<location filename="../mainwindow.ui" line="235"/>
<location filename="../../../build-theZzz-Desktop_ARM-Debug/application/thezzz_autogen/include/ui_mainwindow.h" line="233"/>
<source>Push</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.ui" line="237"/>
<location filename="../../../build-theZzz-Desktop_ARM-Debug/application/thezzz_autogen/include/ui_mainwindow.h" line="231"/>
<location filename="../mainwindow.ui" line="238"/>
<location filename="../../../build-theZzz-Desktop_ARM-Debug/application/thezzz_autogen/include/ui_mainwindow.h" line="235"/>
<source>Ctrl+Alt+Up</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.ui" line="242"/>
<location filename="../../../build-theZzz-Desktop_ARM-Debug/application/thezzz_autogen/include/ui_mainwindow.h" line="233"/>
<location filename="../mainwindow.ui" line="243"/>
<location filename="../../../build-theZzz-Desktop_ARM-Debug/application/thezzz_autogen/include/ui_mainwindow.h" line="237"/>
<source>Pull</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.ui" line="245"/>
<location filename="../../../build-theZzz-Desktop_ARM-Debug/application/thezzz_autogen/include/ui_mainwindow.h" line="235"/>
<location filename="../mainwindow.ui" line="246"/>
<location filename="../../../build-theZzz-Desktop_ARM-Debug/application/thezzz_autogen/include/ui_mainwindow.h" line="239"/>
<source>Ctrl+Alt+Down</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.ui" line="250"/>
<location filename="../../../build-theZzz-Desktop_ARM-Debug/application/thezzz_autogen/include/ui_mainwindow.h" line="237"/>
<location filename="../mainwindow.ui" line="251"/>
<location filename="../../../build-theZzz-Desktop_ARM-Debug/application/thezzz_autogen/include/ui_mainwindow.h" line="241"/>
<source>Checkout</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.ui" line="253"/>
<location filename="../../../build-theZzz-Desktop_ARM-Debug/application/thezzz_autogen/include/ui_mainwindow.h" line="239"/>
<location filename="../mainwindow.ui" line="254"/>
<location filename="../../../build-theZzz-Desktop_ARM-Debug/application/thezzz_autogen/include/ui_mainwindow.h" line="243"/>
<source>Ctrl+Alt+.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="113"/>
<location filename="../mainwindow.cpp" line="128"/>
<location filename="../mainwindow.ui" line="259"/>
<location filename="../../../build-theZzz-Desktop_ARM-Debug/application/thezzz_autogen/include/ui_mainwindow.h" line="245"/>
<source>Close Tab</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.ui" line="262"/>
<location filename="../../../build-theZzz-Desktop_ARM-Debug/application/thezzz_autogen/include/ui_mainwindow.h" line="247"/>
<source>Ctrl+W</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="116"/>
<location filename="../mainwindow.cpp" line="131"/>
<source>theZzz Workspace (*.zzz)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="185"/>
<location filename="../mainwindow.cpp" line="188"/>
<source>No Git Repository Available</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="186"/>
<location filename="../mainwindow.cpp" line="189"/>
<source>This workspace file is not in a Git repository. Init a Git repository, and then try again.</source>
<translation type="unfinished"></translation>
</message>
Expand Down
Loading

0 comments on commit 1b4beeb

Please sign in to comment.