summaryrefslogtreecommitdiffstats
path: root/knotes
diff options
context:
space:
mode:
Diffstat (limited to 'knotes')
-rw-r--r--knotes/knote.cpp26
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();