summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/koagendaview.cpp26
1 files changed, 14 insertions, 12 deletions
diff --git a/korganizer/koagendaview.cpp b/korganizer/koagendaview.cpp
index d7ea4d4..e029fdb 100644
--- a/korganizer/koagendaview.cpp
+++ b/korganizer/koagendaview.cpp
@@ -254,58 +254,55 @@ void TimeLabels::paintEvent(QPaintEvent*)
254} 254}
255 255
256//////////////////////////////////////////////////////////////////////////// 256////////////////////////////////////////////////////////////////////////////
257 257
258EventIndicator::EventIndicator(Location loc,QWidget *parent,const char *name) 258EventIndicator::EventIndicator(Location loc,QWidget *parent,const char *name)
259 : QFrame(parent,name) 259 : QFrame(parent,name)
260{ 260{
261 mColumns = 1; 261 mColumns = 1;
262 mTopBox = 0; 262 mTopBox = 0;
263 mLocation = loc; 263 mLocation = loc;
264 mTopLayout = 0; 264 mTopLayout = 0;
265 mPaintWidget = 0; 265 mPaintWidget = 0;
266 mXOffset = 0; 266 mXOffset = 0;
267 if (mLocation == Top) mPixmap = SmallIcon("1uparrow"); 267 if (mLocation == Top) mPixmap = SmallIcon("1uparrow");
268 else mPixmap = SmallIcon("1downarrow"); 268 else mPixmap = SmallIcon("1downarrow");
269 mEnabled.resize(mColumns); 269 mEnabled.resize(mColumns);
270 if (mLocation == Top) 270 setMinimumHeight(mPixmap.height());
271 setMaximumHeight(0);
272 else
273 setMinimumHeight(mPixmap.height());
274} 271}
275 272
276EventIndicator::~EventIndicator() 273EventIndicator::~EventIndicator()
277{ 274{
278} 275}
279 276
280void EventIndicator::drawContents(QPainter *p) 277void EventIndicator::drawContents(QPainter *p)
281{ 278{
282 279
283 // kdDebug() << "======== top: " << contentsRect().top() << " bottom " << // contentsRect().bottom() << " left " << contentsRect().left() << " right " << contentsRect().right() << endl; 280 // kdDebug() << "======== top: " << contentsRect().top() << " bottom " << // contentsRect().bottom() << " left " << contentsRect().left() << " right " << contentsRect().right() << endl;
284 KDGanttSplitterHandle* han = 0; 281 KDGanttSplitterHandle* han = 0;
285 if ( mPaintWidget ) 282 if ( mPaintWidget )
286 han = mPaintWidget->firstHandle(); 283 han = mPaintWidget->firstHandle();
287 if ( ! han ) { 284 if ( ! han ) {
288 int i; 285 int i;
289 for(i=0;i<mColumns;++i) { 286 for(i=0;i<mColumns;++i) {
290 if (mEnabled[i]) { 287 if (mEnabled[i]) {
291 int cellWidth = contentsRect().right()/mColumns; 288 int cellWidth = contentsRect().right()/mColumns;
292 int xOffset = KOGlobals::self()->reverseLayout() ? 289 int xOffset = KOGlobals::self()->reverseLayout() ?
293 (mColumns - 1 - i)*cellWidth + cellWidth/2 -mPixmap.width()/2 : 290 (mColumns - 1 - i)*cellWidth + (cellWidth -mPixmap.width())/2 :
294 i*cellWidth + cellWidth/2 -mPixmap.width()/2; 291 i*cellWidth + (cellWidth -mPixmap.width()) /2;
295 p->drawPixmap(QPoint(xOffset,0),mPixmap); 292 p->drawPixmap(QPoint(1+xOffset,0),mPixmap);
296 } 293 }
297 } 294 }
298 } else { 295 } else {
299 han->repaint(); 296 han->repaint();
300 //mPaintWidget->setBackgroundColor( red ); 297 //mPaintWidget->setBackgroundColor( red );
301 298
302 QPainter pa( han ); 299 QPainter pa( han );
303 int i; 300 int i;
304 bool setColor = false; 301 bool setColor = false;
305 for(i=0;i<mColumns;++i) { 302 for(i=0;i<mColumns;++i) {
306 if (mEnabled[i]) { 303 if (mEnabled[i]) {
307 setColor = true; 304 setColor = true;
308 305
309 int cellWidth = contentsRect().right()/mColumns; 306 int cellWidth = contentsRect().right()/mColumns;
310 int xOffset = KOGlobals::self()->reverseLayout() ? 307 int xOffset = KOGlobals::self()->reverseLayout() ?
311 (mColumns - 1 - i)*cellWidth + cellWidth/2 -mPixmap.width()/2 : 308 (mColumns - 1 - i)*cellWidth + cellWidth/2 -mPixmap.width()/2 :
@@ -315,32 +312,34 @@ void EventIndicator::drawContents(QPainter *p)
315 312
316 } 313 }
317 314
318 } 315 }
319 pa.end(); 316 pa.end();
320 317
321 } 318 }
322} 319}
323 320
324void EventIndicator::setXOffset( int x ) 321void EventIndicator::setXOffset( int x )
325{ 322{
326 mXOffset = x; 323 mXOffset = x;
327} 324}
328void EventIndicator::setPaintWidget( KDGanttMinimizeSplitter * w ) 325void EventIndicator::setPaintWidget( KDGanttMinimizeSplitter * w )
329{ 326{
330 mPaintWidget = w; 327 mPaintWidget = w;
328 setMaximumHeight(0);
329 setMinimumHeight(0);
331} 330}
332void EventIndicator::changeColumns(int columns) 331void EventIndicator::changeColumns(int columns)
333{ 332{
334 mColumns = columns; 333 mColumns = columns;
335 mEnabled.resize(mColumns); 334 mEnabled.resize(mColumns);
336 335
337 update(); 336 update();
338} 337}
339 338
340void EventIndicator::enableColumn(int column, bool enable) 339void EventIndicator::enableColumn(int column, bool enable)
341{ 340{
342 mEnabled[column] = enable; 341 mEnabled[column] = enable;
343} 342}
344 343
345 344
346//////////////////////////////////////////////////////////////////////////// 345////////////////////////////////////////////////////////////////////////////
@@ -397,45 +396,48 @@ KOAgendaView::KOAgendaView(Calendar *cal,QWidget *parent,const char *name) :
397 mExpandButton->setFocusPolicy(NoFocus); 396 mExpandButton->setFocusPolicy(NoFocus);
398 mAllDayAgenda = new KOAgenda(1,mAllDayFrame); 397 mAllDayAgenda = new KOAgenda(1,mAllDayFrame);
399 mAllDayAgenda->setFocusPolicy(NoFocus); 398 mAllDayAgenda->setFocusPolicy(NoFocus);
400 QLabel *dummyAllDayRight = new QLabel (mAllDayFrame); 399 QLabel *dummyAllDayRight = new QLabel (mAllDayFrame);
401 400
402 // Create event context menu for all day agenda 401 // Create event context menu for all day agenda
403 mAllDayAgendaPopup = eventPopup(); 402 mAllDayAgendaPopup = eventPopup();
404 connect(mAllDayAgenda,SIGNAL(showIncidencePopupSignal(Incidence *)), 403 connect(mAllDayAgenda,SIGNAL(showIncidencePopupSignal(Incidence *)),
405 mAllDayAgendaPopup,SLOT(showIncidencePopup(Incidence *))); 404 mAllDayAgendaPopup,SLOT(showIncidencePopup(Incidence *)));
406 405
407 // Create agenda frame 406 // Create agenda frame
408 QGridLayout *agendaLayout = new QGridLayout(agendaFrame,4,3); 407 QGridLayout *agendaLayout = new QGridLayout(agendaFrame,4,3);
409 // QHBox *agendaFrame = new QHBox(splitterAgenda); 408 // QHBox *agendaFrame = new QHBox(splitterAgenda);
410 409
411 // create event indicator bars 410 // create event indicator bars
412 mEventIndicatorTop = new EventIndicator(EventIndicator::Top,agendaFrame); 411 mEventIndicatorTop = new EventIndicator(EventIndicator::Top,agendaFrame);
413 agendaLayout->addWidget(mEventIndicatorTop,0,1); 412#ifndef DESKTOP_VERSION
414 413 // FIX
414 mEventIndicatorTop->setPaintWidget( mSplitterAgenda );
415#endif
415 mDayLabelsFrame = new QHBox(agendaFrame); 416 mDayLabelsFrame = new QHBox(agendaFrame);
416 //topLayout->addWidget(mDayLabelsFrame); 417 //topLayout->addWidget(mDayLabelsFrame);
417 mDayLabels = new QFrame (mDayLabelsFrame); 418 mDayLabels = new QFrame (mDayLabelsFrame);
418 mLayoutDayLabels = new QHBoxLayout(mDayLabels); 419 mLayoutDayLabels = new QHBoxLayout(mDayLabels);
419 agendaLayout->addMultiCellWidget(mDayLabelsFrame ,1,1,0,2); 420 agendaLayout->addMultiCellWidget(mDayLabelsFrame ,0,0,0,2);
420 mEventIndicatorTop->setPaintWidget( mSplitterAgenda ); 421 agendaLayout->addWidget(mEventIndicatorTop,1,1);
422
421 mEventIndicatorBottom = new EventIndicator(EventIndicator::Bottom, 423 mEventIndicatorBottom = new EventIndicator(EventIndicator::Bottom,
422 agendaFrame); 424 agendaFrame);
423 agendaLayout->addWidget(mEventIndicatorBottom,3,1); 425 agendaLayout->addWidget(mEventIndicatorBottom,3,1);
424 QWidget *dummyAgendaRight = new QWidget(agendaFrame); 426 QWidget *dummyAgendaRight = new QWidget(agendaFrame);
425 agendaLayout->addWidget(dummyAgendaRight,0,2); 427 agendaLayout->addWidget(dummyAgendaRight,1,2);
426 428
427 // Create time labels 429 // Create time labels
428 mTimeLabels = new TimeLabels(24,agendaFrame); 430 mTimeLabels = new TimeLabels(24,agendaFrame);
429 agendaLayout->addWidget(mTimeLabels,2,0); 431 agendaLayout->addWidget(mTimeLabels,2,0);
430 connect(mTimeLabels,SIGNAL( scaleChanged()), 432 connect(mTimeLabels,SIGNAL( scaleChanged()),
431 this,SLOT(updateConfig())); 433 this,SLOT(updateConfig()));
432 434
433 // Create agenda 435 // Create agenda
434 mAgenda = new KOAgenda(1,96,KOPrefs::instance()->mHourSize,agendaFrame); 436 mAgenda = new KOAgenda(1,96,KOPrefs::instance()->mHourSize,agendaFrame);
435 agendaLayout->addMultiCellWidget(mAgenda,2,2,1,2); 437 agendaLayout->addMultiCellWidget(mAgenda,2,2,1,2);
436 agendaLayout->setColStretch(1,1); 438 agendaLayout->setColStretch(1,1);
437 mAgenda->setFocusPolicy(NoFocus); 439 mAgenda->setFocusPolicy(NoFocus);
438 // Create event context menu for agenda 440 // Create event context menu for agenda
439 mAgendaPopup = eventPopup(); 441 mAgendaPopup = eventPopup();
440 442
441 mAgendaPopup->addAdditionalItem(QIconSet(SmallIcon("bell")), 443 mAgendaPopup->addAdditionalItem(QIconSet(SmallIcon("bell")),