summaryrefslogtreecommitdiffabout
authorzautrix <zautrix>2005-06-19 08:51:41 (UTC)
committer zautrix <zautrix>2005-06-19 08:51:41 (UTC)
commitf10c6021dd23565df986c9631d12f42b64172a52 (patch) (unidiff)
tree91c1fb15618132694f866021335cf081f4c166a6
parent862c536aec16f9ae02ae81b8487ec13edd014ccc (diff)
downloadkdepimpi-f10c6021dd23565df986c9631d12f42b64172a52.zip
kdepimpi-f10c6021dd23565df986c9631d12f42b64172a52.tar.gz
kdepimpi-f10c6021dd23565df986c9631d12f42b64172a52.tar.bz2
fixx
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--bin/kdepim/korganizer/germantranslation.txt4
-rw-r--r--korganizer/kotodoview.cpp2
2 files changed, 4 insertions, 2 deletions
diff --git a/bin/kdepim/korganizer/germantranslation.txt b/bin/kdepim/korganizer/germantranslation.txt
index 6ddfc5f..047df7c 100644
--- a/bin/kdepim/korganizer/germantranslation.txt
+++ b/bin/kdepim/korganizer/germantranslation.txt
@@ -1340,102 +1340,102 @@
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{ "Yes, stop todo","Ja, stoppe Todo" }, 1435{ "Yes, stop todo","Ja, stoppe Todo" },
1436{ "","" }, 1436{ "Todo stopped - no data saved because runtime was < 15 sec!","Todo gestoppt - nichts gespeichert da Laufzeit < 15 sec!" },
1437{ "","" }, 1437{ "Todo started! Double click again to stop!","Todo gestartet! Doppelklicke um es zu stoppen!" },
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 8d957eb..7349d20 100644
--- a/korganizer/kotodoview.cpp
+++ b/korganizer/kotodoview.cpp
@@ -1099,200 +1099,202 @@ void KOTodoView::setNewPriority(int index)
1099 todoModified (mActiveItem->todo(), KOGlobals::PRIORITY_MODIFIED); 1099 todoModified (mActiveItem->todo(), KOGlobals::PRIORITY_MODIFIED);
1100 mActiveItem->todo()->setRevision( mActiveItem->todo()->revision()+1 ); 1100 mActiveItem->todo()->setRevision( mActiveItem->todo()->revision()+1 );
1101 } 1101 }
1102} 1102}
1103 1103
1104void KOTodoView::setNewPercentage(int index) 1104void KOTodoView::setNewPercentage(int index)
1105{ 1105{
1106 if (mActiveItem && !mActiveItem->todo()->isReadOnly ()) { 1106 if (mActiveItem && !mActiveItem->todo()->isReadOnly ()) {
1107 1107
1108 if ( mPercentage[index] == 100 && !mActiveItem->isOn() ) { 1108 if ( mPercentage[index] == 100 && !mActiveItem->isOn() ) {
1109 mActiveItem->setOn( true ); 1109 mActiveItem->setOn( true );
1110 return; 1110 return;
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
1129QPopupMenu * KOTodoView::getCategoryPopupMenu (KOTodoViewItem *todoItem) 1129QPopupMenu * 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}
1148void KOTodoView::changedCategories(int index) 1148void 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}
1170void KOTodoView::itemDoubleClicked(QListViewItem *item) 1170void 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 == 1 ) { 1183 if ( 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 || row == 2) { 1188 if ( row == 5 || row == 6 || row == 2) {
1189 mActiveItem = (KOTodoViewItem *) item; 1189 mActiveItem = (KOTodoViewItem *) item;
1190 Todo * t = mActiveItem->todo(); 1190 Todo * t = mActiveItem->todo();
1191 if ( t->isRunning() ) { 1191 if ( t->isRunning() ) {
1192 if ( t->runTime() < 15) { 1192 if ( t->runTime() < 15) {
1193 t->stopRunning(); 1193 t->stopRunning();
1194 mActiveItem->construct(); 1194 mActiveItem->construct();
1195 topLevelWidget()->setCaption(i18n("Todo stopped - no data saved because runtime was < 15 sec!"));
1195 return; 1196 return;
1196 } 1197 }
1197 else 1198 else
1198 toggleRunningItem(); 1199 toggleRunningItem();
1199 return; 1200 return;
1200 } else { 1201 } else {
1201 t->setRunning( true ); 1202 t->setRunning( true );
1202 mActiveItem->construct(); 1203 mActiveItem->construct();
1204 topLevelWidget()->setCaption(i18n("Todo started! Double click again to stop!"));
1203 return; 1205 return;
1204 } 1206 }
1205 } 1207 }
1206 } 1208 }
1207 if ( KOPrefs::instance()->mEditOnDoubleClick ) 1209 if ( KOPrefs::instance()->mEditOnDoubleClick )
1208 editItem( item ); 1210 editItem( item );
1209 else 1211 else
1210 showItem( item , QPoint(), 0 ); 1212 showItem( item , QPoint(), 0 );
1211} 1213}
1212void KOTodoView::toggleRunningItem() 1214void KOTodoView::toggleRunningItem()
1213{ 1215{
1214 // qDebug("KOTodoView::toggleRunning() "); 1216 // qDebug("KOTodoView::toggleRunning() ");
1215 if ( ! mActiveItem ) 1217 if ( ! mActiveItem )
1216 return; 1218 return;
1217 Todo * t = mActiveItem->todo(); 1219 Todo * t = mActiveItem->todo();
1218 if ( t->isRunning() ) { 1220 if ( t->isRunning() ) {
1219 KOStopTodoPrefs tp ( t, this ); 1221 KOStopTodoPrefs tp ( t, this );
1220 if (QApplication::desktop()->width() < 800 ){ 1222 if (QApplication::desktop()->width() < 800 ){
1221 int wid = tp.width(); 1223 int wid = tp.width();
1222 int hei = tp.height(); 1224 int hei = tp.height();
1223 int xx = (QApplication::desktop()->width()-wid)/2; 1225 int xx = (QApplication::desktop()->width()-wid)/2;
1224 int yy = (QApplication::desktop()->height()-hei)/2; 1226 int yy = (QApplication::desktop()->height()-hei)/2;
1225 tp.setGeometry( xx,yy,wid,hei ); 1227 tp.setGeometry( xx,yy,wid,hei );
1226 } 1228 }
1227 tp.exec(); 1229 tp.exec();
1228 mActiveItem->construct(); 1230 mActiveItem->construct();
1229 } else { 1231 } else {
1230 int result = KMessageBox::warningContinueCancel(this, 1232 int result = KMessageBox::warningContinueCancel(this,
1231 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); 1233 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);
1232 if (result != KMessageBox::Continue) return; 1234 if (result != KMessageBox::Continue) return;
1233 t->setRunning( true ); 1235 t->setRunning( true );
1234 mActiveItem->construct(); 1236 mActiveItem->construct();
1235 } 1237 }
1236} 1238}
1237 1239
1238void KOTodoView::itemClicked(QListViewItem *item) 1240void KOTodoView::itemClicked(QListViewItem *item)
1239{ 1241{
1240 //qDebug("KOTodoView::itemClicked %d", item); 1242 //qDebug("KOTodoView::itemClicked %d", item);
1241 if (!item) { 1243 if (!item) {
1242 if ( pendingSubtodo != 0 ) { 1244 if ( pendingSubtodo != 0 ) {
1243 topLevelWidget()->setCaption(i18n("Reparenting aborted!")); 1245 topLevelWidget()->setCaption(i18n("Reparenting aborted!"));
1244 } 1246 }
1245 pendingSubtodo = 0; 1247 pendingSubtodo = 0;
1246 return; 1248 return;
1247 } 1249 }
1248 KOTodoViewItem *todoItem = (KOTodoViewItem *)item; 1250 KOTodoViewItem *todoItem = (KOTodoViewItem *)item;
1249 if ( pendingSubtodo != 0 ) { 1251 if ( pendingSubtodo != 0 ) {
1250 bool allowReparent = true; 1252 bool allowReparent = true;
1251 QListViewItem *par = item; 1253 QListViewItem *par = item;
1252 while ( par ) { 1254 while ( par ) {
1253 if ( par == pendingSubtodo ) { 1255 if ( par == pendingSubtodo ) {
1254 allowReparent = false; 1256 allowReparent = false;
1255 break; 1257 break;
1256 } 1258 }
1257 par = par->parent(); 1259 par = par->parent();
1258 } 1260 }
1259 if ( !allowReparent ) { 1261 if ( !allowReparent ) {
1260 topLevelWidget()->setCaption(i18n("Recursive reparenting not possible!")); 1262 topLevelWidget()->setCaption(i18n("Recursive reparenting not possible!"));
1261 pendingSubtodo = 0; 1263 pendingSubtodo = 0;
1262 } else { 1264 } else {
1263 Todo* newParent = todoItem->todo(); 1265 Todo* newParent = todoItem->todo();
1264 Todo* newSub = pendingSubtodo->todo(); 1266 Todo* newSub = pendingSubtodo->todo();
1265 pendingSubtodo = 0; 1267 pendingSubtodo = 0;
1266 emit reparentTodoSignal( newParent,newSub ); 1268 emit reparentTodoSignal( newParent,newSub );
1267 return; 1269 return;
1268 } 1270 }
1269 } 1271 }
1270 1272
1271} 1273}
1272 1274
1273void KOTodoView::setDocumentId( const QString &id ) 1275void KOTodoView::setDocumentId( const QString &id )
1274{ 1276{
1275 1277
1276 mDocPrefs->setDoc( id ); 1278 mDocPrefs->setDoc( id );
1277} 1279}
1278 1280
1279void KOTodoView::itemStateChanged( QListViewItem *item ) 1281void KOTodoView::itemStateChanged( QListViewItem *item )
1280{ 1282{
1281 if (!item) return; 1283 if (!item) return;
1282 1284
1283 KOTodoViewItem *todoItem = (KOTodoViewItem *)item; 1285 KOTodoViewItem *todoItem = (KOTodoViewItem *)item;
1284 1286
1285// kdDebug() << "KOTodoView::itemStateChanged(): " << todoItem->todo()->summary() << endl; 1287// kdDebug() << "KOTodoView::itemStateChanged(): " << todoItem->todo()->summary() << endl;
1286 1288
1287 if( mDocPrefs ) mDocPrefs->writeEntry( todoItem->todo()->uid(), todoItem->isOpen() ); 1289 if( mDocPrefs ) mDocPrefs->writeEntry( todoItem->todo()->uid(), todoItem->isOpen() );
1288} 1290}
1289 1291
1290void KOTodoView::saveLayout(KConfig *config, const QString &group) const 1292void KOTodoView::saveLayout(KConfig *config, const QString &group) const
1291{ 1293{
1292 mTodoListView->saveLayout(config,group); 1294 mTodoListView->saveLayout(config,group);
1293} 1295}
1294 1296
1295void KOTodoView::restoreLayout(KConfig *config, const QString &group) 1297void KOTodoView::restoreLayout(KConfig *config, const QString &group)
1296{ 1298{
1297 mTodoListView->restoreLayout(config,group); 1299 mTodoListView->restoreLayout(config,group);
1298} 1300}