summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/journalentry.cpp7
-rw-r--r--korganizer/kojournalview.cpp6
-rw-r--r--korganizer/kojournalview.h1
-rw-r--r--korganizer/koviewmanager.h1
-rw-r--r--korganizer/mainwindow.cpp6
5 files changed, 16 insertions, 5 deletions
diff --git a/korganizer/journalentry.cpp b/korganizer/journalentry.cpp
index 395392c..3c01eeb 100644
--- a/korganizer/journalentry.cpp
+++ b/korganizer/journalentry.cpp
@@ -256,15 +256,16 @@ void JournalEntry::writeJournal()
if (!mJournal) {
mJournal = new Journal;
mJournal->setDtStart(QDateTime(mDate,QTime(0,0,0)));
mCalendar->addJournal(mJournal);
}
-
- mJournal->setDescription(mEditor->text());
- mJournal->setSummary(mTitle->text());
+ if ( mJournal->description() != mEditor->text() )
+ mJournal->setDescription(mEditor->text());
+ if ( mJournal->summary() != mTitle->text() )
+ mJournal->setSummary(mTitle->text());
}
void JournalEntry::flushEntry()
{
writeJournal();
}
diff --git a/korganizer/kojournalview.cpp b/korganizer/kojournalview.cpp
index b659d53..51ae0a0 100644
--- a/korganizer/kojournalview.cpp
+++ b/korganizer/kojournalview.cpp
@@ -115,13 +115,17 @@ void KOJournalView::updateView()
while ( mEntry ) {
mEntry->setFont ( KOPrefs::instance()->mJornalViewFont );
mEntry = jEntries.next();
}
showDates( mDate, QDate() );
}
-
+void KOJournalView::checkModified()
+{
+ qDebug("checkmod ");
+ flushView();
+}
void KOJournalView::flushView()
{
static bool ff = false;
if ( ff ) return;
ff = true;
JournalEntry* mEntry = jEntries.first();
diff --git a/korganizer/kojournalview.h b/korganizer/kojournalview.h
index 331bdfa..7fa94ae 100644
--- a/korganizer/kojournalview.h
+++ b/korganizer/kojournalview.h
@@ -47,12 +47,13 @@ class KOJournalView : public KOrg::BaseView
virtual int currentDateCount();
void clearList();
virtual QPtrList<Incidence> selectedIncidences();
DateList selectedDates()
{DateList q;
return q;};
+ void checkModified();
signals:
void deleteJournal(Journal *);
public slots:
void showOnly ( Journal* );
void newJournal();
void updateView();
diff --git a/korganizer/koviewmanager.h b/korganizer/koviewmanager.h
index d5a8e3b..2e6aaed 100644
--- a/korganizer/koviewmanager.h
+++ b/korganizer/koviewmanager.h
@@ -74,12 +74,13 @@ class KOViewManager : public QObject
void addView(KOrg::BaseView *);
Incidence *currentSelection();
QDate currentSelectionDate();
KOAgendaView *agendaView() const { return mAgendaView; }
+ KOJournalView *journalView() const { return mJournalView; }
signals:
void printWNV();
void signalFullScreen( bool );
void signalAgendaView( bool );
public slots:
diff --git a/korganizer/mainwindow.cpp b/korganizer/mainwindow.cpp
index d8373a6..fb6d6ec 100644
--- a/korganizer/mainwindow.cpp
+++ b/korganizer/mainwindow.cpp
@@ -44,12 +44,13 @@
#include <libkdepim/kpimglobalprefs.h>
#include "calendarview.h"
#include "koviewmanager.h"
#include "datenavigator.h"
#include "koagendaview.h"
+#include "kojournalview.h"
#include "koagenda.h"
#include "kodialogmanager.h"
#include "kdialogbase.h"
#include "kapplication.h"
#include "kofilterview.h"
#include "kstandarddirs.h"
@@ -1831,13 +1832,14 @@ void MainWindow::saveOnClose()
if ( p->mToolBarHorF )
p->mToolBarUpF = filterToolBar->y() > height()/2;
else
p->mToolBarUpF = filterToolBar->x() > width()/2 ;
}
#endif
-
+ if ( mView->viewManager()->journalView() )
+ mView->viewManager()->journalView()->checkModified();
if ( mCalendarModifiedFlag || mView->checkFileChanged( defaultFileName()))
save();
mView->writeSettings();
}
void MainWindow::slotModifiedChanged( bool changed )
{
@@ -1896,12 +1898,14 @@ void MainWindow::backupAllFiles()
KPimGlobalPrefs::instance()->mBackupEnabled = false;
}
// retval == 3: do nothing, try again later
}
void MainWindow::save()
{
+ if ( mView->viewManager()->journalView() )
+ mView->viewManager()->journalView()->checkModified();
if ( !mCalendarModifiedFlag ) {
qDebug("KO: Calendar not modified. Nothing saved.");
return;
}
if ( mSyncManager->blockSave() )
return;