| informationsyndicateUTC clock | event counters The last message was received 4.33 years ago at 12:48 on Jan 26, 2008 0 messages so far today, 0 messages yesterday 0 messages so far this week, 0 messages last week 0 messages so far this month, 0 messages last month 58 messages since the first one, 7.02 years ago, for an average of 1.47 months between messages recent messages date | project | content | link |
|---|
| 12:48 on Jan 26, 2008 | KDE | Commit by jritzerfeld :: r766580 kopete/branches/KDE/3.5/kdenetwork/kopete/protocols/oscar/ (11 files in 3 dirs): The feature of ignoring other contacts' wish to require authorization does no longer work: Last November, AOL dropped the support for local contact lists that were used to circumvent the authorization. Therefore, the checkbox "Respect other contacts' wish to require authorization" of group "Privacy Options" in icq's account preferences is removed.
CCBUG: 101587 | # | | 17:15 on Jun 21, 2007 | KDE | Commit by jritzerfeld :: r678555 kopete/branches/KDE/3.5/kdenetwork/kopete/kopete/config/behavior/behaviorconfig.cpp: Check mInstantMessageOpeningChk radio button if neither mUseQueueChk nor mUseStackChk is checked.
BUG: 146882 | # | | 11:51 on Jan 14, 2007 | KDE | Commit by jritzerfeld :: r623202 kopete/branches/KDE/3.5/kdenetwork/kopete/libkopete/connectionmanager.cpp: Make it compile again with Qt3: Replaced QLatin1String (Qt4) by QString::fromLatin1 (Qt3). | # | | 10:16 on Oct 15, 2006 | KDE | Commit by jritzerfeld :: r595652 kopete/branches/KDE/3.5/kdenetwork/kopete/plugins/nowlistening/nowlisteningplugin.cpp: Add a space before the listening message in parenthesis. | # | | 17:53 on Oct 14, 2006 | KDE | Commit by jritzerfeld :: r595529 kopete/branches/KDE/3.5/kdenetwork/kopete/libkopete/kopetemetacontact.cpp: Preserve aspect ratio when resizing the image to 96x96 if it is larger than 96x96. | # | | 10:40 on May 26, 2006 | KDE | Commit by jritzerfeld :: r544872 /branches/kopete/0.12/kopete/kopete/chatwindow/kopetechatwindow.cpp: Remove m_activeView->saveChatSettings call from KopeteChatWindow::saveOptions. This fixes the crash on exit with open chat windows, too. ChatView's settings already get saved in ChatView::~ChatView() and KopeteChatWindow::setActiveView.
When tab bar is created KopeteChatWindow:slotPlaceTabs gets called which calls KopeteChatWindow::saveOptions. But at this time, specific metacontact chat settings were not loaded, yet. So, default values are saved and loaded later again: e.g., rtf is always enabled.
BUG: 127770 | # | | 06:54 on May 17, 2006 | KDE | Commit by jritzerfeld :: r541726 /branches/kopete/0.12/kopete/protocols/oscar/icq/icqpresence.cpp: On converting Kopete::OnlineStatus to ICQ::Presence check the protocol to determine wether it is an KOS created by ICQ::OnlineStatusManager.
BUG: 127464 | # | | 06:34 on May 03, 2006 | KDE | Commit by jritzerfeld :: r536812 /branches/kopete/0.12/kopete/protocols/oscar/icq/icqcontact.cpp: Remove the away message property of an icq contact when it goes online, i.e. it was offline and changes its status to something else than offline or unknown.
CCBUG: 116614 | # | | 21:26 on Apr 30, 2006 | KDE | Commit by jritzerfeld :: r535976 kopete/branches/KDE/3.5/kdenetwork/kopete/ (2 files in 2 dirs): Backport fix: Use the following method to determine the status message to be displayed (the term "contact" should be read as "contact of the metacontact" and "online" as "not offline"): - Display the new status message if - the new status message is not empty and - the contact who set it is online or there are no contacts online at all.
- Otherwise display the first non-empty status message among all contacts online---or offline if there are no contacts online at all.
- If no status message is displayed yet display no status message at all. CCBUG: 116614
| # | | 17:57 on Apr 30, 2006 | KDE | Commit by jritzerfeld :: r535908 /branches/kopete/0.12/kopete/ (5 files in 2 dirs): Index: kopete/config/behavior/behaviorconfig.cpp =================================================================== --- kopete/config/behavior/behaviorconfig.cpp (revision 534158) +++ kopete/config/behavior/behaviorconfig.cpp (working copy) @@ -25,6 +25,7 @@ #include <qhbuttongroup.h> #include <qspinbox.h> #include <qcombobox.h> +#include <qradiobutton.h>
#include <kdebug.h> #include <kplugininfo.h> @@ -33,11 +34,13 @@ #include <kgenericfactory.h> #include <ktrader.h> #include <kconfig.h> +#include <klineedit.h>
#include "kopeteprefs.h" #include "kopeteaway.h" #include "kopeteawayconfigbase.h" #include "kopetepluginmanager.h" +#include "kopeteaway.h"
#include <qtabwidget.h>
@@ -146,6 +149,12 @@ this, SLOT(slotSettingsChanged(bool))); connect( mAwayConfigUI->mUseAutoAway, SIGNAL(toggled(bool)), this, SLOT(slotSettingsChanged(bool))); + connect( mAwayConfigUI->mDisplayLastAwayMessage, SIGNAL(toggled(bool)), + this, SLOT(slotSettingsChanged(bool))); + connect( mAwayConfigUI->mDisplayCustomAwayMessage, SIGNAL(toggled(bool)), + this, SLOT(slotSettingsChanged(bool))); + connect( mAwayConfigUI->mAutoAwayMessageEdit, SIGNAL(textChanged(const QString&)), + this, SLOT(slotTextChanged(const QString&))); }
void BehaviorConfig::save() @@ -186,7 +195,14 @@ config->writeEntry("Timeout", mAwayConfigUI->mAutoAwayTimeout->value() * 60); config->writeEntry("GoAvailable", mAwayConfigUI->mGoAvailable->isChecked()); config->writeEntry("UseAutoAway", mAwayConfigUI->mUseAutoAway->isChecked() ); + config->writeEntry("UseAutoAwayMessage", mAwayConfigUI->mDisplayCustomAwayMessage->isChecked() ); config->sync(); + + // Save the auto away message, if defined + if( mAwayConfigUI->mDisplayCustomAwayMessage->isChecked() ) + { + awayInstance->setAutoAwayMessage( mAwayConfigUI->mAutoAwayMessageEdit->text() ); + }
// "Chat" TAB =============================================================== p->setShowEvents(mPrfsChat->cb_ShowEventsChk->isChecked()); @@ -208,6 +224,7 @@ // kdDebug(14000) << k_funcinfo << "called" << endl; KopetePrefs *p = KopetePrefs::prefs(); KConfig *config = KGlobal::config(); + awayInstance = Kopete::Away::getInstance();
// "General" TAB ============================================================ mPrfsGeneral->mShowTrayChk->setChecked( p->showTray() ); @@ -239,7 +256,11 @@ mAwayConfigUI->mGoAvailable->setChecked(config->readBoolEntry("GoAvailable", true)); mAwayConfigUI->mUseAutoAway->setChecked(config->readBoolEntry("UseAutoAway", true)); mAwayConfigUI->rememberedMessages->setValue( p->rememberedMessages() ); + mAwayConfigUI->mAutoAwayMessageEdit->setText( awayInstance->autoAwayMessage() );
+ // Always display the last away message by default + mAwayConfigUI->mDisplayCustomAwayMessage->setChecked(config->readBoolEntry("UseAutoAwayMessage", false)); + // "Chat" TAB =============================================================== mPrfsChat->cb_ShowEventsChk->setChecked(p->showEvents()); mPrfsChat->highlightEnabled->setChecked(p->highlightEnabled()); @@ -279,5 +300,10 @@ emit changed( true ); }
+void BehaviorConfig::slotTextChanged(const QString&) +{ + emit changed( true ); +} + #include "behaviorconfig.moc" // vim: set noet ts=4 sts=4 sw=4: Index: kopete/config/behavior/kopeteawayconfigbase.ui =================================================================== --- kopete/config/behavior/kopeteawayconfigbase.ui (revision 534158) +++ kopete/config/behavior/kopeteawayconfigbase.ui (working copy) @@ -97,11 +97,11 @@ <string><p>If you check the <i>Use auto away</i> checkbox, Kopete will automaticaly set you globaly away when the KDE screen saver start, or after the selected minutes of user inactivity (i.e no mouse move, or key pressed)</p> <p>Kopete will set you available again when you come back if you checked <i>Become available when detecting activity again</i></p></string> </property> - <grid> + <vbox> <property name="name"> <cstring>unnamed</cstring> </property>
- <widget class="QCheckBox" row="0" column="0" rowspan="1" colspan="4"> + <widget class="QCheckBox"> <property name="name"> <cstring>mUseAutoAway</cstring> </property> @@ -109,71 +109,171 @@ <string>&Use auto away</string> </property> </widget>
- <widget class="QLabel" row="1" column="0"> + <widget class="QLayoutWidget"> <property name="name">
- <cstring>TextLabel2</cstring> + <cstring>layout3</cstring> </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QLabel"> + <property name="name"> + <cstring>TextLabel2</cstring> + </property> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="text"> + <string>Become away after</string> + </property> + </widget> + <widget class="QSpinBox"> + <property name="name"> + <cstring>mAutoAwayTimeout</cstring> + </property> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="maxValue"> + <number>999</number> + </property> + <property name="minValue"> + <number>1</number> + </property> + </widget> + <widget class="QLabel"> + <property name="name"> + <cstring>TextLabel3</cstring> + </property> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="text"> + <string>minutes of user inactivity</string> + </property> + </widget> + <spacer> + <property name="name"> + <cstring>spacer7</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>81</width> + <height>20</height> + </size> + </property> + </spacer> + </hbox> + </widget> + <widget class="QCheckBox"> + <property name="name"> + <cstring>mGoAvailable</cstring> + </property> <property name="enabled"> <bool>false</bool> </property> <property name="text">
- <string>Become away after</string> + <string>Become available when detecting activity again</string> </property> </widget>
- <widget class="QSpinBox" row="1" column="1"> + </vbox> + </widget> + <widget class="QButtonGroup"> + <property name="name"> + <cstring>autoAwayMessageGroup</cstring> + </property> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="title"> + <string>Auto Away Message</string> + </property> + <vbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QRadioButton"> <property name="name">
- <cstring>mAutoAwayTimeout</cstring> + <cstring>mDisplayLastAwayMessage</cstring> </property> <property name="enabled"> <bool>false</bool> </property>
- <property name="maxValue">
- <number>999</number> + <property name="text"> + <string>Display the last away message used</string> </property>
- <property name="minValue">
- <number>1</number> + <property name="checked"> + <bool>true</bool> </property> </widget>
- <widget class="QLabel" row="1" column="2"> + <widget class="QRadioButton"> <property name="name">
- <cstring>TextLabel3</cstring> + <cstring>mDisplayCustomAwayMessage</cstring> </property> <property name="enabled"> <bool>false</bool> </property> <property name="text">
- <string>minutes of user inactivity</string> + <string>Display the following away message:</string> </property> </widget>
- <spacer row="1" column="3"> + <widget class="QLayoutWidget"> <property name="name">
- <cstring>spacer7</cstring> + <cstring>layout3</cstring> </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>81</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- <widget class="QCheckBox" row="2" column="0" rowspan="1" colspan="4">
- <property name="name">
- <cstring>mGoAvailable</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="text">
- <string>Become available when detecting activity again</string>
- </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <spacer> + <property name="name"> + <cstring>spacer5_2_2</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Fixed</enum> + </property> + <property name="sizeHint"> + <size> + <width>16</width> + <height>16</height> + </size> + </property> + </spacer> + <widget class="KLineEdit"> + <property name="name"> + <cstring>mAutoAwayMessageEdit</cstring> + </property> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>3</hsizetype> + <vsizetype>0</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>300</width> + <height>0</height> + </size> + </property> + </widget> + </hbox> </widget>
- </grid> + </vbox> </widget> <spacer> <property name="name"> @@ -188,7 +288,7 @@ <property name="sizeHint"> <size> <width>20</width>
- <height>70</height> + <height>30</height> </size> </property> </spacer> @@ -219,6 +319,30 @@ <receiver>mGoAvailable</receiver> <slot>setEnabled(bool)</slot> </connection> + <connection> + <sender>mUseAutoAway</sender> + <signal>toggled(bool)</signal> + <receiver>mDisplayLastAwayMessage</receiver> + <slot>setEnabled(bool)</slot> + </connection> + <connection> + <sender>mUseAutoAway</sender> + <signal>toggled(bool)</signal> + <receiver>mDisplayCustomAwayMessage</receiver> + <slot>setEnabled(bool)</slot> + </connection> + <connection> + <sender>mDisplayCustomAwayMessage</sender> + <signal>toggled(bool)</signal> + <receiver>mAutoAwayMessageEdit</receiver> + <slot>setEnabled(bool)</slot> + </connection> + <connection> + <sender>mUseAutoAway</sender> + <signal>toggled(bool)</signal> + <receiver>autoAwayMessageGroup</receiver> + <slot>setEnabled(bool)</slot> + </connection> </connections> <tabstops> <tabstop>mUseAutoAway</tabstop> @@ -226,4 +350,7 @@ <tabstop>mGoAvailable</tabstop> </tabstops> <layoutdefaults spacing="6" margin="11"/> +<includehints> + <includehint>klineedit.h</includehint> +</includehints> </UI> Index: kopete/config/behavior/behaviorconfig.h =================================================================== --- kopete/config/behavior/behaviorconfig.h (revision 534158) +++ kopete/config/behavior/behaviorconfig.h (working copy) @@ -18,6 +18,11 @@ #include "kcmodule.h" +namespace Kopete +{ +class Away; +} + class QFrame; class QTabWidget; @@ -41,6 +46,7 @@ void slotSettingsChanged(bool); void slotValueChanged(int); void slotUpdatePluginLabel(int); + void slotTextChanged(const QString&); private: QTabWidget* mBehaviorTabCtl; @@ -49,6 +55,7 @@ BehaviorConfig_Chat *mPrfsChat; KopeteAwayConfigBaseUI *mAwayConfigUI; QValueList<KPluginInfo*> viewPlugins; + Kopete::Away* awayInstance; }; #endif // vim: set noet ts=4 sts=4 sw=4: Index: libkopete/kopeteaway.cpp =================================================================== --- libkopete/kopeteaway.cpp (revision 534158) +++ libkopete/kopeteaway.cpp (working copy) @@ -60,6 +60,8 @@ struct KopeteAwayPrivate { QString awayMessage; + QString autoAwayMessage; + bool useAutoAwayMessage; bool globalAway; QStringList awayMessageList; QTime idleTime; @@ -94,6 +96,8 @@ // Set up the away messages d->awayMessage = QString::null; + d->autoAwayMessage = QString::null; + d->useAutoAwayMessage = false; d->globalAway = false; d->autoaway = false; d->useAutoAway = true; @@ -145,6 +149,7 @@ /* Load the saved away messages */ config->setGroup("Away Messages"); + // Away Messages if(config->hasKey("Messages")) { d->awayMessageList = config->readListEntry("Messages"); @@ -169,6 +174,19 @@ save(); } + // Auto away message + if(config->hasKey("AutoAwayMessage")) + { + d->autoAwayMessage = config->readEntry("AutoAwayMessage"); + } + else + { + d->autoAwayMessage = i18n( "I am gone right now, but I will be back later" ); + + // Save the default auto away message to disk + save(); + } + // init the timer d->timer = new QTimer(this, "AwayTimer"); connect(d->timer, SIGNAL(timeout()), this, SLOT(slotTimerTimeout())); @@ -188,6 +206,11 @@ return getInstance()->d->awayMessage; } +QString Kopete::Away::autoAwayMessage() +{ + return getInstance()->d->autoAwayMessage; +} + void Kopete::Away::setGlobalAwayMessage(const QString &message) { if( !message.isEmpty() ) @@ -198,6 +221,19 @@ } } +void Kopete::Away::setAutoAwayMessage(const QString &message) +{ + if( !message.isEmpty() ) + { + kdDebug(14010) << k_funcinfo << + "Setting auto away message: " << message << endl; + d->autoAwayMessage = message; + + // Save the new auto away message to disk + save(); + } +} + Kopete::Away *Kopete::Away::getInstance() { if (!instance) @@ -221,6 +257,7 @@ /* Set the away message settings in the Away Messages config group */ config->setGroup("Away Messages"); config->writeEntry("Messages", d->awayMessageList); + config->writeEntry("AutoAwayMessage", d->autoAwayMessage); config->sync(); emit( messagesChanged() ); @@ -233,6 +270,7 @@ d->awayTimeout=config->readNumEntry("Timeout", 600); d->goAvailable=config->readBoolEntry("GoAvailable", true); d->useAutoAway=config->readBoolEntry("UseAutoAway", true); + d->useAutoAwayMessage=config->readBoolEntry("UseAutoAwayMessage", false); } QStringList Kopete::Away::getMessages() @@ -421,8 +459,7 @@ if(i->isConnected() && i->isAway()) { i->setOnlineStatus( Kopete::OnlineStatusManager::self()->onlineStatus( i->protocol() ,
- Kopete::OnlineStatusManager::Online ) ,
- getInstance()->d->awayMessage); + Kopete::OnlineStatusManager::Online ) ); } // remove() makes the next entry in the list the current one, @@ -454,9 +491,21 @@ if(i->myself()->onlineStatus().status() == Kopete::OnlineStatus::Online) { d->autoAwayAccounts.append(i); + + if(d->useAutoAwayMessage) + { + // Display a specific away message i->setOnlineStatus( Kopete::OnlineStatusManager::self()->onlineStatus( i->protocol() ,
- Kopete::OnlineStatusManager::Idle ) , + Kopete::OnlineStatusManager::Idle ) , + getInstance()->d->autoAwayMessage); + } + else + { + // Display the last away message used + i->setOnlineStatus( Kopete::OnlineStatusManager::self()->onlineStatus( i->protocol() , + Kopete::OnlineStatusManager::Idle ) , getInstance()->d->awayMessage); + } } } } Index: libkopete/kopeteaway.h =================================================================== --- libkopete/kopeteaway.h (revision 534158) +++ libkopete/kopeteaway.h (working copy) @@ -75,6 +75,12 @@ static QString message(); /** + * @brief Gets the current global auto away message + * @return The global auto away message + */ + static QString autoAwayMessage(); + + /** * This method sets the global away message, * it does not set you away, just sets the message. * @brief Sets the global away message @@ -83,6 +89,14 @@ void setGlobalAwayMessage(const QString &message); /** + * This method sets the global auto away message, + * it does not set you away, just sets the message. + * @brief Sets the global auto away message + * @param message The message you want to set + */ + void setAutoAwayMessage(const QString &message); + + /** * @brief Sets global away for all protocols */ static void setGlobalAway(bool status);
| # | | 14:57 on Apr 21, 2006 | KDE | Commit by jritzerfeld :: r532285 kopete/branches/KDE/3.5/kdenetwork/kopete/libkopete/private/kopeteviewmanager.cpp: Fixed missing parentheses introduced in revision 532113.
BUG: 126016 | # | | 14:56 on Apr 21, 2006 | KDE | Commit by jritzerfeld :: r532282 /branches/kopete/0.12/kopete/libkopete/private/kopeteviewmanager.cpp: Fixed missing parentheses introduced in revision 532112.
CCBUG: 126016 | # | | 21:38 on Apr 16, 2006 | KDE | Commit by jritzerfeld :: r530493 /branches/kopete/0.12/kopete/ (4 files in 2 dirs): Restore online status and status message on reconnect. Thanks to Quinn Storm for the initial patch. CCMAIL: Quinn Storm < livinglatexkali at gmail dot com> FEATURE: 101683 | # | | 19:53 on Apr 16, 2006 | KDE | Commit by jritzerfeld :: r530478 /branches/kopete/0.12/kopete/protocols/jabber/ (4 files): Remove kdDebug output containing kdBacktrace calls. | # | | 14:40 on Apr 14, 2006 | KDE | Commit by jritzerfeld :: r529819 /branches/kopete/0.12/kopete/ (2 files in 2 dirs): Use the following method to determine the status message to be displayed (the term "contact" should be read as "contact of the metacontact" and "online" as "not offline"): - Display the new status message if - the new status message is not empty and - the contact who set it is online or there are no contacts online at all.
- Otherwise display the first non-empty status message among all contacts online---or offline if there are no contacts online at all.
- If no status message is displayed yet display no status message at all. BUG: 116614
| # | | 14:27 on Apr 14, 2006 | KDE | Commit by jritzerfeld :: r529815 /branches/kopete/0.12/kopete/protocols/jabber/jabberaccount.cpp: Reset m_initialPresence after disconnect, since slotRosterRequestFinished will re-use it and connectWithPassword does not/cannot reset it.
Without, setting status to "plain" online resulted in the previous online status instead of "plain" online. | # | | 16:25 on Mar 11, 2006 | KDE | Commit by jritzerfeld :: r517610 /branches/kopete/0.12/kopete/ (3 files in 2 dirs): Shrinked the icons used for jabber contacts that have subscription status "From" or "None". | # | | 16:50 on Feb 26, 2006 | KDE | Commit by jritzerfeld :: r513829 /branches/kopete/0.12/kopete/kopete/config/behavior/behaviorconfig_events.ui: Reduce minimum balloon auto close delay to 1 second.
FEATURE: 122533 | # | | 16:43 on Feb 05, 2006 | KDE | Commit by jritzerfeld :: r506025 /branches/work/kopete/dev-0.12/kopete/kopete/kopetewindow.cpp: Do not add activated connections again and again when receiving aboutToShow signals. | # | | 00:57 on Feb 02, 2006 | KDE | Commit by jritzerfeld :: r504739 /branches/work/kopete/dev-0.12/kopete/protocols/oscar/icq/icqpresence.cpp: Let global "Set Status->Busy" set your ICQ accounts to "Do not Disturb" instead of "Occupied" because other protocols may not support "Occupied" status. | # |
|