summaryrefslogtreecommitdiffabout
path: root/korganizer
Unidiff
Diffstat (limited to 'korganizer') (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/calendarview.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp
index f8d752a..2321087 100644
--- a/korganizer/calendarview.cpp
+++ b/korganizer/calendarview.cpp
@@ -2050,513 +2050,514 @@ void CalendarView::eventChanged(Event *event)
2050 //updateUnmanagedViews(); 2050 //updateUnmanagedViews();
2051} 2051}
2052 2052
2053void CalendarView::eventAdded(Event *event) 2053void CalendarView::eventAdded(Event *event)
2054{ 2054{
2055 changeEventDisplay(event,KOGlobals::EVENTADDED); 2055 changeEventDisplay(event,KOGlobals::EVENTADDED);
2056} 2056}
2057 2057
2058void CalendarView::eventToBeDeleted(Event *) 2058void CalendarView::eventToBeDeleted(Event *)
2059{ 2059{
2060 kdDebug() << "CalendarView::eventToBeDeleted(): to be implemented" << endl; 2060 kdDebug() << "CalendarView::eventToBeDeleted(): to be implemented" << endl;
2061} 2061}
2062 2062
2063void CalendarView::eventDeleted() 2063void CalendarView::eventDeleted()
2064{ 2064{
2065 changeEventDisplay(0,KOGlobals::EVENTDELETED); 2065 changeEventDisplay(0,KOGlobals::EVENTDELETED);
2066} 2066}
2067void CalendarView::changeTodoDisplay(Todo *which, int action) 2067void CalendarView::changeTodoDisplay(Todo *which, int action)
2068{ 2068{
2069 changeIncidenceDisplay((Incidence *)which, action); 2069 changeIncidenceDisplay((Incidence *)which, action);
2070 mDateNavigator->updateView(); //LR 2070 mDateNavigator->updateView(); //LR
2071 //mDialogManager->updateSearchDialog(); 2071 //mDialogManager->updateSearchDialog();
2072 2072
2073 if (which) { 2073 if (which) {
2074 mViewManager->updateWNview(); 2074 mViewManager->updateWNview();
2075 //mTodoList->updateView(); 2075 //mTodoList->updateView();
2076 } 2076 }
2077 2077
2078} 2078}
2079 2079
2080void CalendarView::changeIncidenceDisplay(Incidence *which, int action) 2080void CalendarView::changeIncidenceDisplay(Incidence *which, int action)
2081{ 2081{
2082 updateUnmanagedViews(); 2082 updateUnmanagedViews();
2083 //qDebug(" CalendarView::changeIncidenceDisplay++++++++++++++++++++++++++ %d %d ",which, action ); 2083 //qDebug(" CalendarView::changeIncidenceDisplay++++++++++++++++++++++++++ %d %d ",which, action );
2084 if ( action == KOGlobals::EVENTDELETED ) { //delete 2084 if ( action == KOGlobals::EVENTDELETED ) { //delete
2085 mCalendar->checkAlarmForIncidence( 0, true ); 2085 mCalendar->checkAlarmForIncidence( 0, true );
2086 if ( mEventViewerDialog ) 2086 if ( mEventViewerDialog )
2087 mEventViewerDialog->hide(); 2087 mEventViewerDialog->hide();
2088 } 2088 }
2089 else 2089 else
2090 mCalendar->checkAlarmForIncidence( which , false ); 2090 mCalendar->checkAlarmForIncidence( which , false );
2091} 2091}
2092 2092
2093// most of the changeEventDisplays() right now just call the view's 2093// most of the changeEventDisplays() right now just call the view's
2094// total update mode, but they SHOULD be recoded to be more refresh-efficient. 2094// total update mode, but they SHOULD be recoded to be more refresh-efficient.
2095void CalendarView::changeEventDisplay(Event *which, int action) 2095void CalendarView::changeEventDisplay(Event *which, int action)
2096{ 2096{
2097 // kdDebug() << "CalendarView::changeEventDisplay" << endl; 2097 // kdDebug() << "CalendarView::changeEventDisplay" << endl;
2098 changeIncidenceDisplay((Incidence *)which, action); 2098 changeIncidenceDisplay((Incidence *)which, action);
2099 mDateNavigator->updateView(); 2099 mDateNavigator->updateView();
2100 //mDialogManager->updateSearchDialog(); 2100 //mDialogManager->updateSearchDialog();
2101 2101
2102 if (which) { 2102 if (which) {
2103 // If there is an event view visible update the display 2103 // If there is an event view visible update the display
2104 mViewManager->currentView()->changeEventDisplay(which,action); 2104 mViewManager->currentView()->changeEventDisplay(which,action);
2105 // TODO: check, if update needed 2105 // TODO: check, if update needed
2106 // if (which->getTodoStatus()) { 2106 // if (which->getTodoStatus()) {
2107 mTodoList->updateView(); 2107 mTodoList->updateView();
2108 // } 2108 // }
2109 } else { 2109 } else {
2110 mViewManager->currentView()->updateView(); 2110 mViewManager->currentView()->updateView();
2111 } 2111 }
2112} 2112}
2113 2113
2114 2114
2115void CalendarView::updateTodoViews() 2115void CalendarView::updateTodoViews()
2116{ 2116{
2117 2117
2118 mTodoList->updateView(); 2118 mTodoList->updateView();
2119 mViewManager->currentView()->updateView(); 2119 mViewManager->currentView()->updateView();
2120 2120
2121} 2121}
2122 2122
2123 2123
2124void CalendarView::updateView(const QDate &start, const QDate &end) 2124void CalendarView::updateView(const QDate &start, const QDate &end)
2125{ 2125{
2126 mTodoList->updateView(); 2126 mTodoList->updateView();
2127 mViewManager->updateView(start, end); 2127 mViewManager->updateView(start, end);
2128 //mDateNavigator->updateView(); 2128 //mDateNavigator->updateView();
2129} 2129}
2130 2130
2131void CalendarView::updateView() 2131void CalendarView::updateView()
2132{ 2132{
2133 DateList tmpList = mNavigator->selectedDates(); 2133 DateList tmpList = mNavigator->selectedDates();
2134 2134
2135 // We assume that the navigator only selects consecutive days. 2135 // We assume that the navigator only selects consecutive days.
2136 updateView( tmpList.first(), tmpList.last() ); 2136 updateView( tmpList.first(), tmpList.last() );
2137} 2137}
2138 2138
2139void CalendarView::updateUnmanagedViews() 2139void CalendarView::updateUnmanagedViews()
2140{ 2140{
2141 mDateNavigator->updateDayMatrix(); 2141 mDateNavigator->updateDayMatrix();
2142} 2142}
2143 2143
2144int CalendarView::msgItemDelete() 2144int CalendarView::msgItemDelete()
2145{ 2145{
2146 return KMessageBox::warningContinueCancel(this, 2146 return KMessageBox::warningContinueCancel(this,
2147 i18n("This item will be\npermanently deleted."), 2147 i18n("This item will be\npermanently deleted."),
2148 i18n("KO/Pi Confirmation"),i18n("Delete")); 2148 i18n("KO/Pi Confirmation"),i18n("Delete"));
2149} 2149}
2150 2150
2151 2151
2152void CalendarView::edit_cut() 2152void CalendarView::edit_cut()
2153{ 2153{
2154 Event *anEvent=0; 2154 Event *anEvent=0;
2155 2155
2156 Incidence *incidence = mViewManager->currentView()->selectedIncidences().first(); 2156 Incidence *incidence = mViewManager->currentView()->selectedIncidences().first();
2157 2157
2158 if (mViewManager->currentView()->isEventView()) { 2158 if (mViewManager->currentView()->isEventView()) {
2159 if ( incidence && incidence->type() == "Event" ) { 2159 if ( incidence && incidence->type() == "Event" ) {
2160 anEvent = static_cast<Event *>(incidence); 2160 anEvent = static_cast<Event *>(incidence);
2161 } 2161 }
2162 } 2162 }
2163 2163
2164 if (!anEvent) { 2164 if (!anEvent) {
2165 KNotifyClient::beep(); 2165 KNotifyClient::beep();
2166 return; 2166 return;
2167 } 2167 }
2168 DndFactory factory( mCalendar ); 2168 DndFactory factory( mCalendar );
2169 factory.cutEvent(anEvent); 2169 factory.cutEvent(anEvent);
2170 changeEventDisplay(anEvent, KOGlobals::EVENTDELETED); 2170 changeEventDisplay(anEvent, KOGlobals::EVENTDELETED);
2171} 2171}
2172 2172
2173void CalendarView::edit_copy() 2173void CalendarView::edit_copy()
2174{ 2174{
2175 Event *anEvent=0; 2175 Event *anEvent=0;
2176 2176
2177 Incidence *incidence = mViewManager->currentView()->selectedIncidences().first(); 2177 Incidence *incidence = mViewManager->currentView()->selectedIncidences().first();
2178 2178
2179 if (mViewManager->currentView()->isEventView()) { 2179 if (mViewManager->currentView()->isEventView()) {
2180 if ( incidence && incidence->type() == "Event" ) { 2180 if ( incidence && incidence->type() == "Event" ) {
2181 anEvent = static_cast<Event *>(incidence); 2181 anEvent = static_cast<Event *>(incidence);
2182 } 2182 }
2183 } 2183 }
2184 2184
2185 if (!anEvent) { 2185 if (!anEvent) {
2186 KNotifyClient::beep(); 2186 KNotifyClient::beep();
2187 return; 2187 return;
2188 } 2188 }
2189 DndFactory factory( mCalendar ); 2189 DndFactory factory( mCalendar );
2190 factory.copyEvent(anEvent); 2190 factory.copyEvent(anEvent);
2191} 2191}
2192 2192
2193void CalendarView::edit_paste() 2193void CalendarView::edit_paste()
2194{ 2194{
2195 QDate date = mNavigator->selectedDates().first(); 2195 QDate date = mNavigator->selectedDates().first();
2196 2196
2197 DndFactory factory( mCalendar ); 2197 DndFactory factory( mCalendar );
2198 Event *pastedEvent = factory.pasteEvent( date ); 2198 Event *pastedEvent = factory.pasteEvent( date );
2199 2199
2200 changeEventDisplay( pastedEvent, KOGlobals::EVENTADDED ); 2200 changeEventDisplay( pastedEvent, KOGlobals::EVENTADDED );
2201} 2201}
2202 2202
2203void CalendarView::edit_options() 2203void CalendarView::edit_options()
2204{ 2204{
2205 mDialogManager->showOptionsDialog(); 2205 mDialogManager->showOptionsDialog();
2206 //writeSettings(); 2206 //writeSettings();
2207} 2207}
2208 2208
2209void CalendarView::slotSelectPickerDate( QDate d) 2209void CalendarView::slotSelectPickerDate( QDate d)
2210{ 2210{
2211 mDateFrame->hide(); 2211 mDateFrame->hide();
2212 if ( mDatePickerMode == 1 ) { 2212 if ( mDatePickerMode == 1 ) {
2213 mNavigator->slotDaySelect( d ); 2213 mNavigator->slotDaySelect( d );
2214 } else if ( mDatePickerMode == 2 ) { 2214 } else if ( mDatePickerMode == 2 ) {
2215 if ( mMoveIncidence->type() == "Todo" ) { 2215 if ( mMoveIncidence->type() == "Todo" ) {
2216 Todo * to = (Todo *) mMoveIncidence; 2216 Todo * to = (Todo *) mMoveIncidence;
2217 QTime tim; 2217 QTime tim;
2218 if ( to->hasDueDate() ) 2218 if ( to->hasDueDate() )
2219 tim = to->dtDue().time(); 2219 tim = to->dtDue().time();
2220 else { 2220 else {
2221 tim = QTime ( 0,0,0 ); 2221 tim = QTime ( 0,0,0 );
2222 to->setFloats( true ); 2222 to->setFloats( true );
2223 to->setHasDueDate( true ); 2223 to->setHasDueDate( true );
2224 } 2224 }
2225 QDateTime dt ( d,tim ); 2225 QDateTime dt ( d,tim );
2226 to->setDtDue( dt ); 2226 to->setDtDue( dt );
2227 todoChanged( to ); 2227 todoChanged( to );
2228 } else { 2228 } else {
2229 QTime tim = mMoveIncidence->dtStart().time(); 2229 QTime tim = mMoveIncidence->dtStart().time();
2230 int secs = mMoveIncidence->dtStart().secsTo( mMoveIncidence->dtEnd()); 2230 int secs = mMoveIncidence->dtStart().secsTo( mMoveIncidence->dtEnd());
2231 QDateTime dt ( d,tim ); 2231 QDateTime dt ( d,tim );
2232 mMoveIncidence->setDtStart( dt ); 2232 mMoveIncidence->setDtStart( dt );
2233 ((Event*)mMoveIncidence)->setDtEnd( dt.addSecs( secs ) ); 2233 ((Event*)mMoveIncidence)->setDtEnd( dt.addSecs( secs ) );
2234 changeEventDisplay((Event*)mMoveIncidence, KOGlobals::EVENTEDITED); 2234 changeEventDisplay((Event*)mMoveIncidence, KOGlobals::EVENTEDITED);
2235 } 2235 }
2236 2236
2237 mMoveIncidence->setRevision( mMoveIncidence->revision()+1 ); 2237 mMoveIncidence->setRevision( mMoveIncidence->revision()+1 );
2238 } 2238 }
2239} 2239}
2240 2240
2241void CalendarView::removeCategories() 2241void CalendarView::removeCategories()
2242{ 2242{
2243 QPtrList<Incidence> incList = mCalendar->rawIncidences(); 2243 QPtrList<Incidence> incList = mCalendar->rawIncidences();
2244 QStringList catList = KOPrefs::instance()->mCustomCategories; 2244 QStringList catList = KOPrefs::instance()->mCustomCategories;
2245 QStringList catIncList; 2245 QStringList catIncList;
2246 QStringList newCatList; 2246 QStringList newCatList;
2247 Incidence* inc = incList.first(); 2247 Incidence* inc = incList.first();
2248 int i; 2248 int i;
2249 int count = 0; 2249 int count = 0;
2250 while ( inc ) { 2250 while ( inc ) {
2251 newCatList.clear(); 2251 newCatList.clear();
2252 catIncList = inc->categories() ; 2252 catIncList = inc->categories() ;
2253 for( i = 0; i< catIncList.count(); ++i ) { 2253 for( i = 0; i< catIncList.count(); ++i ) {
2254 if ( catList.contains (catIncList[i])) 2254 if ( catList.contains (catIncList[i]))
2255 newCatList.append( catIncList[i] ); 2255 newCatList.append( catIncList[i] );
2256 } 2256 }
2257 newCatList.sort(); 2257 newCatList.sort();
2258 inc->setCategories( newCatList.join(",") ); 2258 inc->setCategories( newCatList.join(",") );
2259 inc = incList.next(); 2259 inc = incList.next();
2260 } 2260 }
2261} 2261}
2262 2262
2263int CalendarView::addCategories() 2263int CalendarView::addCategories()
2264{ 2264{
2265 QPtrList<Incidence> incList = mCalendar->rawIncidences(); 2265 QPtrList<Incidence> incList = mCalendar->rawIncidences();
2266 QStringList catList = KOPrefs::instance()->mCustomCategories; 2266 QStringList catList = KOPrefs::instance()->mCustomCategories;
2267 QStringList catIncList; 2267 QStringList catIncList;
2268 Incidence* inc = incList.first(); 2268 Incidence* inc = incList.first();
2269 int i; 2269 int i;
2270 int count = 0; 2270 int count = 0;
2271 while ( inc ) { 2271 while ( inc ) {
2272 catIncList = inc->categories() ; 2272 catIncList = inc->categories() ;
2273 for( i = 0; i< catIncList.count(); ++i ) { 2273 for( i = 0; i< catIncList.count(); ++i ) {
2274 if ( !catList.contains (catIncList[i])) { 2274 if ( !catList.contains (catIncList[i])) {
2275 catList.append( catIncList[i] ); 2275 catList.append( catIncList[i] );
2276 //qDebug("add cat %s ", catIncList[i].latin1()); 2276 //qDebug("add cat %s ", catIncList[i].latin1());
2277 ++count; 2277 ++count;
2278 } 2278 }
2279 } 2279 }
2280 inc = incList.next(); 2280 inc = incList.next();
2281 } 2281 }
2282 catList.sort(); 2282 catList.sort();
2283 KOPrefs::instance()->mCustomCategories = catList; 2283 KOPrefs::instance()->mCustomCategories = catList;
2284 return count; 2284 return count;
2285} 2285}
2286 2286
2287void CalendarView::manageCategories() 2287void CalendarView::manageCategories()
2288{ 2288{
2289 KOCatPrefs* cp = new KOCatPrefs(); 2289 KOCatPrefs* cp = new KOCatPrefs();
2290 cp->show(); 2290 cp->show();
2291 int w =cp->sizeHint().width() ; 2291 int w =cp->sizeHint().width() ;
2292 int h = cp->sizeHint().height() ; 2292 int h = cp->sizeHint().height() ;
2293 int dw = QApplication::desktop()->width(); 2293 int dw = QApplication::desktop()->width();
2294 int dh = QApplication::desktop()->height(); 2294 int dh = QApplication::desktop()->height();
2295 cp->setGeometry( (dw-w)/2, (dh - h )/2 ,w,h ); 2295 cp->setGeometry( (dw-w)/2, (dh - h )/2 ,w,h );
2296 if ( !cp->exec() ) { 2296 if ( !cp->exec() ) {
2297 delete cp; 2297 delete cp;
2298 return; 2298 return;
2299 } 2299 }
2300 int count = 0; 2300 int count = 0;
2301 if ( cp->addCat() ) { 2301 if ( cp->addCat() ) {
2302 count = addCategories(); 2302 count = addCategories();
2303 if ( count ) { 2303 if ( count ) {
2304 topLevelWidget()->setCaption(QString::number( count )+ i18n(" Categories added to list! ")); 2304 topLevelWidget()->setCaption(QString::number( count )+ i18n(" Categories added to list! "));
2305 writeSettings(); 2305 writeSettings();
2306 } 2306 } else
2307 topLevelWidget()->setCaption(QString::number( 0 )+ i18n(" Categories added to list! "));
2307 } else { 2308 } else {
2308 removeCategories(); 2309 removeCategories();
2309 updateView(); 2310 updateView();
2310 } 2311 }
2311 delete cp; 2312 delete cp;
2312} 2313}
2313 2314
2314void CalendarView::beamIncidence(Incidence * Inc) 2315void CalendarView::beamIncidence(Incidence * Inc)
2315{ 2316{
2316 QPtrList<Incidence> delSel ; 2317 QPtrList<Incidence> delSel ;
2317 delSel.append(Inc); 2318 delSel.append(Inc);
2318 beamIncidenceList( delSel ); 2319 beamIncidenceList( delSel );
2319} 2320}
2320void CalendarView::beamCalendar() 2321void CalendarView::beamCalendar()
2321{ 2322{
2322 QPtrList<Incidence> delSel = mCalendar->rawIncidences(); 2323 QPtrList<Incidence> delSel = mCalendar->rawIncidences();
2323 //qDebug("beamCalendar() "); 2324 //qDebug("beamCalendar() ");
2324 beamIncidenceList( delSel ); 2325 beamIncidenceList( delSel );
2325} 2326}
2326void CalendarView::beamFilteredCalendar() 2327void CalendarView::beamFilteredCalendar()
2327{ 2328{
2328 QPtrList<Incidence> delSel = mCalendar->incidences(); 2329 QPtrList<Incidence> delSel = mCalendar->incidences();
2329 //qDebug("beamFilteredCalendar() "); 2330 //qDebug("beamFilteredCalendar() ");
2330 beamIncidenceList( delSel ); 2331 beamIncidenceList( delSel );
2331} 2332}
2332void CalendarView::beamIncidenceList(QPtrList<Incidence> delSel ) 2333void CalendarView::beamIncidenceList(QPtrList<Incidence> delSel )
2333{ 2334{
2334 if ( beamDialog->exec () == QDialog::Rejected ) 2335 if ( beamDialog->exec () == QDialog::Rejected )
2335 return; 2336 return;
2336#ifdef DESKTOP_VERSION 2337#ifdef DESKTOP_VERSION
2337 QString fn = locateLocal( "tmp", "kopibeamfile" ); 2338 QString fn = locateLocal( "tmp", "kopibeamfile" );
2338#else 2339#else
2339 QString fn = "/tmp/kopibeamfile"; 2340 QString fn = "/tmp/kopibeamfile";
2340#endif 2341#endif
2341 QString mes; 2342 QString mes;
2342 bool createbup = true; 2343 bool createbup = true;
2343 if ( createbup ) { 2344 if ( createbup ) {
2344 QString description = "\n"; 2345 QString description = "\n";
2345 CalendarLocal* cal = new CalendarLocal(); 2346 CalendarLocal* cal = new CalendarLocal();
2346 if ( beamDialog->beamLocal() ) 2347 if ( beamDialog->beamLocal() )
2347 cal->setLocalTime(); 2348 cal->setLocalTime();
2348 else 2349 else
2349 cal->setTimeZoneId(KPimGlobalPrefs::instance()->mTimeZoneId); 2350 cal->setTimeZoneId(KPimGlobalPrefs::instance()->mTimeZoneId);
2350 Incidence *incidence = delSel.first(); 2351 Incidence *incidence = delSel.first();
2351 bool addText = false; 2352 bool addText = false;
2352 if ( delSel.count() < 10 ) 2353 if ( delSel.count() < 10 )
2353 addText = true; 2354 addText = true;
2354 else { 2355 else {
2355 description.sprintf(i18n(" %d items?"),delSel.count() ); 2356 description.sprintf(i18n(" %d items?"),delSel.count() );
2356 } 2357 }
2357 while ( incidence ) { 2358 while ( incidence ) {
2358 Incidence *in = incidence->clone(); 2359 Incidence *in = incidence->clone();
2359 if ( ! in->summary().isEmpty() ) { 2360 if ( ! in->summary().isEmpty() ) {
2360 in->setDescription(""); 2361 in->setDescription("");
2361 } else { 2362 } else {
2362 in->setSummary( in->description().left(20)); 2363 in->setSummary( in->description().left(20));
2363 in->setDescription(""); 2364 in->setDescription("");
2364 } 2365 }
2365 if ( addText ) 2366 if ( addText )
2366 description += in->summary() + "\n"; 2367 description += in->summary() + "\n";
2367 cal->addIncidence( in ); 2368 cal->addIncidence( in );
2368 incidence = delSel.next(); 2369 incidence = delSel.next();
2369 } 2370 }
2370 if ( beamDialog->beamVcal() ) { 2371 if ( beamDialog->beamVcal() ) {
2371 fn += ".vcs"; 2372 fn += ".vcs";
2372 FileStorage storage( cal, fn, new VCalFormat ); 2373 FileStorage storage( cal, fn, new VCalFormat );
2373 storage.save(); 2374 storage.save();
2374 } else { 2375 } else {
2375 fn += ".ics"; 2376 fn += ".ics";
2376 FileStorage storage( cal, fn, new ICalFormat( ) ); 2377 FileStorage storage( cal, fn, new ICalFormat( ) );
2377 storage.save(); 2378 storage.save();
2378 } 2379 }
2379 delete cal; 2380 delete cal;
2380 mes = i18n("KO/Pi: Ready for beaming"); 2381 mes = i18n("KO/Pi: Ready for beaming");
2381 topLevelWidget()->setCaption(mes); 2382 topLevelWidget()->setCaption(mes);
2382 KApplication::convert2latin1( fn ); 2383 KApplication::convert2latin1( fn );
2383#ifndef DESKTOP_VERSION 2384#ifndef DESKTOP_VERSION
2384 Ir *ir = new Ir( this ); 2385 Ir *ir = new Ir( this );
2385 connect( ir, SIGNAL( done( Ir * ) ), this, SLOT( beamDone( Ir * ) ) ); 2386 connect( ir, SIGNAL( done( Ir * ) ), this, SLOT( beamDone( Ir * ) ) );
2386 ir->send( fn, description, "text/x-vCalendar" ); 2387 ir->send( fn, description, "text/x-vCalendar" );
2387#endif 2388#endif
2388 } 2389 }
2389} 2390}
2390void CalendarView::beamDone( Ir *ir ) 2391void CalendarView::beamDone( Ir *ir )
2391{ 2392{
2392#ifndef DESKTOP_VERSION 2393#ifndef DESKTOP_VERSION
2393 delete ir; 2394 delete ir;
2394#endif 2395#endif
2395 topLevelWidget()->setCaption( i18n("KO/Pi: Beaming done.") ); 2396 topLevelWidget()->setCaption( i18n("KO/Pi: Beaming done.") );
2396 topLevelWidget()->raise(); 2397 topLevelWidget()->raise();
2397} 2398}
2398 2399
2399void CalendarView::moveIncidence(Incidence * inc ) 2400void CalendarView::moveIncidence(Incidence * inc )
2400{ 2401{
2401 if ( !inc ) return; 2402 if ( !inc ) return;
2402 // qDebug("showDatePickerForIncidence( ) "); 2403 // qDebug("showDatePickerForIncidence( ) ");
2403 if ( mDateFrame->isVisible() ) 2404 if ( mDateFrame->isVisible() )
2404 mDateFrame->hide(); 2405 mDateFrame->hide();
2405 else { 2406 else {
2406 int w =mDatePicker->sizeHint().width()+2*mDateFrame->lineWidth() ; 2407 int w =mDatePicker->sizeHint().width()+2*mDateFrame->lineWidth() ;
2407 int h = mDatePicker->sizeHint().height()+2*mDateFrame->lineWidth() ; 2408 int h = mDatePicker->sizeHint().height()+2*mDateFrame->lineWidth() ;
2408 int dw = QApplication::desktop()->width(); 2409 int dw = QApplication::desktop()->width();
2409 int dh = QApplication::desktop()->height(); 2410 int dh = QApplication::desktop()->height();
2410 mDateFrame->setGeometry( (dw-w)/2, (dh - h )/2 ,w,h ); 2411 mDateFrame->setGeometry( (dw-w)/2, (dh - h )/2 ,w,h );
2411 mDateFrame->show(); 2412 mDateFrame->show();
2412 } 2413 }
2413 mDatePickerMode = 2; 2414 mDatePickerMode = 2;
2414 mMoveIncidence = inc ; 2415 mMoveIncidence = inc ;
2415 QDate da; 2416 QDate da;
2416 if ( mMoveIncidence->type() == "Todo" ) { 2417 if ( mMoveIncidence->type() == "Todo" ) {
2417 Todo * to = (Todo *) mMoveIncidence; 2418 Todo * to = (Todo *) mMoveIncidence;
2418 if ( to->hasDueDate() ) 2419 if ( to->hasDueDate() )
2419 da = to->dtDue().date(); 2420 da = to->dtDue().date();
2420 else 2421 else
2421 da = QDate::currentDate(); 2422 da = QDate::currentDate();
2422 } else { 2423 } else {
2423 da = mMoveIncidence->dtStart().date(); 2424 da = mMoveIncidence->dtStart().date();
2424 } 2425 }
2425 mDatePicker->setDate( da ); 2426 mDatePicker->setDate( da );
2426} 2427}
2427void CalendarView::showDatePicker( ) 2428void CalendarView::showDatePicker( )
2428{ 2429{
2429 //qDebug("CalendarView::showDatePicker( ) "); 2430 //qDebug("CalendarView::showDatePicker( ) ");
2430 if ( mDateFrame->isVisible() ) 2431 if ( mDateFrame->isVisible() )
2431 mDateFrame->hide(); 2432 mDateFrame->hide();
2432 else { 2433 else {
2433 int w =mDatePicker->sizeHint().width() ; 2434 int w =mDatePicker->sizeHint().width() ;
2434 int h = mDatePicker->sizeHint().height() ; 2435 int h = mDatePicker->sizeHint().height() ;
2435 int dw = QApplication::desktop()->width(); 2436 int dw = QApplication::desktop()->width();
2436 int dh = QApplication::desktop()->height(); 2437 int dh = QApplication::desktop()->height();
2437 mDateFrame->setGeometry( (dw-w)/2, (dh - h )/2 ,w,h ); 2438 mDateFrame->setGeometry( (dw-w)/2, (dh - h )/2 ,w,h );
2438 mDateFrame->show(); 2439 mDateFrame->show();
2439 } 2440 }
2440 mDatePickerMode = 1; 2441 mDatePickerMode = 1;
2441 mDatePicker->setDate( mNavigator->selectedDates().first() ); 2442 mDatePicker->setDate( mNavigator->selectedDates().first() );
2442} 2443}
2443 2444
2444void CalendarView::showEventEditor() 2445void CalendarView::showEventEditor()
2445{ 2446{
2446#ifdef DESKTOP_VERSION 2447#ifdef DESKTOP_VERSION
2447 mEventEditor->show(); 2448 mEventEditor->show();
2448#else 2449#else
2449 mEventEditor->showMaximized(); 2450 mEventEditor->showMaximized();
2450#endif 2451#endif
2451} 2452}
2452void CalendarView::showTodoEditor() 2453void CalendarView::showTodoEditor()
2453{ 2454{
2454#ifdef DESKTOP_VERSION 2455#ifdef DESKTOP_VERSION
2455 mTodoEditor->show(); 2456 mTodoEditor->show();
2456#else 2457#else
2457 mTodoEditor->showMaximized(); 2458 mTodoEditor->showMaximized();
2458#endif 2459#endif
2459} 2460}
2460 2461
2461void CalendarView::cloneIncidence() 2462void CalendarView::cloneIncidence()
2462{ 2463{
2463 Incidence *incidence = currentSelection(); 2464 Incidence *incidence = currentSelection();
2464 if ( !incidence ) incidence = mTodoList->selectedIncidences().first(); 2465 if ( !incidence ) incidence = mTodoList->selectedIncidences().first();
2465 if ( incidence ) { 2466 if ( incidence ) {
2466 cloneIncidence(incidence); 2467 cloneIncidence(incidence);
2467 } 2468 }
2468} 2469}
2469void CalendarView::moveIncidence() 2470void CalendarView::moveIncidence()
2470{ 2471{
2471 Incidence *incidence = currentSelection(); 2472 Incidence *incidence = currentSelection();
2472 if ( !incidence ) incidence = mTodoList->selectedIncidences().first(); 2473 if ( !incidence ) incidence = mTodoList->selectedIncidences().first();
2473 if ( incidence ) { 2474 if ( incidence ) {
2474 moveIncidence(incidence); 2475 moveIncidence(incidence);
2475 } 2476 }
2476} 2477}
2477void CalendarView::beamIncidence() 2478void CalendarView::beamIncidence()
2478{ 2479{
2479 Incidence *incidence = currentSelection(); 2480 Incidence *incidence = currentSelection();
2480 if ( !incidence ) incidence = mTodoList->selectedIncidences().first(); 2481 if ( !incidence ) incidence = mTodoList->selectedIncidences().first();
2481 if ( incidence ) { 2482 if ( incidence ) {
2482 beamIncidence(incidence); 2483 beamIncidence(incidence);
2483 } 2484 }
2484} 2485}
2485void CalendarView::toggleCancelIncidence() 2486void CalendarView::toggleCancelIncidence()
2486{ 2487{
2487 Incidence *incidence = currentSelection(); 2488 Incidence *incidence = currentSelection();
2488 if ( !incidence ) incidence = mTodoList->selectedIncidences().first(); 2489 if ( !incidence ) incidence = mTodoList->selectedIncidences().first();
2489 if ( incidence ) { 2490 if ( incidence ) {
2490 cancelIncidence(incidence); 2491 cancelIncidence(incidence);
2491 } 2492 }
2492} 2493}
2493 2494
2494 2495
2495void CalendarView::cancelIncidence(Incidence * inc ) 2496void CalendarView::cancelIncidence(Incidence * inc )
2496{ 2497{
2497 inc->setCancelled( ! inc->cancelled() ); 2498 inc->setCancelled( ! inc->cancelled() );
2498 changeIncidenceDisplay( inc,KOGlobals::EVENTEDITED ); 2499 changeIncidenceDisplay( inc,KOGlobals::EVENTEDITED );
2499 updateView(); 2500 updateView();
2500} 2501}
2501void CalendarView::cloneIncidence(Incidence * orgInc ) 2502void CalendarView::cloneIncidence(Incidence * orgInc )
2502{ 2503{
2503 Incidence * newInc = orgInc->clone(); 2504 Incidence * newInc = orgInc->clone();
2504 newInc->recreate(); 2505 newInc->recreate();
2505 2506
2506 if ( newInc->type() == "Todo" ) { 2507 if ( newInc->type() == "Todo" ) {
2507 Todo* t = (Todo*) newInc; 2508 Todo* t = (Todo*) newInc;
2508 mTodoEditor->editTodo( t ); 2509 mTodoEditor->editTodo( t );
2509 showTodoEditor(); 2510 showTodoEditor();
2510 if ( mTodoEditor->exec() ) { 2511 if ( mTodoEditor->exec() ) {
2511 mCalendar->addTodo( t ); 2512 mCalendar->addTodo( t );
2512 updateView(); 2513 updateView();
2513 } else { 2514 } else {
2514 delete t; 2515 delete t;
2515 } 2516 }
2516 } 2517 }
2517 else { 2518 else {
2518 Event* e = (Event*) newInc; 2519 Event* e = (Event*) newInc;
2519 mEventEditor->editEvent( e ); 2520 mEventEditor->editEvent( e );
2520 showEventEditor(); 2521 showEventEditor();
2521 if ( mEventEditor->exec() ) { 2522 if ( mEventEditor->exec() ) {
2522 mCalendar->addEvent( e ); 2523 mCalendar->addEvent( e );
2523 updateView(); 2524 updateView();
2524 } else { 2525 } else {
2525 delete e; 2526 delete e;
2526 } 2527 }
2527 } 2528 }
2528} 2529}
2529 2530
2530void CalendarView::newEvent() 2531void CalendarView::newEvent()
2531{ 2532{
2532 // TODO: Replace this code by a common eventDurationHint of KOBaseView. 2533 // TODO: Replace this code by a common eventDurationHint of KOBaseView.
2533 KOAgendaView *aView = mViewManager->agendaView(); 2534 KOAgendaView *aView = mViewManager->agendaView();
2534 if (aView) { 2535 if (aView) {
2535 if (aView->selectionStart().isValid()) { 2536 if (aView->selectionStart().isValid()) {
2536 if (aView->selectedIsAllDay()) { 2537 if (aView->selectedIsAllDay()) {
2537 newEvent(aView->selectionStart(),aView->selectionEnd(),true); 2538 newEvent(aView->selectionStart(),aView->selectionEnd(),true);
2538 } else { 2539 } else {
2539 newEvent(aView->selectionStart(),aView->selectionEnd()); 2540 newEvent(aView->selectionStart(),aView->selectionEnd());
2540 } 2541 }
2541 return; 2542 return;
2542 } 2543 }
2543 } 2544 }
2544 2545
2545 QDate date = mNavigator->selectedDates().first(); 2546 QDate date = mNavigator->selectedDates().first();
2546 QDateTime current = QDateTime::currentDateTime(); 2547 QDateTime current = QDateTime::currentDateTime();
2547 if ( date <= current.date() ) { 2548 if ( date <= current.date() ) {
2548 int hour = current.time().hour() +1; 2549 int hour = current.time().hour() +1;
2549 newEvent( QDateTime( current.date(), QTime( hour, 0, 0 ) ), 2550 newEvent( QDateTime( current.date(), QTime( hour, 0, 0 ) ),
2550 QDateTime( current.date(), QTime( hour+ KOPrefs::instance()->mDefaultDuration, 0, 0 ) ) ); 2551 QDateTime( current.date(), QTime( hour+ KOPrefs::instance()->mDefaultDuration, 0, 0 ) ) );
2551 } else 2552 } else
2552 newEvent( QDateTime( date, QTime( KOPrefs::instance()->mStartTime, 0, 0 ) ), 2553 newEvent( QDateTime( date, QTime( KOPrefs::instance()->mStartTime, 0, 0 ) ),
2553 QDateTime( date, QTime( KOPrefs::instance()->mStartTime + 2554 QDateTime( date, QTime( KOPrefs::instance()->mStartTime +
2554 KOPrefs::instance()->mDefaultDuration, 0, 0 ) ) ); 2555 KOPrefs::instance()->mDefaultDuration, 0, 0 ) ) );
2555} 2556}
2556 2557
2557void CalendarView::newEvent(QDateTime fh) 2558void CalendarView::newEvent(QDateTime fh)
2558{ 2559{
2559 newEvent(fh, 2560 newEvent(fh,
2560 QDateTime(fh.addSecs(3600*KOPrefs::instance()->mDefaultDuration))); 2561 QDateTime(fh.addSecs(3600*KOPrefs::instance()->mDefaultDuration)));
2561} 2562}
2562 2563