Skip to content
Extraits de code Groupes Projets
Vérifiée Valider c774343a rédigé par Kubat's avatar Kubat
Parcourir les fichiers

WINDOW: Wrap all the documents->addTab to have a coherent naming sceme and...

WINDOW: Wrap all the documents->addTab to have a coherent naming sceme and icons on all the document tabs
parent 1459812c
Branches
Étiquettes
1 requête de fusion!3Add documents
...@@ -166,9 +166,7 @@ MainWindow::newDocument(bool default_) noexcept ...@@ -166,9 +166,7 @@ MainWindow::newDocument(bool default_) noexcept
std::weak_ptr<VivyDocument> document = vivyApp->documentStore.newDocument(default_); std::weak_ptr<VivyDocument> document = vivyApp->documentStore.newDocument(default_);
try { try {
VivyDocumentView *documentView = new VivyDocumentView(document); addTab(new VivyDocumentView(document));
documents->addTab(documentView, QIcon(":/icons/vivy.png"), document.lock()->getName());
qDebug() << "View constructed successfully";
} catch (const std::runtime_error &e) { } catch (const std::runtime_error &e) {
qCritical() << "Failed to create a new empty document"; qCritical() << "Failed to create a new empty document";
if (auto locked = document.lock()) { if (auto locked = document.lock()) {
...@@ -197,9 +195,7 @@ MainWindow::openDocument() noexcept ...@@ -197,9 +195,7 @@ MainWindow::openDocument() noexcept
if (auto document = vivyApp->documentStore.loadDocument(filename).lock()) { if (auto document = vivyApp->documentStore.loadDocument(filename).lock()) {
try { try {
VivyDocumentView *documentView = new VivyDocumentView(document); addTab(new VivyDocumentView(document));
qDebug() << "View constructed successfully";
documents->addTab(documentView, document->getName());
if (auto doc = reinterpret_cast<const VivyDocumentView *>(documents->widget(0))->getDocument().lock()) { if (auto doc = reinterpret_cast<const VivyDocumentView *>(documents->widget(0))->getDocument().lock()) {
if (doc->isUntouchedDefault() && documents->count() == 2) { if (doc->isUntouchedDefault() && documents->count() == 2) {
closeDocument(0); closeDocument(0);
...@@ -253,3 +249,14 @@ MainWindow::loadSubDocumentAudio() noexcept ...@@ -253,3 +249,14 @@ MainWindow::loadSubDocumentAudio() noexcept
currDoc->setAudioSubDocument(filename); currDoc->setAudioSubDocument(filename);
} }
} }
void
MainWindow::addTab(VivyDocumentView *tab)
{
if (auto document = tab->getDocument().lock()) {
documents->addTab(tab, QIcon(":/icons/vivy.png"), document->getName());
qDebug() << "View constructed successfully";
} else {
throw std::runtime_error("failed to lock document from the view");
}
}
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
#include "Utils.hh" #include "Utils.hh"
#include "AudioVisualizer.hh" #include "AudioVisualizer.hh"
#include "Document/VivyDocumentStore.hh" #include "Document/VivyDocumentStore.hh"
#include "VivyDocumentView.hh"
#include <QMainWindow> #include <QMainWindow>
namespace Vivy namespace Vivy
...@@ -24,6 +25,9 @@ public: ...@@ -24,6 +25,9 @@ public:
std::weak_ptr<VivyDocument> getCurrentDocument() const; std::weak_ptr<VivyDocument> getCurrentDocument() const;
private:
void addTab(VivyDocumentView *);
private slots: private slots:
void newDocument(bool = false) noexcept; void newDocument(bool = false) noexcept;
void openDocument() noexcept; void openDocument() noexcept;
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter