added scene date

This commit is contained in:
Herwig Birke
2018-09-25 13:53:21 +02:00
parent 83354bde29
commit ed781d206d
6 changed files with 168 additions and 96 deletions
+16 -3
View File
@@ -118,6 +118,16 @@ QDateTime cScene::targetDate()
return(m_targetDate);
}
void cScene::setSceneDate(const QDateTime& sceneDate)
{
m_sceneDate = sceneDate;
}
QDateTime cScene::sceneDate()
{
return(m_sceneDate);
}
void cScene::setText(cTextDocument* lpText)
{
m_lpText = lpText;
@@ -364,7 +374,7 @@ bool cSceneList::load(cChapterList* lpChapterList, cCharacterList *lpCharacterLi
{
QSqlQuery query;
query.prepare("SELECT id, chapterID, name, sortOrder, description, state, startedAt, finishedAt, targetDate, text FROM scene ORDER BY sortOrder;");
query.prepare("SELECT id, chapterID, name, sortOrder, description, state, startedAt, finishedAt, targetDate, sceneDate, text FROM scene ORDER BY sortOrder;");
if(!query.exec())
{
myDebug << query.lastError().text();
@@ -383,6 +393,7 @@ bool cSceneList::load(cChapterList* lpChapterList, cCharacterList *lpCharacterLi
lpScene->setStartedAt(query.value("startedAt").toDateTime());
lpScene->setFinishedAt(query.value("finishedAt").toDateTime());
lpScene->setTargetDate(query.value("targetDate").toDateTime());
lpScene->setSceneDate(query.value("sceneDate").toDateTime());
lpScene->setText(blob2TextDocument(query.value("text").toByteArray()));
}
@@ -450,8 +461,8 @@ bool cSceneList::save()
QSqlQuery querySelect;
QSqlQuery queryDelete;
queryUpdate.prepare("UPDATE scene SET name=:name, chapterID=:chapterID, sortOrder=:sortOrder, description=:description, state=:state, startedAt=:startedAt, finishedAt=:finishedAt, targetDate=:targetDate, text=:text WHERE id=:id;");
queryInsert.prepare("INSERT INTO scene (name, chapterID, sortOrder, description, state, startedAt, finishedAt, targetDate, text) VALUES (:name, :chapterID, :sortOrder, :description, :state, :startedAt, :finishedAt, :targetDate, :text);");
queryUpdate.prepare("UPDATE scene SET name=:name, chapterID=:chapterID, sortOrder=:sortOrder, description=:description, state=:state, startedAt=:startedAt, finishedAt=:finishedAt, targetDate=:targetDate, sceneDate=:sceneDate, text=:text WHERE id=:id;");
queryInsert.prepare("INSERT INTO scene (name, chapterID, sortOrder, description, state, startedAt, finishedAt, targetDate, sceneDate, text) VALUES (:name, :chapterID, :sortOrder, :description, :state, :startedAt, :finishedAt, :targetDate, :sceneDate, :text);");
querySelect.prepare("SELECT id FROM scene WHERE _rowid_=(SELECT MAX(_rowid_) FROM scene);");
queryDelete.prepare("DELETE FROM scene WHERE id=:id;");
@@ -522,6 +533,7 @@ bool cSceneList::save()
queryUpdate.bindValue(":startedAt", lpScene->startedAt());
queryUpdate.bindValue(":finishedAt", lpScene->finishedAt());
queryUpdate.bindValue(":targetDate", lpScene->targetDate());
queryUpdate.bindValue(":sceneDate", lpScene->sceneDate());
queryUpdate.bindValue(":text", textDocument2Blob(lpScene->text()));
if(!queryUpdate.exec())
@@ -540,6 +552,7 @@ bool cSceneList::save()
queryInsert.bindValue(":startedAt", lpScene->startedAt());
queryInsert.bindValue(":finishedAt", lpScene->finishedAt());
queryInsert.bindValue(":targetDate", lpScene->targetDate());
queryInsert.bindValue(":sceneDate", lpScene->sceneDate());
queryInsert.bindValue(":text", textDocument2Blob(lpScene->text()));
if(!queryInsert.exec())
+16
View File
@@ -189,6 +189,21 @@ public:
*/
QDateTime targetDate();
/*!
\brief
\fn setSceneDate
\param sceneDate
*/
void setSceneDate(const QDateTime& sceneDate);
/*!
\brief
\fn sceneDate
\return QDateTime
*/
QDateTime sceneDate();
/*!
\brief
@@ -359,6 +374,7 @@ private:
QDateTime m_startedAt; /*!< TODO: describe */
QDateTime m_finishedAt; /*!< TODO: describe */
QDateTime m_targetDate; /*!< TODO: describe */
QDateTime m_sceneDate; /*!< TODO: describe */
cTextDocument* m_lpText; /*!< TODO: describe */
QList<cCharacterDescription*> m_characterList; /*!< TODO: describe */
QList<cObjectDescription*> m_objectList; /*!< TODO: describe */
+11
View File
@@ -73,6 +73,9 @@ cSceneWindow::cSceneWindow(QWidget *parent) :
connect(ui->m_lpTargetDate, &cDateTimeEdit::gotFocus, (cMainWindow*)parent, &cMainWindow::onDateTimeEditGotFocus);
connect(ui->m_lpTargetDate, &cDateTimeEdit::lostFocus, (cMainWindow*)parent, &cMainWindow::onDateTimeEditLostFocus);
connect(ui->m_lpSceneDate, &cDateTimeEdit::gotFocus, (cMainWindow*)parent, &cMainWindow::onDateTimeEditGotFocus);
connect(ui->m_lpSceneDate, &cDateTimeEdit::lostFocus, (cMainWindow*)parent, &cMainWindow::onDateTimeEditLostFocus);
connect(ui->m_lpText, &cTextEdit::gotFocus, (cMainWindow*)parent, &cMainWindow::onTextEditGotFocus);
connect(ui->m_lpText, &cTextEdit::lostFocus, (cMainWindow*)parent, &cMainWindow::onTextEditLostFocus);
@@ -127,6 +130,7 @@ void cSceneWindow::setScene(cScene* lpScene, cCharacterList* lpCharacterList, cP
ui->m_lpFinishedAt->setVisible(false);
}
ui->m_lpTargetDate->setDateTime(lpScene->targetDate());
ui->m_lpSceneDate->setDateTime(lpScene->sceneDate());
ui->m_lpText->setDocument(lpScene->text());
fillCharacterList();
@@ -145,6 +149,7 @@ void cSceneWindow::setScene(cScene* lpScene, cCharacterList* lpCharacterList, cP
connect(ui->m_lpStartedAt, &cDateEdit::dateTimeChanged, this, &cSceneWindow::onStartedChanged);
connect(ui->m_lpFinishedAt, &cDateEdit::dateTimeChanged, this, &cSceneWindow::onFinishedChanged);
connect(ui->m_lpTargetDate, &cDateEdit::dateTimeChanged, this, &cSceneWindow::onTargetDateChanged);
connect(ui->m_lpSceneDate, &cDateEdit::dateTimeChanged, this, &cSceneWindow::onSceneDateChanged);
connect(ui->m_lpText, &cTextEdit::textChanged, this, &cSceneWindow::onTextChanged);
}
@@ -253,6 +258,12 @@ void cSceneWindow::onTargetDateChanged(const QDateTime& dateTime)
m_lpMainWindow->somethingChanged();
}
void cSceneWindow::onSceneDateChanged(const QDateTime& dateTime)
{
m_lpScene->setSceneDate(dateTime);
m_lpMainWindow->somethingChanged();
}
void cSceneWindow::onTextChanged()
{
m_lpMainWindow->somethingChanged();
+7
View File
@@ -152,6 +152,13 @@ private slots:
/*!
\brief
\fn onSceneDateChanged
\param dateTime
*/
void onSceneDateChanged(const QDateTime& dateTime);
/*!
\brief
\fn onTextChanged
*/
void onTextChanged();
+118 -80
View File
@@ -6,7 +6,7 @@
<rect>
<x>0</x>
<y>0</y>
<width>725</width>
<width>740</width>
<height>528</height>
</rect>
</property>
@@ -19,7 +19,7 @@
<item>
<widget class="QTabWidget" name="m_lpTab">
<property name="currentIndex">
<number>1</number>
<number>0</number>
</property>
<widget class="QWidget" name="m_lpTabBasic">
<attribute name="title">
@@ -28,6 +28,89 @@
<layout class="QGridLayout" name="gridLayout_8">
<item row="0" column="0">
<layout class="QGridLayout" name="gridLayout_7">
<item row="3" column="6">
<widget class="QLabel" name="label_4">
<property name="text">
<string>Target Date:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>State:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="3" column="7">
<widget class="cDateTimeEdit" name="m_lpTargetDate"/>
</item>
<item row="3" column="1">
<widget class="cComboBox" name="m_lpState"/>
</item>
<item row="0" column="0">
<widget class="QLabel" name="label_5">
<property name="text">
<string>Part:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="3" column="5">
<widget class="cDateTimeEdit" name="m_lpFinishedAt">
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item row="0" column="1" colspan="7">
<widget class="cLineEdit" name="m_lpPart">
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="1" colspan="7">
<widget class="cLineEdit" name="m_lpName"/>
</item>
<item row="1" column="1" colspan="7">
<widget class="cLineEdit" name="m_lpChapter">
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QLabel" name="label_6">
<property name="text">
<string>Description:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="5" column="1" colspan="7">
<widget class="cTextEdit" name="m_lpDescription"/>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
<string>Chapter:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="3" column="3">
<widget class="cDateTimeEdit" name="m_lpStartedAt">
<property name="readOnly">
@@ -35,10 +118,10 @@
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_2">
<item row="3" column="2">
<widget class="QLabel" name="m_lpStartedLabel">
<property name="text">
<string>Chapter:</string>
<string>Started:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
@@ -65,89 +148,19 @@
</property>
</widget>
</item>
<item row="3" column="2">
<widget class="QLabel" name="m_lpStartedLabel">
<property name="text">
<string>Started:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>State:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="cComboBox" name="m_lpState"/>
</item>
<item row="0" column="0">
<widget class="QLabel" name="label_5">
<property name="text">
<string>Part:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="3" column="7">
<widget class="cDateTimeEdit" name="m_lpTargetDate"/>
</item>
<item row="3" column="6">
<widget class="QLabel" name="label_4">
<property name="text">
<string>Target Date:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="3" column="5">
<widget class="cDateTimeEdit" name="m_lpFinishedAt">
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item row="0" column="1" colspan="7">
<widget class="cLineEdit" name="m_lpPart">
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="1" colspan="7">
<widget class="cLineEdit" name="m_lpChapter">
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="1" colspan="7">
<widget class="cLineEdit" name="m_lpName"/>
</item>
<item row="4" column="1" colspan="7">
<widget class="cTextEdit" name="m_lpDescription"/>
</item>
<item row="4" column="0">
<widget class="QLabel" name="label_6">
<widget class="QLabel" name="label_7">
<property name="text">
<string>Description:</string>
<string>Scene Date:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="cDateTimeEdit" name="m_lpSceneDate"/>
</item>
</layout>
</item>
</layout>
@@ -317,6 +330,31 @@
<header>cdatetimeedit.h</header>
</customwidget>
</customwidgets>
<tabstops>
<tabstop>m_lpTab</tabstop>
<tabstop>m_lpPart</tabstop>
<tabstop>m_lpChapter</tabstop>
<tabstop>m_lpName</tabstop>
<tabstop>m_lpState</tabstop>
<tabstop>m_lpStartedAt</tabstop>
<tabstop>m_lpFinishedAt</tabstop>
<tabstop>m_lpTargetDate</tabstop>
<tabstop>m_lpSceneDate</tabstop>
<tabstop>m_lpDescription</tabstop>
<tabstop>m_lpText</tabstop>
<tabstop>m_lpCaracterAdd</tabstop>
<tabstop>m_lpCharacterRemove</tabstop>
<tabstop>m_lpPlaceList</tabstop>
<tabstop>m_lpPlaceShowDetails</tabstop>
<tabstop>m_lpPlaceAdd</tabstop>
<tabstop>m_lpPlaceRemove</tabstop>
<tabstop>m_lpObjectList</tabstop>
<tabstop>m_lpObjectShowDetails</tabstop>
<tabstop>m_lpObjectAdd</tabstop>
<tabstop>m_lpObjectRemove</tabstop>
<tabstop>m_lpCharacterShowDetails</tabstop>
<tabstop>m_lpCharacterList</tabstop>
</tabstops>
<resources/>
<connections/>
</ui>
-13
View File
@@ -186,7 +186,6 @@ bool cStoryBook::save()
query.prepare("VACUUM;");
if(!query.exec())
myDebug << query.lastError().text();
query.finish();
return(true);
}
@@ -438,7 +437,6 @@ bool cStoryBook::openDatabase()
updateDatabase01();
else
updateDatabase(query.value("version").toInt());
query.finish();
}
return(true);
@@ -455,7 +453,6 @@ bool cStoryBook::createTable(const QString& szSQL)
myDebug << szSQL << "\n" << query.lastError().text();
return(false);
}
query.finish();
return(true);
}
@@ -525,7 +522,6 @@ bool cStoryBook::createDatabase()
" unit INTEGER"
"); "))
return(false);
query.finish();
QFont font;
QString szDefaultFont = font.family();
@@ -595,7 +591,6 @@ bool cStoryBook::createDatabase()
myDebug << query.lastError().text();
return(false);
}
query.finish();
if(!createTable("CREATE TABLE book ( "
" title TEXT, "
@@ -798,7 +793,6 @@ bool cStoryBook::updateDatabase01()
myDebug << query.lastError().text();
return(false);
}
query.finish();
if(!createTable("CREATE TABLE config ( "
" version INTEGER, "
@@ -926,10 +920,8 @@ bool cStoryBook::updateDatabase01()
myDebug << query.lastError().text();
return(false);
}
query.finish();
query.exec("DROP TABLE config_old;");
query.finish();
return(updateDatabase(1));
}
@@ -939,21 +931,18 @@ bool cStoryBook::updateDatabase1()
QSqlQuery query;
query.exec("DROP TABLE config_old;");
query.finish();
if(!query.exec("ALTER TABLE scene ADD sceneDate DATETIME;"))
{
myDebug << query.lastError().text();
return(false);
}
query.finish();
if(!query.exec("UPDATE config SET version=2;"))
{
myDebug << query.lastError().text();
return(false);
}
query.finish();
return(true);
}
@@ -1033,7 +1022,6 @@ bool cStoryBook::loadConfig()
m_dTopMargin = query.value("topMargin").toDouble();
m_dBottomMargin = query.value("bottomMargin").toDouble();
m_iUnit = (QPageLayout::Unit)query.value("unit").toInt();
query.finish();
return(true);
}
@@ -1154,7 +1142,6 @@ bool cStoryBook::saveConfig()
myDebug << query.lastError().text();
return(false);
}
query.finish();
return(true);
}