diff options
Diffstat (limited to 'knotes')
-rw-r--r-- | knotes/knote.cpp | 26 |
1 files changed, 22 insertions, 4 deletions
diff --git a/knotes/knote.cpp b/knotes/knote.cpp index 4f70848bb..37894ee11 100644 --- a/knotes/knote.cpp +++ b/knotes/knote.cpp @@ -510,13 +510,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(); |