kopete/kopete
chatwindowconfig.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef CHATWINCONF_H
00021 #define CHATWINCONF_H
00022
00023 #define KDE3_SUPPORT
00024 #include <kcmodule.h>
00025 #undef KDE3_SUPPORT
00026 #include "ui_chatwindowconfig_style.h"
00027 #include "ui_chatwindowconfig_emoticons.h"
00028 #include "ui_chatwindowconfig_colors.h"
00029 #include <kopetechatwindowstyle.h>
00030
00031 class FakeProtocol;
00032 class FakeAccount;
00033 class FakeContact;
00034 class ChatMessagePart;
00035 class QTabWidget;
00036
00037 namespace Kopete { class MetaContact; class ChatSession; }
00038
00039 class ChatWindowConfig : public KCModule
00040 {
00041 Q_OBJECT
00042
00043 friend class KopeteStyleNewStuff;
00044
00045 public:
00046 ChatWindowConfig( QWidget *parent, const QVariantList &args );
00047 ~ChatWindowConfig();
00048
00049 virtual void save();
00050 virtual void load();
00051
00052 private slots:
00053
00054 void slotInstallChatStyle();
00055 int installChatStyle(const KUrl &styleToInstall);
00056 void slotDeleteChatStyle();
00057 void slotChatStyleSelected(const QString &styleName);
00058 void slotChatStyleVariantSelected(const QString &variantName);
00059 void emitChanged();
00060 void slotGetChatStyles();
00061 void slotLoadChatStyles();
00062 void slotUpdateChatPreview();
00063
00064 void slotManageEmoticonThemes();
00065
00066 private:
00067
00068 void createPreviewChatSession();
00069 void createPreviewMessages();
00070
00071 void updateEmoticonList();
00072
00073 private:
00074
00075 QTabWidget *m_tab;
00076
00077 Ui::ChatWindowConfig_Style m_styleUi;
00078 ChatMessagePart *m_preview;
00079
00080 ChatWindowStyle::StyleVariants m_currentVariantMap;
00081 ChatWindowStyle *m_currentStyle;
00082 bool m_loading;
00083 bool m_allowDownloadTheme;
00084
00085 FakeProtocol *m_previewProtocol;
00086 FakeAccount *m_previewAccount;
00087 Kopete::MetaContact *m_myselfMetaContact;
00088 Kopete::MetaContact *m_jackMetaContact;
00089 FakeContact *m_myself;
00090 FakeContact *m_jack;
00091 Kopete::ChatSession *m_previewChatSession;
00092
00093
00094 Ui::ChatWindowConfig_Emoticons m_emoticonsUi;
00095
00096
00097 Ui::ChatWindowConfig_Colors m_colorsUi;
00098
00099 };
00100 #endif