summaryrefslogtreecommitdiffabout
authorzautrix <zautrix>2005-10-12 11:14:13 (UTC)
committer zautrix <zautrix>2005-10-12 11:14:13 (UTC)
commita72f3f3acfac791715a1c512fc4cc4c3facdbb62 (patch) (unidiff)
tree202c588777f8d4585a8c57164b1b412d7ad73e8a
parent3ecfc912f657a710ed35c93dc6eb2991cce06835 (diff)
downloadkdepimpi-a72f3f3acfac791715a1c512fc4cc4c3facdbb62.zip
kdepimpi-a72f3f3acfac791715a1c512fc4cc4c3facdbb62.tar.gz
kdepimpi-a72f3f3acfac791715a1c512fc4cc4c3facdbb62.tar.bz2
fix
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--bin/kdepim/korganizer/germantranslation.txt8
-rw-r--r--korganizer/mainwindow.cpp75
-rw-r--r--korganizer/mainwindow.h4
3 files changed, 70 insertions, 17 deletions
diff --git a/bin/kdepim/korganizer/germantranslation.txt b/bin/kdepim/korganizer/germantranslation.txt
index ea653b2..e8b54fd 100644
--- a/bin/kdepim/korganizer/germantranslation.txt
+++ b/bin/kdepim/korganizer/germantranslation.txt
@@ -1551,23 +1551,31 @@
1551{ "Filter for the edited event","Filter f�r den bearbeiteten Termin" }, 1551{ "Filter for the edited event","Filter f�r den bearbeiteten Termin" },
1552{ "Filter for other events","Filter f�r die anderen Termine" }, 1552{ "Filter for other events","Filter f�r die anderen Termine" },
1553{ "Check Allday with Allday","Pr�fe GanzTag mit GanzTag" }, 1553{ "Check Allday with Allday","Pr�fe GanzTag mit GanzTag" },
1554{ "Check Allday with NonAllday","Pr�fe GanzTag mit NichtGanzTag" }, 1554{ "Check Allday with NonAllday","Pr�fe GanzTag mit NichtGanzTag" },
1555{ "Check NonAllday with Allday","Pr�fe NichtGanzTag mit GanzTag" }, 1555{ "Check NonAllday with Allday","Pr�fe NichtGanzTag mit GanzTag" },
1556{ "Check NonAllday with NonAllday","Pr�fe NichtGanzTag mit NichtGanzTag" }, 1556{ "Check NonAllday with NonAllday","Pr�fe NichtGanzTag mit NichtGanzTag" },
1557{ "Conflict detection","Konflikterkennung" }, 1557{ "Conflict detection","Konflikterkennung" },
1558{ "Loading calendar files ... please wait","Lade Kalenderdateien ... bitte warten" }, 1558{ "Loading calendar files ... please wait","Lade Kalenderdateien ... bitte warten" },
1559{ "Show multiday allday ev. in date nav.","Zeige Multi-Ganzt.Term.in Datums Nav." }, 1559{ "Show multiday allday ev. in date nav.","Zeige Multi-Ganzt.Term.in Datums Nav." },
1560{ "Include events which "show as free"","Inklusive Termine mit "Zeige Zeit als frei"" }, 1560{ "Include events which "show as free"","Inklusive Termine mit "Zeige Zeit als frei"" },
1561{ "Conflict detection checks an <b>edited event</b> with <b>other events</b> for overlapping.","Konflikterkennung pr�ft einen <b>bearbeiteten Termin</b> auf �berschneidungen mit <b>anderen Terminen</b>." }, 1561{ "Conflict detection checks an <b>edited event</b> with <b>other events</b> for overlapping.","Konflikterkennung pr�ft einen <b>bearbeiteten Termin</b> auf �berschneidungen mit <b>anderen Terminen</b>." },
1562{ " Yes, close "," Ja, beenden " }, 1562{ " Yes, close "," Ja, beenden " },
1563{ "Export All Data","Exportiere alle Daten" }, 1563{ "Export All Data","Exportiere alle Daten" },
1564{ "You can save all data\nto another file via\nFile->Export->Export All Data","Sie k�nnen alle Daten in\neine andere Datei speichern unter\nDatei->Exportiere->Exportiere alle Daten" }, 1564{ "You can save all data\nto another file via\nFile->Export->Export All Data","Sie k�nnen alle Daten in\neine andere Datei speichern unter\nDatei->Exportiere->Exportiere alle Daten" },
1565{ "<p><b>Duration:</b> %1 days</p>","<p><b>Dauer:</b> %1 Tage</p>" }, 1565{ "<p><b>Duration:</b> %1 days</p>","<p><b>Dauer:</b> %1 Tage</p>" },
1566{ " (Duration: %1 days)"," (Dauer: %1 Tage)" }, 1566{ " (Duration: %1 days)"," (Dauer: %1 Tage)" },
1567{ "Autosave enabled!","Auto-Speichern angeschaltet!" },
1568{ "Autosave disabled! Save timer stopped!","Auto-Speichern ausgeschaltet! Speicher Timer gestoppt!" },
1569{ "Autosave disabled!","Auto-Speichern ist ausgeschaltet!" },
1570{ "Yes, Save!","Ja, Speichern!" },
1571{ "Calendar is modified\nbut Autosave is disabled!\nDo you want\nto save the data?","Der Kalender wurde ver�ndert,\naber Auto-Speichern ist\nabgeschaltet. M�chten Sie\ndie Daten speichern?" },
1572{ "<p><b>C+ctrl</b>: Dis/enable automatic saving</p>\n","<p><b>C+ctrl</b>: Auto-Speichern ab/anschalten</p>\n" },
1573{ "","" },
1574{ "","" },
1567{ "","" }, 1575{ "","" },
1568{ "","" }, 1576{ "","" },
1569{ "","" }, 1577{ "","" },
1570{ "","" }, 1578{ "","" },
1571{ "","" }, 1579{ "","" },
1572{ "","" }, 1580{ "","" },
1573{ "","" }, 1581{ "","" },
diff --git a/korganizer/mainwindow.cpp b/korganizer/mainwindow.cpp
index c597138..66bb19b 100644
--- a/korganizer/mainwindow.cpp
+++ b/korganizer/mainwindow.cpp
@@ -157,32 +157,33 @@ MainWindow::MainWindow( QWidget *parent, const char *name ) :
157 QPainter p ( sgListViewCompletedPix[iii] ); 157 QPainter p ( sgListViewCompletedPix[iii] );
158 p.drawRect( 0,0,11,11); 158 p.drawRect( 0,0,11,11);
159 if ( iii ) 159 if ( iii )
160 p.fillRect( 1,1,iii*2,9,Qt::gray ); 160 p.fillRect( 1,1,iii*2,9,Qt::gray );
161 } 161 }
162 sgListViewJournalPix = &journalPix; 162 sgListViewJournalPix = &journalPix;
163 sgListViewJournalPix->resize( 11, 11 ); 163 sgListViewJournalPix->resize( 11, 11 );
164 sgListViewJournalPix->fill( Qt::white ); 164 sgListViewJournalPix->fill( Qt::white );
165 { 165 {
166 QPainter p ( sgListViewJournalPix ); 166 QPainter p ( sgListViewJournalPix );
167 p.drawRect( 0,0,11,11); 167 p.drawRect( 0,0,11,11);
168 p.drawLine( 2,3,5,3); 168 p.drawLine( 2,3,5,3);
169 p.drawLine( 2,5,8,5); 169 p.drawLine( 2,5,8,5);
170 p.drawLine( 2,7,6,7); 170 p.drawLine( 2,7,6,7);
171 } 171 }
172 } 172 }
173 mAutoSaveDisabled = false;
173 mClosed = false; 174 mClosed = false;
174 //QString confFile = KStandardDirs::appDir() + "config/korganizerrc"; 175 //QString confFile = KStandardDirs::appDir() + "config/korganizerrc";
175 QString confFile = locateLocal("config","korganizerrc"); 176 QString confFile = locateLocal("config","korganizerrc");
176 QFileInfo finf ( confFile ); 177 QFileInfo finf ( confFile );
177 bool showWarning = !finf.exists(); 178 bool showWarning = !finf.exists();
178 setIcon(SmallIcon( "ko24" ) ); 179 setIcon(SmallIcon( "ko24" ) );
179 mBlockAtStartup = true; 180 mBlockAtStartup = true;
180 mFlagKeyPressed = false; 181 mFlagKeyPressed = false;
181 setCaption("KO/Pi"); 182 setCaption("KO/Pi");
182 KOPrefs *p = KOPrefs::instance(); 183 KOPrefs *p = KOPrefs::instance();
183 //KPimGlobalPrefs::instance()->setGlobalConfig(); 184 //KPimGlobalPrefs::instance()->setGlobalConfig();
184 p->mCurrentDisplayedView = 0; 185 p->mCurrentDisplayedView = 0;
185 if ( p->mHourSize > 22 ) 186 if ( p->mHourSize > 22 )
186 p->mHourSize = 22; 187 p->mHourSize = 22;
187 QMainWindow::ToolBarDock tbd; 188 QMainWindow::ToolBarDock tbd;
188 if ( p->mToolBarHor ) { 189 if ( p->mToolBarHor ) {
@@ -524,59 +525,77 @@ bool MainWindow::askForQuitOnSaveError()
524{ 525{
525 bool retval = false; 526 bool retval = false;
526 switch( QMessageBox::information( this, "KO/Pi", 527 switch( QMessageBox::information( this, "KO/Pi",
527 i18n("Error saving data") + "!\n" + 528 i18n("Error saving data") + "!\n" +
528 i18n("You can save all data\nto another file via\nFile->Export->Export All Data") + "!\n" + 529 i18n("You can save all data\nto another file via\nFile->Export->Export All Data") + "!\n" +
529 i18n("Do you really want\nto close KO/Pi?"), 530 i18n("Do you really want\nto close KO/Pi?"),
530 i18n(" Yes, close "), i18n("No"), 531 i18n(" Yes, close "), i18n("No"),
531 0, 1 ) ) { 532 0, 1 ) ) {
532 case 0: 533 case 0:
533 retval = true; 534 retval = true;
534 break; 535 break;
535 default: 536 default:
536 break; 537 break;
537 } 538 }
538 return retval; 539 return retval;
539} 540}
540 541bool MainWindow::checkAutosave()
542{
543 bool savedata = true;
544 if ( mAutoSaveDisabled && mCalendarModifiedFlag ) {
545 switch( QMessageBox::information( this, "KO/Pi",
546 i18n("Calendar is modified\nbut Autosave is disabled!\nDo you want\nto save the data?"),
547 i18n("Yes, Save!"), i18n("No"),
548 0, 0 ) ) {
549 case 1:
550 case 2:
551 savedata = false;
552 break;
553 default:
554 break;
555 }
556 }
557 return savedata;
558}
541void MainWindow::closeEvent( QCloseEvent* ce ) 559void MainWindow::closeEvent( QCloseEvent* ce )
542{ 560{
543
544
545
546 if ( ! KOPrefs::instance()->mAskForQuit ) { 561 if ( ! KOPrefs::instance()->mAskForQuit ) {
547 saveOnClose(); 562 if ( checkAutosave() ) {
548 if ( mCalendarModifiedFlag && !askForQuitOnSaveError() ) { 563 saveOnClose();
549 ce->ignore(); 564 if ( mCalendarModifiedFlag && !askForQuitOnSaveError() ) {
550 return; 565 ce->ignore();
566 return;
567 }
551 } 568 }
552 mClosed = true; 569 mClosed = true;
553 ce->accept(); 570 ce->accept();
554 return; 571 return;
555 572
556 } 573 }
557 574
558 switch( QMessageBox::information( this, "KO/Pi", 575 switch( QMessageBox::information( this, "KO/Pi",
559 i18n("Do you really want\nto close KO/Pi?"), 576 i18n("Do you really want\nto close KO/Pi?"),
560 i18n("Close"), i18n("No"), 577 i18n("Close"), i18n("No"),
561 0, 0 ) ) { 578 0, 0 ) ) {
562 case 0: 579 case 0:
563 saveOnClose(); 580 if ( checkAutosave() ) {
564 if ( mCalendarModifiedFlag && !askForQuitOnSaveError() ) { 581 saveOnClose();
565 ce->ignore(); 582 if ( mCalendarModifiedFlag && !askForQuitOnSaveError() ) {
566 return; 583 ce->ignore();
584 return;
585 }
567 } 586 }
568 mClosed = true; 587 mClosed = true;
569 ce->accept(); 588 ce->accept();
570 break; 589 break;
571 case 1: 590 case 1:
572 ce->ignore(); 591 ce->ignore();
573 break; 592 break;
574 case 2: 593 case 2:
575 594
576 default: 595 default:
577 break; 596 break;
578 } 597 }
579 598
580 599
581} 600}
582void MainWindow::receiveStart( const QCString& cmsg, const QByteArray& data ) 601void MainWindow::receiveStart( const QCString& cmsg, const QByteArray& data )
@@ -1644,32 +1663,33 @@ void MainWindow::about()
1644 "(KO/Pi) " + version + " - " + 1663 "(KO/Pi) " + version + " - " +
1645 1664
1646#ifdef DESKTOP_VERSION 1665#ifdef DESKTOP_VERSION
1647 i18n("Desktop Edition\n") + 1666 i18n("Desktop Edition\n") +
1648#else 1667#else
1649 i18n("PDA-Edition\nfor: Zaurus 5x00/7x0/860/3000/6000\n") + 1668 i18n("PDA-Edition\nfor: Zaurus 5x00/7x0/860/3000/6000\n") +
1650#endif 1669#endif
1651 i18n("(c)2004 Lutz Rogowski (rogowski@kde.org)\nKO/Pi is based on KOrganizer\n(c)2002,2003 Cornelius Schumacher\n(schumacher@kde.org) and the KDE team.\nKOrganizer/Pi is licensed under the GPL.\nKO/Pi can be compiled for\nLinux, Zaurus-PDA and Windows\nwww.pi-sync.info --- www.korganizer.org\nSpecial thanks to Michael and Ben\nfor intensive testing!") ); 1670 i18n("(c)2004 Lutz Rogowski (rogowski@kde.org)\nKO/Pi is based on KOrganizer\n(c)2002,2003 Cornelius Schumacher\n(schumacher@kde.org) and the KDE team.\nKOrganizer/Pi is licensed under the GPL.\nKO/Pi can be compiled for\nLinux, Zaurus-PDA and Windows\nwww.pi-sync.info --- www.korganizer.org\nSpecial thanks to Michael and Ben\nfor intensive testing!") );
1652} 1671}
1653void MainWindow::keyBindings() 1672void MainWindow::keyBindings()
1654{ 1673{
1655 QString cap = i18n("KO/Pi Keys + Colors"); 1674 QString cap = i18n("KO/Pi Keys + Colors");
1656 QString text = i18n("<p><h2>KO/Pi key shortcuts:</h2></p>\n") + 1675 QString text = i18n("<p><h2>KO/Pi key shortcuts:</h2></p>\n") +
1657 i18n("<p><b>H</b>: This help dialog | <b>S</b>: Search dialog</p>\n")+ 1676 i18n("<p><b>H</b>: This help dialog | <b>S</b>: Search dialog</p>\n")+
1658 i18n("<p><b>N</b>: Switch to next view which has a toolbar icon</p>\n") + 1677 i18n("<p><b>N</b>: Switch to next view which has a toolbar icon</p>\n") +
1659 i18n("<p><b>A+(shift or ctrl)</b>: Show occurence of next alarm</p>\n") + 1678 i18n("<p><b>A+(shift or ctrl)</b>: Show occurence of next alarm</p>\n") +
1679 i18n("<p><b>C+ctrl</b>: Dis/enable automatic saving</p>\n") +
1660 i18n("<p><b>I</b>: Show info for selected event/todo</p>\n") + 1680 i18n("<p><b>I</b>: Show info for selected event/todo</p>\n") +
1661 i18n("<p><b>Space</b>: Toggle fullscreen | <b>P</b>: Date picker</p>\n")+ 1681 i18n("<p><b>Space</b>: Toggle fullscreen | <b>P</b>: Date picker</p>\n")+
1662 i18n("<p><b>R</b>: Toggle Resource View |<b>F</b>: Edit filter </p>\n")+ 1682 i18n("<p><b>R</b>: Toggle Resource View |<b>F</b>: Edit filter </p>\n")+
1663 i18n("<p><b>O</b>: Filter On/Off | <b>J</b>: Journal view</p>\n")+ 1683 i18n("<p><b>O</b>: Filter On/Off | <b>J</b>: Journal view</p>\n")+
1664 i18n("<p><b>1-0</b> (+<b>ctrl</b>): Select filter 1-10 (11-20)</p>\n")+ 1684 i18n("<p><b>1-0</b> (+<b>ctrl</b>): Select filter 1-10 (11-20)</p>\n")+
1665 i18n("<p><b>X</b>: Next X days view| <b>W</b>: What's next view\n ")+ 1685 i18n("<p><b>X</b>: Next X days view| <b>W</b>: What's next view\n ")+
1666 i18n("<p><b>Q</b>: Show next date with conflicting events\n ")+ 1686 i18n("<p><b>Q</b>: Show next date with conflicting events\n ")+
1667 i18n("<p><b>V</b>: Todo view | <b>L</b>: Event list view</p>\n")+ 1687 i18n("<p><b>V</b>: Todo view | <b>L</b>: Event list view</p>\n")+
1668 i18n("<p><b>Z,Y</b>: Work week view | <b>U</b>: Week view</p>\n")+ 1688 i18n("<p><b>Z,Y</b>: Work week view | <b>U</b>: Week view</p>\n")+
1669 i18n("<p><b>D</b>: One day view | <b>M</b>: Month view</p>\n")+ 1689 i18n("<p><b>D</b>: One day view | <b>M</b>: Month view</p>\n")+
1670 i18n("<p><b>K</b>: Week view in Month view syle</p>\n")+ 1690 i18n("<p><b>K</b>: Week view in Month view syle</p>\n")+
1671 i18n("<p><b>E</b>: Edit selected item |<b> E+ctrl</b>: New Event</p>\n")+ 1691 i18n("<p><b>E</b>: Edit selected item |<b> E+ctrl</b>: New Event</p>\n")+
1672 i18n("<p><b>T</b>: Goto today | <b>T+ctrl</b>: New Todo</p>\n")+ 1692 i18n("<p><b>T</b>: Goto today | <b>T+ctrl</b>: New Todo</p>\n")+
1673 i18n("<p><b>S+ctrl</b>: Add sub-todo | <b>X+ctrl</b>: Toggle datenavigator</p>\n")+ 1693 i18n("<p><b>S+ctrl</b>: Add sub-todo | <b>X+ctrl</b>: Toggle datenavigator</p>\n")+
1674 i18n("<p><b>+,-</b> : Zoom in/out agenda | <b>A</b>: Toggle allday agenda height</p>\n")+ 1694 i18n("<p><b>+,-</b> : Zoom in/out agenda | <b>A</b>: Toggle allday agenda height</p>\n")+
1675 i18n("<p><b>C</b>: Show current time in agenda view</p>\n")+ 1695 i18n("<p><b>C</b>: Show current time in agenda view</p>\n")+
@@ -1959,51 +1979,63 @@ void MainWindow::saveOnClose()
1959 if ( p->mToolBarHorF ) 1979 if ( p->mToolBarHorF )
1960 p->mToolBarUpF = filterToolBar->y() > height()/2; 1980 p->mToolBarUpF = filterToolBar->y() > height()/2;
1961 else 1981 else
1962 p->mToolBarUpF = filterToolBar->x() > width()/2 ; 1982 p->mToolBarUpF = filterToolBar->x() > width()/2 ;
1963 } 1983 }
1964#endif 1984#endif
1965 save(); 1985 save();
1966 mView->writeSettings(); 1986 mView->writeSettings();
1967 mView->checkSuspendAlarm(); 1987 mView->checkSuspendAlarm();
1968} 1988}
1969void MainWindow::slotModifiedChanged( bool ) 1989void MainWindow::slotModifiedChanged( bool )
1970{ 1990{
1971 if ( mBlockAtStartup ) 1991 if ( mBlockAtStartup )
1972 return; 1992 return;
1973 1993
1974 int msec; 1994 int msec;
1995 if ( mAutoSaveDisabled ) {
1996 QTimer::singleShot( 0, this , SLOT ( autoSaveWarning() ) );
1997 qDebug("KO: Autosave disabled (data change deteced)!");
1998 }
1975 if ( mCalendarModifiedFlag ) { 1999 if ( mCalendarModifiedFlag ) {
1976 //qDebug(" MainWindow timer is running "); 2000 //qDebug(" MainWindow timer is running ");
1977 return; 2001 return;
1978 } 2002 }
2003 mCalendarModifiedFlag = true;
2004 if ( mAutoSaveDisabled ) {
2005 return;
2006 }
1979 // we store the changes after 1 minute, 2007 // we store the changes after 1 minute,
1980 // and for safety reasons after 10 minutes again 2008 // and for safety reasons after 10 minutes again
1981 if ( !mSyncManager->blockSave() ) 2009 if ( !mSyncManager->blockSave() )
1982 msec = (1000 * 60*KOPrefs::instance()->mAutoSaveInterval) +1000; 2010 msec = (1000 * 60*KOPrefs::instance()->mAutoSaveInterval) +1000;
1983 else 2011 else
1984 msec = 1000 * 600; 2012 msec = 1000 * 600;
1985 mSaveTimer.start( msec, true ); // 1 minute 2013 mSaveTimer.start( msec, true ); // 1 minute
1986 mSaveTimerStart = QDateTime::currentDateTime(); 2014 mSaveTimerStart = QDateTime::currentDateTime();
1987 mSaveDelay = msec/1000; 2015 mSaveDelay = msec/1000;
1988 qDebug("KO: Saving File in %d secs!", msec/1000); 2016 qDebug("KO: Saving File in %d secs!", msec/1000);
1989 mCalendarModifiedFlag = true; 2017}
2018void MainWindow::autoSaveWarning()
2019{
2020 setCaption(i18n("Autosave disabled!" ));
1990} 2021}
1991void MainWindow::saveStopTimer() 2022void MainWindow::saveStopTimer()
1992{ 2023{
1993 mSaveTimer.stop(); 2024 mSaveTimer.stop();
2025 mSaveDelay = 0;
1994} 2026}
1995void MainWindow::backupAllFiles() 2027void MainWindow::backupAllFiles()
1996{ 2028{
1997 QDate reference ( 2000,1,1); 2029 QDate reference ( 2000,1,1);
1998 int daysTo = reference.daysTo ( QDate::currentDate() ); 2030 int daysTo = reference.daysTo ( QDate::currentDate() );
1999 setCaption(i18n("Creating backup ... please wait ..." )); 2031 setCaption(i18n("Creating backup ... please wait ..." ));
2000 qDebug("KO: Last backup was %d days ago ", daysTo - KOPrefs::instance()->mLastBackupDate); 2032 qDebug("KO: Last backup was %d days ago ", daysTo - KOPrefs::instance()->mLastBackupDate);
2001 // we need the file path, the backup dir and the number of bups as param 2033 // we need the file path, the backup dir and the number of bups as param
2002 QString bupDir = KPimGlobalPrefs::instance()->mBackupDatadir; 2034 QString bupDir = KPimGlobalPrefs::instance()->mBackupDatadir;
2003 if ( KPimGlobalPrefs::instance()->mBackupUseDefaultDir) 2035 if ( KPimGlobalPrefs::instance()->mBackupUseDefaultDir)
2004 bupDir = KGlobalSettings::backupDataDir(); 2036 bupDir = KGlobalSettings::backupDataDir();
2005 int retval = KApplication::createBackup( defaultFileName(), bupDir, KPimGlobalPrefs::instance()->mBackupNumbers ); 2037 int retval = KApplication::createBackup( defaultFileName(), bupDir, KPimGlobalPrefs::instance()->mBackupNumbers );
2006 if ( retval == 0 ) { 2038 if ( retval == 0 ) {
2007 setCaption(i18n("Backup cancelled" )); 2039 setCaption(i18n("Backup cancelled" ));
2008 qDebug("KO: Backup cancelled. Will try again tomorrow "); 2040 qDebug("KO: Backup cancelled. Will try again tomorrow ");
2009 // retval == 0 : backup skipped for today, try again tomorrow 2041 // retval == 0 : backup skipped for today, try again tomorrow
@@ -2194,34 +2226,45 @@ void MainWindow::keyPressEvent ( QKeyEvent * e )
2194 break; 2226 break;
2195 case Qt::Key_H : 2227 case Qt::Key_H :
2196 keyBindings(); 2228 keyBindings();
2197 break; 2229 break;
2198 case Qt::Key_W: 2230 case Qt::Key_W:
2199 mView->viewManager()->showWhatsNextView(); 2231 mView->viewManager()->showWhatsNextView();
2200 break; 2232 break;
2201 case Qt::Key_L: 2233 case Qt::Key_L:
2202 mView->viewManager()->showListView(); 2234 mView->viewManager()->showListView();
2203 break; 2235 break;
2204 case Qt::Key_N: 2236 case Qt::Key_N:
2205 mView->viewManager()->showNextView(); 2237 mView->viewManager()->showNextView();
2206 break; 2238 break;
2207 case Qt::Key_V: 2239 case Qt::Key_V:
2208 mView->viewManager()->showTodoView(); 2240 mView->viewManager()->showTodoView();
2209 break; 2241 break;
2210 case Qt::Key_C: 2242 case Qt::Key_C:
2211 mView->viewManager()->agendaView()->setStartHour( QTime::currentTime ().hour() ); 2243 if ( e->state() == Qt::ControlButton || e->state() == Qt::ShiftButton ) {
2244 if ( mAutoSaveDisabled ) {
2245 mAutoSaveDisabled = false;
2246 setCaption(i18n("Autosave enabled!" ));
2247 return;
2248 } else {
2249 mAutoSaveDisabled = true;
2250 saveStopTimer();
2251 setCaption(i18n("Autosave disabled! Save timer stopped!" ));
2252 }
2253 } else
2254 mView->viewManager()->agendaView()->setStartHour( QTime::currentTime ().hour() );
2212 break; 2255 break;
2213 case Qt::Key_P: 2256 case Qt::Key_P:
2214 mView->showDatePicker( ); 2257 mView->showDatePicker( );
2215 break; 2258 break;
2216 case Qt::Key_F: 2259 case Qt::Key_F:
2217 mView->editFilters(); 2260 mView->editFilters();
2218 break; 2261 break;
2219 case Qt::Key_R: 2262 case Qt::Key_R:
2220 mView->toggleFilter(); 2263 mView->toggleFilter();
2221 break; 2264 break;
2222 case Qt::Key_X: 2265 case Qt::Key_X:
2223 if ( e->state() == Qt::ControlButton ) 2266 if ( e->state() == Qt::ControlButton )
2224 mView->toggleDateNavigatorWidget(); 2267 mView->toggleDateNavigatorWidget();
2225 else { 2268 else {
2226 mView->viewManager()->showNextXView(); 2269 mView->viewManager()->showNextXView();
2227 showSelectedDates = true; 2270 showSelectedDates = true;
diff --git a/korganizer/mainwindow.h b/korganizer/mainwindow.h
index 71c069b..d8018b6 100644
--- a/korganizer/mainwindow.h
+++ b/korganizer/mainwindow.h
@@ -39,32 +39,33 @@ class MainWindow : public QMainWindow
39 ~MainWindow(); 39 ~MainWindow();
40 bool beamReceiveEnabled(); 40 bool beamReceiveEnabled();
41 static QString defaultFileName(); 41 static QString defaultFileName();
42 static QString syncFileName(); 42 static QString syncFileName();
43 static QString resourcePath(); 43 static QString resourcePath();
44 public slots: 44 public slots:
45 void setUsesBigPixmaps ( bool ); 45 void setUsesBigPixmaps ( bool );
46 void setCaption ( const QString & ); 46 void setCaption ( const QString & );
47 void updateWeekNum(const KCal::DateList &); 47 void updateWeekNum(const KCal::DateList &);
48 void updateWeek(QDate); 48 void updateWeek(QDate);
49 void updateFilterToolbar(); 49 void updateFilterToolbar();
50 virtual void showMaximized (); 50 virtual void showMaximized ();
51 void configureAgenda( int ); 51 void configureAgenda( int );
52 void recieve( const QCString& msg, const QByteArray& data ); 52 void recieve( const QCString& msg, const QByteArray& data );
53 void receiveStart( const QCString& msg, const QByteArray& data ); 53 void receiveStart( const QCString& msg, const QByteArray& data );
54 protected slots: 54 protected slots:
55 void autoSaveWarning();
55 void loadDataAfterStart(); 56 void loadDataAfterStart();
56 void calHint(); 57 void calHint();
57 void startMultiSync(); 58 void startMultiSync();
58 void setCaptionToDates(); 59 void setCaptionToDates();
59 void weekAction(); 60 void weekAction();
60 void about(); 61 void about();
61 void licence(); 62 void licence();
62 void faq(); 63 void faq();
63 void usertrans(); 64 void usertrans();
64 void features(); 65 void features();
65 void synchowto(); 66 void synchowto();
66 void storagehowto(); 67 void storagehowto();
67 void timetrackinghowto(); 68 void timetrackinghowto();
68 void kdesynchowto(); 69 void kdesynchowto();
69 void multisynchowto(); 70 void multisynchowto();
70 void whatsNew(); 71 void whatsNew();
@@ -108,33 +109,34 @@ class MainWindow : public QMainWindow
108 private slots: 109 private slots:
109 void slotResetFocus(); 110 void slotResetFocus();
110 void slotResetFocusLoop(); 111 void slotResetFocusLoop();
111 void showConfigureAgenda(); 112 void showConfigureAgenda();
112 void getFile( bool ); 113 void getFile( bool );
113 void syncFileRequest(); 114 void syncFileRequest();
114 115
115 protected: 116 protected:
116 int mFocusLoop; 117 int mFocusLoop;
117 void hideEvent ( QHideEvent * ); 118 void hideEvent ( QHideEvent * );
118 QString sentSyncFile(); 119 QString sentSyncFile();
119 void displayText( QString, QString); 120 void displayText( QString, QString);
120 void enableIncidenceActions( bool ); 121 void enableIncidenceActions( bool );
121 bool askForQuitOnSaveError(); 122 bool askForQuitOnSaveError();
122 123
123 private: 124 private:
124 125 bool mAutoSaveDisabled;
126 bool checkAutosave();
125 QCString mCStringMess; 127 QCString mCStringMess;
126 QByteArray mByteData; 128 QByteArray mByteData;
127 129
128 //void setMenuBar( QMenuBar * ); 130 //void setMenuBar( QMenuBar * );
129 bool mBRdisabled; 131 bool mBRdisabled;
130#ifndef DESKTOP_VERSION 132#ifndef DESKTOP_VERSION
131 QCopChannel* infrared; 133 QCopChannel* infrared;
132#endif 134#endif
133 QAction* brAction; 135 QAction* brAction;
134 KSyncManager* mSyncManager; 136 KSyncManager* mSyncManager;
135 bool mClosed; 137 bool mClosed;
136 void saveOnClose(); 138 void saveOnClose();
137 bool mFlagKeyPressed; 139 bool mFlagKeyPressed;
138 bool mBlockAtStartup; 140 bool mBlockAtStartup;
139 KMenuBar *menuBar1; 141 KMenuBar *menuBar1;
140 QPEToolBar *iconToolBar; 142 QPEToolBar *iconToolBar;