summaryrefslogtreecommitdiff
blob: 7452a8f7742d7b7b685b895d9ae79428fce6e560 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
Changes between KDE 3.5.10 tag as modified by kdepim-3.5-patchset-05.tar.bz2
and KDE 3.5 branch r1022986. Only looking at subdirectory kdepim/kmail here.
Logs since r849627 of the branch but this might be wrong.

r849848 | coolo (= kmail-3.5.10-post-r857910.diff in Gentoo patchset 05)
fix compile
  M recipientspicker.cpp
r857911 | gianni (= kmail-3.5.10-post-r857910.diff in Gentoo patchset 05)
this commit fix the bug #168544 in the KDE 3.5 branch reviewed by Ingo
  M accountmanager.cpp
  M kmfoldertree.cpp
r858979 | mueller (= kmail-3.5.10-post-r857910.diff in Gentoo patchset 05)
fix build here too. only hell knows why kmail likes to copy&paste code from kdelibs that it could just as well just...
  M configure.in.in
  M editorwatcher.cpp
r882942 | vkrause
Merged revisions 882936 via svnmerge from https://vkrause@svn.kde.org/home/kde/branches/kdepim/enterprise/kdepim
  M kmfoldercachedimap.h
r931963 | scripty
SVN_SILENT made messages (.desktop file)
  M kmail_config_composer.desktop
r951205 | wstephens
Backport 927077
  M kmcommands.cpp
r1022980 | winterz
merge r1021458 | tmcguire | 2009-09-09 05:16:29 -0400 (Wed, 09 Sep 2009) | 7 lines
  M cachedimapjob.cpp
  M kmfoldercachedimap.cpp
  M kmfoldercachedimap.h
r1022986 | winterz
merge r1021464 | tmcguire | 2009-09-09 05:37:52 -0400 (Wed, 09 Sep 2009) | 5 lines
  M kmfoldercachedimap.cpp


Index: cachedimapjob.cpp
===================================================================
--- kdepim/kmail/cachedimapjob.cpp	 (.../tags/KDE/3.5.10)	(revision 850549)
+++ kdepim/kmail/cachedimapjob.cpp	 (.../branches/KDE/3.5)	(revision 1022986)
@@ -508,7 +508,7 @@
         bool b = kmkernel->iCalIface().isResourceQuiet();
         kmkernel->iCalIface().setResourceQuiet( true );
 
-        mFolder->take( i );
+        mFolder->takeTemporarily( i );
         mFolder->addMsgKeepUID( mMsg );
         mMsg->setTransferInProgress( false );
 
Index: kmail_config_composer.desktop
===================================================================
--- kdepim/kmail/kmail_config_composer.desktop	 (.../tags/KDE/3.5.10)	(revision 850549)
+++ kdepim/kmail/kmail_config_composer.desktop	 (.../branches/KDE/3.5)	(revision 1022986)
@@ -71,6 +71,7 @@
 Comment[da]=Skabeloner & Generel opførsel
 Comment[de]=Vorlagen und allgemeines Verhalten
 Comment[el]=Πρότυπα & γενική Συμπεριφορά
+Comment[en_GB]=Templates & General Behaviour
 Comment[eo]=Ŝablonoj kaj Ĝenerala Konduto
 Comment[es]=Plantilla y comportamiento general
 Comment[et]=Mallid ja üldine käitumine
Index: kmcommands.cpp
===================================================================
--- kdepim/kmail/kmcommands.cpp	 (.../tags/KDE/3.5.10)	(revision 850549)
+++ kdepim/kmail/kmcommands.cpp	 (.../branches/KDE/3.5)	(revision 1022986)
@@ -2414,7 +2414,8 @@
         .arg( mUrl.prettyURL() ), QString::null, i18n("Execute"), KStdGuiItem::cancel() ) != KMessageBox::Yes)
         return Canceled;
     }
-    (void) new KRun( mUrl );
+    KRun * runner = new KRun( mUrl );
+    runner->setRunExecutables( false );
   }
   else
     return Failed;
Index: kmfoldercachedimap.cpp
===================================================================
--- kdepim/kmail/kmfoldercachedimap.cpp	 (.../tags/KDE/3.5.10)	(revision 850549)
+++ kdepim/kmail/kmfoldercachedimap.cpp	 (.../branches/KDE/3.5)	(revision 1022986)
@@ -471,7 +471,6 @@
   uidMapDirty = false;
 }
 
-/* Reimplemented from KMFolderMaildir */
 KMMessage* KMFolderCachedImap::take(int idx)
 {
   uidMapDirty = true;
@@ -479,6 +478,11 @@
   return KMFolderMaildir::take(idx);
 }
 
+void KMFolderCachedImap::takeTemporarily( int idx )
+{
+  KMFolderMaildir::take( idx );
+}
+
 // Add a message without clearing it's X-UID field.
 int KMFolderCachedImap::addMsgInternal( KMMessage* msg, bool newMail,
                                         int* index_return )
@@ -1565,6 +1569,11 @@
     job->start();
     return true;
   } else {
+
+    // Nothing to delete on the server, make sure the map is clear again.
+    // Normally this wouldn't be necessary, but there can be stale maps because of
+    // https://issues.kolab.org/issue3833.
+    mDeletedUIDsSinceLastSync.clear();
     return false;
   }
 }
Index: kmfoldercachedimap.h
===================================================================
--- kdepim/kmail/kmfoldercachedimap.h	 (.../tags/KDE/3.5.10)	(revision 850549)
+++ kdepim/kmail/kmfoldercachedimap.h	 (.../branches/KDE/3.5)	(revision 1022986)
@@ -182,8 +182,20 @@
   /* Reimplemented from KMFolder. Moving is not supported, so aParent must be 0 */
   virtual int rename(const QString& aName, KMFolderDir *aParent=0);
 
-  /* Reimplemented from KMFolderMaildir */
+  /**
+   * Reimplemented from KMFolderMaildir
+   * This deletes the message permanently, also from the server. For this, rememberDeletion() is
+   * called, so that the message can be deleted from the server on the next sync.
+   */
   virtual KMMessage* take(int idx);
+
+  /**
+   * Like take(), only that the deletion is not remembered, i.e. the message will not be deleted
+   * from the server.
+   * Calling this can cause inconsistencies, so make sure you re-add the message later!
+   */
+  void takeTemporarily( int idx );
+
   /* Reimplemented from KMFolderMaildir */
   virtual int addMsg(KMMessage* msg, int* index_return = 0);
   /* internal version that doesn't remove the X-UID header */
@@ -213,8 +225,11 @@
   void setSilentUpload( bool silent ) { mSilentUpload = silent; }
   bool silentUpload() { return mSilentUpload; }
 
-  virtual int createIndexFromContents()
-    { return KMFolderMaildir::createIndexFromContents(); }
+  virtual int createIndexFromContents() {
+    const int result = KMFolderMaildir::createIndexFromContents();
+    reloadUidMap();
+    return result;
+  }
 
   int createIndexFromContentsRecursive();