[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: branches/KDE/3.5/kdepim
From: Volker Krause <vkrause () kde ! org>
Date: 2008-08-18 17:32:49
Message-ID: 1219080769.231352.17820.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 848898 by vkrause:
Merged revisions 807761-809626,809628-809708,809710-810236,810238-810302,810304,810306-811064,81 \
1066-811205,811207-813546,813549-814372,814374,814376-816024,816026-816313,816315-816322,816324- \
817070,817072-817087,817089-817101,817103-817567,817569-817603,817605-817709,817711-818287,81828 \
9-818311,818313-819076,819078-820073,820075-821035,821037-821124,821126-821345,821347-821370,821 \
372-821378,821380-821648,821650,821652-821835,821837-822268,822270-823852,823854-823882,823884-8 \
24217,824219-824277,824279-824285,824287-825075,825077-825083,825085-825805,825807-826354,826356 \
-827490,827492-827612,827614-827891,827893-827903,827905-827944,827946-827949,827951-828972,8289 \
74-829033,829035-830099,830101-830132,830134-830442,830444-830477,830479-830875,830877-830932,830934-834241 \
via svnmerge from https://vkrause@svn.kde.org/home/kde/branches/kdepim/enterprise/kdepim
........
r807761 | vkrause | 2008-05-14 19:00:30 +0200 (Wed, 14 May 2008) | 5 lines
Don't delete folder configs for folders that might not be in the list
here but nevertheless still exist.
Kolab issue 2667
........
r821814 | vkrause | 2008-06-18 17:21:15 +0200 (Wed, 18 Jun 2008) | 5 lines
Make sure favorite folder items get the same label independent of how
say are created.
Kolab issue 2785.
........
r823865 | tilladam | 2008-06-24 14:03:18 +0200 (Tue, 24 Jun 2008) | 7 lines
Make it possible again to accept an invitation that was sent
to a distribution list the current user is part of, by offering
all the identities in addition to the recipients of the invite
as choices for the attendee.
kolab/issue1998
........
r824289 | vkrause | 2008-06-25 17:20:44 +0200 (Wed, 25 Jun 2008) | 3 lines
Honor local subscription, fixes non-subscribed folders showing up in
the folder tree for a short time after changing local subscriptions.
........
r824806 | vkrause | 2008-06-26 18:42:06 +0200 (Thu, 26 Jun 2008) | 6 lines
The else block is supposed to belong to the outer if, so we need braces
here.
This ensures that a failed annotation job is removed correctly from the
job map and therefore avoids a crash on exit when KMail tries to cancel
the apparently still running job.
........
r830550 | vkrause | 2008-07-10 20:51:09 +0200 (Thu, 10 Jul 2008) | 23 lines
Backport SVN commit 829126 by vkrause from enterprise4 branch:
Close the folder before we unregister from the message dict.
This fixes the .index.db file being newer than the corresponding
.index.ids file, causing the latter being detected as outdated on the
next startup. In this case message wouldn't have a serial number, which
the sqlite backend poorly recovers from, causing apparent mail loss
(fixable by rebuilding the folder index). And to make it even more
confusing, this only happends for new DIMAP folders that have been
synced but not entered yet before shutting down KMail.
Kolab issue 2816
Incidentally this also fixes the mysterious non-persistence of certain
folder infos worked around in revision 830478. This happend because
groupware folders were kept open until destructions. However,
writeConfig() was called from the KMFolderMaildir dtor at which point
the virtual writeConfig() in KMFolderCachedImap wasn't available
anymore.
Kolab issue 2666
........
r834241 | vkrause | 2008-07-18 15:25:03 +0200 (Fri, 18 Jul 2008) | 7 lines
Update the highest uid even if we don't find the corresponding message
anymore or the folder is empty. This happens for example when the
message with this uid was moved away by a filter just before we got
here, which then caused mail duplication during the next sync.
Kolab issue 2801
........
_M . (directory)
M +1 -0 kmail/callback.cpp
M +7 -0 kmail/favoritefolderview.cpp
M +1 -0 kmail/favoritefolderview.h
M +2 -1 kmail/kmfolder.cpp
M +8 -7 kmail/kmfoldercachedimap.cpp
M +3 -1 kmail/kmfolderimap.cpp
M +10 -5 kmail/kmfoldertree.cpp
M +2 -8 kmail/listjob.h
** branches/KDE/3.5/kdepim #property svnmerge-integrated
- /branches/kdepim/enterprise/kdepim:1-767022,767033,767233-767554,767556,767558-767946,76794 \
8-769318,769320-769354,769356-771105,771107-771251,771253-772311,772313-772316,772318-775194,775 \
196-775202,775204,775207-775211,775213-778001,778003-778004,778007,778010-778011,778013-778029,7 \
78031-778727,778729-779448,779450-779482,779484-779505,779507-779852,779854-779994,780211,780250 \
-780452,780454-780495,780497,780499-780529,780531-782028,782030-783127,783129-783243,783245,7832 \
48-783477,783479-784380,784382-784426,784428-784691,784693-785478,785480-785558,787827,788634,78 \
9925,790349-790352,791184-791440,791443-792201,792203-792957,793296,794734,795745-795763,795765, \
795767-798445,798447-798448,798450-798495,798497-800070,800072-800167,800169-802138,802140-80214 \
8,802150-802151,802153-803259,803261-803299,803301-803308,803310-803380,803383-803397,803399-804 \
615,804617-804993,804995-805347,805349-805427,805429-805459,805461-805702,817568,817604,817710-818288,818312-819076,819078-820
073,820075-821035,821037-821124,821126-821378,821380-821648,821650-821813,821815-821835,821837 \
-822268,822270-823864,823866-824217,824219-824277,824279-824285,824287-824288,824290-824805,824807-825075,825077-825083,825085-826354,826356-827491,830100,830443
+ /branches/kdepim/enterprise/kdepim:1-767022,767033,767233-767554,767556,767558-767946,767948 \
-769318,769320-769354,769356-771105,771107-771251,771253-772311,772313-772316,772318-775194,7751 \
96-775202,775204,775207-775211,775213-778001,778003-778004,778007,778010-778011,778013-778029,77 \
8031-778727,778729-779448,779450-779482,779484-779505,779507-779852,779854-779994,780211,780250- \
780452,780454-780495,780497,780499-780529,780531-782028,782030-783127,783129-783243,783245,78324 \
8-783477,783479-784380,784382-784426,784428-784691,784693-785478,785480-785558,787827,788634,789 \
925,790349-790352,791184-791440,791443-792201,792203-792957,793296,794734,795745-795763,795765,7 \
95767-798445,798447-798448,798450-798495,798497-800070,800072-800167,800169-802138,802140-802148 \
,802150-802151,802153-803259,803261-803299,803301-803308,803310-803380,803383-803397,803399-8046 \
15,804617-804993,804995-805347,805349-805427,805429-805459,805461-805702,807761-809708,809710-810236,810238-810302,810304,810
306-811205,811207-813547,813549-814372,814374,814376-816024,816026-816313,816315-816322,816324 \
-817070,817072-817087,817089-817101,817103-819076,819078-820073,820075-821035,821037-821124,8211 \
26-821378,821380-821648,821650-821835,821837-822268,822270-824217,824219-824277,824279-824285,82 \
4287-825075,825077-825083,825085-826354,826356-827612,827614-827891,827893-827944,827946-827949,827951-829033,829035-830477,830479-830875,830877-830932,830934-834241
--- branches/KDE/3.5/kdepim/kmail/callback.cpp #848897:848898
@@ -171,6 +171,7 @@
"receiver of this message,<br>please "
"choose which of the following addresses "
"is yours, if any:");
+ addrs += kmkernel->identityManager()->allEmails();
} else {
selectMessage = i18n("<qt>Several of your identities match the "
"receiver of this message,<br>please "
--- branches/KDE/3.5/kdepim/kmail/favoritefolderview.cpp #848897:848898
@@ -450,6 +450,13 @@
addFolder( folder, fti ? prettyName( fti ) : folder->label() );
}
+void KMail::FavoriteFolderView::addFolder(KMFolderTreeItem * fti)
+{
+ if ( !fti || !fti->folder() )
+ return;
+ addFolder( fti->folder(), prettyName( fti ) );
+}
+
KMFolderTreeItem * FavoriteFolderView::findFolderTreeItem(KMFolder * folder) const
{
assert( folder );
--- branches/KDE/3.5/kdepim/kmail/favoritefolderview.h #848897:848898
@@ -55,6 +55,7 @@
KMFolderTreeItem* addFolder( KMFolder *folder, const QString &name = QString::null,
QListViewItem *after = 0 );
+ void addFolder( KMFolderTreeItem *fti );
public slots:
void folderTreeSelectionChanged( KMFolder *folder );
--- branches/KDE/3.5/kdepim/kmail/kmfolder.cpp #848897:848898
@@ -127,7 +127,7 @@
connect( mStorage, SIGNAL( contentsTypeChanged( KMail::FolderContentsType ) ),
this, SLOT( slotContentsTypeChanged( KMail::FolderContentsType ) ) );
-
+
connect( mStorage, SIGNAL( folderSizeChanged() ),
this, SLOT( slotFolderSizeChanged() ) );
@@ -148,6 +148,7 @@
KMFolder::~KMFolder()
{
+ mStorage->close( "~KMFolder", true );
delete mAcctList;
if ( mHasIndex ) mStorage->deregisterFromMessageDict();
delete mStorage;
--- branches/KDE/3.5/kdepim/kmail/kmfoldercachedimap.cpp #848897:848898
@@ -2718,10 +2718,11 @@
bool cont = true;
if ( job->error() ) {
// Don't show error if the server doesn't support ANNOTATEMORE and this folder only \
contains mail
- if ( job->error() == KIO::ERR_UNSUPPORTED_ACTION && contentsType() == ContentsTypeMail )
+ if ( job->error() == KIO::ERR_UNSUPPORTED_ACTION && contentsType() == ContentsTypeMail ) {
if (mAccount->slave()) mAccount->removeJob(job);
- else
+ } else {
cont = mAccount->handleJobError( job, i18n( "Error while setting annotation: " ) + '\n' \
); + }
} else {
if (mAccount->slave()) mAccount->removeJob(job);
}
@@ -2740,7 +2741,10 @@
// highest one as well. If not, our notion of the highest
// uid we've seen thus far is wrong, which is dangerous, so
// don't update the mLastUid, then.
- bool sane = false;
+ // Not entirely true though, mails might have been moved out
+ // of the folder already by filters, thus giving us a higher tentative
+ // uid than we actually observe here.
+ bool sane = count() == 0;
for (int i=0;i<count(); i++ ) {
ulong uid = getMsgBase(i)->UID();
@@ -2750,11 +2754,8 @@
kdWarning(5006) << "uid: " << uid << " mTentativeHighestUid: " << \
mTentativeHighestUid << endl; assert( false );
break;
- } else if ( uid == mTentativeHighestUid || lastUid() ) {
- // we've found our highest uid, all is well
+ } else {
sane = true;
- } else {
- // must be smaller, that's ok, let's wait for bigger fish
}
}
if (sane) {
--- branches/KDE/3.5/kdepim/kmail/kmfolderimap.cpp #848897:848898
@@ -639,8 +639,9 @@
for ( QStringList::Iterator it = personal.begin(); it != personal.end(); ++it )
{
KMail::ListJob* job = new KMail::ListJob( account(), type, this,
- account()->addPathToNamespace( *it ) );
+ account()->addPathToNamespace( *it ) );
job->setNamespace( *it );
+ job->setHonorLocalSubscription( true );
connect( job, SIGNAL(receivedFolders(const QStringList&, const QStringList&,
const QStringList&, const QStringList&, const ImapAccountBase::jobData&)),
this, SLOT(slotListResult(const QStringList&, const QStringList&,
@@ -654,6 +655,7 @@
for ( QStringList::Iterator it = ns.begin(); it != ns.end(); ++it )
{
KMail::ListJob* job = new KMail::ListJob( account(), type, this, \
account()->addPathToNamespace( *it ) ); + job->setHonorLocalSubscription( true );
connect( job, SIGNAL(receivedFolders(const QStringList&, const QStringList&,
const QStringList&, const QStringList&, const ImapAccountBase::jobData&)),
this, SLOT(slotCheckNamespace(const QStringList&, const QStringList&,
--- branches/KDE/3.5/kdepim/kmail/kmfoldertree.cpp #848897:848898
@@ -1358,9 +1358,13 @@
{
KMFolder* folder = kmkernel->findFolderById( name );
if ( folder ) {
- if ( kmkernel->iCalIface().hideResourceFolder( folder )
+ if ( kmkernel->iCalIface().hideResourceFolder( folder )
|| kmkernel->iCalIface().hideResourceAccountRoot( folder ) )
- continue; // hidden IMAP resource folder, don't delete info
+ continue; // hidden IMAP resource folder, don't delete info
+ if ( folder->noContent() )
+ continue; // we hide nocontent folders if they have no child folders
+ if ( folder == kmkernel->inboxFolder() )
+ continue; // local inbox can be hidden as well
}
//KMessageBox::error( 0, "cleanupConfigFile: Deleting group " + *grpIt );
@@ -2101,11 +2105,12 @@
void KMFolderTree::slotAddToFavorites()
{
- QValueList<QGuardedPtr<KMFolder> > folders = selectedFolders();
KMail::FavoriteFolderView *favView = mMainWidget->favoriteFolderView();
assert( favView );
- for ( QValueList<QGuardedPtr<KMFolder> >::ConstIterator it = folders.constBegin(); it != \
folders.constEnd(); ++it )
- favView->addFolder( *it );
+ for ( QListViewItemIterator it( this ); it.current(); ++it ) {
+ if ( it.current()->isSelected() )
+ favView->addFolder( static_cast<KMFolderTreeItem*>( it.current() ) );
+ }
}
void KMFolderTree::slotUnhideLocalInbox()
--- branches/KDE/3.5/kdepim/kmail/listjob.h #848897:848898
@@ -77,7 +77,7 @@
* side subscription managed by the ctor parameter.
*/
void setHonorLocalSubscription( bool value );
-
+
/**
* Return whether the listing includes only folders that the
* account is subscribed to locally. This is different from the server
@@ -97,18 +97,12 @@
void setComplete( bool complete ) { mComplete = complete; }
/** Set parent progress item */
- void setParentProgressItem( KPIM::ProgressItem* it ) {
+ void setParentProgressItem( KPIM::ProgressItem* it ) {
mParentProgressItem = it; }
/** Set the namespace for this listing */
void setNamespace( const QString& ns ) { mNamespace = ns; }
-protected:
- /**
- * Does the actual KIO::listDir
- */
- void doListing( const KURL& url, const ImapAccountBase::jobData& jd );
-
protected slots:
/**
* Is called when the listing is done
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic