summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/calendarview.cpp6
-rw-r--r--korganizer/kofilterview.cpp6
-rw-r--r--korganizer/kotodoview.cpp18
-rw-r--r--korganizer/mainwindow.cpp19
-rw-r--r--microkde/kglobal.cpp7
5 files changed, 26 insertions, 30 deletions
diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp
index eac2f29..d25f632 100644
--- a/korganizer/calendarview.cpp
+++ b/korganizer/calendarview.cpp
@@ -3837,385 +3837,389 @@ void CalendarView::exportICalendar()
3837 // Force correct extension 3837 // Force correct extension
3838 if (filename.right(4) != ".ics") filename += ".ics"; 3838 if (filename.right(4) != ".ics") filename += ".ics";
3839 3839
3840 FileStorage storage( mCalendar, filename, new ICalFormat() ); 3840 FileStorage storage( mCalendar, filename, new ICalFormat() );
3841 storage.save(); 3841 storage.save();
3842} 3842}
3843 3843
3844bool CalendarView::exportVCalendar( QString filename ) 3844bool CalendarView::exportVCalendar( QString filename )
3845{ 3845{
3846 if (mCalendar->journals().count() > 0) { 3846 if (mCalendar->journals().count() > 0) {
3847 int result = KMessageBox::warningContinueCancel(this, 3847 int result = KMessageBox::warningContinueCancel(this,
3848 i18n("The journal entries can not be\nexported to a vCalendar file."), 3848 i18n("The journal entries can not be\nexported to a vCalendar file."),
3849 i18n("Data Loss Warning"),i18n("Proceed"),i18n("Cancel"), 3849 i18n("Data Loss Warning"),i18n("Proceed"),i18n("Cancel"),
3850 true); 3850 true);
3851 if (result != KMessageBox::Continue) return false; 3851 if (result != KMessageBox::Continue) return false;
3852 } 3852 }
3853 3853
3854 //QString filename = KFileDialog::getSaveFileName("vcalout.vcs",i18n("*.vcs|VCalendars"),this); 3854 //QString filename = KFileDialog::getSaveFileName("vcalout.vcs",i18n("*.vcs|VCalendars"),this);
3855 3855
3856 // Force correct extension 3856 // Force correct extension
3857 if (filename.right(4) != ".vcs") filename += ".vcs"; 3857 if (filename.right(4) != ".vcs") filename += ".vcs";
3858 3858
3859 FileStorage storage( mCalendar, filename, new VCalFormat ); 3859 FileStorage storage( mCalendar, filename, new VCalFormat );
3860 return storage.save(); 3860 return storage.save();
3861 3861
3862} 3862}
3863 3863
3864void CalendarView::eventUpdated(Incidence *) 3864void CalendarView::eventUpdated(Incidence *)
3865{ 3865{
3866 setModified(); 3866 setModified();
3867 // Don't call updateView here. The code, which has caused the update of the 3867 // Don't call updateView here. The code, which has caused the update of the
3868 // event is responsible for updating the view. 3868 // event is responsible for updating the view.
3869 // updateView(); 3869 // updateView();
3870} 3870}
3871 3871
3872void CalendarView::adaptNavigationUnits() 3872void CalendarView::adaptNavigationUnits()
3873{ 3873{
3874 if (mViewManager->currentView()->isEventView()) { 3874 if (mViewManager->currentView()->isEventView()) {
3875 int days = mViewManager->currentView()->currentDateCount(); 3875 int days = mViewManager->currentView()->currentDateCount();
3876 if (days == 1) { 3876 if (days == 1) {
3877 emit changeNavStringPrev(i18n("&Previous Day")); 3877 emit changeNavStringPrev(i18n("&Previous Day"));
3878 emit changeNavStringNext(i18n("&Next Day")); 3878 emit changeNavStringNext(i18n("&Next Day"));
3879 } else { 3879 } else {
3880 emit changeNavStringPrev(i18n("&Previous Week")); 3880 emit changeNavStringPrev(i18n("&Previous Week"));
3881 emit changeNavStringNext(i18n("&Next Week")); 3881 emit changeNavStringNext(i18n("&Next Week"));
3882 } 3882 }
3883 } 3883 }
3884} 3884}
3885 3885
3886void CalendarView::processMainViewSelection( Incidence *incidence ) 3886void CalendarView::processMainViewSelection( Incidence *incidence )
3887{ 3887{
3888 if ( incidence ) mTodoList->clearSelection(); 3888 if ( incidence ) mTodoList->clearSelection();
3889 processIncidenceSelection( incidence ); 3889 processIncidenceSelection( incidence );
3890} 3890}
3891 3891
3892void CalendarView::processTodoListSelection( Incidence *incidence ) 3892void CalendarView::processTodoListSelection( Incidence *incidence )
3893{ 3893{
3894 if ( incidence && mViewManager->currentView() ) { 3894 if ( incidence && mViewManager->currentView() ) {
3895 mViewManager->currentView()->clearSelection(); 3895 mViewManager->currentView()->clearSelection();
3896 } 3896 }
3897 processIncidenceSelection( incidence ); 3897 processIncidenceSelection( incidence );
3898} 3898}
3899 3899
3900void CalendarView::processIncidenceSelection( Incidence *incidence ) 3900void CalendarView::processIncidenceSelection( Incidence *incidence )
3901{ 3901{
3902 if ( incidence == mSelectedIncidence ) return; 3902 if ( incidence == mSelectedIncidence ) return;
3903 3903
3904 mSelectedIncidence = incidence; 3904 mSelectedIncidence = incidence;
3905 3905
3906 emit incidenceSelected( mSelectedIncidence ); 3906 emit incidenceSelected( mSelectedIncidence );
3907 3907
3908 if ( incidence && incidence->typeID() == eventID ) { 3908 if ( incidence && incidence->typeID() == eventID ) {
3909 Event *event = static_cast<Event *>( incidence ); 3909 Event *event = static_cast<Event *>( incidence );
3910 if ( event->organizer() == KOPrefs::instance()->email() ) { 3910 if ( event->organizer() == KOPrefs::instance()->email() ) {
3911 emit organizerEventsSelected( true ); 3911 emit organizerEventsSelected( true );
3912 } else { 3912 } else {
3913 emit organizerEventsSelected(false); 3913 emit organizerEventsSelected(false);
3914 } 3914 }
3915 if (event->attendeeByMails( KOPrefs::instance()->mAdditionalMails, 3915 if (event->attendeeByMails( KOPrefs::instance()->mAdditionalMails,
3916 KOPrefs::instance()->email() ) ) { 3916 KOPrefs::instance()->email() ) ) {
3917 emit groupEventsSelected( true ); 3917 emit groupEventsSelected( true );
3918 } else { 3918 } else {
3919 emit groupEventsSelected(false); 3919 emit groupEventsSelected(false);
3920 } 3920 }
3921 return; 3921 return;
3922 } else { 3922 } else {
3923 if ( incidence && incidence->typeID() == todoID ) { 3923 if ( incidence && incidence->typeID() == todoID ) {
3924 emit todoSelected( true ); 3924 emit todoSelected( true );
3925 Todo *event = static_cast<Todo *>( incidence ); 3925 Todo *event = static_cast<Todo *>( incidence );
3926 if ( event->organizer() == KOPrefs::instance()->email() ) { 3926 if ( event->organizer() == KOPrefs::instance()->email() ) {
3927 emit organizerEventsSelected( true ); 3927 emit organizerEventsSelected( true );
3928 } else { 3928 } else {
3929 emit organizerEventsSelected(false); 3929 emit organizerEventsSelected(false);
3930 } 3930 }
3931 if (event->attendeeByMails( KOPrefs::instance()->mAdditionalMails, 3931 if (event->attendeeByMails( KOPrefs::instance()->mAdditionalMails,
3932 KOPrefs::instance()->email() ) ) { 3932 KOPrefs::instance()->email() ) ) {
3933 emit groupEventsSelected( true ); 3933 emit groupEventsSelected( true );
3934 } else { 3934 } else {
3935 emit groupEventsSelected(false); 3935 emit groupEventsSelected(false);
3936 } 3936 }
3937 return; 3937 return;
3938 } else { 3938 } else {
3939 emit todoSelected( false ); 3939 emit todoSelected( false );
3940 emit organizerEventsSelected(false); 3940 emit organizerEventsSelected(false);
3941 emit groupEventsSelected(false); 3941 emit groupEventsSelected(false);
3942 } 3942 }
3943 return; 3943 return;
3944 } 3944 }
3945 3945
3946 /* if ( incidence && incidence->typeID() == todoID ) { 3946 /* if ( incidence && incidence->typeID() == todoID ) {
3947 emit todoSelected( true ); 3947 emit todoSelected( true );
3948 } else { 3948 } else {
3949 emit todoSelected( false ); 3949 emit todoSelected( false );
3950 }*/ 3950 }*/
3951} 3951}
3952 3952
3953 3953
3954void CalendarView::checkClipboard() 3954void CalendarView::checkClipboard()
3955{ 3955{
3956#ifndef KORG_NODND 3956#ifndef KORG_NODND
3957 if (ICalDrag::canDecode(QApplication::clipboard()->data())) { 3957 if (ICalDrag::canDecode(QApplication::clipboard()->data())) {
3958 emit pasteEnabled(true); 3958 emit pasteEnabled(true);
3959 } else { 3959 } else {
3960 emit pasteEnabled(false); 3960 emit pasteEnabled(false);
3961 } 3961 }
3962#endif 3962#endif
3963} 3963}
3964 3964
3965void CalendarView::showDates(const DateList &selectedDates) 3965void CalendarView::showDates(const DateList &selectedDates)
3966{ 3966{
3967 // kdDebug() << "CalendarView::selectDates()" << endl; 3967 // kdDebug() << "CalendarView::selectDates()" << endl;
3968 3968
3969 3969
3970 if ( !mBlockShowDates ) { 3970 if ( !mBlockShowDates ) {
3971 if ( mViewManager->currentView() ) { 3971 if ( mViewManager->currentView() ) {
3972 updateView( selectedDates.first(), selectedDates.last() ); 3972 updateView( selectedDates.first(), selectedDates.last() );
3973 } else { 3973 } else {
3974 mViewManager->showAgendaView(); 3974 mViewManager->showAgendaView();
3975 } 3975 }
3976 } 3976 }
3977 3977
3978 QDate date = selectedDates.first(); 3978 QDate date = selectedDates.first();
3979 if ( ! date.isValid() ) { 3979 if ( ! date.isValid() ) {
3980 topLevelWidget()->setCaption(""); 3980 topLevelWidget()->setCaption("");
3981 return; 3981 return;
3982 } 3982 }
3983 3983
3984 QString selDates; 3984 QString selDates;
3985 selDates = KGlobal::locale()->formatDate( date, true); 3985 selDates = KGlobal::locale()->formatDate( date, true);
3986 if (selectedDates.first() < selectedDates.last() ) 3986 if (selectedDates.first() < selectedDates.last() )
3987 selDates += " - " + KGlobal::locale()->formatDate( selectedDates.last(),true); 3987 selDates += " - " + KGlobal::locale()->formatDate( selectedDates.last(),true);
3988 else { 3988 else {
3989 QString addString; 3989 QString addString;
3990 if ( date == QDateTime::currentDateTime().date() ) 3990 if ( date == QDateTime::currentDateTime().date() )
3991 addString = i18n("Today"); 3991 addString = i18n("Today");
3992 else if ( date == QDateTime::currentDateTime().date().addDays(1) ) 3992 else if ( date == QDateTime::currentDateTime().date().addDays(1) )
3993 addString = i18n("Tomorrow"); 3993 addString = i18n("Tomorrow");
3994 else if ( date == QDateTime::currentDateTime().date().addDays(-1) ) 3994 else if ( date == QDateTime::currentDateTime().date().addDays(-1) )
3995 addString = i18n("Yesterday"); 3995 addString = i18n("Yesterday");
3996 else if ( date == QDateTime::currentDateTime().date().addDays(-2) ) 3996 else if ( date == QDateTime::currentDateTime().date().addDays(-2) )
3997 addString = i18n("Day before yesterday"); 3997 addString = i18n("Day before yesterday");
3998 else if ( date == QDateTime::currentDateTime().date().addDays(2) ) 3998 else if ( date == QDateTime::currentDateTime().date().addDays(2) )
3999 addString = i18n("Day after tomorrow"); 3999 addString = i18n("Day after tomorrow");
4000 if ( !addString.isEmpty() ) { 4000 if ( !addString.isEmpty() ) {
4001 topLevelWidget()->setCaption( addString+", " + selDates ); 4001 topLevelWidget()->setCaption( addString+", " + selDates );
4002 return; 4002 return;
4003 } 4003 }
4004 } 4004 }
4005 topLevelWidget()->setCaption( i18n("Dates: ") + selDates ); 4005 topLevelWidget()->setCaption( i18n("Dates: ") + selDates );
4006 4006
4007} 4007}
4008 4008
4009QPtrList<CalFilter> CalendarView::filters() 4009QPtrList<CalFilter> CalendarView::filters()
4010{ 4010{
4011 return mFilters; 4011 return mFilters;
4012 4012
4013} 4013}
4014void CalendarView::editFilters() 4014void CalendarView::editFilters()
4015{ 4015{
4016 // kdDebug() << "CalendarView::editFilters()" << endl; 4016 // kdDebug() << "CalendarView::editFilters()" << endl;
4017 4017
4018 CalFilter *filter = mFilters.first(); 4018 CalFilter *filter = mFilters.first();
4019 while(filter) { 4019 while(filter) {
4020 kdDebug() << " Filter: " << filter->name() << endl; 4020 kdDebug() << " Filter: " << filter->name() << endl;
4021 filter = mFilters.next(); 4021 filter = mFilters.next();
4022 } 4022 }
4023 4023
4024 mDialogManager->showFilterEditDialog(&mFilters); 4024 mDialogManager->showFilterEditDialog(&mFilters);
4025 updateFilter(); 4025 updateFilter();
4026} 4026}
4027void CalendarView::toggleFilter() 4027void CalendarView::toggleFilter()
4028{ 4028{
4029 showFilter(! mCalEditView->isVisible()); 4029 if ( mLeftFrame->isHidden() ) {
4030 toggleExpand();
4031 showFilter( true );
4032 } else
4033 showFilter(! mCalEditView->isVisible());
4030} 4034}
4031 4035
4032KOFilterView *CalendarView::filterView() 4036KOFilterView *CalendarView::filterView()
4033{ 4037{
4034 return mFilterView; 4038 return mFilterView;
4035} 4039}
4036void CalendarView::selectFilter( int fil ) 4040void CalendarView::selectFilter( int fil )
4037{ 4041{
4038 mFilterView->setSelectedFilter( fil ); 4042 mFilterView->setSelectedFilter( fil );
4039} 4043}
4040void CalendarView::showFilter(bool visible) 4044void CalendarView::showFilter(bool visible)
4041{ 4045{
4042#if 1 4046#if 1
4043 if (visible) { 4047 if (visible) {
4044 mCalEditView->readConfig(); 4048 mCalEditView->readConfig();
4045 mCalEditView->show(); 4049 mCalEditView->show();
4046 QValueList<int> sizes; 4050 QValueList<int> sizes;
4047 sizes = mLeftFrame->sizes(); 4051 sizes = mLeftFrame->sizes();
4048 if ( sizes.count() == 4 && sizes[3] < 20 ) { 4052 if ( sizes.count() == 4 && sizes[3] < 20 ) {
4049 sizes.clear(); 4053 sizes.clear();
4050 sizes << 100; 4054 sizes << 100;
4051 sizes << 0; 4055 sizes << 0;
4052 sizes << 0; 4056 sizes << 0;
4053 sizes << 100; 4057 sizes << 100;
4054 mLeftFrame->setSizes(sizes); 4058 mLeftFrame->setSizes(sizes);
4055 } 4059 }
4056#if 0 4060#if 0
4057 sizes = mLeftFrame->sizes(); 4061 sizes = mLeftFrame->sizes();
4058 int ccc = 0; 4062 int ccc = 0;
4059 while ( ccc < sizes.count()) { 4063 while ( ccc < sizes.count()) {
4060 qDebug("size %d %d ", ccc, sizes[ccc]); 4064 qDebug("size %d %d ", ccc, sizes[ccc]);
4061 ++ccc; 4065 ++ccc;
4062 } 4066 }
4063#endif 4067#endif
4064 4068
4065 } 4069 }
4066 else { 4070 else {
4067 mCalEditView->hide(); 4071 mCalEditView->hide();
4068 } 4072 }
4069#else 4073#else
4070 if (visible) mFilterView->show(); 4074 if (visible) mFilterView->show();
4071 else mFilterView->hide(); 4075 else mFilterView->hide();
4072#endif 4076#endif
4073} 4077}
4074void CalendarView::toggleFilerEnabled( ) 4078void CalendarView::toggleFilerEnabled( )
4075{ 4079{
4076 mFilterView->setFiltersEnabled ( !mFilterView->filtersEnabled() ); 4080 mFilterView->setFiltersEnabled ( !mFilterView->filtersEnabled() );
4077 if ( !mFilterView->filtersEnabled() ) 4081 if ( !mFilterView->filtersEnabled() )
4078 topLevelWidget()->setCaption( i18n("Filter disabled ") ); 4082 topLevelWidget()->setCaption( i18n("Filter disabled ") );
4079 4083
4080} 4084}
4081void CalendarView::updateFilter() 4085void CalendarView::updateFilter()
4082{ 4086{
4083 CalFilter *filter = mFilterView->selectedFilter(); 4087 CalFilter *filter = mFilterView->selectedFilter();
4084 if (filter) { 4088 if (filter) {
4085 QString mess; 4089 QString mess;
4086 if (mFilterView->filtersEnabled()) { 4090 if (mFilterView->filtersEnabled()) {
4087 mess = i18n("Filter selected: ")+filter->name(); 4091 mess = i18n("Filter selected: ")+filter->name();
4088 filter->setEnabled(true); 4092 filter->setEnabled(true);
4089 } 4093 }
4090 else filter->setEnabled(false); 4094 else filter->setEnabled(false);
4091 mCalendar->setFilter(filter); 4095 mCalendar->setFilter(filter);
4092 updateView(); 4096 updateView();
4093 if ( !mess.isEmpty() ) 4097 if ( !mess.isEmpty() )
4094 topLevelWidget()->setCaption( mess ); 4098 topLevelWidget()->setCaption( mess );
4095 4099
4096 } 4100 }
4097 emit filtersUpdated(); 4101 emit filtersUpdated();
4098} 4102}
4099 4103
4100void CalendarView::filterEdited() 4104void CalendarView::filterEdited()
4101{ 4105{
4102 mFilterView->updateFilters(); 4106 mFilterView->updateFilters();
4103 updateFilter(); 4107 updateFilter();
4104 writeSettings(); 4108 writeSettings();
4105} 4109}
4106 4110
4107 4111
4108void CalendarView::takeOverEvent() 4112void CalendarView::takeOverEvent()
4109{ 4113{
4110 Incidence *incidence = currentSelection(); 4114 Incidence *incidence = currentSelection();
4111 4115
4112 if (!incidence) return; 4116 if (!incidence) return;
4113 4117
4114 incidence->setOrganizer(KOPrefs::instance()->email()); 4118 incidence->setOrganizer(KOPrefs::instance()->email());
4115 incidence->recreate(); 4119 incidence->recreate();
4116 incidence->setReadOnly(false); 4120 incidence->setReadOnly(false);
4117 4121
4118 updateView(); 4122 updateView();
4119} 4123}
4120 4124
4121void CalendarView::takeOverCalendar() 4125void CalendarView::takeOverCalendar()
4122{ 4126{
4123 // TODO: Create Calendar::allIncidences() function and use it here 4127 // TODO: Create Calendar::allIncidences() function and use it here
4124 4128
4125 clearAllViews(); 4129 clearAllViews();
4126 QPtrList<Event> events = mCalendar->events(); 4130 QPtrList<Event> events = mCalendar->events();
4127 for(uint i=0; i<events.count(); ++i) { 4131 for(uint i=0; i<events.count(); ++i) {
4128 events.at(i)->setOrganizer(KOPrefs::instance()->email()); 4132 events.at(i)->setOrganizer(KOPrefs::instance()->email());
4129 events.at(i)->recreate(); 4133 events.at(i)->recreate();
4130 events.at(i)->setReadOnly(false); 4134 events.at(i)->setReadOnly(false);
4131 } 4135 }
4132 4136
4133 QPtrList<Todo> todos = mCalendar->todos(); 4137 QPtrList<Todo> todos = mCalendar->todos();
4134 for(uint i=0; i<todos.count(); ++i) { 4138 for(uint i=0; i<todos.count(); ++i) {
4135 todos.at(i)->setOrganizer(KOPrefs::instance()->email()); 4139 todos.at(i)->setOrganizer(KOPrefs::instance()->email());
4136 todos.at(i)->recreate(); 4140 todos.at(i)->recreate();
4137 todos.at(i)->setReadOnly(false); 4141 todos.at(i)->setReadOnly(false);
4138 } 4142 }
4139 4143
4140 QPtrList<Journal> journals = mCalendar->journals(); 4144 QPtrList<Journal> journals = mCalendar->journals();
4141 for(uint i=0; i<journals.count(); ++i) { 4145 for(uint i=0; i<journals.count(); ++i) {
4142 journals.at(i)->setOrganizer(KOPrefs::instance()->email()); 4146 journals.at(i)->setOrganizer(KOPrefs::instance()->email());
4143 journals.at(i)->recreate(); 4147 journals.at(i)->recreate();
4144 journals.at(i)->setReadOnly(false); 4148 journals.at(i)->setReadOnly(false);
4145 } 4149 }
4146 4150
4147 updateView(); 4151 updateView();
4148} 4152}
4149 4153
4150void CalendarView::showIntro() 4154void CalendarView::showIntro()
4151{ 4155{
4152 kdDebug() << "To be implemented." << endl; 4156 kdDebug() << "To be implemented." << endl;
4153} 4157}
4154 4158
4155QWidgetStack *CalendarView::viewStack() 4159QWidgetStack *CalendarView::viewStack()
4156{ 4160{
4157 return mRightFrame; 4161 return mRightFrame;
4158} 4162}
4159 4163
4160QWidget *CalendarView::leftFrame() 4164QWidget *CalendarView::leftFrame()
4161{ 4165{
4162 return ( QWidget *)mLeftFrame; 4166 return ( QWidget *)mLeftFrame;
4163} 4167}
4164 4168
4165DateNavigator *CalendarView::dateNavigator() 4169DateNavigator *CalendarView::dateNavigator()
4166{ 4170{
4167 return mNavigator; 4171 return mNavigator;
4168} 4172}
4169 4173
4170KDateNavigator* CalendarView::dateNavigatorWidget() 4174KDateNavigator* CalendarView::dateNavigatorWidget()
4171{ 4175{
4172 return mDateNavigator->navigatorView(); 4176 return mDateNavigator->navigatorView();
4173} 4177}
4174void CalendarView::toggleDateNavigatorWidget() 4178void CalendarView::toggleDateNavigatorWidget()
4175{ 4179{
4176 KOPrefs::instance()->mShowDateNavigator = !KOPrefs::instance()->mShowDateNavigator ; 4180 KOPrefs::instance()->mShowDateNavigator = !KOPrefs::instance()->mShowDateNavigator ;
4177 4181
4178 if (!KOPrefs::instance()->mShowDateNavigator ) 4182 if (!KOPrefs::instance()->mShowDateNavigator )
4179 mDateNavigator->hide(); 4183 mDateNavigator->hide();
4180 else 4184 else
4181 mDateNavigator->show(); 4185 mDateNavigator->show();
4182} 4186}
4183void CalendarView::addView(KOrg::BaseView *view) 4187void CalendarView::addView(KOrg::BaseView *view)
4184{ 4188{
4185 mViewManager->addView(view); 4189 mViewManager->addView(view);
4186} 4190}
4187 4191
4188void CalendarView::showView(KOrg::BaseView *view) 4192void CalendarView::showView(KOrg::BaseView *view)
4189{ 4193{
4190 mViewManager->showView(view, mLeftFrame->isVisible()); 4194 mViewManager->showView(view, mLeftFrame->isVisible());
4191} 4195}
4192 4196
4193Incidence *CalendarView::currentSelection() 4197Incidence *CalendarView::currentSelection()
4194{ 4198{
4195 return mViewManager->currentSelection(); 4199 return mViewManager->currentSelection();
4196} 4200}
4197void CalendarView::toggleAllDaySize() 4201void CalendarView::toggleAllDaySize()
4198{ 4202{
4199 /* 4203 /*
4200 if ( KOPrefs::instance()->mAllDaySize > 47 ) 4204 if ( KOPrefs::instance()->mAllDaySize > 47 )
4201 KOPrefs::instance()->mAllDaySize = KOPrefs::instance()->mAllDaySize /2; 4205 KOPrefs::instance()->mAllDaySize = KOPrefs::instance()->mAllDaySize /2;
4202 else 4206 else
4203 KOPrefs::instance()->mAllDaySize = KOPrefs::instance()->mAllDaySize *2; 4207 KOPrefs::instance()->mAllDaySize = KOPrefs::instance()->mAllDaySize *2;
4204 */ 4208 */
4205 viewManager()->agendaView()->toggleAllDay(); 4209 viewManager()->agendaView()->toggleAllDay();
4206} 4210}
4207void CalendarView::toggleExpand() 4211void CalendarView::toggleExpand()
4208{ 4212{
4209 // if ( mLeftFrame->isHidden() ) { 4213 // if ( mLeftFrame->isHidden() ) {
4210 // mLeftFrame->show(); 4214 // mLeftFrame->show();
4211 // emit calendarViewExpanded( false ); 4215 // emit calendarViewExpanded( false );
4212 // } else { 4216 // } else {
4213 // mLeftFrame->hide(); 4217 // mLeftFrame->hide();
4214 // emit calendarViewExpanded( true ); 4218 // emit calendarViewExpanded( true );
4215 // } 4219 // }
4216 //qDebug(" CalendarView::toggleExpand()"); 4220 //qDebug(" CalendarView::toggleExpand()");
4217 globalFlagBlockAgenda = 1; 4221 globalFlagBlockAgenda = 1;
4218 emit calendarViewExpanded( !mLeftFrame->isHidden() ); 4222 emit calendarViewExpanded( !mLeftFrame->isHidden() );
4219 globalFlagBlockAgenda = 5; 4223 globalFlagBlockAgenda = 5;
4220 mViewManager->raiseCurrentView( !mLeftFrame->isHidden() ); 4224 mViewManager->raiseCurrentView( !mLeftFrame->isHidden() );
4221 //mViewManager->showView( 0, true ); 4225 //mViewManager->showView( 0, true );
diff --git a/korganizer/kofilterview.cpp b/korganizer/kofilterview.cpp
index e4dc751..bb88386 100644
--- a/korganizer/kofilterview.cpp
+++ b/korganizer/kofilterview.cpp
@@ -6,419 +6,419 @@
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 <qcheckbox.h> 24#include <qcheckbox.h>
25#include <qcombobox.h> 25#include <qcombobox.h>
26#include <qpushbutton.h> 26#include <qpushbutton.h>
27#include <qlayout.h> 27#include <qlayout.h>
28#include <qlabel.h> 28#include <qlabel.h>
29#include <qdialog.h> 29#include <qdialog.h>
30#include <qtextstream.h> 30#include <qtextstream.h>
31#include <qtextcodec.h> 31#include <qtextcodec.h>
32 32
33 33
34#include <libkcal/calfilter.h> 34#include <libkcal/calfilter.h>
35 35
36#include "kofilterview.h" 36#include "kofilterview.h"
37#include "koprefs.h" 37#include "koprefs.h"
38#include <kiconloader.h> 38#include <kiconloader.h>
39#include <kglobal.h> 39#include <kglobal.h>
40#include <kcolorbutton.h> 40#include <kcolorbutton.h>
41#include <kmessagebox.h> 41#include <kmessagebox.h>
42 42
43 43
44 44
45 45
46 46
47KOFilterView::KOFilterView(QPtrList<CalFilter> *filterList,QWidget* parent, 47KOFilterView::KOFilterView(QPtrList<CalFilter> *filterList,QWidget* parent,
48 const char* name,WFlags fl ) 48 const char* name,WFlags fl )
49 : KOFilterView_base(parent,name,fl) 49 : KOFilterView_base(parent,name,fl)
50{ 50{
51 mFilters = filterList; 51 mFilters = filterList;
52 52
53 connect(mSelectionCombo,SIGNAL(activated(int)),SIGNAL(filterChanged())); 53 connect(mSelectionCombo,SIGNAL(activated(int)),SIGNAL(filterChanged()));
54 connect(mEnabledCheck,SIGNAL(clicked()),SIGNAL(filterChanged())); 54 connect(mEnabledCheck,SIGNAL(clicked()),SIGNAL(filterChanged()));
55 connect(mEditButton,SIGNAL(clicked()),SIGNAL(editFilters())); 55 connect(mEditButton,SIGNAL(clicked()),SIGNAL(editFilters()));
56} 56}
57 57
58KOFilterView::~KOFilterView() 58KOFilterView::~KOFilterView()
59{ 59{
60 // no need to delete child widgets, Qt does it all for us 60 // no need to delete child widgets, Qt does it all for us
61} 61}
62 62
63bool KOFilterView::filtersEnabled() 63bool KOFilterView::filtersEnabled()
64{ 64{
65 return mEnabledCheck->isChecked(); 65 return mEnabledCheck->isChecked();
66} 66}
67 67
68void KOFilterView::setFiltersEnabled(bool set) 68void KOFilterView::setFiltersEnabled(bool set)
69{ 69{
70 mEnabledCheck->setChecked(set); 70 mEnabledCheck->setChecked(set);
71 emit filterChanged(); 71 emit filterChanged();
72} 72}
73 73
74 74
75void KOFilterView::updateFilters() 75void KOFilterView::updateFilters()
76{ 76{
77 mSelectionCombo->clear(); 77 mSelectionCombo->clear();
78 78
79 CalFilter *filter = mFilters->first(); 79 CalFilter *filter = mFilters->first();
80 while(filter) { 80 while(filter) {
81 mSelectionCombo->insertItem(filter->name()); 81 mSelectionCombo->insertItem(filter->name());
82 filter = mFilters->next(); 82 filter = mFilters->next();
83 } 83 }
84} 84}
85 85
86CalFilter *KOFilterView::selectedFilter() 86CalFilter *KOFilterView::selectedFilter()
87{ 87{
88 CalFilter *f = mFilters->at(mSelectionCombo->currentItem()); 88 CalFilter *f = mFilters->at(mSelectionCombo->currentItem());
89 return f; 89 return f;
90} 90}
91 91
92void KOFilterView::setSelectedFilter(QString filterName) 92void KOFilterView::setSelectedFilter(QString filterName)
93{ 93{
94 int filter_num = mSelectionCombo->count(); 94 int filter_num = mSelectionCombo->count();
95 int i; 95 int i;
96 for (i=0;i<filter_num;i++) { 96 for (i=0;i<filter_num;i++) {
97 if (mSelectionCombo->text(i)==filterName) 97 if (mSelectionCombo->text(i)==filterName)
98 mSelectionCombo->setCurrentItem(i); 98 mSelectionCombo->setCurrentItem(i);
99 } 99 }
100 emit filterChanged(); 100 emit filterChanged();
101} 101}
102void KOFilterView::setSelectedFilter( int fil ) 102void KOFilterView::setSelectedFilter( int fil )
103{ 103{
104 if ( fil >= mSelectionCombo->count() ) 104 if ( fil >= mSelectionCombo->count() )
105 return; 105 return;
106 mSelectionCombo->setCurrentItem( fil ); 106 mSelectionCombo->setCurrentItem( fil );
107 emit filterChanged(); 107 emit filterChanged();
108} 108}
109 109
110 110
111 111
112KOCalEditView::KOCalEditView(QWidget* parent, 112KOCalEditView::KOCalEditView(QWidget* parent,
113 const char* name ) 113 const char* name )
114 : QScrollView(parent,name) 114 : QScrollView(parent,name)
115{ 115{
116 mw = 0; 116 mw = 0;
117 setResizePolicy( AutoOneFit ); 117 setResizePolicy( AutoOneFit );
118 setFrameStyle ( QFrame::Panel | QFrame::Plain ); 118 setFrameStyle ( QFrame::Panel | QFrame::Plain );
119 setLineWidth ( 1 ); 119 setLineWidth ( 1 );
120 setMidLineWidth ( 1 ); 120 setMidLineWidth ( 1 );
121 setFocusPolicy(NoFocus); 121 setFocusPolicy(NoFocus);
122} 122}
123 123
124KOCalEditView::~KOCalEditView() 124KOCalEditView::~KOCalEditView()
125{ 125{
126 // no need to delete child widgets, Qt does it all for us 126 // no need to delete child widgets, Qt does it all for us
127} 127}
128void KOCalEditView::selectCal(int id ,bool b) 128void KOCalEditView::selectCal(int id ,bool b)
129{ 129{
130 KOPrefs::instance()->getCalendar( id )->isEnabled = b; 130 KOPrefs::instance()->getCalendar( id )->isEnabled = b;
131 emit calendarEnabled ( id, b ); 131 emit calendarEnabled ( id, b );
132 emit needsUpdate(); 132 emit needsUpdate();
133 133
134} 134}
135void KOCalEditView::selectStdCal( int id, bool b ) 135void KOCalEditView::selectStdCal( int id, bool b )
136{ 136{
137 137
138 if ( !b ) { 138 if ( !b ) {
139 KOCalCheckButton* it = (KOCalCheckButton*) sender(); 139 KOCalCheckButton* it = (KOCalCheckButton*) sender();
140 if ( it ) { 140 if ( it ) {
141 it->blockSignals( true ); 141 it->blockSignals( true );
142 it->setChecked( true ); 142 it->setChecked( true );
143 it->blockSignals( false ); 143 it->blockSignals( false );
144 return; 144 return;
145 } 145 }
146 return; 146 return;
147 } 147 }
148 KOCalCheckButton* sen = (KOCalCheckButton*) sender(); 148 KOCalCheckButton* sen = (KOCalCheckButton*) sender();
149 KOCalCheckButton* it = mStdandardB.first(); 149 KOCalCheckButton* it = mStdandardB.first();
150 while ( it ) { 150 while ( it ) {
151 if ( it->isChecked() ) { 151 if ( it->isChecked() ) {
152 if ( it != sen ) { 152 if ( it != sen ) {
153 it->blockSignals( true ); 153 it->blockSignals( true );
154 it->setChecked( false ); 154 it->setChecked( false );
155 it->blockSignals( false ); 155 it->blockSignals( false );
156 break; 156 break;
157 } 157 }
158 } 158 }
159 it = mStdandardB.next(); 159 it = mStdandardB.next();
160 } 160 }
161 KopiCalendarFile * kkf = KOPrefs::instance()->mCalendars.first(); 161 KopiCalendarFile * kkf = KOPrefs::instance()->mCalendars.first();
162 while ( kkf ) { 162 while ( kkf ) {
163 kkf->isStandard = false; 163 kkf->isStandard = false;
164 kkf = KOPrefs::instance()->mCalendars.next(); 164 kkf = KOPrefs::instance()->mCalendars.next();
165 } 165 }
166 KOPrefs::instance()->getCalendar( id )->isStandard = true; 166 KOPrefs::instance()->getCalendar( id )->isStandard = true;
167 emit setCalendarDefault ( id ); 167 emit setCalendarDefault ( id );
168} 168}
169 169
170void KOCalEditView::selectCalAlarm(int id ,bool b ) 170void KOCalEditView::selectCalAlarm(int id ,bool b )
171{ 171{
172 KOPrefs::instance()->getCalendar( id )->isAlarmEnabled = b; 172 KOPrefs::instance()->getCalendar( id )->isAlarmEnabled = b;
173 emit alarmEnabled ( id , b ); 173 emit alarmEnabled ( id , b );
174 emit needsUpdate(); 174 emit needsUpdate();
175} 175}
176void KOCalEditView::selectReadOnly(int id ,bool b ) 176void KOCalEditView::selectReadOnly(int id ,bool b )
177{ 177{
178 KOPrefs::instance()->getCalendar( id )->isReadOnly = b; 178 KOPrefs::instance()->getCalendar( id )->isReadOnly = b;
179 emit calendarReadonly ( id , b ); 179 emit calendarReadonly ( id , b );
180 if ( KOPrefs::instance()->getCalendar( id )->isStandard && b && id > 1 ) { 180 if ( KOPrefs::instance()->getCalendar( id )->isStandard && b && id > 1 ) {
181 KOPrefs::instance()->getCalendar( id )->isStandard = false; 181 KOPrefs::instance()->getCalendar( id )->isStandard = false;
182 KOPrefs::instance()->getCalendar( 1 )->isStandard = true; 182 KOPrefs::instance()->getCalendar( 1 )->isStandard = true;
183 emit setCalendarDefault ( 1 ); 183 emit setCalendarDefault ( 1 );
184 } 184 }
185 emit needsUpdate(); 185 emit needsUpdate();
186 QTimer::singleShot( 0, this, SLOT ( readConfig() ) ); 186 QTimer::singleShot( 0, this, SLOT ( readConfig() ) );
187 187
188} 188}
189void KOCalEditView::setColor( const QColor& c, int id ) 189void KOCalEditView::setColor( const QColor& c, int id )
190{ 190{
191 KOPrefs::instance()->getCalendar( id )->mDefaultColor = c; 191 KOPrefs::instance()->getCalendar( id )->mDefaultColor = c;
192 emit needsUpdate(); 192 emit needsUpdate();
193} 193}
194void KOCalEditView::deleteCal( int id ) 194void KOCalEditView::deleteCal( int id )
195{ 195{
196 KopiCalendarFile * kkf = KOPrefs::instance()->getCalendar( id ); 196 KopiCalendarFile * kkf = KOPrefs::instance()->getCalendar( id );
197 QString name = kkf->mName; 197 QString name = kkf->mName;
198 QString file = kkf->mFileName; 198 QString file = KGlobal::formatMessage ( kkf->mFileName ,0 );
199 if ( KMessageBox::warningContinueCancel( this, i18n("The calendar <b>%1</b> is displaying file <b>%2</b>. Do you want to remove this calendar from KO/Pi? (The file is not removed!)").arg(name).arg(file) ) != KMessageBox::Continue ) return; 199 if ( KMessageBox::warningContinueCancel( this, i18n("The calendar <b>%1</b> is displaying file <b>%2</b>. Do you want to remove this calendar from KO/Pi? (The file is not removed!)").arg(name).arg(file) ) != KMessageBox::Continue ) return;
200 if ( kkf->isStandard ) 200 if ( kkf->isStandard )
201 selectStdCal( 1, true ); 201 selectStdCal( 1, true );
202 emit removeCalendar ( id ); 202 emit removeCalendar ( id );
203 KOPrefs::instance()->mCalendars.remove ( kkf ); 203 KOPrefs::instance()->mCalendars.remove ( kkf );
204 emit needsUpdate(); 204 emit needsUpdate();
205 QTimer::singleShot( 0, this, SLOT ( readConfig() ) ); 205 QTimer::singleShot( 0, this, SLOT ( readConfig() ) );
206} 206}
207void KOCalEditView::infoCal( int id ) 207void KOCalEditView::infoCal( int id )
208{ 208{
209 QString name = KOPrefs::instance()->getCalendar( id )->mName; 209 QString name = KOPrefs::instance()->getCalendar( id )->mName;
210 QString file = KOPrefs::instance()->getCalendar( id )->mFileName; 210 QString file = KGlobal::formatMessage ( KOPrefs::instance()->getCalendar( id )->mFileName, 0 );
211 if ( KOPrefs::instance()->getCalendar( id )->mErrorOnLoad ) { 211 if ( KOPrefs::instance()->getCalendar( id )->mErrorOnLoad ) {
212 if ( KMessageBox::Yes == KMessageBox::questionYesNo( this, i18n("The calendar <b>%1</b> is not loaded! Loading of file <b>%2</b> failed! <b>Try again to load the calendar?</b>").arg(name).arg(file) ) ) { 212 if ( KMessageBox::Yes == KMessageBox::questionYesNo( this, i18n("The calendar <b>%1</b> is not loaded! Loading of file <b>%2</b> failed! <b>Try again to load the calendar?</b>").arg(name).arg(file) ) ) {
213 emit calendarAdded( id ); 213 emit calendarAdded( id );
214 emit needsUpdate(); 214 emit needsUpdate();
215 QTimer::singleShot( 0, this, SLOT ( readConfig() ) ); 215 QTimer::singleShot( 0, this, SLOT ( readConfig() ) );
216 } 216 }
217 } 217 }
218 else 218 else
219 KMessageBox::information( this, i18n("The calendar <b>%1</b> is displaying file <b>%2</b>").arg(name).arg(file) ); 219 KMessageBox::information( this, i18n("The calendar <b>%1</b> is displaying file <b>%2</b>").arg(name).arg(file) );
220} 220}
221void KOCalEditView::readConfig() 221void KOCalEditView::readConfig()
222{ 222{
223 223
224 mStdandardB.clear(); 224 mStdandardB.clear();
225 mEnabledB.clear(); 225 mEnabledB.clear();
226 mAlarmB.clear(); 226 mAlarmB.clear();
227 mROB.clear(); 227 mROB.clear();
228 228
229 if ( mw ) delete mw; 229 if ( mw ) delete mw;
230 mw = new QWidget ( viewport() ); 230 mw = new QWidget ( viewport() );
231 addChild(mw); 231 addChild(mw);
232 232
233 mainLayout = new QGridLayout ( mw , 2, 8 ); 233 mainLayout = new QGridLayout ( mw , 2, 8 );
234 mainLayout->setMargin( 3); 234 mainLayout->setMargin( 3);
235 mainLayout->setSpacing( 2); 235 mainLayout->setSpacing( 2);
236 QPushButton * addBut = new QPushButton ( mw ); 236 QPushButton * addBut = new QPushButton ( mw );
237 addBut->setFocusPolicy(NoFocus); 237 addBut->setFocusPolicy(NoFocus);
238 mainLayout->addWidget( addBut,0,0 ); 238 mainLayout->addWidget( addBut,0,0 );
239 addBut->setPixmap ( SmallIcon("plus")); 239 addBut->setPixmap ( SmallIcon("plus"));
240 connect(addBut,SIGNAL(clicked()),SLOT(addCal())); 240 connect(addBut,SIGNAL(clicked()),SLOT(addCal()));
241 addBut->setMaximumWidth( addBut->sizeHint().height() ); 241 addBut->setMaximumWidth( addBut->sizeHint().height() );
242 242
243 addBut = new QPushButton ( mw ); 243 addBut = new QPushButton ( mw );
244 addBut->setFocusPolicy(NoFocus); 244 addBut->setFocusPolicy(NoFocus);
245 mainLayout->addWidget( addBut,0,1 ); 245 mainLayout->addWidget( addBut,0,1 );
246 addBut->setPixmap ( SmallIcon("eye")); 246 addBut->setPixmap ( SmallIcon("eye"));
247 connect(addBut,SIGNAL(clicked()),SLOT(enableAll())); 247 connect(addBut,SIGNAL(clicked()),SLOT(enableAll()));
248 addBut->setMaximumWidth( addBut->sizeHint().height() ); 248 addBut->setMaximumWidth( addBut->sizeHint().height() );
249 249
250 QLabel* lab = new QLabel (i18n(" Calendar \n Resource "), mw ); 250 QLabel* lab = new QLabel (i18n(" Calendar \n Resource "), mw );
251 mainLayout->addWidget( lab,0,2 ); 251 mainLayout->addWidget( lab,0,2 );
252 lab = new QLabel ( i18n(" "), mw ); 252 lab = new QLabel ( i18n(" "), mw );
253 mainLayout->addWidget( lab,0,3 ); 253 mainLayout->addWidget( lab,0,3 );
254 lab->setFixedWidth( 6 ); 254 lab->setFixedWidth( 6 );
255 addBut = new QPushButton ( mw ); 255 addBut = new QPushButton ( mw );
256 addBut->setFocusPolicy(NoFocus); 256 addBut->setFocusPolicy(NoFocus);
257 mainLayout->addWidget( addBut,0,4 ); 257 mainLayout->addWidget( addBut,0,4 );
258 addBut->setPixmap ( SmallIcon("bell")); 258 addBut->setPixmap ( SmallIcon("bell"));
259 connect(addBut,SIGNAL(clicked()),SLOT(enableAlarm())); 259 connect(addBut,SIGNAL(clicked()),SLOT(enableAlarm()));
260 addBut->setMaximumWidth( addBut->sizeHint().height() ); 260 addBut->setMaximumWidth( addBut->sizeHint().height() );
261 261
262 addBut = new QPushButton ( mw ); 262 addBut = new QPushButton ( mw );
263 addBut->setFocusPolicy(NoFocus); 263 addBut->setFocusPolicy(NoFocus);
264 mainLayout->addWidget( addBut,0,5 ); 264 mainLayout->addWidget( addBut,0,5 );
265 addBut->setPixmap ( SmallIcon("pencil")); 265 addBut->setPixmap ( SmallIcon("pencil"));
266 connect(addBut,SIGNAL(clicked()),SLOT(disableRO())); 266 connect(addBut,SIGNAL(clicked()),SLOT(disableRO()));
267 addBut->setMaximumWidth( addBut->sizeHint().height() ); 267 addBut->setMaximumWidth( addBut->sizeHint().height() );
268 268
269 lab = new QLabel ( i18n(" Color "), mw ); 269 lab = new QLabel ( i18n(" Color "), mw );
270 mainLayout->addWidget( lab,0,6 ); 270 mainLayout->addWidget( lab,0,6 );
271#if 0 271#if 0
272 addBut = new QPushButton ( mw ); 272 addBut = new QPushButton ( mw );
273 mainLayout->addWidget( addBut,0,6 ); 273 mainLayout->addWidget( addBut,0,6 );
274 addBut->setPixmap ( SmallIcon("minus")); 274 addBut->setPixmap ( SmallIcon("minus"));
275 connect(addBut,SIGNAL(clicked()),SLOT(deleteAll())); 275 connect(addBut,SIGNAL(clicked()),SLOT(deleteAll()));
276 addBut->setMaximumWidth( addBut->sizeHint().height() ); 276 addBut->setMaximumWidth( addBut->sizeHint().height() );
277#endif 277#endif
278 278
279 279
280 KopiCalendarFile * kkf = KOPrefs::instance()->mCalendars.first(); 280 KopiCalendarFile * kkf = KOPrefs::instance()->mCalendars.first();
281 int row = 1; 281 int row = 1;
282 while ( kkf ) { 282 while ( kkf ) {
283 int iii = 0; 283 int iii = 0;
284 KOCalCheckButton* cb = new KOCalCheckButton( mw ); 284 KOCalCheckButton* cb = new KOCalCheckButton( mw );
285 mainLayout->addWidget( cb,row,0 );mStdandardB.append( cb ); 285 mainLayout->addWidget( cb,row,0 );mStdandardB.append( cb );
286 cb->setChecked( kkf->isStandard ); 286 cb->setChecked( kkf->isStandard );
287 cb->setNum( kkf->mCalNumber ); 287 cb->setNum( kkf->mCalNumber );
288 connect (cb, SIGNAL (selectNum(int,bool)), SLOT ( selectStdCal(int,bool) ) ); 288 connect (cb, SIGNAL (selectNum(int,bool)), SLOT ( selectStdCal(int,bool) ) );
289 if ( kkf->mErrorOnLoad || kkf->isReadOnly ) 289 if ( kkf->mErrorOnLoad || kkf->isReadOnly )
290 cb->setEnabled( false ); 290 cb->setEnabled( false );
291 cb = new KOCalCheckButton( mw ); 291 cb = new KOCalCheckButton( mw );
292 mainLayout->addWidget( cb,row,++iii );mEnabledB.append( cb ); 292 mainLayout->addWidget( cb,row,++iii );mEnabledB.append( cb );
293 cb->setChecked( kkf->isEnabled ); 293 cb->setChecked( kkf->isEnabled );
294 cb->setNum( kkf->mCalNumber ); 294 cb->setNum( kkf->mCalNumber );
295 if ( kkf->mErrorOnLoad ) 295 if ( kkf->mErrorOnLoad )
296 cb->setEnabled( false ); 296 cb->setEnabled( false );
297 connect (cb, SIGNAL (selectNum(int,bool)), SLOT ( selectCal(int,bool) ) ); 297 connect (cb, SIGNAL (selectNum(int,bool)), SLOT ( selectCal(int,bool) ) );
298 KOCalButton* name = new KOCalButton( mw ); 298 KOCalButton* name = new KOCalButton( mw );
299 name->setNum( kkf->mCalNumber ); 299 name->setNum( kkf->mCalNumber );
300 name->setText( kkf->mName ); 300 name->setText( kkf->mName );
301 mainLayout->addWidget( name,row,++iii ); 301 mainLayout->addWidget( name,row,++iii );
302 connect (name, SIGNAL (selectNum(int)), SLOT ( infoCal(int) ) ); 302 connect (name, SIGNAL (selectNum(int)), SLOT ( infoCal(int) ) );
303 lab = new QLabel ( i18n(" "), mw ); 303 lab = new QLabel ( i18n(" "), mw );
304 mainLayout->addWidget( lab,row,++iii ); 304 mainLayout->addWidget( lab,row,++iii );
305 cb = new KOCalCheckButton( mw ); 305 cb = new KOCalCheckButton( mw );
306 mainLayout->addWidget( cb,row,++iii );mAlarmB.append( cb ); 306 mainLayout->addWidget( cb,row,++iii );mAlarmB.append( cb );
307 cb->setChecked( kkf->isAlarmEnabled ); 307 cb->setChecked( kkf->isAlarmEnabled );
308 cb->setNum( kkf->mCalNumber ); 308 cb->setNum( kkf->mCalNumber );
309 connect (cb, SIGNAL (selectNum(int,bool)), SLOT ( selectCalAlarm(int,bool) ) ); 309 connect (cb, SIGNAL (selectNum(int,bool)), SLOT ( selectCalAlarm(int,bool) ) );
310 if ( kkf->mErrorOnLoad ) 310 if ( kkf->mErrorOnLoad )
311 cb->setEnabled( false ); 311 cb->setEnabled( false );
312 cb = new KOCalCheckButton( mw ); 312 cb = new KOCalCheckButton( mw );
313 mainLayout->addWidget( cb,row,++iii );mROB.append( cb ); 313 mainLayout->addWidget( cb,row,++iii );mROB.append( cb );
314 cb->setChecked( kkf->isReadOnly ); 314 cb->setChecked( kkf->isReadOnly );
315 cb->setNum( kkf->mCalNumber ); 315 cb->setNum( kkf->mCalNumber );
316 connect (cb, SIGNAL (selectNum(int,bool)), SLOT ( selectReadOnly(int,bool) ) ); 316 connect (cb, SIGNAL (selectNum(int,bool)), SLOT ( selectReadOnly(int,bool) ) );
317 if ( kkf->mErrorOnLoad ) 317 if ( kkf->mErrorOnLoad )
318 cb->setEnabled( false ); 318 cb->setEnabled( false );
319 if ( row > 1) { 319 if ( row > 1) {
320 KColorButton *colb = new KColorButton( mw ); 320 KColorButton *colb = new KColorButton( mw );
321 mainLayout->addWidget( colb,row,++iii ); 321 mainLayout->addWidget( colb,row,++iii );
322 colb->setID( kkf->mCalNumber ); 322 colb->setID( kkf->mCalNumber );
323 colb->setColor( kkf->mDefaultColor ); 323 colb->setColor( kkf->mDefaultColor );
324 connect (colb, SIGNAL (changedID(const QColor&, int )), SLOT ( setColor(const QColor&,int) ) ); 324 connect (colb, SIGNAL (changedID(const QColor&, int )), SLOT ( setColor(const QColor&,int) ) );
325 KOCalButton* calb = new KOCalButton( mw ); 325 KOCalButton* calb = new KOCalButton( mw );
326 mainLayout->addWidget( calb,row,++iii ); 326 mainLayout->addWidget( calb,row,++iii );
327 calb->setNum( kkf->mCalNumber ); 327 calb->setNum( kkf->mCalNumber );
328 calb->setPixmap ( SmallIcon("minus")); 328 calb->setPixmap ( SmallIcon("minus"));
329 connect (calb, SIGNAL (selectNum(int)), SLOT ( deleteCal(int) ) ); 329 connect (calb, SIGNAL (selectNum(int)), SLOT ( deleteCal(int) ) );
330 int hei = calb->sizeHint().height(); 330 int hei = calb->sizeHint().height();
331 //calb->setMaximumSize( hei*9/10, hei*9/10 ); 331 //calb->setMaximumSize( hei*9/10, hei*9/10 );
332 } 332 }
333 ++row; 333 ++row;
334 kkf = KOPrefs::instance()->mCalendars.next(); 334 kkf = KOPrefs::instance()->mCalendars.next();
335 } 335 }
336 lab = new QLabel ( "", mw ); 336 lab = new QLabel ( "", mw );
337 mainLayout->addWidget( lab,row,0 ); 337 mainLayout->addWidget( lab,row,0 );
338 mw->show(); 338 mw->show();
339 339
340} 340}
341void KOCalEditView::addCal() 341void KOCalEditView::addCal()
342{ 342{
343 bool tryagain = true; 343 bool tryagain = true;
344 QString name, file; 344 QString name, file;
345 while ( tryagain ) { 345 while ( tryagain ) {
346 KONewCalPrefs prefs ( this ); 346 KONewCalPrefs prefs ( this );
347 prefs.nameE->setText( name ); 347 prefs.nameE->setText( name );
348 prefs.url->setURL( file ); 348 prefs.url->setURL( file );
349 if ( ! prefs.exec() ) 349 if ( ! prefs.exec() )
350 return; 350 return;
351 name = prefs.calName(); 351 name = prefs.calName();
352 file = prefs.calFileName(); 352 file = prefs.calFileName();
353 tryagain = false; 353 tryagain = false;
354 KopiCalendarFile * kkf = KOPrefs::instance()->mCalendars.first(); 354 KopiCalendarFile * kkf = KOPrefs::instance()->mCalendars.first();
355 while ( kkf ) { 355 while ( kkf ) {
356 if ( kkf->mName == name ) { 356 if ( kkf->mName == name ) {
357 KMessageBox::information( this, i18n("Sorry, the calendar name \n%1\nalready exists!\nPlease choose another name!").arg( name ) ); 357 KMessageBox::information( this, i18n("Sorry, the calendar name \n%1\nalready exists!\nPlease choose another name!").arg( name ) );
358 name = ""; 358 name = "";
359 tryagain = true; 359 tryagain = true;
360 break; 360 break;
361 } 361 }
362 if ( kkf->mFileName == file ) { 362 if ( kkf->mFileName == file ) {
363 KMessageBox::information( this, i18n("Sorry, the file \n%1\nis already loaded!\nPlease choose another file!").arg( file) ); 363 KMessageBox::information( this, i18n("Sorry, the file \n%1\nis already loaded!\nPlease choose another file!").arg( KGlobal::formatMessage (file, 0 )) );
364 tryagain = true; 364 tryagain = true;
365 file = ""; 365 file = "";
366 break; 366 break;
367 } 367 }
368 kkf = KOPrefs::instance()->mCalendars.next(); 368 kkf = KOPrefs::instance()->mCalendars.next();
369 } 369 }
370 } 370 }
371 QFileInfo fi ( file ); 371 QFileInfo fi ( file );
372 if (!fi.exists() ) { 372 if (!fi.exists() ) {
373 if ( KMessageBox::questionYesNo(this, i18n("The file\n%1\ndoes not exist!\nShall I create it for you?").arg( file ) )== KMessageBox::No ) 373 if ( KMessageBox::questionYesNo(this, i18n("The file\n%1\ndoes not exist!\nShall I create it for you?").arg( file ) )== KMessageBox::No )
374 return; 374 return;
375 QFile fileIn( file ); 375 QFile fileIn( file );
376 if (!fileIn.open( IO_WriteOnly ) ) { 376 if (!fileIn.open( IO_WriteOnly ) ) {
377 KMessageBox::sorry( this, i18n("Sorry, cannot create the file\n%1!\nNo calendar added!").arg( file ) ); 377 KMessageBox::sorry( this, i18n("Sorry, cannot create the file\n%1!\nNo calendar added!").arg( file ) );
378 return; 378 return;
379 } 379 }
380 QTextStream tsIn( &fileIn ); 380 QTextStream tsIn( &fileIn );
381 tsIn.setCodec( QTextCodec::codecForName("utf8") ); 381 tsIn.setCodec( QTextCodec::codecForName("utf8") );
382 tsIn << "BEGIN:VCALENDAR\nPRODID:-//KDE-Pim//Platform-independent 2.1.0\nVERSION:2.0\nEND:VCALENDAR\n"; 382 tsIn << "BEGIN:VCALENDAR\nPRODID:-//KDE-Pim//Platform-independent 2.1.0\nVERSION:2.0\nEND:VCALENDAR\n";
383 fileIn.close(); 383 fileIn.close();
384 } 384 }
385 KopiCalendarFile * kkf = KOPrefs::instance()->getNewCalendar(); 385 KopiCalendarFile * kkf = KOPrefs::instance()->getNewCalendar();
386 kkf->mName = name; 386 kkf->mName = name;
387 kkf->mFileName = file; 387 kkf->mFileName = file;
388 emit calendarAdded( kkf->mCalNumber ); 388 emit calendarAdded( kkf->mCalNumber );
389 emit needsUpdate(); 389 emit needsUpdate();
390 QTimer::singleShot( 0, this, SLOT ( readConfig() ) ); 390 QTimer::singleShot( 0, this, SLOT ( readConfig() ) );
391} 391}
392void KOCalEditView::enableAll() 392void KOCalEditView::enableAll()
393{ 393{
394 toggleList( mEnabledB ); 394 toggleList( mEnabledB );
395} 395}
396void KOCalEditView::enableAlarm() 396void KOCalEditView::enableAlarm()
397{ 397{
398 toggleList( mAlarmB ); 398 toggleList( mAlarmB );
399} 399}
400void KOCalEditView::disableRO() 400void KOCalEditView::disableRO()
401{ 401{
402 toggleList( mROB ); 402 toggleList( mROB );
403} 403}
404void KOCalEditView::toggleList ( QPtrList<KOCalCheckButton> list ) 404void KOCalEditView::toggleList ( QPtrList<KOCalCheckButton> list )
405{ 405{
406 bool dis = false; 406 bool dis = false;
407 KOCalCheckButton* it = list.first(); 407 KOCalCheckButton* it = list.first();
408 while ( it ) { 408 while ( it ) {
409 if ( !it->isChecked() ) { 409 if ( !it->isChecked() ) {
410 dis = true; 410 dis = true;
411 break; 411 break;
412 } 412 }
413 it = list.next(); 413 it = list.next();
414 } 414 }
415 it = list.first(); 415 it = list.first();
416 while ( it ) { 416 while ( it ) {
417 it->setChecked(dis); 417 it->setChecked(dis);
418 it = list.next(); 418 it = list.next();
419 } 419 }
420} 420}
421void KOCalEditView::deleteAll() 421void KOCalEditView::deleteAll()
422{ 422{
423 qDebug("delteAll"); 423 qDebug("delteAll");
424} 424}
diff --git a/korganizer/kotodoview.cpp b/korganizer/kotodoview.cpp
index 13e88ef..926a136 100644
--- a/korganizer/kotodoview.cpp
+++ b/korganizer/kotodoview.cpp
@@ -1,290 +1,291 @@
1/* 1/*
2 This file is part of KOrganizer. 2 This file is part of KOrganizer.
3 Copyright (c) 2000,2001 Cornelius Schumacher <schumacher@kde.org> 3 Copyright (c) 2000,2001 Cornelius Schumacher <schumacher@kde.org>
4 4
5 This program is free software; you can redistribute it and/or modify 5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by 6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or 7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version. 8 (at your option) any later version.
9 9
10 This program is distributed in the hope that it will be useful, 10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details. 13 GNU General Public License for more details.
14 14
15 You should have received a copy of the GNU General Public License 15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software 16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18 18
19 As a special exception, permission is given to link this program 19 As a special exception, permission is given to link this program
20 with any edition of Qt, and distribute the resulting executable, 20 with any edition of Qt, and distribute the resulting executable,
21 without including the source code for Qt in the source distribution. 21 without including the source code for Qt in the source distribution.
22*/ 22*/
23 23
24#include <qlayout.h> 24#include <qlayout.h>
25#include <qheader.h> 25#include <qheader.h>
26#include <qcursor.h> 26#include <qcursor.h>
27#include <qwhatsthis.h> 27#include <qwhatsthis.h>
28#include <qdialog.h> 28#include <qdialog.h>
29#include <qlabel.h> 29#include <qlabel.h>
30#include <qpushbutton.h> 30#include <qpushbutton.h>
31 31
32#include <qinputdialog.h> 32#include <qinputdialog.h>
33 33
34#include <qvbox.h> 34#include <qvbox.h>
35#include <kdebug.h> 35#include <kdebug.h>
36#include "koprefs.h" 36#include "koprefs.h"
37#include <klocale.h> 37#include <klocale.h>
38#include <kglobal.h> 38#include <kglobal.h>
39#include <kdateedit.h> 39#include <kdateedit.h>
40#include "ktimeedit.h" 40#include "ktimeedit.h"
41#include <kiconloader.h> 41#include <kiconloader.h>
42#include <kmessagebox.h> 42#include <kmessagebox.h>
43 43
44#include <libkcal/icaldrag.h> 44#include <libkcal/icaldrag.h>
45#include <libkcal/vcaldrag.h> 45#include <libkcal/vcaldrag.h>
46#include <libkcal/calfilter.h> 46#include <libkcal/calfilter.h>
47#include <libkcal/dndfactory.h> 47#include <libkcal/dndfactory.h>
48#include <libkcal/calendarresources.h> 48#include <libkcal/calendarresources.h>
49#include <libkcal/resourcecalendar.h> 49#include <libkcal/resourcecalendar.h>
50#include <kresources/resourceselectdialog.h> 50#include <kresources/resourceselectdialog.h>
51#include <libkcal/kincidenceformatter.h> 51#include <libkcal/kincidenceformatter.h>
52#ifndef DESKTOP_VERSION 52#ifndef DESKTOP_VERSION
53#include <qpe/qpeapplication.h> 53#include <qpe/qpeapplication.h>
54#else 54#else
55#include <qapplication.h> 55#include <qapplication.h>
56#endif 56#endif
57#ifndef KORG_NOPRINTER 57#ifndef KORG_NOPRINTER
58#include "calprinter.h" 58#include "calprinter.h"
59#endif 59#endif
60#include "docprefs.h" 60#include "docprefs.h"
61 61
62#include "kotodoview.h" 62#include "kotodoview.h"
63using namespace KOrg; 63using namespace KOrg;
64 64
65 65
66KOStopTodoPrefs::KOStopTodoPrefs( Todo* todo, QWidget *parent, const char *name ) : 66KOStopTodoPrefs::KOStopTodoPrefs( Todo* todo, QWidget *parent, const char *name ) :
67 QDialog( parent, name, true ) 67 QDialog( parent, name, true )
68{ 68{
69 mTodo = todo; 69 mTodo = todo;
70 setCaption( i18n("Stop todo") ); 70 setCaption( i18n("Stop todo") );
71 QVBoxLayout* lay = new QVBoxLayout( this ); 71 QVBoxLayout* lay = new QVBoxLayout( this );
72 lay->setSpacing( 3 ); 72 lay->setSpacing( 3 );
73 lay->setMargin( 3 ); 73 lay->setMargin( 3 );
74 QLabel * lab = new QLabel( i18n("%1\nis running!").arg( todo->summary() ), this ); 74 QLabel * lab = new QLabel( i18n("%1\nis running!").arg( todo->summary() ), this );
75 lay->addWidget( lab ); 75 lay->addWidget( lab );
76 lab->setAlignment( AlignHCenter ); 76 lab->setAlignment( AlignHCenter );
77 lab = new QLabel( i18n("Additional Comment:"), this ); 77 lab = new QLabel( i18n("Additional Comment:"), this );
78 lay->addWidget( lab ); 78 lay->addWidget( lab );
79 mComment = new QLineEdit( this ); 79 mComment = new QLineEdit( this );
80 lay->addWidget( mComment ); 80 lay->addWidget( mComment );
81 QHBox * start = new QHBox ( this ); 81 QHBox * start = new QHBox ( this );
82 lay->addWidget( start ); 82 lay->addWidget( start );
83 lab = new QLabel( i18n("Start:"), start ); 83 lab = new QLabel( i18n("Start:"), start );
84 QHBox * end = new QHBox ( this ); 84 QHBox * end = new QHBox ( this );
85 lay->addWidget( end ); 85 lay->addWidget( end );
86 lab = new QLabel( i18n("End:"), end ); 86 lab = new QLabel( i18n("End:"), end );
87 sde = new KDateEdit( start ); 87 sde = new KDateEdit( start );
88 ste = new KOTimeEdit( start ); 88 ste = new KOTimeEdit( start );
89 connect ( sde,SIGNAL(setTimeTo( QTime ) ),ste , SLOT ( setTime(QTime ) ) ); 89 connect ( sde,SIGNAL(setTimeTo( QTime ) ),ste , SLOT ( setTime(QTime ) ) );
90 ede = new KDateEdit( end ); 90 ede = new KDateEdit( end );
91 ete = new KOTimeEdit(end ); 91 ete = new KOTimeEdit(end );
92 connect ( ede,SIGNAL(setTimeTo( QTime ) ),ete , SLOT ( setTime(QTime ) ) ); 92 connect ( ede,SIGNAL(setTimeTo( QTime ) ),ete , SLOT ( setTime(QTime ) ) );
93 sde->setDate( mTodo->runStart().date() ); 93 sde->setDate( mTodo->runStart().date() );
94 ste->setTime( mTodo->runStart().time() ); 94 ste->setTime( mTodo->runStart().time() );
95 ede->setDate( QDate::currentDate()); 95 ede->setDate( QDate::currentDate());
96 ete->setTime( QTime::currentTime() ); 96 ete->setTime( QTime::currentTime() );
97 QPushButton * ok = new QPushButton( i18n("Stop and save"), this ); 97 QPushButton * ok = new QPushButton( i18n("Stop and save"), this );
98 lay->addWidget( ok ); 98 lay->addWidget( ok );
99 ok->setDefault( true );
99 QPushButton * cancel = new QPushButton( i18n("Continue running"), this ); 100 QPushButton * cancel = new QPushButton( i18n("Continue running"), this );
100 lay->addWidget( cancel ); 101 lay->addWidget( cancel );
101 connect ( ok,SIGNAL(clicked() ),this , SLOT ( accept() ) ); 102 connect ( ok,SIGNAL(clicked() ),this , SLOT ( accept() ) );
102 connect (cancel, SIGNAL(clicked() ), this, SLOT ( reject()) ); 103 connect (cancel, SIGNAL(clicked() ), this, SLOT ( reject()) );
103 ok = new QPushButton( i18n("Stop - do not save"), this ); 104 ok = new QPushButton( i18n("Stop - do not save"), this );
104 connect ( ok,SIGNAL(clicked() ),this , SLOT ( doNotSave() ) ); 105 connect ( ok,SIGNAL(clicked() ),this , SLOT ( doNotSave() ) );
105 lay->addWidget( ok ); 106 lay->addWidget( ok );
106 if (QApplication::desktop()->width() < 320 ) 107 if (QApplication::desktop()->width() < 320 )
107 resize( 240, 200 ); 108 resize( 240, 200 );
108 else 109 else
109 resize( 320, 200 ); 110 resize( 320, 200 );
110 111
111} 112}
112 113
113void KOStopTodoPrefs::accept() 114void KOStopTodoPrefs::accept()
114{ 115{
115 QDateTime start = QDateTime( sde->date(), ste->getTime() ); 116 QDateTime start = QDateTime( sde->date(), ste->getTime() );
116 QDateTime stop = QDateTime( ede->date(), ete->getTime() ); 117 QDateTime stop = QDateTime( ede->date(), ete->getTime() );
117 if ( start > stop ) { 118 if ( start > stop ) {
118 KMessageBox::sorry(this, 119 KMessageBox::sorry(this,
119 i18n("The start time is\nafter the end time!"), 120 i18n("The start time is\nafter the end time!"),
120 i18n("Time mismatch!")); 121 i18n("Time mismatch!"));
121 return; 122 return;
122 } 123 }
123 mTodo->saveRunningInfo( mComment->text(), start, stop ); 124 mTodo->saveRunningInfo( mComment->text(), start, stop );
124 QDialog::accept(); 125 QDialog::accept();
125} 126}
126void KOStopTodoPrefs::doNotSave() 127void KOStopTodoPrefs::doNotSave()
127{ 128{
128 int result = KMessageBox::warningContinueCancel(this, 129 int result = KMessageBox::warningContinueCancel(this,
129 i18n("Do you really want to set\nthe state to stopped\nwithout saving the data?"),mTodo->summary() ); 130 i18n("Do you really want to set\nthe state to stopped\nwithout saving the data?"),mTodo->summary() );
130 if (result != KMessageBox::Continue) return; 131 if (result != KMessageBox::Continue) return;
131 mTodo->stopRunning(); 132 mTodo->stopRunning();
132 QDialog::accept(); 133 QDialog::accept();
133} 134}
134 135
135 136
136class KOTodoViewWhatsThis :public QWhatsThis 137class KOTodoViewWhatsThis :public QWhatsThis
137{ 138{
138public: 139public:
139 KOTodoViewWhatsThis( QWidget *wid, KOTodoView* view ) : QWhatsThis( wid ), _wid(wid),_view (view) { }; 140 KOTodoViewWhatsThis( QWidget *wid, KOTodoView* view ) : QWhatsThis( wid ), _wid(wid),_view (view) { };
140 141
141protected: 142protected:
142 virtual QString text( const QPoint& p) 143 virtual QString text( const QPoint& p)
143 { 144 {
144 return _view->getWhatsThisText(p) ; 145 return _view->getWhatsThisText(p) ;
145 } 146 }
146private: 147private:
147 QWidget* _wid; 148 QWidget* _wid;
148 KOTodoView * _view; 149 KOTodoView * _view;
149}; 150};
150 151
151KOTodoListView::KOTodoListView(Calendar *calendar,QWidget *parent, 152KOTodoListView::KOTodoListView(Calendar *calendar,QWidget *parent,
152 const char *name) : 153 const char *name) :
153 KListView(parent,name) 154 KListView(parent,name)
154{ 155{
155 mName = QString ( name ); 156 mName = QString ( name );
156 mCalendar = calendar; 157 mCalendar = calendar;
157#ifndef DESKTOP_VERSION 158#ifndef DESKTOP_VERSION
158 QPEApplication::setStylusOperation(viewport(), QPEApplication::RightOnHold ); 159 QPEApplication::setStylusOperation(viewport(), QPEApplication::RightOnHold );
159#endif 160#endif
160 mOldCurrent = 0; 161 mOldCurrent = 0;
161 mMousePressed = false; 162 mMousePressed = false;
162 163
163 setAcceptDrops(true); 164 setAcceptDrops(true);
164 viewport()->setAcceptDrops(true); 165 viewport()->setAcceptDrops(true);
165 int size = 16; 166 int size = 16;
166 if (qApp->desktop()->width() < 300 ) 167 if (qApp->desktop()->width() < 300 )
167 size = 12; 168 size = 12;
168 setTreeStepSize( size + 6 ); 169 setTreeStepSize( size + 6 );
169 170
170} 171}
171 172
172void KOTodoListView::contentsDragEnterEvent(QDragEnterEvent *e) 173void KOTodoListView::contentsDragEnterEvent(QDragEnterEvent *e)
173{ 174{
174#ifndef KORG_NODND 175#ifndef KORG_NODND
175// kdDebug() << "KOTodoListView::contentsDragEnterEvent" << endl; 176// kdDebug() << "KOTodoListView::contentsDragEnterEvent" << endl;
176 if ( !ICalDrag::canDecode( e ) && !VCalDrag::canDecode( e ) && 177 if ( !ICalDrag::canDecode( e ) && !VCalDrag::canDecode( e ) &&
177 !QTextDrag::canDecode( e ) ) { 178 !QTextDrag::canDecode( e ) ) {
178 e->ignore(); 179 e->ignore();
179 return; 180 return;
180 } 181 }
181 182
182 mOldCurrent = currentItem(); 183 mOldCurrent = currentItem();
183#endif 184#endif
184} 185}
185 186
186 187
187void KOTodoListView::contentsDragMoveEvent(QDragMoveEvent *e) 188void KOTodoListView::contentsDragMoveEvent(QDragMoveEvent *e)
188{ 189{
189#ifndef KORG_NODND 190#ifndef KORG_NODND
190// kdDebug() << "KOTodoListView::contentsDragMoveEvent" << endl; 191// kdDebug() << "KOTodoListView::contentsDragMoveEvent" << endl;
191 192
192 if ( !ICalDrag::canDecode( e ) && !VCalDrag::canDecode( e ) && 193 if ( !ICalDrag::canDecode( e ) && !VCalDrag::canDecode( e ) &&
193 !QTextDrag::canDecode( e ) ) { 194 !QTextDrag::canDecode( e ) ) {
194 e->ignore(); 195 e->ignore();
195 return; 196 return;
196 } 197 }
197 198
198 e->accept(); 199 e->accept();
199#endif 200#endif
200} 201}
201 202
202void KOTodoListView::contentsDragLeaveEvent(QDragLeaveEvent *) 203void KOTodoListView::contentsDragLeaveEvent(QDragLeaveEvent *)
203{ 204{
204#ifndef KORG_NODND 205#ifndef KORG_NODND
205// kdDebug() << "KOTodoListView::contentsDragLeaveEvent" << endl; 206// kdDebug() << "KOTodoListView::contentsDragLeaveEvent" << endl;
206 207
207 setCurrentItem(mOldCurrent); 208 setCurrentItem(mOldCurrent);
208 setSelected(mOldCurrent,true); 209 setSelected(mOldCurrent,true);
209#endif 210#endif
210} 211}
211 212
212void KOTodoListView::contentsDropEvent(QDropEvent *e) 213void KOTodoListView::contentsDropEvent(QDropEvent *e)
213{ 214{
214#ifndef KORG_NODND 215#ifndef KORG_NODND
215// kdDebug() << "KOTodoListView::contentsDropEvent" << endl; 216// kdDebug() << "KOTodoListView::contentsDropEvent" << endl;
216 217
217 if ( !ICalDrag::canDecode( e ) && !VCalDrag::canDecode( e ) && 218 if ( !ICalDrag::canDecode( e ) && !VCalDrag::canDecode( e ) &&
218 !QTextDrag::canDecode( e ) ) { 219 !QTextDrag::canDecode( e ) ) {
219 e->ignore(); 220 e->ignore();
220 return; 221 return;
221 } 222 }
222 223
223 DndFactory factory( mCalendar ); 224 DndFactory factory( mCalendar );
224 Todo *todo = factory.createDropTodo(e); 225 Todo *todo = factory.createDropTodo(e);
225 226
226 if (todo) { 227 if (todo) {
227 e->acceptAction(); 228 e->acceptAction();
228 229
229 KOTodoViewItem *destination = 230 KOTodoViewItem *destination =
230 (KOTodoViewItem *)itemAt(contentsToViewport(e->pos())); 231 (KOTodoViewItem *)itemAt(contentsToViewport(e->pos()));
231 Todo *destinationEvent = 0; 232 Todo *destinationEvent = 0;
232 if (destination) destinationEvent = destination->todo(); 233 if (destination) destinationEvent = destination->todo();
233 234
234 Todo *existingTodo = mCalendar->todo(todo->uid()); 235 Todo *existingTodo = mCalendar->todo(todo->uid());
235 236
236 if(existingTodo) { 237 if(existingTodo) {
237 Incidence *to = destinationEvent; 238 Incidence *to = destinationEvent;
238 while(to) { 239 while(to) {
239 if (to->uid() == todo->uid()) { 240 if (to->uid() == todo->uid()) {
240 KMessageBox::sorry(this, 241 KMessageBox::sorry(this,
241 i18n("Cannot move Todo to itself\nor a child of itself"), 242 i18n("Cannot move Todo to itself\nor a child of itself"),
242 i18n("Drop Todo")); 243 i18n("Drop Todo"));
243 delete todo; 244 delete todo;
244 return; 245 return;
245 } 246 }
246 to = to->relatedTo(); 247 to = to->relatedTo();
247 } 248 }
248 internalDrop = true; 249 internalDrop = true;
249 if ( destinationEvent ) 250 if ( destinationEvent )
250 reparentTodoSignal( destinationEvent, existingTodo ); 251 reparentTodoSignal( destinationEvent, existingTodo );
251 else 252 else
252 unparentTodoSignal(existingTodo); 253 unparentTodoSignal(existingTodo);
253 delete todo; 254 delete todo;
254 } else { 255 } else {
255 mCalendar->addTodo(todo); 256 mCalendar->addTodo(todo);
256 emit todoDropped(todo, KOGlobals::EVENTADDED); 257 emit todoDropped(todo, KOGlobals::EVENTADDED);
257 if ( destinationEvent ) 258 if ( destinationEvent )
258 reparentTodoSignal( destinationEvent, todo ); 259 reparentTodoSignal( destinationEvent, todo );
259 } 260 }
260 } 261 }
261 else { 262 else {
262 QString text; 263 QString text;
263 if (QTextDrag::decode(e,text)) { 264 if (QTextDrag::decode(e,text)) {
264 //QListViewItem *qlvi = itemAt( contentsToViewport(e->pos()) ); 265 //QListViewItem *qlvi = itemAt( contentsToViewport(e->pos()) );
265 KOTodoViewItem *todoi = static_cast<KOTodoViewItem *>(itemAt( contentsToViewport(e->pos()) )); 266 KOTodoViewItem *todoi = static_cast<KOTodoViewItem *>(itemAt( contentsToViewport(e->pos()) ));
266 qDebug("Dropped : " + text); 267 qDebug("Dropped : " + text);
267 QStringList emails = QStringList::split(",",text); 268 QStringList emails = QStringList::split(",",text);
268 for(QStringList::ConstIterator it = emails.begin();it!=emails.end();++it) { 269 for(QStringList::ConstIterator it = emails.begin();it!=emails.end();++it) {
269 int pos = (*it).find("<"); 270 int pos = (*it).find("<");
270 QString name = (*it).left(pos); 271 QString name = (*it).left(pos);
271 QString email = (*it).mid(pos); 272 QString email = (*it).mid(pos);
272 if (!email.isEmpty() && todoi) { 273 if (!email.isEmpty() && todoi) {
273 todoi->todo()->addAttendee(new Attendee(name,email)); 274 todoi->todo()->addAttendee(new Attendee(name,email));
274 } 275 }
275 } 276 }
276 } 277 }
277 else { 278 else {
278 qDebug("KOTodoListView::contentsDropEvent(): Todo from drop not decodable "); 279 qDebug("KOTodoListView::contentsDropEvent(): Todo from drop not decodable ");
279 e->ignore(); 280 e->ignore();
280 } 281 }
281 } 282 }
282#endif 283#endif
283} 284}
284void KOTodoListView::wheelEvent (QWheelEvent *e) 285void KOTodoListView::wheelEvent (QWheelEvent *e)
285{ 286{
286 QListView::wheelEvent (e); 287 QListView::wheelEvent (e);
287} 288}
288 289
289void KOTodoListView::contentsMousePressEvent(QMouseEvent* e) 290void KOTodoListView::contentsMousePressEvent(QMouseEvent* e)
290{ 291{
@@ -1013,404 +1014,387 @@ void KOTodoView::popupMenu(QListViewItem *item,const QPoint &p,int column)
1013 moveTodo(); 1014 moveTodo();
1014 break; 1015 break;
1015 case 8: 1016 case 8:
1016 getCategoryPopupMenu((KOTodoViewItem *)item)->popup(QCursor::pos ()); break; 1017 getCategoryPopupMenu((KOTodoViewItem *)item)->popup(QCursor::pos ()); break;
1017 default: 1018 default:
1018 mItemPopupMenu->popup(QCursor::pos()); 1019 mItemPopupMenu->popup(QCursor::pos());
1019 } 1020 }
1020 } else mPopupMenu->popup(QCursor::pos()); 1021 } else mPopupMenu->popup(QCursor::pos());
1021} 1022}
1022void KOTodoView::newTodo() 1023void KOTodoView::newTodo()
1023{ 1024{
1024 emit newTodoSignal(); 1025 emit newTodoSignal();
1025} 1026}
1026 1027
1027void KOTodoView::newSubTodo() 1028void KOTodoView::newSubTodo()
1028{ 1029{
1029 if (mActiveItem) { 1030 if (mActiveItem) {
1030 emit newSubTodoSignal(mActiveItem->todo()); 1031 emit newSubTodoSignal(mActiveItem->todo());
1031 } 1032 }
1032} 1033}
1033void KOTodoView::unparentTodo() 1034void KOTodoView::unparentTodo()
1034{ 1035{
1035 if (mActiveItem) { 1036 if (mActiveItem) {
1036 emit unparentTodoSignal(mActiveItem->todo()); 1037 emit unparentTodoSignal(mActiveItem->todo());
1037 } 1038 }
1038} 1039}
1039 1040
1040void KOTodoView::reparentTodo() 1041void KOTodoView::reparentTodo()
1041{ 1042{
1042 if (mActiveItem) { 1043 if (mActiveItem) {
1043 topLevelWidget()->setCaption(i18n("Click on new parent item")); 1044 topLevelWidget()->setCaption(i18n("Click on new parent item"));
1044 pendingSubtodo = mActiveItem; 1045 pendingSubtodo = mActiveItem;
1045 } 1046 }
1046} 1047}
1047void KOTodoView::editTodo() 1048void KOTodoView::editTodo()
1048{ 1049{
1049 if (mActiveItem) { 1050 if (mActiveItem) {
1050 emit editTodoSignal(mActiveItem->todo()); 1051 emit editTodoSignal(mActiveItem->todo());
1051 } 1052 }
1052} 1053}
1053void KOTodoView::cloneTodo() 1054void KOTodoView::cloneTodo()
1054{ 1055{
1055 if (mActiveItem) { 1056 if (mActiveItem) {
1056 emit cloneTodoSignal((Incidence*)mActiveItem->todo()); 1057 emit cloneTodoSignal((Incidence*)mActiveItem->todo());
1057 } 1058 }
1058} 1059}
1059void KOTodoView::cancelTodo() 1060void KOTodoView::cancelTodo()
1060{ 1061{
1061 if (mActiveItem) { 1062 if (mActiveItem) {
1062 emit cancelTodoSignal((Incidence*)mActiveItem->todo()); 1063 emit cancelTodoSignal((Incidence*)mActiveItem->todo());
1063 } 1064 }
1064} 1065}
1065void KOTodoView::moveTodo() 1066void KOTodoView::moveTodo()
1066{ 1067{
1067 if (mActiveItem) { 1068 if (mActiveItem) {
1068 emit moveTodoSignal((Incidence*)mActiveItem->todo()); 1069 emit moveTodoSignal((Incidence*)mActiveItem->todo());
1069 } 1070 }
1070} 1071}
1071void KOTodoView::beamTodo() 1072void KOTodoView::beamTodo()
1072{ 1073{
1073 if (mActiveItem) { 1074 if (mActiveItem) {
1074 emit beamTodoSignal((Incidence*)mActiveItem->todo()); 1075 emit beamTodoSignal((Incidence*)mActiveItem->todo());
1075 } 1076 }
1076} 1077}
1077 1078
1078 1079
1079void KOTodoView::showTodo() 1080void KOTodoView::showTodo()
1080{ 1081{
1081 if (mActiveItem) { 1082 if (mActiveItem) {
1082 emit showTodoSignal(mActiveItem->todo()); 1083 emit showTodoSignal(mActiveItem->todo());
1083 } 1084 }
1084} 1085}
1085 1086
1086void KOTodoView::deleteTodo() 1087void KOTodoView::deleteTodo()
1087{ 1088{
1088 if (mActiveItem) { 1089 if (mActiveItem) {
1089 emit deleteTodoSignal(mActiveItem->todo()); 1090 emit deleteTodoSignal(mActiveItem->todo());
1090 } 1091 }
1091} 1092}
1092 1093
1093void KOTodoView::setNewPriority(int index) 1094void KOTodoView::setNewPriority(int index)
1094{ 1095{
1095 if (mActiveItem && !mActiveItem->todo()->isReadOnly ()) { 1096 if (mActiveItem && !mActiveItem->todo()->isReadOnly ()) {
1096 mActiveItem->todo()->setPriority(mPriority[index]); 1097 mActiveItem->todo()->setPriority(mPriority[index]);
1097 mActiveItem->construct(); 1098 mActiveItem->construct();
1098 todoModified (mActiveItem->todo(), KOGlobals::PRIORITY_MODIFIED); 1099 todoModified (mActiveItem->todo(), KOGlobals::PRIORITY_MODIFIED);
1099 mActiveItem->todo()->setRevision( mActiveItem->todo()->revision()+1 ); 1100 mActiveItem->todo()->setRevision( mActiveItem->todo()->revision()+1 );
1100 } 1101 }
1101} 1102}
1102 1103
1103void KOTodoView::setNewPercentage(int index) 1104void KOTodoView::setNewPercentage(int index)
1104{ 1105{
1105 if (mActiveItem && !mActiveItem->todo()->isReadOnly ()) { 1106 if (mActiveItem && !mActiveItem->todo()->isReadOnly ()) {
1106 1107
1107 if ( mPercentage[index] == 100 && !mActiveItem->isOn() ) { 1108 if ( mPercentage[index] == 100 && !mActiveItem->isOn() ) {
1108 mActiveItem->setOn( true ); 1109 mActiveItem->setOn( true );
1109 return; 1110 return;
1110 } else if ( mPercentage[index] != 100 && mActiveItem->isOn() ) { 1111 } else if ( mPercentage[index] != 100 && mActiveItem->isOn() ) {
1111 KOTodoViewItem* par = (static_cast<KOTodoViewItem*>(mActiveItem->parent())); 1112 KOTodoViewItem* par = (static_cast<KOTodoViewItem*>(mActiveItem->parent()));
1112 if ( par && par->isOn() ) 1113 if ( par && par->isOn() )
1113 par->setOn( false ); 1114 par->setOn( false );
1114 } 1115 }
1115 if (mPercentage[index] == 100) { 1116 if (mPercentage[index] == 100) {
1116 mActiveItem->todo()->setCompleted(QDateTime::currentDateTime()); 1117 mActiveItem->todo()->setCompleted(QDateTime::currentDateTime());
1117 } else { 1118 } else {
1118 mActiveItem->todo()->setCompleted(false); 1119 mActiveItem->todo()->setCompleted(false);
1119 } 1120 }
1120 mActiveItem->todo()->setPercentComplete(mPercentage[index]); 1121 mActiveItem->todo()->setPercentComplete(mPercentage[index]);
1121 mActiveItem->construct(); 1122 mActiveItem->construct();
1122 todoModified (mActiveItem->todo (), KOGlobals::COMPLETION_MODIFIED); 1123 todoModified (mActiveItem->todo (), KOGlobals::COMPLETION_MODIFIED);
1123 mActiveItem->todo()->setRevision( mActiveItem->todo()->revision()+1 ); 1124 mActiveItem->todo()->setRevision( mActiveItem->todo()->revision()+1 );
1124 } 1125 }
1125} 1126}
1126 1127
1127 1128
1128QPopupMenu * KOTodoView::getCategoryPopupMenu (KOTodoViewItem *todoItem) 1129QPopupMenu * KOTodoView::getCategoryPopupMenu (KOTodoViewItem *todoItem)
1129{ 1130{
1130 QPopupMenu* tempMenu = new QPopupMenu (this); 1131 QPopupMenu* tempMenu = new QPopupMenu (this);
1131 QStringList checkedCategories = todoItem->todo()->categories (); 1132 QStringList checkedCategories = todoItem->todo()->categories ();
1132 1133
1133 tempMenu->setCheckable (true); 1134 tempMenu->setCheckable (true);
1134 for (QStringList::Iterator it = KOPrefs::instance()->mCustomCategories.begin (); 1135 for (QStringList::Iterator it = KOPrefs::instance()->mCustomCategories.begin ();
1135 it != KOPrefs::instance()->mCustomCategories.end (); 1136 it != KOPrefs::instance()->mCustomCategories.end ();
1136 ++it) { 1137 ++it) {
1137 int index = tempMenu->insertItem (*it); 1138 int index = tempMenu->insertItem (*it);
1138 mCategory[index] = *it; 1139 mCategory[index] = *it;
1139 if (checkedCategories.find (*it) != checkedCategories.end ()) tempMenu->setItemChecked (index, true); 1140 if (checkedCategories.find (*it) != checkedCategories.end ()) tempMenu->setItemChecked (index, true);
1140 } 1141 }
1141 1142
1142 connect (tempMenu, SIGNAL (activated (int)), SLOT (changedCategories (int))); 1143 connect (tempMenu, SIGNAL (activated (int)), SLOT (changedCategories (int)));
1143 return tempMenu; 1144 return tempMenu;
1144 1145
1145 1146
1146} 1147}
1147void KOTodoView::changedCategories(int index) 1148void KOTodoView::changedCategories(int index)
1148{ 1149{
1149 if (mActiveItem && !mActiveItem->todo()->isReadOnly ()) { 1150 if (mActiveItem && !mActiveItem->todo()->isReadOnly ()) {
1150 QStringList categories = mActiveItem->todo()->categories (); 1151 QStringList categories = mActiveItem->todo()->categories ();
1151 QString colcat = categories.first(); 1152 QString colcat = categories.first();
1152 if (categories.find (mCategory[index]) != categories.end ()) 1153 if (categories.find (mCategory[index]) != categories.end ())
1153 categories.remove (mCategory[index]); 1154 categories.remove (mCategory[index]);
1154 else 1155 else
1155 categories.insert (categories.end(), mCategory[index]); 1156 categories.insert (categories.end(), mCategory[index]);
1156 categories.sort (); 1157 categories.sort ();
1157 if ( !colcat.isEmpty() ) { 1158 if ( !colcat.isEmpty() ) {
1158 if ( categories.find ( colcat ) != categories.end () ) { 1159 if ( categories.find ( colcat ) != categories.end () ) {
1159 categories.remove( colcat ); 1160 categories.remove( colcat );
1160 categories.prepend( colcat ); 1161 categories.prepend( colcat );
1161 } 1162 }
1162 } 1163 }
1163 mActiveItem->todo()->setCategories (categories); 1164 mActiveItem->todo()->setCategories (categories);
1164 mActiveItem->construct(); 1165 mActiveItem->construct();
1165 mActiveItem->todo()->setRevision( mActiveItem->todo()->revision()+1 ); 1166 mActiveItem->todo()->setRevision( mActiveItem->todo()->revision()+1 );
1166 todoModified (mActiveItem->todo (), KOGlobals::CATEGORY_MODIFIED); 1167 todoModified (mActiveItem->todo (), KOGlobals::CATEGORY_MODIFIED);
1167 } 1168 }
1168} 1169}
1169void KOTodoView::itemDoubleClicked(QListViewItem *item) 1170void KOTodoView::itemDoubleClicked(QListViewItem *item)
1170{ 1171{
1171 if ( pendingSubtodo != 0 ) { 1172 if ( pendingSubtodo != 0 ) {
1172 topLevelWidget()->setCaption(i18n("Reparenting aborted!")); 1173 topLevelWidget()->setCaption(i18n("Reparenting aborted!"));
1173 } 1174 }
1174 pendingSubtodo = 0; 1175 pendingSubtodo = 0;
1175 //int row = mTodoListView->header()->sectionAt ( mTodoListView->header()->mapFromGlobal( QCursor::pos()).x() ); 1176 //int row = mTodoListView->header()->sectionAt ( mTodoListView->header()->mapFromGlobal( QCursor::pos()).x() );
1176 int row = mTodoListView->header()->sectionAt ( mTodoListView->viewportToContents(mTodoListView->viewport()->mapFromGlobal( QCursor::pos())) .x() ); 1177 int row = mTodoListView->header()->sectionAt ( mTodoListView->viewportToContents(mTodoListView->viewport()->mapFromGlobal( QCursor::pos())) .x() );
1177 //qDebug("ROW %d ", row); 1178 //qDebug("ROW %d ", row);
1178 if (!item) { 1179 if (!item) {
1179 newTodo(); 1180 newTodo();
1180 return; 1181 return;
1181 } else { 1182 } else {
1182 if ( row == 2 || row == 1 ) { 1183 if ( row == 2 || row == 1 ) {
1183 mActiveItem = (KOTodoViewItem *) item; 1184 mActiveItem = (KOTodoViewItem *) item;
1184 newSubTodo(); 1185 newSubTodo();
1185 return; 1186 return;
1186 } 1187 }
1187 if ( row == 5 || row == 6 ) { 1188 if ( row == 5 || row == 6 ) {
1188 mActiveItem = (KOTodoViewItem *) item; 1189 mActiveItem = (KOTodoViewItem *) item;
1189 toggleRunningItem(); 1190 toggleRunningItem();
1190 return; 1191 return;
1191 } 1192 }
1192 } 1193 }
1193 if ( KOPrefs::instance()->mEditOnDoubleClick ) 1194 if ( KOPrefs::instance()->mEditOnDoubleClick )
1194 editItem( item ); 1195 editItem( item );
1195 else 1196 else
1196 showItem( item , QPoint(), 0 ); 1197 showItem( item , QPoint(), 0 );
1197} 1198}
1198void KOTodoView::toggleRunningItem() 1199void KOTodoView::toggleRunningItem()
1199{ 1200{
1200 // qDebug("KOTodoView::toggleRunning() "); 1201 // qDebug("KOTodoView::toggleRunning() ");
1201 if ( ! mActiveItem ) 1202 if ( ! mActiveItem )
1202 return; 1203 return;
1203 Todo * t = mActiveItem->todo(); 1204 Todo * t = mActiveItem->todo();
1204 if ( t->isRunning() ) { 1205 if ( t->isRunning() ) {
1205
1206
1207 KOStopTodoPrefs tp ( t, this ); 1206 KOStopTodoPrefs tp ( t, this );
1208 tp.exec(); 1207 tp.exec();
1209
1210
1211#if 0
1212 int result = KMessageBox::warningYesNoCancel(this,
1213 i18n("The todo\n%1\nis started.\nDo you want to set\nthe state to stopped?").arg(mActiveItem->text(0).left( 25 ) ),i18n("Todo is started"),i18n("Stop"),i18n("Stop+note"));
1214 if (result == KMessageBox::Cancel) return;
1215 if ( result == KMessageBox::No ) {
1216 QString comment = QInputDialog::getText(mActiveItem->text(0).left( 25 ),i18n("Comment for todo:") );
1217 t->setRunningFalse( comment );
1218 } else {
1219 t->setRunning( false );
1220 }
1221 mActiveItem->construct(); 1208 mActiveItem->construct();
1222
1223
1224#endif
1225 } else { 1209 } else {
1226 int result = KMessageBox::warningContinueCancel(this, 1210 int result = KMessageBox::warningContinueCancel(this,
1227 i18n("<center>%1</center> <center>is not running. Do you want to set\nthe state to running?</center>").arg(mActiveItem->text(0).left( 25 ) ),i18n("Start todo"),i18n("Start todo"),i18n("Cancel"), true); 1211 i18n("<center>%1</center> <center>is not running. Do you want to set\nthe state to running?</center>").arg(mActiveItem->text(0).left( 25 ) ),i18n("Start todo"),i18n("Start todo"),i18n("Cancel"), true);
1228 if (result != KMessageBox::Continue) return; 1212 if (result != KMessageBox::Continue) return;
1229 t->setRunning( true ); 1213 t->setRunning( true );
1230 mActiveItem->construct(); 1214 mActiveItem->construct();
1231 } 1215 }
1232} 1216}
1233 1217
1234void KOTodoView::itemClicked(QListViewItem *item) 1218void KOTodoView::itemClicked(QListViewItem *item)
1235{ 1219{
1236 //qDebug("KOTodoView::itemClicked %d", item); 1220 //qDebug("KOTodoView::itemClicked %d", item);
1237 if (!item) { 1221 if (!item) {
1238 if ( pendingSubtodo != 0 ) { 1222 if ( pendingSubtodo != 0 ) {
1239 topLevelWidget()->setCaption(i18n("Reparenting aborted!")); 1223 topLevelWidget()->setCaption(i18n("Reparenting aborted!"));
1240 } 1224 }
1241 pendingSubtodo = 0; 1225 pendingSubtodo = 0;
1242 return; 1226 return;
1243 } 1227 }
1244 KOTodoViewItem *todoItem = (KOTodoViewItem *)item; 1228 KOTodoViewItem *todoItem = (KOTodoViewItem *)item;
1245 if ( pendingSubtodo != 0 ) { 1229 if ( pendingSubtodo != 0 ) {
1246 bool allowReparent = true; 1230 bool allowReparent = true;
1247 QListViewItem *par = item; 1231 QListViewItem *par = item;
1248 while ( par ) { 1232 while ( par ) {
1249 if ( par == pendingSubtodo ) { 1233 if ( par == pendingSubtodo ) {
1250 allowReparent = false; 1234 allowReparent = false;
1251 break; 1235 break;
1252 } 1236 }
1253 par = par->parent(); 1237 par = par->parent();
1254 } 1238 }
1255 if ( !allowReparent ) { 1239 if ( !allowReparent ) {
1256 topLevelWidget()->setCaption(i18n("Recursive reparenting not possible!")); 1240 topLevelWidget()->setCaption(i18n("Recursive reparenting not possible!"));
1257 pendingSubtodo = 0; 1241 pendingSubtodo = 0;
1258 } else { 1242 } else {
1259 Todo* newParent = todoItem->todo(); 1243 Todo* newParent = todoItem->todo();
1260 Todo* newSub = pendingSubtodo->todo(); 1244 Todo* newSub = pendingSubtodo->todo();
1261 pendingSubtodo = 0; 1245 pendingSubtodo = 0;
1262 emit reparentTodoSignal( newParent,newSub ); 1246 emit reparentTodoSignal( newParent,newSub );
1263 return; 1247 return;
1264 } 1248 }
1265 } 1249 }
1266 1250
1267} 1251}
1268 1252
1269void KOTodoView::setDocumentId( const QString &id ) 1253void KOTodoView::setDocumentId( const QString &id )
1270{ 1254{
1271 1255
1272 mDocPrefs->setDoc( id ); 1256 mDocPrefs->setDoc( id );
1273} 1257}
1274 1258
1275void KOTodoView::itemStateChanged( QListViewItem *item ) 1259void KOTodoView::itemStateChanged( QListViewItem *item )
1276{ 1260{
1277 if (!item) return; 1261 if (!item) return;
1278 1262
1279 KOTodoViewItem *todoItem = (KOTodoViewItem *)item; 1263 KOTodoViewItem *todoItem = (KOTodoViewItem *)item;
1280 1264
1281// kdDebug() << "KOTodoView::itemStateChanged(): " << todoItem->todo()->summary() << endl; 1265// kdDebug() << "KOTodoView::itemStateChanged(): " << todoItem->todo()->summary() << endl;
1282 1266
1283 if( mDocPrefs ) mDocPrefs->writeEntry( todoItem->todo()->uid(), todoItem->isOpen() ); 1267 if( mDocPrefs ) mDocPrefs->writeEntry( todoItem->todo()->uid(), todoItem->isOpen() );
1284} 1268}
1285 1269
1286void KOTodoView::saveLayout(KConfig *config, const QString &group) const 1270void KOTodoView::saveLayout(KConfig *config, const QString &group) const
1287{ 1271{
1288 mTodoListView->saveLayout(config,group); 1272 mTodoListView->saveLayout(config,group);
1289} 1273}
1290 1274
1291void KOTodoView::restoreLayout(KConfig *config, const QString &group) 1275void KOTodoView::restoreLayout(KConfig *config, const QString &group)
1292{ 1276{
1293 mTodoListView->restoreLayout(config,group); 1277 mTodoListView->restoreLayout(config,group);
1294} 1278}
1295 1279
1296void KOTodoView::processSelectionChange() 1280void KOTodoView::processSelectionChange()
1297{ 1281{
1298// kdDebug() << "KOTodoView::processSelectionChange()" << endl; 1282// kdDebug() << "KOTodoView::processSelectionChange()" << endl;
1299 1283
1300 KOTodoViewItem *item = 1284 KOTodoViewItem *item =
1301 static_cast<KOTodoViewItem *>( mTodoListView->selectedItem() ); 1285 static_cast<KOTodoViewItem *>( mTodoListView->selectedItem() );
1302 1286
1303 if ( !item ) { 1287 if ( !item ) {
1304 emit incidenceSelected( 0 ); 1288 emit incidenceSelected( 0 );
1305 } else { 1289 } else {
1306 emit incidenceSelected( item->todo() ); 1290 emit incidenceSelected( item->todo() );
1307 } 1291 }
1308} 1292}
1309 1293
1310void KOTodoView::modified(bool b) 1294void KOTodoView::modified(bool b)
1311{ 1295{
1312 emit isModified(b); 1296 emit isModified(b);
1313} 1297}
1314void KOTodoView::setTodoModified( Todo* todo ) 1298void KOTodoView::setTodoModified( Todo* todo )
1315{ 1299{
1316 todoModified( todo, KOGlobals::UNKNOWN_MODIFIED ); 1300 todoModified( todo, KOGlobals::UNKNOWN_MODIFIED );
1317} 1301}
1318void KOTodoView::clearSelection() 1302void KOTodoView::clearSelection()
1319{ 1303{
1320 mTodoListView->selectAll( false ); 1304 mTodoListView->selectAll( false );
1321} 1305}
1322void KOTodoView::setAllOpen() 1306void KOTodoView::setAllOpen()
1323{ 1307{
1324 if ( isFlatDisplay ) { 1308 if ( isFlatDisplay ) {
1325 isFlatDisplay = false; 1309 isFlatDisplay = false;
1326 mPopupMenu->setItemChecked( 8,false ); 1310 mPopupMenu->setItemChecked( 8,false );
1327 updateView(); 1311 updateView();
1328 } else { 1312 } else {
1329 storeCurrentItem(); 1313 storeCurrentItem();
1330 } 1314 }
1331 setOpen(mTodoListView->firstChild(), true); 1315 setOpen(mTodoListView->firstChild(), true);
1332 resetCurrentItem(); 1316 resetCurrentItem();
1333} 1317}
1334void KOTodoView::setAllClose() 1318void KOTodoView::setAllClose()
1335{ 1319{
1336 if ( isFlatDisplay ) { 1320 if ( isFlatDisplay ) {
1337 isFlatDisplay = false; 1321 isFlatDisplay = false;
1338 mPopupMenu->setItemChecked( 8,false ); 1322 mPopupMenu->setItemChecked( 8,false );
1339 updateView(); 1323 updateView();
1340 } else { 1324 } else {
1341 storeCurrentItem(); 1325 storeCurrentItem();
1342 } 1326 }
1343 setOpen(mTodoListView->firstChild(), false); 1327 setOpen(mTodoListView->firstChild(), false);
1344 resetCurrentItem(); 1328 resetCurrentItem();
1345} 1329}
1346void KOTodoView::setOpen( QListViewItem* item, bool setOpenI) 1330void KOTodoView::setOpen( QListViewItem* item, bool setOpenI)
1347{ 1331{
1348 1332
1349 while ( item ) { 1333 while ( item ) {
1350 setOpen( item->firstChild(), setOpenI ); 1334 setOpen( item->firstChild(), setOpenI );
1351 item->setOpen( setOpenI ); 1335 item->setOpen( setOpenI );
1352 item = item->nextSibling(); 1336 item = item->nextSibling();
1353 } 1337 }
1354} 1338}
1355 1339
1356void KOTodoView::displayAllFlat() 1340void KOTodoView::displayAllFlat()
1357{ 1341{
1358 pendingSubtodo = 0; 1342 pendingSubtodo = 0;
1359 if ( mBlockUpdate ) { 1343 if ( mBlockUpdate ) {
1360 return; 1344 return;
1361 } 1345 }
1362 mPopupMenu->setItemChecked( 8,true ); 1346 mPopupMenu->setItemChecked( 8,true );
1363 isFlatDisplay = true; 1347 isFlatDisplay = true;
1364 QPtrList<Todo> todoList = calendar()->todos(); 1348 QPtrList<Todo> todoList = calendar()->todos();
1365 mTodoMap.clear(); 1349 mTodoMap.clear();
1366 mTodoListView->clear(); 1350 mTodoListView->clear();
1367 Todo *todo; 1351 Todo *todo;
1368 for(todo = todoList.first(); todo; todo = todoList.next()) { 1352 for(todo = todoList.first(); todo; todo = todoList.next()) {
1369 KOTodoViewItem *todoItem = new KOTodoViewItem(mTodoListView,todo,this); 1353 KOTodoViewItem *todoItem = new KOTodoViewItem(mTodoListView,todo,this);
1370 mTodoMap.insert(todo,todoItem); 1354 mTodoMap.insert(todo,todoItem);
1371 } 1355 }
1372 mTodoListView->setFocus(); 1356 mTodoListView->setFocus();
1373 processSelectionChange(); 1357 processSelectionChange();
1374} 1358}
1375 1359
1376void KOTodoView::setAllFlat() 1360void KOTodoView::setAllFlat()
1377{ 1361{
1378 if ( isFlatDisplay ) { 1362 if ( isFlatDisplay ) {
1379 isFlatDisplay = false; 1363 isFlatDisplay = false;
1380 mPopupMenu->setItemChecked( 8,false ); 1364 mPopupMenu->setItemChecked( 8,false );
1381 updateView(); 1365 updateView();
1382 return; 1366 return;
1383 } 1367 }
1384 storeCurrentItem(); 1368 storeCurrentItem();
1385 displayAllFlat(); 1369 displayAllFlat();
1386 resetCurrentItem(); 1370 resetCurrentItem();
1387} 1371}
1388 1372
1389void KOTodoView::purgeCompleted() 1373void KOTodoView::purgeCompleted()
1390{ 1374{
1391 emit purgeCompletedSignal(); 1375 emit purgeCompletedSignal();
1392 1376
1393} 1377}
1394void KOTodoView::toggleQuickTodo() 1378void KOTodoView::toggleQuickTodo()
1395{ 1379{
1396 if ( mQuickAdd->isVisible() ) { 1380 if ( mQuickAdd->isVisible() ) {
1397 mQuickAdd->hide(); 1381 mQuickAdd->hide();
1398 KOPrefs::instance()->mEnableQuickTodo = false; 1382 KOPrefs::instance()->mEnableQuickTodo = false;
1399 } 1383 }
1400 else { 1384 else {
1401 mQuickAdd->show(); 1385 mQuickAdd->show();
1402 KOPrefs::instance()->mEnableQuickTodo = true; 1386 KOPrefs::instance()->mEnableQuickTodo = true;
1403 } 1387 }
1404 mPopupMenu->setItemChecked(4,KOPrefs::instance()->mEnableQuickTodo); 1388 mPopupMenu->setItemChecked(4,KOPrefs::instance()->mEnableQuickTodo);
1405 mItemPopupMenu->setItemChecked( 34 , KOPrefs::instance()->mEnableQuickTodo ); 1389 mItemPopupMenu->setItemChecked( 34 , KOPrefs::instance()->mEnableQuickTodo );
1406} 1390}
1407 1391
1408void KOTodoView::toggleRunning() 1392void KOTodoView::toggleRunning()
1409{ 1393{
1410 KOPrefs::instance()->mHideNonStartedTodos = !KOPrefs::instance()->mHideNonStartedTodos; 1394 KOPrefs::instance()->mHideNonStartedTodos = !KOPrefs::instance()->mHideNonStartedTodos;
1411 mPopupMenu->setItemChecked(5,KOPrefs::instance()->mHideNonStartedTodos); 1395 mPopupMenu->setItemChecked(5,KOPrefs::instance()->mHideNonStartedTodos);
1412 mItemPopupMenu->setItemChecked( 35 , KOPrefs::instance()->mHideNonStartedTodos ); 1396 mItemPopupMenu->setItemChecked( 35 , KOPrefs::instance()->mHideNonStartedTodos );
1413 updateView(); 1397 updateView();
1414} 1398}
1415 1399
1416void KOTodoView::toggleCompleted() 1400void KOTodoView::toggleCompleted()
diff --git a/korganizer/mainwindow.cpp b/korganizer/mainwindow.cpp
index 13e186d..f945383 100644
--- a/korganizer/mainwindow.cpp
+++ b/korganizer/mainwindow.cpp
@@ -589,412 +589,413 @@ void MainWindow::recieve( const QCString& cmsg, const QByteArray& data )
589 589
590 showMaximized(); 590 showMaximized();
591 raise(); 591 raise();
592} 592}
593 593
594QPixmap MainWindow::loadPixmap( QString name ) 594QPixmap MainWindow::loadPixmap( QString name )
595{ 595{
596 return SmallIcon( name ); 596 return SmallIcon( name );
597 597
598} 598}
599void MainWindow::setUsesBigPixmaps ( bool b ) 599void MainWindow::setUsesBigPixmaps ( bool b )
600{ 600{
601 qDebug("KO: MainWindow::setUsesBigPixmaps %d called", b); 601 qDebug("KO: MainWindow::setUsesBigPixmaps %d called", b);
602 if ( b ) 602 if ( b )
603 qDebug("KO: BigPixmaps are not supported "); 603 qDebug("KO: BigPixmaps are not supported ");
604} 604}
605void MainWindow::initActions() 605void MainWindow::initActions()
606{ 606{
607 //KOPrefs::instance()->mShowFullMenu 607 //KOPrefs::instance()->mShowFullMenu
608 iconToolBar->clear(); 608 iconToolBar->clear();
609 KOPrefs *p = KOPrefs::instance(); 609 KOPrefs *p = KOPrefs::instance();
610 //QPEMenuBar *menuBar1;// = new QPEMenuBar( iconToolBar ); 610 //QPEMenuBar *menuBar1;// = new QPEMenuBar( iconToolBar );
611 611
612 QPopupMenu *viewMenu = new QPopupMenu( this ); 612 QPopupMenu *viewMenu = new QPopupMenu( this );
613 QPopupMenu *actionMenu = new QPopupMenu( this ); 613 QPopupMenu *actionMenu = new QPopupMenu( this );
614 QPopupMenu *importMenu = new QPopupMenu( this ); 614 QPopupMenu *importMenu = new QPopupMenu( this );
615 QPopupMenu *importMenu_X = new QPopupMenu( this ); 615 QPopupMenu *importMenu_X = new QPopupMenu( this );
616 QPopupMenu *exportMenu_X = new QPopupMenu( this ); 616 QPopupMenu *exportMenu_X = new QPopupMenu( this );
617 QPopupMenu *beamMenu_X = new QPopupMenu( this ); 617 QPopupMenu *beamMenu_X = new QPopupMenu( this );
618 selectFilterMenu = new QPopupMenu( this ); 618 selectFilterMenu = new QPopupMenu( this );
619 selectFilterMenu->setCheckable( true ); 619 selectFilterMenu->setCheckable( true );
620 syncMenu = new QPopupMenu( this ); 620 syncMenu = new QPopupMenu( this );
621 configureAgendaMenu = new QPopupMenu( this ); 621 configureAgendaMenu = new QPopupMenu( this );
622 configureToolBarMenu = new QPopupMenu( this ); 622 configureToolBarMenu = new QPopupMenu( this );
623 QPopupMenu *helpMenu = new QPopupMenu( this ); 623 QPopupMenu *helpMenu = new QPopupMenu( this );
624 QIconSet icon; 624 QIconSet icon;
625 int pixWid = 22, pixHei = 22; 625 int pixWid = 22, pixHei = 22;
626 QString pathString = ""; 626 QString pathString = "";
627 if ( !p->mToolBarMiniIcons ) { 627 if ( !p->mToolBarMiniIcons ) {
628 if ( QApplication::desktop()->width() < 480 /*|| QApplication::desktop()->height() < 320*/) { 628 if ( QApplication::desktop()->width() < 480 /*|| QApplication::desktop()->height() < 320*/) {
629 pathString += "icons16/"; 629 pathString += "icons16/";
630 pixWid = 18; pixHei = 16; 630 pixWid = 18; pixHei = 16;
631 } 631 }
632 } else { 632 } else {
633 pathString += "iconsmini/"; 633 pathString += "iconsmini/";
634 pixWid = 18; pixHei = 16; 634 pixWid = 18; pixHei = 16;
635 } 635 }
636 if ( KOPrefs::instance()->mShowFullMenu ) { 636 if ( KOPrefs::instance()->mShowFullMenu ) {
637 QMenuBar *menuBar1; 637 QMenuBar *menuBar1;
638 menuBar1 = menuBar(); 638 menuBar1 = menuBar();
639 menuBar1->insertItem( i18n("File"), importMenu ); 639 menuBar1->insertItem( i18n("File"), importMenu );
640 menuBar1->insertItem( i18n("View"), viewMenu ); 640 menuBar1->insertItem( i18n("View"), viewMenu );
641 menuBar1->insertItem( i18n("Actions"), actionMenu ); 641 menuBar1->insertItem( i18n("Actions"), actionMenu );
642#ifdef DESKTOP_VERSION 642#ifdef DESKTOP_VERSION
643 menuBar1->insertItem( i18n("Synchronize"), syncMenu ); 643 menuBar1->insertItem( i18n("Synchronize"), syncMenu );
644 menuBar1->insertItem( i18n("AgendaSize"),configureAgendaMenu ); 644 menuBar1->insertItem( i18n("AgendaSize"),configureAgendaMenu );
645#else 645#else
646 menuBar1->insertItem( i18n("Sync"), syncMenu ); 646 menuBar1->insertItem( i18n("Sync"), syncMenu );
647 menuBar1->insertItem( i18n("Agenda"),configureAgendaMenu ); 647 menuBar1->insertItem( i18n("Agenda"),configureAgendaMenu );
648#endif 648#endif
649 //menuBar1->insertItem( i18n("Toolbar"),configureToolBarMenu ); 649 //menuBar1->insertItem( i18n("Toolbar"),configureToolBarMenu );
650 menuBar1->insertItem( i18n("Filter"),selectFilterMenu ); 650 menuBar1->insertItem( i18n("Filter"),selectFilterMenu );
651 menuBar1->insertItem( i18n("Help"), helpMenu ); 651 menuBar1->insertItem( i18n("Help"), helpMenu );
652 } else { 652 } else {
653 QPEMenuBar *menuBar1; 653 QPEMenuBar *menuBar1;
654 menuBar1 = new QPEMenuBar( iconToolBar ); 654 menuBar1 = new QPEMenuBar( iconToolBar );
655 QPopupMenu *menuBar = new QPopupMenu( this ); 655 QPopupMenu *menuBar = new QPopupMenu( this );
656 icon = loadPixmap( pathString + "z_menu" ); 656 icon = loadPixmap( pathString + "z_menu" );
657 menuBar1->insertItem( icon.pixmap(), menuBar); 657 menuBar1->insertItem( icon.pixmap(), menuBar);
658 //menuBar1->insertItem( i18n("ME"), menuBar); 658 //menuBar1->insertItem( i18n("ME"), menuBar);
659 menuBar->insertItem( i18n("File"), importMenu ); 659 menuBar->insertItem( i18n("File"), importMenu );
660 menuBar->insertItem( i18n("View"), viewMenu ); 660 menuBar->insertItem( i18n("View"), viewMenu );
661 menuBar->insertItem( i18n("Actions"), actionMenu ); 661 menuBar->insertItem( i18n("Actions"), actionMenu );
662 menuBar->insertItem( i18n("Synchronize"), syncMenu ); 662 menuBar->insertItem( i18n("Synchronize"), syncMenu );
663 menuBar->insertItem( i18n("AgendaSize"),configureAgendaMenu ); 663 menuBar->insertItem( i18n("AgendaSize"),configureAgendaMenu );
664 menuBar->insertItem( i18n("Toolbar"),configureToolBarMenu ); 664 menuBar->insertItem( i18n("Toolbar"),configureToolBarMenu );
665 menuBar->insertItem( i18n("Filter"),selectFilterMenu ); 665 menuBar->insertItem( i18n("Filter"),selectFilterMenu );
666 menuBar->insertItem( i18n("Help"), helpMenu ); 666 menuBar->insertItem( i18n("Help"), helpMenu );
667 //menuBar1->setMaximumWidth( menuBar1->sizeHint().width() ); 667 //menuBar1->setMaximumWidth( menuBar1->sizeHint().width() );
668 menuBar1->setMaximumSize( menuBar1->sizeHint( )); 668 menuBar1->setMaximumSize( menuBar1->sizeHint( ));
669 } 669 }
670 connect ( selectFilterMenu, SIGNAL( activated ( int ) ), this, SLOT (selectFilter( int ) ) ); 670 connect ( selectFilterMenu, SIGNAL( activated ( int ) ), this, SLOT (selectFilter( int ) ) );
671 connect ( selectFilterMenu, SIGNAL( aboutToShow() ), this, SLOT (fillFilterMenu() ) ); 671 connect ( selectFilterMenu, SIGNAL( aboutToShow() ), this, SLOT (fillFilterMenu() ) );
672 672
673 673
674 mWeekBgColor = iconToolBar->backgroundColor(); 674 mWeekBgColor = iconToolBar->backgroundColor();
675 mWeekPixmap.resize( pixWid , pixHei ); 675 mWeekPixmap.resize( pixWid , pixHei );
676 mWeekPixmap.fill( mWeekBgColor ); 676 mWeekPixmap.fill( mWeekBgColor );
677 icon = mWeekPixmap; 677 icon = mWeekPixmap;
678 mWeekAction = new QAction( i18n("Select week number"),icon, i18n("Select week number"), 0, this ); 678 mWeekAction = new QAction( i18n("Select week number"),icon, i18n("Select week number"), 0, this );
679 if ( p-> mShowIconWeekNum ) 679 if ( p-> mShowIconWeekNum )
680 mWeekAction->addTo( iconToolBar ); 680 mWeekAction->addTo( iconToolBar );
681 mWeekFont = font(); 681 mWeekFont = font();
682 682
683 int fontPoint = mWeekFont.pointSize(); 683 int fontPoint = mWeekFont.pointSize();
684 QFontMetrics f( mWeekFont ); 684 QFontMetrics f( mWeekFont );
685 int fontWid = f.width( "30" ); 685 int fontWid = f.width( "30" );
686 while ( fontWid > pixWid ) { 686 while ( fontWid > pixWid ) {
687 --fontPoint; 687 --fontPoint;
688 mWeekFont.setPointSize( fontPoint ); 688 mWeekFont.setPointSize( fontPoint );
689 QFontMetrics f( mWeekFont ); 689 QFontMetrics f( mWeekFont );
690 fontWid = f.width( "30" ); 690 fontWid = f.width( "30" );
691 //qDebug("dec-- "); 691 //qDebug("dec-- ");
692 } 692 }
693 693
694 connect( mWeekAction, SIGNAL( activated() ), 694 connect( mWeekAction, SIGNAL( activated() ),
695 this, SLOT( weekAction() ) ); 695 this, SLOT( weekAction() ) );
696 696
697 connect( this, SIGNAL( selectWeek ( int ) ), mView->dateNavigator(), SLOT( selectWeek ( int ) ) ); 697 connect( this, SIGNAL( selectWeek ( int ) ), mView->dateNavigator(), SLOT( selectWeek ( int ) ) );
698 if ( p->mShowIconFilterview ) { 698 if ( p->mShowIconFilterview ) {
699 icon = loadPixmap( pathString + "filter" ); 699 icon = loadPixmap( pathString + "filter" );
700 actionFilterMenuTB = new QAction( i18n("Filter selector"), icon, i18n("Filter selector"), 0, this ); 700 actionFilterMenuTB = new QAction( i18n("Filter selector"), icon, i18n("Filter selector"), 0, this );
701 connect( actionFilterMenuTB, SIGNAL( activated() ), 701 connect( actionFilterMenuTB, SIGNAL( activated() ),
702 this, SLOT( fillFilterMenuTB() ) ); 702 this, SLOT( fillFilterMenuTB() ) );
703 actionFilterMenuTB->addTo( iconToolBar ); 703 actionFilterMenuTB->addTo( iconToolBar );
704 selectFilterMenuTB = new QPopupMenu( this ); 704 selectFilterMenuTB = new QPopupMenu( this );
705 selectFilterMenuTB->setCheckable( true ); 705 selectFilterMenuTB->setCheckable( true );
706 connect ( selectFilterMenuTB, SIGNAL( activated ( int ) ), this, SLOT (selectFilter( int ) ) ); 706 connect ( selectFilterMenuTB, SIGNAL( activated ( int ) ), this, SLOT (selectFilter( int ) ) );
707 } 707 }
708 708
709 //#endif 709 //#endif
710 // ****************** 710 // ******************
711 QAction *action; 711 QAction *action;
712 // QPopupMenu *configureMenu= new QPopupMenu( menuBar ); 712 // QPopupMenu *configureMenu= new QPopupMenu( menuBar );
713 configureToolBarMenu->setCheckable( true ); 713 configureToolBarMenu->setCheckable( true );
714 714
715 715
716 configureAgendaMenu->setCheckable( true ); 716 configureAgendaMenu->setCheckable( true );
717 int iii ; 717 int iii ;
718 for ( iii = 1;iii<= 10 ;++iii ){ 718 for ( iii = 1;iii<= 10 ;++iii ){
719 configureAgendaMenu->insertItem(i18n("Size %1").arg(iii), (iii+1)*2 ); 719 configureAgendaMenu->insertItem(i18n("Size %1").arg(iii), (iii+1)*2 );
720 } 720 }
721 //configureMenu->insertItem( "AgendaSize",configureAgendaMenu ); 721 //configureMenu->insertItem( "AgendaSize",configureAgendaMenu );
722 722
723 connect( configureAgendaMenu, SIGNAL( aboutToShow()), 723 connect( configureAgendaMenu, SIGNAL( aboutToShow()),
724 this, SLOT( showConfigureAgenda( ) ) ); 724 this, SLOT( showConfigureAgenda( ) ) );
725 725
726 icon = loadPixmap( pathString + "configure" ); 726 icon = loadPixmap( pathString + "configure" );
727 action = new QAction( i18n("Configure"),icon, i18n("Configure KO/Pi..."), 0, this ); 727 action = new QAction( i18n("Configure"),icon, i18n("Configure KO/Pi..."), 0, this );
728 action->addTo( actionMenu ); 728 action->addTo( actionMenu );
729 connect( action, SIGNAL( activated() ), 729 connect( action, SIGNAL( activated() ),
730 mView, SLOT( edit_options() ) ); 730 mView, SLOT( edit_options() ) );
731 icon = loadPixmap( pathString + "configure" ); 731 icon = loadPixmap( pathString + "configure" );
732 action = new QAction( i18n("Configure"),icon, i18n("Global Settings..."), 0, this ); 732 action = new QAction( i18n("Configure"),icon, i18n("Global Settings..."), 0, this );
733 action->addTo( actionMenu ); 733 action->addTo( actionMenu );
734 connect( action, SIGNAL( activated() ), 734 connect( action, SIGNAL( activated() ),
735 mView, SLOT( edit_global_options() ) ); 735 mView, SLOT( edit_global_options() ) );
736 actionMenu->insertSeparator(); 736 actionMenu->insertSeparator();
737 737
738 action = new QAction( i18n("Undo Delete"), i18n("Undo Delete..."), 0, this ); 738 action = new QAction( i18n("Undo Delete"), i18n("Undo Delete..."), 0, this );
739 action->addTo( actionMenu ); 739 action->addTo( actionMenu );
740 connect( action, SIGNAL( activated() ), 740 connect( action, SIGNAL( activated() ),
741 mView, SLOT( undo_delete() ) ); 741 mView, SLOT( undo_delete() ) );
742 actionMenu->insertSeparator(); 742 actionMenu->insertSeparator();
743 743
744 icon = loadPixmap( pathString + "newevent" ); 744 icon = loadPixmap( pathString + "newevent" );
745 configureToolBarMenu->insertItem(i18n("Stretched TB"), 5 ); 745 configureToolBarMenu->insertItem(i18n("Stretched TB"), 5 );
746 configureToolBarMenu->insertItem(i18n("Only one toolbar"), 6 ); 746 configureToolBarMenu->insertItem(i18n("Only one toolbar"), 6 );
747 configureToolBarMenu->insertSeparator(); 747 configureToolBarMenu->insertSeparator();
748 configureToolBarMenu->insertItem(i18n("Filtermenu"), 7 ); 748 configureToolBarMenu->insertItem(i18n("Filtermenu"), 7 );
749 configureToolBarMenu->insertSeparator(); 749 configureToolBarMenu->insertSeparator();
750 configureToolBarMenu->insertItem(i18n("Week Number"), 400); 750 configureToolBarMenu->insertItem(i18n("Week Number"), 400);
751 configureToolBarMenu->insertItem(icon, i18n("New Event..."), 10 ); 751 configureToolBarMenu->insertItem(icon, i18n("New Event..."), 10 );
752 QAction* ne_action = new QAction( i18n("New Event..."), icon, i18n("New Event..."), 0, this ); 752 QAction* ne_action = new QAction( i18n("New Event..."), icon, i18n("New Event..."), 0, this );
753 ne_action->addTo( actionMenu ); 753 ne_action->addTo( actionMenu );
754 connect( ne_action, SIGNAL( activated() ), 754 connect( ne_action, SIGNAL( activated() ),
755 mView, SLOT( newEvent() ) ); 755 mView, SLOT( newEvent() ) );
756 icon = loadPixmap( pathString + "newtodo" ); 756 icon = loadPixmap( pathString + "newtodo" );
757 configureToolBarMenu->insertItem(icon, i18n("New Todo..."), 20 ); 757 configureToolBarMenu->insertItem(icon, i18n("New Todo..."), 20 );
758 QAction* nt_action = new QAction( i18n("New Todo..."), icon, i18n("New Todo..."), 0, this ); 758 QAction* nt_action = new QAction( i18n("New Todo..."), icon, i18n("New Todo..."), 0, this );
759 nt_action->addTo( actionMenu ); 759 nt_action->addTo( actionMenu );
760 connect( nt_action, SIGNAL( activated() ), 760 connect( nt_action, SIGNAL( activated() ),
761 mView, SLOT( newTodo() ) ); 761 mView, SLOT( newTodo() ) );
762 762
763 icon = loadPixmap( pathString + "today" ); 763 icon = loadPixmap( pathString + "today" );
764 QAction* today_action = new QAction( i18n("Go to Today"), icon, i18n("Go to Today"), 0, this ); 764 QAction* today_action = new QAction( i18n("Go to Today"), icon, i18n("Go to Today"), 0, this );
765 today_action->addTo( viewMenu ); 765 today_action->addTo( viewMenu );
766 connect( today_action, SIGNAL( activated() ), 766 connect( today_action, SIGNAL( activated() ),
767 mView, SLOT( goToday() ) ); 767 mView, SLOT( goToday() ) );
768 viewMenu->insertSeparator(); 768 viewMenu->insertSeparator();
769 769
770 // *********************** 770 // ***********************
771 if ( KOPrefs::instance()->mVerticalScreen ) { 771 if ( KOPrefs::instance()->mVerticalScreen ) {
772 icon = SmallIcon( "1updownarrow" ); 772 icon = SmallIcon( "1updownarrow" );
773 } else { 773 } else {
774 icon = SmallIcon("1leftrightarrow" ); 774 icon = SmallIcon("1leftrightarrow" );
775 } 775 }
776 configureToolBarMenu->insertItem(icon, i18n("Toggle Fullscreen"), 28 ); 776 configureToolBarMenu->insertItem(icon, i18n("Toggle Fullscreen"), 28 );
777 QAction* FSaction = new QAction( i18n("Toggle Fullscreen"), icon, i18n("Toggle Fullscreen"), 0, this ); 777 QAction* FSaction = new QAction( i18n("Toggle Fullscreen"), icon, i18n("Toggle Fullscreen"), 0, this );
778 FSaction->addTo( viewMenu ); 778 FSaction->addTo( viewMenu );
779 connect( FSaction, SIGNAL( activated() ), mView, SLOT( toggleExpand() )); 779 connect( FSaction, SIGNAL( activated() ), mView, SLOT( toggleExpand() ));
780 780
781 icon = loadPixmap( pathString + "navi" ); 781
782 configureToolBarMenu->insertItem(icon, i18n("Toggle DateNavigator"), 22 );
783 action = new QAction( i18n("Toggle DateNavigator"), icon, i18n("Toggle DateNavigator"), 0, this );
784 action->addTo( viewMenu );
785 connect( action, SIGNAL( activated() ),
786 mView, SLOT( toggleDateNavigatorWidget() ) );
787 mToggleNav = action ;
788 icon = loadPixmap( pathString + "filter" ); 782 icon = loadPixmap( pathString + "filter" );
789 configureToolBarMenu->insertItem(icon, i18n("Filter menu icon"), 26 ); 783 configureToolBarMenu->insertItem(icon, i18n("Filter menu icon"), 26 );
790 icon = loadPixmap( pathString + "configure" ); 784 icon = loadPixmap( pathString + "configure" );
791 action = new QAction( i18n("Toggle Resource View"), icon, i18n("Toggle Resource View"), 0, this ); 785 action = new QAction( i18n("Toggle Resource View"), icon, i18n("Toggle Resource View"), 0, this );
792 action->addTo( viewMenu ); 786 action->addTo( viewMenu );
793 connect( action, SIGNAL( activated() ), 787 connect( action, SIGNAL( activated() ),
794 mView, SLOT( toggleFilter() ) ); 788 mView, SLOT( toggleFilter() ) );
795 mToggleFilter = action; 789 mToggleFilter = action;
790 icon = loadPixmap( pathString + "navi" );
791 configureToolBarMenu->insertItem(icon, i18n("Toggle DateNavigator"), 22 );
792 action = new QAction( i18n("Toggle DateNavigator"), icon, i18n("Toggle DateNavigator"), 0, this );
793 action->addTo( viewMenu );
794 connect( action, SIGNAL( activated() ),
795 mView, SLOT( toggleDateNavigatorWidget() ) );
796 mToggleNav = action ;
796 icon = loadPixmap( pathString + "allday" ); 797 icon = loadPixmap( pathString + "allday" );
797 configureToolBarMenu->insertItem(icon, i18n("Toggle Allday"), 24 ); 798 configureToolBarMenu->insertItem(icon, i18n("Toggle Allday"), 24 );
798 action = new QAction( i18n("Toggle Allday"), icon,i18n("Toggle Allday"), 0, this ); 799 action = new QAction( i18n("Toggle Allday"), icon,i18n("Toggle Allday"), 0, this );
799 action->addTo( viewMenu ); 800 action->addTo( viewMenu );
800 connect( action, SIGNAL( activated() ), 801 connect( action, SIGNAL( activated() ),
801 mView, SLOT( toggleAllDaySize() ) ); 802 mView, SLOT( toggleAllDaySize() ) );
802 mToggleAllday = action; 803 mToggleAllday = action;
803 804
804 805
805 connect( mView->viewManager(), SIGNAL( signalFullScreen( bool ) ), 806 connect( mView->viewManager(), SIGNAL( signalFullScreen( bool ) ),
806 mToggleNav, SLOT( setEnabled ( bool ) ) ); 807 mToggleNav, SLOT( setEnabled ( bool ) ) );
807 connect( mView->viewManager(), SIGNAL( signalFullScreen( bool ) ), 808 //connect( mView->viewManager(), SIGNAL( signalFullScreen( bool ) ),
808 mToggleFilter, SLOT( setEnabled ( bool ) ) ); 809 // mToggleFilter, SLOT( setEnabled ( bool ) ) );
809 connect( mView->viewManager(), SIGNAL( signalAgendaView( bool ) ), 810 connect( mView->viewManager(), SIGNAL( signalAgendaView( bool ) ),
810 mToggleAllday, SLOT( setEnabled ( bool ) ) ); 811 mToggleAllday, SLOT( setEnabled ( bool ) ) );
811 // connect( mView->viewManager(), SIGNAL( signalAgendaView( bool ) ), 812 // connect( mView->viewManager(), SIGNAL( signalAgendaView( bool ) ),
812 // configureAgendaMenu, SLOT( setEnabled ( bool ) ) ); 813 // configureAgendaMenu, SLOT( setEnabled ( bool ) ) );
813 814
814 viewMenu->insertSeparator(); 815 viewMenu->insertSeparator();
815 icon = loadPixmap( pathString + "picker" ); 816 icon = loadPixmap( pathString + "picker" );
816 action = new QAction( i18n("Date Picker"), icon, i18n("Date Picker"), 0, this ); 817 action = new QAction( i18n("Date Picker"), icon, i18n("Date Picker"), 0, this );
817 action->addTo( viewMenu ); 818 action->addTo( viewMenu );
818 connect( action, SIGNAL( activated() ), 819 connect( action, SIGNAL( activated() ),
819 mView, SLOT( showDatePicker() ) ); 820 mView, SLOT( showDatePicker() ) );
820 action->addTo( iconToolBar ); 821 action->addTo( iconToolBar );
821 viewMenu->insertSeparator(); 822 viewMenu->insertSeparator();
822 823
823 if ( p-> mShowIconToggleFull ) 824 if ( p-> mShowIconToggleFull )
824 FSaction->addTo( iconToolBar ); 825 FSaction->addTo( iconToolBar );
825 if ( p->mShowIconNavigator ) mToggleNav ->addTo( iconToolBar ); 826 if ( p->mShowIconNavigator ) mToggleNav ->addTo( iconToolBar );
826 827
827 //******************** 828 //********************
828 if ( p->mShowIconAllday ) mToggleAllday->addTo( iconToolBar ); 829 if ( p->mShowIconAllday ) mToggleAllday->addTo( iconToolBar );
829 830
830 831
831 icon = loadPixmap( pathString + "whatsnext" ); 832 icon = loadPixmap( pathString + "whatsnext" );
832 configureToolBarMenu->insertItem(icon, i18n("What's Next"), 110 ); 833 configureToolBarMenu->insertItem(icon, i18n("What's Next"), 110 );
833 QAction* whatsnext_action = new QAction( i18n("What's Next"), icon, i18n("What's Next"), 0, this ); 834 QAction* whatsnext_action = new QAction( i18n("What's Next"), icon, i18n("What's Next"), 0, this );
834 whatsnext_action->addTo( viewMenu ); 835 whatsnext_action->addTo( viewMenu );
835 connect( whatsnext_action, SIGNAL( activated() ), 836 connect( whatsnext_action, SIGNAL( activated() ),
836 mView->viewManager(), SLOT( showWhatsNextView() ) ); 837 mView->viewManager(), SLOT( showWhatsNextView() ) );
837 838
838 icon = loadPixmap( pathString + "xdays" ); 839 icon = loadPixmap( pathString + "xdays" );
839 configureToolBarMenu->insertItem(icon, i18n("Next days"), 100 ); 840 configureToolBarMenu->insertItem(icon, i18n("Next days"), 100 );
840 QAction* xdays_action = new QAction( i18n("Next days"), icon, i18n("Next days"), 0, this ); 841 QAction* xdays_action = new QAction( i18n("Next days"), icon, i18n("Next days"), 0, this );
841 xdays_action->addTo( viewMenu ); 842 xdays_action->addTo( viewMenu );
842 connect( xdays_action, SIGNAL( activated() ), 843 connect( xdays_action, SIGNAL( activated() ),
843 mView->viewManager(), SLOT( showNextXView() ) ); 844 mView->viewManager(), SLOT( showNextXView() ) );
844 845
845 846
846 icon = loadPixmap( pathString + "journal" ); 847 icon = loadPixmap( pathString + "journal" );
847 configureToolBarMenu->insertItem(icon, i18n("Journal"), 90 ); 848 configureToolBarMenu->insertItem(icon, i18n("Journal"), 90 );
848 QAction* viewjournal_action = new QAction( i18n("Journal"), icon, i18n("Journal"), 0, this ); 849 QAction* viewjournal_action = new QAction( i18n("Journal"), icon, i18n("Journal"), 0, this );
849 viewjournal_action->addTo( viewMenu ); 850 viewjournal_action->addTo( viewMenu );
850 connect( viewjournal_action, SIGNAL( activated() ), 851 connect( viewjournal_action, SIGNAL( activated() ),
851 mView->viewManager(), SLOT( showJournalView() ) ); 852 mView->viewManager(), SLOT( showJournalView() ) );
852 853
853 854
854 icon = loadPixmap( pathString + "day" ); 855 icon = loadPixmap( pathString + "day" );
855 configureToolBarMenu->insertItem(icon, i18n("Day View"), 40 ); 856 configureToolBarMenu->insertItem(icon, i18n("Day View"), 40 );
856 QAction* day1_action = new QAction( i18n("Day View"), icon, i18n("Day View"), 0, this ); 857 QAction* day1_action = new QAction( i18n("Day View"), icon, i18n("Day View"), 0, this );
857 day1_action->addTo( viewMenu ); 858 day1_action->addTo( viewMenu );
858 // action->addTo( toolBar ); 859 // action->addTo( toolBar );
859 connect( day1_action, SIGNAL( activated() ), 860 connect( day1_action, SIGNAL( activated() ),
860 mView->viewManager(), SLOT( showDayView() ) ); 861 mView->viewManager(), SLOT( showDayView() ) );
861 862
862 icon = loadPixmap( pathString + "workweek" ); 863 icon = loadPixmap( pathString + "workweek" );
863 configureToolBarMenu->insertItem(icon, i18n("Work Week"), 50 ); 864 configureToolBarMenu->insertItem(icon, i18n("Work Week"), 50 );
864 QAction* day5_action = new QAction( i18n("Work Week"), icon, i18n("Work Week"), 0, this ); 865 QAction* day5_action = new QAction( i18n("Work Week"), icon, i18n("Work Week"), 0, this );
865 day5_action->addTo( viewMenu ); 866 day5_action->addTo( viewMenu );
866 connect( day5_action, SIGNAL( activated() ), 867 connect( day5_action, SIGNAL( activated() ),
867 mView->viewManager(), SLOT( showWorkWeekView() ) ); 868 mView->viewManager(), SLOT( showWorkWeekView() ) );
868 869
869 icon = loadPixmap( pathString + "week" ); 870 icon = loadPixmap( pathString + "week" );
870 configureToolBarMenu->insertItem(icon, i18n("Week"), 60 ); 871 configureToolBarMenu->insertItem(icon, i18n("Week"), 60 );
871 QAction* day7_action = new QAction( i18n("Week"), icon, i18n("Week"), 0, this ); 872 QAction* day7_action = new QAction( i18n("Week"), icon, i18n("Week"), 0, this );
872 day7_action->addTo( viewMenu ); 873 day7_action->addTo( viewMenu );
873 connect( day7_action, SIGNAL( activated() ), 874 connect( day7_action, SIGNAL( activated() ),
874 mView->viewManager(), SLOT( showWeekView() ) ); 875 mView->viewManager(), SLOT( showWeekView() ) );
875 876
876 icon = loadPixmap( pathString + "workweek2" ); 877 icon = loadPixmap( pathString + "workweek2" );
877 configureToolBarMenu->insertItem(icon, i18n("List week view"), 75 ); 878 configureToolBarMenu->insertItem(icon, i18n("List week view"), 75 );
878 QAction* day6_action = new QAction( i18n("List week"), icon, i18n("List week"), 0, this ); 879 QAction* day6_action = new QAction( i18n("List week"), icon, i18n("List week"), 0, this );
879 day6_action->addTo( viewMenu ); 880 day6_action->addTo( viewMenu );
880 connect( day6_action, SIGNAL( activated() ), 881 connect( day6_action, SIGNAL( activated() ),
881 mView->viewManager(), SLOT( showMonthViewWeek() ) ); 882 mView->viewManager(), SLOT( showMonthViewWeek() ) );
882 883
883 icon = loadPixmap( pathString + "month" ); 884 icon = loadPixmap( pathString + "month" );
884 configureToolBarMenu->insertItem(icon, i18n("Month"), 70 ); 885 configureToolBarMenu->insertItem(icon, i18n("Month"), 70 );
885 QAction* month_action = new QAction( i18n("Month"), icon, i18n("Month"), 0, this ); 886 QAction* month_action = new QAction( i18n("Month"), icon, i18n("Month"), 0, this );
886 month_action->addTo( viewMenu ); 887 month_action->addTo( viewMenu );
887 connect( month_action, SIGNAL( activated() ), 888 connect( month_action, SIGNAL( activated() ),
888 mView->viewManager(), SLOT( showMonthView() ) ); 889 mView->viewManager(), SLOT( showMonthView() ) );
889 890
890 icon = loadPixmap( pathString + "list" ); 891 icon = loadPixmap( pathString + "list" );
891 configureToolBarMenu->insertItem(icon, i18n("List View"), 30 ); 892 configureToolBarMenu->insertItem(icon, i18n("List View"), 30 );
892 QAction* showlist_action = new QAction( i18n("List View"), icon, i18n("List View"), 0, this ); 893 QAction* showlist_action = new QAction( i18n("List View"), icon, i18n("List View"), 0, this );
893 showlist_action->addTo( viewMenu ); 894 showlist_action->addTo( viewMenu );
894 connect( showlist_action, SIGNAL( activated() ), 895 connect( showlist_action, SIGNAL( activated() ),
895 mView->viewManager(), SLOT( showListView() ) ); 896 mView->viewManager(), SLOT( showListView() ) );
896 897
897 icon = loadPixmap( pathString + "todo" ); 898 icon = loadPixmap( pathString + "todo" );
898 configureToolBarMenu->insertItem(icon, i18n("Todo View"), 80 ); 899 configureToolBarMenu->insertItem(icon, i18n("Todo View"), 80 );
899 QAction* todoview_action = new QAction( i18n("Todo View"), icon, i18n("Todo View"), 0, this ); 900 QAction* todoview_action = new QAction( i18n("Todo View"), icon, i18n("Todo View"), 0, this );
900 todoview_action->addTo( viewMenu ); 901 todoview_action->addTo( viewMenu );
901 connect( todoview_action, SIGNAL( activated() ), 902 connect( todoview_action, SIGNAL( activated() ),
902 mView->viewManager(), SLOT( showTodoView() ) ); 903 mView->viewManager(), SLOT( showTodoView() ) );
903 904
904 905
905 906
906#if 0 907#if 0
907 action = new QAction( "view_timespan", "Time Span", 0, this ); 908 action = new QAction( "view_timespan", "Time Span", 0, this );
908 action->addTo( viewMenu ); 909 action->addTo( viewMenu );
909 connect( action, SIGNAL( activated() ), 910 connect( action, SIGNAL( activated() ),
910 mView->viewManager(), SLOT( showTimeSpanView() ) ); 911 mView->viewManager(), SLOT( showTimeSpanView() ) );
911#endif 912#endif
912 913
913 mNewSubTodoAction = new QAction( "new_subtodo", i18n("New Sub-Todo..."), 0, 914 mNewSubTodoAction = new QAction( "new_subtodo", i18n("New Sub-Todo..."), 0,
914 this ); 915 this );
915 mNewSubTodoAction->addTo( actionMenu ); 916 mNewSubTodoAction->addTo( actionMenu );
916 connect( mNewSubTodoAction, SIGNAL( activated() ), 917 connect( mNewSubTodoAction, SIGNAL( activated() ),
917 mView, SLOT( newSubTodo() ) ); 918 mView, SLOT( newSubTodo() ) );
918 919
919 actionMenu->insertSeparator(); 920 actionMenu->insertSeparator();
920 921
921 mShowAction = new QAction( "show_incidence", i18n("Show..."), 0, this ); 922 mShowAction = new QAction( "show_incidence", i18n("Show..."), 0, this );
922 mShowAction->addTo( actionMenu ); 923 mShowAction->addTo( actionMenu );
923 connect( mShowAction, SIGNAL( activated() ), 924 connect( mShowAction, SIGNAL( activated() ),
924 mView, SLOT( showIncidence() ) ); 925 mView, SLOT( showIncidence() ) );
925 926
926 mEditAction = new QAction( "edit_incidence", i18n("Edit..."), 0, this ); 927 mEditAction = new QAction( "edit_incidence", i18n("Edit..."), 0, this );
927 mEditAction->addTo( actionMenu ); 928 mEditAction->addTo( actionMenu );
928 connect( mEditAction, SIGNAL( activated() ), 929 connect( mEditAction, SIGNAL( activated() ),
929 mView, SLOT( editIncidence() ) ); 930 mView, SLOT( editIncidence() ) );
930 931
931 mDeleteAction = new QAction( "delete_incidence", i18n("Delete..."), 0, this ); 932 mDeleteAction = new QAction( "delete_incidence", i18n("Delete..."), 0, this );
932 mDeleteAction->addTo( actionMenu ); 933 mDeleteAction->addTo( actionMenu );
933 connect( mDeleteAction, SIGNAL( activated() ), 934 connect( mDeleteAction, SIGNAL( activated() ),
934 mView, SLOT( deleteIncidence() ) ); 935 mView, SLOT( deleteIncidence() ) );
935 936
936 937
937 mCloneAction = new QAction( "clone_incidence", i18n("Clone..."), 0, this ); 938 mCloneAction = new QAction( "clone_incidence", i18n("Clone..."), 0, this );
938 mCloneAction->addTo( actionMenu ); 939 mCloneAction->addTo( actionMenu );
939 connect( mCloneAction, SIGNAL( activated() ), 940 connect( mCloneAction, SIGNAL( activated() ),
940 mView, SLOT( cloneIncidence() ) ); 941 mView, SLOT( cloneIncidence() ) );
941 mMoveAction = new QAction( "Move_incidence", i18n("Move..."), 0, this ); 942 mMoveAction = new QAction( "Move_incidence", i18n("Move..."), 0, this );
942 mMoveAction->addTo( actionMenu ); 943 mMoveAction->addTo( actionMenu );
943 connect( mMoveAction, SIGNAL( activated() ), 944 connect( mMoveAction, SIGNAL( activated() ),
944 mView, SLOT( moveIncidence() ) ); 945 mView, SLOT( moveIncidence() ) );
945 mBeamAction = new QAction( "Beam_incidence", i18n("Beam..."), 0, this ); 946 mBeamAction = new QAction( "Beam_incidence", i18n("Beam..."), 0, this );
946 mBeamAction->addTo( actionMenu ); 947 mBeamAction->addTo( actionMenu );
947 connect( mBeamAction, SIGNAL( activated() ), 948 connect( mBeamAction, SIGNAL( activated() ),
948 mView, SLOT( beamIncidence() ) ); 949 mView, SLOT( beamIncidence() ) );
949 mCancelAction = new QAction( "Cancel_incidence", i18n("Toggle Cancel"), 0, this ); 950 mCancelAction = new QAction( "Cancel_incidence", i18n("Toggle Cancel"), 0, this );
950 mCancelAction->addTo( actionMenu ); 951 mCancelAction->addTo( actionMenu );
951 connect( mCancelAction, SIGNAL( activated() ), 952 connect( mCancelAction, SIGNAL( activated() ),
952 mView, SLOT( toggleCancelIncidence() ) ); 953 mView, SLOT( toggleCancelIncidence() ) );
953 954
954 actionMenu->insertSeparator(); 955 actionMenu->insertSeparator();
955 956
956 action = new QAction( "purge_completed", i18n("Purge Completed"), 0, 957 action = new QAction( "purge_completed", i18n("Purge Completed"), 0,
957 this ); 958 this );
958 action->addTo( actionMenu ); 959 action->addTo( actionMenu );
959 connect( action, SIGNAL( activated() ), mView, SLOT( purgeCompleted() ) ); 960 connect( action, SIGNAL( activated() ), mView, SLOT( purgeCompleted() ) );
960 961
961 icon = loadPixmap( pathString + "search" ); 962 icon = loadPixmap( pathString + "search" );
962 QAction* search_action = new QAction( i18n("Search"), icon, i18n("Search..."), 0, this ); 963 QAction* search_action = new QAction( i18n("Search"), icon, i18n("Search..."), 0, this );
963 configureToolBarMenu->insertItem(icon, i18n("Search"), 120 , 5); 964 configureToolBarMenu->insertItem(icon, i18n("Search"), 120 , 5);
964 search_action->addTo( actionMenu ); 965 search_action->addTo( actionMenu );
965 connect( search_action, SIGNAL( activated() ), 966 connect( search_action, SIGNAL( activated() ),
966 mView->dialogManager(), SLOT( showSearchDialog() ) ); 967 mView->dialogManager(), SLOT( showSearchDialog() ) );
967 968
968 969
969 970
970 if ( KOPrefs::instance()->mShowFullMenu ) { 971 if ( KOPrefs::instance()->mShowFullMenu ) {
971 actionMenu->insertSeparator(); 972 actionMenu->insertSeparator();
972 actionMenu->insertItem( i18n("Configure Toolbar"),configureToolBarMenu ); 973 actionMenu->insertItem( i18n("Configure Toolbar"),configureToolBarMenu );
973 974
974 } 975 }
975 // actionMenu->insertSeparator(); 976 // actionMenu->insertSeparator();
976 action = new QAction( "import_qtopia", i18n("Import (*.ics/*.vcs) file"), 0, 977 action = new QAction( "import_qtopia", i18n("Import (*.ics/*.vcs) file"), 0,
977 this ); 978 this );
978 action->addTo( importMenu_X ); 979 action->addTo( importMenu_X );
979 connect( action, SIGNAL( activated() ), SLOT( importIcal() ) ); 980 connect( action, SIGNAL( activated() ), SLOT( importIcal() ) );
980 action = new QAction( "import_quick", i18n("Import last file"), 0, 981 action = new QAction( "import_quick", i18n("Import last file"), 0,
981 this ); 982 this );
982 action->addTo( importMenu_X ); 983 action->addTo( importMenu_X );
983 connect( action, SIGNAL( activated() ), SLOT( quickImportIcal() ) ); 984 connect( action, SIGNAL( activated() ), SLOT( quickImportIcal() ) );
984 importMenu_X->insertSeparator(); 985 importMenu_X->insertSeparator();
985 action = new QAction( "import_bday", i18n("Import Birthdays (KA/Pi)"), 0, 986 action = new QAction( "import_bday", i18n("Import Birthdays (KA/Pi)"), 0,
986 this ); 987 this );
987 action->addTo( importMenu_X ); 988 action->addTo( importMenu_X );
988 connect( action, SIGNAL( activated() ), SLOT( importBday() ) ); 989 connect( action, SIGNAL( activated() ), SLOT( importBday() ) );
989 //#ifndef DESKTOP_VERSION 990 //#ifndef DESKTOP_VERSION
990 importMenu_X->insertSeparator(); 991 importMenu_X->insertSeparator();
991 action = new QAction( "import_qtopia", i18n("Import Opie/Qtopia Cal."), 0, 992 action = new QAction( "import_qtopia", i18n("Import Opie/Qtopia Cal."), 0,
992 this ); 993 this );
993 action->addTo( importMenu_X ); 994 action->addTo( importMenu_X );
994 connect( action, SIGNAL( activated() ), SLOT( importQtopia() ) ); 995 connect( action, SIGNAL( activated() ), SLOT( importQtopia() ) );
995 //#else 996 //#else
996#ifdef _OL_IMPORT_ 997#ifdef _OL_IMPORT_
997 importMenu_X->insertSeparator(); 998 importMenu_X->insertSeparator();
998 action = new QAction( "import_ol", i18n("Import from OL"), 0, 999 action = new QAction( "import_ol", i18n("Import from OL"), 0,
999 this ); 1000 this );
1000 action->addTo( importMenu_X ); 1001 action->addTo( importMenu_X );
diff --git a/microkde/kglobal.cpp b/microkde/kglobal.cpp
index bf7e238..53edd08 100644
--- a/microkde/kglobal.cpp
+++ b/microkde/kglobal.cpp
@@ -1,168 +1,175 @@
1#include "kglobal.h" 1#include "kglobal.h"
2#include "kstandarddirs.h" 2#include "kstandarddirs.h"
3#include <qkeycode.h> 3#include <qkeycode.h>
4#include <qapplication.h> 4#include <qapplication.h>
5 5
6KLocale *KGlobal::mLocale = 0; 6KLocale *KGlobal::mLocale = 0;
7KConfig *KGlobal::mConfig = 0; 7KConfig *KGlobal::mConfig = 0;
8KIconLoader *KGlobal::mIconLoader = 0; 8KIconLoader *KGlobal::mIconLoader = 0;
9KStandardDirs *KGlobal::mDirs = 0; 9KStandardDirs *KGlobal::mDirs = 0;
10 10
11QString KGlobal::mAppName = "godot"; 11QString KGlobal::mAppName = "godot";
12 12
13KLocale *KGlobal::locale() 13KLocale *KGlobal::locale()
14{ 14{
15 if ( !mLocale ) { 15 if ( !mLocale ) {
16 ASSERT(mAppName); 16 ASSERT(mAppName);
17 17
18 mLocale = new KLocale();//mAppName); 18 mLocale = new KLocale();//mAppName);
19 } 19 }
20 20
21 return mLocale; 21 return mLocale;
22} 22}
23 23
24//US 24//US
25void KGlobal::setLocale(KLocale *kg) 25void KGlobal::setLocale(KLocale *kg)
26{ 26{
27 mLocale = kg; 27 mLocale = kg;
28} 28}
29 29
30KConfig *KGlobal::config() 30KConfig *KGlobal::config()
31{ 31{
32 //mConfig is set inside setAppName. Though it has to be the first function you call. 32 //mConfig is set inside setAppName. Though it has to be the first function you call.
33 return mConfig; 33 return mConfig;
34} 34}
35 35
36KGlobal::Size KGlobal::getDesktopSize() 36KGlobal::Size KGlobal::getDesktopSize()
37{ 37{
38#ifdef DESKTOP_VERSION 38#ifdef DESKTOP_VERSION
39 return KGlobal::Desktop; 39 return KGlobal::Desktop;
40#else 40#else
41 if ( QApplication::desktop()->width() <= 320 ) 41 if ( QApplication::desktop()->width() <= 320 )
42 return KGlobal::Small; 42 return KGlobal::Small;
43 else if ( QApplication::desktop()->width() > 480) 43 else if ( QApplication::desktop()->width() > 480)
44 return KGlobal::Desktop; 44 return KGlobal::Desktop;
45 else 45 else
46 return KGlobal::Medium; 46 return KGlobal::Medium;
47#endif 47#endif
48} 48}
49 49
50KGlobal::Orientation KGlobal::getOrientation() 50KGlobal::Orientation KGlobal::getOrientation()
51{ 51{
52 if (QApplication::desktop()->width() > QApplication::desktop()->height()) 52 if (QApplication::desktop()->width() > QApplication::desktop()->height())
53 return KGlobal::Landscape; 53 return KGlobal::Landscape;
54 else 54 else
55 return KGlobal::Portrait; 55 return KGlobal::Portrait;
56} 56}
57 57
58int KGlobal::getDesktopWidth() 58int KGlobal::getDesktopWidth()
59{ 59{
60 return QApplication::desktop()->width(); 60 return QApplication::desktop()->width();
61} 61}
62 62
63int KGlobal::getDesktopHeight() 63int KGlobal::getDesktopHeight()
64{ 64{
65 return QApplication::desktop()->height(); 65 return QApplication::desktop()->height();
66} 66}
67 67
68 68
69KIconLoader *KGlobal::iconLoader() 69KIconLoader *KGlobal::iconLoader()
70{ 70{
71 if ( !mIconLoader ) { 71 if ( !mIconLoader ) {
72 mIconLoader = new KIconLoader(); 72 mIconLoader = new KIconLoader();
73 } 73 }
74 74
75 return mIconLoader; 75 return mIconLoader;
76} 76}
77 77
78KStandardDirs *KGlobal::dirs() 78KStandardDirs *KGlobal::dirs()
79{ 79{
80 if ( !mDirs ) { 80 if ( !mDirs ) {
81 mDirs = new KStandardDirs(); 81 mDirs = new KStandardDirs();
82 } 82 }
83 83
84 return mDirs; 84 return mDirs;
85} 85}
86 86
87void KGlobal::setAppName( const QString &appName ) 87void KGlobal::setAppName( const QString &appName )
88{ 88{
89 mAppName = appName; 89 mAppName = appName;
90 90
91 mConfig = new KConfig( locateLocal("config", mAppName + "rc" ) ); 91 mConfig = new KConfig( locateLocal("config", mAppName + "rc" ) );
92} 92}
93 93
94//US 94//US
95QString KGlobal::getAppName() 95QString KGlobal::getAppName()
96{ 96{
97 return mAppName; 97 return mAppName;
98} 98}
99QString KGlobal::formatMessage ( QString mess, int maxlen ) 99QString KGlobal::formatMessage ( QString mess, int maxlen )
100{ 100{
101 //int maxlen = 80; 101 //int maxlen = 80;
102 if ( maxlen == 0 ) {
103 maxlen = QApplication::desktop()->width()/10;
104 if ( maxlen > 32 )
105 maxlen = (maxlen * 3) / 4;
106 if ( maxlen > 100 )
107 maxlen = 100;
108 }
102 int start = 0; 109 int start = 0;
103 int end = mess.length(); 110 int end = mess.length();
104 QString retVal = ""; 111 QString retVal = "";
105 int nl, space; 112 int nl, space;
106 while ( (end - start) > maxlen ) { 113 while ( (end - start) > maxlen ) {
107 nl = mess.find( "\n", start ); 114 nl = mess.find( "\n", start );
108 if ( nl > 0 && nl < start + maxlen ) { 115 if ( nl > 0 && nl < start + maxlen ) {
109 nl += 1; 116 nl += 1;
110 retVal += mess.mid( start, nl - start); 117 retVal += mess.mid( start, nl - start);
111 start = nl; 118 start = nl;
112 } else { 119 } else {
113 space = mess.findRev( " ", start + maxlen ); 120 space = mess.findRev( " ", start + maxlen );
114 if ( space < start ) { 121 if ( space < start ) {
115 retVal += mess.mid( start, maxlen) +"\n"; 122 retVal += mess.mid( start, maxlen) +"\n";
116 start += maxlen ; 123 start += maxlen ;
117 } else { 124 } else {
118 retVal += mess.mid( start, space - start ) +"\n"; 125 retVal += mess.mid( start, space - start ) +"\n";
119 start = space+ 1; 126 start = space+ 1;
120 } 127 }
121 } 128 }
122 } 129 }
123 retVal += mess.mid( start, end - start ); 130 retVal += mess.mid( start, end - start );
124 return retVal; 131 return retVal;
125} 132}
126int KGlobal::knumkeykonv( int k ) 133int KGlobal::knumkeykonv( int k )
127{ 134{
128 int key; 135 int key;
129switch( k ) { 136switch( k ) {
130 case Qt::Key_Q : 137 case Qt::Key_Q :
131 key = Qt::Key_1; 138 key = Qt::Key_1;
132 break; 139 break;
133 case Qt::Key_W : 140 case Qt::Key_W :
134 key = Qt::Key_2; 141 key = Qt::Key_2;
135 break; 142 break;
136 case Qt::Key_E : 143 case Qt::Key_E :
137 key = Qt::Key_3; 144 key = Qt::Key_3;
138 break; 145 break;
139 case Qt::Key_R : 146 case Qt::Key_R :
140 key = Qt::Key_4; 147 key = Qt::Key_4;
141 break; 148 break;
142 case Qt::Key_T : 149 case Qt::Key_T :
143 key = Qt::Key_5; 150 key = Qt::Key_5;
144 break; 151 break;
145 case Qt::Key_Z : 152 case Qt::Key_Z :
146 key = Qt::Key_6; 153 key = Qt::Key_6;
147 break; 154 break;
148 case Qt::Key_Y : 155 case Qt::Key_Y :
149 key = Qt::Key_6; 156 key = Qt::Key_6;
150 break; 157 break;
151 case Qt::Key_U : 158 case Qt::Key_U :
152 key = Qt::Key_7; 159 key = Qt::Key_7;
153 break; 160 break;
154 case Qt::Key_I : 161 case Qt::Key_I :
155 key = Qt::Key_8; 162 key = Qt::Key_8;
156 break; 163 break;
157 case Qt::Key_O : 164 case Qt::Key_O :
158 key = Qt::Key_9; 165 key = Qt::Key_9;
159 break; 166 break;
160 case Qt::Key_P : 167 case Qt::Key_P :
161 key = Qt::Key_0; 168 key = Qt::Key_0;
162 break; 169 break;
163 default: 170 default:
164 key = k; 171 key = k;
165 break; 172 break;
166 } // switch 173 } // switch
167 return key; 174 return key;
168} 175}