Revision 736598
Go back to digest for 18th November 2007Features in Networking Tools
Adds a much-requested a way for protocols to give a hint to Kopete which form a chat should take. This allows Kopete to give a chatwindow a size and members list visibility appropriate to the chat.
We've previously told users who requested this feature that it was not possible for consistency's sake, but I feel that this has handicapped our use of chatrooms/IRC in kopete. This solves this dilemma elegantly.
* Form is an attribute of Kopete::ChatSession
* 2 forms of chat: Small and Chatroom
* this affects the initial format of the chatwindow
* Small windows and Chatroom windows layout and members list visibility changes by the user are sticky and persisted independently
Additionally, the feature allows (optionally) a compact variant of the chat view style to be selected dependent on chat session form. This is implemented by munging the relative path to the variant css.
FunkyStyle.css -> _compact_FunkyStyle.css. The rationale for this is that a large style with avatars is not appropriate to a high traffic channel. This allows a compact variant to the main style, but that keeps has consistent theming, and works within the Adium chat spec
Notes on the patch:
* Everything defaults to the current Small behaviour! Even if applied as is, the patch is fail-safe!
* ...Except testbed, for testing and demonstration. This requests Chatroom style windows.
Patch reviewed by Duncan and Boiko
File Changes
- /trunk/KDE/kdenetwork/kopete/styles/Kopete/Contents/Resources/Variants
- /_compact_.css
- /_compact_Contact_color.css
- /trunk/KDE/kdenetwork/kopete
- /libkopete/kopetechatsession.cpp
- /libkopete/kopetechatsession.h
- /libkopete/kopetechatsessionmanager.cpp
- /libkopete/kopetechatsessionmanager.h
- /kopete/chatwindow/chatmessagepart.cpp
- /kopete/chatwindow/chatmessagepart.h
- /kopete/chatwindow/kopetechatwindow.cpp
- /kopete/chatwindow/kopetechatwindow.h
- /kopete/chatwindow/kopetechatwindowsettings.kcfg
- /kopete/chatwindow/kopetechatwindowstyle.cpp
- /kopete/chatwindow/kopetechatwindowstyle.h
- /protocols/testbed/testbedcontact.cpp
- /kopete/config/chatwindow/chatwindowconfig.cpp
- /kopete/config/chatwindow/chatwindowconfig_style.ui
- /styles/Kopete/Contents/Resources/Variants/CMakeLists.txt