From d1a4daaee61fc8dda57f11da1856e5fbe1725fca Mon Sep 17 00:00:00 2001 From: Michele Calgaro Date: Mon, 2 Mar 2020 16:37:32 +0900 Subject: 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 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) (limited to 'knotes/knote.cpp') diff --git a/knotes/knote.cpp b/knotes/knote.cpp index e20b52ef8..2a78d7189 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(); -- cgit v1.2.1