From 4961db5ec3e2bf1388e7699ca3686a240abf1228 Mon Sep 17 00:00:00 2001 From: Kubat <mael.martin31@gmail.com> Date: Mon, 28 Jun 2021 08:52:16 +0200 Subject: [PATCH] WINDOW + FMT: Only enable the load sub document actions if the current document exists --- src/Ass/Line.hh | 1 - src/Ass/Style.hh | 1 - src/Ass/Syl.hh | 1 - src/MainWindow.cc | 24 +++++++++++++++++++----- src/MainWindow.hh | 1 - src/VivyApplication.hh | 1 - 6 files changed, 19 insertions(+), 10 deletions(-) diff --git a/src/Ass/Line.hh b/src/Ass/Line.hh index 9af49255..c4b1a39b 100644 --- a/src/Ass/Line.hh +++ b/src/Ass/Line.hh @@ -7,7 +7,6 @@ namespace Vivy::Ass { - class Line { private: quint64 start{ 0 }; diff --git a/src/Ass/Style.hh b/src/Ass/Style.hh index c56a3fcd..82e6c4be 100644 --- a/src/Ass/Style.hh +++ b/src/Ass/Style.hh @@ -7,7 +7,6 @@ namespace Vivy::Ass { - struct Color { union { quint8 a, r, g, b; diff --git a/src/Ass/Syl.hh b/src/Ass/Syl.hh index 964e7550..cb5c522b 100644 --- a/src/Ass/Syl.hh +++ b/src/Ass/Syl.hh @@ -8,7 +8,6 @@ namespace Vivy::Ass { - class Line; class Syl { diff --git a/src/MainWindow.cc b/src/MainWindow.cc index 1a131209..a028ff88 100644 --- a/src/MainWindow.cc +++ b/src/MainWindow.cc @@ -2,7 +2,9 @@ #include "DialogHelp.hh" #include "VivyDocumentView.hh" #include "Utils.hh" +#include "VivyApplication.hh" +#include <functional> #include <QFileInfo> #include <QStandardPaths> #include <QPixmap> @@ -14,7 +16,6 @@ #include <QImage> #include <QToolBar> #include <QTabWidget> -#include "VivyApplication.hh" #define DCL_MENU(menu, name) [[maybe_unused]] QMenu *menu##Menu = menuBar()->addMenu(name); @@ -91,11 +92,24 @@ MainWindow::MainWindow(QWidget *parent) noexcept /* Enable/disable actions depending on the context */ saveFileAct->setEnabled(false); saveFileAsAct->setEnabled(false); - connect(documents, &QTabWidget::currentChanged, saveFileAct, - [saveFileAct](int index) -> void { saveFileAct->setEnabled(index >= 0); }); - connect(documents, &QTabWidget::currentChanged, saveFileAsAct, - [saveFileAsAct](int index) -> void { saveFileAsAct->setEnabled(index >= 0); }); + loadSubDocumentAssAct->setEnabled(false); + loadSubDocumentVideoAct->setEnabled(false); + loadSubDocumentAudioAct->setEnabled(false); + + auto enableOnDocument = [](auto *widget, int index) noexcept -> void { widget->setEnabled(index >= 0); }; + + connect(documents, &QTabWidget::currentChanged, saveFileAct, std::bind_front(enableOnDocument, saveFileAct)); + connect(documents, &QTabWidget::currentChanged, saveFileAsAct, std::bind_front(enableOnDocument, saveFileAsAct)); + + connect(documents, &QTabWidget::currentChanged, loadSubDocumentAudioAct, + std::bind_front(enableOnDocument, loadSubDocumentAudioAct)); + connect(documents, &QTabWidget::currentChanged, loadSubDocumentVideoAct, + std::bind_front(enableOnDocument, loadSubDocumentVideoAct)); + connect(documents, &QTabWidget::currentChanged, loadSubDocumentAssAct, + std::bind_front(enableOnDocument, loadSubDocumentAssAct)); + /* Add a new empty document that will will be replaced if nothing is added + * to it. */ newDocument(true); /* Main window has finished its construction */ diff --git a/src/MainWindow.hh b/src/MainWindow.hh index d7841a30..a458ce83 100644 --- a/src/MainWindow.hh +++ b/src/MainWindow.hh @@ -13,7 +13,6 @@ namespace Vivy { - class MainWindow final : public QMainWindow { Q_OBJECT diff --git a/src/VivyApplication.hh b/src/VivyApplication.hh index 16939df7..4492f054 100644 --- a/src/VivyApplication.hh +++ b/src/VivyApplication.hh @@ -14,7 +14,6 @@ namespace Vivy { - class VivyApplication : public QApplication { Q_OBJECT -- GitLab