.
This commit is contained in:
+1
-1
@@ -5,7 +5,7 @@
|
||||
|
||||
|
||||
cChapterWindow::cChapterWindow(QWidget *parent) :
|
||||
QWidget(parent),
|
||||
cMDISubWindow(parent),
|
||||
ui(new Ui::cChapterWindow),
|
||||
m_lpChapter(0),
|
||||
m_lpSceneList(0)
|
||||
|
||||
+3
-1
@@ -6,6 +6,8 @@
|
||||
#include "cchapter.h"
|
||||
#include "cscene.h"
|
||||
|
||||
#include "cmdisubwindow.h"
|
||||
|
||||
#include <QWidget>
|
||||
#include <QStandardItemModel>
|
||||
|
||||
@@ -14,7 +16,7 @@ namespace Ui {
|
||||
class cChapterWindow;
|
||||
}
|
||||
|
||||
class cChapterWindow : public QWidget
|
||||
class cChapterWindow : public cMDISubWindow
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
|
||||
cCharacterWindow::cCharacterWindow(QWidget *parent) :
|
||||
QWidget(parent),
|
||||
cMDISubWindow(parent),
|
||||
ui(new Ui::cCharacterWindow),
|
||||
m_lpCharacter(0)
|
||||
{
|
||||
|
||||
+3
-1
@@ -4,6 +4,8 @@
|
||||
|
||||
#include "ccharacter.h"
|
||||
|
||||
#include "cmdisubwindow.h"
|
||||
|
||||
#include <QWidget>
|
||||
#include <QStandardItemModel>
|
||||
|
||||
@@ -12,7 +14,7 @@ namespace Ui {
|
||||
class cCharacterWindow;
|
||||
}
|
||||
|
||||
class cCharacterWindow : public QWidget
|
||||
class cCharacterWindow : public cMDISubWindow
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
|
||||
+34
-3
@@ -4,9 +4,6 @@
|
||||
#include "ctextdocument.h"
|
||||
|
||||
#include "cpartwindow.h"
|
||||
//#include "cchapterwindow.h"
|
||||
//#include "cscenewindow.h"
|
||||
//#include "ccharacterwindow.h"
|
||||
|
||||
#include "cwidget.h"
|
||||
|
||||
@@ -414,6 +411,26 @@ void cMainWindow::onMdiAreaSubWindowActivated(QMdiSubWindow *arg1)
|
||||
m_bUpdatingTab = false;
|
||||
}
|
||||
|
||||
void cMainWindow::onSubWindowClosed(QWidget* lpSubWindow)
|
||||
{
|
||||
if(m_bUpdatingTab)
|
||||
return;
|
||||
|
||||
m_bUpdatingTab = true;
|
||||
|
||||
for(int x = 0;x < ui->m_lpMainTab->count();x++)
|
||||
{
|
||||
cWidget* lpWidget = (cWidget*)ui->m_lpMainTab->widget(x);
|
||||
if(lpWidget->widget() == lpSubWindow)
|
||||
{
|
||||
ui->m_lpMainTab->removeTab(x);
|
||||
m_bUpdatingTab = false;
|
||||
return;
|
||||
}
|
||||
}
|
||||
m_bUpdatingTab = false;
|
||||
}
|
||||
|
||||
void cMainWindow::onOutlineDoubleClicked(const QModelIndex& index)
|
||||
{
|
||||
QStandardItem* lpItem = m_lpOutlineModel->itemFromIndex(index);
|
||||
@@ -487,6 +504,8 @@ void cMainWindow::onShowPartWindow(cPart* lpPart)
|
||||
lpWidget1->setWindow(ui->m_lpMdiArea->addSubWindow(lpPartWindow));
|
||||
ui->m_lpMainTab->addTab((QWidget*)lpWidget1, lpPartWindow->windowTitle());
|
||||
|
||||
connect(lpPartWindow, SIGNAL(subWindowClosed(QWidget*)), this, SLOT(onSubWindowClosed(QWidget*)));
|
||||
|
||||
lpPartWindow->show();
|
||||
}
|
||||
|
||||
@@ -514,6 +533,8 @@ void cMainWindow::onShowChapterWindow(cChapter* lpChapter)
|
||||
lpWidget1->setWindow(ui->m_lpMdiArea->addSubWindow(lpChapterWindow));
|
||||
ui->m_lpMainTab->addTab((QWidget*)lpWidget1, lpChapterWindow->windowTitle());
|
||||
|
||||
connect(lpChapterWindow, SIGNAL(subWindowClosed(QWidget*)), this, SLOT(onSubWindowClosed(QWidget*)));
|
||||
|
||||
lpChapterWindow->show();
|
||||
}
|
||||
|
||||
@@ -545,6 +566,8 @@ void cMainWindow::onShowSceneWindow(cScene* lpScene)
|
||||
connect(lpSceneWindow, SIGNAL(showPlaceWindow(cPlace*)), this, SLOT(onShowPlaceWindow(cPlace*)));
|
||||
connect(lpSceneWindow, SIGNAL(showObjectWindow(cObject*)), this, SLOT(onShowObjectWindow(cObject*)));
|
||||
|
||||
connect(lpSceneWindow, SIGNAL(subWindowClosed(QWidget*)), this, SLOT(onSubWindowClosed(QWidget*)));
|
||||
|
||||
lpSceneWindow->show();
|
||||
}
|
||||
|
||||
@@ -572,6 +595,8 @@ void cMainWindow::onShowCharacterWindow(cCharacter* lpCharacter)
|
||||
lpWidget1->setWindow(ui->m_lpMdiArea->addSubWindow(lpCharacterWindow));
|
||||
ui->m_lpMainTab->addTab((QWidget*)lpWidget1, lpCharacterWindow->windowTitle());
|
||||
|
||||
connect(lpCharacterWindow, SIGNAL(subWindowClosed(QWidget*)), this, SLOT(onSubWindowClosed(QWidget*)));
|
||||
|
||||
lpCharacterWindow->show();
|
||||
}
|
||||
|
||||
@@ -599,6 +624,8 @@ void cMainWindow::onShowPlaceWindow(cPlace* lpPlace)
|
||||
lpWidget1->setWindow(ui->m_lpMdiArea->addSubWindow(lpPlaceWindow));
|
||||
ui->m_lpMainTab->addTab((QWidget*)lpWidget1, lpPlaceWindow->windowTitle());
|
||||
|
||||
connect(lpPlaceWindow, SIGNAL(subWindowClosed(QWidget*)), this, SLOT(onSubWindowClosed(QWidget*)));
|
||||
|
||||
lpPlaceWindow->show();
|
||||
}
|
||||
|
||||
@@ -626,6 +653,8 @@ void cMainWindow::onShowObjectWindow(cObject* lpObject)
|
||||
lpWidget1->setWindow(ui->m_lpMdiArea->addSubWindow(lpObjectWindow));
|
||||
ui->m_lpMainTab->addTab((QWidget*)lpWidget1, lpObjectWindow->windowTitle());
|
||||
|
||||
connect(lpObjectWindow, SIGNAL(subWindowClosed(QWidget*)), this, SLOT(onSubWindowClosed(QWidget*)));
|
||||
|
||||
lpObjectWindow->show();
|
||||
}
|
||||
|
||||
@@ -657,6 +686,8 @@ void cMainWindow::onShowRechercheWindow(cRecherche* lpRecherche)
|
||||
connect(lpRechercheWindow, SIGNAL(showPlaceWindow(cPlace*)), this, SLOT(onShowPlaceWindow(cPlace*)));
|
||||
connect(lpRechercheWindow, SIGNAL(showObjectWindow(cObject*)), this, SLOT(onShowObjectWindow(cObject*)));
|
||||
|
||||
connect(lpRechercheWindow, SIGNAL(subWindowClosed(QWidget*)), this, SLOT(onSubWindowClosed(QWidget*)));
|
||||
|
||||
lpRechercheWindow->show();
|
||||
}
|
||||
|
||||
|
||||
@@ -34,6 +34,8 @@ private slots:
|
||||
void onMainTabTabCloseRequested(int index);
|
||||
void onMdiAreaSubWindowActivated(QMdiSubWindow *arg1);
|
||||
|
||||
void onSubWindowClosed(QWidget* lpSubWindow);
|
||||
|
||||
void onOutlineDoubleClicked(const QModelIndex& index);
|
||||
void onCharacterDoubleClicked(const QModelIndex& index);
|
||||
void onPlaceDoubleClicked(const QModelIndex& index);
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
#include "cmdisubwindow.h"
|
||||
|
||||
#include <QCloseEvent>
|
||||
|
||||
|
||||
cMDISubWindow::cMDISubWindow(QWidget *parent) : QWidget(parent)
|
||||
{
|
||||
}
|
||||
|
||||
void cMDISubWindow::closeEvent(QCloseEvent* event)
|
||||
{
|
||||
emit subWindowClosed(this);
|
||||
event->accept();
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
#ifndef CMDISUBWINDOW_H
|
||||
#define CMDISUBWINDOW_H
|
||||
|
||||
|
||||
#include <QWidget>
|
||||
|
||||
|
||||
class cMDISubWindow : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit cMDISubWindow(QWidget *parent = nullptr);
|
||||
|
||||
signals:
|
||||
void subWindowClosed(QWidget* lpWidget);
|
||||
|
||||
public slots:
|
||||
|
||||
protected:
|
||||
void closeEvent(QCloseEvent *event);
|
||||
};
|
||||
|
||||
#endif // CMDISUBWINDOW_H
|
||||
+1
-1
@@ -7,7 +7,7 @@
|
||||
|
||||
|
||||
cObjectWindow::cObjectWindow(QWidget *parent) :
|
||||
QWidget(parent),
|
||||
cMDISubWindow(parent),
|
||||
ui(new Ui::cObjectWindow),
|
||||
m_lpObject(0)
|
||||
{
|
||||
|
||||
+3
-1
@@ -4,6 +4,8 @@
|
||||
|
||||
#include "cobject.h"
|
||||
|
||||
#include "cmdisubwindow.h"
|
||||
|
||||
#include <QWidget>
|
||||
#include <QStandardItemModel>
|
||||
|
||||
@@ -12,7 +14,7 @@ namespace Ui {
|
||||
class cObjectWindow;
|
||||
}
|
||||
|
||||
class cObjectWindow : public QWidget
|
||||
class cObjectWindow : public cMDISubWindow
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
|
||||
+1
-1
@@ -5,7 +5,7 @@
|
||||
|
||||
|
||||
cPartWindow::cPartWindow(QWidget *parent) :
|
||||
QWidget(parent),
|
||||
cMDISubWindow(parent),
|
||||
ui(new Ui::cPartWindow),
|
||||
m_lpPart(0),
|
||||
m_lpChapterList(0)
|
||||
|
||||
+3
-1
@@ -5,6 +5,8 @@
|
||||
#include "cpart.h"
|
||||
#include "cchapter.h"
|
||||
|
||||
#include "cmdisubwindow.h"
|
||||
|
||||
#include <QWidget>
|
||||
#include <QStandardItemModel>
|
||||
|
||||
@@ -13,7 +15,7 @@ namespace Ui {
|
||||
class cPartWindow;
|
||||
}
|
||||
|
||||
class cPartWindow : public QWidget
|
||||
class cPartWindow : public cMDISubWindow
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
|
||||
+1
-1
@@ -7,7 +7,7 @@
|
||||
|
||||
|
||||
cPlaceWindow::cPlaceWindow(QWidget *parent) :
|
||||
QWidget(parent),
|
||||
cMDISubWindow(parent),
|
||||
ui(new Ui::cPlaceWindow),
|
||||
m_lpPlace(0)
|
||||
{
|
||||
|
||||
+3
-1
@@ -4,6 +4,8 @@
|
||||
|
||||
#include "cplace.h"
|
||||
|
||||
#include "cmdisubwindow.h"
|
||||
|
||||
#include <QWidget>
|
||||
#include <QStandardItemModel>
|
||||
|
||||
@@ -12,7 +14,7 @@ namespace Ui {
|
||||
class cPlaceWindow;
|
||||
}
|
||||
|
||||
class cPlaceWindow : public QWidget
|
||||
class cPlaceWindow : public cMDISubWindow
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
|
||||
cRechercheWindow::cRechercheWindow(QWidget *parent) :
|
||||
QWidget(parent),
|
||||
cMDISubWindow(parent),
|
||||
ui(new Ui::cRechercheWindow),
|
||||
m_lpRecherche(0)
|
||||
{
|
||||
|
||||
+3
-1
@@ -4,6 +4,8 @@
|
||||
|
||||
#include "crecherche.h"
|
||||
|
||||
#include "cmdisubwindow.h"
|
||||
|
||||
#include <QWidget>
|
||||
#include <QStandardItemModel>
|
||||
|
||||
@@ -12,7 +14,7 @@ namespace Ui {
|
||||
class cRechercheWindow;
|
||||
}
|
||||
|
||||
class cRechercheWindow : public QWidget
|
||||
class cRechercheWindow : public cMDISubWindow
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
|
||||
+1
-1
@@ -5,7 +5,7 @@
|
||||
|
||||
|
||||
cSceneWindow::cSceneWindow(QWidget *parent) :
|
||||
QWidget(parent),
|
||||
cMDISubWindow(parent),
|
||||
ui(new Ui::cSceneWindow),
|
||||
m_lpScene(0)
|
||||
{
|
||||
|
||||
+3
-1
@@ -6,6 +6,8 @@
|
||||
#include "cchapter.h"
|
||||
#include "cscene.h"
|
||||
|
||||
#include "cmdisubwindow.h"
|
||||
|
||||
#include <QWidget>
|
||||
#include <QStandardItemModel>
|
||||
|
||||
@@ -14,7 +16,7 @@ namespace Ui {
|
||||
class cSceneWindow;
|
||||
}
|
||||
|
||||
class cSceneWindow : public QWidget
|
||||
class cSceneWindow : public cMDISubWindow
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
|
||||
+4
-2
@@ -64,7 +64,8 @@ SOURCES += \
|
||||
cimagewidget.cpp \
|
||||
cobjectwindow.cpp \
|
||||
cplacewindow.cpp \
|
||||
crecherchewindow.cpp
|
||||
crecherchewindow.cpp \
|
||||
cmdisubwindow.cpp
|
||||
|
||||
HEADERS += \
|
||||
cmainwindow.h \
|
||||
@@ -90,7 +91,8 @@ HEADERS += \
|
||||
cimagewidget.h \
|
||||
cobjectwindow.h \
|
||||
cplacewindow.h \
|
||||
crecherchewindow.h
|
||||
crecherchewindow.h \
|
||||
cmdisubwindow.h
|
||||
|
||||
FORMS += \
|
||||
cmainwindow.ui \
|
||||
|
||||
Reference in New Issue
Block a user