Diffstat (limited to 'core/pim/datebook/datebook.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | core/pim/datebook/datebook.cpp | 108 |
1 files changed, 73 insertions, 35 deletions
diff --git a/core/pim/datebook/datebook.cpp b/core/pim/datebook/datebook.cpp index 6dd8918..cf1eeca 100644 --- a/core/pim/datebook/datebook.cpp +++ b/core/pim/datebook/datebook.cpp | |||
@@ -241,8 +241,22 @@ void DateBook::slotSettings() | |||
241 | frmSettings.setRowStyle( rowStyle ); | 241 | frmSettings.setRowStyle( rowStyle ); |
242 | frmSettings.comboDefaultView->setCurrentItem(defaultView-1); | 242 | frmSettings.comboDefaultView->setCurrentItem(defaultView-1); |
243 | frmSettings.comboWeekListView->setCurrentItem(weeklistviewconfig); | 243 | frmSettings.comboWeekListView->setCurrentItem(weeklistviewconfig); |
244 | 244 | ||
245 | bool found=false; | ||
246 | for (int i=0; i<(frmSettings.comboLocation->count()); i++) { | ||
247 | if ( frmSettings.comboLocation->text(i) == defaultLocation ) { | ||
248 | frmSettings.comboLocation->setCurrentItem(i); | ||
249 | found=true; | ||
250 | break; | ||
251 | } | ||
252 | } | ||
253 | if(!found) { | ||
254 | frmSettings.comboLocation->insertItem(defaultLocation); | ||
255 | frmSettings.comboLocation->setCurrentItem(frmSettings.comboLocation->count()-1); | ||
256 | } | ||
257 | frmSettings.comboCategory->setCategories(defaultCategories,"Calendar", tr("Calendar")); | ||
258 | |||
245 | #if defined (Q_WS_QWS) || defined(_WS_QWS_) | 259 | #if defined (Q_WS_QWS) || defined(_WS_QWS_) |
246 | frmSettings.showMaximized(); | 260 | frmSettings.showMaximized(); |
247 | #endif | 261 | #endif |
248 | 262 | ||
@@ -254,8 +268,10 @@ void DateBook::slotSettings() | |||
254 | bJumpToCurTime = frmSettings.jumpToCurTime(); | 268 | bJumpToCurTime = frmSettings.jumpToCurTime(); |
255 | rowStyle = frmSettings.rowStyle(); | 269 | rowStyle = frmSettings.rowStyle(); |
256 | defaultView=frmSettings.comboDefaultView->currentItem()+1; | 270 | defaultView=frmSettings.comboDefaultView->currentItem()+1; |
257 | weeklistviewconfig=frmSettings.comboWeekListView->currentItem(); | 271 | weeklistviewconfig=frmSettings.comboWeekListView->currentItem(); |
272 | defaultLocation=frmSettings.comboLocation->currentText(); | ||
273 | defaultCategories=frmSettings.comboCategory->currentCategories(); | ||
258 | 274 | ||
259 | if ( dayView ) { | 275 | if ( dayView ) { |
260 | dayView->setStartViewTime( startTime ); | 276 | dayView->setStartViewTime( startTime ); |
261 | dayView->setJumpToCurTime( bJumpToCurTime ); | 277 | dayView->setJumpToCurTime( bJumpToCurTime ); |
@@ -384,10 +400,12 @@ void DateBook::viewMonth() { | |||
384 | } | 400 | } |
385 | 401 | ||
386 | void DateBook::insertEvent( const Event &e ) | 402 | void DateBook::insertEvent( const Event &e ) |
387 | { | 403 | { |
388 | qWarning("Adding Event!"); | 404 | Event dupEvent=e; |
389 | db->addEvent(e); | 405 | dupEvent.setLocation(defaultLocation); |
406 | dupEvent.setCategories(defaultCategories); | ||
407 | db->addEvent(dupEvent); | ||
390 | emit newEvent(); | 408 | emit newEvent(); |
391 | } | 409 | } |
392 | 410 | ||
393 | void DateBook::duplicateEvent( const Event &e ) | 411 | void DateBook::duplicateEvent( const Event &e ) |
@@ -605,8 +623,17 @@ void DateBook::loadSettings() | |||
605 | bJumpToCurTime = config.readBoolEntry("jumptocurtime"); | 623 | bJumpToCurTime = config.readBoolEntry("jumptocurtime"); |
606 | rowStyle = config.readNumEntry("rowstyle"); | 624 | rowStyle = config.readNumEntry("rowstyle"); |
607 | defaultView = config.readNumEntry("defaultview",DAY); | 625 | defaultView = config.readNumEntry("defaultview",DAY); |
608 | weeklistviewconfig = config.readNumEntry("weeklistviewconfig",NORMAL); | 626 | weeklistviewconfig = config.readNumEntry("weeklistviewconfig",NORMAL); |
627 | |||
628 | defaultLocation=config.readEntry("defaultLocation"); | ||
629 | QString tmpString=config.readEntry("defaultCategories"); | ||
630 | QStringList tmpStringList=QStringList::split(",",tmpString); | ||
631 | defaultCategories.truncate(0); | ||
632 | for( QStringList::Iterator i=tmpStringList.begin(); i!=tmpStringList.end(); i++) { | ||
633 | defaultCategories.resize(defaultCategories.count()+1); | ||
634 | defaultCategories[defaultCategories.count()-1]=(*i).toInt(); | ||
635 | } | ||
609 | } | 636 | } |
610 | 637 | ||
611 | void DateBook::saveSettings() | 638 | void DateBook::saveSettings() |
612 | { | 639 | { |
@@ -619,8 +646,15 @@ void DateBook::saveSettings() | |||
619 | configDB.writeEntry("jumptocurtime", bJumpToCurTime); | 646 | configDB.writeEntry("jumptocurtime", bJumpToCurTime); |
620 | configDB.writeEntry("rowstyle", rowStyle); | 647 | configDB.writeEntry("rowstyle", rowStyle); |
621 | configDB.writeEntry("defaultview",defaultView); | 648 | configDB.writeEntry("defaultview",defaultView); |
622 | configDB.writeEntry("weeklistviewconfig",weeklistviewconfig); | 649 | configDB.writeEntry("weeklistviewconfig",weeklistviewconfig); |
650 | |||
651 | configDB.writeEntry("defaultLocation",defaultLocation); | ||
652 | QStringList tmpStringList; | ||
653 | for( uint i=0; i<defaultCategories.count(); i++) { | ||
654 | tmpStringList << QString::number(defaultCategories[i]); | ||
655 | } | ||
656 | configDB.writeEntry("defaultCategories",tmpStringList.join(",")); | ||
623 | } | 657 | } |
624 | 658 | ||
625 | void DateBook::appMessage(const QCString& msg, const QByteArray& data) | 659 | void DateBook::appMessage(const QCString& msg, const QByteArray& data) |
626 | { | 660 | { |
@@ -824,50 +858,54 @@ void DateBook::slotNewEventFromKey( const QString &str ) | |||
824 | } | 858 | } |
825 | slotNewEntry(start, end, str); | 859 | slotNewEntry(start, end, str); |
826 | } | 860 | } |
827 | void DateBook::slotNewEntry(const QDateTime &start, const QDateTime &end, const QString &str, const QString &location) { | 861 | void DateBook::slotNewEntry(const QDateTime &start, const QDateTime &end, const QString &str, const QString &location) { |
828 | // argh! This really needs to be encapsulated in a class | 862 | // argh! This really needs to be encapsulated in a class |
829 | // or function. | 863 | // or function. |
830 | QDialog newDlg( this, 0, TRUE ); | 864 | QDialog newDlg( this, 0, TRUE ); |
831 | newDlg.setCaption( DateEntryBase::tr("New Event") ); | 865 | newDlg.setCaption( DateEntryBase::tr("New Event") ); |
832 | DateEntry *e; | 866 | DateEntry *e; |
833 | QVBoxLayout *vb = new QVBoxLayout( &newDlg ); | 867 | QVBoxLayout *vb = new QVBoxLayout( &newDlg ); |
834 | QScrollView *sv = new QScrollView( &newDlg ); | 868 | QScrollView *sv = new QScrollView( &newDlg ); |
835 | sv->setResizePolicy( QScrollView::AutoOneFit ); | 869 | sv->setResizePolicy( QScrollView::AutoOneFit ); |
836 | sv->setFrameStyle( QFrame::NoFrame ); | 870 | sv->setFrameStyle( QFrame::NoFrame ); |
837 | sv->setHScrollBarMode( QScrollView::AlwaysOff ); | 871 | sv->setHScrollBarMode( QScrollView::AlwaysOff ); |
838 | vb->addWidget( sv ); | 872 | vb->addWidget( sv ); |
839 | 873 | ||
840 | Event ev; | 874 | Event ev; |
841 | ev.setDescription( str ); | 875 | ev.setDescription( str ); |
842 | // When the new gui comes in, change this... | 876 | // When the new gui comes in, change this... |
843 | if(location==0) { | 877 | if(location==0) { |
844 | ev.setLocation( tr("(Unknown)") ); | 878 | if(defaultLocation.isEmpty()) { |
879 | ev.setLocation(tr("(Unknown)")); | ||
880 | } else { | ||
881 | ev.setLocation( defaultLocation ); | ||
882 | } | ||
845 | } else { | 883 | } else { |
846 | ev.setLocation(location); | 884 | ev.setLocation(location); |
847 | } | 885 | } |
848 | ev.setStart( start ); | 886 | ev.setCategories(defaultCategories); |
849 | ev.setEnd( end ); | 887 | ev.setStart( start ); |
888 | ev.setEnd( end ); | ||
850 | 889 | ||
851 | e = new DateEntry( onMonday, ev, ampm, &newDlg ); | 890 | e = new DateEntry( onMonday, ev, ampm, &newDlg ); |
852 | e->setAlarmEnabled( aPreset, presetTime, Event::Loud ); | 891 | e->setAlarmEnabled( aPreset, presetTime, Event::Loud ); |
853 | sv->addChild( e ); | 892 | sv->addChild( e ); |
854 | #if defined(Q_WS_QWS) || defined(_WS_QWS_) | 893 | #if defined(Q_WS_QWS) || defined(_WS_QWS_) |
855 | newDlg.showMaximized(); | 894 | newDlg.showMaximized(); |
856 | #endif | 895 | #endif |
857 | while (newDlg.exec()) { | 896 | while (newDlg.exec()) { |
858 | ev = e->event(); | 897 | ev = e->event(); |
859 | ev.assignUid(); | 898 | ev.assignUid(); |
860 | QString error = checkEvent( ev ); | 899 | QString error = checkEvent( ev ); |
861 | if ( !error.isNull() ) { | 900 | if ( !error.isNull() ) { |
862 | if ( QMessageBox::warning( this, tr("Error!"), | 901 | if ( QMessageBox::warning( this, tr("Error!"), error, tr("Fix it"), tr("Continue"), 0, 0, 1 ) == 0 ) |
863 | error, tr("Fix it"), tr("Continue"), 0, 0, 1 ) == 0 ) | 902 | continue; |
864 | continue; | 903 | } |
904 | db->addEvent( ev ); | ||
905 | emit newEvent(); | ||
906 | break; | ||
865 | } | 907 | } |
866 | db->addEvent( ev ); | ||
867 | emit newEvent(); | ||
868 | break; | ||
869 | } | ||
870 | } | 908 | } |
871 | 909 | ||
872 | void DateBook::setDocument( const QString &filename ) | 910 | void DateBook::setDocument( const QString &filename ) |
873 | { | 911 | { |