summaryrefslogtreecommitdiffstats
path: root/kopete/libkopete/kopeteprefs.cpp
diff options
context:
space:
mode:
authortoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
committertoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
commitbcb704366cb5e333a626c18c308c7e0448a8e69f (patch)
treef0d6ab7d78ecdd9207cf46536376b44b91a1ca71 /kopete/libkopete/kopeteprefs.cpp
downloadtdenetwork-bcb704366cb5e333a626c18c308c7e0448a8e69f.tar.gz
tdenetwork-bcb704366cb5e333a626c18c308c7e0448a8e69f.zip
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdenetwork@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kopete/libkopete/kopeteprefs.cpp')
-rw-r--r--kopete/libkopete/kopeteprefs.cpp672
1 files changed, 672 insertions, 0 deletions
diff --git a/kopete/libkopete/kopeteprefs.cpp b/kopete/libkopete/kopeteprefs.cpp
new file mode 100644
index 00000000..e1148260
--- /dev/null
+++ b/kopete/libkopete/kopeteprefs.cpp
@@ -0,0 +1,672 @@
+/*
+ kopeteprefs.cpp - Kopete Preferences Container-Class
+
+ Copyright (c) 2002 by Stefan Gehn <metz AT gehn.net>
+ Kopete (c) 2002-2005 by the Kopete developers <[email protected]>
+
+ *************************************************************************
+ * *
+ * This library is free software; you can redistribute it and/or *
+ * modify it under the terms of the GNU Lesser General Public *
+ * License as published by the Free Software Foundation; either *
+ * version 2 of the License, or (at your option) any later version. *
+ * *
+ *************************************************************************
+*/
+
+#include "kopeteprefs.h"
+
+#include <qfile.h>
+#include <qfont.h>
+#include <qmetaobject.h>
+
+#include <kapplication.h>
+#include <kglobalsettings.h>
+#include <kconfig.h>
+#include <kdebug.h>
+#include <kstandarddirs.h>
+
+#define KOPETE_DEFAULT_CHATSTYLE "Kopete"
+
+KopetePrefs *KopetePrefs::s_prefs = 0L;
+
+KopetePrefs *KopetePrefs::prefs()
+{
+ if( !s_prefs )
+ s_prefs = new KopetePrefs;
+ return s_prefs;
+}
+
+KopetePrefs::KopetePrefs() : QObject( kapp, "KopetePrefs" )
+{
+ config = KGlobal::config();
+ load();
+}
+
+void KopetePrefs::load()
+{
+// kdDebug( 14010 ) << k_funcinfo << endl;
+ config->setGroup("Appearance");
+
+ mIconTheme = config->readEntry("EmoticonTheme", defaultTheme());
+ mUseEmoticons = config->readBoolEntry("Use Emoticons", true);
+ mEmoticonsRequireSpaces = config->readBoolEntry("EmoticonsRequireSpaces" , true );
+ mShowOffline = config->readBoolEntry("ShowOfflineUsers", true);
+ mShowEmptyGroups = config->readBoolEntry("ShowEmptyGroups", true);
+ mGreyIdle = config->readBoolEntry("GreyIdleMetaContacts", true);
+ mSortByGroup = config->readBoolEntry("SortByGroup" , true);
+ mTreeView = config->readBoolEntry("TreeView", true);
+ mStartDocked = config->readBoolEntry("StartDocked", false);
+ mUseQueue = config->readBoolEntry("Use Queue", true);
+ mUseStack = config->readBoolEntry("Use Stack", false);
+ mRaiseMsgWindow = config->readBoolEntry("Raise Msg Window", false);
+ mShowEvents = config->readBoolEntry("Show Events in Chat Window", true);
+ mSpellCheck = config->readBoolEntry("SpellCheck", true);
+ mQueueUnreadMessages = config->readBoolEntry("Queue Unread Messages", false);
+ mQueueOnlyHighlightedMessagesInGroupChats = config->readBoolEntry("Queue Only Highlighted Messages In Group Chats", false);
+ mQueueOnlyMessagesOnAnotherDesktop = config->readBoolEntry("Queue Only Messages On Another Desktop", false);
+ mBalloonNotify = config->readBoolEntry("Balloon Notification", true);
+ mBalloonNotifyIgnoreClosesChatView = config->readBoolEntry("Balloon Notification Ignore Closes Chat View", false);
+ mBalloonCloseDelay = config->readNumEntry("Balloon Autoclose Delay", 30);
+ mBalloonClose = config->readBoolEntry("Balloon Autoclose", false);
+ mTrayflashNotify = config->readBoolEntry("Trayflash Notification", true);
+ mTrayflashNotifyLeftClickOpensMessage = config->readBoolEntry("Trayflash Notification Left Click Opens Message", true);
+ mTrayflashNotifySetCurrentDesktopToChatView = config->readBoolEntry("Trayflash Notification Set Current Desktop To Chat View", false);
+ mSoundIfAway = config->readBoolEntry("Sound Notification If Away", true);
+ mChatWindowPolicy = config->readNumEntry("Chatwindow Policy", 0);
+ mRichText = config->readBoolEntry("RichText editor", false);
+ mChatWShowSend = config->readBoolEntry("Show Chatwindow Send Button", true);
+ mRememberedMessages = config->readNumEntry("Remembered Messages", 5);
+ mTruncateContactNames = config->readBoolEntry("TruncateContactNames", false);
+ mMaxContactNameLength = config->readNumEntry("MaxContactNameLength", 20);
+
+ mChatViewBufferSize = config->readNumEntry("ChatView BufferSize", 250);
+
+ QColor tmpColor = KGlobalSettings::highlightColor();
+ mHighlightBackground = config->readColorEntry("Highlight Background Color", &tmpColor);
+ tmpColor = KGlobalSettings::highlightedTextColor();
+ mHighlightForeground = config->readColorEntry("Highlight Foreground Color", &tmpColor);
+ mHighlightEnabled = config->readBoolEntry("Highlighting Enabled", true);
+ mBgOverride = config->readBoolEntry("ChatView Override Background", false);
+ mFgOverride = config->readBoolEntry("ChatView Override Foreground", false);
+ mRtfOverride = config->readBoolEntry("ChatView Override RTF", false);
+ mInterfacePreference = config->readEntry("View Plugin", QString::fromLatin1("kopete_chatwindow") );
+ tmpColor = KGlobalSettings::textColor();
+ mTextColor = config->readColorEntry("Text Color", &tmpColor );
+ tmpColor = KGlobalSettings::baseColor();
+ mBgColor = config->readColorEntry("Bg Color", &tmpColor );
+ tmpColor = KGlobalSettings::linkColor();
+ mLinkColor = config->readColorEntry("Link Color", &tmpColor );
+ mFontFace = config->readFontEntry("Font Face");
+ tmpColor = darkGray;
+ mIdleContactColor = config->readColorEntry("Idle Contact Color", &tmpColor);
+
+ mShowTray = config->readBoolEntry("Show Systemtray", true);
+
+ _setStylePath(config->readEntry("StylePath"));
+ mStyleVariant = config->readEntry("StyleVariant");
+ // Read Chat Window Style display
+ mGroupConsecutiveMessages = config->readBoolEntry("GroupConsecutiveMessages", true);
+
+ mToolTipContents = config->readListEntry("ToolTipContents");
+ if(mToolTipContents.empty())
+ {
+ mToolTipContents
+ << QString::fromLatin1("FormattedName")
+ << QString::fromLatin1("userInfo")
+ << QString::fromLatin1("server")
+ << QString::fromLatin1("channels")
+ << QString::fromLatin1("FormattedIdleTime")
+ << QString::fromLatin1("channelMembers")
+ << QString::fromLatin1("channelTopic")
+ << QString::fromLatin1("emailAddress")
+ << QString::fromLatin1("homePage")
+ << QString::fromLatin1("onlineSince")
+ << QString::fromLatin1("lastOnline")
+ << QString::fromLatin1("awayMessage");
+ }
+
+ config->setGroup("ContactList");
+ int n = metaObject()->findProperty( "contactListDisplayMode" );
+ QString value = config->readEntry("DisplayMode",QString::fromLatin1("Default"));
+ mContactListDisplayMode = (ContactDisplayMode)metaObject()->property( n )->keyToValue( value.latin1() );
+ n = metaObject()->findProperty( "contactListIconMode" );
+ value = config->readEntry("IconMode",
+ QString::fromLatin1("IconDefault"));
+ mContactListIconMode = (IconDisplayMode) metaObject()->property( n )->keyToValue( value.latin1() );
+ mContactListIndentContacts = config->readBoolEntry("IndentContacts", false);
+ mContactListUseCustomFonts = config->readBoolEntry("UseCustomFonts", false);
+ QFont font = KGlobalSettings::generalFont();
+ mContactListNormalFont = config->readFontEntry("NormalFont", &font);
+ if ( font.pixelSize() != -1 )
+ font.setPixelSize( (font.pixelSize() * 3) / 4 );
+ else
+ font.setPointSizeFloat( font.pointSizeFloat() * 0.75 );
+ mContactListSmallFont = config->readFontEntry("SmallFont", &font);
+ mContactListGroupNameColor = config->readColorEntry("GroupNameColor", &darkRed);
+ mContactListAnimation = config->readBoolEntry("AnimateChanges", true);
+ mContactListFading = config->readBoolEntry("FadeItems", true);
+ mContactListFolding = config->readBoolEntry("FoldItems", true);
+ mContactListAutoHide = config->readBoolEntry("AutoHide", false);
+ mContactListAutoHideTimeout = config->readUnsignedNumEntry("AutoHideTimeout", 30);
+
+ // Load the reconnection setting
+ config->setGroup("General");
+ mReconnectOnDisconnect = config->readBoolEntry("ReconnectOnDisconnect", true);
+ mAutoConnect = config->readBoolEntry("AutoConnect", false);
+
+ // Nothing has changed yet
+ mWindowAppearanceChanged = false;
+ mContactListAppearanceChanged = false;
+ mMessageAppearanceChanged = false;
+ mStylePathChanged = false;
+ mStyleVariantChanged = false;
+}
+
+void KopetePrefs::save()
+{
+// kdDebug(14010) << "KopetePrefs::save()" << endl;
+ config->setGroup("Appearance");
+
+ config->writeEntry("EmoticonTheme", mIconTheme);
+ config->writeEntry("Use Emoticons", mUseEmoticons);
+ config->writeEntry("EmoticonsRequireSpaces", mEmoticonsRequireSpaces);
+ config->writeEntry("ShowOfflineUsers", mShowOffline);
+ config->writeEntry("ShowEmptyGroups", mShowEmptyGroups);
+ config->writeEntry("GreyIdleMetaContacts", mGreyIdle);
+ config->writeEntry("TreeView", mTreeView);
+ config->writeEntry("SortByGroup", mSortByGroup);
+ config->writeEntry("StartDocked", mStartDocked);
+ config->writeEntry("Use Queue", mUseQueue);
+ config->writeEntry("Use Stack", mUseStack);
+ config->writeEntry("Raise Msg Window", mRaiseMsgWindow);
+ config->writeEntry("Show Events in Chat Window", mShowEvents);
+ config->writeEntry("SpellCheck", mSpellCheck);
+ config->writeEntry("Queue Unread Messages", mQueueUnreadMessages);
+ config->writeEntry("Queue Only Highlighted Messages In Group Chats", mQueueOnlyHighlightedMessagesInGroupChats);
+ config->writeEntry("Queue Only Messages On Another Desktop", mQueueOnlyMessagesOnAnotherDesktop);
+ config->writeEntry("Balloon Notification", mBalloonNotify);
+ config->writeEntry("Balloon Notification Ignore Closes Chat View", mBalloonNotifyIgnoreClosesChatView);
+ config->writeEntry("Balloon Autoclose Delay", mBalloonCloseDelay);
+ config->writeEntry("Balloon Autoclose", mBalloonClose);
+ config->writeEntry("Trayflash Notification", mTrayflashNotify);
+ config->writeEntry("Trayflash Notification Left Click Opens Message", mTrayflashNotifyLeftClickOpensMessage);
+ config->writeEntry("Trayflash Notification Set Current Desktop To Chat View", mTrayflashNotifySetCurrentDesktopToChatView);
+ config->writeEntry("Sound Notification If Away", mSoundIfAway);
+ config->writeEntry("Chatwindow Policy", mChatWindowPolicy);
+ config->writeEntry("ChatView Override Background", mBgOverride);
+ config->writeEntry("ChatView Override Foreground", mFgOverride);
+ config->writeEntry("ChatView Override RTF", mRtfOverride);
+ config->writeEntry("ChatView BufferSize", mChatViewBufferSize);
+ config->writeEntry("Highlight Background Color", mHighlightBackground);
+ config->writeEntry("Highlight Foreground Color", mHighlightForeground);
+ config->writeEntry("Highlighting Enabled", mHighlightEnabled );
+ config->writeEntry("Font Face", mFontFace);
+ config->writeEntry("Text Color",mTextColor);
+ config->writeEntry("Remembered Messages",mRememberedMessages);
+ config->writeEntry("Bg Color", mBgColor);
+ config->writeEntry("Link Color", mLinkColor);
+ config->writeEntry("Idle Contact Color", mIdleContactColor);
+ config->writeEntry("RichText editor", mRichText);
+ config->writeEntry("Show Chatwindow Send Button", mChatWShowSend);
+ config->writeEntry("TruncateContactNames", mTruncateContactNames);
+ config->writeEntry("MaxContactNameLength", mMaxContactNameLength);
+
+ config->writeEntry("View Plugin", mInterfacePreference);
+
+ config->writeEntry("Show Systemtray", mShowTray);
+
+ //Style
+ //for xhtml+css
+ config->writeEntry("StylePath", mStylePath);
+ config->writeEntry("StyleVariant", mStyleVariant);
+ // Chat Window Display
+ config->writeEntry("GroupConsecutiveMessages", mGroupConsecutiveMessages);
+
+ config->writeEntry("ToolTipContents", mToolTipContents);
+
+ config->setGroup("ContactList");
+ int n = metaObject()->findProperty( "contactListDisplayMode" );
+ config->writeEntry("DisplayMode", metaObject()->property( n )->valueToKey( mContactListDisplayMode ));
+ n = metaObject()->findProperty( "contactListIconMode" );
+ config->writeEntry("IconMode", metaObject()->property( n )->valueToKey( mContactListIconMode ));
+ config->writeEntry("IndentContacts", mContactListIndentContacts);
+ config->writeEntry("UseCustomFonts", mContactListUseCustomFonts);
+ config->writeEntry("NormalFont", mContactListNormalFont);
+ config->writeEntry("SmallFont", mContactListSmallFont);
+ config->writeEntry("GroupNameColor", mContactListGroupNameColor);
+ config->writeEntry("AnimateChanges", mContactListAnimation);
+ config->writeEntry("FadeItems", mContactListFading);
+ config->writeEntry("FoldItems", mContactListFolding);
+ config->writeEntry("AutoHide", mContactListAutoHide);
+ config->writeEntry("AutoHideTimeout", mContactListAutoHideTimeout);
+
+ //Save the reconnection setting
+ config->setGroup("General");
+ config->writeEntry("ReconnectOnDisconnect", mReconnectOnDisconnect);
+ config->writeEntry("AutoConnect", mAutoConnect);
+
+ config->sync();
+ emit saved();
+
+ if(mWindowAppearanceChanged)
+ emit windowAppearanceChanged();
+
+ if(mContactListAppearanceChanged)
+ emit contactListAppearanceChanged();
+
+ if(mMessageAppearanceChanged)
+ emit messageAppearanceChanged();
+
+ if(mStylePathChanged)
+ emit styleChanged(mStylePath);
+
+ if(mStyleVariantChanged)
+ emit styleVariantChanged(mStyleVariant);
+
+ // Clear all *Changed flags. This will cause breakage if someone makes some
+ // changes but doesn't save them in a slot connected to a *Changed signal.
+ mWindowAppearanceChanged = false;
+ mContactListAppearanceChanged = false;
+ mMessageAppearanceChanged = false;
+ mStylePathChanged = false;
+ mStyleVariantChanged = false;
+}
+
+void KopetePrefs::setIconTheme(const QString &value)
+{
+ if( mIconTheme != value )
+ {
+ mMessageAppearanceChanged = true;
+ mContactListAppearanceChanged = true;
+ }
+ mIconTheme = value;
+}
+
+void KopetePrefs::setUseEmoticons(bool value)
+{
+ if( mUseEmoticons != value )
+ {
+ mMessageAppearanceChanged = true;
+ mContactListAppearanceChanged = true;
+ }
+ mUseEmoticons = value;
+}
+
+void KopetePrefs::setShowOffline(bool value)
+{
+ if( value != mShowOffline ) mContactListAppearanceChanged = true;
+ mShowOffline = value;
+}
+
+void KopetePrefs::setShowEmptyGroups(bool value)
+{
+ if( value != mShowEmptyGroups ) mContactListAppearanceChanged = true;
+ mShowEmptyGroups = value;
+}
+
+void KopetePrefs::setTreeView(bool value)
+{
+ if( value != mTreeView ) mContactListAppearanceChanged = true;
+ mTreeView = value;
+}
+
+void KopetePrefs::setSortByGroup(bool value)
+{
+ if( value != mSortByGroup ) mContactListAppearanceChanged = true;
+ mSortByGroup = value;
+}
+
+void KopetePrefs::setGreyIdleMetaContacts(bool value)
+{
+ if( value != mGreyIdle ) mContactListAppearanceChanged = true;
+ mGreyIdle = value;
+}
+
+void KopetePrefs::setStartDocked(bool value)
+{
+ mStartDocked = value;
+}
+
+void KopetePrefs::setUseQueue(bool value)
+{
+ mUseQueue = value;
+}
+
+void KopetePrefs::setUseStack(bool value)
+{
+ mUseStack = value;
+}
+
+
+void KopetePrefs::setRaiseMsgWindow(bool value)
+{
+ mRaiseMsgWindow = value;
+}
+
+void KopetePrefs::setRememberedMessages(int value)
+{
+ mRememberedMessages = value;
+}
+
+void KopetePrefs::setShowEvents(bool value)
+{
+ mShowEvents = value;
+}
+
+void KopetePrefs::setTrayflashNotify(bool value)
+{
+ mTrayflashNotify = value;
+}
+
+void KopetePrefs::setSpellCheck(bool value)
+{
+ mSpellCheck = value;
+}
+
+void KopetePrefs::setQueueUnreadMessages(bool value)
+{
+ mQueueUnreadMessages = value;
+}
+
+void KopetePrefs::setQueueOnlyHighlightedMessagesInGroupChats(bool value)
+{
+ mQueueOnlyHighlightedMessagesInGroupChats = value;
+}
+
+void KopetePrefs::setQueueOnlyMessagesOnAnotherDesktop(bool value)
+{
+ mQueueOnlyMessagesOnAnotherDesktop = value;
+}
+
+void KopetePrefs::setTrayflashNotifyLeftClickOpensMessage(bool value)
+{
+ mTrayflashNotifyLeftClickOpensMessage = value;
+}
+
+void KopetePrefs::setTrayflashNotifySetCurrentDesktopToChatView(bool value)
+{
+ mTrayflashNotifySetCurrentDesktopToChatView = value;
+}
+
+void KopetePrefs::setBalloonNotify(bool value)
+{
+ mBalloonNotify = value;
+}
+
+void KopetePrefs::setBalloonNotifyIgnoreClosesChatView(bool value)
+{
+ mBalloonNotifyIgnoreClosesChatView = value;
+}
+
+void KopetePrefs::setBalloonClose( bool value )
+{
+ mBalloonClose = value;
+}
+
+void KopetePrefs::setBalloonDelay( int value )
+{
+ mBalloonCloseDelay = value;
+}
+
+void KopetePrefs::setSoundIfAway(bool value)
+{
+ mSoundIfAway = value;
+}
+
+void KopetePrefs::setStylePath(const QString &stylePath)
+{
+ if(mStylePath != stylePath) mStylePathChanged = true;
+ _setStylePath(stylePath);
+}
+
+void KopetePrefs::_setStylePath(const QString &stylePath)
+{
+ mStylePath = stylePath;
+
+ // Fallback to default style if the directory doesn't exist
+ // or the value is empty.
+ if( !QFile::exists(stylePath) || stylePath.isEmpty() )
+ {
+ QString fallback;
+ fallback = QString(QString::fromLatin1("styles/%1/")).arg(QString::fromLatin1(KOPETE_DEFAULT_CHATSTYLE));
+ mStylePath = locate("appdata", fallback);
+ }
+}
+
+void KopetePrefs::setStyleVariant(const QString &variantPath)
+{
+ if(mStyleVariant != variantPath) mStyleVariantChanged = true;
+ mStyleVariant = variantPath;
+}
+
+void KopetePrefs::setFontFace( const QFont &value )
+{
+ if( value != mFontFace ) mWindowAppearanceChanged = true;
+ mFontFace = value;
+}
+
+void KopetePrefs::setTextColor( const QColor &value )
+{
+ if( value != mTextColor ) mWindowAppearanceChanged = true;
+ mTextColor = value;
+}
+
+void KopetePrefs::setBgColor( const QColor &value )
+{
+ if( value != mBgColor ) mWindowAppearanceChanged = true;
+ mBgColor = value;
+}
+
+void KopetePrefs::setLinkColor( const QColor &value )
+{
+ if( value != mLinkColor ) mWindowAppearanceChanged = true;
+ mLinkColor = value;
+}
+
+void KopetePrefs::setChatWindowPolicy(int value)
+{
+ mChatWindowPolicy = value;
+}
+
+void KopetePrefs::setTruncateContactNames( bool value )
+{
+ mTruncateContactNames = value;
+}
+
+void KopetePrefs::setMaxContactNameLength( int value )
+{
+ mMaxContactNameLength = value;
+}
+
+void KopetePrefs::setInterfacePreference(const QString &value)
+{
+ mInterfacePreference = value;
+}
+
+void KopetePrefs::setChatViewBufferSize( int value )
+{
+ mChatViewBufferSize = value;
+}
+
+void KopetePrefs::setHighlightBackground(const QColor &value)
+{
+ if( value != mHighlightBackground ) mWindowAppearanceChanged = true;
+ mHighlightBackground = value;
+}
+
+void KopetePrefs::setHighlightForeground(const QColor &value)
+{
+ if( value != mHighlightForeground ) mWindowAppearanceChanged = true;
+ mHighlightForeground = value;
+}
+
+void KopetePrefs::setHighlightEnabled(bool value)
+{
+ if( value != mHighlightEnabled ) mWindowAppearanceChanged = true;
+ mHighlightEnabled = value;
+}
+
+void KopetePrefs::setBgOverride(bool value)
+{
+ if( value != mBgOverride ) mMessageAppearanceChanged = true;
+ mBgOverride = value;
+}
+
+void KopetePrefs::setFgOverride(bool value)
+{
+ if( value != mFgOverride ) mMessageAppearanceChanged = true;
+ mFgOverride = value;
+}
+
+void KopetePrefs::setRtfOverride(bool value)
+{
+ if( value != mRtfOverride ) mMessageAppearanceChanged = true;
+ mRtfOverride = value;
+}
+
+void KopetePrefs::setShowTray(bool value)
+{
+ mShowTray = value;
+}
+
+
+QString KopetePrefs::fileContents(const QString &path)
+{
+ QString contents;
+ QFile file( path );
+ if ( file.open( IO_ReadOnly ) )
+ {
+ QTextStream stream( &file );
+ contents = stream.read();
+ file.close();
+ }
+ return contents;
+}
+
+void KopetePrefs::setIdleContactColor(const QColor &value)
+{
+ if( value != mIdleContactColor ) mContactListAppearanceChanged = true;
+ mIdleContactColor = value;
+}
+
+void KopetePrefs::setRichText(bool value)
+{
+ mRichText=value;
+}
+
+void KopetePrefs::setToolTipContents(const QStringList &value)
+{
+ mToolTipContents=value;
+}
+
+void KopetePrefs::setContactListIndentContacts( bool v )
+{
+ if( v != mContactListIndentContacts ) mContactListAppearanceChanged = true;
+ mContactListIndentContacts = v;
+}
+
+void KopetePrefs::setContactListDisplayMode( ContactDisplayMode v )
+{
+ if( v != mContactListDisplayMode ) mContactListAppearanceChanged = true;
+ mContactListDisplayMode = v;
+}
+
+void KopetePrefs::setContactListIconMode( IconDisplayMode v )
+{
+ if( v != mContactListIconMode ) mContactListAppearanceChanged = true;
+ mContactListIconMode = v;
+}
+
+void KopetePrefs::setContactListUseCustomFonts( bool v )
+{
+ if( v != mContactListUseCustomFonts ) mContactListAppearanceChanged = true;
+ mContactListUseCustomFonts = v;
+}
+
+void KopetePrefs::setContactListCustomNormalFont( const QFont & v )
+{
+ if( v != mContactListNormalFont ) mContactListAppearanceChanged = true;
+ mContactListNormalFont = v;
+}
+
+void KopetePrefs::setContactListCustomSmallFont( const QFont & v )
+{
+ if( v != mContactListSmallFont ) mContactListAppearanceChanged = true;
+ mContactListSmallFont = v;
+}
+
+QFont KopetePrefs::contactListSmallFont() const
+{
+ if ( mContactListUseCustomFonts )
+ return contactListCustomSmallFont();
+ QFont smallFont = KGlobalSettings::generalFont();
+ if ( smallFont.pixelSize() != -1 )
+ smallFont.setPixelSize( (smallFont.pixelSize() * 3) / 4 );
+ else
+ smallFont.setPointSizeFloat( smallFont.pointSizeFloat() * 0.75 );
+ return smallFont;
+}
+
+void KopetePrefs::setContactListGroupNameColor( const QColor & v )
+{
+ if( v != mContactListGroupNameColor ) mContactListAppearanceChanged = true;
+ mContactListGroupNameColor = v;
+}
+
+void KopetePrefs::setContactListAnimation( bool n )
+{
+ if( n != mContactListAnimation ) mContactListAppearanceChanged = true;
+ mContactListAnimation = n;
+}
+
+void KopetePrefs::setContactListFading( bool n )
+{
+ if( n != mContactListFading ) mContactListAppearanceChanged = true;
+ mContactListFading = n;
+}
+
+void KopetePrefs::setContactListFolding( bool n )
+{
+ if( n != mContactListFolding ) mContactListAppearanceChanged = true;
+ mContactListFolding = n;
+}
+
+void KopetePrefs::setContactListAutoHide( bool n )
+{
+ if( n != mContactListAutoHide ) mContactListAppearanceChanged = true;
+ mContactListAutoHide = n;
+}
+
+void KopetePrefs::setContactListAutoHideTimeout( unsigned int n )
+{
+ if( n != mContactListAutoHideTimeout ) mContactListAppearanceChanged = true;
+ mContactListAutoHideTimeout = n;
+}
+
+void KopetePrefs::setReconnectOnDisconnect( bool newSetting )
+{
+ mReconnectOnDisconnect = newSetting;
+}
+
+void KopetePrefs::setAutoConnect(bool b)
+{
+ mAutoConnect=b;
+}
+
+void KopetePrefs::setEmoticonsRequireSpaces( bool b )
+{
+ if( mEmoticonsRequireSpaces != b )
+ {
+ mMessageAppearanceChanged = true;
+ mContactListAppearanceChanged = true;
+ }
+ mEmoticonsRequireSpaces=b;
+}
+
+void KopetePrefs::setGroupConsecutiveMessages( bool value )
+{
+ mGroupConsecutiveMessages = value;
+}
+#include "kopeteprefs.moc"
+// vim: set noet ts=4 sts=4 sw=4: