diff --git a/ArchitectureColoredPainting/src/Editor/EditorWidget.cpp b/ArchitectureColoredPainting/src/Editor/EditorWidget.cpp index 5890d66..7f6cd17 100644 --- a/ArchitectureColoredPainting/src/Editor/EditorWidget.cpp +++ b/ArchitectureColoredPainting/src/Editor/EditorWidget.cpp @@ -39,6 +39,11 @@ void EditorWidget::renameTab(QWidget* target, QString name) } } +void EditorWidget::handleOpenPaintingFile(QString path) +{ + qDebug() << path; +} + void EditorWidget::onTabCountChanged(int prev, int now) { if (now != 0) diff --git a/ArchitectureColoredPainting/src/Editor/EditorWidget.h b/ArchitectureColoredPainting/src/Editor/EditorWidget.h index eedcef0..677f86b 100644 --- a/ArchitectureColoredPainting/src/Editor/EditorWidget.h +++ b/ArchitectureColoredPainting/src/Editor/EditorWidget.h @@ -4,27 +4,28 @@ #include "ui_EditorWidget.h" class EditorWidget : - public QWidget + public QWidget { - Q_OBJECT + Q_OBJECT private: - Ui::EditorWidget ui; - QTabWidget* tabWidget; - FluentMenuButton* fileMenuButton; - FluentMenuButton* projectMenuButton; + Ui::EditorWidget ui; + QTabWidget* tabWidget; + FluentMenuButton* fileMenuButton; + FluentMenuButton* projectMenuButton; + + void initFileMenu(); + void initProjectMenu(); - void initFileMenu(); - void initProjectMenu(); - public: EditorWidget(QWidget* parent = nullptr); - ~EditorWidget()=default; + ~EditorWidget() = default; void renameTab(QWidget* target, QString name); + void handleOpenPaintingFile(QString path); protected slots: - void onTabCountChanged(int prev, int now); + void onTabCountChanged(int prev, int now); signals: - void tabCountChanged(int prev, int now); + void tabCountChanged(int prev, int now); }; diff --git a/ArchitectureColoredPainting/src/MainWindow.cpp b/ArchitectureColoredPainting/src/MainWindow.cpp index 8cf932c..7768673 100644 --- a/ArchitectureColoredPainting/src/MainWindow.cpp +++ b/ArchitectureColoredPainting/src/MainWindow.cpp @@ -1,5 +1,6 @@ #include "MainWindow.h" #include "Renderer/RendererGLWidget.h" +#include "Editor/EditorWidget.h" #include "qslider.h" #include #include @@ -19,6 +20,7 @@ CentralWidget::CentralWidget(QWidget* parent) : QWidget(parent) ui.gridLayout->addWidget(navigationBarWidget, 0, 0, 1, 1, Qt::AlignTop | Qt::AlignHCenter); QObject::connect(navigationBarWidget->tabs, &QtMaterialTabs::currentChanged, ui.stackedWidget, &QStackedWidget::setCurrentIndex); QObject::connect(ui.stackedWidget, &QStackedWidget::currentChanged, ui.rendererWidget, &Renderer::RendererWidget::currentTabChanged); + QObject::connect(ui.rendererWidget, &Renderer::RendererWidget::openPaintingFile, ui.editorWidget, &EditorWidget::handleOpenPaintingFile); } CentralWidget::~CentralWidget() diff --git a/ArchitectureColoredPainting/src/Renderer/RendererWidget.cpp b/ArchitectureColoredPainting/src/Renderer/RendererWidget.cpp index e0acf8c..d2de672 100644 --- a/ArchitectureColoredPainting/src/Renderer/RendererWidget.cpp +++ b/ArchitectureColoredPainting/src/Renderer/RendererWidget.cpp @@ -61,7 +61,7 @@ Renderer::RendererWidget::RendererWidget(QWidget* parent) QObject::connect(ui.textureListWidget, &QListWidget::itemDoubleClicked, [&](QListWidgetItem* item) { QString paintingPath = QFileInfo(modelFileName).dir().filePath(item->text()); - qDebug() << paintingPath; + emit openPaintingFile(paintingPath); }); QObject::connect(ui.horizontalSlider, &QSlider::valueChanged, diff --git a/ArchitectureColoredPainting/src/Renderer/RendererWidget.h b/ArchitectureColoredPainting/src/Renderer/RendererWidget.h index 7243010..96b6b6b 100644 --- a/ArchitectureColoredPainting/src/Renderer/RendererWidget.h +++ b/ArchitectureColoredPainting/src/Renderer/RendererWidget.h @@ -14,7 +14,9 @@ namespace Renderer public slots: void currentTabChanged(int index); - + signals: + void openPaintingFile(QString path); + private: Ui::RendererWidgetClass ui; };