From d1a4daaee61fc8dda57f11da1856e5fbe1725fca Mon Sep 17 00:00:00 2001 From: Michele Calgaro Date: Mon, 2 Mar 2020 16:37:32 +0900 Subject: [PATCH] Fixed incorrect update of KNote "last modified" field caused by the lauch of KNotes. This resolves issue #38. Signed-off-by: Michele Calgaro --- knotes/knote.cpp | 26 ++++++++++++++++++++++---- kontact/plugins/knotes/knotes_part_p.h | 2 +- 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/knotes/knote.cpp b/knotes/knote.cpp index e20b52ef..2a78d718 100644 --- a/knotes/knote.cpp +++ b/knotes/knote.cpp @@ -515,13 +515,31 @@ TQColor KNote::bgColor() const void KNote::setColor( const TQColor& fg, const TQColor& bg ) { - m_journal->setCustomProperty( "KNotes", "FgColor", fg.name() ); - m_journal->setCustomProperty( "KNotes", "BgColor", bg.name() ); + bool updateJournal = false; + TQString journalFg = m_journal->customProperty( "KNotes", "FgColor" ); + if ( journalFg.isEmpty() || journalFg != fg.name() ) + { + m_journal->setCustomProperty( "KNotes", "FgColor", fg.name() ); + updateJournal = true; + } + TQString journalbg = m_journal->customProperty( "KNotes", "BgColor" ); + if ( journalbg.isEmpty() || journalbg != bg.name() ) + { + m_journal->setCustomProperty( "KNotes", "BgColor", bg.name() ); + updateJournal = true; + } + m_config->setFgColor( fg ); m_config->setBgColor( bg ); - m_journal->updated(); // because setCustomProperty() doesn't call it!! - emit sigDataChanged(noteId()); + if (updateJournal) + { + // Only update the journal if new configuration was really used. + // This is necessary because setColor() is called also when loading a note from an .ics + // file and we do not want to inadvertantly update the last modified field each time. + m_journal->updated(); // because setCustomProperty() doesn't call it!! + emit sigDataChanged(noteId()); + } m_config->writeConfig(); TQPalette newpalette = palette(); diff --git a/kontact/plugins/knotes/knotes_part_p.h b/kontact/plugins/knotes/knotes_part_p.h index aa5b602c..9a30d715 100644 --- a/kontact/plugins/knotes/knotes_part_p.h +++ b/kontact/plugins/knotes/knotes_part_p.h @@ -71,7 +71,7 @@ class KNotesIconViewItem : public TDEIconViewItem TQPixmap icon = TDEGlobal::iconLoader()->loadIcon( "knotes", TDEIcon::Desktop ); icon = effect.apply( icon, TDEIconEffect::Colorize, 1, color, false ); setPixmap( icon ); - setText( journal->summary() ); + TDEIconViewItem::setText( journal->summary() ); } KCal::Journal *journal()