-rw-r--r-- | bin/kdepim/korganizer/germantranslation.txt | 2 | ||||
-rw-r--r-- | korganizer/kotodoview.cpp | 15 |
2 files changed, 12 insertions, 5 deletions
diff --git a/bin/kdepim/korganizer/germantranslation.txt b/bin/kdepim/korganizer/germantranslation.txt index f22c177..6ddfc5f 100644 --- a/bin/kdepim/korganizer/germantranslation.txt +++ b/bin/kdepim/korganizer/germantranslation.txt | |||
@@ -1339,103 +1339,103 @@ | |||
1339 | { "Stop todo","Stoppe Todo" }, | 1339 | { "Stop todo","Stoppe Todo" }, |
1340 | { "Todo is stopped","Todo ist gestoppt" }, | 1340 | { "Todo is stopped","Todo ist gestoppt" }, |
1341 | { "Start todo","Starte Todo" }, | 1341 | { "Start todo","Starte Todo" }, |
1342 | { "The todo\n%1\nis stopped.\nDo you want to set\nthe state to started?","Das Todo\n%1\nist gestoppt.\nWollen Sie es auf\ngestartet setzen?" }, | 1342 | { "The todo\n%1\nis stopped.\nDo you want to set\nthe state to started?","Das Todo\n%1\nist gestoppt.\nWollen Sie es auf\ngestartet setzen?" }, |
1343 | { "The todo\n%1\nwill be cloned!\nIt has subtodos!\nDo you want to clone\nall subtodos as well?","Das Todo\n%1\nwird geklont!\nEs hat Untertodos!\nMöchten Sie alle\nUntertodos auch klonen?" }, | 1343 | { "The todo\n%1\nwill be cloned!\nIt has subtodos!\nDo you want to clone\nall subtodos as well?","Das Todo\n%1\nwird geklont!\nEs hat Untertodos!\nMöchten Sie alle\nUntertodos auch klonen?" }, |
1344 | { "Todo has subtodos","Todo hat Untertodos" }, | 1344 | { "Todo has subtodos","Todo hat Untertodos" }, |
1345 | { "Block popup until mouse button release","Sperre Popup bis Mausknopf losgelassen" }, | 1345 | { "Block popup until mouse button release","Sperre Popup bis Mausknopf losgelassen" }, |
1346 | { "Colors","Farben" }, | 1346 | { "Colors","Farben" }, |
1347 | { "Click on new parent item","Klicke auf neues Übertodo" }, | 1347 | { "Click on new parent item","Klicke auf neues Übertodo" }, |
1348 | { "Reparenting aborted!","Übertodo setzen abgebrochen" }, | 1348 | { "Reparenting aborted!","Übertodo setzen abgebrochen" }, |
1349 | { "Cannot move Todo to itself\nor a child of itself","Kann nicht Todo auf\nsich selbst oder\nein Untertodo verschieben" }, | 1349 | { "Cannot move Todo to itself\nor a child of itself","Kann nicht Todo auf\nsich selbst oder\nein Untertodo verschieben" }, |
1350 | { "Recursive reparenting not possible!","Rekursives Verschieben nicht möglich" }, | 1350 | { "Recursive reparenting not possible!","Rekursives Verschieben nicht möglich" }, |
1351 | { "Delete all completed todos?\n(Completed recurring todos\nwill not be deleted!)","Entferne alle erledigten Todos?\n(Erledigte wiederholende Todos\nwerden nicht gelöscht!)" }, | 1351 | { "Delete all completed todos?\n(Completed recurring todos\nwill not be deleted!)","Entferne alle erledigten Todos?\n(Erledigte wiederholende Todos\nwerden nicht gelöscht!)" }, |
1352 | { "Alternating background of list views","Abwechselnder Hintergrund für Listen" }, | 1352 | { "Alternating background of list views","Abwechselnder Hintergrund für Listen" }, |
1353 | { "times","Zeiten" }, | 1353 | { "times","Zeiten" }, |
1354 | { "The todo\n%1\nhas subtodos!\nDo you want to set\nthe categories for\nall subtodos as well?","Das Todo\n%1\nhat Untertodos!\nMöchten Sie die Kategorien\nauch für alle Untertodos setzen?" }, | 1354 | { "The todo\n%1\nhas subtodos!\nDo you want to set\nthe categories for\nall subtodos as well?","Das Todo\n%1\nhat Untertodos!\nMöchten Sie die Kategorien\nauch für alle Untertodos setzen?" }, |
1355 | { "Backup enabled","Backup angeschaltet" }, | 1355 | { "Backup enabled","Backup angeschaltet" }, |
1356 | { "Use standard backup dir","Standard Backupverzeichnis" }, | 1356 | { "Use standard backup dir","Standard Backupverzeichnis" }, |
1357 | { "Number of Backups:","Anzahl der Backups" }, | 1357 | { "Number of Backups:","Anzahl der Backups" }, |
1358 | { "Make backup every ","Mache ein Backup alle " }, | 1358 | { "Make backup every ","Mache ein Backup alle " }, |
1359 | { " days"," Tage" }, | 1359 | { " days"," Tage" }, |
1360 | { "Creating backup ... please wait ...","Erzeuge Backup ... bitte warten ..." }, | 1360 | { "Creating backup ... please wait ...","Erzeuge Backup ... bitte warten ..." }, |
1361 | { "Backup Failed!","Backup Problem!" }, | 1361 | { "Backup Failed!","Backup Problem!" }, |
1362 | { "Try again now","Versuche jetzt nochmal" }, | 1362 | { "Try again now","Versuche jetzt nochmal" }, |
1363 | { "Try again later","Versuche später nochmal" }, | 1363 | { "Try again later","Versuche später nochmal" }, |
1364 | { "Try again tomorrow","Versuche morgen nochmal" }, | 1364 | { "Try again tomorrow","Versuche morgen nochmal" }, |
1365 | { "Disable backup","Schalte Backup ab" }, | 1365 | { "Disable backup","Schalte Backup ab" }, |
1366 | { "<b>Backup directory does not exist: </b>","<b>Backup Verzeichnis existiert nicht: </b>" }, | 1366 | { "<b>Backup directory does not exist: </b>","<b>Backup Verzeichnis existiert nicht: </b>" }, |
1367 | { "<b>The backup copy command failed!</b>","<b>Das Backup Kopierkommando is fehlgeschlagen!</b>" }, | 1367 | { "<b>The backup copy command failed!</b>","<b>Das Backup Kopierkommando is fehlgeschlagen!</b>" }, |
1368 | { "Choose action","Wähle Aktion" }, | 1368 | { "Choose action","Wähle Aktion" }, |
1369 | { "Comment for todo:","Kommentar zum Todo:" }, | 1369 | { "Comment for todo:","Kommentar zum Todo:" }, |
1370 | { "Stop+note","Stop+Notiz" }, | 1370 | { "Stop+note","Stop+Notiz" }, |
1371 | { "Agenda view shows completed todos","Agenda Ansicht zeigt erledigte Todos" }, | 1371 | { "Agenda view shows completed todos","Agenda Ansicht zeigt erledigte Todos" }, |
1372 | { "KO/Pi: Missing alarms!","KO/Pi: Verpasste Alarme!" }, | 1372 | { "KO/Pi: Missing alarms!","KO/Pi: Verpasste Alarme!" }, |
1373 | { "You missed the alarms for the following events or todos:","Sie verpassten die Alarme für folgende Termine oder Todos:" }, | 1373 | { "You missed the alarms for the following events or todos:","Sie verpassten die Alarme für folgende Termine oder Todos:" }, |
1374 | { "Print complete list","Drucke komplette Liste" }, | 1374 | { "Print complete list","Drucke komplette Liste" }, |
1375 | { "Hide all selected","Verstecke Selektierte" }, | 1375 | { "Hide all selected","Verstecke Selektierte" }, |
1376 | { "Add items","hinzufügen" }, | 1376 | { "Add items","hinzufügen" }, |
1377 | { "One (or more) selected\ntodo has subtodos!\nDo you want to select\nall subtodos of all\nselected todos as well?","Ein (oder mehrere) ausgewähltes\nTodo hat Untertodos!\nMöchten Sie der Auswahlliste\nalle Untertodos von allen\nausgewählten Todos hinzufügen?" }, | 1377 | { "One (or more) selected\ntodo has subtodos!\nDo you want to select\nall subtodos of all\nselected todos as well?","Ein (oder mehrere) ausgewähltes\nTodo hat Untertodos!\nMöchten Sie der Auswahlliste\nalle Untertodos von allen\nausgewählten Todos hinzufügen?" }, |
1378 | { "Print List View...","Drucke Listenansicht..." }, | 1378 | { "Print List View...","Drucke Listenansicht..." }, |
1379 | { "You can make a printout of the <b>List View</b> and the list view in the <b>Search Dialog</b>! To do this, please go to the <b>List View/Search Dialog</b>. Right click on the list. Select in the popup menu the entry <b>Print complete list</b>. That prints the list as you see it. You can remove items from the list before printing without deleting the corresponding event/todo! Simply select all items you do not want to print out. Then right click on one of the items and choose <b>Hide selected items</b>. After that you can print the list without these items.","Sie können die <b>Listenansicht</b> und die Listenansicht im <b>Suchdialog</b> ausdrucken! Um das zu machen gehen Sie bitte zur <b>Listenansicht</b> oder zum <b>Suchdialog</b>. Rechtsklicken Sie auf die Liste. Wählen Sie im Popupmenu den Eintrag <b>Drucke komplette Liste</b>. Das druckt die Liste so, wie man sie sieht. Sie können Listeneinträge entfernen ohne die korrespondierenden Ereignisse/Todos zu löschen! Selektieren sie einfach alle Einträge, die sie nicht ausdrucken möchten. Dann Rechtsklicken Sie auf einen Eintrag und wählen <b>Verstecke Selektierte</b>. Danach können Sie die Liste ohne diese Einträge ausdrucken." }, | 1379 | { "You can make a printout of the <b>List View</b> and the list view in the <b>Search Dialog</b>! To do this, please go to the <b>List View/Search Dialog</b>. Right click on the list. Select in the popup menu the entry <b>Print complete list</b>. That prints the list as you see it. You can remove items from the list before printing without deleting the corresponding event/todo! Simply select all items you do not want to print out. Then right click on one of the items and choose <b>Hide selected items</b>. After that you can print the list without these items.","Sie können die <b>Listenansicht</b> und die Listenansicht im <b>Suchdialog</b> ausdrucken! Um das zu machen gehen Sie bitte zur <b>Listenansicht</b> oder zum <b>Suchdialog</b>. Rechtsklicken Sie auf die Liste. Wählen Sie im Popupmenu den Eintrag <b>Drucke komplette Liste</b>. Das druckt die Liste so, wie man sie sieht. Sie können Listeneinträge entfernen ohne die korrespondierenden Ereignisse/Todos zu löschen! Selektieren sie einfach alle Einträge, die sie nicht ausdrucken möchten. Dann Rechtsklicken Sie auf einen Eintrag und wählen <b>Verstecke Selektierte</b>. Danach können Sie die Liste ohne diese Einträge ausdrucken." }, |
1380 | { "Configure KO/Pi...","Konfiguriere KO/Pi..." }, | 1380 | { "Configure KO/Pi...","Konfiguriere KO/Pi..." }, |
1381 | { "Global Settings...","Globale Einstellungen..." }, | 1381 | { "Global Settings...","Globale Einstellungen..." }, |
1382 | { "<p><b>R</b>: Toggle Resource View |<b>F</b>: Edit filter </p>\n","<p><b>R</b>: Zeige Resource Ansicht | <b>F</b>: Editiere Filter </p>\n" }, | 1382 | { "<p><b>R</b>: Toggle Resource View |<b>F</b>: Edit filter </p>\n","<p><b>R</b>: Zeige Resource Ansicht | <b>F</b>: Editiere Filter </p>\n" }, |
1383 | { "(disabled)","(abgeschaltet)" }, | 1383 | { "(disabled)","(abgeschaltet)" }, |
1384 | { "New Calendar","Neuer Kalender" }, | 1384 | { "New Calendar","Neuer Kalender" }, |
1385 | { "Calendar","Kalender" }, | 1385 | { "Calendar","Kalender" }, |
1386 | { "Filter selector","Filterauswahl" }, | 1386 | { "Filter selector","Filterauswahl" }, |
1387 | { "Filtermenu","Filtermenu" }, | 1387 | { "Filtermenu","Filtermenu" }, |
1388 | { "Toggle Fullscreen","Vollbild umschalten" }, | 1388 | { "Toggle Fullscreen","Vollbild umschalten" }, |
1389 | { "Toggle Resource View","Resourcenansicht umschalten" }, | 1389 | { "Toggle Resource View","Resourcenansicht umschalten" }, |
1390 | { "Storage HowTo...","Speicherort HowTo..." }, | 1390 | { "Storage HowTo...","Speicherort HowTo..." }, |
1391 | { "Timetracking HowTo...","Timetracking HowTo..." }, | 1391 | { "Timetracking HowTo...","Timetracking HowTo..." }, |
1392 | { "Juni","Juni" }, | 1392 | { "Juni","Juni" }, |
1393 | { "Juli","Juli" }, | 1393 | { "Juli","Juli" }, |
1394 | { "ToDo:","ToDo:" }, | 1394 | { "ToDo:","ToDo:" }, |
1395 | { "Set Calendar","Setze Kalender" }, | 1395 | { "Set Calendar","Setze Kalender" }, |
1396 | { "Todo: %1","Todo: %1" }, | 1396 | { "Todo: %1","Todo: %1" }, |
1397 | { ": (Prio ",": (Prio " }, | 1397 | { ": (Prio ",": (Prio " }, |
1398 | { "Todos","Todos" }, | 1398 | { "Todos","Todos" }, |
1399 | { "Todo Viewer","Todo Viewer" }, | 1399 | { "Todo Viewer","Todo Viewer" }, |
1400 | { "Todo ","Todo " }, | 1400 | { "Todo ","Todo " }, |
1401 | { " Calendar \n Resource "," Kalender \n Resource " }, | 1401 | { " Calendar \n Resource "," Kalender \n Resource " }, |
1402 | { " Color "," Farbe " }, | 1402 | { " Color "," Farbe " }, |
1403 | { "The calendar <b>%1</b> is displaying file <b>%2</b>. Do you want to remove this calendar from KO/Pi? (The file is not removed!)","Der Kalender <b>%1</b> zeigt die Datei <b>%2</b>. Möchten Sie diesen Kalender aus KO/Pi entfernen? (Die Datei wird dabei nicht gelöscht!)" }, | 1403 | { "The calendar <b>%1</b> is displaying file <b>%2</b>. Do you want to remove this calendar from KO/Pi? (The file is not removed!)","Der Kalender <b>%1</b> zeigt die Datei <b>%2</b>. Möchten Sie diesen Kalender aus KO/Pi entfernen? (Die Datei wird dabei nicht gelöscht!)" }, |
1404 | { "The calendar <b>%1</b> is displaying file <b>%2</b>","Der Kalender <b>%1</b> zeigt die Datei <b>%2</b>" }, | 1404 | { "The calendar <b>%1</b> is displaying file <b>%2</b>","Der Kalender <b>%1</b> zeigt die Datei <b>%2</b>" }, |
1405 | { "Add new Calendar","Füge Kalender hinzu" }, | 1405 | { "Add new Calendar","Füge Kalender hinzu" }, |
1406 | { "<b>Name of new calendar:</b>","<b>Name des Kalenders:</b>" }, | 1406 | { "<b>Name of new calendar:</b>","<b>Name des Kalenders:</b>" }, |
1407 | { "<b>Local ical (*.ics) file:</b>","<b>Lokale ical (*.ics) Datei:</b>" }, | 1407 | { "<b>Local ical (*.ics) file:</b>","<b>Lokale ical (*.ics) Datei:</b>" }, |
1408 | { "Sorry, the calendar name is empty!","Sorry, der Kalendername ist leer!" }, | 1408 | { "Sorry, the calendar name is empty!","Sorry, der Kalendername ist leer!" }, |
1409 | { "Sorry, the file name is empty!","Sorry, der Dateiname ist leer!" }, | 1409 | { "Sorry, the file name is empty!","Sorry, der Dateiname ist leer!" }, |
1410 | { "Error loading calendar file\n%1.","Fehler beim Laden der Kalenderdatei\n%1." }, | 1410 | { "Error loading calendar file\n%1.","Fehler beim Laden der Kalenderdatei\n%1." }, |
1411 | { "The calendar <b>%1</b> is not loaded! Loading of file <b>%2</b> failed! <b>Try again to load the calendar?</b>","Der Kalender <b>%1</b> ist nicht geladen! Das Laden der Datei <b>%2</b> schlug fehl! <b>Soll erneut versucht werden den Kalender zu laden?</b>" }, | 1411 | { "The calendar <b>%1</b> is not loaded! Loading of file <b>%2</b> failed! <b>Try again to load the calendar?</b>","Der Kalender <b>%1</b> ist nicht geladen! Das Laden der Datei <b>%2</b> schlug fehl! <b>Soll erneut versucht werden den Kalender zu laden?</b>" }, |
1412 | { "Global application font for all apps:","Globale Schriftart:" }, | 1412 | { "Global application font for all apps:","Globale Schriftart:" }, |
1413 | { "Application Font","Applikationsschriftart" }, | 1413 | { "Application Font","Applikationsschriftart" }, |
1414 | { "Kx/Pi","Kx/Pi" }, | 1414 | { "Kx/Pi","Kx/Pi" }, |
1415 | { "Backup","Backup" }, | 1415 | { "Backup","Backup" }, |
1416 | { "KDE-Pim Global Settings","KDE-Pim Globale Einstellungen" }, | 1416 | { "KDE-Pim Global Settings","KDE-Pim Globale Einstellungen" }, |
1417 | { "Sorry, the calendar name \n%1\nalready exists!\nPlease choose another name!","Sorry, der Kalendername \n%1\nist schon in Benutzung!\nBitte wählen Sie einen anderen!" }, | 1417 | { "Sorry, the calendar name \n%1\nalready exists!\nPlease choose another name!","Sorry, der Kalendername \n%1\nist schon in Benutzung!\nBitte wählen Sie einen anderen!" }, |
1418 | { "Sorry, the file \n%1\nis already loaded!\nPlease choose another file!","Sorry, die Datei \n%1\nist schon geladen!\nBitte wählen Sie eine andere!" }, | 1418 | { "Sorry, the file \n%1\nis already loaded!\nPlease choose another file!","Sorry, die Datei \n%1\nist schon geladen!\nBitte wählen Sie eine andere!" }, |
1419 | { "Choose Color","Wähle Farbe" }, | 1419 | { "Choose Color","Wähle Farbe" }, |
1420 | { " OK "," OK " }, | 1420 | { " OK "," OK " }, |
1421 | { " Cancel "," Abbrechen " }, | 1421 | { " Cancel "," Abbrechen " }, |
1422 | { "Matching items will be added to list","Passende werden zur Liste hinzugefügt" }, | 1422 | { "Matching items will be added to list","Passende werden zur Liste hinzugefügt" }, |
1423 | { "Matching items will be removed from list","Passende werden von der Liste entfernt" }, | 1423 | { "Matching items will be removed from list","Passende werden von der Liste entfernt" }, |
1424 | { "Search on displayed list only","Suche auf der dargestellten Liste" }, | 1424 | { "Search on displayed list only","Suche auf der dargestellten Liste" }, |
1425 | { "List will be cleared before search","Liste wird vor der Suche gelöscht" }, | 1425 | { "List will be cleared before search","Liste wird vor der Suche gelöscht" }, |
1426 | { "<center>%1</center> <center>is not running. Do you want to set\nthe state to running?</center>","<center>%1</center> <center>ist nicht am Laufen. Möchten Sie den Zustand auf "laufend" setzen?</center>" }, | 1426 | { "<center>%1</center> <center>is not running. Do you want to set\nthe state to running?</center>","<center>%1</center> <center>ist nicht am Laufen. Möchten Sie den Zustand auf "laufend" setzen?</center>" }, |
1427 | { "%1\nis running!","%1\nist am Laufen!" }, | 1427 | { "%1\nis running!","%1\nist am Laufen!" }, |
1428 | { "Additional Comment:","Zusätzlicher Kommentar:" }, | 1428 | { "Additional Comment:","Zusätzlicher Kommentar:" }, |
1429 | { "Stop and save","Stopp und Speichern" }, | 1429 | { "Stop and save","Stopp und Speichern" }, |
1430 | { "Continue running","Weiter laufen lassen" }, | 1430 | { "Continue running","Weiter laufen lassen" }, |
1431 | { "Stop - do not save","Stopp - nicht Speichern" }, | 1431 | { "Stop - do not save","Stopp - nicht Speichern" }, |
1432 | { "Do you really want to set\nthe state to stopped\nwithout saving the data?","Möchten sie den Zustand\nwirklich auf gestoppt setzen\nohne die Daten abzuspeichern?" }, | 1432 | { "Do you really want to set\nthe state to stopped\nwithout saving the data?","Möchten sie den Zustand\nwirklich auf gestoppt setzen\nohne die Daten abzuspeichern?" }, |
1433 | { "Time mismatch!","Zeiten stimmen nicht!" }, | 1433 | { "Time mismatch!","Zeiten stimmen nicht!" }, |
1434 | { "The start time is\nafter the end time!","Die Startzeit ist\nhinter der Endzeit!" }, | 1434 | { "The start time is\nafter the end time!","Die Startzeit ist\nhinter der Endzeit!" }, |
1435 | { "","" }, | 1435 | { "Yes, stop todo","Ja, stoppe Todo" }, |
1436 | { "","" }, | 1436 | { "","" }, |
1437 | { "","" }, | 1437 | { "","" }, |
1438 | { "","" }, | 1438 | { "","" }, |
1439 | { "","" }, | 1439 | { "","" }, |
1440 | { "","" }, | 1440 | { "","" }, |
1441 | { "","" }, \ No newline at end of file | 1441 | { "","" }, \ No newline at end of file |
diff --git a/korganizer/kotodoview.cpp b/korganizer/kotodoview.cpp index 926a136..98c9bd9 100644 --- a/korganizer/kotodoview.cpp +++ b/korganizer/kotodoview.cpp | |||
@@ -1,226 +1,226 @@ | |||
1 | /* | 1 | /* |
2 | This file is part of KOrganizer. | 2 | This file is part of KOrganizer. |
3 | Copyright (c) 2000,2001 Cornelius Schumacher <schumacher@kde.org> | 3 | Copyright (c) 2000,2001 Cornelius Schumacher <schumacher@kde.org> |
4 | 4 | ||
5 | This program is free software; you can redistribute it and/or modify | 5 | This program is free software; you can redistribute it and/or modify |
6 | it under the terms of the GNU General Public License as published by | 6 | it under the terms of the GNU General Public License as published by |
7 | the Free Software Foundation; either version 2 of the License, or | 7 | the Free Software Foundation; either version 2 of the License, or |
8 | (at your option) any later version. | 8 | (at your option) any later version. |
9 | 9 | ||
10 | This program is distributed in the hope that it will be useful, | 10 | This program is distributed in the hope that it will be useful, |
11 | but WITHOUT ANY WARRANTY; without even the implied warranty of | 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
13 | GNU General Public License for more details. | 13 | GNU General Public License for more details. |
14 | 14 | ||
15 | You should have received a copy of the GNU General Public License | 15 | You should have received a copy of the GNU General Public License |
16 | along with this program; if not, write to the Free Software | 16 | along with this program; if not, write to the Free Software |
17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | 17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
18 | 18 | ||
19 | As a special exception, permission is given to link this program | 19 | As a special exception, permission is given to link this program |
20 | with any edition of Qt, and distribute the resulting executable, | 20 | with any edition of Qt, and distribute the resulting executable, |
21 | without including the source code for Qt in the source distribution. | 21 | without including the source code for Qt in the source distribution. |
22 | */ | 22 | */ |
23 | 23 | ||
24 | #include <qlayout.h> | 24 | #include <qlayout.h> |
25 | #include <qheader.h> | 25 | #include <qheader.h> |
26 | #include <qcursor.h> | 26 | #include <qcursor.h> |
27 | #include <qwhatsthis.h> | 27 | #include <qwhatsthis.h> |
28 | #include <qdialog.h> | 28 | #include <qdialog.h> |
29 | #include <qlabel.h> | 29 | #include <qlabel.h> |
30 | #include <qpushbutton.h> | 30 | #include <qpushbutton.h> |
31 | 31 | ||
32 | #include <qinputdialog.h> | 32 | #include <qinputdialog.h> |
33 | 33 | ||
34 | #include <qvbox.h> | 34 | #include <qvbox.h> |
35 | #include <kdebug.h> | 35 | #include <kdebug.h> |
36 | #include "koprefs.h" | 36 | #include "koprefs.h" |
37 | #include <klocale.h> | 37 | #include <klocale.h> |
38 | #include <kglobal.h> | 38 | #include <kglobal.h> |
39 | #include <kdateedit.h> | 39 | #include <kdateedit.h> |
40 | #include "ktimeedit.h" | 40 | #include "ktimeedit.h" |
41 | #include <kiconloader.h> | 41 | #include <kiconloader.h> |
42 | #include <kmessagebox.h> | 42 | #include <kmessagebox.h> |
43 | 43 | ||
44 | #include <libkcal/icaldrag.h> | 44 | #include <libkcal/icaldrag.h> |
45 | #include <libkcal/vcaldrag.h> | 45 | #include <libkcal/vcaldrag.h> |
46 | #include <libkcal/calfilter.h> | 46 | #include <libkcal/calfilter.h> |
47 | #include <libkcal/dndfactory.h> | 47 | #include <libkcal/dndfactory.h> |
48 | #include <libkcal/calendarresources.h> | 48 | #include <libkcal/calendarresources.h> |
49 | #include <libkcal/resourcecalendar.h> | 49 | #include <libkcal/resourcecalendar.h> |
50 | #include <kresources/resourceselectdialog.h> | 50 | #include <kresources/resourceselectdialog.h> |
51 | #include <libkcal/kincidenceformatter.h> | 51 | #include <libkcal/kincidenceformatter.h> |
52 | #ifndef DESKTOP_VERSION | 52 | #ifndef DESKTOP_VERSION |
53 | #include <qpe/qpeapplication.h> | 53 | #include <qpe/qpeapplication.h> |
54 | #else | 54 | #else |
55 | #include <qapplication.h> | 55 | #include <qapplication.h> |
56 | #endif | 56 | #endif |
57 | #ifndef KORG_NOPRINTER | 57 | #ifndef KORG_NOPRINTER |
58 | #include "calprinter.h" | 58 | #include "calprinter.h" |
59 | #endif | 59 | #endif |
60 | #include "docprefs.h" | 60 | #include "docprefs.h" |
61 | 61 | ||
62 | #include "kotodoview.h" | 62 | #include "kotodoview.h" |
63 | using namespace KOrg; | 63 | using namespace KOrg; |
64 | 64 | ||
65 | 65 | ||
66 | KOStopTodoPrefs::KOStopTodoPrefs( Todo* todo, QWidget *parent, const char *name ) : | 66 | KOStopTodoPrefs::KOStopTodoPrefs( Todo* todo, QWidget *parent, const char *name ) : |
67 | QDialog( parent, name, true ) | 67 | QDialog( parent, name, true ) |
68 | { | 68 | { |
69 | mTodo = todo; | 69 | mTodo = todo; |
70 | setCaption( i18n("Stop todo") ); | 70 | setCaption( i18n("Stop todo") ); |
71 | QVBoxLayout* lay = new QVBoxLayout( this ); | 71 | QVBoxLayout* lay = new QVBoxLayout( this ); |
72 | lay->setSpacing( 3 ); | 72 | lay->setSpacing( 3 ); |
73 | lay->setMargin( 3 ); | 73 | lay->setMargin( 3 ); |
74 | QLabel * lab = new QLabel( i18n("%1\nis running!").arg( todo->summary() ), this ); | 74 | QLabel * lab = new QLabel( i18n("<b>%1\n</b>").arg( todo->summary() ), this ); |
75 | lay->addWidget( lab ); | 75 | lay->addWidget( lab ); |
76 | lab->setAlignment( AlignHCenter ); | 76 | lab->setAlignment( AlignHCenter ); |
77 | lab = new QLabel( i18n("Additional Comment:"), this ); | 77 | lab = new QLabel( i18n("Additional Comment:"), this ); |
78 | lay->addWidget( lab ); | 78 | lay->addWidget( lab ); |
79 | mComment = new QLineEdit( this ); | 79 | mComment = new QLineEdit( this ); |
80 | lay->addWidget( mComment ); | 80 | lay->addWidget( mComment ); |
81 | QHBox * start = new QHBox ( this ); | 81 | QHBox * start = new QHBox ( this ); |
82 | lay->addWidget( start ); | 82 | lay->addWidget( start ); |
83 | lab = new QLabel( i18n("Start:"), start ); | 83 | lab = new QLabel( i18n("Start:"), start ); |
84 | QHBox * end = new QHBox ( this ); | 84 | QHBox * end = new QHBox ( this ); |
85 | lay->addWidget( end ); | 85 | lay->addWidget( end ); |
86 | lab = new QLabel( i18n("End:"), end ); | 86 | lab = new QLabel( i18n("End:"), end ); |
87 | sde = new KDateEdit( start ); | 87 | sde = new KDateEdit( start ); |
88 | ste = new KOTimeEdit( start ); | 88 | ste = new KOTimeEdit( start ); |
89 | connect ( sde,SIGNAL(setTimeTo( QTime ) ),ste , SLOT ( setTime(QTime ) ) ); | 89 | connect ( sde,SIGNAL(setTimeTo( QTime ) ),ste , SLOT ( setTime(QTime ) ) ); |
90 | ede = new KDateEdit( end ); | 90 | ede = new KDateEdit( end ); |
91 | ete = new KOTimeEdit(end ); | 91 | ete = new KOTimeEdit(end ); |
92 | connect ( ede,SIGNAL(setTimeTo( QTime ) ),ete , SLOT ( setTime(QTime ) ) ); | 92 | connect ( ede,SIGNAL(setTimeTo( QTime ) ),ete , SLOT ( setTime(QTime ) ) ); |
93 | sde->setDate( mTodo->runStart().date() ); | 93 | sde->setDate( mTodo->runStart().date() ); |
94 | ste->setTime( mTodo->runStart().time() ); | 94 | ste->setTime( mTodo->runStart().time() ); |
95 | ede->setDate( QDate::currentDate()); | 95 | ede->setDate( QDate::currentDate()); |
96 | ete->setTime( QTime::currentTime() ); | 96 | ete->setTime( QTime::currentTime() ); |
97 | QPushButton * ok = new QPushButton( i18n("Stop and save"), this ); | 97 | QPushButton * ok = new QPushButton( i18n("Stop and save"), this ); |
98 | lay->addWidget( ok ); | 98 | lay->addWidget( ok ); |
99 | ok->setDefault( true ); | 99 | ok->setDefault( true ); |
100 | QPushButton * cancel = new QPushButton( i18n("Continue running"), this ); | 100 | QPushButton * cancel = new QPushButton( i18n("Continue running"), this ); |
101 | lay->addWidget( cancel ); | 101 | lay->addWidget( cancel ); |
102 | connect ( ok,SIGNAL(clicked() ),this , SLOT ( accept() ) ); | 102 | connect ( ok,SIGNAL(clicked() ),this , SLOT ( accept() ) ); |
103 | connect (cancel, SIGNAL(clicked() ), this, SLOT ( reject()) ); | 103 | connect (cancel, SIGNAL(clicked() ), this, SLOT ( reject()) ); |
104 | ok = new QPushButton( i18n("Stop - do not save"), this ); | 104 | ok = new QPushButton( i18n("Stop - do not save"), this ); |
105 | connect ( ok,SIGNAL(clicked() ),this , SLOT ( doNotSave() ) ); | 105 | connect ( ok,SIGNAL(clicked() ),this , SLOT ( doNotSave() ) ); |
106 | lay->addWidget( ok ); | 106 | lay->addWidget( ok ); |
107 | if (QApplication::desktop()->width() < 320 ) | 107 | if (QApplication::desktop()->width() < 320 ) |
108 | resize( 240, 200 ); | 108 | resize( 240, sizeHint().height() ); |
109 | else | 109 | else |
110 | resize( 320, 200 ); | 110 | resize( 320, sizeHint().height() ); |
111 | 111 | ||
112 | } | 112 | } |
113 | 113 | ||
114 | void KOStopTodoPrefs::accept() | 114 | void KOStopTodoPrefs::accept() |
115 | { | 115 | { |
116 | QDateTime start = QDateTime( sde->date(), ste->getTime() ); | 116 | QDateTime start = QDateTime( sde->date(), ste->getTime() ); |
117 | QDateTime stop = QDateTime( ede->date(), ete->getTime() ); | 117 | QDateTime stop = QDateTime( ede->date(), ete->getTime() ); |
118 | if ( start > stop ) { | 118 | if ( start > stop ) { |
119 | KMessageBox::sorry(this, | 119 | KMessageBox::sorry(this, |
120 | i18n("The start time is\nafter the end time!"), | 120 | i18n("The start time is\nafter the end time!"), |
121 | i18n("Time mismatch!")); | 121 | i18n("Time mismatch!")); |
122 | return; | 122 | return; |
123 | } | 123 | } |
124 | mTodo->saveRunningInfo( mComment->text(), start, stop ); | 124 | mTodo->saveRunningInfo( mComment->text(), start, stop ); |
125 | QDialog::accept(); | 125 | QDialog::accept(); |
126 | } | 126 | } |
127 | void KOStopTodoPrefs::doNotSave() | 127 | void KOStopTodoPrefs::doNotSave() |
128 | { | 128 | { |
129 | int result = KMessageBox::warningContinueCancel(this, | 129 | int result = KMessageBox::warningContinueCancel(this, |
130 | i18n("Do you really want to set\nthe state to stopped\nwithout saving the data?"),mTodo->summary() ); | 130 | i18n("Do you really want to set\nthe state to stopped\nwithout saving the data?"),mTodo->summary(),i18n("Yes, stop todo") ); |
131 | if (result != KMessageBox::Continue) return; | 131 | if (result != KMessageBox::Continue) return; |
132 | mTodo->stopRunning(); | 132 | mTodo->stopRunning(); |
133 | QDialog::accept(); | 133 | QDialog::accept(); |
134 | } | 134 | } |
135 | 135 | ||
136 | 136 | ||
137 | class KOTodoViewWhatsThis :public QWhatsThis | 137 | class KOTodoViewWhatsThis :public QWhatsThis |
138 | { | 138 | { |
139 | public: | 139 | public: |
140 | KOTodoViewWhatsThis( QWidget *wid, KOTodoView* view ) : QWhatsThis( wid ), _wid(wid),_view (view) { }; | 140 | KOTodoViewWhatsThis( QWidget *wid, KOTodoView* view ) : QWhatsThis( wid ), _wid(wid),_view (view) { }; |
141 | 141 | ||
142 | protected: | 142 | protected: |
143 | virtual QString text( const QPoint& p) | 143 | virtual QString text( const QPoint& p) |
144 | { | 144 | { |
145 | return _view->getWhatsThisText(p) ; | 145 | return _view->getWhatsThisText(p) ; |
146 | } | 146 | } |
147 | private: | 147 | private: |
148 | QWidget* _wid; | 148 | QWidget* _wid; |
149 | KOTodoView * _view; | 149 | KOTodoView * _view; |
150 | }; | 150 | }; |
151 | 151 | ||
152 | KOTodoListView::KOTodoListView(Calendar *calendar,QWidget *parent, | 152 | KOTodoListView::KOTodoListView(Calendar *calendar,QWidget *parent, |
153 | const char *name) : | 153 | const char *name) : |
154 | KListView(parent,name) | 154 | KListView(parent,name) |
155 | { | 155 | { |
156 | mName = QString ( name ); | 156 | mName = QString ( name ); |
157 | mCalendar = calendar; | 157 | mCalendar = calendar; |
158 | #ifndef DESKTOP_VERSION | 158 | #ifndef DESKTOP_VERSION |
159 | QPEApplication::setStylusOperation(viewport(), QPEApplication::RightOnHold ); | 159 | QPEApplication::setStylusOperation(viewport(), QPEApplication::RightOnHold ); |
160 | #endif | 160 | #endif |
161 | mOldCurrent = 0; | 161 | mOldCurrent = 0; |
162 | mMousePressed = false; | 162 | mMousePressed = false; |
163 | 163 | ||
164 | setAcceptDrops(true); | 164 | setAcceptDrops(true); |
165 | viewport()->setAcceptDrops(true); | 165 | viewport()->setAcceptDrops(true); |
166 | int size = 16; | 166 | int size = 16; |
167 | if (qApp->desktop()->width() < 300 ) | 167 | if (qApp->desktop()->width() < 300 ) |
168 | size = 12; | 168 | size = 12; |
169 | setTreeStepSize( size + 6 ); | 169 | setTreeStepSize( size + 6 ); |
170 | 170 | ||
171 | } | 171 | } |
172 | 172 | ||
173 | void KOTodoListView::contentsDragEnterEvent(QDragEnterEvent *e) | 173 | void KOTodoListView::contentsDragEnterEvent(QDragEnterEvent *e) |
174 | { | 174 | { |
175 | #ifndef KORG_NODND | 175 | #ifndef KORG_NODND |
176 | // kdDebug() << "KOTodoListView::contentsDragEnterEvent" << endl; | 176 | // kdDebug() << "KOTodoListView::contentsDragEnterEvent" << endl; |
177 | if ( !ICalDrag::canDecode( e ) && !VCalDrag::canDecode( e ) && | 177 | if ( !ICalDrag::canDecode( e ) && !VCalDrag::canDecode( e ) && |
178 | !QTextDrag::canDecode( e ) ) { | 178 | !QTextDrag::canDecode( e ) ) { |
179 | e->ignore(); | 179 | e->ignore(); |
180 | return; | 180 | return; |
181 | } | 181 | } |
182 | 182 | ||
183 | mOldCurrent = currentItem(); | 183 | mOldCurrent = currentItem(); |
184 | #endif | 184 | #endif |
185 | } | 185 | } |
186 | 186 | ||
187 | 187 | ||
188 | void KOTodoListView::contentsDragMoveEvent(QDragMoveEvent *e) | 188 | void KOTodoListView::contentsDragMoveEvent(QDragMoveEvent *e) |
189 | { | 189 | { |
190 | #ifndef KORG_NODND | 190 | #ifndef KORG_NODND |
191 | // kdDebug() << "KOTodoListView::contentsDragMoveEvent" << endl; | 191 | // kdDebug() << "KOTodoListView::contentsDragMoveEvent" << endl; |
192 | 192 | ||
193 | if ( !ICalDrag::canDecode( e ) && !VCalDrag::canDecode( e ) && | 193 | if ( !ICalDrag::canDecode( e ) && !VCalDrag::canDecode( e ) && |
194 | !QTextDrag::canDecode( e ) ) { | 194 | !QTextDrag::canDecode( e ) ) { |
195 | e->ignore(); | 195 | e->ignore(); |
196 | return; | 196 | return; |
197 | } | 197 | } |
198 | 198 | ||
199 | e->accept(); | 199 | e->accept(); |
200 | #endif | 200 | #endif |
201 | } | 201 | } |
202 | 202 | ||
203 | void KOTodoListView::contentsDragLeaveEvent(QDragLeaveEvent *) | 203 | void KOTodoListView::contentsDragLeaveEvent(QDragLeaveEvent *) |
204 | { | 204 | { |
205 | #ifndef KORG_NODND | 205 | #ifndef KORG_NODND |
206 | // kdDebug() << "KOTodoListView::contentsDragLeaveEvent" << endl; | 206 | // kdDebug() << "KOTodoListView::contentsDragLeaveEvent" << endl; |
207 | 207 | ||
208 | setCurrentItem(mOldCurrent); | 208 | setCurrentItem(mOldCurrent); |
209 | setSelected(mOldCurrent,true); | 209 | setSelected(mOldCurrent,true); |
210 | #endif | 210 | #endif |
211 | } | 211 | } |
212 | 212 | ||
213 | void KOTodoListView::contentsDropEvent(QDropEvent *e) | 213 | void KOTodoListView::contentsDropEvent(QDropEvent *e) |
214 | { | 214 | { |
215 | #ifndef KORG_NODND | 215 | #ifndef KORG_NODND |
216 | // kdDebug() << "KOTodoListView::contentsDropEvent" << endl; | 216 | // kdDebug() << "KOTodoListView::contentsDropEvent" << endl; |
217 | 217 | ||
218 | if ( !ICalDrag::canDecode( e ) && !VCalDrag::canDecode( e ) && | 218 | if ( !ICalDrag::canDecode( e ) && !VCalDrag::canDecode( e ) && |
219 | !QTextDrag::canDecode( e ) ) { | 219 | !QTextDrag::canDecode( e ) ) { |
220 | e->ignore(); | 220 | e->ignore(); |
221 | return; | 221 | return; |
222 | } | 222 | } |
223 | 223 | ||
224 | DndFactory factory( mCalendar ); | 224 | DndFactory factory( mCalendar ); |
225 | Todo *todo = factory.createDropTodo(e); | 225 | Todo *todo = factory.createDropTodo(e); |
226 | 226 | ||
@@ -1111,192 +1111,199 @@ void KOTodoView::setNewPercentage(int index) | |||
1111 | } else if ( mPercentage[index] != 100 && mActiveItem->isOn() ) { | 1111 | } else if ( mPercentage[index] != 100 && mActiveItem->isOn() ) { |
1112 | KOTodoViewItem* par = (static_cast<KOTodoViewItem*>(mActiveItem->parent())); | 1112 | KOTodoViewItem* par = (static_cast<KOTodoViewItem*>(mActiveItem->parent())); |
1113 | if ( par && par->isOn() ) | 1113 | if ( par && par->isOn() ) |
1114 | par->setOn( false ); | 1114 | par->setOn( false ); |
1115 | } | 1115 | } |
1116 | if (mPercentage[index] == 100) { | 1116 | if (mPercentage[index] == 100) { |
1117 | mActiveItem->todo()->setCompleted(QDateTime::currentDateTime()); | 1117 | mActiveItem->todo()->setCompleted(QDateTime::currentDateTime()); |
1118 | } else { | 1118 | } else { |
1119 | mActiveItem->todo()->setCompleted(false); | 1119 | mActiveItem->todo()->setCompleted(false); |
1120 | } | 1120 | } |
1121 | mActiveItem->todo()->setPercentComplete(mPercentage[index]); | 1121 | mActiveItem->todo()->setPercentComplete(mPercentage[index]); |
1122 | mActiveItem->construct(); | 1122 | mActiveItem->construct(); |
1123 | todoModified (mActiveItem->todo (), KOGlobals::COMPLETION_MODIFIED); | 1123 | todoModified (mActiveItem->todo (), KOGlobals::COMPLETION_MODIFIED); |
1124 | mActiveItem->todo()->setRevision( mActiveItem->todo()->revision()+1 ); | 1124 | mActiveItem->todo()->setRevision( mActiveItem->todo()->revision()+1 ); |
1125 | } | 1125 | } |
1126 | } | 1126 | } |
1127 | 1127 | ||
1128 | 1128 | ||
1129 | QPopupMenu * KOTodoView::getCategoryPopupMenu (KOTodoViewItem *todoItem) | 1129 | QPopupMenu * KOTodoView::getCategoryPopupMenu (KOTodoViewItem *todoItem) |
1130 | { | 1130 | { |
1131 | QPopupMenu* tempMenu = new QPopupMenu (this); | 1131 | QPopupMenu* tempMenu = new QPopupMenu (this); |
1132 | QStringList checkedCategories = todoItem->todo()->categories (); | 1132 | QStringList checkedCategories = todoItem->todo()->categories (); |
1133 | 1133 | ||
1134 | tempMenu->setCheckable (true); | 1134 | tempMenu->setCheckable (true); |
1135 | for (QStringList::Iterator it = KOPrefs::instance()->mCustomCategories.begin (); | 1135 | for (QStringList::Iterator it = KOPrefs::instance()->mCustomCategories.begin (); |
1136 | it != KOPrefs::instance()->mCustomCategories.end (); | 1136 | it != KOPrefs::instance()->mCustomCategories.end (); |
1137 | ++it) { | 1137 | ++it) { |
1138 | int index = tempMenu->insertItem (*it); | 1138 | int index = tempMenu->insertItem (*it); |
1139 | mCategory[index] = *it; | 1139 | mCategory[index] = *it; |
1140 | if (checkedCategories.find (*it) != checkedCategories.end ()) tempMenu->setItemChecked (index, true); | 1140 | if (checkedCategories.find (*it) != checkedCategories.end ()) tempMenu->setItemChecked (index, true); |
1141 | } | 1141 | } |
1142 | 1142 | ||
1143 | connect (tempMenu, SIGNAL (activated (int)), SLOT (changedCategories (int))); | 1143 | connect (tempMenu, SIGNAL (activated (int)), SLOT (changedCategories (int))); |
1144 | return tempMenu; | 1144 | return tempMenu; |
1145 | 1145 | ||
1146 | 1146 | ||
1147 | } | 1147 | } |
1148 | void KOTodoView::changedCategories(int index) | 1148 | void KOTodoView::changedCategories(int index) |
1149 | { | 1149 | { |
1150 | if (mActiveItem && !mActiveItem->todo()->isReadOnly ()) { | 1150 | if (mActiveItem && !mActiveItem->todo()->isReadOnly ()) { |
1151 | QStringList categories = mActiveItem->todo()->categories (); | 1151 | QStringList categories = mActiveItem->todo()->categories (); |
1152 | QString colcat = categories.first(); | 1152 | QString colcat = categories.first(); |
1153 | if (categories.find (mCategory[index]) != categories.end ()) | 1153 | if (categories.find (mCategory[index]) != categories.end ()) |
1154 | categories.remove (mCategory[index]); | 1154 | categories.remove (mCategory[index]); |
1155 | else | 1155 | else |
1156 | categories.insert (categories.end(), mCategory[index]); | 1156 | categories.insert (categories.end(), mCategory[index]); |
1157 | categories.sort (); | 1157 | categories.sort (); |
1158 | if ( !colcat.isEmpty() ) { | 1158 | if ( !colcat.isEmpty() ) { |
1159 | if ( categories.find ( colcat ) != categories.end () ) { | 1159 | if ( categories.find ( colcat ) != categories.end () ) { |
1160 | categories.remove( colcat ); | 1160 | categories.remove( colcat ); |
1161 | categories.prepend( colcat ); | 1161 | categories.prepend( colcat ); |
1162 | } | 1162 | } |
1163 | } | 1163 | } |
1164 | mActiveItem->todo()->setCategories (categories); | 1164 | mActiveItem->todo()->setCategories (categories); |
1165 | mActiveItem->construct(); | 1165 | mActiveItem->construct(); |
1166 | mActiveItem->todo()->setRevision( mActiveItem->todo()->revision()+1 ); | 1166 | mActiveItem->todo()->setRevision( mActiveItem->todo()->revision()+1 ); |
1167 | todoModified (mActiveItem->todo (), KOGlobals::CATEGORY_MODIFIED); | 1167 | todoModified (mActiveItem->todo (), KOGlobals::CATEGORY_MODIFIED); |
1168 | } | 1168 | } |
1169 | } | 1169 | } |
1170 | void KOTodoView::itemDoubleClicked(QListViewItem *item) | 1170 | void KOTodoView::itemDoubleClicked(QListViewItem *item) |
1171 | { | 1171 | { |
1172 | if ( pendingSubtodo != 0 ) { | 1172 | if ( pendingSubtodo != 0 ) { |
1173 | topLevelWidget()->setCaption(i18n("Reparenting aborted!")); | 1173 | topLevelWidget()->setCaption(i18n("Reparenting aborted!")); |
1174 | } | 1174 | } |
1175 | pendingSubtodo = 0; | 1175 | pendingSubtodo = 0; |
1176 | //int row = mTodoListView->header()->sectionAt ( mTodoListView->header()->mapFromGlobal( QCursor::pos()).x() ); | 1176 | //int row = mTodoListView->header()->sectionAt ( mTodoListView->header()->mapFromGlobal( QCursor::pos()).x() ); |
1177 | int row = mTodoListView->header()->sectionAt ( mTodoListView->viewportToContents(mTodoListView->viewport()->mapFromGlobal( QCursor::pos())) .x() ); | 1177 | int row = mTodoListView->header()->sectionAt ( mTodoListView->viewportToContents(mTodoListView->viewport()->mapFromGlobal( QCursor::pos())) .x() ); |
1178 | //qDebug("ROW %d ", row); | 1178 | //qDebug("ROW %d ", row); |
1179 | if (!item) { | 1179 | if (!item) { |
1180 | newTodo(); | 1180 | newTodo(); |
1181 | return; | 1181 | return; |
1182 | } else { | 1182 | } else { |
1183 | if ( row == 2 || row == 1 ) { | 1183 | if ( row == 2 || row == 1 ) { |
1184 | mActiveItem = (KOTodoViewItem *) item; | 1184 | mActiveItem = (KOTodoViewItem *) item; |
1185 | newSubTodo(); | 1185 | newSubTodo(); |
1186 | return; | 1186 | return; |
1187 | } | 1187 | } |
1188 | if ( row == 5 || row == 6 ) { | 1188 | if ( row == 5 || row == 6 ) { |
1189 | mActiveItem = (KOTodoViewItem *) item; | 1189 | mActiveItem = (KOTodoViewItem *) item; |
1190 | toggleRunningItem(); | 1190 | toggleRunningItem(); |
1191 | return; | 1191 | return; |
1192 | } | 1192 | } |
1193 | } | 1193 | } |
1194 | if ( KOPrefs::instance()->mEditOnDoubleClick ) | 1194 | if ( KOPrefs::instance()->mEditOnDoubleClick ) |
1195 | editItem( item ); | 1195 | editItem( item ); |
1196 | else | 1196 | else |
1197 | showItem( item , QPoint(), 0 ); | 1197 | showItem( item , QPoint(), 0 ); |
1198 | } | 1198 | } |
1199 | void KOTodoView::toggleRunningItem() | 1199 | void KOTodoView::toggleRunningItem() |
1200 | { | 1200 | { |
1201 | // qDebug("KOTodoView::toggleRunning() "); | 1201 | // qDebug("KOTodoView::toggleRunning() "); |
1202 | if ( ! mActiveItem ) | 1202 | if ( ! mActiveItem ) |
1203 | return; | 1203 | return; |
1204 | Todo * t = mActiveItem->todo(); | 1204 | Todo * t = mActiveItem->todo(); |
1205 | if ( t->isRunning() ) { | 1205 | if ( t->isRunning() ) { |
1206 | KOStopTodoPrefs tp ( t, this ); | 1206 | KOStopTodoPrefs tp ( t, this ); |
1207 | if (QApplication::desktop()->width() < 800 ){ | ||
1208 | int wid = tp.width(); | ||
1209 | int hei = tp.height(); | ||
1210 | int xx = (QApplication::desktop()->width()-wid)/2; | ||
1211 | int yy = (QApplication::desktop()->height()-hei)/2; | ||
1212 | tp.setGeometry( xx,yy,wid,hei ); | ||
1213 | } | ||
1207 | tp.exec(); | 1214 | tp.exec(); |
1208 | mActiveItem->construct(); | 1215 | mActiveItem->construct(); |
1209 | } else { | 1216 | } else { |
1210 | int result = KMessageBox::warningContinueCancel(this, | 1217 | int result = KMessageBox::warningContinueCancel(this, |
1211 | i18n("<center>%1</center> <center>is not running. Do you want to set\nthe state to running?</center>").arg(mActiveItem->text(0).left( 25 ) ),i18n("Start todo"),i18n("Start todo"),i18n("Cancel"), true); | 1218 | i18n("<center>%1</center> <center>is not running. Do you want to set\nthe state to running?</center>").arg(mActiveItem->text(0).left( 25 ) ),i18n("Start todo"),i18n("Start todo"),i18n("Cancel"), true); |
1212 | if (result != KMessageBox::Continue) return; | 1219 | if (result != KMessageBox::Continue) return; |
1213 | t->setRunning( true ); | 1220 | t->setRunning( true ); |
1214 | mActiveItem->construct(); | 1221 | mActiveItem->construct(); |
1215 | } | 1222 | } |
1216 | } | 1223 | } |
1217 | 1224 | ||
1218 | void KOTodoView::itemClicked(QListViewItem *item) | 1225 | void KOTodoView::itemClicked(QListViewItem *item) |
1219 | { | 1226 | { |
1220 | //qDebug("KOTodoView::itemClicked %d", item); | 1227 | //qDebug("KOTodoView::itemClicked %d", item); |
1221 | if (!item) { | 1228 | if (!item) { |
1222 | if ( pendingSubtodo != 0 ) { | 1229 | if ( pendingSubtodo != 0 ) { |
1223 | topLevelWidget()->setCaption(i18n("Reparenting aborted!")); | 1230 | topLevelWidget()->setCaption(i18n("Reparenting aborted!")); |
1224 | } | 1231 | } |
1225 | pendingSubtodo = 0; | 1232 | pendingSubtodo = 0; |
1226 | return; | 1233 | return; |
1227 | } | 1234 | } |
1228 | KOTodoViewItem *todoItem = (KOTodoViewItem *)item; | 1235 | KOTodoViewItem *todoItem = (KOTodoViewItem *)item; |
1229 | if ( pendingSubtodo != 0 ) { | 1236 | if ( pendingSubtodo != 0 ) { |
1230 | bool allowReparent = true; | 1237 | bool allowReparent = true; |
1231 | QListViewItem *par = item; | 1238 | QListViewItem *par = item; |
1232 | while ( par ) { | 1239 | while ( par ) { |
1233 | if ( par == pendingSubtodo ) { | 1240 | if ( par == pendingSubtodo ) { |
1234 | allowReparent = false; | 1241 | allowReparent = false; |
1235 | break; | 1242 | break; |
1236 | } | 1243 | } |
1237 | par = par->parent(); | 1244 | par = par->parent(); |
1238 | } | 1245 | } |
1239 | if ( !allowReparent ) { | 1246 | if ( !allowReparent ) { |
1240 | topLevelWidget()->setCaption(i18n("Recursive reparenting not possible!")); | 1247 | topLevelWidget()->setCaption(i18n("Recursive reparenting not possible!")); |
1241 | pendingSubtodo = 0; | 1248 | pendingSubtodo = 0; |
1242 | } else { | 1249 | } else { |
1243 | Todo* newParent = todoItem->todo(); | 1250 | Todo* newParent = todoItem->todo(); |
1244 | Todo* newSub = pendingSubtodo->todo(); | 1251 | Todo* newSub = pendingSubtodo->todo(); |
1245 | pendingSubtodo = 0; | 1252 | pendingSubtodo = 0; |
1246 | emit reparentTodoSignal( newParent,newSub ); | 1253 | emit reparentTodoSignal( newParent,newSub ); |
1247 | return; | 1254 | return; |
1248 | } | 1255 | } |
1249 | } | 1256 | } |
1250 | 1257 | ||
1251 | } | 1258 | } |
1252 | 1259 | ||
1253 | void KOTodoView::setDocumentId( const QString &id ) | 1260 | void KOTodoView::setDocumentId( const QString &id ) |
1254 | { | 1261 | { |
1255 | 1262 | ||
1256 | mDocPrefs->setDoc( id ); | 1263 | mDocPrefs->setDoc( id ); |
1257 | } | 1264 | } |
1258 | 1265 | ||
1259 | void KOTodoView::itemStateChanged( QListViewItem *item ) | 1266 | void KOTodoView::itemStateChanged( QListViewItem *item ) |
1260 | { | 1267 | { |
1261 | if (!item) return; | 1268 | if (!item) return; |
1262 | 1269 | ||
1263 | KOTodoViewItem *todoItem = (KOTodoViewItem *)item; | 1270 | KOTodoViewItem *todoItem = (KOTodoViewItem *)item; |
1264 | 1271 | ||
1265 | // kdDebug() << "KOTodoView::itemStateChanged(): " << todoItem->todo()->summary() << endl; | 1272 | // kdDebug() << "KOTodoView::itemStateChanged(): " << todoItem->todo()->summary() << endl; |
1266 | 1273 | ||
1267 | if( mDocPrefs ) mDocPrefs->writeEntry( todoItem->todo()->uid(), todoItem->isOpen() ); | 1274 | if( mDocPrefs ) mDocPrefs->writeEntry( todoItem->todo()->uid(), todoItem->isOpen() ); |
1268 | } | 1275 | } |
1269 | 1276 | ||
1270 | void KOTodoView::saveLayout(KConfig *config, const QString &group) const | 1277 | void KOTodoView::saveLayout(KConfig *config, const QString &group) const |
1271 | { | 1278 | { |
1272 | mTodoListView->saveLayout(config,group); | 1279 | mTodoListView->saveLayout(config,group); |
1273 | } | 1280 | } |
1274 | 1281 | ||
1275 | void KOTodoView::restoreLayout(KConfig *config, const QString &group) | 1282 | void KOTodoView::restoreLayout(KConfig *config, const QString &group) |
1276 | { | 1283 | { |
1277 | mTodoListView->restoreLayout(config,group); | 1284 | mTodoListView->restoreLayout(config,group); |
1278 | } | 1285 | } |
1279 | 1286 | ||
1280 | void KOTodoView::processSelectionChange() | 1287 | void KOTodoView::processSelectionChange() |
1281 | { | 1288 | { |
1282 | // kdDebug() << "KOTodoView::processSelectionChange()" << endl; | 1289 | // kdDebug() << "KOTodoView::processSelectionChange()" << endl; |
1283 | 1290 | ||
1284 | KOTodoViewItem *item = | 1291 | KOTodoViewItem *item = |
1285 | static_cast<KOTodoViewItem *>( mTodoListView->selectedItem() ); | 1292 | static_cast<KOTodoViewItem *>( mTodoListView->selectedItem() ); |
1286 | 1293 | ||
1287 | if ( !item ) { | 1294 | if ( !item ) { |
1288 | emit incidenceSelected( 0 ); | 1295 | emit incidenceSelected( 0 ); |
1289 | } else { | 1296 | } else { |
1290 | emit incidenceSelected( item->todo() ); | 1297 | emit incidenceSelected( item->todo() ); |
1291 | } | 1298 | } |
1292 | } | 1299 | } |
1293 | 1300 | ||
1294 | void KOTodoView::modified(bool b) | 1301 | void KOTodoView::modified(bool b) |
1295 | { | 1302 | { |
1296 | emit isModified(b); | 1303 | emit isModified(b); |
1297 | } | 1304 | } |
1298 | void KOTodoView::setTodoModified( Todo* todo ) | 1305 | void KOTodoView::setTodoModified( Todo* todo ) |
1299 | { | 1306 | { |
1300 | todoModified( todo, KOGlobals::UNKNOWN_MODIFIED ); | 1307 | todoModified( todo, KOGlobals::UNKNOWN_MODIFIED ); |
1301 | } | 1308 | } |
1302 | void KOTodoView::clearSelection() | 1309 | void KOTodoView::clearSelection() |