diff --git a/src/Ass/Line.hh b/src/Ass/Line.hh index 9af49255d8746b9de54cb13b691116b9f37de705..c4b1a39be5a0234ad7adc11dcdb708e0f07dc6e3 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 c56a3fcd8b69bd42f107c3277735888a91c4550a..82e6c4be083466d8b01545d7779e93b624fdc96b 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 964e755005873b769e3b00289ea74b3dc0bbba38..cb5c522b0dc7390fc5bb37753c613495d704f7bf 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 1a131209709a13a2c5e7bac3a473da3b63a40abd..a028ff88bb56e0c35af7db33808981351373af9e 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 d7841a30b22e5af7772a956d8d291c805cec25e7..a458ce83a9e3ecb1fce3862169fab6ebeec69d53 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 16939df780563f686ee9e7c072e87af5719d08c3..4492f05473899d8e764ae4c2598cdd3520f8e4c3 100644 --- a/src/VivyApplication.hh +++ b/src/VivyApplication.hh @@ -14,7 +14,6 @@ namespace Vivy { - class VivyApplication : public QApplication { Q_OBJECT