<?xml version="1.0" encoding="UTF-8"?>
<!-- Author: Michal Larouche-->
<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
      http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
	<kcfgfile name="kopeterc"/>
	<include>kstandarddirs.h</include>
	<include>kglobalsettings.h</include>
	<include>kcolorscheme.h</include>

	<!-- Define the available signals to emit -->
	<signal name="appearanceChanged">
		<label>Emited when the font and colors settings has changed.</label>
	</signal>
	<signal name="messageOverridesChanged">
		<label>Emited when the message overrides settings has changed.</label>
	</signal>
	<signal name="contactListAppearanceChanged">
		<label>Emited when the contact list appearance has changed.</label>
	</signal>

	<group name="Appearance">
		<!-- Emoticon config -->
		<entry key="useEmoticons" type="Bool"> 
			<label>Enable emoticon support in Kopete.</label>
			<default>true</default>
			<emit signal="contactListAppearanceChanged" />
			<emit signal="messageOverridesChanged" />
		</entry>
		
	
		<!-- Hightlight preferences -->
		<entry key="highlightForegroundColor" type="Color">
			<label>Text color used when hightlighting</label>
			<default code="true">KColorScheme(QPalette::Active, KColorScheme::Selection).foreground().color()</default>
			<emit signal="appearanceChanged" />
		</entry>
		<entry key="highlightBackgroundColor" type="Color">
			<label>Background color used when hightlighting.</label>
			<default code="true">KColorScheme(QPalette::Active, KColorScheme::Selection).background().color()</default>
			<emit signal="appearanceChanged" />
		</entry>
		
		<!-- Overrides preferences -->
		<entry key="chatBgOverride" type="Bool">
			<label>Disable custom text color set by users.</label>
			<default>false</default>
			<emit signal="messageOverridesChanged" />
		</entry>
		<entry key="chatFgOverride" type="Bool">
			<label>Disable custom background color set by users.</label>
			<default>false</default>
			<emit signal="messageOverridesChanged" />
		</entry>
		<entry key="chatRtfOverride" type="Bool">
			<label>Disable rich text set by users.</label>
			<default>false</default>
			<emit signal="messageOverridesChanged" />
		</entry>
		
		<!-- Color and fonts preferences -->
		<entry key="chatTextColor" type="Color">
			<label>Chat text color.</label>
			<default code="true">KColorScheme(QPalette::Active, KColorScheme::View).foreground().color()</default>
			<emit signal="appearanceChanged" />
		</entry>
		<entry key="chatBackgroundColor" type="Color">
			<label>Chat background color.</label>
			<default code="true">KColorScheme(QPalette::Active, KColorScheme::View).background().color()</default>
			<emit signal="appearanceChanged" />
		</entry>
		<entry key="chatLinkColor" type="Color">
			<label>Chat link color.</label>
			<default code="true">KColorScheme(QPalette::Active, KColorScheme::Window).foreground(KColorScheme::LinkText).color()</default>
			<emit signal="appearanceChanged" />
		</entry>
		<entry key="chatFont" type="Font">
			<label>Chat font.</label>
			<emit signal="appearanceChanged" />
		</entry>
		
		<!-- Idle contact preferences -->
		<entry key="idleContactColor" type="Color">
			<label>Color used to identity idle contacts.</label>
			<default code="true">Qt::darkGray</default>
			<emit signal="contactListAppearanceChanged" />
		</entry>
		<entry key="greyIdleMetaContacts" type="Bool">
			<label>Display a different color for idle contact.</label>
			<default>true</default>
			<emit signal="contactListAppearanceChanged" />
		</entry>

		<!-- Tooltip content -->
		<entry key="toolTipContents" type="StringList">
			<label>Contact properties that contact tooltip will show.</label>
			<default>FormattedName,userInfo,server,channels,FormattedIdleTime,channelMembers,channelTopic,emailAddress,homePage,onlineSince,lastOnline,statusTitle,statusMessage</default>
		</entry>
	</group>
	
	<group name="ContactList">
		<!-- Contact list display preferences -->
		<entry key="contactListDisplayMode" type="Enum">
			<label>Contact list display mode</label>
			<choices>
				<choice name="Classic"/>
				<choice name="RightAligned"/>
				<choice name="Detailed"/>
			</choices>
			<default>Classic</default>
			<emit signal="contactListAppearanceChanged" />
		</entry>
		<entry key="contactListIconMode" type="Enum">
			<label>Contact list icon display mode. Either the protocol icon or the contact photo.</label>
			<choices>
				<choice name="IconPic" />
				<choice name="IconPhoto" />
			</choices>
			<default>IconPic</default>
			<emit signal="contactListAppearanceChanged" />
		</entry>
		<entry key="contactListTreeView" type="Bool">
			<label>Show contact list as a tree view.</label>
			<default>true</default>
			<emit signal="contactListAppearanceChanged" />
		</entry>
		<entry key="contactListIndentContact" type="Bool">
			<label>Indent contacts if you don't show tree lines.</label>
			<default>false</default>
			<emit signal="contactListAppearanceChanged" />
		</entry>
		<entry key="contactListHideVerticalScrollBar" type="Bool">
			<label>Hide the vertical scroll bar.</label>
			<default>false</default>
			<emit signal="contactListAppearanceChanged" />
		</entry>
		<entry key="groupContactByGroup" type="Bool">
			<label>Group contacts by group.</label>
			<default>true</default>
			<emit signal="contactListAppearanceChanged" />
		</entry>
		<entry key="contactListUseCustomFont" type="Bool">
			<label>Use custom fonts for contact list.</label>
			<default>false</default>
			<emit signal="contactListAppearanceChanged" />
		</entry>
		<entry key="contactListAutoResize" type="Bool">
			<label>Automatically resize the main window.</label>
			<default>false</default>
			<emit signal="contactListAppearanceChanged" />
		</entry>
		<entry key="contactListResizeAnchor" type="Enum">
			<label>Corner at which to anchor main window when auto-resizing.</label>
			<choices>
				<choice name="Top"/> <!-- order is significant! -->
				<choice name="Bottom"/>
			</choices>
			<default>Bottom</default>
			<emit signal="contactListAppearanceChanged" />
		</entry>
		<!-- Contact list font preferences -->
		<entry key="contactListNormalFont" type="Font">
			<!-- TODO: 
			     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 );
			 -->
			<label>Normal font for contact list</label>
			<default code="true">KGlobalSettings::generalFont()</default>
			<emit signal="contactListAppearanceChanged" />
		</entry>
		<entry key="contactListSmallFont" type="Font">
			<label>Small font for contact list (for status message)</label>
			<default code="true">KGlobalSettings::generalFont()</default>
			<emit signal="contactListAppearanceChanged" />
		</entry>
		<entry key="groupNameColor" type="Color">
			<label>Color for group name.</label>
			<default code="true">Qt::darkRed</default>
			<emit signal="contactListAppearanceChanged" />
		</entry>
		<entry key="contactListAnimateChange" type="Bool">
			<label>Animate contact list on contactlist changes.</label>
			<default>true</default>
			<emit signal="contactListAppearanceChanged" />
		</entry>
		<entry key="contactListFading" type="Bool">
			<label>Fade-in/Fade-out on contact status change.</label>
			<default>true</default>
			<emit signal="contactListAppearanceChanged" />
		</entry>
		<entry key="contactListFolding" type="Bool">
			<label>Fold-in/Fold-out on contact status change.</label>
			<default>true</default>
			<emit signal="contactListAppearanceChanged" />
		</entry>
		<entry key="contactListAutoHide" type="Bool">
			<label>Auto-hide contact list after a while.</label>
			<default>false</default>
			<emit signal="contactListAppearanceChanged" />
		</entry>
		<entry key="contactListAutoHideVScroll" type="Bool">
			<label>Auto-hide vertical scrollbar in contact list after a while.</label>
			<default>true</default>
			<emit signal="contactListAppearanceChanged" />
		</entry>
		<entry key="contactListAutoHideTimeout" type="UInt">
			<label>Auto-hide timeout</label>
			<default>30</default>
			<emit signal="contactListAppearanceChanged" />
		</entry>

		<!-- Contact list appearance config -->
		<entry key="showOfflineUsers" type="Bool">
			<label>Show offline users in contact list.</label>
			<default>true</default>
			<emit signal="contactListAppearanceChanged" />
		</entry>
		<entry key="showEmptyGroups" type="Bool">
			<label>Show empty groups in contact list.</label>
			<default>false</default>
			<emit signal="contactListAppearanceChanged" />
		</entry>
	</group>
</kcfg>
