summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--bin/kdepim/SyncHowto.txt2
-rw-r--r--korganizer/kotodoviewitem.cpp6
-rw-r--r--microkde/kdeui/klistview.cpp12
-rw-r--r--version2
4 files changed, 15 insertions, 7 deletions
diff --git a/bin/kdepim/SyncHowto.txt b/bin/kdepim/SyncHowto.txt
index 64f6f14..b0473a1 100644
--- a/bin/kdepim/SyncHowto.txt
+++ b/bin/kdepim/SyncHowto.txt
@@ -65,49 +65,49 @@ a "save" on the remote device will tell you that it needs to merge (sync).
65After merging (just a syncing with the changed file) 65After merging (just a syncing with the changed file)
66you will get the new data showing in remote KO/Pi. 66you will get the new data showing in remote KO/Pi.
67 67
68************************************************************************* 68*************************************************************************
691) Qick overview of settings 691) Qick overview of settings
70************************************************************************* 70*************************************************************************
71 71
72a) Open sync settings dialog (Menu Synchronize - Configure...) 72a) Open sync settings dialog (Menu Synchronize - Configure...)
73b) Give your device a unique name. 73b) Give your device a unique name.
74 (unique in the set of all devices you want to sync with). 74 (unique in the set of all devices you want to sync with).
75 If you have already configured another devive and created 75 If you have already configured another devive and created
76 there a sync profile to sync with this device, give your device 76 there a sync profile to sync with this device, give your device
77 the same name as this sync profile! The same name is important, 77 the same name as this sync profile! The same name is important,
78 because it makes it possible to sync first A->B 78 because it makes it possible to sync first A->B
79 (A local device, that performs the sync, B remote device) 79 (A local device, that performs the sync, B remote device)
80 and then B->A. Such that the B->A sync knows about the 80 and then B->A. Such that the B->A sync knows about the
81 already performed A->B sync. 81 already performed A->B sync.
82 That means: It is unimportant if you sync A->B or B->A, 82 That means: It is unimportant if you sync A->B or B->A,
83 the devices A and B will be synced properly. 83 the devices A and B will be synced properly.
84c) Create a new sync profile and give it a unique name. 84c) Create a new sync profile and give it a unique name.
85 (unique in the set of all sync profiles on this device). 85 (unique in the set of all sync profiles on this device).
86 If you want to sync with a device, where KO/Pi is already installed 86 If you want to sync with a device, where KO/Pi is already installed
87 and which has a given unique device name, use this device name as 87 and which has a given unique device name, use this device name as
88 your profile name ( refer to b) ). 88 your profile name ( refer to b) ).
89d) Coose the profile kind of your syncing method: 89d) Choose the profile kind of your syncing method:
90 (i) Local file or 90 (i) Local file or
91 (ii) Pi-Sync or 91 (ii) Pi-Sync or
92 (iii) Remote file or 92 (iii) Remote file or
93 (iiii) Mobile Phone. 93 (iiii) Mobile Phone.
94 Detailed explanation in 6) 94 Detailed explanation in 6)
95e) Choose the other profile options. 95e) Choose the other profile options.
96 Detailed explanation in 2) 96 Detailed explanation in 2)
97f) Close sync dialog with OK. 97f) Close sync dialog with OK.
98g) Sync. 98g) Sync.
99 99
100NOTE: 100NOTE:
101AFTER SYNCING THERE ARE "SYNC EVENTS" CREATED 101AFTER SYNCING THERE ARE "SYNC EVENTS" CREATED
102(OR UPDATED, IF IT ALREADY EXITS) FOR EACH SYNC PROFILE. 102(OR UPDATED, IF IT ALREADY EXITS) FOR EACH SYNC PROFILE.
103YOU MAY NOT DELETE OR CHANGE THESE EVENTS. 103YOU MAY NOT DELETE OR CHANGE THESE EVENTS.
104 104
105************************************************************************* 105*************************************************************************
1062) Sync settings in sync dialog 1062) Sync settings in sync dialog
107************************************************************************* 107*************************************************************************
108 108
109a) Local device name: 109a) Local device name:
110 -> 1) b) 110 -> 1) b)
111b) Profile: 111b) Profile:
112 -> 1) c) 112 -> 1) c)
113c) Multiple Sync options: Include in multiple sync: 113c) Multiple Sync options: Include in multiple sync:
diff --git a/korganizer/kotodoviewitem.cpp b/korganizer/kotodoviewitem.cpp
index 347d982..ead8628 100644
--- a/korganizer/kotodoviewitem.cpp
+++ b/korganizer/kotodoviewitem.cpp
@@ -173,51 +173,51 @@ void KOTodoViewItem::setMyPixmap()
173// } else { 173// } else {
174 QPainter p; 174 QPainter p;
175 175
176 int pixSize = 0; 176 int pixSize = 0;
177 QPixmap pPix = QPixmap( size, size ); 177 QPixmap pPix = QPixmap( size, size );
178 if ( mTodo->description().length() > 0 ) { 178 if ( mTodo->description().length() > 0 ) {
179 pixi.resize(size, pixSize+size); 179 pixi.resize(size, pixSize+size);
180 pPix.fill( Qt::darkGreen ); 180 pPix.fill( Qt::darkGreen );
181 p.begin( &pixi ); 181 p.begin( &pixi );
182 p. drawPixmap ( 0, pixSize, pPix); 182 p. drawPixmap ( 0, pixSize, pPix);
183 p.end(); 183 p.end();
184 pixSize += size; 184 pixSize += size;
185 } 185 }
186 if ( mTodo->isAlarmEnabled() ) { 186 if ( mTodo->isAlarmEnabled() ) {
187 pixi.resize(size, pixSize+size); 187 pixi.resize(size, pixSize+size);
188 pPix.fill( Qt::red ); 188 pPix.fill( Qt::red );
189 p.begin( &pixi ); 189 p.begin( &pixi );
190 p. drawPixmap ( 0, pixSize, pPix); 190 p. drawPixmap ( 0, pixSize, pPix);
191 p.end(); 191 p.end();
192 pixSize += size; 192 pixSize += size;
193 } 193 }
194 // } 194 // }
195 if ( pixi.width() > 1 ) { 195 if ( pixi.width() > 1 ) {
196 setPixmap ( 0,pixi ) ; 196 setPixmap ( 0,pixi ) ;
197 } else {
198 setPixmap ( 0,QPixmap() ) ;
197 } 199 }
198
199
200} 200}
201void KOTodoViewItem::stateChange(bool state) 201void KOTodoViewItem::stateChange(bool state)
202{ 202{
203 // qDebug("KOTodoViewItem::stateChange "); 203 // qDebug("KOTodoViewItem::stateChange ");
204 // do not change setting on startup 204 // do not change setting on startup
205 if ( m_init ) return; 205 if ( m_init ) return;
206 206
207 kdDebug() << "State changed, modified " << state << endl; 207 kdDebug() << "State changed, modified " << state << endl;
208 QString keyd = "=="; 208 QString keyd = "==";
209 QString keyt = "=="; 209 QString keyt = "==";
210 210
211 if (state) mTodo->setCompleted(state); 211 if (state) mTodo->setCompleted(state);
212 else mTodo->setPercentComplete(0); 212 else mTodo->setPercentComplete(0);
213 if (isOn()!=state) { 213 if (isOn()!=state) {
214 setOn(state); 214 setOn(state);
215 } 215 }
216 216
217 if (mTodo->hasDueDate()) { 217 if (mTodo->hasDueDate()) {
218 setText(3, mTodo->dtDueDateStr()); 218 setText(3, mTodo->dtDueDateStr());
219 QDate d = mTodo->dtDue().date(); 219 QDate d = mTodo->dtDue().date();
220 keyd.sprintf("%04d%02d%02d",d.year(),d.month(),d.day()); 220 keyd.sprintf("%04d%02d%02d",d.year(),d.month(),d.day());
221 setSortKey(3,keyd); 221 setSortKey(3,keyd);
222 if (mTodo->doesFloat()) { 222 if (mTodo->doesFloat()) {
223 setText(4,""); 223 setText(4,"");
@@ -228,50 +228,50 @@ void KOTodoViewItem::stateChange(bool state)
228 keyt.sprintf("%02d%02d",t.hour(),t.minute()); 228 keyt.sprintf("%02d%02d",t.hour(),t.minute());
229 setSortKey(4,keyt); 229 setSortKey(4,keyt);
230 } 230 }
231 } 231 }
232 if (mTodo->isCompleted()) setSortKey(1,QString::number(9)+keyd+keyt); 232 if (mTodo->isCompleted()) setSortKey(1,QString::number(9)+keyd+keyt);
233 else setSortKey(1,QString::number(mTodo->priority())+keyd+keyt); 233 else setSortKey(1,QString::number(mTodo->priority())+keyd+keyt);
234 234
235 setText(2,i18n("%1 %").arg(QString::number(mTodo->percentComplete()))); 235 setText(2,i18n("%1 %").arg(QString::number(mTodo->percentComplete())));
236 if (mTodo->percentComplete()<100) { 236 if (mTodo->percentComplete()<100) {
237 if (mTodo->isCompleted()) setSortKey(2,QString::number(999)); 237 if (mTodo->isCompleted()) setSortKey(2,QString::number(999));
238 else setSortKey(2,QString::number(mTodo->percentComplete())); 238 else setSortKey(2,QString::number(mTodo->percentComplete()));
239 } 239 }
240 else { 240 else {
241 if (mTodo->isCompleted()) setSortKey(2,QString::number(999)); 241 if (mTodo->isCompleted()) setSortKey(2,QString::number(999));
242 else setSortKey(2,QString::number(99)); 242 else setSortKey(2,QString::number(99));
243 } 243 }
244 QListViewItem * myChild = firstChild(); 244 QListViewItem * myChild = firstChild();
245 KOTodoViewItem *item; 245 KOTodoViewItem *item;
246 while( myChild ) { 246 while( myChild ) {
247 item = static_cast<KOTodoViewItem*>(myChild); 247 item = static_cast<KOTodoViewItem*>(myChild);
248 item->stateChange(state); 248 item->stateChange(state);
249 myChild = myChild->nextSibling(); 249 myChild = myChild->nextSibling();
250 } 250 }
251 mTodoView->modified(true); 251 mTodoView->modified(true);
252 mTodoView->setTodoModified( mTodo );
253 setMyPixmap(); 252 setMyPixmap();
253 mTodoView->setTodoModified( mTodo );
254} 254}
255 255
256bool KOTodoViewItem::isAlternate() 256bool KOTodoViewItem::isAlternate()
257{ 257{
258#ifndef KORG_NOLVALTERNATION 258#ifndef KORG_NOLVALTERNATION
259 KOTodoListView *lv = static_cast<KOTodoListView *>(listView()); 259 KOTodoListView *lv = static_cast<KOTodoListView *>(listView());
260 if (lv && lv->alternateBackground().isValid()) 260 if (lv && lv->alternateBackground().isValid())
261 { 261 {
262 KOTodoViewItem *above = 0; 262 KOTodoViewItem *above = 0;
263 above = dynamic_cast<KOTodoViewItem *>(itemAbove()); 263 above = dynamic_cast<KOTodoViewItem *>(itemAbove());
264 m_known = above ? above->m_known : true; 264 m_known = above ? above->m_known : true;
265 if (m_known) 265 if (m_known)
266 { 266 {
267 m_odd = above ? !above->m_odd : false; 267 m_odd = above ? !above->m_odd : false;
268 } 268 }
269 else 269 else
270 { 270 {
271 KOTodoViewItem *item; 271 KOTodoViewItem *item;
272 bool previous = true; 272 bool previous = true;
273 if (QListViewItem::parent()) 273 if (QListViewItem::parent())
274 { 274 {
275 item = dynamic_cast<KOTodoViewItem *>(QListViewItem::parent()); 275 item = dynamic_cast<KOTodoViewItem *>(QListViewItem::parent());
276 if (item) 276 if (item)
277 previous = item->m_odd; 277 previous = item->m_odd;
diff --git a/microkde/kdeui/klistview.cpp b/microkde/kdeui/klistview.cpp
index 6859d36..154cd02 100644
--- a/microkde/kdeui/klistview.cpp
+++ b/microkde/kdeui/klistview.cpp
@@ -1888,51 +1888,59 @@ QListViewItem* KListView::itemAtIndex(int index)
1888 { 1888 {
1889 if (j==index) 1889 if (j==index)
1890 return it.current(); 1890 return it.current();
1891 j++; 1891 j++;
1892 }; 1892 };
1893 return 0; 1893 return 0;
1894} 1894}
1895 1895
1896 1896
1897void KListView::emitContextMenu (KListView*, QListViewItem* i) 1897void KListView::emitContextMenu (KListView*, QListViewItem* i)
1898{ 1898{
1899 QPoint p; 1899 QPoint p;
1900 // qDebug("KListView::emitContextMenu "); 1900 // qDebug("KListView::emitContextMenu ");
1901 1901
1902 if (i) 1902 if (i)
1903 p = viewport()->mapToGlobal(itemRect(i).center()); 1903 p = viewport()->mapToGlobal(itemRect(i).center());
1904 else 1904 else
1905 p = mapToGlobal(rect().center()); 1905 p = mapToGlobal(rect().center());
1906 1906
1907 emit contextMenu (this, i, p); 1907 emit contextMenu (this, i, p);
1908} 1908}
1909 1909
1910void KListView::emitContextMenu (QListViewItem* i, const QPoint& p, int col) 1910void KListView::emitContextMenu (QListViewItem* i, const QPoint& p, int col)
1911{ 1911{
1912 QListViewItem* item = i;
1913 int c = col;
1914 // do not trust the values for QListViewItem* i and int col;
1912 // qDebug("KListView::emitContextMenu col"); 1915 // qDebug("KListView::emitContextMenu col");
1913 emit contextRequest( i, p, col ); 1916 if ( col == -1 ) {
1914 emit contextMenu (this, i, p); 1917 QPoint pp = viewport()->mapFromGlobal(p);
1918 item = itemAt( pp);
1919 c = header()->sectionAt(pp.x() );
1920 }
1921 emit contextRequest( item, p, c );
1922 emit contextMenu (this, item, p);
1915} 1923}
1916 1924
1917void KListView::setAcceptDrops (bool val) 1925void KListView::setAcceptDrops (bool val)
1918{ 1926{
1919 QListView::setAcceptDrops (val); 1927 QListView::setAcceptDrops (val);
1920 viewport()->setAcceptDrops (val); 1928 viewport()->setAcceptDrops (val);
1921} 1929}
1922 1930
1923int KListView::dropVisualizerWidth () const 1931int KListView::dropVisualizerWidth () const
1924{ 1932{
1925 return d->mDropVisualizerWidth; 1933 return d->mDropVisualizerWidth;
1926} 1934}
1927 1935
1928 1936
1929void KListView::viewportPaintEvent(QPaintEvent *e) 1937void KListView::viewportPaintEvent(QPaintEvent *e)
1930{ 1938{
1931 QListView::viewportPaintEvent(e); 1939 QListView::viewportPaintEvent(e);
1932 1940
1933 if (d->mOldDropVisualizer.isValid() && e->rect().intersects(d->mOldDropVisualizer)) 1941 if (d->mOldDropVisualizer.isValid() && e->rect().intersects(d->mOldDropVisualizer))
1934 { 1942 {
1935 QPainter painter(viewport()); 1943 QPainter painter(viewport());
1936 1944
1937 // This is where we actually draw the drop-visualizer 1945 // This is where we actually draw the drop-visualizer
1938 painter.fillRect(d->mOldDropVisualizer, Dense4Pattern); 1946 painter.fillRect(d->mOldDropVisualizer, Dense4Pattern);
diff --git a/version b/version
index dedf950..02b0fb1 100644
--- a/version
+++ b/version
@@ -1 +1 @@
version = "1.9.19"; version = "1.9.20";