[SCM] ktp-text-ui packaging branch, master, updated. debian/15.12.1-1-1918-gdf4b0ec
Maximiliano Curia
maxy at moszumanska.debian.org
Sat May 28 00:23:36 UTC 2016
Gitweb-URL: http://git.debian.org/?p=pkg-kde/applications/ktp-text-ui.git;a=commitdiff;h=d641de9
The following commit has been merged in the master branch:
commit d641de956eafa0208749d785c0c2fc4f374ecaef
Author: David Edmundson <kde at davidedmundson.co.uk>
Date: Fri Mar 15 01:40:39 2013 +0000
Allow seperate config for group chats
Split AppearanceConfig into tabs
Make showPresenceMode a boolean now that we have separate configgroups for single and group modes
REVIEW: 108571
BUG: 295843
---
app/chat-window.cpp | 5 +-
config/CMakeLists.txt | 2 +-
...arance-config.cpp => appearance-config-tab.cpp} | 269 +++++++++----------
...appearance-config.h => appearance-config-tab.h} | 49 ++--
config/appearance-config.cpp | 287 ++-------------------
config/appearance-config.h | 29 +--
config/appearance-config.ui | 33 +--
lib/adium-theme-view.cpp | 22 +-
lib/adium-theme-view.h | 12 +-
lib/chat-widget.cpp | 3 +-
10 files changed, 215 insertions(+), 496 deletions(-)
diff --git a/app/chat-window.cpp b/app/chat-window.cpp
index 9a014e3..01fe5a0 100644
--- a/app/chat-window.cpp
+++ b/app/chat-window.cpp
@@ -38,6 +38,7 @@
#include <KColorScheme>
#include <KTabBar>
#include <KSettings/Dialog>
+#include <kcmodulecontainer.h>
#include <KNotification>
#include <KNotifyConfigWidget>
#include <KMenuBar>
@@ -425,7 +426,7 @@ void ChatWindow::onNextTabActionTriggered()
if (m_tabWidget->count() == 1) {
return;
}
-
+
int currIndex = m_tabWidget->currentIndex();
if (currIndex < m_tabWidget->count()-1) {
@@ -440,7 +441,7 @@ void ChatWindow::onPreviousTabActionTriggered()
if (m_tabWidget->count() == 1) {
return;
}
-
+
int currIndex = m_tabWidget->currentIndex();
if (currIndex > 0) {
diff --git a/config/CMakeLists.txt b/config/CMakeLists.txt
index 24e9e80..a8e7cd9 100644
--- a/config/CMakeLists.txt
+++ b/config/CMakeLists.txt
@@ -1,6 +1,6 @@
include_directories(${CMAKE_SOURCE_DIR}/lib)
-set(kcm_ktp_chat_appearance_SRCS appearance-config.cpp)
+set(kcm_ktp_chat_appearance_SRCS appearance-config-tab.cpp appearance-config.cpp)
set(kcm_ktp_chat_behavior_SRCS behavior-config.cpp)
set(kcm_ktp_chat_messages_SRCS messages-config.cpp)
diff --git a/config/appearance-config.cpp b/config/appearance-config-tab.cpp
similarity index 65%
copy from config/appearance-config.cpp
copy to config/appearance-config-tab.cpp
index 247b47d..fadfd47 100644
--- a/config/appearance-config.cpp
+++ b/config/appearance-config-tab.cpp
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2011 by David Edmundson <kde at davidedmundson.co.uk> *
+ * Copyright (C) 2013 by Huba Nagy <12huba at gmail.com> *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
@@ -17,7 +17,7 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
***************************************************************************/
-#include "appearance-config.h"
+#include "appearance-config-tab.h"
#include "ui_appearance-config.h"
#include <KTp/ChatWindowStyleManager>
@@ -25,18 +25,14 @@
#include <KTp/AdiumThemeHeaderInfo>
#include <KTp/AdiumThemeContentInfo>
#include <KTp/AdiumThemeStatusInfo>
+#include <KMessageBox>
-#include <KDebug>
-#include <KLocalizedString>
-#include <KPluginFactory>
-
-K_PLUGIN_FACTORY(KCMTelepathyChatAppearanceConfigFactory, registerPlugin<AppearanceConfig>();)
-K_EXPORT_PLUGIN(KCMTelepathyChatAppearanceConfigFactory("ktp_chat_appearance", "kcm_ktp_chat_appearance"))
-
-AppearanceConfig::AppearanceConfig(QWidget *parent, const QVariantList& args)
- : KCModule(KCMTelepathyChatAppearanceConfigFactory::componentData(), parent, args),
- ui(new Ui::ChatWindowConfig)
+AppearanceConfigTab::AppearanceConfigTab(QWidget *parent, TabMode mode)
+ : QWidget(parent),
+ ui(new Ui::ChatWindowConfig)
{
+ m_groupChat = mode == GroupChat;
+
ui->setupUi(this);
m_demoChatHeader.setChatName(i18n("A demo chat"));
@@ -44,13 +40,13 @@ AppearanceConfig::AppearanceConfig(QWidget *parent, const QVariantList& args)
m_demoChatHeader.setTimeOpened(QDateTime::currentDateTime());
m_demoChatHeader.setDestinationName(i18nc("Example email", "ted at example.com"));
m_demoChatHeader.setDestinationDisplayName(i18nc("Example name", "Ted"));
- m_demoChatHeader.setGroupChat(false);
+ m_demoChatHeader.setGroupChat(m_groupChat);
ChatWindowStyleManager *manager = ChatWindowStyleManager::self();
connect(manager, SIGNAL(loadStylesFinished()), SLOT(onStylesLoaded()));
//loading theme settings.
- load();
+ loadTab();
connect(ui->chatView, SIGNAL(loadFinished(bool)), SLOT(sendDemoMessages()));
connect(ui->styleComboBox, SIGNAL(activated(int)), SLOT(onStyleSelected(int)));
@@ -59,15 +55,17 @@ AppearanceConfig::AppearanceConfig(QWidget *parent, const QVariantList& args)
connect(ui->customFontBox, SIGNAL(clicked(bool)), SLOT(onFontGroupChanged(bool)));
connect(ui->fontFamily, SIGNAL(currentFontChanged(QFont)), SLOT(onFontFamilyChanged(QFont)));
connect(ui->fontSize, SIGNAL(valueChanged(int)), SLOT(onFontSizeChanged(int)));
- connect(ui->showPresenceModeComboBox, SIGNAL(activated(int)), SLOT(onShowPresenceModeSelected(int)));
+ connect(ui->showPresenceCheckBox, SIGNAL(stateChanged(int)), SLOT(onShowPresenceChangesChanged(int)));
+
+ sendDemoMessages();
}
-AppearanceConfig::~AppearanceConfig()
+AppearanceConfigTab::~AppearanceConfigTab()
{
delete ui;
}
-void AppearanceConfig::changeEvent(QEvent *e)
+void AppearanceConfigTab::changeEvent(QEvent* e)
{
QWidget::changeEvent(e);
switch (e->type()) {
@@ -79,43 +77,47 @@ void AppearanceConfig::changeEvent(QEvent *e)
}
}
-void AppearanceConfig::onStylesLoaded()
+void AppearanceConfigTab::onFontFamilyChanged(const QFont &fontFamily)
{
- kDebug();
-
- QMap<QString, QString> styles = ChatWindowStyleManager::self()->getAvailableStyles();
- ChatWindowStyle *currentStyle = ui->chatView->chatStyle();
+ ui->chatView->setFontFamily(fontFamily.family());
+ ui->chatView->initialise(m_demoChatHeader);
+ tabChanged();
+}
- ui->styleComboBox->clear();
- QMap<QString, QString>::const_iterator i = styles.constBegin();
- while (i != styles.constEnd()) {
- ui->styleComboBox->addItem(i.value(), i.key());
+void AppearanceConfigTab::onFontGroupChanged(bool useCustomFont)
+{
+ ui->chatView->setUseCustomFont(useCustomFont);
+ ui->chatView->initialise(m_demoChatHeader);
+ tabChanged();
+}
- if (i.key() == currentStyle->id()) {
- ui->styleComboBox->setCurrentItem(i.value());
- }
+void AppearanceConfigTab::onFontSizeChanged(int fontSize)
+{
+ ui->chatView->setFontSize(fontSize);
+ ui->chatView->initialise(m_demoChatHeader);
+ tabChanged();
+}
- ++i;
+void AppearanceConfigTab::onShowPresenceChangesChanged(int state)
+{
+ if (state == Qt::Checked) {
+ ui->chatView->setShowPresenceChanges(true);
+ } else {
+ ui->chatView->setShowPresenceChanges(false);
}
-
- //ui->styleComboBox->setCurrentItem(currentStyle->getStyleName());
-
- updateVariantsList();
- //FIXME call onStyleSelected
+ ui->chatView->initialise(m_demoChatHeader);
+ tabChanged();
}
-void AppearanceConfig::updateVariantsList()
+void AppearanceConfigTab::onShowHeaderChanged(bool showHeader)
{
- kDebug();
- QHash<QString, QString> variants = ui->chatView->chatStyle()->getVariants();
- ui->variantComboBox->clear();
- ui->variantComboBox->addItems(variants.keys());
- ui->variantComboBox->setCurrentItem(ui->chatView->variantName());
+ ui->chatView->setHeaderDisplayed(showHeader);
+ ui->chatView->initialise(m_demoChatHeader);
+ tabChanged();
}
-void AppearanceConfig::onStyleSelected(int index)
+void AppearanceConfigTab::onStyleSelected(int index)
{
- kDebug();
//load the style.
QString styleId = ui->styleComboBox->itemData(index).toString();
@@ -127,69 +129,53 @@ void AppearanceConfig::onStyleSelected(int index)
ui->showHeader->setEnabled(style->hasHeader());
ui->chatView->initialise(m_demoChatHeader);
}
- changed();
-}
-void AppearanceConfig::onVariantSelected(const QString &variant)
-{
- kDebug();
- ui->chatView->setVariant(variant);
- ui->chatView->initialise(m_demoChatHeader);
- changed();
+ tabChanged();
}
-void AppearanceConfig::onShowHeaderChanged(bool showHeader)
+void AppearanceConfigTab::onStylesLoaded()
{
- ui->chatView->setHeaderDisplayed(showHeader);
- ui->chatView->initialise(m_demoChatHeader);
- changed();
-}
+ QMap<QString, QString> styles = ChatWindowStyleManager::self()->getAvailableStyles();
+ ChatWindowStyle *currentStyle = ui->chatView->chatStyle();
-void AppearanceConfig::onFontGroupChanged(bool useCustomFont)
-{
- kDebug();
- ui->chatView->setUseCustomFont(useCustomFont);
- ui->chatView->initialise(m_demoChatHeader);
- changed();
-}
+ ui->styleComboBox->clear();
+ QMap<QString, QString>::const_iterator i = styles.constBegin();
+ while (i != styles.constEnd()) {
+ ui->styleComboBox->addItem(i.value(), i.key());
-void AppearanceConfig::onFontFamilyChanged(QFont fontFamily)
-{
- kDebug() << fontFamily.family();
- ui->chatView->setFontFamily(fontFamily.family());
- ui->chatView->initialise(m_demoChatHeader);
- changed();
-}
+ if (i.key() == currentStyle->id()) {
+ ui->styleComboBox->setCurrentItem(i.value());
+ }
-void AppearanceConfig::onFontSizeChanged(int fontSize)
-{
- kDebug() << fontSize;
- ui->chatView->setFontSize(fontSize);
- ui->chatView->initialise(m_demoChatHeader);
- changed();
+ ++i;
+ }
+
+ //ui->styleComboBox->setCurrentItem(currentStyle->getStyleName());
+
+ updateVariantsList();
+ //FIXME call onStyleSelected
}
-void AppearanceConfig::onShowPresenceModeSelected(int showPresenceMode)
+void AppearanceConfigTab::onVariantSelected(const QString &variant)
{
- kDebug();
- ui->chatView->setShowPresenceMode(static_cast<AdiumThemeView::ShowPresenceMode>(showPresenceMode));
+ ui->chatView->setVariant(variant);
ui->chatView->initialise(m_demoChatHeader);
- changed();
+ tabChanged();
}
-void AppearanceConfig::sendDemoMessages()
+void AppearanceConfigTab::sendDemoMessages()
{
//add a fake message
AdiumThemeContentInfo message(AdiumThemeMessageInfo::HistoryRemoteToLocal);
message.setMessage(i18nc("Example message in preview conversation","Ok!"));
message.setSenderDisplayName(i18nc("Example email", "larry at example.com"));
message.setSenderScreenName(i18nc("Example name", "Larry Demo"));
- message.setService(i18n("Jabber"));
+ message.setService(i18nc("XMPP Protocol name" , "Jabber"));
message.setTime(QDateTime::currentDateTime());
ui->chatView->addContentMessage(message);
message = AdiumThemeContentInfo(AdiumThemeMessageInfo::HistoryRemoteToLocal);
- message.setMessage(i18n("Bye Bye"));
+ message.setMessage(i18nc("Example message in preview conversation","Bye Bye"));
message.setSenderDisplayName(i18nc("Example email", "larry at example.com"));
message.setSenderScreenName(i18nc("Example name", "Larry Demo"));
message.setService(i18n("Jabber"));
@@ -197,7 +183,7 @@ void AppearanceConfig::sendDemoMessages()
ui->chatView->addContentMessage(message);
message = AdiumThemeContentInfo(AdiumThemeMessageInfo::HistoryLocalToRemote);
- message.setMessage(i18n("Have fun!"));
+ message.setMessage(i18nc("Example message in preview conversation","Have fun!"));
message.setSenderDisplayName(i18nc("Example email", "ted at example.com"));
message.setSenderScreenName(i18nc("Example name", "Ted Example"));
message.setService(i18n("Jabber"));
@@ -205,7 +191,7 @@ void AppearanceConfig::sendDemoMessages()
ui->chatView->addContentMessage(message);
message = AdiumThemeContentInfo(AdiumThemeMessageInfo::HistoryLocalToRemote);
- message.setMessage(i18n("cya"));
+ message.setMessage(i18nc("Example message in preview conversation","cya"));
message.setSenderDisplayName(i18nc("Example email", "ted at example.com"));
message.setSenderScreenName(i18nc("Example name", "Ted Example"));
message.setService(i18n("Jabber"));
@@ -218,26 +204,24 @@ void AppearanceConfig::sendDemoMessages()
statusMessage.setService(i18n("Jabber"));
ui->chatView->addStatusMessage(statusMessage);
- if (ui->chatView->showPresenceMode() != AdiumThemeView::Never) {
- statusMessage = AdiumThemeStatusInfo(true);
- statusMessage.setMessage(i18n("Ted Example has left the chat.")); //FIXME sync this with chat text logic.
- statusMessage.setTime(QDateTime::currentDateTime());
- statusMessage.setService(i18n("Jabber"));
- statusMessage.setStatus(QLatin1String("away"));
- ui->chatView->addStatusMessage(statusMessage);
- }
+ statusMessage = AdiumThemeStatusInfo(true);
+ statusMessage.setMessage(i18nc("Example message in preview conversation","Ted Example has left the chat.")); //FIXME sync this with chat text logic.
+ statusMessage.setTime(QDateTime::currentDateTime());
+ statusMessage.setService(i18n("Jabber"));
+ statusMessage.setStatus(QLatin1String("away"));
+ ui->chatView->addStatusMessage(statusMessage);
message = AdiumThemeContentInfo(AdiumThemeMessageInfo::RemoteToLocal);
- message.setMessage(i18nc("Example message", "Hello Ted"));
+ message.setMessage(i18nc("Example message in preview conversation","Hello Ted"));
message.setSenderDisplayName(i18nc("Example email", "larry at example.com"));
message.setSenderScreenName(i18nc("Example name", "Larry Demo"));
message.setService(i18n("Jabber"));
- message.setTime(QDateTime::currentDateTime());
message.appendMessageClass(QLatin1String("mention"));
+ message.setTime(QDateTime::currentDateTime());
ui->chatView->addContentMessage(message);
message = AdiumThemeContentInfo(AdiumThemeMessageInfo::RemoteToLocal);
- message.setMessage(i18n("What's up?"));
+ message.setMessage(i18nc("Example message in preview conversation","What's up?"));
message.setSenderDisplayName(i18nc("Example email", "larry at example.com"));
message.setSenderScreenName(i18nc("Example name", "Larry Demo"));
message.setService(i18n("Jabber"));
@@ -245,7 +229,7 @@ void AppearanceConfig::sendDemoMessages()
ui->chatView->addContentMessage(message);
message = AdiumThemeContentInfo(AdiumThemeMessageInfo::LocalToRemote);
- message.setMessage(i18n("Check out which cool adium themes work "
+ message.setMessage(i18nc("Example message in preview conversation","Check out which cool adium themes work "
"<a href=\"http://community.kde.org/KTp/Components/Chat_Window/Themes\">"
"here</a>!"));
message.setSenderDisplayName(i18nc("Example email", "ted at example.com"));
@@ -254,24 +238,34 @@ void AppearanceConfig::sendDemoMessages()
message.setTime(QDateTime::currentDateTime());
ui->chatView->addContentMessage(message);
+ if ( m_groupChat == true) {
+ message = AdiumThemeContentInfo(AdiumThemeMessageInfo::RemoteToLocal);
+ message.setMessage(i18nc("Example message in preview conversation","Hello"));
+ message.setSenderDisplayName(i18nc("Example email", "bob at example.com"));
+ message.setSenderScreenName(i18nc("Example name", "Bob Example"));
+ message.setService(i18n("Jabber"));
+ message.setTime(QDateTime::currentDateTime());
+ ui->chatView->addContentMessage(message);
+ }
+
message = AdiumThemeContentInfo(AdiumThemeMessageInfo::LocalToRemote);
- message.setMessage(i18n("A different example message"));
+ message.setMessage(i18nc("Example message in preview conversation","A different example message"));
message.setSenderDisplayName(i18nc("Example email", "ted at example.com"));
message.setSenderScreenName(i18nc("Example name", "Ted Example"));
message.setService(i18n("Jabber"));
message.setTime(QDateTime::currentDateTime());
ui->chatView->addContentMessage(message);
- if (ui->chatView->showPresenceMode() != AdiumThemeView::Never) {
+ if (ui->chatView->showPresenceChanges()) {
statusMessage = AdiumThemeStatusInfo();
- statusMessage.setMessage(i18n("Ted Example is now Away.")); //FIXME sync this with chat text logic.
+ statusMessage.setMessage(i18nc("Example message in preview conversation","Ted Example is now Away.")); //FIXME sync this with chat text logic.
statusMessage.setTime(QDateTime::currentDateTime());
statusMessage.setService(i18n("Jabber"));
statusMessage.setStatus(QLatin1String("away"));
ui->chatView->addStatusMessage(statusMessage);
statusMessage = AdiumThemeStatusInfo();
- statusMessage.setMessage(i18n("Ted Example has left the chat.")); //FIXME sync this with chat text logic.
+ statusMessage.setMessage(i18nc("Example message in preview conversations","Ted Example has left the chat.")); //FIXME sync this with chat text logic.
statusMessage.setTime(QDateTime::currentDateTime());
statusMessage.setService(i18n("Jabber"));
statusMessage.setStatus(QLatin1String("away"));
@@ -279,53 +273,66 @@ void AppearanceConfig::sendDemoMessages()
}
}
-void AppearanceConfig::defaults()
+void AppearanceConfigTab::updateVariantsList()
{
- ChatWindowStyleManager *manager = ChatWindowStyleManager::self();
- manager->loadStyles();
+ QHash<QString, QString> variants = ui->chatView->chatStyle()->getVariants();
+ ui->variantComboBox->clear();
+ ui->variantComboBox->addItems(variants.keys());
+ ui->variantComboBox->setCurrentItem(ui->chatView->variantName());
+}
- onVariantSelected(QLatin1String("renkoo.AdiumMessageStyle"));
- onStyleSelected(0);
- ui->showHeader->setChecked(false);
- ui->customFontBox->setChecked(false);
- ui->chatView->setUseCustomFont(false);
- ui->fontFamily->setCurrentFont(KGlobalSettings::generalFont());
- ui->fontSize->setValue(QWebSettings::DefaultFontSize);
- onShowPresenceModeSelected(static_cast<int>(AdiumThemeView::Always));
+void AppearanceConfigTab::saveTab(KConfigGroup appearanceConfigGroup)
+{
+ appearanceConfigGroup.writeEntry(QLatin1String("styleName"), ui->styleComboBox->itemData(ui->styleComboBox->currentIndex()).toString());
+ appearanceConfigGroup.writeEntry(QLatin1String("styleVariant"), ui->variantComboBox->currentText());
+ appearanceConfigGroup.writeEntry(QLatin1String("displayHeader"), ui->showHeader->isChecked());
+ appearanceConfigGroup.writeEntry(QLatin1String("useCustomFont"), ui->customFontBox->isChecked());
+ appearanceConfigGroup.writeEntry(QLatin1String("fontFamily"), ui->fontFamily->currentFont().family());
+ appearanceConfigGroup.writeEntry(QLatin1String("fontSize"), ui->fontSize->value());
+ appearanceConfigGroup.writeEntry(QLatin1String("showPresenceChanges"), ui->showPresenceCheckBox->checkState() == Qt::Checked ? true : false);
+
+ appearanceConfigGroup.sync();
}
-void AppearanceConfig::load()
+void AppearanceConfigTab::loadTab()
{
ChatWindowStyleManager *manager = ChatWindowStyleManager::self();
manager->loadStyles();
- ui->chatView->load(AdiumThemeView::SingleUserChat);
+ AdiumThemeView::ChatType chatType;
+
+ if( m_groupChat ) {
+ chatType = AdiumThemeView::GroupChat;
+ } else {
+ chatType = AdiumThemeView::SingleUserChat;
+ }
+
+ ui->chatView->load(chatType);
ui->chatView->initialise(m_demoChatHeader);
ui->showHeader->setChecked(ui->chatView->isHeaderDisplayed());
ui->customFontBox->setChecked(ui->chatView->isCustomFont());
ui->fontFamily->setCurrentFont(QFont(ui->chatView->fontFamily()));
ui->fontSize->setValue(ui->chatView->fontSize());
- ui->showPresenceModeComboBox->setCurrentIndex(ui->chatView->showPresenceMode());
+ ui->showPresenceCheckBox->setChecked(ui->chatView->showPresenceChanges());
}
-void AppearanceConfig::save()
+void AppearanceConfigTab::defaultTab()
{
- kDebug();
-
- KSharedConfigPtr config = KSharedConfig::openConfig(QLatin1String("ktelepathyrc"));
- KConfigGroup appearanceConfig = config->group("Appearance");
-
- appearanceConfig.writeEntry("styleName", ui->styleComboBox->itemData(ui->styleComboBox->currentIndex()).toString());
- appearanceConfig.writeEntry("styleVariant", ui->variantComboBox->currentText());
- appearanceConfig.writeEntry("displayHeader", ui->showHeader->isChecked());
- appearanceConfig.writeEntry("useCustomFont", ui->customFontBox->isChecked());
- appearanceConfig.writeEntry("fontFamily", ui->fontFamily->currentFont().family());
- appearanceConfig.writeEntry("fontSize", ui->fontSize->value());
- appearanceConfig.writeEntry("showPresenceMode", ui->showPresenceModeComboBox->currentIndex());
+ ChatWindowStyleManager *manager = ChatWindowStyleManager::self();
+ manager->loadStyles();
- appearanceConfig.sync();
- config->sync();
+ if (m_groupChat) {
+ onVariantSelected(QLatin1String("SimKete.AdiumMessageStyle"));
+ } else {
+ onVariantSelected(QLatin1String("renkoo.AdiumMessageStyle"));
+ }
- KCModule::save();
+ onStyleSelected(0);
+ ui->showHeader->setChecked(false);
+ ui->customFontBox->setChecked(false);
+ ui->chatView->setUseCustomFont(false);
+ ui->fontFamily->setCurrentFont(KGlobalSettings::generalFont());
+ ui->fontSize->setValue(QWebSettings::DefaultFontSize);
+ ui->showPresenceCheckBox->setChecked(true);
}
diff --git a/config/appearance-config.h b/config/appearance-config-tab.h
similarity index 65%
copy from config/appearance-config.h
copy to config/appearance-config-tab.h
index 48bd67a..9f3022f 100644
--- a/config/appearance-config.h
+++ b/config/appearance-config-tab.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2011 by David Edmundson <kde at davidedmundson.co.uk> *
+ * Copyright (C) 2013 by Huba Nagy <12huba at gmail.com> *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
@@ -17,32 +17,39 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
***************************************************************************/
-#ifndef APPEARANCE_CONFIG_H
-#define APPEARANCE_CONFIG_H
+#ifndef APPEARANCE_CONFIG_TAB_H
+#define APPEARANCE_CONFIG_TAB_H
#include "adium-theme-header-info.h"
-#include <KCModule>
+#include <QWidget>
+#include <KConfigGroup>
namespace Ui
{
class ChatWindowConfig;
}
-
-class AppearanceConfig : public KCModule
+class AppearanceConfigTab : public QWidget
{
Q_OBJECT
public:
- explicit AppearanceConfig(QWidget *parent = 0,
- const QVariantList& args = QVariantList());
- ~AppearanceConfig();
+ enum TabMode {
+ NormalChat,
+ GroupChat
+ };
+
+ explicit AppearanceConfigTab(QWidget *parent = 0, TabMode mode = NormalChat);
+
+ virtual ~AppearanceConfigTab();
-public Q_SLOTS:
- virtual void save();
- virtual void load();
- virtual void defaults();
+ void saveTab(KConfigGroup appearanceConfigGroup);
+ void loadTab();
+ void defaultTab();
+
+Q_SIGNALS:
+ void tabChanged();
protected:
void changeEvent(QEvent *e);
@@ -53,17 +60,17 @@ private Q_SLOTS:
void updateVariantsList();
void onStyleSelected(int index);
- void onVariantSelected(const QString&);
- void onShowHeaderChanged(bool);
- void onFontGroupChanged(bool);
- void onFontFamilyChanged(QFont);
- void onFontSizeChanged(int);
- void onShowPresenceModeSelected(int);
+ void onVariantSelected(const QString &variant);
+ void onShowHeaderChanged(bool showHead);
+ void onFontGroupChanged(bool useCustomFont);
+ void onFontFamilyChanged(const QFont &font);
+ void onFontSizeChanged(int fontSize);
+ void onShowPresenceChangesChanged(int stateChanged);
private:
Ui::ChatWindowConfig *ui;
AdiumThemeHeaderInfo m_demoChatHeader;
-
+ bool m_groupChat;
};
-#endif // APPEARANCE_CONFIG_H
+#endif // APPEARANCE_CONFIG_TAB_H
diff --git a/config/appearance-config.cpp b/config/appearance-config.cpp
index 247b47d..f7ebd40 100644
--- a/config/appearance-config.cpp
+++ b/config/appearance-config.cpp
@@ -19,7 +19,9 @@
#include "appearance-config.h"
#include "ui_appearance-config.h"
+#include "appearance-config-tab.h"
+#include <KTabWidget>
#include <KTp/ChatWindowStyleManager>
#include <KTp/ChatWindowStyle>
#include <KTp/AdiumThemeHeaderInfo>
@@ -33,298 +35,53 @@
K_PLUGIN_FACTORY(KCMTelepathyChatAppearanceConfigFactory, registerPlugin<AppearanceConfig>();)
K_EXPORT_PLUGIN(KCMTelepathyChatAppearanceConfigFactory("ktp_chat_appearance", "kcm_ktp_chat_appearance"))
-AppearanceConfig::AppearanceConfig(QWidget *parent, const QVariantList& args)
- : KCModule(KCMTelepathyChatAppearanceConfigFactory::componentData(), parent, args),
- ui(new Ui::ChatWindowConfig)
+AppearanceConfig::AppearanceConfig(QWidget *parent, const QVariantList &args)
+ : KCModule(KCMTelepathyChatAppearanceConfigFactory::componentData(), parent, args)
{
- ui->setupUi(this);
+ QVBoxLayout *topLayout = new QVBoxLayout(this);
+ topLayout->setMargin(0);
+ topLayout->setSpacing(KDialog::spacingHint());
- m_demoChatHeader.setChatName(i18n("A demo chat"));
- m_demoChatHeader.setSourceName(i18n("Jabber"));
- m_demoChatHeader.setTimeOpened(QDateTime::currentDateTime());
- m_demoChatHeader.setDestinationName(i18nc("Example email", "ted at example.com"));
- m_demoChatHeader.setDestinationDisplayName(i18nc("Example name", "Ted"));
- m_demoChatHeader.setGroupChat(false);
+ KTabWidget *tabWidget = new KTabWidget(this);
- ChatWindowStyleManager *manager = ChatWindowStyleManager::self();
- connect(manager, SIGNAL(loadStylesFinished()), SLOT(onStylesLoaded()));
+ m_singleTab = new AppearanceConfigTab(this, AppearanceConfigTab::NormalChat);
+ tabWidget->addTab(m_singleTab, KIcon(), i18nc("@title:tab", "Normal Chat"));
+ connect(m_singleTab, SIGNAL(tabChanged()), this, SLOT(changed()));
- //loading theme settings.
- load();
+ m_groupTab = new AppearanceConfigTab(this, AppearanceConfigTab::GroupChat);
+ tabWidget->addTab(m_groupTab, KIcon(), i18nc("@title:tab", "Group Chat"));
+ connect(m_groupTab, SIGNAL(tabChanged()), this, SLOT(changed()));
- connect(ui->chatView, SIGNAL(loadFinished(bool)), SLOT(sendDemoMessages()));
- connect(ui->styleComboBox, SIGNAL(activated(int)), SLOT(onStyleSelected(int)));
- connect(ui->variantComboBox, SIGNAL(activated(QString)), SLOT(onVariantSelected(QString)));
- connect(ui->showHeader, SIGNAL(clicked(bool)), SLOT(onShowHeaderChanged(bool)));
- connect(ui->customFontBox, SIGNAL(clicked(bool)), SLOT(onFontGroupChanged(bool)));
- connect(ui->fontFamily, SIGNAL(currentFontChanged(QFont)), SLOT(onFontFamilyChanged(QFont)));
- connect(ui->fontSize, SIGNAL(valueChanged(int)), SLOT(onFontSizeChanged(int)));
- connect(ui->showPresenceModeComboBox, SIGNAL(activated(int)), SLOT(onShowPresenceModeSelected(int)));
+ topLayout->addWidget(tabWidget, 0, 0);
}
AppearanceConfig::~AppearanceConfig()
{
- delete ui;
-}
-
-void AppearanceConfig::changeEvent(QEvent *e)
-{
- QWidget::changeEvent(e);
- switch (e->type()) {
- case QEvent::LanguageChange:
- ui->retranslateUi(this);
- break;
- default:
- break;
- }
-}
-
-void AppearanceConfig::onStylesLoaded()
-{
- kDebug();
-
- QMap<QString, QString> styles = ChatWindowStyleManager::self()->getAvailableStyles();
- ChatWindowStyle *currentStyle = ui->chatView->chatStyle();
- ui->styleComboBox->clear();
- QMap<QString, QString>::const_iterator i = styles.constBegin();
- while (i != styles.constEnd()) {
- ui->styleComboBox->addItem(i.value(), i.key());
-
- if (i.key() == currentStyle->id()) {
- ui->styleComboBox->setCurrentItem(i.value());
- }
-
- ++i;
- }
-
- //ui->styleComboBox->setCurrentItem(currentStyle->getStyleName());
-
- updateVariantsList();
- //FIXME call onStyleSelected
-}
-
-void AppearanceConfig::updateVariantsList()
-{
- kDebug();
- QHash<QString, QString> variants = ui->chatView->chatStyle()->getVariants();
- ui->variantComboBox->clear();
- ui->variantComboBox->addItems(variants.keys());
- ui->variantComboBox->setCurrentItem(ui->chatView->variantName());
-}
-
-void AppearanceConfig::onStyleSelected(int index)
-{
- kDebug();
- //load the style.
- QString styleId = ui->styleComboBox->itemData(index).toString();
-
- ChatWindowStyle *style = ChatWindowStyleManager::self()->getValidStyleFromPool(styleId);
-
- if (style) {
- ui->chatView->setChatStyle(style);
- updateVariantsList();
- ui->showHeader->setEnabled(style->hasHeader());
- ui->chatView->initialise(m_demoChatHeader);
- }
- changed();
-}
-
-void AppearanceConfig::onVariantSelected(const QString &variant)
-{
- kDebug();
- ui->chatView->setVariant(variant);
- ui->chatView->initialise(m_demoChatHeader);
- changed();
-}
-
-void AppearanceConfig::onShowHeaderChanged(bool showHeader)
-{
- ui->chatView->setHeaderDisplayed(showHeader);
- ui->chatView->initialise(m_demoChatHeader);
- changed();
-}
-
-void AppearanceConfig::onFontGroupChanged(bool useCustomFont)
-{
- kDebug();
- ui->chatView->setUseCustomFont(useCustomFont);
- ui->chatView->initialise(m_demoChatHeader);
- changed();
-}
-
-void AppearanceConfig::onFontFamilyChanged(QFont fontFamily)
-{
- kDebug() << fontFamily.family();
- ui->chatView->setFontFamily(fontFamily.family());
- ui->chatView->initialise(m_demoChatHeader);
- changed();
-}
-
-void AppearanceConfig::onFontSizeChanged(int fontSize)
-{
- kDebug() << fontSize;
- ui->chatView->setFontSize(fontSize);
- ui->chatView->initialise(m_demoChatHeader);
- changed();
-}
-
-void AppearanceConfig::onShowPresenceModeSelected(int showPresenceMode)
-{
- kDebug();
- ui->chatView->setShowPresenceMode(static_cast<AdiumThemeView::ShowPresenceMode>(showPresenceMode));
- ui->chatView->initialise(m_demoChatHeader);
- changed();
-}
-
-void AppearanceConfig::sendDemoMessages()
-{
- //add a fake message
- AdiumThemeContentInfo message(AdiumThemeMessageInfo::HistoryRemoteToLocal);
- message.setMessage(i18nc("Example message in preview conversation","Ok!"));
- message.setSenderDisplayName(i18nc("Example email", "larry at example.com"));
- message.setSenderScreenName(i18nc("Example name", "Larry Demo"));
- message.setService(i18n("Jabber"));
- message.setTime(QDateTime::currentDateTime());
- ui->chatView->addContentMessage(message);
-
- message = AdiumThemeContentInfo(AdiumThemeMessageInfo::HistoryRemoteToLocal);
- message.setMessage(i18n("Bye Bye"));
- message.setSenderDisplayName(i18nc("Example email", "larry at example.com"));
- message.setSenderScreenName(i18nc("Example name", "Larry Demo"));
- message.setService(i18n("Jabber"));
- message.setTime(QDateTime::currentDateTime());
- ui->chatView->addContentMessage(message);
-
- message = AdiumThemeContentInfo(AdiumThemeMessageInfo::HistoryLocalToRemote);
- message.setMessage(i18n("Have fun!"));
- message.setSenderDisplayName(i18nc("Example email", "ted at example.com"));
- message.setSenderScreenName(i18nc("Example name", "Ted Example"));
- message.setService(i18n("Jabber"));
- message.setTime(QDateTime::currentDateTime());
- ui->chatView->addContentMessage(message);
-
- message = AdiumThemeContentInfo(AdiumThemeMessageInfo::HistoryLocalToRemote);
- message.setMessage(i18n("cya"));
- message.setSenderDisplayName(i18nc("Example email", "ted at example.com"));
- message.setSenderScreenName(i18nc("Example name", "Ted Example"));
- message.setService(i18n("Jabber"));
- message.setTime(QDateTime::currentDateTime());
- ui->chatView->addContentMessage(message);
-
- AdiumThemeStatusInfo statusMessage(true);
- statusMessage.setMessage(i18nc("Example message", "Ted Example waves."));
- statusMessage.setTime(QDateTime::currentDateTime());
- statusMessage.setService(i18n("Jabber"));
- ui->chatView->addStatusMessage(statusMessage);
-
- if (ui->chatView->showPresenceMode() != AdiumThemeView::Never) {
- statusMessage = AdiumThemeStatusInfo(true);
- statusMessage.setMessage(i18n("Ted Example has left the chat.")); //FIXME sync this with chat text logic.
- statusMessage.setTime(QDateTime::currentDateTime());
- statusMessage.setService(i18n("Jabber"));
- statusMessage.setStatus(QLatin1String("away"));
- ui->chatView->addStatusMessage(statusMessage);
- }
-
- message = AdiumThemeContentInfo(AdiumThemeMessageInfo::RemoteToLocal);
- message.setMessage(i18nc("Example message", "Hello Ted"));
- message.setSenderDisplayName(i18nc("Example email", "larry at example.com"));
- message.setSenderScreenName(i18nc("Example name", "Larry Demo"));
- message.setService(i18n("Jabber"));
- message.setTime(QDateTime::currentDateTime());
- message.appendMessageClass(QLatin1String("mention"));
- ui->chatView->addContentMessage(message);
-
- message = AdiumThemeContentInfo(AdiumThemeMessageInfo::RemoteToLocal);
- message.setMessage(i18n("What's up?"));
- message.setSenderDisplayName(i18nc("Example email", "larry at example.com"));
- message.setSenderScreenName(i18nc("Example name", "Larry Demo"));
- message.setService(i18n("Jabber"));
- message.setTime(QDateTime::currentDateTime());
- ui->chatView->addContentMessage(message);
-
- message = AdiumThemeContentInfo(AdiumThemeMessageInfo::LocalToRemote);
- message.setMessage(i18n("Check out which cool adium themes work "
- "<a href=\"http://community.kde.org/KTp/Components/Chat_Window/Themes\">"
- "here</a>!"));
- message.setSenderDisplayName(i18nc("Example email", "ted at example.com"));
- message.setSenderScreenName(i18nc("Example name", "Ted Example"));
- message.setService(i18n("Jabber"));
- message.setTime(QDateTime::currentDateTime());
- ui->chatView->addContentMessage(message);
-
- message = AdiumThemeContentInfo(AdiumThemeMessageInfo::LocalToRemote);
- message.setMessage(i18n("A different example message"));
- message.setSenderDisplayName(i18nc("Example email", "ted at example.com"));
- message.setSenderScreenName(i18nc("Example name", "Ted Example"));
- message.setService(i18n("Jabber"));
- message.setTime(QDateTime::currentDateTime());
- ui->chatView->addContentMessage(message);
-
- if (ui->chatView->showPresenceMode() != AdiumThemeView::Never) {
- statusMessage = AdiumThemeStatusInfo();
- statusMessage.setMessage(i18n("Ted Example is now Away.")); //FIXME sync this with chat text logic.
- statusMessage.setTime(QDateTime::currentDateTime());
- statusMessage.setService(i18n("Jabber"));
- statusMessage.setStatus(QLatin1String("away"));
- ui->chatView->addStatusMessage(statusMessage);
-
- statusMessage = AdiumThemeStatusInfo();
- statusMessage.setMessage(i18n("Ted Example has left the chat.")); //FIXME sync this with chat text logic.
- statusMessage.setTime(QDateTime::currentDateTime());
- statusMessage.setService(i18n("Jabber"));
- statusMessage.setStatus(QLatin1String("away"));
- ui->chatView->addStatusMessage(statusMessage);
- }
}
void AppearanceConfig::defaults()
{
- ChatWindowStyleManager *manager = ChatWindowStyleManager::self();
- manager->loadStyles();
-
- onVariantSelected(QLatin1String("renkoo.AdiumMessageStyle"));
- onStyleSelected(0);
- ui->showHeader->setChecked(false);
- ui->customFontBox->setChecked(false);
- ui->chatView->setUseCustomFont(false);
- ui->fontFamily->setCurrentFont(KGlobalSettings::generalFont());
- ui->fontSize->setValue(QWebSettings::DefaultFontSize);
- onShowPresenceModeSelected(static_cast<int>(AdiumThemeView::Always));
+ m_singleTab->defaultTab();
+ m_groupTab->defaultTab();
}
void AppearanceConfig::load()
{
- ChatWindowStyleManager *manager = ChatWindowStyleManager::self();
- manager->loadStyles();
-
- ui->chatView->load(AdiumThemeView::SingleUserChat);
- ui->chatView->initialise(m_demoChatHeader);
-
- ui->showHeader->setChecked(ui->chatView->isHeaderDisplayed());
- ui->customFontBox->setChecked(ui->chatView->isCustomFont());
- ui->fontFamily->setCurrentFont(QFont(ui->chatView->fontFamily()));
- ui->fontSize->setValue(ui->chatView->fontSize());
- ui->showPresenceModeComboBox->setCurrentIndex(ui->chatView->showPresenceMode());
+ m_singleTab->loadTab();
+ m_groupTab->loadTab();
}
+
void AppearanceConfig::save()
{
kDebug();
KSharedConfigPtr config = KSharedConfig::openConfig(QLatin1String("ktelepathyrc"));
- KConfigGroup appearanceConfig = config->group("Appearance");
- appearanceConfig.writeEntry("styleName", ui->styleComboBox->itemData(ui->styleComboBox->currentIndex()).toString());
- appearanceConfig.writeEntry("styleVariant", ui->variantComboBox->currentText());
- appearanceConfig.writeEntry("displayHeader", ui->showHeader->isChecked());
- appearanceConfig.writeEntry("useCustomFont", ui->customFontBox->isChecked());
- appearanceConfig.writeEntry("fontFamily", ui->fontFamily->currentFont().family());
- appearanceConfig.writeEntry("fontSize", ui->fontSize->value());
- appearanceConfig.writeEntry("showPresenceMode", ui->showPresenceModeComboBox->currentIndex());
+ m_singleTab->saveTab(config->group("Appearance"));
+ m_groupTab->saveTab(config->group("GroupAppearance"));
- appearanceConfig.sync();
config->sync();
KCModule::save();
diff --git a/config/appearance-config.h b/config/appearance-config.h
index 48bd67a..c0a1e69 100644
--- a/config/appearance-config.h
+++ b/config/appearance-config.h
@@ -21,22 +21,17 @@
#define APPEARANCE_CONFIG_H
#include "adium-theme-header-info.h"
+#include "appearance-config-tab.h"
#include <KCModule>
-namespace Ui
-{
- class ChatWindowConfig;
-}
-
-
class AppearanceConfig : public KCModule
{
Q_OBJECT
public:
explicit AppearanceConfig(QWidget *parent = 0,
- const QVariantList& args = QVariantList());
+ const QVariantList &args = QVariantList());
~AppearanceConfig();
public Q_SLOTS:
@@ -45,24 +40,8 @@ public Q_SLOTS:
virtual void defaults();
protected:
- void changeEvent(QEvent *e);
-
-private Q_SLOTS:
- void sendDemoMessages();
- void onStylesLoaded();
- void updateVariantsList();
-
- void onStyleSelected(int index);
- void onVariantSelected(const QString&);
- void onShowHeaderChanged(bool);
- void onFontGroupChanged(bool);
- void onFontFamilyChanged(QFont);
- void onFontSizeChanged(int);
- void onShowPresenceModeSelected(int);
-
-private:
- Ui::ChatWindowConfig *ui;
- AdiumThemeHeaderInfo m_demoChatHeader;
+ AppearanceConfigTab *m_singleTab;
+ AppearanceConfigTab *m_groupTab;
};
diff --git a/config/appearance-config.ui b/config/appearance-config.ui
index a6d55a2..eed54cb 100644
--- a/config/appearance-config.ui
+++ b/config/appearance-config.ui
@@ -6,7 +6,7 @@
<rect>
<x>0</x>
<y>0</y>
- <width>666</width>
+ <width>732</width>
<height>400</height>
</rect>
</property>
@@ -152,36 +152,11 @@
</property>
</widget>
</item>
- <item row="3" column="0">
- <widget class="QLabel" name="presenceLabel">
- <property name="text">
- <string>Show presence changes:</string>
- </property>
- </widget>
- </item>
<item row="3" column="1">
- <widget class="QComboBox" name="showPresenceModeComboBox">
- <property name="sizePolicy">
- <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
+ <widget class="QCheckBox" name="showPresenceCheckBox">
+ <property name="text">
+ <string>Show status changes</string>
</property>
- <item>
- <property name="text">
- <string>Always</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Never in group chats</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Never</string>
- </property>
- </item>
</widget>
</item>
</layout>
diff --git a/lib/adium-theme-view.cpp b/lib/adium-theme-view.cpp
index f58beb6..9d1888f 100644
--- a/lib/adium-theme-view.cpp
+++ b/lib/adium-theme-view.cpp
@@ -77,22 +77,22 @@ void AdiumThemeView::load(ChatType chatType) {
//determine the chat window style to use
KSharedConfigPtr config = KSharedConfig::openConfig(QLatin1String("ktelepathyrc"));
- KConfigGroup appearanceConfig = config->group("Appearance");
+ KConfigGroup appearanceConfig;
- QString chatStyleName;
if (chatType == AdiumThemeView::SingleUserChat) {
- chatStyleName = appearanceConfig.readEntry("styleName", "renkoo.AdiumMessageStyle");
+ appearanceConfig = config->group("Appearance");
+ m_chatStyle = ChatWindowStyleManager::self()->getValidStyleFromPool(appearanceConfig.readEntry(QLatin1String("styleName"), "renkoo.AdiumMessageStyle"));
} else {
- chatStyleName = QLatin1String("SimKete.AdiumMessageStyle");
+ appearanceConfig = config->group("GroupAppearance");
+ m_chatStyle = ChatWindowStyleManager::self()->getValidStyleFromPool(appearanceConfig.readEntry(QLatin1String("styleName"), "SimKete.AdiumMessageStyle"));
}
- m_chatStyle = ChatWindowStyleManager::self()->getValidStyleFromPool(chatStyleName);
if (m_chatStyle == 0 || !m_chatStyle->isValid()) {
KMessageBox::error(this, i18n("Failed to load a valid theme. Your installation is broken. Check your kde path. "
"Will now crash."));
}
- QString variant = appearanceConfig.readEntry("styleVariant");
+ QString variant = appearanceConfig.readEntry(QLatin1String("styleVariant"));
if (!variant.isEmpty()) {
m_variantName = variant;
m_variantPath = m_chatStyle->getVariants().value(variant);
@@ -117,7 +117,7 @@ void AdiumThemeView::load(ChatType chatType) {
m_fontFamily = appearanceConfig.readEntry("fontFamily", QWebSettings::globalSettings()->fontFamily(QWebSettings::StandardFont));
m_fontSize = appearanceConfig.readEntry("fontSize", QWebSettings::globalSettings()->fontSize(QWebSettings::DefaultFontSize));
- m_showPresenceMode = static_cast<AdiumThemeView::ShowPresenceMode>(appearanceConfig.readEntry("showPresenceMode", (int) AdiumThemeView::Always));
+ m_showPresenceChanges = appearanceConfig.readEntry("showPresenceChanges", true);
}
@@ -316,15 +316,15 @@ bool AdiumThemeView::isCustomFont() const
return m_useCustomFont;
}
-void AdiumThemeView::setShowPresenceMode(ShowPresenceMode showPresenceMode)
+void AdiumThemeView::setShowPresenceChanges(bool showPresenceChanges)
{
kDebug();
- m_showPresenceMode = showPresenceMode;
+ m_showPresenceChanges = showPresenceChanges;
}
-AdiumThemeView::ShowPresenceMode AdiumThemeView::showPresenceMode() const
+bool AdiumThemeView::showPresenceChanges() const
{
- return m_showPresenceMode;
+ return m_showPresenceChanges;
}
bool AdiumThemeView::isHeaderDisplayed() const
diff --git a/lib/adium-theme-view.h b/lib/adium-theme-view.h
index 5775432..70618f6 100644
--- a/lib/adium-theme-view.h
+++ b/lib/adium-theme-view.h
@@ -59,12 +59,6 @@ public:
ReplaceLastMessage
};
- enum ShowPresenceMode {
- Always = 0,
- NeverInGroupChats = 1,
- Never = 2
- };
-
explicit AdiumThemeView(QWidget *parent = 0);
/** Loads the Theme data*/
@@ -92,8 +86,8 @@ public:
void setHeaderDisplayed(bool);
/* .. font, backgrounds, everything else.*/
- void setShowPresenceMode(ShowPresenceMode showPresenceMode);
- ShowPresenceMode showPresenceMode() const;
+ void setShowPresenceChanges(bool showPresenceChanges);
+ bool showPresenceChanges() const;
void clear();
@@ -117,7 +111,7 @@ private:
bool m_useCustomFont;
QString m_fontFamily;
int m_fontSize;
- ShowPresenceMode m_showPresenceMode;
+ bool m_showPresenceChanges;
QString appendScript(AppendMode mode);
AppendMode appendMode(const AdiumThemeMessageInfo &message,
diff --git a/lib/chat-widget.cpp b/lib/chat-widget.cpp
index 6cfbce6..1f91b85 100644
--- a/lib/chat-widget.cpp
+++ b/lib/chat-widget.cpp
@@ -793,8 +793,7 @@ void ChatWidget::onContactPresenceChange(const Tp::ContactPtr & contact, const K
}
if (!message.isNull()) {
- if ((d->ui.chatArea->showPresenceMode() == AdiumThemeView::Always) ||
- ((d->ui.chatArea->showPresenceMode() == AdiumThemeView::NeverInGroupChats) && d->isGroupChat)) {
+ if (d->ui.chatArea->showPresenceChanges()) {
AdiumThemeStatusInfo statusMessage;
statusMessage.setMessage(message);
statusMessage.setService(d->channel->connection()->protocolName());
--
ktp-text-ui packaging
More information about the pkg-kde-commits
mailing list