This commit is contained in:
Herwig Birke
2018-05-02 16:10:49 +02:00
parent fb721a9260
commit 9b8738956e
19 changed files with 105 additions and 19 deletions
+1 -1
View File
@@ -5,7 +5,7 @@
cChapterWindow::cChapterWindow(QWidget *parent) :
QWidget(parent),
cMDISubWindow(parent),
ui(new Ui::cChapterWindow),
m_lpChapter(0),
m_lpSceneList(0)
+3 -1
View File
@@ -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
+1 -1
View File
@@ -7,7 +7,7 @@
cCharacterWindow::cCharacterWindow(QWidget *parent) :
QWidget(parent),
cMDISubWindow(parent),
ui(new Ui::cCharacterWindow),
m_lpCharacter(0)
{
+3 -1
View File
@@ -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
View File
@@ -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();
}
+2
View File
@@ -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);
+14
View File
@@ -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();
}
+23
View File
@@ -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
View File
@@ -7,7 +7,7 @@
cObjectWindow::cObjectWindow(QWidget *parent) :
QWidget(parent),
cMDISubWindow(parent),
ui(new Ui::cObjectWindow),
m_lpObject(0)
{
+3 -1
View File
@@ -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
View File
@@ -5,7 +5,7 @@
cPartWindow::cPartWindow(QWidget *parent) :
QWidget(parent),
cMDISubWindow(parent),
ui(new Ui::cPartWindow),
m_lpPart(0),
m_lpChapterList(0)
+3 -1
View File
@@ -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
View File
@@ -7,7 +7,7 @@
cPlaceWindow::cPlaceWindow(QWidget *parent) :
QWidget(parent),
cMDISubWindow(parent),
ui(new Ui::cPlaceWindow),
m_lpPlace(0)
{
+3 -1
View File
@@ -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
+1 -1
View File
@@ -8,7 +8,7 @@
cRechercheWindow::cRechercheWindow(QWidget *parent) :
QWidget(parent),
cMDISubWindow(parent),
ui(new Ui::cRechercheWindow),
m_lpRecherche(0)
{
+3 -1
View File
@@ -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
View File
@@ -5,7 +5,7 @@
cSceneWindow::cSceneWindow(QWidget *parent) :
QWidget(parent),
cMDISubWindow(parent),
ui(new Ui::cSceneWindow),
m_lpScene(0)
{
+3 -1
View File
@@ -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
View File
@@ -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 \