-rw-r--r-- | korganizer/calendarview.cpp | 20 | ||||
-rw-r--r-- | korganizer/koeditordetails.cpp | 2 | ||||
-rw-r--r-- | korganizer/koeditorgeneral.cpp | 9 | ||||
-rw-r--r-- | korganizer/koeditorgeneralevent.cpp | 5 | ||||
-rw-r--r-- | korganizer/koeditorgeneraltodo.cpp | 2 | ||||
-rw-r--r-- | korganizer/koeventeditor.cpp | 6 | ||||
-rw-r--r-- | korganizer/koincidenceeditor.cpp | 2 | ||||
-rw-r--r-- | korganizer/kotodoeditor.cpp | 4 |
8 files changed, 40 insertions, 10 deletions
diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp index c0f3be7..fd026fa 100644 --- a/korganizer/calendarview.cpp +++ b/korganizer/calendarview.cpp | |||
@@ -591,192 +591,206 @@ void CalendarView::init() | |||
591 | 591 | ||
592 | connect( mFilterView, SIGNAL( filterChanged() ), SLOT( updateFilter() ) ); | 592 | connect( mFilterView, SIGNAL( filterChanged() ), SLOT( updateFilter() ) ); |
593 | connect( mFilterView, SIGNAL( editFilters() ), SLOT( editFilters() ) ); | 593 | connect( mFilterView, SIGNAL( editFilters() ), SLOT( editFilters() ) ); |
594 | connect( mCalendar, SIGNAL( addAlarm(const QDateTime &, const QString & ) ), SLOT( addAlarm(const QDateTime &, const QString & ) ) ); | 594 | connect( mCalendar, SIGNAL( addAlarm(const QDateTime &, const QString & ) ), SLOT( addAlarm(const QDateTime &, const QString & ) ) ); |
595 | connect( mCalendar, SIGNAL( removeAlarm(const QDateTime &, const QString & ) ), SLOT( removeAlarm(const QDateTime &, const QString & ) ) ); | 595 | connect( mCalendar, SIGNAL( removeAlarm(const QDateTime &, const QString & ) ), SLOT( removeAlarm(const QDateTime &, const QString & ) ) ); |
596 | 596 | ||
597 | 597 | ||
598 | 598 | ||
599 | 599 | ||
600 | 600 | ||
601 | connect(QApplication::clipboard(),SIGNAL(dataChanged()), | 601 | connect(QApplication::clipboard(),SIGNAL(dataChanged()), |
602 | SLOT(checkClipboard())); | 602 | SLOT(checkClipboard())); |
603 | connect( mTodoList,SIGNAL( incidenceSelected( Incidence * ) ), | 603 | connect( mTodoList,SIGNAL( incidenceSelected( Incidence * ) ), |
604 | SLOT( processTodoListSelection( Incidence * ) ) ); | 604 | SLOT( processTodoListSelection( Incidence * ) ) ); |
605 | connect(mTodoList,SIGNAL(isModified(bool)),SLOT(setModified(bool))); | 605 | connect(mTodoList,SIGNAL(isModified(bool)),SLOT(setModified(bool))); |
606 | 606 | ||
607 | // kdDebug() << "CalendarView::CalendarView() done" << endl; | 607 | // kdDebug() << "CalendarView::CalendarView() done" << endl; |
608 | 608 | ||
609 | mDateFrame = new QVBox(0,0,WType_Popup); | 609 | mDateFrame = new QVBox(0,0,WType_Popup); |
610 | //mDateFrame->setFrameStyle(QFrame::PopupPanel | QFrame::Raised); | 610 | //mDateFrame->setFrameStyle(QFrame::PopupPanel | QFrame::Raised); |
611 | mDateFrame->setFrameStyle( QFrame::WinPanel |QFrame::Raised ); | 611 | mDateFrame->setFrameStyle( QFrame::WinPanel |QFrame::Raised ); |
612 | mDateFrame->setLineWidth(3); | 612 | mDateFrame->setLineWidth(3); |
613 | mDateFrame->hide(); | 613 | mDateFrame->hide(); |
614 | mDateFrame->setCaption( i18n( "Pick a date to display")); | 614 | mDateFrame->setCaption( i18n( "Pick a date to display")); |
615 | mDatePicker = new KDatePicker ( mDateFrame , QDate::currentDate() ); | 615 | mDatePicker = new KDatePicker ( mDateFrame , QDate::currentDate() ); |
616 | 616 | ||
617 | connect(mDatePicker,SIGNAL(dateSelected(QDate)),SLOT(slotSelectPickerDate(QDate))); | 617 | connect(mDatePicker,SIGNAL(dateSelected(QDate)),SLOT(slotSelectPickerDate(QDate))); |
618 | 618 | ||
619 | mEventEditor = mDialogManager->getEventEditor(); | 619 | mEventEditor = mDialogManager->getEventEditor(); |
620 | mTodoEditor = mDialogManager->getTodoEditor(); | 620 | mTodoEditor = mDialogManager->getTodoEditor(); |
621 | 621 | ||
622 | mFlagEditDescription = false; | 622 | mFlagEditDescription = false; |
623 | 623 | ||
624 | mSuspendTimer = new QTimer( this ); | 624 | mSuspendTimer = new QTimer( this ); |
625 | mAlarmTimer = new QTimer( this ); | 625 | mAlarmTimer = new QTimer( this ); |
626 | mRecheckAlarmTimer = new QTimer( this ); | 626 | mRecheckAlarmTimer = new QTimer( this ); |
627 | connect( mRecheckAlarmTimer, SIGNAL( timeout () ), SLOT( recheckTimerAlarm() ) ); | 627 | connect( mRecheckAlarmTimer, SIGNAL( timeout () ), SLOT( recheckTimerAlarm() ) ); |
628 | connect( mSuspendTimer, SIGNAL( timeout () ), SLOT( suspendAlarm() ) ); | 628 | connect( mSuspendTimer, SIGNAL( timeout () ), SLOT( suspendAlarm() ) ); |
629 | connect( mAlarmTimer, SIGNAL( timeout () ), SLOT( timerAlarm() ) ); | 629 | connect( mAlarmTimer, SIGNAL( timeout () ), SLOT( timerAlarm() ) ); |
630 | mAlarmDialog = new AlarmDialog( this ); | 630 | mAlarmDialog = new AlarmDialog( this ); |
631 | connect( mAlarmDialog, SIGNAL( addAlarm(const QDateTime &, const QString & ) ), SLOT( addSuspendAlarm(const QDateTime &, const QString & ) ) ); | 631 | connect( mAlarmDialog, SIGNAL( addAlarm(const QDateTime &, const QString & ) ), SLOT( addSuspendAlarm(const QDateTime &, const QString & ) ) ); |
632 | mAlarmDialog->setServerNotification( false ); | 632 | mAlarmDialog->setServerNotification( false ); |
633 | mAlarmDialog->setSuspendTime( KOPrefs::instance()->mAlarmSuspendTime ); | 633 | mAlarmDialog->setSuspendTime( KOPrefs::instance()->mAlarmSuspendTime ); |
634 | 634 | ||
635 | 635 | ||
636 | #ifndef DESKTOP_VERSION | 636 | #ifndef DESKTOP_VERSION |
637 | //US listen for arriving address resultsets | 637 | //US listen for arriving address resultsets |
638 | connect(ExternalAppHandler::instance(), SIGNAL(receivedBirthdayListEvent(const QString&, const QStringList&, const QStringList&, const QStringList&, const QStringList&, const QStringList&, const QStringList&)), | 638 | connect(ExternalAppHandler::instance(), SIGNAL(receivedBirthdayListEvent(const QString&, const QStringList&, const QStringList&, const QStringList&, const QStringList&, const QStringList&, const QStringList&)), |
639 | this, SLOT(insertBirthdays(const QString&, const QStringList&, const QStringList&, const QStringList&, const QStringList&, const QStringList&, const QStringList&))); | 639 | this, SLOT(insertBirthdays(const QString&, const QStringList&, const QStringList&, const QStringList&, const QStringList&, const QStringList&, const QStringList&))); |
640 | #endif | 640 | #endif |
641 | mDateNavigator->setCalendar( mCalendar ); | 641 | mDateNavigator->setCalendar( mCalendar ); |
642 | } | 642 | } |
643 | 643 | ||
644 | 644 | ||
645 | CalendarView::~CalendarView() | 645 | CalendarView::~CalendarView() |
646 | { | 646 | { |
647 | // kdDebug() << "~CalendarView()" << endl; | 647 | // kdDebug() << "~CalendarView()" << endl; |
648 | //qDebug("CalendarView::~CalendarView() "); | 648 | //qDebug("CalendarView::~CalendarView() "); |
649 | delete mDialogManager; | 649 | delete mDialogManager; |
650 | delete mViewManager; | 650 | delete mViewManager; |
651 | delete mStorage; | 651 | delete mStorage; |
652 | delete mDateFrame ; | 652 | delete mDateFrame ; |
653 | delete mEventViewerDialog; | 653 | delete mEventViewerDialog; |
654 | //kdDebug() << "~CalendarView() done" << endl; | 654 | //kdDebug() << "~CalendarView() done" << endl; |
655 | } | 655 | } |
656 | void CalendarView::setScrollBarStep(int val ) | 656 | void CalendarView::setScrollBarStep(int val ) |
657 | { | 657 | { |
658 | #ifdef DESKTOP_VERSION | 658 | #ifdef DESKTOP_VERSION |
659 | mDateScrollBar->setLineStep ( val ); | 659 | mDateScrollBar->setLineStep ( val ); |
660 | #endif | 660 | #endif |
661 | } | 661 | } |
662 | void CalendarView::scrollBarValue(int val ) | 662 | void CalendarView::scrollBarValue(int val ) |
663 | { | 663 | { |
664 | #ifdef DESKTOP_VERSION | 664 | #ifdef DESKTOP_VERSION |
665 | if ( QApplication::desktop()->width() < 800 ) return; | 665 | if ( QApplication::desktop()->width() < 800 ) return; |
666 | static bool block = false; | 666 | static bool block = false; |
667 | if ( block ) return; | 667 | if ( block ) return; |
668 | block = true; | 668 | block = true; |
669 | val = val/mDateScrollBar->lineStep ()*mDateScrollBar->lineStep(); | 669 | val = val/mDateScrollBar->lineStep ()*mDateScrollBar->lineStep(); |
670 | //qDebug("VAL %d ",val ); | 670 | //qDebug("VAL %d ",val ); |
671 | int count = mNavigator->selectedDates().count(); | 671 | int count = mNavigator->selectedDates().count(); |
672 | int year = mNavigator->selectedDates().first().year(); | 672 | int year = mNavigator->selectedDates().first().year(); |
673 | int day = mNavigator->selectedDates().first().dayOfYear(); | 673 | int day = mNavigator->selectedDates().first().dayOfYear(); |
674 | if ( val == day -1 ) { | 674 | if ( val == day -1 ) { |
675 | block = false; | 675 | block = false; |
676 | return; | 676 | return; |
677 | } | 677 | } |
678 | QDate d ( year,1,1 ); | 678 | QDate d ( year,1,1 ); |
679 | mNavigator->selectDates( d.addDays( val ), count ); | 679 | mNavigator->selectDates( d.addDays( val ), count ); |
680 | block = false; | 680 | block = false; |
681 | #endif | 681 | #endif |
682 | 682 | ||
683 | } | 683 | } |
684 | 684 | ||
685 | void CalendarView::checkAlarms() | 685 | void CalendarView::checkAlarms() |
686 | { | 686 | { |
687 | |||
688 | QString message; | ||
689 | QPtrList<KopiCalendarFile> calendars = KOPrefs::instance()->mCalendars; | ||
690 | KopiCalendarFile * cal = calendars.first(); | ||
691 | while ( cal ) { | ||
692 | if ( cal->mErrorOnLoad ) { | ||
693 | message += cal->mName +"\n"+KGlobal::formatMessage ( "(" +i18n( "Filepath: ")+ cal->mFileName+")" ,0 )+"\n"; | ||
694 | } | ||
695 | cal = calendars.next(); | ||
696 | } | ||
697 | if ( !message.isEmpty() ) { | ||
698 | message = KGlobal::formatMessage( i18n("The loading of one or more calendar failed:"),0 )+"\n" + message +KGlobal::formatMessage(i18n("You can try to reload the calendar in the Resource View!"),0); | ||
699 | KMessageBox::error(this,message); | ||
700 | } | ||
687 | KConfig *config = KOGlobals::config(); | 701 | KConfig *config = KOGlobals::config(); |
688 | config->setGroup( "AppRun" ); | 702 | config->setGroup( "AppRun" ); |
689 | QDateTime dt ( QDate (2005,1,1), QTime( 0,0,0 ) ); | 703 | QDateTime dt ( QDate (2005,1,1), QTime( 0,0,0 ) ); |
690 | int daysto = dt.daysTo( QDate::currentDate() ); | 704 | int daysto = dt.daysTo( QDate::currentDate() ); |
691 | int days = config->readNumEntry( "LatestProgramStopDays" , daysto); | 705 | int days = config->readNumEntry( "LatestProgramStopDays" , daysto); |
692 | dt = dt.addDays( days ); | 706 | dt = dt.addDays( days ); |
693 | int secto = dt.secsTo( QDateTime::currentDateTime() ); | 707 | int secto = dt.secsTo( QDateTime::currentDateTime() ); |
694 | int secs = config->readNumEntry( "LatestProgramStopSecs" , secto) - 30; | 708 | int secs = config->readNumEntry( "LatestProgramStopSecs" , secto) - 30; |
695 | //qDebug("KO: Reading program stop %d ", secs); | 709 | //qDebug("KO: Reading program stop %d ", secs); |
696 | //secs -= ( 3600 * 24*3 ); // debug only | 710 | //secs -= ( 3600 * 24*3 ); // debug only |
697 | QDateTime latest = dt.addSecs ( secs ); | 711 | QDateTime latest = dt.addSecs ( secs ); |
698 | qDebug("KO: Last termination on %s ", latest.toString().latin1()); | 712 | qDebug("KO: Last termination on %s ", latest.toString().latin1()); |
699 | //qDebug("KO: Current Time %s ",QDateTime::currentDateTime().toString().latin1() ); | 713 | //qDebug("KO: Current Time %s ",QDateTime::currentDateTime().toString().latin1() ); |
700 | QPtrList<Incidence> el = mCalendar->rawIncidences(); | 714 | QPtrList<Incidence> el = mCalendar->rawIncidences(); |
701 | QPtrList<Incidence> al; | 715 | QPtrList<Incidence> al; |
702 | Incidence* inL = el.first(); | 716 | Incidence* inL = el.first(); |
703 | QDateTime cur = QDateTime::currentDateTime().addSecs(-59); | 717 | QDateTime cur = QDateTime::currentDateTime().addSecs(-59); |
704 | qDebug("KO: Checking alarm until %s ", cur.toString().latin1()); | 718 | qDebug("KO: Checking alarm until %s ", cur.toString().latin1()); |
705 | while ( inL ) { | 719 | while ( inL ) { |
706 | bool ok = false; | 720 | bool ok = false; |
707 | int offset = 0; | 721 | int offset = 0; |
708 | QDateTime next = inL->getNextAlarmDateTime(& ok, &offset, latest ) ; | 722 | QDateTime next = inL->getNextAlarmDateTime(& ok, &offset, latest ) ; |
709 | if ( ok ) { | 723 | if ( ok ) { |
710 | //qDebug("OK %s",next.toString().latin1()); | 724 | //qDebug("OK %s",next.toString().latin1()); |
711 | if ( next < cur ) { | 725 | if ( next < cur ) { |
712 | al.append( inL ); | 726 | al.append( inL ); |
713 | //qDebug("found missed alarm: %s ", inL->summary().latin1() ); | 727 | //qDebug("found missed alarm: %s ", inL->summary().latin1() ); |
714 | } | 728 | } |
715 | } | 729 | } |
716 | inL = el.next(); | 730 | inL = el.next(); |
717 | } | 731 | } |
718 | if ( al.count() ) { | 732 | if ( al.count() ) { |
719 | QDialog* dia = new QDialog( this, "huhu", false, WDestructiveClose | WStyle_StaysOnTop ); | 733 | QDialog* dia = new QDialog( this, "huhu", false, WDestructiveClose | WStyle_StaysOnTop ); |
720 | dia->setCaption( i18n("KO/Pi: Missing alarms!") ); | 734 | dia->setCaption( i18n("KO/Pi: Missing alarms!") ); |
721 | QVBoxLayout* lay = new QVBoxLayout( dia ); | 735 | QVBoxLayout* lay = new QVBoxLayout( dia ); |
722 | lay->setSpacing( 0 ); | 736 | lay->setSpacing( 0 ); |
723 | lay->setMargin( 0 ); | 737 | lay->setMargin( 0 ); |
724 | MissedAlarmTextBrowser* matb = new MissedAlarmTextBrowser ( dia, al, latest ); | 738 | MissedAlarmTextBrowser* matb = new MissedAlarmTextBrowser ( dia, al, latest ); |
725 | connect( matb, SIGNAL( showIncidence( QString ) ),SLOT( showIncidence( QString ) )); | 739 | connect( matb, SIGNAL( showIncidence( QString ) ),SLOT( showIncidence( QString ) )); |
726 | lay->addWidget( matb ); | 740 | lay->addWidget( matb ); |
727 | if ( QApplication::desktop()->width() == 480 || QApplication::desktop()->width() == 640 ) { | 741 | if ( QApplication::desktop()->width() == 480 || QApplication::desktop()->width() == 640 ) { |
728 | int wid = 210; | 742 | int wid = 210; |
729 | int x = QApplication::desktop()->width() - wid - 7; | 743 | int x = QApplication::desktop()->width() - wid - 7; |
730 | int y = QApplication::desktop()->height() - wid - 70; | 744 | int y = QApplication::desktop()->height() - wid - 70; |
731 | dia->setGeometry ( x,y,wid,wid); | 745 | dia->setGeometry ( x,y,wid,wid); |
732 | } else { | 746 | } else { |
733 | int si = 220; | 747 | int si = 220; |
734 | if ( QApplication::desktop()->width() > 470 ) | 748 | if ( QApplication::desktop()->width() > 470 ) |
735 | si = 400; | 749 | si = 400; |
736 | dia->resize(si,si/2); | 750 | dia->resize(si,si/2); |
737 | } | 751 | } |
738 | dia->setBackgroundColor( QColor( 255, 255, 255 ) ); | 752 | dia->setBackgroundColor( QColor( 255, 255, 255 ) ); |
739 | dia->show(); | 753 | dia->show(); |
740 | 754 | ||
741 | } | 755 | } |
742 | } | 756 | } |
743 | void CalendarView::showDay( QDate d ) | 757 | void CalendarView::showDay( QDate d ) |
744 | { | 758 | { |
745 | dateNavigator()->blockSignals( true ); | 759 | dateNavigator()->blockSignals( true ); |
746 | dateNavigator()->selectDate( d ); | 760 | dateNavigator()->selectDate( d ); |
747 | dateNavigator()->blockSignals( false ); | 761 | dateNavigator()->blockSignals( false ); |
748 | mViewManager->showDayView(); | 762 | mViewManager->showDayView(); |
749 | //dateNavigator()->selectDate( d ); | 763 | //dateNavigator()->selectDate( d ); |
750 | } | 764 | } |
751 | void CalendarView::timerAlarm() | 765 | void CalendarView::timerAlarm() |
752 | { | 766 | { |
753 | //qDebug("CalendarView::timerAlarm() "); | 767 | //qDebug("CalendarView::timerAlarm() "); |
754 | computeAlarm(mAlarmNotification ); | 768 | computeAlarm(mAlarmNotification ); |
755 | } | 769 | } |
756 | 770 | ||
757 | void CalendarView::suspendAlarm() | 771 | void CalendarView::suspendAlarm() |
758 | { | 772 | { |
759 | //qDebug(" CalendarView::suspendAlarm() "); | 773 | //qDebug(" CalendarView::suspendAlarm() "); |
760 | computeAlarm(mSuspendAlarmNotification ); | 774 | computeAlarm(mSuspendAlarmNotification ); |
761 | 775 | ||
762 | } | 776 | } |
763 | 777 | ||
764 | void CalendarView::startAlarm( QString mess , QString filename) | 778 | void CalendarView::startAlarm( QString mess , QString filename) |
765 | { | 779 | { |
766 | 780 | ||
767 | topLevelWidget()->showNormal(); | 781 | topLevelWidget()->showNormal(); |
768 | topLevelWidget()->setActiveWindow(); | 782 | topLevelWidget()->setActiveWindow(); |
769 | topLevelWidget()->raise(); | 783 | topLevelWidget()->raise(); |
770 | 784 | ||
771 | mAlarmDialog->eventNotification( mess, KOPrefs::instance()->mAlarmPlayBeeps, filename, true,KOPrefs::instance()->mAlarmBeepInterval ,KOPrefs::instance()->mAlarmSuspendCount ); | 785 | mAlarmDialog->eventNotification( mess, KOPrefs::instance()->mAlarmPlayBeeps, filename, true,KOPrefs::instance()->mAlarmBeepInterval ,KOPrefs::instance()->mAlarmSuspendCount ); |
772 | QTimer::singleShot( 3000, this, SLOT( checkNextTimerAlarm() ) ); | 786 | QTimer::singleShot( 3000, this, SLOT( checkNextTimerAlarm() ) ); |
773 | 787 | ||
774 | } | 788 | } |
775 | 789 | ||
776 | void CalendarView::checkNextTimerAlarm() | 790 | void CalendarView::checkNextTimerAlarm() |
777 | { | 791 | { |
778 | mCalendar->checkAlarmForIncidence( 0, true ); | 792 | mCalendar->checkAlarmForIncidence( 0, true ); |
779 | } | 793 | } |
780 | 794 | ||
781 | void CalendarView::computeAlarm( QString msg ) | 795 | void CalendarView::computeAlarm( QString msg ) |
782 | { | 796 | { |
@@ -1830,203 +1844,203 @@ bool CalendarView::importQtopia( const QString &categories, | |||
1830 | 1844 | ||
1831 | QtopiaFormat qtopiaFormat; | 1845 | QtopiaFormat qtopiaFormat; |
1832 | qtopiaFormat.setCategoriesList ( &(KOPrefs::instance()->mCustomCategories)); | 1846 | qtopiaFormat.setCategoriesList ( &(KOPrefs::instance()->mCustomCategories)); |
1833 | if ( !categories.isEmpty() ) qtopiaFormat.load( mCalendar, categories ); | 1847 | if ( !categories.isEmpty() ) qtopiaFormat.load( mCalendar, categories ); |
1834 | if ( !datebook.isEmpty() ) qtopiaFormat.load( mCalendar, datebook ); | 1848 | if ( !datebook.isEmpty() ) qtopiaFormat.load( mCalendar, datebook ); |
1835 | if ( !todolist.isEmpty() ) qtopiaFormat.load( mCalendar, todolist ); | 1849 | if ( !todolist.isEmpty() ) qtopiaFormat.load( mCalendar, todolist ); |
1836 | 1850 | ||
1837 | updateView(); | 1851 | updateView(); |
1838 | return true; | 1852 | return true; |
1839 | 1853 | ||
1840 | #if 0 | 1854 | #if 0 |
1841 | mGlobalSyncMode = SYNC_MODE_QTOPIA; | 1855 | mGlobalSyncMode = SYNC_MODE_QTOPIA; |
1842 | mCurrentSyncDevice = "qtopia-XML"; | 1856 | mCurrentSyncDevice = "qtopia-XML"; |
1843 | if ( mSyncManager->mAskForPreferences ) | 1857 | if ( mSyncManager->mAskForPreferences ) |
1844 | edit_sync_options(); | 1858 | edit_sync_options(); |
1845 | qApp->processEvents(); | 1859 | qApp->processEvents(); |
1846 | CalendarLocal* calendar = new CalendarLocal(); | 1860 | CalendarLocal* calendar = new CalendarLocal(); |
1847 | calendar->setTimeZoneId(KPimGlobalPrefs::instance()->mTimeZoneId); | 1861 | calendar->setTimeZoneId(KPimGlobalPrefs::instance()->mTimeZoneId); |
1848 | bool syncOK = false; | 1862 | bool syncOK = false; |
1849 | QtopiaFormat qtopiaFormat; | 1863 | QtopiaFormat qtopiaFormat; |
1850 | qtopiaFormat.setCategoriesList ( &(KOPrefs::instance()->mCustomCategories)); | 1864 | qtopiaFormat.setCategoriesList ( &(KOPrefs::instance()->mCustomCategories)); |
1851 | bool loadOk = true; | 1865 | bool loadOk = true; |
1852 | if ( !categories.isEmpty() ) | 1866 | if ( !categories.isEmpty() ) |
1853 | loadOk = qtopiaFormat.load( calendar, categories ); | 1867 | loadOk = qtopiaFormat.load( calendar, categories ); |
1854 | if ( loadOk && !datebook.isEmpty() ) | 1868 | if ( loadOk && !datebook.isEmpty() ) |
1855 | loadOk = qtopiaFormat.load( calendar, datebook ); | 1869 | loadOk = qtopiaFormat.load( calendar, datebook ); |
1856 | if ( loadOk && !todolist.isEmpty() ) | 1870 | if ( loadOk && !todolist.isEmpty() ) |
1857 | loadOk = qtopiaFormat.load( calendar, todolist ); | 1871 | loadOk = qtopiaFormat.load( calendar, todolist ); |
1858 | 1872 | ||
1859 | if ( loadOk ) { | 1873 | if ( loadOk ) { |
1860 | getEventViewerDialog()->setSyncMode( true ); | 1874 | getEventViewerDialog()->setSyncMode( true ); |
1861 | syncOK = synchronizeCalendar( mCalendar, calendar, mSyncManager->mSyncAlgoPrefs ); | 1875 | syncOK = synchronizeCalendar( mCalendar, calendar, mSyncManager->mSyncAlgoPrefs ); |
1862 | getEventViewerDialog()->setSyncMode( false ); | 1876 | getEventViewerDialog()->setSyncMode( false ); |
1863 | qApp->processEvents(); | 1877 | qApp->processEvents(); |
1864 | if ( syncOK ) { | 1878 | if ( syncOK ) { |
1865 | if ( mSyncManager->mWriteBackFile ) | 1879 | if ( mSyncManager->mWriteBackFile ) |
1866 | { | 1880 | { |
1867 | // write back XML file | 1881 | // write back XML file |
1868 | 1882 | ||
1869 | } | 1883 | } |
1870 | setModified( true ); | 1884 | setModified( true ); |
1871 | } | 1885 | } |
1872 | } else { | 1886 | } else { |
1873 | QString question = i18n("Sorry, the file loading\ncommand failed!\n\nNothing synced!\n") ; | 1887 | QString question = i18n("Sorry, the file loading\ncommand failed!\n\nNothing synced!\n") ; |
1874 | QMessageBox::information( 0, i18n("KO/Pi Sync - ERROR"), | 1888 | QMessageBox::information( 0, i18n("KO/Pi Sync - ERROR"), |
1875 | question, i18n("Ok")) ; | 1889 | question, i18n("Ok")) ; |
1876 | } | 1890 | } |
1877 | delete calendar; | 1891 | delete calendar; |
1878 | updateView(); | 1892 | updateView(); |
1879 | return syncOK; | 1893 | return syncOK; |
1880 | 1894 | ||
1881 | 1895 | ||
1882 | #endif | 1896 | #endif |
1883 | 1897 | ||
1884 | } | 1898 | } |
1885 | 1899 | ||
1886 | void CalendarView::setSyncEventsReadOnly() | 1900 | void CalendarView::setSyncEventsReadOnly() |
1887 | { | 1901 | { |
1888 | mCalendar->setSyncEventsReadOnly(); | 1902 | mCalendar->setSyncEventsReadOnly(); |
1889 | } | 1903 | } |
1890 | 1904 | ||
1891 | bool CalendarView::loadCalendars() | 1905 | bool CalendarView::loadCalendars() |
1892 | { | 1906 | { |
1893 | QPtrList<KopiCalendarFile> calendars = KOPrefs::instance()->mCalendars; | 1907 | QPtrList<KopiCalendarFile> calendars = KOPrefs::instance()->mCalendars; |
1894 | KopiCalendarFile * cal = calendars.first(); | 1908 | KopiCalendarFile * cal = calendars.first(); |
1895 | mCalendar->setDefaultCalendar( 1 ); | 1909 | mCalendar->setDefaultCalendar( 1 ); |
1896 | openCalendar( MainWindow::defaultFileName(), false ); | 1910 | openCalendar( MainWindow::defaultFileName(), false ); |
1897 | cal = calendars.next(); | 1911 | cal = calendars.next(); |
1898 | while ( cal ) { | 1912 | while ( cal ) { |
1899 | addCalendar( cal ); | 1913 | addCalendar( cal ); |
1900 | cal = calendars.next(); | 1914 | cal = calendars.next(); |
1901 | } | 1915 | } |
1902 | restoreCalendarSettings(); | 1916 | restoreCalendarSettings(); |
1903 | return true; | 1917 | return true; |
1904 | } | 1918 | } |
1905 | bool CalendarView::restoreCalendarSettings() | 1919 | bool CalendarView::restoreCalendarSettings() |
1906 | { | 1920 | { |
1907 | QPtrList<KopiCalendarFile> calendars = KOPrefs::instance()->mCalendars; | 1921 | QPtrList<KopiCalendarFile> calendars = KOPrefs::instance()->mCalendars; |
1908 | KopiCalendarFile * cal = calendars.first(); | 1922 | KopiCalendarFile * cal = calendars.first(); |
1909 | while ( cal ) { | 1923 | while ( cal ) { |
1910 | mCalendar->setCalendarEnabled( cal->mCalNumber,cal->isEnabled ); | 1924 | mCalendar->setCalendarEnabled( cal->mCalNumber,cal->isEnabled ); |
1911 | mCalendar->setAlarmEnabled( cal->mCalNumber, cal->isAlarmEnabled ); | 1925 | mCalendar->setAlarmEnabled( cal->mCalNumber, cal->isAlarmEnabled ); |
1912 | mCalendar->setReadOnly( cal->mCalNumber, cal->isReadOnly ); | 1926 | mCalendar->setReadOnly( cal->mCalNumber, cal->isReadOnly ); |
1913 | if ( cal->isStandard ) | 1927 | if ( cal->isStandard ) |
1914 | mCalendar->setDefaultCalendar( cal->mCalNumber ); | 1928 | mCalendar->setDefaultCalendar( cal->mCalNumber ); |
1915 | cal = calendars.next(); | 1929 | cal = calendars.next(); |
1916 | } | 1930 | } |
1917 | setSyncEventsReadOnly(); | 1931 | setSyncEventsReadOnly(); |
1918 | mCalendar->reInitAlarmSettings(); | 1932 | mCalendar->reInitAlarmSettings(); |
1919 | updateUnmanagedViews(); | 1933 | updateUnmanagedViews(); |
1920 | updateView(); | 1934 | updateView(); |
1921 | return true; | 1935 | return true; |
1922 | } | 1936 | } |
1923 | void CalendarView::addCalendarId( int id ) | 1937 | void CalendarView::addCalendarId( int id ) |
1924 | { | 1938 | { |
1925 | KopiCalendarFile * cal = KOPrefs::instance()->getCalendar( id ); | 1939 | KopiCalendarFile * cal = KOPrefs::instance()->getCalendar( id ); |
1926 | addCalendar( cal ); | 1940 | if ( cal ) |
1941 | addCalendar( cal ); | ||
1927 | } | 1942 | } |
1928 | bool CalendarView::addCalendar( KopiCalendarFile * cal ) | 1943 | bool CalendarView::addCalendar( KopiCalendarFile * cal ) |
1929 | { | 1944 | { |
1930 | cal->mErrorOnLoad = false; | 1945 | cal->mErrorOnLoad = false; |
1931 | if ( mCalendar->addCalendarFile( cal->mFileName, cal->mCalNumber )) { | 1946 | if ( mCalendar->addCalendarFile( cal->mFileName, cal->mCalNumber )) { |
1932 | cal->mLoadDt = QDateTime::currentDateTime(); | 1947 | cal->mLoadDt = QDateTime::currentDateTime(); |
1933 | return true; | 1948 | return true; |
1934 | } | 1949 | } |
1935 | qDebug("KO: Error adding calendar file %1 ",cal->mFileName.latin1() ); | 1950 | qDebug("KO: Error adding calendar file %s ",cal->mFileName.latin1() ); |
1936 | KMessageBox::error(this,i18n("Error loading calendar file\n%1.").arg(cal->mFileName)); | ||
1937 | cal->mErrorOnLoad = true; | 1951 | cal->mErrorOnLoad = true; |
1938 | return false; | 1952 | return false; |
1939 | } | 1953 | } |
1940 | bool CalendarView::openCalendar(QString filename, bool merge) | 1954 | bool CalendarView::openCalendar(QString filename, bool merge) |
1941 | { | 1955 | { |
1942 | 1956 | ||
1943 | if (filename.isEmpty()) { | 1957 | if (filename.isEmpty()) { |
1944 | return false; | 1958 | return false; |
1945 | } | 1959 | } |
1946 | 1960 | ||
1947 | if (!QFile::exists(filename)) { | 1961 | if (!QFile::exists(filename)) { |
1948 | KMessageBox::error(this,i18n("File does not exist:\n '%1'.").arg(filename)); | 1962 | KMessageBox::error(this,i18n("File does not exist:\n '%1'.").arg(filename)); |
1949 | return false; | 1963 | return false; |
1950 | } | 1964 | } |
1951 | 1965 | ||
1952 | globalFlagBlockAgenda = 1; | 1966 | globalFlagBlockAgenda = 1; |
1953 | clearAllViews(); | 1967 | clearAllViews(); |
1954 | if (!merge) { | 1968 | if (!merge) { |
1955 | mViewManager->setDocumentId( filename ); | 1969 | mViewManager->setDocumentId( filename ); |
1956 | mCalendar->close(); | 1970 | mCalendar->close(); |
1957 | } | 1971 | } |
1958 | mStorage->setFileName( filename ); | 1972 | mStorage->setFileName( filename ); |
1959 | 1973 | ||
1960 | if ( mStorage->load() ) { | 1974 | if ( mStorage->load() ) { |
1961 | if ( merge ) ;//setModified( true ); | 1975 | if ( merge ) ;//setModified( true ); |
1962 | else { | 1976 | else { |
1963 | //setModified( true ); | 1977 | //setModified( true ); |
1964 | mViewManager->setDocumentId( filename ); | 1978 | mViewManager->setDocumentId( filename ); |
1965 | mDialogManager->setDocumentId( filename ); | 1979 | mDialogManager->setDocumentId( filename ); |
1966 | mTodoList->setDocumentId( filename ); | 1980 | mTodoList->setDocumentId( filename ); |
1967 | } | 1981 | } |
1968 | globalFlagBlockAgenda = 2; | 1982 | globalFlagBlockAgenda = 2; |
1969 | // if ( getLastSyncEvent() ) | 1983 | // if ( getLastSyncEvent() ) |
1970 | // getLastSyncEvent()->setReadOnly( true ); | 1984 | // getLastSyncEvent()->setReadOnly( true ); |
1971 | mCalendar->reInitAlarmSettings(); | 1985 | mCalendar->reInitAlarmSettings(); |
1972 | setSyncEventsReadOnly(); | 1986 | setSyncEventsReadOnly(); |
1973 | updateUnmanagedViews(); | 1987 | updateUnmanagedViews(); |
1974 | updateView(); | 1988 | updateView(); |
1975 | if ( filename != MainWindow::defaultFileName() ) { | 1989 | if ( filename != MainWindow::defaultFileName() ) { |
1976 | saveCalendar( MainWindow::defaultFileName() ); | 1990 | saveCalendar( MainWindow::defaultFileName() ); |
1977 | } else { | 1991 | } else { |
1978 | QFileInfo finf ( MainWindow::defaultFileName()); | 1992 | QFileInfo finf ( MainWindow::defaultFileName()); |
1979 | if ( finf.exists() ) { | 1993 | if ( finf.exists() ) { |
1980 | setLoadedFileVersion( finf.lastModified () ); | 1994 | setLoadedFileVersion( finf.lastModified () ); |
1981 | } | 1995 | } |
1982 | } | 1996 | } |
1983 | return true; | 1997 | return true; |
1984 | } else { | 1998 | } else { |
1985 | // while failing to load, the calendar object could | 1999 | // while failing to load, the calendar object could |
1986 | // have become partially populated. Clear it out. | 2000 | // have become partially populated. Clear it out. |
1987 | if ( !merge ) { | 2001 | if ( !merge ) { |
1988 | mCalendar->close(); | 2002 | mCalendar->close(); |
1989 | mViewManager->setDocumentId( filename ); | 2003 | mViewManager->setDocumentId( filename ); |
1990 | mDialogManager->setDocumentId( filename ); | 2004 | mDialogManager->setDocumentId( filename ); |
1991 | mTodoList->setDocumentId( filename ); | 2005 | mTodoList->setDocumentId( filename ); |
1992 | } | 2006 | } |
1993 | 2007 | ||
1994 | //KMessageBox::error(this,i18n("Couldn't load calendar\n '%1'.").arg(filename)); | 2008 | //KMessageBox::error(this,i18n("Couldn't load calendar\n '%1'.").arg(filename)); |
1995 | 2009 | ||
1996 | QTimer::singleShot ( 1, this, SLOT ( showOpenError() ) ); | 2010 | QTimer::singleShot ( 1, this, SLOT ( showOpenError() ) ); |
1997 | globalFlagBlockAgenda = 2; | 2011 | globalFlagBlockAgenda = 2; |
1998 | mCalendar->reInitAlarmSettings(); | 2012 | mCalendar->reInitAlarmSettings(); |
1999 | setSyncEventsReadOnly(); | 2013 | setSyncEventsReadOnly(); |
2000 | updateUnmanagedViews(); | 2014 | updateUnmanagedViews(); |
2001 | updateView(); | 2015 | updateView(); |
2002 | } | 2016 | } |
2003 | return false; | 2017 | return false; |
2004 | } | 2018 | } |
2005 | void CalendarView::showOpenError() | 2019 | void CalendarView::showOpenError() |
2006 | { | 2020 | { |
2007 | KMessageBox::error(this,i18n("Couldn't load calendar\n.")); | 2021 | KMessageBox::error(this,i18n("Couldn't load calendar\n.")); |
2008 | } | 2022 | } |
2009 | void CalendarView::setLoadedFileVersion(QDateTime dt) | 2023 | void CalendarView::setLoadedFileVersion(QDateTime dt) |
2010 | { | 2024 | { |
2011 | loadedFileVersion = dt; | 2025 | loadedFileVersion = dt; |
2012 | } | 2026 | } |
2013 | bool CalendarView::checkFileChanged(QString fn) | 2027 | bool CalendarView::checkFileChanged(QString fn) |
2014 | { | 2028 | { |
2015 | QFileInfo finf ( fn ); | 2029 | QFileInfo finf ( fn ); |
2016 | if ( !finf.exists() ) | 2030 | if ( !finf.exists() ) |
2017 | return true; | 2031 | return true; |
2018 | QDateTime dt = finf.lastModified (); | 2032 | QDateTime dt = finf.lastModified (); |
2019 | if ( dt <= loadedFileVersion ) | 2033 | if ( dt <= loadedFileVersion ) |
2020 | return false; | 2034 | return false; |
2021 | return true; | 2035 | return true; |
2022 | 2036 | ||
2023 | } | 2037 | } |
2024 | void CalendarView::watchSavedFile() | 2038 | void CalendarView::watchSavedFile() |
2025 | { | 2039 | { |
2026 | QFileInfo finf ( MainWindow::defaultFileName()); | 2040 | QFileInfo finf ( MainWindow::defaultFileName()); |
2027 | if ( !finf.exists() ) | 2041 | if ( !finf.exists() ) |
2028 | return; | 2042 | return; |
2029 | QDateTime dt = finf.lastModified (); | 2043 | QDateTime dt = finf.lastModified (); |
2030 | if ( dt < loadedFileVersion ) { | 2044 | if ( dt < loadedFileVersion ) { |
2031 | //qDebug("watch %s %s ", dt.toString().latin1(), loadedFileVersion.toString().latin1()); | 2045 | //qDebug("watch %s %s ", dt.toString().latin1(), loadedFileVersion.toString().latin1()); |
2032 | QTimer::singleShot( 1000 , this, SLOT ( watchSavedFile() ) ); | 2046 | QTimer::singleShot( 1000 , this, SLOT ( watchSavedFile() ) ); |
diff --git a/korganizer/koeditordetails.cpp b/korganizer/koeditordetails.cpp index 7354940..479bd8b 100644 --- a/korganizer/koeditordetails.cpp +++ b/korganizer/koeditordetails.cpp | |||
@@ -1,179 +1,181 @@ | |||
1 | /* | 1 | /* |
2 | This file is part of KOrganizer. | 2 | This file is part of KOrganizer. |
3 | Copyright (c) 2001 Cornelius Schumacher <schumacher@kde.org> | 3 | Copyright (c) 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 thse hope that it will be useful, | 10 | This program is distributed in thse 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 <qtooltip.h> | 24 | #include <qtooltip.h> |
25 | #include <qfiledialog.h> | 25 | #include <qfiledialog.h> |
26 | #include <qlayout.h> | 26 | #include <qlayout.h> |
27 | #include <qvbox.h> | 27 | #include <qvbox.h> |
28 | #include <qbuttongroup.h> | 28 | #include <qbuttongroup.h> |
29 | #include <qvgroupbox.h> | 29 | #include <qvgroupbox.h> |
30 | #include <qwidgetstack.h> | 30 | #include <qwidgetstack.h> |
31 | #include <qdatetime.h> | 31 | #include <qdatetime.h> |
32 | #include <qapp.h> | 32 | #include <qapp.h> |
33 | 33 | ||
34 | #include <klocale.h> | 34 | #include <klocale.h> |
35 | #include <kglobal.h> | 35 | #include <kglobal.h> |
36 | #include <kdialog.h> | ||
36 | #include <kiconloader.h> | 37 | #include <kiconloader.h> |
37 | #include <kstandarddirs.h> | 38 | #include <kstandarddirs.h> |
38 | #include <kmessagebox.h> | 39 | #include <kmessagebox.h> |
39 | #ifndef KORG_NOKABC | 40 | #ifndef KORG_NOKABC |
40 | 41 | ||
41 | #ifdef DESKTOP_VERSION | 42 | #ifdef DESKTOP_VERSION |
42 | #include <kabc/addresseedialog.h> | 43 | #include <kabc/addresseedialog.h> |
43 | #else //DESKTOP_VERSION | 44 | #else //DESKTOP_VERSION |
44 | #include <externalapphandler.h> | 45 | #include <externalapphandler.h> |
45 | #endif //DESKTOP_VERSION | 46 | #endif //DESKTOP_VERSION |
46 | 47 | ||
47 | #endif | 48 | #endif |
48 | 49 | ||
49 | #include <libkcal/incidence.h> | 50 | #include <libkcal/incidence.h> |
50 | 51 | ||
51 | #include "koprefs.h" | 52 | #include "koprefs.h" |
52 | 53 | ||
53 | #include "koeditordetails.h" | 54 | #include "koeditordetails.h" |
54 | 55 | ||
55 | template <> | 56 | template <> |
56 | CustomListViewItem<class Attendee *>::~CustomListViewItem() | 57 | CustomListViewItem<class Attendee *>::~CustomListViewItem() |
57 | { | 58 | { |
58 | delete mData; | 59 | delete mData; |
59 | } | 60 | } |
60 | 61 | ||
61 | template <> | 62 | template <> |
62 | void CustomListViewItem<class Attendee *>::updateItem() | 63 | void CustomListViewItem<class Attendee *>::updateItem() |
63 | { | 64 | { |
64 | setText(0,mData->name()); | 65 | setText(0,mData->name()); |
65 | setText(1,mData->email()); | 66 | setText(1,mData->email()); |
66 | setText(2,mData->roleStr()); | 67 | setText(2,mData->roleStr()); |
67 | setText(3,mData->statusStr()); | 68 | setText(3,mData->statusStr()); |
68 | if (mData->RSVP() && !mData->email().isEmpty()) { | 69 | if (mData->RSVP() && !mData->email().isEmpty()) { |
69 | setPixmap(4,SmallIcon("mailappt")); | 70 | setPixmap(4,SmallIcon("mailappt")); |
70 | setSortKey(4,"j"); | 71 | setSortKey(4,"j"); |
71 | } | 72 | } |
72 | else { | 73 | else { |
73 | setPixmap(4,SmallIcon("nomailappt")); | 74 | setPixmap(4,SmallIcon("nomailappt")); |
74 | setSortKey(4,"n"); | 75 | setSortKey(4,"n"); |
75 | } | 76 | } |
76 | } | 77 | } |
77 | 78 | ||
78 | 79 | ||
79 | KOEditorDetails::KOEditorDetails (int spacing,QWidget* parent,const char* name) | 80 | KOEditorDetails::KOEditorDetails (int spacing,QWidget* parent,const char* name) |
80 | : QWidget( parent, name), mDisableItemUpdate( false ) | 81 | : QWidget( parent, name), mDisableItemUpdate( false ) |
81 | { | 82 | { |
82 | QGridLayout *topLayout = new QGridLayout(this); | 83 | QGridLayout *topLayout = new QGridLayout(this); |
83 | topLayout->setSpacing(spacing); | 84 | topLayout->setSpacing(spacing); |
85 | topLayout->setMargin(KDialog::marginHint()-2); | ||
84 | 86 | ||
85 | QString organizer = KOPrefs::instance()->email(); | 87 | QString organizer = KOPrefs::instance()->email(); |
86 | mOrganizerLabel = new QLabel(i18n("Organizer: %1").arg(organizer),this); | 88 | mOrganizerLabel = new QLabel(i18n("Organizer: %1").arg(organizer),this); |
87 | 89 | ||
88 | mListView = new KListView(this,"mListView"); | 90 | mListView = new KListView(this,"mListView"); |
89 | mListView->addColumn(i18n("Name"),180); | 91 | mListView->addColumn(i18n("Name"),180); |
90 | mListView->addColumn(i18n("Email"),180); | 92 | mListView->addColumn(i18n("Email"),180); |
91 | mListView->addColumn(i18n("Role"),60); | 93 | mListView->addColumn(i18n("Role"),60); |
92 | mListView->addColumn(i18n("Status"),100); | 94 | mListView->addColumn(i18n("Status"),100); |
93 | mListView->addColumn(i18n("RSVP"),35); | 95 | mListView->addColumn(i18n("RSVP"),35); |
94 | if ( QApplication::desktop()->width() <= 320 || QApplication::desktop()->height() <= 240) { | 96 | if ( QApplication::desktop()->width() <= 320 || QApplication::desktop()->height() <= 240) { |
95 | int hei = 80; | 97 | int hei = 80; |
96 | if ( QApplication::desktop()->height() <= 240 ) | 98 | if ( QApplication::desktop()->height() <= 240 ) |
97 | hei = 60; | 99 | hei = 60; |
98 | mListView->setFixedHeight(hei); | 100 | mListView->setFixedHeight(hei); |
99 | } | 101 | } |
100 | mListView->setAllColumnsShowFocus (true ); | 102 | mListView->setAllColumnsShowFocus (true ); |
101 | //mListView->setSingleClick( true ); | 103 | //mListView->setSingleClick( true ); |
102 | connect(mListView,SIGNAL(selectionChanged(QListViewItem *)), | 104 | connect(mListView,SIGNAL(selectionChanged(QListViewItem *)), |
103 | SLOT(updateAttendeeInput())); | 105 | SLOT(updateAttendeeInput())); |
104 | 106 | ||
105 | connect(mListView,SIGNAL(executed(QListViewItem * ,const QPoint&, int )), | 107 | connect(mListView,SIGNAL(executed(QListViewItem * ,const QPoint&, int )), |
106 | SLOT(itemClicked(QListViewItem * ,const QPoint& , int ))); | 108 | SLOT(itemClicked(QListViewItem * ,const QPoint& , int ))); |
107 | 109 | ||
108 | mRsvpButton = new QCheckBox(this); | 110 | mRsvpButton = new QCheckBox(this); |
109 | mRsvpButton->setText(i18n("Request response")); | 111 | mRsvpButton->setText(i18n("Request response")); |
110 | mAddressBookButton = new QPushButton(i18n("Address &Book..."),this); | 112 | mAddressBookButton = new QPushButton(i18n("Address &Book..."),this); |
111 | QLabel *attendeeLabel = new QLabel(this); | 113 | QLabel *attendeeLabel = new QLabel(this); |
112 | attendeeLabel->setText(i18n("Name:")); | 114 | attendeeLabel->setText(i18n("Name:")); |
113 | attendeeLabel->setFixedSize( attendeeLabel->sizeHint() ); | 115 | attendeeLabel->setFixedSize( attendeeLabel->sizeHint() ); |
114 | mNameEdit = new QLineEdit(this); | 116 | mNameEdit = new QLineEdit(this); |
115 | connect(mNameEdit,SIGNAL(textChanged(const QString &)), | 117 | connect(mNameEdit,SIGNAL(textChanged(const QString &)), |
116 | SLOT(updateAttendeeItem())); | 118 | SLOT(updateAttendeeItem())); |
117 | 119 | ||
118 | mUidEdit = new QLineEdit(0); | 120 | mUidEdit = new QLineEdit(0); |
119 | mUidEdit->setText(""); | 121 | mUidEdit->setText(""); |
120 | 122 | ||
121 | QLabel *emailLabel = new QLabel(this); | 123 | QLabel *emailLabel = new QLabel(this); |
122 | emailLabel->setText(i18n("Email:")); | 124 | emailLabel->setText(i18n("Email:")); |
123 | mEmailEdit = new QLineEdit(this); | 125 | mEmailEdit = new QLineEdit(this); |
124 | connect(mEmailEdit,SIGNAL(textChanged(const QString &)), | 126 | connect(mEmailEdit,SIGNAL(textChanged(const QString &)), |
125 | SLOT(updateAttendeeItem())); | 127 | SLOT(updateAttendeeItem())); |
126 | 128 | ||
127 | QLabel *attendeeRoleLabel = new QLabel(this); | 129 | QLabel *attendeeRoleLabel = new QLabel(this); |
128 | attendeeRoleLabel->setText(i18n("Role:")); | 130 | attendeeRoleLabel->setText(i18n("Role:")); |
129 | mRoleCombo = new QComboBox(false,this); | 131 | mRoleCombo = new QComboBox(false,this); |
130 | mRoleCombo->insertStringList(Attendee::roleList()); | 132 | mRoleCombo->insertStringList(Attendee::roleList()); |
131 | connect(mRoleCombo,SIGNAL(activated(int)),SLOT(updateAttendeeItem())); | 133 | connect(mRoleCombo,SIGNAL(activated(int)),SLOT(updateAttendeeItem())); |
132 | 134 | ||
133 | QLabel *statusLabel = new QLabel(this); | 135 | QLabel *statusLabel = new QLabel(this); |
134 | statusLabel->setText( i18n("Status:") ); | 136 | statusLabel->setText( i18n("Status:") ); |
135 | 137 | ||
136 | mStatusCombo = new QComboBox(false,this); | 138 | mStatusCombo = new QComboBox(false,this); |
137 | mStatusCombo->insertStringList(Attendee::statusList()); | 139 | mStatusCombo->insertStringList(Attendee::statusList()); |
138 | connect(mStatusCombo,SIGNAL(activated(int)),SLOT(updateAttendeeItem())); | 140 | connect(mStatusCombo,SIGNAL(activated(int)),SLOT(updateAttendeeItem())); |
139 | 141 | ||
140 | 142 | ||
141 | connect(mRsvpButton,SIGNAL(clicked()),SLOT(updateAttendeeItem())); | 143 | connect(mRsvpButton,SIGNAL(clicked()),SLOT(updateAttendeeItem())); |
142 | QWidget *buttonBox = new QWidget(this); | 144 | QWidget *buttonBox = new QWidget(this); |
143 | QVBoxLayout *buttonLayout = new QVBoxLayout(buttonBox); | 145 | QVBoxLayout *buttonLayout = new QVBoxLayout(buttonBox); |
144 | 146 | ||
145 | QPushButton *newButton = new QPushButton(i18n("&New"),buttonBox); | 147 | QPushButton *newButton = new QPushButton(i18n("&New"),buttonBox); |
146 | buttonLayout->addWidget(newButton); | 148 | buttonLayout->addWidget(newButton); |
147 | connect(newButton,SIGNAL(clicked()),SLOT(addNewAttendee())); | 149 | connect(newButton,SIGNAL(clicked()),SLOT(addNewAttendee())); |
148 | 150 | ||
149 | mRemoveButton = new QPushButton(i18n("&Remove"),buttonBox); | 151 | mRemoveButton = new QPushButton(i18n("&Remove"),buttonBox); |
150 | buttonLayout->addWidget(mRemoveButton); | 152 | buttonLayout->addWidget(mRemoveButton); |
151 | connect(mRemoveButton, SIGNAL(clicked()),SLOT(removeAttendee())); | 153 | connect(mRemoveButton, SIGNAL(clicked()),SLOT(removeAttendee())); |
152 | 154 | ||
153 | // buttonLayout->addWidget(mAddressBookButton); | 155 | // buttonLayout->addWidget(mAddressBookButton); |
154 | connect(mAddressBookButton,SIGNAL(clicked()),SLOT(openAddressBook())); | 156 | connect(mAddressBookButton,SIGNAL(clicked()),SLOT(openAddressBook())); |
155 | //mRoleCombo->setFixedSize( mRoleCombo->sizeHint () ); | 157 | //mRoleCombo->setFixedSize( mRoleCombo->sizeHint () ); |
156 | if ( QApplication::desktop()->height() <= 240 ) { | 158 | if ( QApplication::desktop()->height() <= 240 ) { |
157 | mRoleCombo->setSizePolicy( QSizePolicy( QSizePolicy::Preferred ,QSizePolicy::Minimum ,FALSE) ); | 159 | mRoleCombo->setSizePolicy( QSizePolicy( QSizePolicy::Preferred ,QSizePolicy::Minimum ,FALSE) ); |
158 | mStatusCombo->setSizePolicy( QSizePolicy( QSizePolicy::Preferred ,QSizePolicy::Minimum ,FALSE) ); | 160 | mStatusCombo->setSizePolicy( QSizePolicy( QSizePolicy::Preferred ,QSizePolicy::Minimum ,FALSE) ); |
159 | topLayout->addMultiCellWidget(mOrganizerLabel,0,0,0,5); | 161 | topLayout->addMultiCellWidget(mOrganizerLabel,0,0,0,5); |
160 | topLayout->addMultiCellWidget(mListView,1,1,0,5); | 162 | topLayout->addMultiCellWidget(mListView,1,1,0,5); |
161 | topLayout->addWidget(attendeeLabel,3,0); | 163 | topLayout->addWidget(attendeeLabel,3,0); |
162 | topLayout->addMultiCellWidget(mNameEdit,3,3,1,4); | 164 | topLayout->addMultiCellWidget(mNameEdit,3,3,1,4); |
163 | topLayout->addWidget(emailLabel,4,0); | 165 | topLayout->addWidget(emailLabel,4,0); |
164 | topLayout->addMultiCellWidget(mEmailEdit,4,4,1,4); | 166 | topLayout->addMultiCellWidget(mEmailEdit,4,4,1,4); |
165 | topLayout->addWidget(attendeeRoleLabel,5,0); | 167 | topLayout->addWidget(attendeeRoleLabel,5,0); |
166 | topLayout->addMultiCellWidget(mRoleCombo,5,5,1,2); | 168 | topLayout->addMultiCellWidget(mRoleCombo,5,5,1,2); |
167 | topLayout->addWidget(statusLabel,5,3); | 169 | topLayout->addWidget(statusLabel,5,3); |
168 | topLayout->addMultiCellWidget(mStatusCombo,5,5,4,5); | 170 | topLayout->addMultiCellWidget(mStatusCombo,5,5,4,5); |
169 | topLayout->addMultiCellWidget(mAddressBookButton,2,2,2,5); | 171 | topLayout->addMultiCellWidget(mAddressBookButton,2,2,2,5); |
170 | topLayout->addMultiCellWidget(mRsvpButton,2,2,0,1); | 172 | topLayout->addMultiCellWidget(mRsvpButton,2,2,0,1); |
171 | topLayout->addMultiCellWidget(buttonBox,3,4,5,5); | 173 | topLayout->addMultiCellWidget(buttonBox,3,4,5,5); |
172 | topLayout->setRowStretch(1,5); | 174 | topLayout->setRowStretch(1,5); |
173 | topLayout->setColStretch(0,0); | 175 | topLayout->setColStretch(0,0); |
174 | } else { | 176 | } else { |
175 | if (qApp->desktop()->width() < 640 ) { | 177 | if (qApp->desktop()->width() < 640 ) { |
176 | if ( qApp->desktop()->width() < 300 ) | 178 | if ( qApp->desktop()->width() < 300 ) |
177 | topLayout->setSpacing(1); | 179 | topLayout->setSpacing(1); |
178 | ;//mListView->setFixedHeight(80); | 180 | ;//mListView->setFixedHeight(80); |
179 | topLayout->addMultiCellWidget(mOrganizerLabel,0,0,0,3); | 181 | topLayout->addMultiCellWidget(mOrganizerLabel,0,0,0,3); |
diff --git a/korganizer/koeditorgeneral.cpp b/korganizer/koeditorgeneral.cpp index e07bc53..29e68b3 100644 --- a/korganizer/koeditorgeneral.cpp +++ b/korganizer/koeditorgeneral.cpp | |||
@@ -1,288 +1,291 @@ | |||
1 | /* | 1 | /* |
2 | This file is part of KOrganizer. | 2 | This file is part of KOrganizer. |
3 | Copyright (c) 2001 Cornelius Schumacher <schumacher@kde.org> | 3 | Copyright (c) 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 <qwidget.h> | 24 | #include <qwidget.h> |
25 | #include <qtooltip.h> | 25 | #include <qtooltip.h> |
26 | #include <qlayout.h> | 26 | #include <qlayout.h> |
27 | #include <qvbox.h> | 27 | #include <qvbox.h> |
28 | #include <qbuttongroup.h> | 28 | #include <qbuttongroup.h> |
29 | #include <qvgroupbox.h> | 29 | #include <qvgroupbox.h> |
30 | #include <qwidgetstack.h> | 30 | #include <qwidgetstack.h> |
31 | #include <qdatetime.h> | 31 | #include <qdatetime.h> |
32 | #include <qtimer.h> | 32 | #include <qtimer.h> |
33 | #include <qfile.h> | 33 | #include <qfile.h> |
34 | #include <qregexp.h> | 34 | #include <qregexp.h> |
35 | 35 | ||
36 | 36 | ||
37 | #include <kglobal.h> | 37 | #include <kglobal.h> |
38 | #include <kdialog.h> | ||
38 | #include <kdebug.h> | 39 | #include <kdebug.h> |
39 | #include <klocale.h> | 40 | #include <klocale.h> |
40 | #include <kiconloader.h> | 41 | #include <kiconloader.h> |
41 | #include <kmessagebox.h> | 42 | #include <kmessagebox.h> |
42 | #include <kfiledialog.h> | 43 | #include <kfiledialog.h> |
43 | #include <kstandarddirs.h> | 44 | #include <kstandarddirs.h> |
44 | 45 | ||
45 | #include <libkcal/todo.h> | 46 | #include <libkcal/todo.h> |
46 | #include <libkcal/event.h> | 47 | #include <libkcal/event.h> |
47 | #include <libkdepim/categoryselectdialog.h> | 48 | #include <libkdepim/categoryselectdialog.h> |
48 | #include <libkdepim/kdateedit.h> | 49 | #include <libkdepim/kdateedit.h> |
49 | 50 | ||
50 | #include "koprefs.h" | 51 | #include "koprefs.h" |
51 | #include "koglobals.h" | 52 | #include "koglobals.h" |
52 | 53 | ||
53 | #include "koeditorgeneral.h" | 54 | #include "koeditorgeneral.h" |
54 | #include "kolocationbox.h" | 55 | #include "kolocationbox.h" |
55 | #ifndef DESKTOP_VERSION | 56 | #ifndef DESKTOP_VERSION |
56 | #include <qpe/qpeapplication.h> | 57 | #include <qpe/qpeapplication.h> |
57 | #else | 58 | #else |
58 | #include <qapplication.h> | 59 | #include <qapplication.h> |
59 | #endif | 60 | #endif |
60 | 61 | ||
61 | KOEditorGeneral::KOEditorGeneral(QObject* parent, const char* name) : | 62 | KOEditorGeneral::KOEditorGeneral(QObject* parent, const char* name) : |
62 | QObject( parent, name) | 63 | QObject( parent, name) |
63 | { | 64 | { |
64 | mNextFocus = 0; | 65 | mNextFocus = 0; |
65 | } | 66 | } |
66 | 67 | ||
67 | KOEditorGeneral::~KOEditorGeneral() | 68 | KOEditorGeneral::~KOEditorGeneral() |
68 | { | 69 | { |
69 | } | 70 | } |
70 | 71 | ||
71 | void KOEditorGeneral::initHeader(QWidget *parent,QBoxLayout *topLayout) | 72 | void KOEditorGeneral::initHeader(QWidget *parent,QBoxLayout *topLayout) |
72 | { | 73 | { |
73 | QGridLayout *headerLayout = new QGridLayout(topLayout); | 74 | QGridLayout *headerLayout = new QGridLayout(topLayout); |
74 | 75 | ||
75 | #if 0 | 76 | #if 0 |
76 | mOwnerLabel = new QLabel(i18n("Owner:"),parent); | 77 | mOwnerLabel = new QLabel(i18n("Owner:"),parent); |
77 | headerLayout->addMultiCellWidget(mOwnerLabel,0,0,0,1); | 78 | headerLayout->addMultiCellWidget(mOwnerLabel,0,0,0,1); |
78 | #endif | 79 | #endif |
79 | 80 | // 1 on pda | |
81 | // 11 on desktop | ||
82 | headerLayout->setSpacing( (KDialog::spacingHint()-3)*2+1 ); | ||
80 | QLabel *summaryLabel = new QLabel(i18n("Summary:"),parent); | 83 | QLabel *summaryLabel = new QLabel(i18n("Summary:"),parent); |
81 | headerLayout->addWidget(summaryLabel,1,0); | 84 | headerLayout->addWidget(summaryLabel,1,0); |
82 | 85 | ||
83 | mSummaryEdit = new KOLocationBox(TRUE,parent, 10); | 86 | mSummaryEdit = new KOLocationBox(TRUE,parent, 10); |
84 | mSummaryEdit->setSizePolicy( QSizePolicy( QSizePolicy::Preferred ,QSizePolicy::MinimumExpanding ,FALSE) ); | 87 | mSummaryEdit->setSizePolicy( QSizePolicy( QSizePolicy::Preferred ,QSizePolicy::MinimumExpanding ,FALSE) ); |
85 | //mSummaryEdit->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)5 ,(QSizePolicy::SizeType)3 ,FALSE) ); | 88 | //mSummaryEdit->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)5 ,(QSizePolicy::SizeType)3 ,FALSE) ); |
86 | //qDebug("h %d %d ", summaryLabel->sizeHint().height(),mSummaryEdit->sizeHint().height() ); | 89 | //qDebug("h %d %d ", summaryLabel->sizeHint().height(),mSummaryEdit->sizeHint().height() ); |
87 | int hei = (summaryLabel->sizeHint().height() + mSummaryEdit->sizeHint().height())/2; | 90 | int hei = (summaryLabel->sizeHint().height() + mSummaryEdit->sizeHint().height())/2; |
88 | if ( QApplication::desktop()->width() > 320 ) | 91 | if ( QApplication::desktop()->width() > 320 ) |
89 | mSummaryEdit->setMaximumHeight( hei +6 ); | 92 | mSummaryEdit->setMaximumHeight( hei +6 ); |
90 | //qDebug("%d %d %d %d %d %d ", QSizePolicy::Fixed , QSizePolicy::Minimum , QSizePolicy:: Maximum , QSizePolicy:: Preferred , QSizePolicy:: MinimumExpanding , QSizePolicy::Expanding ); | 93 | //qDebug("%d %d %d %d %d %d ", QSizePolicy::Fixed , QSizePolicy::Minimum , QSizePolicy:: Maximum , QSizePolicy:: Preferred , QSizePolicy:: MinimumExpanding , QSizePolicy::Expanding ); |
91 | // SizeType { Fixed = 0, Minimum = MayGrow, Maximum = MayShrink, Preferred = MayGrow|MayShrink, MinimumExpanding = Minimum|ExpMask, Expanding = MinimumExpanding|MayShrink } | 94 | // SizeType { Fixed = 0, Minimum = MayGrow, Maximum = MayShrink, Preferred = MayGrow|MayShrink, MinimumExpanding = Minimum|ExpMask, Expanding = MinimumExpanding|MayShrink } |
92 | // mSummaryEdit = new QLineEdit(parent); | 95 | // mSummaryEdit = new QLineEdit(parent); |
93 | headerLayout->addWidget(mSummaryEdit,1,1); | 96 | headerLayout->addWidget(mSummaryEdit,1,1); |
94 | connect ( mSummaryEdit->lineEdit(), SIGNAL ( returnPressed() ), this, SIGNAL (allAccepted () ) ); | 97 | connect ( mSummaryEdit->lineEdit(), SIGNAL ( returnPressed() ), this, SIGNAL (allAccepted () ) ); |
95 | 98 | ||
96 | QLabel *locationLabel = new QLabel(i18n("Location:"),parent); | 99 | QLabel *locationLabel = new QLabel(i18n("Location:"),parent); |
97 | if ( QApplication::desktop()->height() < 320 ) | 100 | if ( QApplication::desktop()->height() < 320 ) |
98 | headerLayout->addWidget(locationLabel,1,2); | 101 | headerLayout->addWidget(locationLabel,1,2); |
99 | else | 102 | else |
100 | headerLayout->addWidget(locationLabel,2,0); | 103 | headerLayout->addWidget(locationLabel,2,0); |
101 | 104 | ||
102 | mLocationEdit = new KOLocationBox(TRUE,parent,10); | 105 | mLocationEdit = new KOLocationBox(TRUE,parent,10); |
103 | mLocationEdit->setSizePolicy( QSizePolicy( QSizePolicy::Preferred ,QSizePolicy::MinimumExpanding ,FALSE) ); | 106 | mLocationEdit->setSizePolicy( QSizePolicy( QSizePolicy::Preferred ,QSizePolicy::MinimumExpanding ,FALSE) ); |
104 | if ( QApplication::desktop()->width() > 320 && QApplication::desktop()->height() > 240 ) | 107 | if ( QApplication::desktop()->width() > 320 && QApplication::desktop()->height() > 240 ) |
105 | mLocationEdit->setMaximumHeight( hei + 6); | 108 | mLocationEdit->setMaximumHeight( hei + 6); |
106 | 109 | ||
107 | // mLocationEdit = new QLineEdit(parent); | 110 | // mLocationEdit = new QLineEdit(parent); |
108 | connect ( mLocationEdit->lineEdit(), SIGNAL ( returnPressed() ), this, SIGNAL (allAccepted () ) ); | 111 | connect ( mLocationEdit->lineEdit(), SIGNAL ( returnPressed() ), this, SIGNAL (allAccepted () ) ); |
109 | if ( QApplication::desktop()->height() < 320 ) { | 112 | if ( QApplication::desktop()->height() < 320 ) { |
110 | headerLayout->addWidget(mLocationEdit,1,3); | 113 | headerLayout->addWidget(mLocationEdit,1,3); |
111 | headerLayout->setColStretch( 1, 10); | 114 | headerLayout->setColStretch( 1, 10); |
112 | headerLayout->setColStretch( 3, 10); | 115 | headerLayout->setColStretch( 3, 10); |
113 | } | 116 | } |
114 | else { | 117 | else { |
115 | headerLayout->addWidget(mLocationEdit,2,1); | 118 | headerLayout->addWidget(mLocationEdit,2,1); |
116 | headerLayout->setColStretch( 1, 10); | 119 | headerLayout->setColStretch( 1, 10); |
117 | } | 120 | } |
118 | } | 121 | } |
119 | void KOEditorGeneral::setFocusOn( int i ) | 122 | void KOEditorGeneral::setFocusOn( int i ) |
120 | { | 123 | { |
121 | mNextFocus = i; | 124 | mNextFocus = i; |
122 | QTimer::singleShot( 0, this, SLOT ( slotSetFocusOn() )); | 125 | QTimer::singleShot( 0, this, SLOT ( slotSetFocusOn() )); |
123 | } | 126 | } |
124 | void KOEditorGeneral::slotSetFocusOn() | 127 | void KOEditorGeneral::slotSetFocusOn() |
125 | { | 128 | { |
126 | mNextFocus; | 129 | mNextFocus; |
127 | if ( mNextFocus == 1 ) { | 130 | if ( mNextFocus == 1 ) { |
128 | mDescriptionEdit->setFocus(); | 131 | mDescriptionEdit->setFocus(); |
129 | mDescriptionEdit->setCursorPosition( mDescriptionEdit->numLines (), 333); | 132 | mDescriptionEdit->setCursorPosition( mDescriptionEdit->numLines (), 333); |
130 | } | 133 | } |
131 | if ( mNextFocus == 2 ) { | 134 | if ( mNextFocus == 2 ) { |
132 | mSummaryEdit->setFocus(); | 135 | mSummaryEdit->setFocus(); |
133 | } | 136 | } |
134 | } | 137 | } |
135 | void KOEditorGeneral::editCategories() | 138 | void KOEditorGeneral::editCategories() |
136 | { | 139 | { |
137 | // qDebug("KOEditorGeneral::editCategories() "); | 140 | // qDebug("KOEditorGeneral::editCategories() "); |
138 | KPIM::CategorySelectDialog* csd = new KPIM::CategorySelectDialog( KOPrefs::instance(), 0 ); | 141 | KPIM::CategorySelectDialog* csd = new KPIM::CategorySelectDialog( KOPrefs::instance(), 0 ); |
139 | connect(csd,SIGNAL(categoriesSelected(const QString &)), this ,SLOT(setCategories(const QString &))); | 142 | connect(csd,SIGNAL(categoriesSelected(const QString &)), this ,SLOT(setCategories(const QString &))); |
140 | //KOGlobals::fitDialogToScreen( csd ); | 143 | //KOGlobals::fitDialogToScreen( csd ); |
141 | csd->setColorEnabled(); | 144 | csd->setColorEnabled(); |
142 | csd->setSelected( QStringList::split (",", mCategoriesLabel->text()) ); | 145 | csd->setSelected( QStringList::split (",", mCategoriesLabel->text()) ); |
143 | csd->exec(); | 146 | csd->exec(); |
144 | delete csd; | 147 | delete csd; |
145 | } | 148 | } |
146 | 149 | ||
147 | void KOEditorGeneral::showCatPopup() | 150 | void KOEditorGeneral::showCatPopup() |
148 | { | 151 | { |
149 | mCatPopup->clear(); | 152 | mCatPopup->clear(); |
150 | QStringList checkedCategories = QStringList::split (",", mCategoriesLabel->text()); | 153 | QStringList checkedCategories = QStringList::split (",", mCategoriesLabel->text()); |
151 | int index = 0; | 154 | int index = 0; |
152 | for (QStringList::Iterator it = KOPrefs::instance()->mCustomCategories.begin (); | 155 | for (QStringList::Iterator it = KOPrefs::instance()->mCustomCategories.begin (); |
153 | it != KOPrefs::instance()->mCustomCategories.end (); | 156 | it != KOPrefs::instance()->mCustomCategories.end (); |
154 | ++it) { | 157 | ++it) { |
155 | mCatPopup->insertItem (*it, index ); | 158 | mCatPopup->insertItem (*it, index ); |
156 | //mCategory[index] = *it; | 159 | //mCategory[index] = *it; |
157 | if (checkedCategories.find (*it) != checkedCategories.end ()) mCatPopup->setItemChecked (index, true); | 160 | if (checkedCategories.find (*it) != checkedCategories.end ()) mCatPopup->setItemChecked (index, true); |
158 | ++index; | 161 | ++index; |
159 | } | 162 | } |
160 | } | 163 | } |
161 | void KOEditorGeneral::selectedCatPopup( int index ) | 164 | void KOEditorGeneral::selectedCatPopup( int index ) |
162 | { | 165 | { |
163 | QStringList categories = QStringList::split (",", mCategoriesLabel->text()); | 166 | QStringList categories = QStringList::split (",", mCategoriesLabel->text()); |
164 | QString colcat = categories.first(); | 167 | QString colcat = categories.first(); |
165 | if (categories.find (KOPrefs::instance()->mCustomCategories[index]) != categories.end ()) | 168 | if (categories.find (KOPrefs::instance()->mCustomCategories[index]) != categories.end ()) |
166 | categories.remove (KOPrefs::instance()->mCustomCategories[index]); | 169 | categories.remove (KOPrefs::instance()->mCustomCategories[index]); |
167 | else | 170 | else |
168 | categories.insert (categories.end(), KOPrefs::instance()->mCustomCategories[index]); | 171 | categories.insert (categories.end(), KOPrefs::instance()->mCustomCategories[index]); |
169 | categories.sort (); | 172 | categories.sort (); |
170 | if ( !colcat.isEmpty() ) { | 173 | if ( !colcat.isEmpty() ) { |
171 | if ( categories.find ( colcat ) != categories.end () ) { | 174 | if ( categories.find ( colcat ) != categories.end () ) { |
172 | categories.remove( colcat ); | 175 | categories.remove( colcat ); |
173 | categories.prepend( colcat ); | 176 | categories.prepend( colcat ); |
174 | } | 177 | } |
175 | } | 178 | } |
176 | setCategories( categories.join(",") ); | 179 | setCategories( categories.join(",") ); |
177 | } | 180 | } |
178 | 181 | ||
179 | void KOEditorGeneral::initCategories(QWidget *parent, QBoxLayout *topLayout) | 182 | void KOEditorGeneral::initCategories(QWidget *parent, QBoxLayout *topLayout) |
180 | { | 183 | { |
181 | QBoxLayout *categoriesLayout = new QHBoxLayout( topLayout ); | 184 | QBoxLayout *categoriesLayout = new QHBoxLayout( topLayout ); |
182 | mCatPopup = new QPopupMenu ( parent ); | 185 | mCatPopup = new QPopupMenu ( parent ); |
183 | mCatPopup->setCheckable (true); | 186 | mCatPopup->setCheckable (true); |
184 | connect(mCatPopup,SIGNAL(aboutToShow () ), this ,SLOT(showCatPopup())); | 187 | connect(mCatPopup,SIGNAL(aboutToShow () ), this ,SLOT(showCatPopup())); |
185 | connect(mCatPopup,SIGNAL( activated ( int ) ), this ,SLOT(selectedCatPopup( int ))); | 188 | connect(mCatPopup,SIGNAL( activated ( int ) ), this ,SLOT(selectedCatPopup( int ))); |
186 | mCategoriesButton = new QPushButton(parent); | 189 | mCategoriesButton = new QPushButton(parent); |
187 | mCategoriesButton->setText(i18n("Categories...")); | 190 | mCategoriesButton->setText(i18n("Categories...")); |
188 | connect(mCategoriesButton,SIGNAL(clicked()),this, SLOT(editCategories() )); | 191 | connect(mCategoriesButton,SIGNAL(clicked()),this, SLOT(editCategories() )); |
189 | //connect(mCategoriesButton,SIGNAL(clicked()),this, SLOT(editCategories() )); | 192 | //connect(mCategoriesButton,SIGNAL(clicked()),this, SLOT(editCategories() )); |
190 | categoriesLayout->addWidget(mCategoriesButton); | 193 | categoriesLayout->addWidget(mCategoriesButton); |
191 | mCategoriesLabel = new QPushButton(parent);//new QLabel(parent); | 194 | mCategoriesLabel = new QPushButton(parent);//new QLabel(parent); |
192 | mCategoriesLabel->setSizePolicy( QSizePolicy( QSizePolicy::Preferred ,QSizePolicy::MinimumExpanding ,FALSE) ); | 195 | mCategoriesLabel->setSizePolicy( QSizePolicy( QSizePolicy::Preferred ,QSizePolicy::Fixed ,FALSE) ); |
193 | mCategoriesLabel->setPopup( mCatPopup ); | 196 | mCategoriesLabel->setPopup( mCatPopup ); |
194 | //mCategoriesLabel->setFrameStyle(QFrame::Panel|QFrame::Sunken); | 197 | //mCategoriesLabel->setFrameStyle(QFrame::Panel|QFrame::Sunken); |
195 | categoriesLayout->addWidget(mCategoriesLabel,1); | 198 | categoriesLayout->addWidget(mCategoriesLabel,1); |
196 | } | 199 | } |
197 | 200 | ||
198 | void KOEditorGeneral::initSecrecy(QWidget *parent, QBoxLayout *topLayout) | 201 | void KOEditorGeneral::initSecrecy(QWidget *parent, QBoxLayout *topLayout) |
199 | { | 202 | { |
200 | QBoxLayout *secrecyLayout = new QHBoxLayout( topLayout ); | 203 | QBoxLayout *secrecyLayout = new QHBoxLayout( topLayout ); |
201 | 204 | ||
202 | QLabel *secrecyLabel = new QLabel(i18n("Access:"),parent); | 205 | QLabel *secrecyLabel = new QLabel(i18n("Access:"),parent); |
203 | mCancelBox = new QCheckBox ( i18n("Cancelled"), parent); | 206 | mCancelBox = new QCheckBox ( i18n("Cancelled"), parent); |
204 | secrecyLayout->addWidget(mCancelBox); | 207 | secrecyLayout->addWidget(mCancelBox); |
205 | secrecyLayout->addWidget(secrecyLabel); | 208 | secrecyLayout->addWidget(secrecyLabel); |
206 | 209 | ||
207 | mSecrecyCombo = new QComboBox(parent); | 210 | mSecrecyCombo = new QComboBox(parent); |
208 | mSecrecyCombo->insertStringList(Incidence::secrecyList()); | 211 | mSecrecyCombo->insertStringList(Incidence::secrecyList()); |
209 | secrecyLayout->addWidget(mSecrecyCombo); | 212 | secrecyLayout->addWidget(mSecrecyCombo); |
210 | } | 213 | } |
211 | 214 | ||
212 | void KOEditorGeneral::initDescription(QWidget *parent,QBoxLayout *topLayout) | 215 | void KOEditorGeneral::initDescription(QWidget *parent,QBoxLayout *topLayout) |
213 | { | 216 | { |
214 | mDescriptionEdit = new KTextEdit(parent); | 217 | mDescriptionEdit = new KTextEdit(parent); |
215 | mDescriptionEdit->setFont(KOPrefs::instance()->mEditBoxFont ); | 218 | mDescriptionEdit->setFont(KOPrefs::instance()->mEditBoxFont ); |
216 | mDescriptionEdit->append(""); | 219 | mDescriptionEdit->append(""); |
217 | mDescriptionEdit->setReadOnly(false); | 220 | mDescriptionEdit->setReadOnly(false); |
218 | mDescriptionEdit->setOverwriteMode(false); | 221 | mDescriptionEdit->setOverwriteMode(false); |
219 | mDescriptionEdit->setWordWrap( KTextEdit::WidgetWidth ); | 222 | mDescriptionEdit->setWordWrap( KTextEdit::WidgetWidth ); |
220 | topLayout->addWidget(mDescriptionEdit); | 223 | topLayout->addWidget(mDescriptionEdit); |
221 | #ifndef DESKTOP_VERSION | 224 | #ifndef DESKTOP_VERSION |
222 | QPEApplication::setStylusOperation( mDescriptionEdit, QPEApplication::RightOnHold ); | 225 | QPEApplication::setStylusOperation( mDescriptionEdit, QPEApplication::RightOnHold ); |
223 | #endif | 226 | #endif |
224 | 227 | ||
225 | } | 228 | } |
226 | 229 | ||
227 | void KOEditorGeneral::initAlarm(QWidget *parent,QBoxLayout *topLayout) | 230 | void KOEditorGeneral::initAlarm(QWidget *parent,QBoxLayout *topLayout) |
228 | { | 231 | { |
229 | QBoxLayout *alarmLayout = new QHBoxLayout(topLayout); | 232 | QBoxLayout *alarmLayout = new QHBoxLayout(topLayout); |
230 | 233 | ||
231 | //mAlarmBell = new QLabel(parent); | 234 | //mAlarmBell = new QLabel(parent); |
232 | //mAlarmBell->setPixmap(SmallIcon("bell")); | 235 | //mAlarmBell->setPixmap(SmallIcon("bell")); |
233 | //alarmLayout->addWidget(mAlarmBell); | 236 | //alarmLayout->addWidget(mAlarmBell); |
234 | if ( QApplication::desktop()->width() < 320 ) | 237 | if ( QApplication::desktop()->width() < 320 ) |
235 | mAlarmButton = new QCheckBox(i18n("Rem."),parent); | 238 | mAlarmButton = new QCheckBox(i18n("Rem."),parent); |
236 | else | 239 | else |
237 | mAlarmButton = new QCheckBox(i18n("Reminder:"),parent); | 240 | mAlarmButton = new QCheckBox(i18n("Reminder:"),parent); |
238 | 241 | ||
239 | connect(mAlarmButton, SIGNAL(toggled(bool)), SLOT(enableAlarmEdit(bool))); | 242 | connect(mAlarmButton, SIGNAL(toggled(bool)), SLOT(enableAlarmEdit(bool))); |
240 | alarmLayout->addWidget(mAlarmButton); | 243 | alarmLayout->addWidget(mAlarmButton); |
241 | 244 | ||
242 | mAlarmTimeEdit = new QSpinBox ( 0, 9999, 1, parent, "mAlarmTimeEdit " ) ; | 245 | mAlarmTimeEdit = new QSpinBox ( 0, 9999, 1, parent, "mAlarmTimeEdit " ) ; |
243 | mAlarmTimeEdit->setButtonSymbols( QSpinBox::PlusMinus ); | 246 | mAlarmTimeEdit->setButtonSymbols( QSpinBox::PlusMinus ); |
244 | alarmLayout->addWidget(mAlarmTimeEdit); | 247 | alarmLayout->addWidget(mAlarmTimeEdit); |
245 | mAlarmIncrCombo = new QComboBox(false, parent); | 248 | mAlarmIncrCombo = new QComboBox(false, parent); |
246 | if ( QApplication::desktop()->width() < 320 ) { | 249 | if ( QApplication::desktop()->width() < 320 ) { |
247 | mAlarmIncrCombo->insertItem(i18n("min")); | 250 | mAlarmIncrCombo->insertItem(i18n("min")); |
248 | mAlarmIncrCombo->insertItem(i18n("hou")); | 251 | mAlarmIncrCombo->insertItem(i18n("hou")); |
249 | mAlarmIncrCombo->insertItem(i18n("day")); | 252 | mAlarmIncrCombo->insertItem(i18n("day")); |
250 | mAlarmTimeEdit->setMaximumWidth( mAlarmTimeEdit->sizeHint().width() ); | 253 | mAlarmTimeEdit->setMaximumWidth( mAlarmTimeEdit->sizeHint().width() ); |
251 | mAlarmIncrCombo->setMaximumWidth( mAlarmIncrCombo->sizeHint().width() ); | 254 | mAlarmIncrCombo->setMaximumWidth( mAlarmIncrCombo->sizeHint().width() ); |
252 | } else { | 255 | } else { |
253 | mAlarmIncrCombo->insertItem(i18n("minute(s)")); | 256 | mAlarmIncrCombo->insertItem(i18n("minute(s)")); |
254 | mAlarmIncrCombo->insertItem(i18n("hour(s)")); | 257 | mAlarmIncrCombo->insertItem(i18n("hour(s)")); |
255 | mAlarmIncrCombo->insertItem(i18n("day(s)")); | 258 | mAlarmIncrCombo->insertItem(i18n("day(s)")); |
256 | } | 259 | } |
257 | 260 | ||
258 | // mAlarmIncrCombo->setMinimumHeight(20); | 261 | // mAlarmIncrCombo->setMinimumHeight(20); |
259 | alarmLayout->addWidget(mAlarmIncrCombo); | 262 | alarmLayout->addWidget(mAlarmIncrCombo); |
260 | mAlarmSoundButton = new QPushButton(parent); | 263 | mAlarmSoundButton = new QPushButton(parent); |
261 | mAlarmSoundButton->setPixmap(SmallIcon("playsound")); | 264 | mAlarmSoundButton->setPixmap(SmallIcon("playsound")); |
262 | mAlarmSoundButton->setToggleButton(true); | 265 | mAlarmSoundButton->setToggleButton(true); |
263 | QToolTip::add(mAlarmSoundButton, i18n("No sound set")); | 266 | QToolTip::add(mAlarmSoundButton, i18n("No sound set")); |
264 | connect(mAlarmSoundButton, SIGNAL(clicked()), SLOT(pickAlarmSound())); | 267 | connect(mAlarmSoundButton, SIGNAL(clicked()), SLOT(pickAlarmSound())); |
265 | alarmLayout->addWidget(mAlarmSoundButton); | 268 | alarmLayout->addWidget(mAlarmSoundButton); |
266 | 269 | ||
267 | mAlarmProgramButton = new QPushButton(parent); | 270 | mAlarmProgramButton = new QPushButton(parent); |
268 | mAlarmProgramButton->setPixmap(SmallIcon("run")); | 271 | mAlarmProgramButton->setPixmap(SmallIcon("run")); |
269 | mAlarmProgramButton->setToggleButton(true); | 272 | mAlarmProgramButton->setToggleButton(true); |
270 | QToolTip::add(mAlarmProgramButton, i18n("No program set")); | 273 | QToolTip::add(mAlarmProgramButton, i18n("No program set")); |
271 | connect(mAlarmProgramButton, SIGNAL(clicked()), SLOT(pickAlarmProgram())); | 274 | connect(mAlarmProgramButton, SIGNAL(clicked()), SLOT(pickAlarmProgram())); |
272 | alarmLayout->addWidget(mAlarmProgramButton); | 275 | alarmLayout->addWidget(mAlarmProgramButton); |
273 | mAlarmSoundButton->setMaximumWidth( mAlarmSoundButton->sizeHint().width() + 4 ); | 276 | mAlarmSoundButton->setMaximumWidth( mAlarmSoundButton->sizeHint().width() + 4 ); |
274 | mAlarmProgramButton->setMaximumWidth(mAlarmProgramButton->sizeHint().width() + 4 ); | 277 | mAlarmProgramButton->setMaximumWidth(mAlarmProgramButton->sizeHint().width() + 4 ); |
275 | // if ( KOPrefs::instance()->mCompactDialogs ) { | 278 | // if ( KOPrefs::instance()->mCompactDialogs ) { |
276 | // mAlarmSoundButton->hide(); | 279 | // mAlarmSoundButton->hide(); |
277 | // mAlarmProgramButton->hide(); | 280 | // mAlarmProgramButton->hide(); |
278 | // } | 281 | // } |
279 | } | 282 | } |
280 | 283 | ||
281 | void KOEditorGeneral::pickAlarmSound() | 284 | void KOEditorGeneral::pickAlarmSound() |
282 | { | 285 | { |
283 | 286 | ||
284 | //qDebug("KOEditorGeneral::pickAlarmSound() %d",mAlarmSoundButton->isOn() ); | 287 | //qDebug("KOEditorGeneral::pickAlarmSound() %d",mAlarmSoundButton->isOn() ); |
285 | 288 | ||
286 | bool oldState = mAlarmSoundButton->isOn(); | 289 | bool oldState = mAlarmSoundButton->isOn(); |
287 | 290 | ||
288 | QString fileName(KFileDialog::getOpenFileName(mAlarmSound, | 291 | QString fileName(KFileDialog::getOpenFileName(mAlarmSound, |
diff --git a/korganizer/koeditorgeneralevent.cpp b/korganizer/koeditorgeneralevent.cpp index 3dd7f5c..2c6ed9f 100644 --- a/korganizer/koeditorgeneralevent.cpp +++ b/korganizer/koeditorgeneralevent.cpp | |||
@@ -1,191 +1,192 @@ | |||
1 | /* | 1 | /* |
2 | This file is part of KOrganizer. | 2 | This file is part of KOrganizer. |
3 | Copyright (c) 2001 Cornelius Schumacher <schumacher@kde.org> | 3 | Copyright (c) 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 <qtooltip.h> | 24 | #include <qtooltip.h> |
25 | #include <qlayout.h> | 25 | #include <qlayout.h> |
26 | #include <qvbox.h> | 26 | #include <qvbox.h> |
27 | #include <qbuttongroup.h> | 27 | #include <qbuttongroup.h> |
28 | #include <qvgroupbox.h> | 28 | #include <qvgroupbox.h> |
29 | #include <qwidgetstack.h> | 29 | #include <qwidgetstack.h> |
30 | #include <qdatetime.h> | 30 | #include <qdatetime.h> |
31 | 31 | ||
32 | #include <kdebug.h> | 32 | #include <kdebug.h> |
33 | #include <kglobal.h> | 33 | #include <kglobal.h> |
34 | #include <kdialog.h> | ||
34 | #include <klocale.h> | 35 | #include <klocale.h> |
35 | #include <kiconloader.h> | 36 | #include <kiconloader.h> |
36 | #include <kmessagebox.h> | 37 | #include <kmessagebox.h> |
37 | #include <kfiledialog.h> | 38 | #include <kfiledialog.h> |
38 | #include <kstandarddirs.h> | 39 | #include <kstandarddirs.h> |
39 | 40 | ||
40 | #include <libkcal/event.h> | 41 | #include <libkcal/event.h> |
41 | 42 | ||
42 | #include <libkdepim/kdateedit.h> | 43 | #include <libkdepim/kdateedit.h> |
43 | 44 | ||
44 | #include "koprefs.h" | 45 | #include "koprefs.h" |
45 | 46 | ||
46 | #include "koeditorgeneralevent.h" | 47 | #include "koeditorgeneralevent.h" |
47 | #include "kolocationbox.h" | 48 | #include "kolocationbox.h" |
48 | 49 | ||
49 | KOEditorGeneralEvent::KOEditorGeneralEvent(QObject* parent, | 50 | KOEditorGeneralEvent::KOEditorGeneralEvent(QObject* parent, |
50 | const char* name) : | 51 | const char* name) : |
51 | KOEditorGeneral( parent, name) | 52 | KOEditorGeneral( parent, name) |
52 | { | 53 | { |
53 | mTemplate = false; | 54 | mTemplate = false; |
54 | connect(this,SIGNAL(dateTimesChanged(QDateTime,QDateTime)), | 55 | connect(this,SIGNAL(dateTimesChanged(QDateTime,QDateTime)), |
55 | SLOT(setDuration())); | 56 | SLOT(setDuration())); |
56 | connect(this,SIGNAL(dateTimesChanged(QDateTime,QDateTime)), | 57 | connect(this,SIGNAL(dateTimesChanged(QDateTime,QDateTime)), |
57 | SLOT(emitDateTimeStr())); | 58 | SLOT(emitDateTimeStr())); |
58 | } | 59 | } |
59 | 60 | ||
60 | KOEditorGeneralEvent::~KOEditorGeneralEvent() | 61 | KOEditorGeneralEvent::~KOEditorGeneralEvent() |
61 | { | 62 | { |
62 | } | 63 | } |
63 | 64 | ||
64 | void KOEditorGeneralEvent::finishSetup() | 65 | void KOEditorGeneralEvent::finishSetup() |
65 | { | 66 | { |
66 | 67 | ||
67 | //disabled | 68 | //disabled |
68 | // QWidget::setTabOrder( mSummaryEdit, mLocationEdit ); | 69 | // QWidget::setTabOrder( mSummaryEdit, mLocationEdit ); |
69 | // QWidget::setTabOrder( mLocationEdit, mStartDateEdit ); | 70 | // QWidget::setTabOrder( mLocationEdit, mStartDateEdit ); |
70 | // QWidget::setTabOrder( mStartDateEdit, mStartTimeEdit ); | 71 | // QWidget::setTabOrder( mStartDateEdit, mStartTimeEdit ); |
71 | // QWidget::setTabOrder( mStartTimeEdit, mEndDateEdit ); | 72 | // QWidget::setTabOrder( mStartTimeEdit, mEndDateEdit ); |
72 | // QWidget::setTabOrder( mEndDateEdit, mEndTimeEdit ); | 73 | // QWidget::setTabOrder( mEndDateEdit, mEndTimeEdit ); |
73 | // QWidget::setTabOrder( mEndTimeEdit, mNoTimeButton ); | 74 | // QWidget::setTabOrder( mEndTimeEdit, mNoTimeButton ); |
74 | // QWidget::setTabOrder( mNoTimeButton, mAlarmButton ); | 75 | // QWidget::setTabOrder( mNoTimeButton, mAlarmButton ); |
75 | // QWidget::setTabOrder( mAlarmButton, mAlarmTimeEdit ); | 76 | // QWidget::setTabOrder( mAlarmButton, mAlarmTimeEdit ); |
76 | // QWidget::setTabOrder( mFreeTimeCombo, mCategoriesButton ); | 77 | // QWidget::setTabOrder( mFreeTimeCombo, mCategoriesButton ); |
77 | // QWidget::setTabOrder( mCategoriesButton, mSecrecyCombo ); | 78 | // QWidget::setTabOrder( mCategoriesButton, mSecrecyCombo ); |
78 | // QWidget::setTabOrder( mSecrecyCombo, mDescriptionEdit ); | 79 | // QWidget::setTabOrder( mSecrecyCombo, mDescriptionEdit ); |
79 | 80 | ||
80 | 81 | ||
81 | 82 | ||
82 | mSummaryEdit->load(KOLocationBox::SUMMARYEVENT); | 83 | mSummaryEdit->load(KOLocationBox::SUMMARYEVENT); |
83 | mSummaryEdit->setFocus(); | 84 | mSummaryEdit->setFocus(); |
84 | } | 85 | } |
85 | 86 | ||
86 | void KOEditorGeneralEvent::initTime(QWidget *parent,QBoxLayout *topLayout) | 87 | void KOEditorGeneralEvent::initTime(QWidget *parent,QBoxLayout *topLayout) |
87 | { | 88 | { |
88 | QBoxLayout *timeLayout = new QVBoxLayout(topLayout); | 89 | QBoxLayout *timeLayout = new QVBoxLayout(topLayout); |
89 | 90 | ||
90 | QGroupBox *timeGroupBox = new QGroupBox(1,QGroupBox::Horizontal, | 91 | QGroupBox *timeGroupBox = new QGroupBox(1,QGroupBox::Horizontal, |
91 | i18n("Date && Time"),parent); | 92 | i18n("Date && Time"),parent); |
92 | timeLayout->addWidget(timeGroupBox); | 93 | timeLayout->addWidget(timeGroupBox); |
93 | 94 | ||
94 | timeGroupBox->layout()->setSpacing( 0 ); | 95 | timeGroupBox->layout()->setSpacing( KDialog::spacingHintSmall() ); |
95 | timeGroupBox->layout()->setMargin( 5 ); | 96 | timeGroupBox->layout()->setMargin( KDialog::marginHint() ); |
96 | QFrame *timeBoxFrame = new QFrame(timeGroupBox); | 97 | QFrame *timeBoxFrame = new QFrame(timeGroupBox); |
97 | 98 | ||
98 | QGridLayout *layoutTimeBox = new QGridLayout(timeBoxFrame,2,3); | 99 | QGridLayout *layoutTimeBox = new QGridLayout(timeBoxFrame,2,3); |
99 | layoutTimeBox->setSpacing(topLayout->spacing()); | 100 | layoutTimeBox->setSpacing(topLayout->spacing()); |
100 | 101 | ||
101 | mStartDateLabel = new QLabel(i18n("Start:"),timeBoxFrame); | 102 | mStartDateLabel = new QLabel(i18n("Start:"),timeBoxFrame); |
102 | layoutTimeBox->addWidget(mStartDateLabel,0,0); | 103 | layoutTimeBox->addWidget(mStartDateLabel,0,0); |
103 | 104 | ||
104 | mStartDateEdit = new KDateEdit(timeBoxFrame); | 105 | mStartDateEdit = new KDateEdit(timeBoxFrame); |
105 | layoutTimeBox->addWidget(mStartDateEdit,0,1); | 106 | layoutTimeBox->addWidget(mStartDateEdit,0,1); |
106 | 107 | ||
107 | mStartTimeEdit = new KOTimeEdit(timeBoxFrame); | 108 | mStartTimeEdit = new KOTimeEdit(timeBoxFrame); |
108 | layoutTimeBox->addWidget(mStartTimeEdit,0,2); | 109 | layoutTimeBox->addWidget(mStartTimeEdit,0,2); |
109 | 110 | ||
110 | 111 | ||
111 | mEndDateLabel = new QLabel(i18n("End:"),timeBoxFrame); | 112 | mEndDateLabel = new QLabel(i18n("End:"),timeBoxFrame); |
112 | layoutTimeBox->addWidget(mEndDateLabel,1,0); | 113 | layoutTimeBox->addWidget(mEndDateLabel,1,0); |
113 | 114 | ||
114 | mEndDateEdit = new KDateEdit(timeBoxFrame); | 115 | mEndDateEdit = new KDateEdit(timeBoxFrame); |
115 | layoutTimeBox->addWidget(mEndDateEdit,1,1); | 116 | layoutTimeBox->addWidget(mEndDateEdit,1,1); |
116 | 117 | ||
117 | mEndTimeEdit = new KOTimeEdit(timeBoxFrame); | 118 | mEndTimeEdit = new KOTimeEdit(timeBoxFrame); |
118 | layoutTimeBox->addWidget(mEndTimeEdit,1,2); | 119 | layoutTimeBox->addWidget(mEndTimeEdit,1,2); |
119 | QWidget* duration = new QWidget( timeBoxFrame ); | 120 | QWidget* duration = new QWidget( timeBoxFrame ); |
120 | QHBoxLayout *flagsBox = new QHBoxLayout( duration ); | 121 | QHBoxLayout *flagsBox = new QHBoxLayout( duration ); |
121 | mNoTimeButton = new QCheckBox(i18n("All day event"),duration); | 122 | mNoTimeButton = new QCheckBox(i18n("All day event"),duration); |
122 | flagsBox->addWidget(mNoTimeButton); | 123 | flagsBox->addWidget(mNoTimeButton); |
123 | connect(mNoTimeButton, SIGNAL(toggled(bool)),SLOT(dontAssociateTime(bool))); | 124 | connect(mNoTimeButton, SIGNAL(toggled(bool)),SLOT(dontAssociateTime(bool))); |
124 | mDurationLabel = new QLabel( duration ); | 125 | mDurationLabel = new QLabel( duration ); |
125 | // if ( KOPrefs::instance()->mCompactDialogs ) { | 126 | // if ( KOPrefs::instance()->mCompactDialogs ) { |
126 | //layoutTimeBox->addMultiCellWidget( mDurationLabel, 3, 3, 0, 3 ); | 127 | //layoutTimeBox->addMultiCellWidget( mDurationLabel, 3, 3, 0, 3 ); |
127 | //} else { | 128 | //} else { |
128 | flagsBox->addWidget( mDurationLabel ); | 129 | flagsBox->addWidget( mDurationLabel ); |
129 | //} | 130 | //} |
130 | flagsBox->setStretchFactor(mDurationLabel, 10 ); | 131 | flagsBox->setStretchFactor(mDurationLabel, 10 ); |
131 | mDurationLabel->setAlignment( AlignRight | AlignVCenter); | 132 | mDurationLabel->setAlignment( AlignRight | AlignVCenter); |
132 | layoutTimeBox->addMultiCellWidget( duration, 2, 2, 0, 3 ); | 133 | layoutTimeBox->addMultiCellWidget( duration, 2, 2, 0, 3 ); |
133 | 134 | ||
134 | // time widgets are checked if they contain a valid time | 135 | // time widgets are checked if they contain a valid time |
135 | connect(mStartTimeEdit, SIGNAL(timeChanged(QTime)), | 136 | connect(mStartTimeEdit, SIGNAL(timeChanged(QTime)), |
136 | this, SLOT(startTimeChanged(QTime))); | 137 | this, SLOT(startTimeChanged(QTime))); |
137 | connect(mEndTimeEdit, SIGNAL(timeChanged(QTime)), | 138 | connect(mEndTimeEdit, SIGNAL(timeChanged(QTime)), |
138 | this, SLOT(endTimeChanged(QTime))); | 139 | this, SLOT(endTimeChanged(QTime))); |
139 | 140 | ||
140 | // date widgets are checked if they contain a valid date | 141 | // date widgets are checked if they contain a valid date |
141 | connect(mStartDateEdit, SIGNAL(dateChanged(QDate)), | 142 | connect(mStartDateEdit, SIGNAL(dateChanged(QDate)), |
142 | this, SLOT(startDateChanged(QDate))); | 143 | this, SLOT(startDateChanged(QDate))); |
143 | connect(mEndDateEdit, SIGNAL(dateChanged(QDate)), | 144 | connect(mEndDateEdit, SIGNAL(dateChanged(QDate)), |
144 | this, SLOT(endDateChanged(QDate))); | 145 | this, SLOT(endDateChanged(QDate))); |
145 | connect(mStartDateEdit,SIGNAL(setTimeTo(QTime)),this,SLOT(sTimeChanged(QTime))); | 146 | connect(mStartDateEdit,SIGNAL(setTimeTo(QTime)),this,SLOT(sTimeChanged(QTime))); |
146 | connect(mEndDateEdit,SIGNAL(setTimeTo(QTime)),this,SLOT(eTimeChanged(QTime))); | 147 | connect(mEndDateEdit,SIGNAL(setTimeTo(QTime)),this,SLOT(eTimeChanged(QTime))); |
147 | } | 148 | } |
148 | 149 | ||
149 | void KOEditorGeneralEvent::initClass(QWidget *parent,QBoxLayout *topLayout) | 150 | void KOEditorGeneralEvent::initClass(QWidget *parent,QBoxLayout *topLayout) |
150 | { | 151 | { |
151 | QBoxLayout *classLayout = new QHBoxLayout(topLayout); | 152 | QBoxLayout *classLayout = new QHBoxLayout(topLayout); |
152 | 153 | ||
153 | QLabel *freeTimeLabel = new QLabel(i18n("Show time as:"),parent); | 154 | QLabel *freeTimeLabel = new QLabel(i18n("Show time as:"),parent); |
154 | classLayout->addWidget(freeTimeLabel); | 155 | classLayout->addWidget(freeTimeLabel); |
155 | 156 | ||
156 | mFreeTimeCombo = new QComboBox(false, parent); | 157 | mFreeTimeCombo = new QComboBox(false, parent); |
157 | mFreeTimeCombo->insertItem(i18n("Busy")); | 158 | mFreeTimeCombo->insertItem(i18n("Busy")); |
158 | mFreeTimeCombo->insertItem(i18n("Free")); | 159 | mFreeTimeCombo->insertItem(i18n("Free")); |
159 | classLayout->addWidget(mFreeTimeCombo); | 160 | classLayout->addWidget(mFreeTimeCombo); |
160 | } | 161 | } |
161 | 162 | ||
162 | void KOEditorGeneralEvent::timeStuffDisable(bool disable) | 163 | void KOEditorGeneralEvent::timeStuffDisable(bool disable) |
163 | { | 164 | { |
164 | mStartTimeEdit->setEnabled( !disable ); | 165 | mStartTimeEdit->setEnabled( !disable ); |
165 | mEndTimeEdit->setEnabled( !disable ); | 166 | mEndTimeEdit->setEnabled( !disable ); |
166 | 167 | ||
167 | setDuration(); | 168 | setDuration(); |
168 | emitDateTimeStr(); | 169 | emitDateTimeStr(); |
169 | } | 170 | } |
170 | 171 | ||
171 | void KOEditorGeneralEvent::dontAssociateTime(bool noTime) | 172 | void KOEditorGeneralEvent::dontAssociateTime(bool noTime) |
172 | { | 173 | { |
173 | timeStuffDisable(noTime); | 174 | timeStuffDisable(noTime); |
174 | //if(alarmButton->isChecked()) alarmStuffDisable(noTime); | 175 | //if(alarmButton->isChecked()) alarmStuffDisable(noTime); |
175 | allDayChanged(noTime); | 176 | allDayChanged(noTime); |
176 | } | 177 | } |
177 | 178 | ||
178 | void KOEditorGeneralEvent::setDateTimes(QDateTime start, QDateTime end) | 179 | void KOEditorGeneralEvent::setDateTimes(QDateTime start, QDateTime end) |
179 | { | 180 | { |
180 | // kdDebug() << "KOEditorGeneralEvent::setDateTimes(): Start DateTime: " << start.toString() << endl; | 181 | // kdDebug() << "KOEditorGeneralEvent::setDateTimes(): Start DateTime: " << start.toString() << endl; |
181 | if ( !mTemplate ) | 182 | if ( !mTemplate ) |
182 | mStartDateEdit->setDate(start.date()); | 183 | mStartDateEdit->setDate(start.date()); |
183 | // KTimeEdit seems to emit some signals when setTime() is called. | 184 | // KTimeEdit seems to emit some signals when setTime() is called. |
184 | mStartTimeEdit->blockSignals( true ); | 185 | mStartTimeEdit->blockSignals( true ); |
185 | mStartTimeEdit->setTime(start.time()); | 186 | mStartTimeEdit->setTime(start.time()); |
186 | mStartTimeEdit->blockSignals( false ); | 187 | mStartTimeEdit->blockSignals( false ); |
187 | if ( !mTemplate ) | 188 | if ( !mTemplate ) |
188 | mEndDateEdit->setDate(end.date()); | 189 | mEndDateEdit->setDate(end.date()); |
189 | mEndTimeEdit->setTime(end.time()); | 190 | mEndTimeEdit->setTime(end.time()); |
190 | 191 | ||
191 | mCurrStartDateTime = start; | 192 | mCurrStartDateTime = start; |
diff --git a/korganizer/koeditorgeneraltodo.cpp b/korganizer/koeditorgeneraltodo.cpp index 0a734ee..965cf47 100644 --- a/korganizer/koeditorgeneraltodo.cpp +++ b/korganizer/koeditorgeneraltodo.cpp | |||
@@ -1,188 +1,188 @@ | |||
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 <qtooltip.h> | 24 | #include <qtooltip.h> |
25 | #include <qfiledialog.h> | 25 | #include <qfiledialog.h> |
26 | #include <qlayout.h> | 26 | #include <qlayout.h> |
27 | #include <qvbox.h> | 27 | #include <qvbox.h> |
28 | #include <qbuttongroup.h> | 28 | #include <qbuttongroup.h> |
29 | #include <qvgroupbox.h> | 29 | #include <qvgroupbox.h> |
30 | #include <qwidgetstack.h> | 30 | #include <qwidgetstack.h> |
31 | #include <qdatetime.h> | 31 | #include <qdatetime.h> |
32 | #include <qapplication.h> | 32 | #include <qapplication.h> |
33 | 33 | ||
34 | #include <kglobal.h> | 34 | #include <kglobal.h> |
35 | #include <klocale.h> | 35 | #include <klocale.h> |
36 | #include <kiconloader.h> | 36 | #include <kiconloader.h> |
37 | #include <kmessagebox.h> | 37 | #include <kmessagebox.h> |
38 | #include <kdebug.h> | 38 | #include <kdebug.h> |
39 | #include <krestrictedline.h> | 39 | #include <krestrictedline.h> |
40 | #include <kstandarddirs.h> | 40 | #include <kstandarddirs.h> |
41 | #include <kfiledialog.h> | 41 | #include <kfiledialog.h> |
42 | #include <kdialog.h> | 42 | #include <kdialog.h> |
43 | 43 | ||
44 | #include <libkcal/todo.h> | 44 | #include <libkcal/todo.h> |
45 | 45 | ||
46 | #include <libkdepim/kdateedit.h> | 46 | #include <libkdepim/kdateedit.h> |
47 | 47 | ||
48 | #include "koprefs.h" | 48 | #include "koprefs.h" |
49 | #include "ktimeedit.h" | 49 | #include "ktimeedit.h" |
50 | 50 | ||
51 | #include "koeditorgeneraltodo.h" | 51 | #include "koeditorgeneraltodo.h" |
52 | #include "kolocationbox.h" | 52 | #include "kolocationbox.h" |
53 | 53 | ||
54 | KOEditorGeneralTodo::KOEditorGeneralTodo(QObject* parent, | 54 | KOEditorGeneralTodo::KOEditorGeneralTodo(QObject* parent, |
55 | const char* name) | 55 | const char* name) |
56 | : KOEditorGeneral( parent, name) | 56 | : KOEditorGeneral( parent, name) |
57 | { | 57 | { |
58 | } | 58 | } |
59 | 59 | ||
60 | KOEditorGeneralTodo::~KOEditorGeneralTodo() | 60 | KOEditorGeneralTodo::~KOEditorGeneralTodo() |
61 | { | 61 | { |
62 | } | 62 | } |
63 | 63 | ||
64 | void KOEditorGeneralTodo::finishSetup() | 64 | void KOEditorGeneralTodo::finishSetup() |
65 | { | 65 | { |
66 | 66 | ||
67 | // QWidget::setTabOrder(mSummaryEdit, mLocationEdit); | 67 | // QWidget::setTabOrder(mSummaryEdit, mLocationEdit); |
68 | // QWidget::setTabOrder(mLocationEdit, mDueCheck); | 68 | // QWidget::setTabOrder(mLocationEdit, mDueCheck); |
69 | // QWidget::setTabOrder(mDueCheck, mDueDateEdit); | 69 | // QWidget::setTabOrder(mDueCheck, mDueDateEdit); |
70 | // QWidget::setTabOrder(mDueDateEdit, mDueTimeEdit); | 70 | // QWidget::setTabOrder(mDueDateEdit, mDueTimeEdit); |
71 | // QWidget::setTabOrder(mDueTimeEdit, mStartCheck); | 71 | // QWidget::setTabOrder(mDueTimeEdit, mStartCheck); |
72 | // QWidget::setTabOrder(mStartCheck, mStartDateEdit); | 72 | // QWidget::setTabOrder(mStartCheck, mStartDateEdit); |
73 | // QWidget::setTabOrder(mStartDateEdit, mStartTimeEdit); | 73 | // QWidget::setTabOrder(mStartDateEdit, mStartTimeEdit); |
74 | // QWidget::setTabOrder(mStartTimeEdit, mTimeButton); | 74 | // QWidget::setTabOrder(mStartTimeEdit, mTimeButton); |
75 | // QWidget::setTabOrder(mTimeButton, mCompletedCombo); | 75 | // QWidget::setTabOrder(mTimeButton, mCompletedCombo); |
76 | // QWidget::setTabOrder(mCompletedCombo, mPriorityCombo); | 76 | // QWidget::setTabOrder(mCompletedCombo, mPriorityCombo); |
77 | // QWidget::setTabOrder(mPriorityCombo, mAlarmButton); | 77 | // QWidget::setTabOrder(mPriorityCombo, mAlarmButton); |
78 | // QWidget::setTabOrder(mAlarmButton, mCategoriesButton); | 78 | // QWidget::setTabOrder(mAlarmButton, mCategoriesButton); |
79 | // QWidget::setTabOrder(mCategoriesButton, mSecrecyCombo); | 79 | // QWidget::setTabOrder(mCategoriesButton, mSecrecyCombo); |
80 | // QWidget::setTabOrder(mSecrecyCombo, mDescriptionEdit); | 80 | // QWidget::setTabOrder(mSecrecyCombo, mDescriptionEdit); |
81 | mSummaryEdit->load(KOLocationBox::SUMMARYTODO); | 81 | mSummaryEdit->load(KOLocationBox::SUMMARYTODO); |
82 | mSummaryEdit->setFocus(); | 82 | mSummaryEdit->setFocus(); |
83 | } | 83 | } |
84 | 84 | ||
85 | void KOEditorGeneralTodo::initTime(QWidget *parent,QBoxLayout *topLayout) | 85 | void KOEditorGeneralTodo::initTime(QWidget *parent,QBoxLayout *topLayout) |
86 | { | 86 | { |
87 | QBoxLayout *timeLayout = new QVBoxLayout(topLayout); | 87 | QBoxLayout *timeLayout = new QVBoxLayout(topLayout); |
88 | 88 | ||
89 | QGroupBox *timeGroupBox = new QGroupBox(1,QGroupBox::Horizontal, | 89 | QGroupBox *timeGroupBox = new QGroupBox(1,QGroupBox::Horizontal, |
90 | i18n("Date && Time"),parent); | 90 | i18n("Date && Time"),parent); |
91 | timeLayout->addWidget(timeGroupBox); | 91 | timeLayout->addWidget(timeGroupBox); |
92 | timeGroupBox->layout()->setSpacing( KDialog::spacingHintSmall() ); | 92 | timeGroupBox->layout()->setSpacing( KDialog::spacingHint()-2 ); |
93 | timeGroupBox->layout()->setMargin( KDialog::marginHint() ); | 93 | timeGroupBox->layout()->setMargin( KDialog::marginHint() ); |
94 | QFrame *timeBoxFrame = new QFrame(timeGroupBox); | 94 | QFrame *timeBoxFrame = new QFrame(timeGroupBox); |
95 | 95 | ||
96 | QGridLayout *layoutTimeBox = new QGridLayout(timeBoxFrame,3,3); | 96 | QGridLayout *layoutTimeBox = new QGridLayout(timeBoxFrame,3,3); |
97 | layoutTimeBox->setSpacing(KDialog::spacingHintSmall()); | 97 | layoutTimeBox->setSpacing(KDialog::spacingHintSmall()); |
98 | layoutTimeBox->setColStretch( 1, 1 ); | 98 | layoutTimeBox->setColStretch( 1, 1 ); |
99 | 99 | ||
100 | mDueCheck = new QCheckBox(i18n("Due:"),timeBoxFrame); | 100 | mDueCheck = new QCheckBox(i18n("Due:"),timeBoxFrame); |
101 | layoutTimeBox->addWidget(mDueCheck,1,0); | 101 | layoutTimeBox->addWidget(mDueCheck,1,0); |
102 | connect(mDueCheck,SIGNAL(toggled(bool)),SLOT(enableDueEdit(bool))); | 102 | connect(mDueCheck,SIGNAL(toggled(bool)),SLOT(enableDueEdit(bool))); |
103 | connect(mDueCheck,SIGNAL(toggled(bool)),SLOT(showAlarm())); | 103 | connect(mDueCheck,SIGNAL(toggled(bool)),SLOT(showAlarm())); |
104 | 104 | ||
105 | 105 | ||
106 | mDueDateEdit = new KDateEdit(timeBoxFrame); | 106 | mDueDateEdit = new KDateEdit(timeBoxFrame); |
107 | layoutTimeBox->addWidget(mDueDateEdit,1,1); | 107 | layoutTimeBox->addWidget(mDueDateEdit,1,1); |
108 | 108 | ||
109 | mDueTimeEdit = new KOTimeEdit(timeBoxFrame); | 109 | mDueTimeEdit = new KOTimeEdit(timeBoxFrame); |
110 | layoutTimeBox->addWidget(mDueTimeEdit,1,2); | 110 | layoutTimeBox->addWidget(mDueTimeEdit,1,2); |
111 | 111 | ||
112 | 112 | ||
113 | mStartCheck = new QCheckBox(i18n("Start:"),timeBoxFrame); | 113 | mStartCheck = new QCheckBox(i18n("Start:"),timeBoxFrame); |
114 | layoutTimeBox->addWidget(mStartCheck,0,0); | 114 | layoutTimeBox->addWidget(mStartCheck,0,0); |
115 | connect(mStartCheck,SIGNAL(toggled(bool)),SLOT(enableStartEdit(bool))); | 115 | connect(mStartCheck,SIGNAL(toggled(bool)),SLOT(enableStartEdit(bool))); |
116 | 116 | ||
117 | mStartDateEdit = new KDateEdit(timeBoxFrame); | 117 | mStartDateEdit = new KDateEdit(timeBoxFrame); |
118 | layoutTimeBox->addWidget(mStartDateEdit,0,1); | 118 | layoutTimeBox->addWidget(mStartDateEdit,0,1); |
119 | 119 | ||
120 | mStartTimeEdit = new KOTimeEdit(timeBoxFrame); | 120 | mStartTimeEdit = new KOTimeEdit(timeBoxFrame); |
121 | layoutTimeBox->addWidget(mStartTimeEdit,0,2); | 121 | layoutTimeBox->addWidget(mStartTimeEdit,0,2); |
122 | 122 | ||
123 | 123 | ||
124 | mTimeButton = new QCheckBox(i18n("Time associated"),timeBoxFrame); | 124 | mTimeButton = new QCheckBox(i18n("Time associated"),timeBoxFrame); |
125 | layoutTimeBox->addMultiCellWidget(mTimeButton,2,2,0,1); | 125 | layoutTimeBox->addMultiCellWidget(mTimeButton,2,2,0,1); |
126 | 126 | ||
127 | connect(mTimeButton,SIGNAL(toggled(bool)),SLOT(enableTimeEdits(bool))); | 127 | connect(mTimeButton,SIGNAL(toggled(bool)),SLOT(enableTimeEdits(bool))); |
128 | connect(mDueDateEdit,SIGNAL(setTimeTo(QTime)),mDueTimeEdit,SLOT(setTime(QTime))); | 128 | connect(mDueDateEdit,SIGNAL(setTimeTo(QTime)),mDueTimeEdit,SLOT(setTime(QTime))); |
129 | connect(mStartDateEdit,SIGNAL(setTimeTo(QTime)),mStartTimeEdit,SLOT(setTime(QTime))); | 129 | connect(mStartDateEdit,SIGNAL(setTimeTo(QTime)),mStartTimeEdit,SLOT(setTime(QTime))); |
130 | connect(mStartDateEdit, SIGNAL(dateChanged(QDate)), | 130 | connect(mStartDateEdit, SIGNAL(dateChanged(QDate)), |
131 | this, SLOT(startDateChanged(QDate))); | 131 | this, SLOT(startDateChanged(QDate))); |
132 | // some more layouting | 132 | // some more layouting |
133 | //layoutTimeBox->setColStretch(3,1); | 133 | //layoutTimeBox->setColStretch(3,1); |
134 | } | 134 | } |
135 | 135 | ||
136 | 136 | ||
137 | void KOEditorGeneralTodo::initCompletion(QWidget *parent, QBoxLayout *topLayout) | 137 | void KOEditorGeneralTodo::initCompletion(QWidget *parent, QBoxLayout *topLayout) |
138 | { | 138 | { |
139 | mCompletedCombo = new QComboBox(parent); | 139 | mCompletedCombo = new QComboBox(parent); |
140 | // xgettext:no-c-format | 140 | // xgettext:no-c-format |
141 | mCompletedCombo->insertItem(i18n(" 0 %")); | 141 | mCompletedCombo->insertItem(i18n(" 0 %")); |
142 | // xgettext:no-c-format | 142 | // xgettext:no-c-format |
143 | mCompletedCombo->insertItem(i18n(" 20 %")); | 143 | mCompletedCombo->insertItem(i18n(" 20 %")); |
144 | // xgettext:no-c-format | 144 | // xgettext:no-c-format |
145 | mCompletedCombo->insertItem(i18n(" 40 %")); | 145 | mCompletedCombo->insertItem(i18n(" 40 %")); |
146 | // xgettext:no-c-format | 146 | // xgettext:no-c-format |
147 | mCompletedCombo->insertItem(i18n(" 60 %")); | 147 | mCompletedCombo->insertItem(i18n(" 60 %")); |
148 | // xgettext:no-c-format | 148 | // xgettext:no-c-format |
149 | mCompletedCombo->insertItem(i18n(" 80 %")); | 149 | mCompletedCombo->insertItem(i18n(" 80 %")); |
150 | // xgettext:no-c-format | 150 | // xgettext:no-c-format |
151 | mCompletedCombo->insertItem(i18n("100 %")); | 151 | mCompletedCombo->insertItem(i18n("100 %")); |
152 | connect(mCompletedCombo,SIGNAL(activated(int)),SLOT(completedChanged(int))); | 152 | connect(mCompletedCombo,SIGNAL(activated(int)),SLOT(completedChanged(int))); |
153 | topLayout->addWidget(mCompletedCombo); | 153 | topLayout->addWidget(mCompletedCombo); |
154 | 154 | ||
155 | mCompletedLabel = new QLabel(i18n("completed"),parent); | 155 | mCompletedLabel = new QLabel(i18n("completed"),parent); |
156 | topLayout->addWidget(mCompletedLabel); | 156 | topLayout->addWidget(mCompletedLabel); |
157 | 157 | ||
158 | mCompleteDateEdit = new KDateEdit(parent); | 158 | mCompleteDateEdit = new KDateEdit(parent); |
159 | topLayout->addWidget(mCompleteDateEdit ); | 159 | topLayout->addWidget(mCompleteDateEdit ); |
160 | 160 | ||
161 | mCompleteTimeEdit = new KOTimeEdit(parent); | 161 | mCompleteTimeEdit = new KOTimeEdit(parent); |
162 | topLayout->addWidget( mCompleteTimeEdit); | 162 | topLayout->addWidget( mCompleteTimeEdit); |
163 | 163 | ||
164 | mCompletedCombo->setSizePolicy( QSizePolicy( QSizePolicy::Preferred,QSizePolicy::Preferred) ); | 164 | mCompletedCombo->setSizePolicy( QSizePolicy( QSizePolicy::Preferred,QSizePolicy::Preferred) ); |
165 | mCompletedLabel->setSizePolicy( QSizePolicy( QSizePolicy::Expanding,QSizePolicy::Preferred) ); | 165 | mCompletedLabel->setSizePolicy( QSizePolicy( QSizePolicy::Expanding,QSizePolicy::Preferred) ); |
166 | connect(mCompleteDateEdit,SIGNAL(setTimeTo(QTime)),mCompleteTimeEdit,SLOT(setTime(QTime))); | 166 | connect(mCompleteDateEdit,SIGNAL(setTimeTo(QTime)),mCompleteTimeEdit,SLOT(setTime(QTime))); |
167 | 167 | ||
168 | if ( QApplication::desktop()->width() <= 480 ) { | 168 | if ( QApplication::desktop()->width() <= 480 ) { |
169 | if ( QApplication::desktop()->width() < 320 ) | 169 | if ( QApplication::desktop()->width() < 320 ) |
170 | mCompleteDateEdit->setMaximumWidth( 85 ); | 170 | mCompleteDateEdit->setMaximumWidth( 85 ); |
171 | else | 171 | else |
172 | mCompleteDateEdit->setMaximumWidth( 140 ); | 172 | mCompleteDateEdit->setMaximumWidth( 140 ); |
173 | topLayout->setSpacing( 0 ); | 173 | topLayout->setSpacing( 0 ); |
174 | } | 174 | } |
175 | } | 175 | } |
176 | 176 | ||
177 | void KOEditorGeneralTodo::initPriority(QWidget *parent, QBoxLayout *topLayout) | 177 | void KOEditorGeneralTodo::initPriority(QWidget *parent, QBoxLayout *topLayout) |
178 | { | 178 | { |
179 | 179 | ||
180 | QHBox* h = new QHBox ( parent ); | 180 | QHBox* h = new QHBox ( parent ); |
181 | topLayout->addWidget( h ); | 181 | topLayout->addWidget( h ); |
182 | QLabel *priorityLabel = new QLabel(i18n("Priority:"), h); | 182 | QLabel *priorityLabel = new QLabel(i18n("Priority:"), h); |
183 | // topLayout->addWidget(priorityLabel); | 183 | // topLayout->addWidget(priorityLabel); |
184 | mPriorityCombo = new QComboBox( h ); | 184 | mPriorityCombo = new QComboBox( h ); |
185 | mPriorityCombo->insertItem(i18n("1 (high)")); | 185 | mPriorityCombo->insertItem(i18n("1 (high)")); |
186 | mPriorityCombo->insertItem(i18n("2")); | 186 | mPriorityCombo->insertItem(i18n("2")); |
187 | mPriorityCombo->insertItem(i18n("3")); | 187 | mPriorityCombo->insertItem(i18n("3")); |
188 | mPriorityCombo->insertItem(i18n("4")); | 188 | mPriorityCombo->insertItem(i18n("4")); |
diff --git a/korganizer/koeventeditor.cpp b/korganizer/koeventeditor.cpp index 75dae34..9ede543 100644 --- a/korganizer/koeventeditor.cpp +++ b/korganizer/koeventeditor.cpp | |||
@@ -15,228 +15,234 @@ | |||
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 <qtooltip.h> | 24 | #include <qtooltip.h> |
25 | #include <qframe.h> | 25 | #include <qframe.h> |
26 | #include <qpixmap.h> | 26 | #include <qpixmap.h> |
27 | #include <qhbox.h> | 27 | #include <qhbox.h> |
28 | #include <qdir.h> | 28 | #include <qdir.h> |
29 | #include <qlayout.h> | 29 | #include <qlayout.h> |
30 | #include <qwidgetstack.h> | 30 | #include <qwidgetstack.h> |
31 | #include <qapplication.h> | 31 | #include <qapplication.h> |
32 | 32 | ||
33 | #include <kiconloader.h> | 33 | #include <kiconloader.h> |
34 | #include <kstandarddirs.h> | 34 | #include <kstandarddirs.h> |
35 | #include <kdebug.h> | 35 | #include <kdebug.h> |
36 | #include <klocale.h> | 36 | #include <klocale.h> |
37 | #include <kfiledialog.h> | 37 | #include <kfiledialog.h> |
38 | #include <kmessagebox.h> | 38 | #include <kmessagebox.h> |
39 | #include <libkcal/calendarresources.h> | 39 | #include <libkcal/calendarresources.h> |
40 | #include <libkcal/resourcecalendar.h> | 40 | #include <libkcal/resourcecalendar.h> |
41 | #include <kresources/resourceselectdialog.h> | 41 | #include <kresources/resourceselectdialog.h> |
42 | 42 | ||
43 | #include <libkdepim/categoryselectdialog.h> | 43 | #include <libkdepim/categoryselectdialog.h> |
44 | #include <libkcal/calendarlocal.h> | 44 | #include <libkcal/calendarlocal.h> |
45 | #include <libkcal/icalformat.h> | 45 | #include <libkcal/icalformat.h> |
46 | 46 | ||
47 | #include "koprefs.h" | 47 | #include "koprefs.h" |
48 | 48 | ||
49 | #include "koeventeditor.h" | 49 | #include "koeventeditor.h" |
50 | extern int globalFlagBlockAgenda; | 50 | extern int globalFlagBlockAgenda; |
51 | 51 | ||
52 | KOEventEditor::KOEventEditor( Calendar *calendar, QWidget *parent ) : | 52 | KOEventEditor::KOEventEditor( Calendar *calendar, QWidget *parent ) : |
53 | KOIncidenceEditor( i18n("Edit Event"), calendar, parent ) | 53 | KOIncidenceEditor( i18n("Edit Event"), calendar, parent ) |
54 | { | 54 | { |
55 | mEvent = 0; | 55 | mEvent = 0; |
56 | init(); | 56 | init(); |
57 | if ( QApplication::desktop()->height() <= 240 ) | 57 | if ( QApplication::desktop()->height() <= 240 ) |
58 | hideButtons(); | 58 | hideButtons(); |
59 | } | 59 | } |
60 | 60 | ||
61 | KOEventEditor::~KOEventEditor() | 61 | KOEventEditor::~KOEventEditor() |
62 | { | 62 | { |
63 | //emit dialogClose( mEvent ); | 63 | //emit dialogClose( mEvent ); |
64 | } | 64 | } |
65 | 65 | ||
66 | void KOEventEditor::init() | 66 | void KOEventEditor::init() |
67 | { | 67 | { |
68 | 68 | ||
69 | setupGeneral(); | 69 | setupGeneral(); |
70 | setupAttendeesTab(); | 70 | setupAttendeesTab(); |
71 | setupRecurrence(); | 71 | setupRecurrence(); |
72 | 72 | ||
73 | // Propagate date time settings to recurrence tab | 73 | // Propagate date time settings to recurrence tab |
74 | connect(mGeneral,SIGNAL(dateTimesChanged(QDateTime,QDateTime)), | 74 | connect(mGeneral,SIGNAL(dateTimesChanged(QDateTime,QDateTime)), |
75 | mRecurrence,SLOT(setDefaultsDates(QDateTime,QDateTime))); | 75 | mRecurrence,SLOT(setDefaultsDates(QDateTime,QDateTime))); |
76 | connect(mGeneral,SIGNAL(dateTimeStrChanged(const QString &)), | 76 | connect(mGeneral,SIGNAL(dateTimeStrChanged(const QString &)), |
77 | mRecurrence,SLOT(setDateTimeStr(const QString &))); | 77 | mRecurrence,SLOT(setDateTimeStr(const QString &))); |
78 | 78 | ||
79 | // Category dialog | 79 | // Category dialog |
80 | // connect(mGeneral,SIGNAL(openCategoryDialog()),mCategoryDialog,SLOT(show())); | 80 | // connect(mGeneral,SIGNAL(openCategoryDialog()),mCategoryDialog,SLOT(show())); |
81 | //connect(mCategoryDialog,SIGNAL(categoriesSelected(const QString &)), | 81 | //connect(mCategoryDialog,SIGNAL(categoriesSelected(const QString &)), |
82 | // mGeneral,SLOT(setCategories(const QString &))); | 82 | // mGeneral,SLOT(setCategories(const QString &))); |
83 | 83 | ||
84 | 84 | ||
85 | } | 85 | } |
86 | 86 | ||
87 | void KOEventEditor::reload() | 87 | void KOEventEditor::reload() |
88 | { | 88 | { |
89 | if ( mEvent ) readEvent( mEvent ); | 89 | if ( mEvent ) readEvent( mEvent ); |
90 | } | 90 | } |
91 | 91 | ||
92 | void KOEventEditor::setSecrecy( int sec ) | 92 | void KOEventEditor::setSecrecy( int sec ) |
93 | { | 93 | { |
94 | mGeneral->setSecrecy( sec ); | 94 | mGeneral->setSecrecy( sec ); |
95 | } | 95 | } |
96 | void KOEventEditor::setCategories( QString s ) | 96 | void KOEventEditor::setCategories( QString s ) |
97 | { | 97 | { |
98 | mGeneral->setCategories(s); | 98 | mGeneral->setCategories(s); |
99 | 99 | ||
100 | } | 100 | } |
101 | void KOEventEditor::setupGeneral() | 101 | void KOEventEditor::setupGeneral() |
102 | { | 102 | { |
103 | mGeneral = new KOEditorGeneralEvent( this, "KOEditorGeneralEvent" ); | 103 | mGeneral = new KOEditorGeneralEvent( this, "KOEditorGeneralEvent" ); |
104 | connect ( mGeneral, SIGNAL ( allAccepted() ), this, SLOT ( slotOk () ) ); | 104 | connect ( mGeneral, SIGNAL ( allAccepted() ), this, SLOT ( slotOk () ) ); |
105 | 105 | ||
106 | if( KOPrefs::instance()->mCompactDialogs ) { | 106 | if( KOPrefs::instance()->mCompactDialogs ) { |
107 | QFrame *topFrame = addPage(i18n("General")); | 107 | QFrame *topFrame = addPage(i18n("General")); |
108 | QBoxLayout *topLayout = new QVBoxLayout(topFrame); | 108 | QBoxLayout *topLayout = new QVBoxLayout(topFrame); |
109 | topLayout->setSpacing(spacingHint()-1); | 109 | topLayout->setSpacing(spacingHint()-1); |
110 | topLayout->setMargin(marginHint()-1); | 110 | topLayout->setMargin(marginHint()-1); |
111 | topLayout->addStretch ( 1 ); | ||
111 | mGeneral->initHeader(topFrame,topLayout); | 112 | mGeneral->initHeader(topFrame,topLayout); |
113 | topLayout->addStretch ( 1 ); | ||
112 | mGeneral->initTime(topFrame,topLayout); | 114 | mGeneral->initTime(topFrame,topLayout); |
115 | topLayout->addStretch ( 1 ); | ||
113 | // QBoxLayout *alarmLineLayout = new QHBoxLayout(topLayout); | 116 | // QBoxLayout *alarmLineLayout = new QHBoxLayout(topLayout); |
114 | mGeneral->initAlarm(topFrame,topLayout); | 117 | mGeneral->initAlarm(topFrame,topLayout); |
118 | topLayout->addStretch ( 1 ); | ||
115 | mGeneral->enableAlarm( false ); | 119 | mGeneral->enableAlarm( false ); |
116 | 120 | ||
117 | QBoxLayout *buttonLayout; | 121 | QBoxLayout *buttonLayout; |
118 | if ( QApplication::desktop()->width() < 500 && QApplication::desktop()->height() > 240 ) | 122 | if ( QApplication::desktop()->width() < 500 && QApplication::desktop()->height() > 240 ) |
119 | buttonLayout = new QVBoxLayout( topLayout ); | 123 | buttonLayout = new QVBoxLayout( topLayout ); |
120 | else | 124 | else |
121 | buttonLayout = new QHBoxLayout( topLayout ); | 125 | buttonLayout = new QHBoxLayout( topLayout ); |
122 | QHBox* buttonWidget = new QHBox (topFrame); | 126 | QHBox* buttonWidget = new QHBox (topFrame); |
123 | QIconSet icon; | 127 | QIconSet icon; |
124 | if ( QApplication::desktop()->width() < 321 ) | 128 | if ( QApplication::desktop()->width() < 321 ) |
125 | icon = SmallIcon("fileexport16"); | 129 | icon = SmallIcon("fileexport16"); |
126 | else | 130 | else |
127 | icon = SmallIcon("fileexport"); | 131 | icon = SmallIcon("fileexport"); |
128 | QPushButton * loadTemplate = new QPushButton( buttonWidget); | 132 | QPushButton * loadTemplate = new QPushButton( buttonWidget); |
129 | QPushButton * saveTemplate = new QPushButton( buttonWidget); | 133 | QPushButton * saveTemplate = new QPushButton( buttonWidget); |
130 | saveTemplate->setIconSet (icon ) ; | 134 | saveTemplate->setIconSet (icon ) ; |
131 | int size = saveTemplate->sizeHint().height(); | 135 | int size = saveTemplate->sizeHint().height(); |
132 | saveTemplate->setFixedSize( size, size ); | 136 | saveTemplate->setFixedSize( size, size ); |
133 | if ( QApplication::desktop()->width() < 321 ) | 137 | if ( QApplication::desktop()->width() < 321 ) |
134 | icon = SmallIcon("fileimport16"); | 138 | icon = SmallIcon("fileimport16"); |
135 | else | 139 | else |
136 | icon = SmallIcon("fileimport"); | 140 | icon = SmallIcon("fileimport"); |
137 | loadTemplate->setIconSet (icon ) ; | 141 | loadTemplate->setIconSet (icon ) ; |
138 | loadTemplate->setFixedSize( size, size ); | 142 | loadTemplate->setFixedSize( size, size ); |
139 | buttonLayout->addWidget( buttonWidget ); | 143 | buttonLayout->addWidget( buttonWidget ); |
140 | mGeneral->initCategories( topFrame, buttonLayout ); | 144 | mGeneral->initCategories( topFrame, buttonLayout ); |
141 | 145 | ||
142 | topLayout->addStretch( 1 ); | 146 | topLayout->addStretch( 1 ); |
143 | 147 | ||
144 | QFrame *topFrame2 = addPage(i18n("Details")); | 148 | QFrame *topFrame2 = addPage(i18n("Details")); |
145 | 149 | ||
146 | QBoxLayout *topLayout2 = new QVBoxLayout(topFrame2); | 150 | QBoxLayout *topLayout2 = new QVBoxLayout(topFrame2); |
151 | topLayout2->setSpacing(spacingHint()-1); | ||
152 | topLayout2->setMargin(marginHint()-1); | ||
147 | topLayout2->setSpacing(spacingHint()); | 153 | topLayout2->setSpacing(spacingHint()); |
148 | 154 | ||
149 | mGeneral->initClass(topFrame2,topLayout2); | 155 | mGeneral->initClass(topFrame2,topLayout2); |
150 | mGeneral->initSecrecy( topFrame2, topLayout2 ); | 156 | mGeneral->initSecrecy( topFrame2, topLayout2 ); |
151 | mGeneral->initDescription(topFrame2,topLayout2); | 157 | mGeneral->initDescription(topFrame2,topLayout2); |
152 | 158 | ||
153 | connect( saveTemplate, SIGNAL( clicked() ), this , SLOT( slotSaveTemplate() ) ); | 159 | connect( saveTemplate, SIGNAL( clicked() ), this , SLOT( slotSaveTemplate() ) ); |
154 | connect( loadTemplate, SIGNAL( clicked() ), this , SLOT( slotLoadTemplate() ) ); | 160 | connect( loadTemplate, SIGNAL( clicked() ), this , SLOT( slotLoadTemplate() ) ); |
155 | } else { | 161 | } else { |
156 | QFrame *topFrame = addPage(i18n("General")); | 162 | QFrame *topFrame = addPage(i18n("General")); |
157 | 163 | ||
158 | QBoxLayout *topLayout = new QVBoxLayout(topFrame); | 164 | QBoxLayout *topLayout = new QVBoxLayout(topFrame); |
159 | topLayout->setSpacing(spacingHint()); | 165 | topLayout->setSpacing(spacingHint()); |
160 | 166 | ||
161 | mGeneral->initHeader(topFrame,topLayout); | 167 | mGeneral->initHeader(topFrame,topLayout); |
162 | mGeneral->initTime(topFrame,topLayout); | 168 | mGeneral->initTime(topFrame,topLayout); |
163 | QBoxLayout *alarmLineLayout = new QHBoxLayout(topLayout); | 169 | QBoxLayout *alarmLineLayout = new QHBoxLayout(topLayout); |
164 | mGeneral->initAlarm(topFrame,alarmLineLayout); | 170 | mGeneral->initAlarm(topFrame,alarmLineLayout); |
165 | mGeneral->initClass(topFrame,alarmLineLayout); | 171 | mGeneral->initClass(topFrame,alarmLineLayout); |
166 | mGeneral->initDescription(topFrame,topLayout); | 172 | mGeneral->initDescription(topFrame,topLayout); |
167 | QBoxLayout *detailsLayout = new QHBoxLayout(topLayout); | 173 | QBoxLayout *detailsLayout = new QHBoxLayout(topLayout); |
168 | mGeneral->initCategories( topFrame, detailsLayout ); | 174 | mGeneral->initCategories( topFrame, detailsLayout ); |
169 | mGeneral->initSecrecy( topFrame, detailsLayout ); | 175 | mGeneral->initSecrecy( topFrame, detailsLayout ); |
170 | } | 176 | } |
171 | 177 | ||
172 | mGeneral->finishSetup(); | 178 | mGeneral->finishSetup(); |
173 | 179 | ||
174 | } | 180 | } |
175 | 181 | ||
176 | void KOEventEditor::setupRecurrence() | 182 | void KOEventEditor::setupRecurrence() |
177 | { | 183 | { |
178 | QFrame *topFrame = addPage( i18n("Recurrence") ); | 184 | QFrame *topFrame = addPage( i18n("Recurrence") ); |
179 | QBoxLayout *topLayout = new QVBoxLayout( topFrame ); | 185 | QBoxLayout *topLayout = new QVBoxLayout( topFrame ); |
180 | 186 | ||
181 | mRecurrence = new KOEditorRecurrence( topFrame ); | 187 | mRecurrence = new KOEditorRecurrence( topFrame ); |
182 | topLayout->addWidget( mRecurrence ); | 188 | topLayout->addWidget( mRecurrence ); |
183 | } | 189 | } |
184 | 190 | ||
185 | void KOEventEditor::editEvent(Event *event, bool showDescription) | 191 | void KOEventEditor::editEvent(Event *event, bool showDescription) |
186 | { | 192 | { |
187 | // init(); | 193 | // init(); |
188 | 194 | ||
189 | mEvent = event; | 195 | mEvent = event; |
190 | readEvent(mEvent); | 196 | readEvent(mEvent); |
191 | if ( showDescription ) { | 197 | if ( showDescription ) { |
192 | showPage( 1 ); | 198 | showPage( 1 ); |
193 | mGeneral->setFocusOn( 1 ); | 199 | mGeneral->setFocusOn( 1 ); |
194 | } else { | 200 | } else { |
195 | showPage( 0 ); | 201 | showPage( 0 ); |
196 | mGeneral->setFocusOn( 2 ); | 202 | mGeneral->setFocusOn( 2 ); |
197 | } | 203 | } |
198 | } | 204 | } |
199 | 205 | ||
200 | void KOEventEditor::newEvent( QDateTime from, QDateTime to, bool allDay ) | 206 | void KOEventEditor::newEvent( QDateTime from, QDateTime to, bool allDay ) |
201 | { | 207 | { |
202 | // init(); | 208 | // init(); |
203 | 209 | ||
204 | mEvent = 0; | 210 | mEvent = 0; |
205 | setDefaults(from,to,allDay); | 211 | setDefaults(from,to,allDay); |
206 | } | 212 | } |
207 | 213 | ||
208 | void KOEventEditor::loadDefaults() | 214 | void KOEventEditor::loadDefaults() |
209 | { | 215 | { |
210 | int fmt = KOPrefs::instance()->mStartTime; | 216 | int fmt = KOPrefs::instance()->mStartTime; |
211 | 217 | ||
212 | QDateTime from(QDate::currentDate(), QTime(fmt,0,0)); | 218 | QDateTime from(QDate::currentDate(), QTime(fmt,0,0)); |
213 | QDateTime to(QDate::currentDate(), | 219 | QDateTime to(QDate::currentDate(), |
214 | QTime(fmt+KOPrefs::instance()->mDefaultDuration,0,0)); | 220 | QTime(fmt+KOPrefs::instance()->mDefaultDuration,0,0)); |
215 | 221 | ||
216 | setDefaults(from,to,false); | 222 | setDefaults(from,to,false); |
217 | } | 223 | } |
218 | 224 | ||
219 | bool KOEventEditor::processInput( bool emitTime ) | 225 | bool KOEventEditor::processInput( bool emitTime ) |
220 | { | 226 | { |
221 | if (!validateInput()) return false; | 227 | if (!validateInput()) return false; |
222 | 228 | ||
223 | Event *event = 0; | 229 | Event *event = 0; |
224 | 230 | ||
225 | if (mEvent) event = mEvent; | 231 | if (mEvent) event = mEvent; |
226 | else { | 232 | else { |
227 | event = new Event; | 233 | event = new Event; |
228 | event->setOrganizer(KOPrefs::instance()->email()); | 234 | event->setOrganizer(KOPrefs::instance()->email()); |
229 | } | 235 | } |
230 | 236 | ||
231 | writeEvent(event); | 237 | writeEvent(event); |
232 | if ( emitTime ) { | 238 | if ( emitTime ) { |
233 | globalFlagBlockAgenda = 1; | 239 | globalFlagBlockAgenda = 1; |
234 | emit showAgendaView( false ); | 240 | emit showAgendaView( false ); |
235 | emit jumpToTime( event->dtStart().date() ); | 241 | emit jumpToTime( event->dtStart().date() ); |
236 | globalFlagBlockAgenda = 2; | 242 | globalFlagBlockAgenda = 2; |
237 | 243 | ||
238 | } | 244 | } |
239 | if (mEvent) { | 245 | if (mEvent) { |
240 | event->setRevision(event->revision()+1); | 246 | event->setRevision(event->revision()+1); |
241 | emit eventChanged(event); | 247 | emit eventChanged(event); |
242 | } else { | 248 | } else { |
diff --git a/korganizer/koincidenceeditor.cpp b/korganizer/koincidenceeditor.cpp index 9813a80..9bc0302 100644 --- a/korganizer/koincidenceeditor.cpp +++ b/korganizer/koincidenceeditor.cpp | |||
@@ -1,185 +1,185 @@ | |||
1 | /* | 1 | /* |
2 | This file is part of KOrganizer. | 2 | This file is part of KOrganizer. |
3 | Copyright (c) 2001 Cornelius Schumacher <schumacher@kde.org> | 3 | Copyright (c) 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 <qtooltip.h> | 24 | #include <qtooltip.h> |
25 | #include <qframe.h> | 25 | #include <qframe.h> |
26 | #include <qpixmap.h> | 26 | #include <qpixmap.h> |
27 | #include <qlayout.h> | 27 | #include <qlayout.h> |
28 | #include <qwidgetstack.h> | 28 | #include <qwidgetstack.h> |
29 | #include <qdatetime.h> | 29 | #include <qdatetime.h> |
30 | #include <qdir.h> | 30 | #include <qdir.h> |
31 | 31 | ||
32 | #include <kdebug.h> | 32 | #include <kdebug.h> |
33 | #include <klocale.h> | 33 | #include <klocale.h> |
34 | #include <kstandarddirs.h> | 34 | #include <kstandarddirs.h> |
35 | #include <kmessagebox.h> | 35 | #include <kmessagebox.h> |
36 | #include <kfiledialog.h> | 36 | #include <kfiledialog.h> |
37 | 37 | ||
38 | #include <libkdepim/categoryselectdialog.h> | 38 | #include <libkdepim/categoryselectdialog.h> |
39 | #include <libkdepim/kinputdialog.h> | 39 | #include <libkdepim/kinputdialog.h> |
40 | 40 | ||
41 | #include <libkcal/calendarlocal.h> | 41 | #include <libkcal/calendarlocal.h> |
42 | #include <libkcal/icalformat.h> | 42 | #include <libkcal/icalformat.h> |
43 | 43 | ||
44 | #include "koprefs.h" | 44 | #include "koprefs.h" |
45 | 45 | ||
46 | #include "koincidenceeditor.h" | 46 | #include "koincidenceeditor.h" |
47 | 47 | ||
48 | KOIncidenceEditor::KOIncidenceEditor( const QString &caption, | 48 | KOIncidenceEditor::KOIncidenceEditor( const QString &caption, |
49 | Calendar *calendar, QWidget *parent ) : | 49 | Calendar *calendar, QWidget *parent ) : |
50 | KDialogBase( Tabbed, caption, Ok | Apply | Cancel |/* Default | */User1, Ok, | 50 | KDialogBase( Tabbed, caption, Ok | Apply | Cancel |/* Default | */User1, Ok, |
51 | parent, caption, true, false ), | 51 | parent, caption, true, false ), |
52 | mSaveTemplateDialog( 0 ) | 52 | mSaveTemplateDialog( 0 ) |
53 | { | 53 | { |
54 | mCalendar = calendar; | 54 | mCalendar = calendar; |
55 | 55 | ||
56 | setButtonText( Default, i18n("Template...") ); | 56 | setButtonText( Default, i18n("Template...") ); |
57 | 57 | ||
58 | QString saveTemplateText; | 58 | QString saveTemplateText; |
59 | // if ( KOPrefs::instance()->mCompactDialogs ) { | 59 | // if ( KOPrefs::instance()->mCompactDialogs ) { |
60 | // showButton( User1, false ); | 60 | // showButton( User1, false ); |
61 | // showButton( Apply, false ); | 61 | // showButton( Apply, false ); |
62 | // } else { | 62 | // } else { |
63 | showButton( Apply, false ); | 63 | showButton( Apply, false ); |
64 | saveTemplateText = i18n("Ok+Agenda"); | 64 | saveTemplateText = i18n("Ok+Agenda"); |
65 | // } | 65 | // } |
66 | setButtonText( User1, saveTemplateText ); | 66 | setButtonText( User1, saveTemplateText ); |
67 | 67 | ||
68 | //mCategoryDialog = new KPIM::CategorySelectDialog( KOPrefs::instance(), this ); | 68 | //mCategoryDialog = new KPIM::CategorySelectDialog( KOPrefs::instance(), this ); |
69 | // KOGlobals::fitDialogToScreen( mCategoryDialog ); | 69 | // KOGlobals::fitDialogToScreen( mCategoryDialog ); |
70 | 70 | ||
71 | //connect(mCategoryDialog,SIGNAL(editCategories()),SIGNAL(editCategories())); | 71 | //connect(mCategoryDialog,SIGNAL(editCategories()),SIGNAL(editCategories())); |
72 | 72 | ||
73 | //connect( this, SIGNAL( defaultClicked() ), SLOT( slotLoadTemplate() ) ); | 73 | //connect( this, SIGNAL( defaultClicked() ), SLOT( slotLoadTemplate() ) ); |
74 | // connect( this, SIGNAL( user1Clicked() ), SLOT( slotSaveTemplate() ) ); | 74 | // connect( this, SIGNAL( user1Clicked() ), SLOT( slotSaveTemplate() ) ); |
75 | connect( this, SIGNAL( user1Clicked() ), SLOT( slotShowIncidence() ) ); | 75 | connect( this, SIGNAL( user1Clicked() ), SLOT( slotShowIncidence() ) ); |
76 | } | 76 | } |
77 | 77 | ||
78 | KOIncidenceEditor::~KOIncidenceEditor() | 78 | KOIncidenceEditor::~KOIncidenceEditor() |
79 | { | 79 | { |
80 | //delete mCategoryDialog; | 80 | //delete mCategoryDialog; |
81 | } | 81 | } |
82 | 82 | ||
83 | void KOIncidenceEditor::setupAttendeesTab() | 83 | void KOIncidenceEditor::setupAttendeesTab() |
84 | { | 84 | { |
85 | QFrame *topFrame = addPage(i18n("Attendees")); | 85 | QFrame *topFrame = addPage(i18n("Attendees")); |
86 | 86 | ||
87 | QBoxLayout *topLayout = new QVBoxLayout(topFrame); | 87 | QBoxLayout *topLayout = new QVBoxLayout(topFrame); |
88 | 88 | ||
89 | mDetails = new KOEditorDetails(spacingHint(),topFrame); | 89 | mDetails = new KOEditorDetails(spacingHint()-2,topFrame); |
90 | topLayout->addWidget(mDetails); | 90 | topLayout->addWidget(mDetails); |
91 | } | 91 | } |
92 | 92 | ||
93 | 93 | ||
94 | void KOIncidenceEditor::slotApply() | 94 | void KOIncidenceEditor::slotApply() |
95 | { | 95 | { |
96 | processInput( false ); | 96 | processInput( false ); |
97 | } | 97 | } |
98 | void KOIncidenceEditor::accept() | 98 | void KOIncidenceEditor::accept() |
99 | { | 99 | { |
100 | slotOk(); | 100 | slotOk(); |
101 | } | 101 | } |
102 | void KOIncidenceEditor::slotOk() | 102 | void KOIncidenceEditor::slotOk() |
103 | { | 103 | { |
104 | if ( processInput( false ) ) QDialog::accept(); | 104 | if ( processInput( false ) ) QDialog::accept(); |
105 | } | 105 | } |
106 | 106 | ||
107 | void KOIncidenceEditor::updateCategoryConfig() | 107 | void KOIncidenceEditor::updateCategoryConfig() |
108 | { | 108 | { |
109 | qDebug("KOIncidenceEditor::updateCategoryConfig() is dead! "); | 109 | qDebug("KOIncidenceEditor::updateCategoryConfig() is dead! "); |
110 | //mCategoryDialog->updateCategoryConfig(); | 110 | //mCategoryDialog->updateCategoryConfig(); |
111 | } | 111 | } |
112 | 112 | ||
113 | void KOIncidenceEditor::slotCancel() | 113 | void KOIncidenceEditor::slotCancel() |
114 | { | 114 | { |
115 | reject(); | 115 | reject(); |
116 | } | 116 | } |
117 | 117 | ||
118 | void KOIncidenceEditor::slotLoadTemplate() | 118 | void KOIncidenceEditor::slotLoadTemplate() |
119 | { | 119 | { |
120 | kdDebug() << "KOIncidenceEditor::loadTemplate()" << endl; | 120 | kdDebug() << "KOIncidenceEditor::loadTemplate()" << endl; |
121 | } | 121 | } |
122 | void KOIncidenceEditor::slotShowIncidence() | 122 | void KOIncidenceEditor::slotShowIncidence() |
123 | { | 123 | { |
124 | 124 | ||
125 | if ( processInput(true ) ) { | 125 | if ( processInput(true ) ) { |
126 | accept(); | 126 | accept(); |
127 | } | 127 | } |
128 | } | 128 | } |
129 | 129 | ||
130 | void KOIncidenceEditor::slotSaveTemplate() | 130 | void KOIncidenceEditor::slotSaveTemplate() |
131 | { | 131 | { |
132 | kdDebug() << "KOIncidenceEditor::saveTemplate()" << endl; | 132 | kdDebug() << "KOIncidenceEditor::saveTemplate()" << endl; |
133 | } | 133 | } |
134 | 134 | ||
135 | void KOIncidenceEditor::createSaveTemplateDialog( SaveTemplateDialog::IncidenceType type ) | 135 | void KOIncidenceEditor::createSaveTemplateDialog( SaveTemplateDialog::IncidenceType type ) |
136 | { | 136 | { |
137 | if ( !mSaveTemplateDialog ) { | 137 | if ( !mSaveTemplateDialog ) { |
138 | mSaveTemplateDialog = new SaveTemplateDialog( type, this ); | 138 | mSaveTemplateDialog = new SaveTemplateDialog( type, this ); |
139 | connect( mSaveTemplateDialog, SIGNAL( templateSelected( const QString & ) ), | 139 | connect( mSaveTemplateDialog, SIGNAL( templateSelected( const QString & ) ), |
140 | SLOT( saveTemplate( const QString & ) ) ); | 140 | SLOT( saveTemplate( const QString & ) ) ); |
141 | } | 141 | } |
142 | mSaveTemplateDialog->show(); | 142 | mSaveTemplateDialog->show(); |
143 | mSaveTemplateDialog->raise(); | 143 | mSaveTemplateDialog->raise(); |
144 | } | 144 | } |
145 | 145 | ||
146 | void KOIncidenceEditor::saveAsTemplate( Incidence *incidence, | 146 | void KOIncidenceEditor::saveAsTemplate( Incidence *incidence, |
147 | const QString &templateName ) | 147 | const QString &templateName ) |
148 | { | 148 | { |
149 | CalendarLocal cal; | 149 | CalendarLocal cal; |
150 | cal.addIncidence( incidence ); | 150 | cal.addIncidence( incidence ); |
151 | ICalFormat format; | 151 | ICalFormat format; |
152 | format.save( &cal, templateName ); | 152 | format.save( &cal, templateName ); |
153 | } | 153 | } |
154 | 154 | ||
155 | QString KOIncidenceEditor::loadTemplate( Calendar *cal, const QString &type, | 155 | QString KOIncidenceEditor::loadTemplate( Calendar *cal, const QString &type, |
156 | const QStringList &templates ) | 156 | const QStringList &templates ) |
157 | { | 157 | { |
158 | // bool ok = false; | 158 | // bool ok = false; |
159 | // QString templateName = KInputDialog::getItem( i18n("Load Template"), | 159 | // QString templateName = KInputDialog::getItem( i18n("Load Template"), |
160 | // i18n("Select a template to load:"), templates, 0, &ok ); | 160 | // i18n("Select a template to load:"), templates, 0, &ok ); |
161 | // if ( !ok || templateName.isEmpty() ) return QString::null; | 161 | // if ( !ok || templateName.isEmpty() ) return QString::null; |
162 | 162 | ||
163 | // QString fileName = locateLocal( "data", "korganizer/templates/" + type + "/" + | 163 | // QString fileName = locateLocal( "data", "korganizer/templates/" + type + "/" + |
164 | // templateName ); | 164 | // templateName ); |
165 | // fn =KFileDialog:: getOpenFileName( fn, "Import filename(*.ics/*.vcs)", this ); | 165 | // fn =KFileDialog:: getOpenFileName( fn, "Import filename(*.ics/*.vcs)", this ); |
166 | 166 | ||
167 | // QString fileName;// =locateLocal( "templates", incidence->type() ); | 167 | // QString fileName;// =locateLocal( "templates", incidence->type() ); |
168 | // fileName=KFileDialog:: getOpenFileName( fileName, "Load "+incidence()->type(), this ); | 168 | // fileName=KFileDialog:: getOpenFileName( fileName, "Load "+incidence()->type(), this ); |
169 | // if ( fileNamelength() == 0) | 169 | // if ( fileNamelength() == 0) |
170 | // return QString::null; | 170 | // return QString::null; |
171 | // if ( fileName.isEmpty() ) { | 171 | // if ( fileName.isEmpty() ) { |
172 | // KMessageBox::error( this, i18n("Unable to find template '%1'.") | 172 | // KMessageBox::error( this, i18n("Unable to find template '%1'.") |
173 | // .arg( fileName ) ); | 173 | // .arg( fileName ) ); |
174 | // return QString::null; | 174 | // return QString::null; |
175 | // } else { | 175 | // } else { |
176 | // ICalFormat format; | 176 | // ICalFormat format; |
177 | // if ( !format.load( cal, fileName ) ) { | 177 | // if ( !format.load( cal, fileName ) ) { |
178 | // KMessageBox::error( this, i18n("Error loading template file '%1'.") | 178 | // KMessageBox::error( this, i18n("Error loading template file '%1'.") |
179 | // .arg( fileName ) ); | 179 | // .arg( fileName ) ); |
180 | // return QString::null; | 180 | // return QString::null; |
181 | // } | 181 | // } |
182 | // } | 182 | // } |
183 | 183 | ||
184 | return ""; | 184 | return ""; |
185 | } | 185 | } |
diff --git a/korganizer/kotodoeditor.cpp b/korganizer/kotodoeditor.cpp index 8b90ae5..555c1b1 100644 --- a/korganizer/kotodoeditor.cpp +++ b/korganizer/kotodoeditor.cpp | |||
@@ -27,195 +27,199 @@ | |||
27 | #include <qpixmap.h> | 27 | #include <qpixmap.h> |
28 | #include <qlayout.h> | 28 | #include <qlayout.h> |
29 | #include <qhbox.h> | 29 | #include <qhbox.h> |
30 | #include <qdir.h> | 30 | #include <qdir.h> |
31 | #include <qdatetime.h> | 31 | #include <qdatetime.h> |
32 | #include <qapplication.h> | 32 | #include <qapplication.h> |
33 | #include <qtabwidget.h> | 33 | #include <qtabwidget.h> |
34 | 34 | ||
35 | #include <kiconloader.h> | 35 | #include <kiconloader.h> |
36 | #include <klocale.h> | 36 | #include <klocale.h> |
37 | #include <kfiledialog.h> | 37 | #include <kfiledialog.h> |
38 | #include <kstandarddirs.h> | 38 | #include <kstandarddirs.h> |
39 | #include <kmessagebox.h> | 39 | #include <kmessagebox.h> |
40 | 40 | ||
41 | #include <libkdepim/categoryselectdialog.h> | 41 | #include <libkdepim/categoryselectdialog.h> |
42 | #include <libkcal/calendarlocal.h> | 42 | #include <libkcal/calendarlocal.h> |
43 | #include <libkcal/calendarresources.h> | 43 | #include <libkcal/calendarresources.h> |
44 | #include <libkcal/resourcecalendar.h> | 44 | #include <libkcal/resourcecalendar.h> |
45 | #include <libkcal/icalformat.h> | 45 | #include <libkcal/icalformat.h> |
46 | #include <kresources/resourceselectdialog.h> | 46 | #include <kresources/resourceselectdialog.h> |
47 | #include <libkdepim/kdateedit.h> | 47 | #include <libkdepim/kdateedit.h> |
48 | 48 | ||
49 | #include "koprefs.h" | 49 | #include "koprefs.h" |
50 | #include "kolocationbox.h" | 50 | #include "kolocationbox.h" |
51 | 51 | ||
52 | #include "kotodoeditor.h" | 52 | #include "kotodoeditor.h" |
53 | extern int globalFlagBlockAgenda; | 53 | extern int globalFlagBlockAgenda; |
54 | 54 | ||
55 | KOTodoEditor::KOTodoEditor( Calendar *calendar, QWidget *parent ) : | 55 | KOTodoEditor::KOTodoEditor( Calendar *calendar, QWidget *parent ) : |
56 | KOIncidenceEditor( i18n("Edit To-Do"), calendar, parent ) | 56 | KOIncidenceEditor( i18n("Edit To-Do"), calendar, parent ) |
57 | { | 57 | { |
58 | mTodo = 0; | 58 | mTodo = 0; |
59 | mRelatedTodo = 0; | 59 | mRelatedTodo = 0; |
60 | findButton(User1)->hide(); | 60 | findButton(User1)->hide(); |
61 | init(); | 61 | init(); |
62 | if ( QApplication::desktop()->height() <= 240 ) | 62 | if ( QApplication::desktop()->height() <= 240 ) |
63 | hideButtons(); | 63 | hideButtons(); |
64 | } | 64 | } |
65 | 65 | ||
66 | KOTodoEditor::~KOTodoEditor() | 66 | KOTodoEditor::~KOTodoEditor() |
67 | { | 67 | { |
68 | emit dialogClose( mTodo ); | 68 | emit dialogClose( mTodo ); |
69 | } | 69 | } |
70 | 70 | ||
71 | void KOTodoEditor::init() | 71 | void KOTodoEditor::init() |
72 | { | 72 | { |
73 | setupGeneral(); | 73 | setupGeneral(); |
74 | setupAttendeesTab(); | 74 | setupAttendeesTab(); |
75 | setupRecurrence(); | 75 | setupRecurrence(); |
76 | connect(mGeneral,SIGNAL(datesChecked()),this ,SLOT(checkRecurrence())); | 76 | connect(mGeneral,SIGNAL(datesChecked()),this ,SLOT(checkRecurrence())); |
77 | mRecurrence->setDateTimeStr( i18n("<i>The recurrence is computed from the start datetime!</i>") ); | 77 | mRecurrence->setDateTimeStr( i18n("<i>The recurrence is computed from the start datetime!</i>") ); |
78 | connect(mGeneral,SIGNAL(dateTimesChanged(QDateTime,QDateTime)), | 78 | connect(mGeneral,SIGNAL(dateTimesChanged(QDateTime,QDateTime)), |
79 | mRecurrence,SLOT(setDefaultsDates(QDateTime,QDateTime))); | 79 | mRecurrence,SLOT(setDefaultsDates(QDateTime,QDateTime))); |
80 | } | 80 | } |
81 | void KOTodoEditor::setupRecurrence() | 81 | void KOTodoEditor::setupRecurrence() |
82 | { | 82 | { |
83 | QFrame *topFrame = addPage( i18n("Recurrence") ); | 83 | QFrame *topFrame = addPage( i18n("Recurrence") ); |
84 | QBoxLayout *topLayout = new QVBoxLayout( topFrame ); | 84 | QBoxLayout *topLayout = new QVBoxLayout( topFrame ); |
85 | 85 | ||
86 | mRecurrence = new KOEditorRecurrence( topFrame ); | 86 | mRecurrence = new KOEditorRecurrence( topFrame ); |
87 | topLayout->addWidget( mRecurrence ); | 87 | topLayout->addWidget( mRecurrence ); |
88 | } | 88 | } |
89 | 89 | ||
90 | void KOTodoEditor::setCategories( QString s ) | 90 | void KOTodoEditor::setCategories( QString s ) |
91 | { | 91 | { |
92 | mGeneral->setCategories(s); | 92 | mGeneral->setCategories(s); |
93 | } | 93 | } |
94 | void KOTodoEditor::setSecrecy( int sec ) | 94 | void KOTodoEditor::setSecrecy( int sec ) |
95 | { | 95 | { |
96 | mGeneral->setSecrecy( sec ); | 96 | mGeneral->setSecrecy( sec ); |
97 | } | 97 | } |
98 | void KOTodoEditor::reload() | 98 | void KOTodoEditor::reload() |
99 | { | 99 | { |
100 | if ( mTodo ) readTodo( mTodo ); | 100 | if ( mTodo ) readTodo( mTodo ); |
101 | } | 101 | } |
102 | 102 | ||
103 | void KOTodoEditor::setupGeneral() | 103 | void KOTodoEditor::setupGeneral() |
104 | { | 104 | { |
105 | mGeneral = new KOEditorGeneralTodo(this); | 105 | mGeneral = new KOEditorGeneralTodo(this); |
106 | connect ( mGeneral, SIGNAL ( allAccepted() ), this, SLOT ( slotOk () ) ); | 106 | connect ( mGeneral, SIGNAL ( allAccepted() ), this, SLOT ( slotOk () ) ); |
107 | 107 | ||
108 | // connect(mGeneral,SIGNAL(openCategoryDialog()),mCategoryDialog,SLOT(show())); | 108 | // connect(mGeneral,SIGNAL(openCategoryDialog()),mCategoryDialog,SLOT(show())); |
109 | //connect(mCategoryDialog, SIGNAL(categoriesSelected(const QString &)), | 109 | //connect(mCategoryDialog, SIGNAL(categoriesSelected(const QString &)), |
110 | // mGeneral,SLOT(setCategories(const QString &))); | 110 | // mGeneral,SLOT(setCategories(const QString &))); |
111 | 111 | ||
112 | if (KOPrefs::instance()->mCompactDialogs) { | 112 | if (KOPrefs::instance()->mCompactDialogs) { |
113 | QFrame *topFrame = addPage(i18n("General")); | 113 | QFrame *topFrame = addPage(i18n("General")); |
114 | 114 | ||
115 | QBoxLayout *topLayout = new QVBoxLayout(topFrame); | 115 | QBoxLayout *topLayout = new QVBoxLayout(topFrame); |
116 | if ( QApplication::desktop()->width() < 480 ) { | 116 | if ( QApplication::desktop()->width() < 480 ) { |
117 | topLayout->setMargin(marginHintSmall()); | 117 | topLayout->setMargin(marginHintSmall()); |
118 | topLayout->setSpacing(spacingHintSmall()); | 118 | topLayout->setSpacing(spacingHintSmall()); |
119 | } else { | 119 | } else { |
120 | topLayout->setMargin(marginHint()); | 120 | topLayout->setMargin(marginHint()); |
121 | topLayout->setSpacing(spacingHint()); | 121 | topLayout->setSpacing(spacingHint()); |
122 | } | 122 | } |
123 | topLayout->addStretch( 1 ); | ||
123 | mGeneral->initHeader(topFrame,topLayout); | 124 | mGeneral->initHeader(topFrame,topLayout); |
125 | topLayout->addStretch( 1 ); | ||
124 | mGeneral->initTime(topFrame,topLayout); | 126 | mGeneral->initTime(topFrame,topLayout); |
127 | topLayout->addStretch( 1 ); | ||
125 | mGeneral->initAlarm(topFrame,topLayout); | 128 | mGeneral->initAlarm(topFrame,topLayout); |
129 | topLayout->addStretch( 1 ); | ||
126 | mGeneral->enableAlarm( false ); | 130 | mGeneral->enableAlarm( false ); |
127 | 131 | ||
128 | 132 | ||
129 | QBoxLayout *priorityLayout; | 133 | QBoxLayout *priorityLayout; |
130 | if ( QApplication::desktop()->width() < 500 ) | 134 | if ( QApplication::desktop()->width() < 500 ) |
131 | priorityLayout = new QVBoxLayout( topLayout ); | 135 | priorityLayout = new QVBoxLayout( topLayout ); |
132 | else | 136 | else |
133 | priorityLayout = new QHBoxLayout( topLayout ); | 137 | priorityLayout = new QHBoxLayout( topLayout ); |
134 | QWidget* prioWidget = new QWidget (topFrame); | 138 | QWidget* prioWidget = new QWidget (topFrame); |
135 | priorityLayout->addWidget( prioWidget ); | 139 | priorityLayout->addWidget( prioWidget ); |
136 | QHBoxLayout* priorityLayout2 = new QHBoxLayout( prioWidget); | 140 | QHBoxLayout* priorityLayout2 = new QHBoxLayout( prioWidget); |
137 | 141 | ||
138 | 142 | ||
139 | QIconSet icon; | 143 | QIconSet icon; |
140 | if ( QApplication::desktop()->width() < 321 ) | 144 | if ( QApplication::desktop()->width() < 321 ) |
141 | icon = SmallIcon("fileimport16"); | 145 | icon = SmallIcon("fileimport16"); |
142 | else | 146 | else |
143 | icon = SmallIcon("fileimport"); | 147 | icon = SmallIcon("fileimport"); |
144 | QPushButton * loadTemplate = new QPushButton( prioWidget); | 148 | QPushButton * loadTemplate = new QPushButton( prioWidget); |
145 | loadTemplate->setIconSet (icon ) ; | 149 | loadTemplate->setIconSet (icon ) ; |
146 | int size = loadTemplate->sizeHint().height(); | 150 | int size = loadTemplate->sizeHint().height(); |
147 | loadTemplate->setFixedSize( size, size ); | 151 | loadTemplate->setFixedSize( size, size ); |
148 | if ( QApplication::desktop()->width() < 321 ) | 152 | if ( QApplication::desktop()->width() < 321 ) |
149 | icon = SmallIcon("fileexport16"); | 153 | icon = SmallIcon("fileexport16"); |
150 | else | 154 | else |
151 | icon = SmallIcon("fileexport"); | 155 | icon = SmallIcon("fileexport"); |
152 | QPushButton * saveTemplate = new QPushButton( prioWidget); | 156 | QPushButton * saveTemplate = new QPushButton( prioWidget); |
153 | saveTemplate->setIconSet (icon ) ; | 157 | saveTemplate->setIconSet (icon ) ; |
154 | saveTemplate->setFixedSize( size, size ); | 158 | saveTemplate->setFixedSize( size, size ); |
155 | 159 | ||
156 | priorityLayout2->addWidget(loadTemplate); | 160 | priorityLayout2->addWidget(loadTemplate); |
157 | priorityLayout2->addWidget(saveTemplate); | 161 | priorityLayout2->addWidget(saveTemplate); |
158 | mGeneral->initPriority(prioWidget,priorityLayout2); | 162 | mGeneral->initPriority(prioWidget,priorityLayout2); |
159 | mGeneral->initCategories( topFrame, priorityLayout ); | 163 | mGeneral->initCategories( topFrame, priorityLayout ); |
160 | topLayout->addStretch(1); | 164 | topLayout->addStretch(1); |
161 | 165 | ||
162 | QFrame *topFrame2 = addPage(i18n("Details")); | 166 | QFrame *topFrame2 = addPage(i18n("Details")); |
163 | 167 | ||
164 | QBoxLayout *topLayout2 = new QVBoxLayout(topFrame2); | 168 | QBoxLayout *topLayout2 = new QVBoxLayout(topFrame2); |
165 | topLayout2->setMargin(marginHint()); | 169 | topLayout2->setMargin(marginHint()); |
166 | topLayout2->setSpacing(spacingHint()); | 170 | topLayout2->setSpacing(spacingHint()); |
167 | 171 | ||
168 | QHBoxLayout *completionLayout = new QHBoxLayout( topLayout2 ); | 172 | QHBoxLayout *completionLayout = new QHBoxLayout( topLayout2 ); |
169 | mGeneral->initCompletion(topFrame2,completionLayout); | 173 | mGeneral->initCompletion(topFrame2,completionLayout); |
170 | 174 | ||
171 | 175 | ||
172 | mGeneral->initSecrecy( topFrame2, topLayout2 ); | 176 | mGeneral->initSecrecy( topFrame2, topLayout2 ); |
173 | mGeneral->initDescription(topFrame2,topLayout2); | 177 | mGeneral->initDescription(topFrame2,topLayout2); |
174 | 178 | ||
175 | // QHBox * hb = new QHBox ( topFrame2 ); | 179 | // QHBox * hb = new QHBox ( topFrame2 ); |
176 | // topLayout2->addWidget(hb); | 180 | // topLayout2->addWidget(hb); |
177 | // hb->setSpacing( 3 ); | 181 | // hb->setSpacing( 3 ); |
178 | 182 | ||
179 | connect( saveTemplate, SIGNAL( clicked() ), this , SLOT( slotSaveTemplate() ) ); | 183 | connect( saveTemplate, SIGNAL( clicked() ), this , SLOT( slotSaveTemplate() ) ); |
180 | connect( loadTemplate, SIGNAL( clicked() ), this , SLOT( slotLoadTemplate() ) ); | 184 | connect( loadTemplate, SIGNAL( clicked() ), this , SLOT( slotLoadTemplate() ) ); |
181 | 185 | ||
182 | } else { | 186 | } else { |
183 | QFrame *topFrame = addPage(i18n("General")); | 187 | QFrame *topFrame = addPage(i18n("General")); |
184 | 188 | ||
185 | QBoxLayout *topLayout = new QVBoxLayout(topFrame); | 189 | QBoxLayout *topLayout = new QVBoxLayout(topFrame); |
186 | topLayout->setSpacing(spacingHint()); | 190 | topLayout->setSpacing(spacingHint()); |
187 | 191 | ||
188 | mGeneral->initHeader(topFrame,topLayout); | 192 | mGeneral->initHeader(topFrame,topLayout); |
189 | mGeneral->initTime(topFrame,topLayout); | 193 | mGeneral->initTime(topFrame,topLayout); |
190 | mGeneral->initStatus(topFrame,topLayout); | 194 | mGeneral->initStatus(topFrame,topLayout); |
191 | QBoxLayout *alarmLineLayout = new QHBoxLayout(topLayout); | 195 | QBoxLayout *alarmLineLayout = new QHBoxLayout(topLayout); |
192 | mGeneral->initAlarm(topFrame,alarmLineLayout); | 196 | mGeneral->initAlarm(topFrame,alarmLineLayout); |
193 | mGeneral->initDescription(topFrame,topLayout); | 197 | mGeneral->initDescription(topFrame,topLayout); |
194 | QBoxLayout *detailsLayout = new QHBoxLayout(topLayout); | 198 | QBoxLayout *detailsLayout = new QHBoxLayout(topLayout); |
195 | mGeneral->initCategories( topFrame, detailsLayout ); | 199 | mGeneral->initCategories( topFrame, detailsLayout ); |
196 | mGeneral->initSecrecy( topFrame, detailsLayout ); | 200 | mGeneral->initSecrecy( topFrame, detailsLayout ); |
197 | } | 201 | } |
198 | mGeneral->finishSetup(); | 202 | mGeneral->finishSetup(); |
199 | 203 | ||
200 | } | 204 | } |
201 | 205 | ||
202 | void KOTodoEditor::editTodo(Todo *todo, bool editDescription) | 206 | void KOTodoEditor::editTodo(Todo *todo, bool editDescription) |
203 | { | 207 | { |
204 | //init(); | 208 | //init(); |
205 | 209 | ||
206 | mTodo = todo; | 210 | mTodo = todo; |
207 | readTodo(mTodo); | 211 | readTodo(mTodo); |
208 | if ( editDescription ) { | 212 | if ( editDescription ) { |
209 | showPage( 1 ); | 213 | showPage( 1 ); |
210 | mGeneral->setFocusOn( 1 ); | 214 | mGeneral->setFocusOn( 1 ); |
211 | } else { | 215 | } else { |
212 | showPage( 0 ); | 216 | showPage( 0 ); |
213 | mGeneral->setFocusOn( 2 ); | 217 | mGeneral->setFocusOn( 2 ); |
214 | } | 218 | } |
215 | checkRecurrence(); | 219 | checkRecurrence(); |
216 | } | 220 | } |
217 | 221 | ||
218 | void KOTodoEditor::newTodo(QDateTime due,Todo *relatedTodo,bool allDay) | 222 | void KOTodoEditor::newTodo(QDateTime due,Todo *relatedTodo,bool allDay) |
219 | { | 223 | { |
220 | //init(); | 224 | //init(); |
221 | 225 | ||