Hello community,
here is the log from the commit of package kdepimlibs4
checked in at Mon Sep 1 15:03:38 CEST 2008.
--------
--- KDE/kdepimlibs4/kdepimlibs4.changes 2008-08-16 16:40:52.000000000 +0200
+++ /mounts/work_src_done/STABLE/kdepimlibs4/kdepimlibs4.changes 2008-08-28 12:35:59.000000000 +0200
@@ -1,0 +2,6 @@
+Thu Aug 28 12:35:54 CEST 2008 - dmueller@suse.de
+
+- update to 4.1.1
+ * see http://kde.org/announcements/changelogs/changelog4_1to4_1_1.php
+
+-------------------------------------------------------------------
Old:
----
kdepimlibs-4.1.0.tar.bz2
New:
----
kdepimlibs-4.1.1.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kdepimlibs4.spec ++++++
--- /var/tmp/diff_new_pack.ew6638/_old 2008-09-01 15:02:21.000000000 +0200
+++ /var/tmp/diff_new_pack.ew6638/_new 2008-09-01 15:02:21.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package kdepimlibs4 (Version 4.1.0)
+# spec file for package kdepimlibs4 (Version 4.1.1)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@@ -23,8 +23,8 @@
Group: System/GUI/KDE
Summary: KDE PIM Libraries
Url: http://www.kde.org
-Version: 4.1.0
-Release: 17
+Version: 4.1.1
+Release: 1
Source0: kdepimlibs-%version.tar.bz2
Source1: _upstream
Patch0: 4_1_BRANCH.diff
@@ -189,6 +189,9 @@
%_kde_share_dir/config.kcfg/mailtransport.kcfg
%changelog
+* Thu Aug 28 2008 dmueller@suse.de
+- update to 4.1.1
+ * see http://kde.org/announcements/changelogs/changelog4_1to4_1_1.php
* Sat Aug 16 2008 stbinner@suse.de
- 4_1_branch diff update
* Thu Jul 31 2008 dmueller@suse.de
++++++ 4_1_BRANCH.diff ++++++
++++ 757 lines (skipped)
++++ between KDE/kdepimlibs4/4_1_BRANCH.diff
++++ and /mounts/work_src_done/STABLE/kdepimlibs4/4_1_BRANCH.diff
++++++ kdepimlibs-4.1.0.tar.bz2 -> kdepimlibs-4.1.1.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdepimlibs-4.1.0/akonadi/CMakeLists.txt new/kdepimlibs-4.1.1/akonadi/CMakeLists.txt
--- old/kdepimlibs-4.1.0/akonadi/CMakeLists.txt 2008-07-23 10:25:16.000000000 +0200
+++ new/kdepimlibs-4.1.1/akonadi/CMakeLists.txt 2008-08-28 10:06:49.000000000 +0200
@@ -103,7 +103,7 @@
qt4_add_dbus_interfaces( akonadikde_LIB_SRC ${AKONADI_DBUS_INTERFACES_DIR}/org.freedesktop.Akonadi.Tracer.xml )
qt4_add_dbus_adaptor( akonadikde_LIB_SRC ${AKONADI_DBUS_INTERFACES_DIR}/org.freedesktop.Akonadi.Resource.xml resourcebase.h Akonadi::ResourceBase )
qt4_add_dbus_adaptor( akonadikde_LIB_SRC ${AKONADI_DBUS_INTERFACES_DIR}/org.freedesktop.Akonadi.Agent.Status.xml agentbase.h Akonadi::AgentBase )
-qt4_add_dbus_adaptor( akonadikde_LIB_SRC ${AKONADI_DBUS_INTERFACES_DIR}/org.freedesktop.Akonadi.Agent.Control.xml agentbase.h Akonadi::AgentBase )
+qt4_add_dbus_adaptor( akonadikde_LIB_SRC org.freedesktop.Akonadi.Agent.Control.xml agentbase.h Akonadi::AgentBase )
kde4_add_ui_files( akonadikde_LIB_SRC
cachepolicypage.ui
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdepimlibs-4.1.0/akonadi/monitor_p.cpp new/kdepimlibs-4.1.1/akonadi/monitor_p.cpp
--- old/kdepimlibs-4.1.0/akonadi/monitor_p.cpp 2008-06-23 23:11:47.000000000 +0200
+++ new/kdepimlibs-4.1.1/akonadi/monitor_p.cpp 2008-08-28 10:06:49.000000000 +0200
@@ -205,7 +205,7 @@
emit q_ptr->itemRemoved( it );
break;
default:
- Q_ASSERT_X( false, "MonitorPrivate::emitItemNotification()", "Invalid enum value" );
+ break;
}
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdepimlibs-4.1.0/akonadi/org.freedesktop.Akonadi.Agent.Control.xml new/kdepimlibs-4.1.1/akonadi/org.freedesktop.Akonadi.Agent.Control.xml
--- old/kdepimlibs-4.1.0/akonadi/org.freedesktop.Akonadi.Agent.Control.xml 1970-01-01 01:00:00.000000000 +0100
+++ new/kdepimlibs-4.1.1/akonadi/org.freedesktop.Akonadi.Agent.Control.xml 2008-08-28 10:06:49.000000000 +0200
@@ -0,0 +1,13 @@
+<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
+<node>
+ <interface name="org.freedesktop.Akonadi.Agent.Control">
+ <method name="quit">
+ </method>
+ <method name="cleanup">
+ </method>
+ <method name="configure">
+ <arg name="windowId" type="x" direction="in"/>
+ <annotation name="org.freedesktop.DBus.Method.NoReply" value="true"/>
+ </method>
+ </interface>
+</node>
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdepimlibs-4.1.0/kabc/formats/binary.desktop new/kdepimlibs-4.1.1/kabc/formats/binary.desktop
--- old/kdepimlibs-4.1.0/kabc/formats/binary.desktop 2008-03-25 18:22:00.000000000 +0100
+++ new/kdepimlibs-4.1.1/kabc/formats/binary.desktop 2008-08-28 10:06:49.000000000 +0200
@@ -11,6 +11,7 @@
Name[fr]=Binaire
Name[ga]=Dénártha
Name[gl]=Binario
+Name[hr]=Binarno
Name[hu]=Bináris
Name[it]=Binario
Name[ja]=バイナリ
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdepimlibs-4.1.0/kabc/kabc_manager.desktop new/kdepimlibs-4.1.1/kabc/kabc_manager.desktop
--- old/kdepimlibs-4.1.0/kabc/kabc_manager.desktop 2008-07-23 10:25:15.000000000 +0200
+++ new/kdepimlibs-4.1.1/kabc/kabc_manager.desktop 2008-08-28 10:06:49.000000000 +0200
@@ -11,6 +11,7 @@
Name[et]=Kontaktid
Name[ga]=Teagmhálacha
Name[gl]=Contactos
+Name[hr]=Kontakti
Name[hu]=Partnerek
Name[it]=Contatti
Name[ja]=コンタクト
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdepimlibs-4.1.0/kabc/plugins/dir/dir.desktop new/kdepimlibs-4.1.1/kabc/plugins/dir/dir.desktop
--- old/kdepimlibs-4.1.0/kabc/plugins/dir/dir.desktop 2008-06-18 14:41:06.000000000 +0200
+++ new/kdepimlibs-4.1.1/kabc/plugins/dir/dir.desktop 2008-08-28 10:06:49.000000000 +0200
@@ -11,6 +11,7 @@
Name[fr]=Dossier
Name[ga]=Eolaire
Name[gl]=Cartafol
+Name[hr]=Mapa
Name[hu]=Könyvtár
Name[it]=Elenco
Name[ja]=ディレクトリ
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdepimlibs-4.1.0/kabc/plugins/dir/resourcedirplugin.cpp new/kdepimlibs-4.1.1/kabc/plugins/dir/resourcedirplugin.cpp
--- old/kdepimlibs-4.1.0/kabc/plugins/dir/resourcedirplugin.cpp 2008-01-05 00:53:22.000000000 +0100
+++ new/kdepimlibs-4.1.1/kabc/plugins/dir/resourcedirplugin.cpp 2008-08-28 10:06:49.000000000 +0200
@@ -25,5 +25,5 @@
typedef KRES::PluginFactory ResourceDirFactory;
-K_EXPORT_PLUGIN(ResourceDirFactory)
+K_EXPORT_PLUGIN(ResourceDirFactory("kabc_dir"))
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdepimlibs-4.1.0/kabc/plugins/file/file.desktop new/kdepimlibs-4.1.1/kabc/plugins/file/file.desktop
--- old/kdepimlibs-4.1.0/kabc/plugins/file/file.desktop 2008-03-25 18:22:00.000000000 +0100
+++ new/kdepimlibs-4.1.1/kabc/plugins/file/file.desktop 2008-08-28 10:06:48.000000000 +0200
@@ -11,6 +11,7 @@
Name[fr]=Fichier
Name[ga]=Comhad
Name[gl]=Ficheiro
+Name[hr]=Datoteka
Name[hu]=Fájl
Name[ja]=ファイル
Name[km]=ឯកសារ
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdepimlibs-4.1.0/kabc/plugins/file/resourcefileplugin.cpp new/kdepimlibs-4.1.1/kabc/plugins/file/resourcefileplugin.cpp
--- old/kdepimlibs-4.1.0/kabc/plugins/file/resourcefileplugin.cpp 2008-01-05 00:53:22.000000000 +0100
+++ new/kdepimlibs-4.1.1/kabc/plugins/file/resourcefileplugin.cpp 2008-08-28 10:06:48.000000000 +0200
@@ -25,4 +25,4 @@
typedef KRES::PluginFactory ResourceFileFactory;
-K_EXPORT_PLUGIN(ResourceFileFactory)
+K_EXPORT_PLUGIN(ResourceFileFactory("kabc_file"))
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdepimlibs-4.1.0/kabc/plugins/ldapkio/resourceldapkio.cpp new/kdepimlibs-4.1.1/kabc/plugins/ldapkio/resourceldapkio.cpp
--- old/kdepimlibs-4.1.0/kabc/plugins/ldapkio/resourceldapkio.cpp 2008-02-21 10:27:41.000000000 +0100
+++ new/kdepimlibs-4.1.1/kabc/plugins/ldapkio/resourceldapkio.cpp 2008-08-28 10:06:49.000000000 +0200
@@ -55,6 +55,7 @@
mRDNPrefix( 0 ), mTimeLimit( 0 ), mSizeLimit( 0 ),
mCachePolicy( Cache_No ), mAutoCache( true )
{
+ KGlobal::locale()->insertCatalog("libkldap");
}
KIO::Job *loadFromCache();
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdepimlibs-4.1.0/kabc/plugins/ldapkio/resourceldapkioplugin.cpp new/kdepimlibs-4.1.1/kabc/plugins/ldapkio/resourceldapkioplugin.cpp
--- old/kdepimlibs-4.1.0/kabc/plugins/ldapkio/resourceldapkioplugin.cpp 2008-01-05 00:53:22.000000000 +0100
+++ new/kdepimlibs-4.1.1/kabc/plugins/ldapkio/resourceldapkioplugin.cpp 2008-08-28 10:06:49.000000000 +0200
@@ -27,14 +27,6 @@
using namespace KABC;
-class ResourceLDAPKIOFactory : public KRES::PluginFactory
-{
- public:
- ResourceLDAPKIOFactory()
- : KRES::PluginFactory()
- {
- KGlobal::locale()->insertCatalog( "kabc_ldapkio" );
- }
-};
+typedef KRES::PluginFactory ResourceLDAPKIOFactory;
-K_EXPORT_PLUGIN(ResourceLDAPKIOFactory)
+K_EXPORT_PLUGIN(ResourceLDAPKIOFactory("kabc_ldapkio"))
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdepimlibs-4.1.0/kabc/plugins/net/net.desktop new/kdepimlibs-4.1.1/kabc/plugins/net/net.desktop
--- old/kdepimlibs-4.1.0/kabc/plugins/net/net.desktop 2008-03-25 18:22:00.000000000 +0100
+++ new/kdepimlibs-4.1.1/kabc/plugins/net/net.desktop 2008-08-28 10:06:49.000000000 +0200
@@ -11,6 +11,7 @@
Name[fr]=Réseau
Name[ga]=Líonra
Name[gl]=Rede
+Name[hr]=Mreža
Name[hu]=Hálózat
Name[it]=Rete
Name[ja]=ネットワーク
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdepimlibs-4.1.0/kabc/plugins/net/resourcenetplugin.cpp new/kdepimlibs-4.1.1/kabc/plugins/net/resourcenetplugin.cpp
--- old/kdepimlibs-4.1.0/kabc/plugins/net/resourcenetplugin.cpp 2008-01-05 00:53:22.000000000 +0100
+++ new/kdepimlibs-4.1.1/kabc/plugins/net/resourcenetplugin.cpp 2008-08-28 10:06:49.000000000 +0200
@@ -25,4 +25,4 @@
typedef KRES::PluginFactory ResourceNetFactory;
-K_EXPORT_PLUGIN(ResourceNetFactory)
+K_EXPORT_PLUGIN(ResourceNetFactory("kabc_net"))
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdepimlibs-4.1.0/kblog/blogpost.cpp new/kdepimlibs-4.1.1/kblog/blogpost.cpp
--- old/kdepimlibs-4.1.0/kblog/blogpost.cpp 2008-01-05 00:53:22.000000000 +0100
+++ new/kdepimlibs-4.1.1/kblog/blogpost.cpp 2008-08-28 10:06:48.000000000 +0200
@@ -67,7 +67,12 @@
d_ptr->mJournalId = journal.uid();
d_ptr->mStatus = New;
d_ptr->mTitle = journal.summary();
- d_ptr->mContent = journal.description();
+ if (journal.descriptionIsRich()) {
+ d_ptr->mContent = d_ptr->cleanRichText(journal.description());
+ }
+ else {
+ d_ptr->mContent = journal.description();
+ }
d_ptr->mCategories = journal.categories();
d_ptr->mCreationDateTime = journal.dtStart();
}
@@ -318,5 +323,26 @@
return *this;
}
+QString BlogPostPrivate::cleanRichText( QString richText ) const
+{
+ QRegExp getBodyContents("]*>(.*)</body>");
+ if ( getBodyContents.indexIn( richText ) )
+ {
+ // Get anything inside but excluding the body tags
+ richText = getBodyContents.cap(1);
+ // Get rid of any whitespace
+ richText.replace(QRegExp("^\\s+"),"");
+ }
+ // Get rid of styled paragraphs
+ richText.replace(QRegExp(""),"<p>");
+
+ // If we're left with empty content then return a clean empty string
+ if ( richText == "<p></p>" ) {
+ richText = QString();
+ }
+
+ return richText;
+}
+
} // namespace KBlog
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdepimlibs-4.1.0/kblog/blogpost_p.h new/kdepimlibs-4.1.1/kblog/blogpost_p.h
--- old/kdepimlibs-4.1.0/kblog/blogpost_p.h 2008-02-07 14:18:48.000000000 +0100
+++ new/kdepimlibs-4.1.1/kblog/blogpost_p.h 2008-08-28 10:06:48.000000000 +0200
@@ -52,6 +52,7 @@
BlogPost::Status mStatus;
KDateTime mCreationDateTime;
KDateTime mModificationDateTime;
+ QString cleanRichText(QString richText) const;
};
} // namespace
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdepimlibs-4.1.0/kcal/calendarlocal.cpp new/kdepimlibs-4.1.1/kcal/calendarlocal.cpp
--- old/kdepimlibs-4.1.0/kcal/calendarlocal.cpp 2008-07-23 10:25:15.000000000 +0200
+++ new/kdepimlibs-4.1.1/kcal/calendarlocal.cpp 2008-08-28 10:06:48.000000000 +0200
@@ -63,16 +63,16 @@
{
mDeletedIncidences.setAutoDelete( true );
}
- QString mFileName; // filename where calendar is stored
- CalFormat *mFormat; // calendar format
+ QString mFileName; // filename where calendar is stored
+ CalFormat *mFormat; // calendar format
- QHash mEvents; // hash on uids of all Events
- QMultiHash mEventsForDate; // on start dates of all non-recurring Events
- QHash mTodos; // hash on uids of all To-dos
+ QHashmEvents; // hash on uids of all Events
+ QMultiHashmEventsForDate;// on start dates of non-recurring, single-day Events
+ QHashmTodos; // hash on uids of all Todos
QMultiHashmTodosForDate;// on due dates for all Todos
- QHash mJournals; // hash on uids of all Journals
+ QHashmJournals; // hash on uids of all Journals
QMultiHashmJournalsForDate; // on dates of all Journals
- Incidence::List mDeletedIncidences; // list of all deleted Incidences
+ Incidence::List mDeletedIncidences; // list of all deleted Incidences
void insertEvent( Event *event );
void insertTodo( Todo *todo );
@@ -83,15 +83,16 @@
namespace {
template <typename T>
void removeIncidenceFromMultiHashByUID( QMultiHash< QString, T >& container,
- const QString& key,
- const QString& uid )
+ const QString &key,
+ const QString &uid )
{
const QList<T> values = container.values( key );
QListIterator<T> it(values);
while ( it.hasNext() ) {
T const inc = it.next();
- if ( inc->uid() == uid )
+ if ( inc->uid() == uid ) {
container.remove( key, inc );
+ }
}
}
}
@@ -194,7 +195,8 @@
notifyIncidenceDeleted( event );
d->mDeletedIncidences.append( event );
if ( !event->recurs() ) {
- removeIncidenceFromMultiHashByUID( d->mEventsForDate, event->dtStart().date().toString(), event->uid() );
+ removeIncidenceFromMultiHashByUID(
+ d->mEventsForDate, event->dtStart().date().toString(), event->uid() );
}
return true;
} else {
@@ -266,7 +268,8 @@
notifyIncidenceDeleted( todo );
d->mDeletedIncidences.append( todo );
if ( todo->hasDueDate() ) {
- removeIncidenceFromMultiHashByUID( d->mTodosForDate, todo->dtDue().date().toString(), todo->uid() );
+ removeIncidenceFromMultiHashByUID(
+ d->mTodosForDate, todo->dtDue().date().toString(), todo->uid() );
}
return true;
} else {
@@ -358,7 +361,7 @@
QString uid = event->uid();
if ( !mEvents.contains( uid ) ) {
mEvents.insert( uid, event );
- if ( !event->recurs() ) {
+ if ( !event->recurs() && !event->isMultiDay() ) {
mEventsForDate.insert( event->dtStart().date().toString(), event );
}
} else {
@@ -396,7 +399,7 @@
// Find the hash for the specified date
QString dateStr = date.toString();
QMultiHash::iterator it = d->mEventsForDate.find( dateStr );
- // Iterate over all non-recurring events that start on this date
+ // Iterate over all non-recurring, single-day events that start on this date
KDateTime::Spec ts = timespec.isValid() ? timespec : timeSpec();
KDateTime kdt( date, ts );
while ( it != d->mEventsForDate.end() && it.key() == dateStr ) {
@@ -405,7 +408,7 @@
if ( ev->allDay() ) {
end.setDateOnly( true );
} else {
- end = end.addSecs(-1);
+ end = end.addSecs( -1 );
}
if ( end >= kdt ) {
eventList.append( ev );
@@ -421,8 +424,7 @@
if ( ev->recurs() ) {
if ( ev->isMultiDay() ) {
int extraDays = ev->dtStart().date().daysTo( ev->dtEnd().date() );
- int i;
- for ( i = 0; i <= extraDays; i++ ) {
+ for ( int i = 0; i <= extraDays; i++ ) {
if ( ev->recursOn( date.addDays( -i ), ts ) ) {
eventList.append( ev );
break;
@@ -433,6 +435,12 @@
eventList.append( ev );
}
}
+ } else {
+ if ( ev->isMultiDay() ) {
+ if ( ev->dtStart().date() <= date && ev->dtEnd().date() >= date ) {
+ eventList.append( ev );
+ }
+ }
}
}
@@ -552,7 +560,8 @@
setModified( true );
notifyIncidenceDeleted( journal );
d->mDeletedIncidences.append( journal );
- removeIncidenceFromMultiHashByUID( d->mJournalsForDate, journal->dtStart().date().toString(), journal->uid() );
+ removeIncidenceFromMultiHashByUID(
+ d->mJournalsForDate, journal->dtStart().date().toString(), journal->uid() );
return true;
} else {
kWarning() << "CalendarLocal::deleteJournal(): Journal not found.";
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdepimlibs-4.1.0/kcal/icalformat.cpp new/kdepimlibs-4.1.1/kcal/icalformat.cpp
--- old/kdepimlibs-4.1.0/kcal/icalformat.cpp 2008-06-26 03:33:03.000000000 +0200
+++ new/kdepimlibs-4.1.1/kcal/icalformat.cpp 2008-08-28 10:06:48.000000000 +0200
@@ -96,14 +96,14 @@
}
QTextStream ts( &file );
ts.setCodec( "ISO 8859-1" );
- QString text = ts.readAll();
+ QByteArray text = ts.readAll().trimmed().toLatin1();
file.close();
- if ( text.trimmed().isEmpty() ) {
+ if ( text.isEmpty() ) {
// empty files are valid
return true;
} else {
- return fromRawString( calendar, text.toLatin1() );
+ return fromRawString( calendar, text );
}
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdepimlibs-4.1.0/kcal/icalformat_p.cpp new/kdepimlibs-4.1.1/kcal/icalformat_p.cpp
--- old/kdepimlibs-4.1.0/kcal/icalformat_p.cpp 2008-07-08 11:57:00.000000000 +0200
+++ new/kdepimlibs-4.1.1/kcal/icalformat_p.cpp 2008-08-28 10:06:48.000000000 +0200
@@ -1289,7 +1289,9 @@
}
p = icalproperty_get_first_parameter( attendee, ICAL_X_PARAMETER );
- uid = icalparameter_get_xvalue( p );
+ if ( p ) {
+ uid = icalparameter_get_xvalue( p );
+ }
// This should be added, but there seems to be a libical bug here.
// TODO: does this work now in libical-0.24 or greater?
/*while (p) {
@@ -2367,7 +2369,7 @@
c = icalcomponent_get_first_component( calendar, ICAL_VEVENT_COMPONENT );
while ( c ) {
Event *event = readEvent( c, tzlist );
- if (event) {
+ if ( event ) {
Event *old = cal->event( event->uid() );
if ( old ) {
cal->deleteEvent( old );
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdepimlibs-4.1.0/kcal/icaltimezones.cpp new/kdepimlibs-4.1.1/kcal/icaltimezones.cpp
--- old/kdepimlibs-4.1.0/kcal/icaltimezones.cpp 2008-04-30 15:58:13.000000000 +0200
+++ new/kdepimlibs-4.1.1/kcal/icaltimezones.cpp 2008-08-28 10:06:48.000000000 +0200
@@ -552,10 +552,10 @@
}
} else {
if ( date.dayOfWeek() != dayOfWeek ||
- ( rule & WEEKDAY_OF_MONTH ) &&
- ( day - 1 ) / 7 + 1 != nthFromStart ||
- ( rule & LAST_WEEKDAY_OF_MONTH ) &&
- ( daysInMonth - day ) / 7 + 1 != nthFromEnd ) {
+ ( ( rule & WEEKDAY_OF_MONTH ) &&
+ ( day - 1 ) / 7 + 1 != nthFromStart ) ||
+ ( ( rule & LAST_WEEKDAY_OF_MONTH ) &&
+ ( daysInMonth - day ) / 7 + 1 != nthFromEnd ) ) {
break;
}
}
@@ -916,8 +916,8 @@
QByteArray tzname = icalproperty_get_tzname( p );
// Outlook (2000) places "Standard Time" and "Daylight Time" in the TZNAME
// strings, which is totally useless. So ignore those.
- if ( !daylight && tzname == "Standard Time" ||
- daylight && tzname == "Daylight Time" ) {
+ if ( ( !daylight && tzname == "Standard Time" ) ||
+ ( daylight && tzname == "Daylight Time" ) ) {
break;
}
if ( !abbrevs.contains( tzname ) ) {
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdepimlibs-4.1.0/kcal/incidence.cpp new/kdepimlibs-4.1.1/kcal/incidence.cpp
--- old/kdepimlibs-4.1.0/kcal/incidence.cpp 2008-07-08 11:57:00.000000000 +0200
+++ new/kdepimlibs-4.1.1/kcal/incidence.cpp 2008-08-28 10:06:48.000000000 +0200
@@ -181,14 +181,16 @@
Incidence::~Incidence()
{
- Incidence::List Relations = d->mRelations;
- List::ConstIterator it;
- for ( it = Relations.begin(); it != Relations.end(); ++it ) {
- if ( (*it)->relatedTo() == this ) {
- (*it)->d->mRelatedTo = 0;
+ Incidence::List relations = d->mRelations;
+ foreach ( Incidence *incidence, relations ) {
+ if ( incidence->relatedTo() == this ) {
+ incidence->setRelatedTo( 0 );
}
}
+ if ( relatedTo() ) {
+ relatedTo()->removeRelation( this );
+ }
delete d->mRecurrence;
delete d;
}
@@ -373,7 +375,7 @@
if ( descriptionIsRich() ) {
return d->mDescription;
} else {
- return Qt::escape( d->mDescription ).replace( "\n", "<br/>" );
+ return Qt::escape( d->mDescription ).replace( '\n', "<br/>" );
}
}
@@ -407,7 +409,7 @@
if ( summaryIsRich() ) {
return d->mSummary;
} else {
- return Qt::escape( d->mSummary ).replace( "\n", "<br/>" );
+ return Qt::escape( d->mSummary ).replace( '\n', "<br/>" );
}
}
@@ -436,7 +438,7 @@
return;
}
- d->mCategories = catStr.split( "," );
+ d->mCategories = catStr.split( ',' );
QStringList::Iterator it;
for ( it = d->mCategories.begin();it != d->mCategories.end(); ++it ) {
@@ -910,7 +912,7 @@
if ( locationIsRich() ) {
return d->mLocation;
} else {
- return Qt::escape( d->mLocation ).replace( "\n", "<br/>" );
+ return Qt::escape( d->mLocation ).replace( '\n', "<br/>" );
}
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdepimlibs-4.1.0/kcal/incidenceformatter.cpp new/kdepimlibs-4.1.1/kcal/incidenceformatter.cpp
--- old/kdepimlibs-4.1.0/kcal/incidenceformatter.cpp 2008-06-25 09:58:43.000000000 +0200
+++ new/kdepimlibs-4.1.1/kcal/incidenceformatter.cpp 2008-08-28 10:06:48.000000000 +0200
@@ -1129,9 +1129,13 @@
public IncidenceBase::Visitor
{
public:
- IncidenceCompareVisitor() : mExistingIncidence(0) {}
+ IncidenceCompareVisitor() : mExistingIncidence( 0 ) {}
bool act( IncidenceBase *incidence, Incidence *existingIncidence )
{
+ Incidence *inc = dynamic_cast( incidence );
+ if ( inc && inc->revision() <= existingIncidence->revision() ) {
+ return false;
+ }
mExistingIncidence = existingIncidence;
return incidence->accept( *this );
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdepimlibs-4.1.0/kcal/kcal_manager.desktop new/kdepimlibs-4.1.1/kcal/kcal_manager.desktop
--- old/kdepimlibs-4.1.0/kcal/kcal_manager.desktop 2008-03-25 18:21:59.000000000 +0100
+++ new/kdepimlibs-4.1.1/kcal/kcal_manager.desktop 2008-08-28 10:06:48.000000000 +0200
@@ -12,6 +12,7 @@
Name[fr]=Calendrier
Name[ga]=Féilire
Name[gl]=Axenda
+Name[hr]=Kalendar
Name[hu]=Naptár
Name[it]=Calendario
Name[ja]=カレンダー
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdepimlibs-4.1.0/kcal/local.desktop new/kdepimlibs-4.1.1/kcal/local.desktop
--- old/kdepimlibs-4.1.0/kcal/local.desktop 2008-06-18 14:41:06.000000000 +0200
+++ new/kdepimlibs-4.1.1/kcal/local.desktop 2008-08-28 10:06:48.000000000 +0200
@@ -11,6 +11,7 @@
Name[fr]=Calendrier dans un fichier local
Name[ga]=Féilire i gComhad Logánta
Name[gl]=Axenda nun ficheiro local
+Name[hr]=Kalendar u lokalnoj datoteci
Name[hu]=Helyi naptárfájl
Name[it]=Calendario in file locale
Name[ja]=ローカルファイルのカレンダー
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdepimlibs-4.1.0/kcal/localdir.desktop new/kdepimlibs-4.1.1/kcal/localdir.desktop
--- old/kdepimlibs-4.1.0/kcal/localdir.desktop 2008-06-18 14:41:06.000000000 +0200
+++ new/kdepimlibs-4.1.1/kcal/localdir.desktop 2008-08-28 10:06:48.000000000 +0200
@@ -11,6 +11,7 @@
Name[fr]=Calendrier dans un dossier local
Name[ga]=Féilire i gComhadlann Logánta
Name[gl]=Axenda nun cartafol local
+Name[hr]=Kalendar u lokalnoj mapi
Name[hu]=Naptár helyi könyvtárban
Name[it]=Calendario nella cartella locale
Name[ja]=ローカルディレクトリのカレンダー
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdepimlibs-4.1.0/kcal/todo.cpp new/kdepimlibs-4.1.1/kcal/todo.cpp
--- old/kdepimlibs-4.1.0/kcal/todo.cpp 2008-06-25 09:58:43.000000000 +0200
+++ new/kdepimlibs-4.1.1/kcal/todo.cpp 2008-08-28 10:06:48.000000000 +0200
@@ -478,6 +478,7 @@
bool Todo::isOverdue() const
{
+ if ( !dtDue().isValid() ) return false; // if it's never due, it can't be overdue
bool inPast = allDay() ?
dtDue().date() < QDate::currentDate() :
dtDue() < KDateTime::currentUtcDateTime();
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdepimlibs-4.1.0/kioslave/imap4/imapparser.cpp new/kdepimlibs-4.1.1/kioslave/imap4/imapparser.cpp
--- old/kdepimlibs-4.1.0/kioslave/imap4/imapparser.cpp 2008-03-13 09:16:50.000000000 +0100
+++ new/kdepimlibs-4.1.1/kioslave/imap4/imapparser.cpp 2008-08-28 10:06:48.000000000 +0200
@@ -789,7 +789,7 @@
break;
roots.append (word);
}
- lastResults.append( roots.join(" ") );
+ lastResults.append( roots.isEmpty() ? "" : roots.join( " " ) );
}
void imapParser::parseCustom (parseString & result)
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdepimlibs-4.1.0/kioslave/sieve/sieve.cpp new/kdepimlibs-4.1.1/kioslave/sieve/sieve.cpp
--- old/kdepimlibs-4.1.0/kioslave/sieve/sieve.cpp 2008-06-25 09:58:43.000000000 +0200
+++ new/kdepimlibs-4.1.1/kioslave/sieve/sieve.cpp 2008-08-28 10:06:48.000000000 +0200
@@ -996,7 +996,6 @@
firstCommand += '\"';
}
- ksDebug << "firstCommand: " << firstCommand << endl;
if (!sendData( firstCommand.toLatin1() ))
return false;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdepimlibs-4.1.0/kioslave/sieve/sieve.protocol new/kdepimlibs-4.1.1/kioslave/sieve/sieve.protocol
--- old/kdepimlibs-4.1.0/kioslave/sieve/sieve.protocol 2008-07-23 10:25:15.000000000 +0200
+++ new/kdepimlibs-4.1.1/kioslave/sieve/sieve.protocol 2008-08-28 10:06:48.000000000 +0200
@@ -22,6 +22,7 @@
Description[fr]=Un module d'entrée / sortie pour le protocole de filtrage de messagerie Sieve
Description[ga]=ioslave le haghaidh prótacail scagtha ríomhphoist Sieve
Description[gl]=Un ioslave para o protocolo de filtraxe de correo Sieve
+Description[hr]=Modul ioslave za protokol filtriranja pošte Sieve
Description[hu]=KDE-protokoll a Sieve levélszűrő protokollhoz
Description[it]=Un IOSlave per il protocollo di filtraggio della posta Sieve
Description[ja]=Sieve メールフィルタリングプロトコルのための ioslave
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdepimlibs-4.1.0/kmime/kmime_header_parsing.cpp new/kdepimlibs-4.1.1/kmime/kmime_header_parsing.cpp
--- old/kdepimlibs-4.1.0/kmime/kmime_header_parsing.cpp 2008-06-25 09:58:43.000000000 +0200
+++ new/kdepimlibs-4.1.1/kmime/kmime_header_parsing.cpp 2008-08-28 10:06:48.000000000 +0200
@@ -47,10 +47,13 @@
static QString addr_spec_as_string( const AddrSpec & as, bool pretty )
{
+ if ( as.isEmpty() ) {
+ return QString();
+ }
+
bool needsQuotes = false;
QString result;
- if ( as.isEmpty() )
- return QString();
+ result.reserve( as.localPart.length() + as.domain.length() + 1 );
for ( int i = 0 ; i < as.localPart.length() ; ++i ) {
const char ch = as.localPart[i].toLatin1();
if ( ch == '.' || isAText( ch ) ) {
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdepimlibs-4.1.0/kpimutils/linklocator.cpp new/kdepimlibs-4.1.1/kpimutils/linklocator.cpp
--- old/kdepimlibs-4.1.0/kpimutils/linklocator.cpp 2008-07-08 11:56:59.000000000 +0200
+++ new/kdepimlibs-4.1.1/kpimutils/linklocator.cpp 2008-08-28 10:06:47.000000000 +0200
@@ -61,7 +61,7 @@
//@endcond
#if KDE_IS_VERSION( 4, 0, 95 )
-// Use a static for this as calls to KEmoticons::theme() are expensive
+// Use a static for this as calls to the KEmoticons constructor are expensive.
K_GLOBAL_STATIC( KEmoticons, sEmoticons )
#endif
@@ -367,9 +367,13 @@
exclude << "(I)" << "(i)" << "(L)" << "(l)" << "(8)" << "(T)" << "(t)" << "(G)";
exclude << "(g)" << "(F)" << "(f)" << "(H)";
exclude << "8)" << "(N)" << "(n)" << "(Y)" << "(y)" << "(U)" << "(u)" << "(W)" << "(w)";
- result = sEmoticons->theme().parseEmoticons( result, KEmoticonsTheme::StrictParse |
- KEmoticonsTheme::SkipHTML,
- exclude );
+ static QString cachedEmoticonsThemeName;
+ if ( cachedEmoticonsThemeName.isEmpty() ) {
+ cachedEmoticonsThemeName = KEmoticons::currentThemeName();
+ }
+ result = sEmoticons->theme( cachedEmoticonsThemeName).
+ parseEmoticons( result, KEmoticonsTheme::StrictParse |
+ KEmoticonsTheme::SkipHTML, exclude );
}
#endif
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdepimlibs-4.1.0/kresources/idmapper.cpp new/kdepimlibs-4.1.1/kresources/idmapper.cpp
--- old/kdepimlibs-4.1.0/kresources/idmapper.cpp 2008-01-05 00:53:08.000000000 +0100
+++ new/kdepimlibs-4.1.1/kresources/idmapper.cpp 2008-08-28 10:06:48.000000000 +0200
@@ -165,7 +165,7 @@
QMap::Iterator it;
for ( it = d->idMap.begin(); it != d->idMap.end(); ++it ) {
if ( it.value().toString() == remoteId ) {
- d->idMap.erase( it );
+ d->idMap.remove( it.key() );
d->fingerprintMap.remove( it.key() );
return;
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdepimlibs-4.1.0/kresources/kresources.desktop new/kdepimlibs-4.1.1/kresources/kresources.desktop
--- old/kdepimlibs-4.1.0/kresources/kresources.desktop 2008-06-18 14:41:06.000000000 +0200
+++ new/kdepimlibs-4.1.1/kresources/kresources.desktop 2008-08-28 10:06:48.000000000 +0200
@@ -19,6 +19,7 @@
Name[fr]=Ressources KDE
Name[ga]=Acmhainní KDE
Name[gl]=Recursos de KDE
+Name[hr]=KDE resursi
Name[hu]=KDE-erőforrások
Name[it]=Risorse di KDE
Name[ja]=KDE リソース
@@ -28,7 +29,7 @@
Name[nb]=KDE-ressurser
Name[nds]=KDE Ressourcen
Name[nl]=KDE-hulpbronnen
-Name[nn]=KDE-resursar
+Name[nn]=KDE-ressursar
Name[pa]=KDE ਸਰੋਤ
Name[pl]=Zasoby KDE
Name[pt]=Recursos do KDE
@@ -58,6 +59,7 @@
Comment[fr]=Configurer les ressources KDE
Comment[ga]=Cumraigh Acmhainní KDE
Comment[gl]=Configurar os recursos de KDE
+Comment[hr]=Konfiguriranje KDE resursa
Comment[hu]=A KDE-erőforrások beállítása
Comment[it]=Configura le risorse di KDE
Comment[ja]=KDE リソースの設定
@@ -67,7 +69,7 @@
Comment[nb]=Sett opp KDE-ressurser
Comment[nds]=KDE Ressourcen instellen
Comment[nl]=KDE-hulpbronnen instellen
-Comment[nn]=Set opp KDE-resursar
+Comment[nn]=Set opp KDE-ressursar
Comment[pa]=KDE ਸਰੋਤ ਸੰਰਚਨਾ
Comment[pl]=Konfiguruj zasoby KDE
Comment[pt]=Configurar os Recursos do KDE
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdepimlibs-4.1.0/kresources/kresources_manager.desktop new/kdepimlibs-4.1.1/kresources/kresources_manager.desktop
--- old/kdepimlibs-4.1.0/kresources/kresources_manager.desktop 2008-07-23 10:25:15.000000000 +0200
+++ new/kdepimlibs-4.1.1/kresources/kresources_manager.desktop 2008-08-28 10:06:47.000000000 +0200
@@ -10,11 +10,13 @@
Name[fr]=Gestionnaire de ressources
Name[ga]=Bainisteoir KResources
Name[gl]=Xestor de KResources
+Name[hr]=Upravitelj KResources
Name[hu]=KResources-kezelő
Name[it]=Gestore di KResources
Name[km]=កម្មវិធីគ្រប់គ្រង KResources
Name[lv]=KResources pārvaldnieks
Name[nds]=KResources-Pleger
+Name[nn]=KResources-handsaming
Name[pl]=Menadżer zasobów KDE (KResource)
Name[pt]=Gestor do KResources
Name[pt_BR]=Gerenciador do KResource
@@ -41,11 +43,13 @@
Comment[fr]=Gestionnaire de ressources
Comment[ga]=Bainisteoir KResources
Comment[gl]=Xestor de KResources
+Comment[hr]=Upravitelj KResources
Comment[hu]=KResources-kezelő
Comment[it]=Gestore di KResources
Comment[km]=កម្មវិធីគ្រប់គ្រង KResources
Comment[lv]=KResources pārvaldnieks
Comment[nds]=KDE-Ressourcenpleger
+Comment[nn]=KResource-handsaming
Comment[pl]=Menadżer zasobów KDE (KResource)
Comment[pt]=Gestor do KResources
Comment[pt_BR]=Gerenciador do KResource
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdepimlibs-4.1.0/kresources/kresources_plugin.desktop new/kdepimlibs-4.1.1/kresources/kresources_plugin.desktop
--- old/kdepimlibs-4.1.0/kresources/kresources_plugin.desktop 2008-07-23 10:25:15.000000000 +0200
+++ new/kdepimlibs-4.1.1/kresources/kresources_plugin.desktop 2008-08-28 10:06:48.000000000 +0200
@@ -10,11 +10,13 @@
Name[fr]=Module externe de gestion de ressources
Name[ga]=Breiseán KResources
Name[gl]=Extensión de KResources
+Name[hr]=Dodatak za KResources
Name[hu]=KResources-modul
Name[it]=Plugin di KResources
Name[km]=កម្មវិធីជំនួយរបស់ KResources
Name[lv]=KResources spraudnis
Name[nds]=KResources-Moduul
+Name[nn]=Programtillegg for KResource-rammeverket
Name[pl]=Wtyczka KResource
Name[pt]='Plugin' do KResources
Name[pt_BR]=Plug-in do KResource
@@ -41,11 +43,13 @@
Comment[fr]=Module externe d'infrastructure de ressources
Comment[ga]=Breiseán Creatlaí KResources
Comment[gl]=Extensión do framework KResource
+Comment[hr]=Dodatak radnog okvira za KResources
Comment[hu]=Modul a KResources keretrendszerhez
Comment[it]=Plugin di infrastruttura di KResources
Comment[km]=កម្មវិធីជំនួយគ្រោងការរបស់ KResources
Comment[lv]=KResource karkasa spraudnis
Comment[nds]=Rahmenwark-Moduul för KResources
+Comment[nn]=Programtillegg for KResource-rammeverket
Comment[pl]=Wtyczka modułu KResource
Comment[pt]='Plugin' da Plataforma do KResources
Comment[pt_BR]=Plug-in do KResource
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdepimlibs-4.1.0/kresources/resource.h new/kdepimlibs-4.1.1/kresources/resource.h
--- old/kdepimlibs-4.1.0/kresources/resource.h 2008-01-05 00:53:08.000000000 +0100
+++ new/kdepimlibs-4.1.1/kresources/resource.h 2008-08-28 10:06:48.000000000 +0200
@@ -212,9 +212,14 @@
ResourcePrivate *const d;
};
-class KRESOURCES_EXPORT PluginFactoryBase : public KLibFactory
+class KRESOURCES_EXPORT PluginFactoryBase : public KPluginFactory
{
public:
+ explicit PluginFactoryBase(const char* componentName = 0, const char *catalogName = 0, QObject *parent = 0)
+ : KPluginFactory(componentName, catalogName, parent) {}
+ explicit PluginFactoryBase(const KAboutData &aboutData, QObject *parent = 0)
+ : KPluginFactory(aboutData, parent) {}
+
virtual Resource *resource( const KConfigGroup &group ) = 0;
virtual Resource *resource() = 0;
@@ -229,6 +234,11 @@
class PluginFactory : public PluginFactoryBase
{
public:
+ explicit PluginFactory(const char* componentName = 0, const char *catalogName = 0, QObject *parent = 0)
+ : PluginFactoryBase(componentName, catalogName, parent) {}
+ explicit PluginFactory(const KAboutData &aboutData, QObject *parent = 0)
+ : PluginFactoryBase(aboutData, parent) {}
+
virtual Resource *resource( const KConfigGroup &group )
{
return new TR( group );
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdepimlibs-4.1.0/mailtransport/kcm_mailtransport.desktop new/kdepimlibs-4.1.1/mailtransport/kcm_mailtransport.desktop
--- old/kdepimlibs-4.1.0/mailtransport/kcm_mailtransport.desktop 2008-06-18 14:41:06.000000000 +0200
+++ new/kdepimlibs-4.1.1/mailtransport/kcm_mailtransport.desktop 2008-08-28 10:06:48.000000000 +0200
@@ -23,6 +23,7 @@
Name[fr]=Transport de courrier
Name[ga]=Iompar Ríomhphoist
Name[gl]=Transporte de correo
+Name[hr]=Prijenos pošte
Name[hu]=Levéltovábbítás
Name[it]=Trasporto della posta
Name[ja]=メール送信手段
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdepimlibs-4.1.0/mailtransport/mailtransport.kcfg new/kdepimlibs-4.1.1/mailtransport/mailtransport.kcfg
--- old/kdepimlibs-4.1.0/mailtransport/mailtransport.kcfg 2008-02-28 18:55:13.000000000 +0100
+++ new/kdepimlibs-4.1.1/mailtransport/mailtransport.kcfg 2008-08-28 10:06:48.000000000 +0200
@@ -90,8 +90,8 @@
<choice name="PLAIN"/>
<choice name="CRAM_MD5"/>
<choice name="DIGEST_MD5"/>
- <choice name="NTLM"/>
<choice name="GSSAPI"/>
+ <choice name="NTLM"/>
<choice name="APOP" />
<choice name="CLEAR" />
<choice name="ANONYMOUS" />
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdepimlibs-4.1.0/mailtransport/smtpjob.cpp new/kdepimlibs-4.1.1/mailtransport/smtpjob.cpp
--- old/kdepimlibs-4.1.0/mailtransport/smtpjob.cpp 2008-07-08 11:57:01.000000000 +0200
+++ new/kdepimlibs-4.1.1/mailtransport/smtpjob.cpp 2008-08-28 10:06:48.000000000 +0200
@@ -45,6 +45,7 @@
void removeSlave( KIO::Slave *slave, bool disconnect = false )
{
+ kDebug() << "Removing slave" << slave << "from pool";
const int slaveKey = slaves.key( slave );
if ( slaveKey > 0 ) {
slaves.remove( slaveKey );
@@ -195,7 +196,6 @@
d->slave = s_slavePool->slaves.value( transport()->id() );
if ( !d->slave ) {
- kDebug() << "creating new SMTP slave";
KIO::MetaData slaveConfig;
slaveConfig.insert( QLatin1String( "tls" ),
( transport()->encryption() == Transport::EnumEncryption::TLS ) ?
@@ -204,9 +204,10 @@
slaveConfig.insert( QLatin1String( "sasl" ), transport()->authenticationTypeString() );
}
d->slave = KIO::Scheduler::getConnectedSlave( destination, slaveConfig );
+ kDebug() << "Created new SMTP slave" << d->slave;
s_slavePool->slaves.insert( transport()->id(), d->slave );
} else {
- kDebug() << "re-using existing slave";
+ kDebug() << "Re-using existing slave" << d->slave;
}
KIO::TransferJob *job = KIO::put( destination, -1, KIO::HideProgressInfo );
@@ -267,11 +268,25 @@
// (and triggers an assert in KMail).
d->finished = true;
- TransportJob::slotResult( job );
- if ( error() && d->currentState == SmtpJobPrivate::Smtp ) {
- s_slavePool->removeSlave( d->slave, error() != KIO::ERR_SLAVE_DIED );
+ // Normally, calling TransportJob::slotResult() whould set the proper error code
+ // for error() via KComposite::slotResult(). However, we can't call that here,
+ // since that also emits the result signal.
+ // In KMail, when there are multiple mails in the outbox, KMail tries to send
+ // the next mail when it gets the result signal, which then would reuse the
+ // old broken slave from the slave pool if there was an error.
+ // To prevent that, we call TransportJob::slotResult() only after removing the
+ // slave from the pool and calculate the error code ourselves.
+ int errorCode = error();
+ if ( !errorCode )
+ errorCode = job->error();
+
+ if ( errorCode && d->currentState == SmtpJobPrivate::Smtp ) {
+ s_slavePool->removeSlave( d->slave, errorCode != KIO::ERR_SLAVE_DIED );
+ TransportJob::slotResult( job );
return;
}
+
+ TransportJob::slotResult( job );
if ( !error() && d->currentState == SmtpJobPrivate::Precommand ) {
d->currentState = SmtpJobPrivate::Smtp;
startSmtpJob();
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdepimlibs-4.1.0/mailtransport/transportconfigdialog.cpp new/kdepimlibs-4.1.1/mailtransport/transportconfigdialog.cpp
--- old/kdepimlibs-4.1.0/mailtransport/transportconfigdialog.cpp 2008-02-28 18:55:13.000000000 +0100
+++ new/kdepimlibs-4.1.1/mailtransport/transportconfigdialog.cpp 2008-08-28 10:06:48.000000000 +0200
@@ -37,6 +37,25 @@
#include <QButtonGroup>
+namespace {
+
+class BusyCursorHelper : public QObject
+{
+public:
+ inline BusyCursorHelper( QObject *parent )
+ : QObject( parent )
+ {
+ qApp->setOverrideCursor( Qt::BusyCursor );
+ }
+
+ inline ~BusyCursorHelper()
+ {
+ qApp->restoreOverrideCursor();
+ }
+};
+
+}
+
using namespace MailTransport;
class MailTransport::TransportConfigDialog::Private
@@ -141,8 +160,8 @@
d->authGroup->addButton( d->smtp.plain );
d->authGroup->addButton( d->smtp.crammd5 );
d->authGroup->addButton( d->smtp.digestmd5 );
- d->authGroup->addButton( d->smtp.ntlm );
d->authGroup->addButton( d->smtp.gssapi );
+ d->authGroup->addButton( d->smtp.ntlm );
if ( KProtocolInfo::capabilities( SMTP_PROTOCOL ).contains( QLatin1String( "SASL" ) ) == 0 ) {
d->smtp.ntlm->hide();
@@ -202,9 +221,12 @@
d->serverTest->setFakeHostname( d->smtp.kcfg_localHostname->text() );
}
d->serverTest->setProgressBar( d->smtp.checkCapabilitiesProgress );
+ BusyCursorHelper *busyCursorHelper = new BusyCursorHelper( d->serverTest );
connect( d->serverTest, SIGNAL(finished( QList< int > )),
SLOT(slotFinished( QList< int > )));
+ connect( d->serverTest, SIGNAL(finished( QList< int > )),
+ busyCursorHelper, SLOT(deleteLater()) );
d->smtp.checkCapabilities->setEnabled( false );
d->serverTest->start();
d->serverTestFailed = false;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdepimlibs-4.1.0/mailtransport/transportmanager.cpp new/kdepimlibs-4.1.1/mailtransport/transportmanager.cpp
--- old/kdepimlibs-4.1.0/mailtransport/transportmanager.cpp 2008-07-08 11:57:01.000000000 +0200
+++ new/kdepimlibs-4.1.1/mailtransport/transportmanager.cpp 2008-08-28 10:06:48.000000000 +0200
@@ -81,6 +81,7 @@
TransportManager::TransportManager()
: QObject(), d( new Private )
{
+ KGlobal::locale()->insertCatalog( QLatin1String("libmailtransport") );
qAddPostRoutine( destroyStaticTransportManager );
d->myOwnChange = false;
d->wallet = 0;
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org