summaryrefslogtreecommitdiffabout
path: root/microkde
Unidiff
Diffstat (limited to 'microkde') (more/less context) (ignore whitespace changes)
-rw-r--r--microkde/kdeui/klistview.cpp3
-rw-r--r--microkde/kglobalsettings.cpp9
-rw-r--r--microkde/kglobalsettings.h1
3 files changed, 11 insertions, 2 deletions
diff --git a/microkde/kdeui/klistview.cpp b/microkde/kdeui/klistview.cpp
index 31e2053..25327aa 100644
--- a/microkde/kdeui/klistview.cpp
+++ b/microkde/kdeui/klistview.cpp
@@ -270,386 +270,385 @@ static QListViewItem *lastQChild (QListViewItem *pi)
270void KListViewLineEdit::selectNextCell (QListViewItem *pitem, int column, bool forward) 270void KListViewLineEdit::selectNextCell (QListViewItem *pitem, int column, bool forward)
271{ 271{
272 const int ncols = p->columns(); 272 const int ncols = p->columns();
273 const int dir = forward ? +1 : -1; 273 const int dir = forward ? +1 : -1;
274 const int restart = forward ? 0 : (ncols - 1); 274 const int restart = forward ? 0 : (ncols - 1);
275 QListViewItem *top = (pitem && pitem->parent()) 275 QListViewItem *top = (pitem && pitem->parent())
276 ? pitem->parent()->firstChild() 276 ? pitem->parent()->firstChild()
277 : p->firstChild(); 277 : p->firstChild();
278 QListViewItem *pi = pitem; 278 QListViewItem *pi = pitem;
279 279
280 terminate(); //Save current changes 280 terminate(); //Save current changes
281 281
282 do 282 do
283 { 283 {
284*/ 284*/
285 /*Check the rest of the current row for an editable column, 285 /*Check the rest of the current row for an editable column,
286 *if that fails, check the entire next/previous row. The 286 *if that fails, check the entire next/previous row. The
287 *last case goes back to the first item in the current branch 287 *last case goes back to the first item in the current branch
288 *or the last item in the current branch depending on the 288 *or the last item in the current branch depending on the
289 *direction. 289 *direction.
290 */ 290 */
291/*US 291/*US
292 if ((column = nextCol(p, pi, column + dir, dir)) != -1 || 292 if ((column = nextCol(p, pi, column + dir, dir)) != -1 ||
293 (column = nextCol(p, (pi = (forward ? pi->nextSibling() : prevItem(pi))), restart, dir)) != -1 || 293 (column = nextCol(p, (pi = (forward ? pi->nextSibling() : prevItem(pi))), restart, dir)) != -1 ||
294 (column = nextCol(p, (pi = (forward ? top : lastQChild(pitem))), restart, dir)) != -1) 294 (column = nextCol(p, (pi = (forward ? top : lastQChild(pitem))), restart, dir)) != -1)
295 { 295 {
296 if (pi) 296 if (pi)
297 { 297 {
298 p->setCurrentItem(pi); //Calls terminate 298 p->setCurrentItem(pi); //Calls terminate
299 p->rename(pi, column); 299 p->rename(pi, column);
300*/ 300*/
301 /*Some listviews may override rename() to 301 /*Some listviews may override rename() to
302 *prevent certain items from being renamed, 302 *prevent certain items from being renamed,
303 *if this is done, [m_]item will be NULL 303 *if this is done, [m_]item will be NULL
304 *after the rename() call... try again. 304 *after the rename() call... try again.
305 */ 305 */
306/*US 306/*US
307 if (!item) 307 if (!item)
308 continue; 308 continue;
309 309
310 break; 310 break;
311 } 311 }
312 } 312 }
313 } 313 }
314 while (pi && !item); 314 while (pi && !item);
315} 315}
316*/ 316*/
317 317
318/*US 318/*US
319#ifdef KeyPress 319#ifdef KeyPress
320#undef KeyPress 320#undef KeyPress
321#endif 321#endif
322 322
323bool KListViewLineEdit::event (QEvent *pe) 323bool KListViewLineEdit::event (QEvent *pe)
324{ 324{
325 if (pe->type() == QEvent::KeyPress) 325 if (pe->type() == QEvent::KeyPress)
326 { 326 {
327 QKeyEvent *k = (QKeyEvent *) pe; 327 QKeyEvent *k = (QKeyEvent *) pe;
328 328
329 if ((k->key() == Qt::Key_Backtab || k->key() == Qt::Key_Tab) && 329 if ((k->key() == Qt::Key_Backtab || k->key() == Qt::Key_Tab) &&
330 p->tabOrderedRenaming() && p->itemsRenameable() && 330 p->tabOrderedRenaming() && p->itemsRenameable() &&
331 !(k->state() & ControlButton || k->state() & AltButton)) 331 !(k->state() & ControlButton || k->state() & AltButton))
332 { 332 {
333 selectNextCell(item, col, 333 selectNextCell(item, col,
334 (k->key() == Key_Tab && !(k->state() & ShiftButton))); 334 (k->key() == Key_Tab && !(k->state() & ShiftButton)));
335 return true; 335 return true;
336 } 336 }
337 } 337 }
338 338
339 return KLineEdit::event(pe); 339 return KLineEdit::event(pe);
340} 340}
341 341
342void KListViewLineEdit::keyPressEvent(QKeyEvent *e) 342void KListViewLineEdit::keyPressEvent(QKeyEvent *e)
343{ 343{
344 if(e->key() == Qt::Key_Return || e->key() == Qt::Key_Enter ) 344 if(e->key() == Qt::Key_Return || e->key() == Qt::Key_Enter )
345 terminate(true); 345 terminate(true);
346 else if(e->key() == Qt::Key_Escape) 346 else if(e->key() == Qt::Key_Escape)
347 terminate(false); 347 terminate(false);
348 else if (e->key() == Qt::Key_Down || e->key() == Qt::Key_Up) 348 else if (e->key() == Qt::Key_Down || e->key() == Qt::Key_Up)
349 { 349 {
350 terminate(true); 350 terminate(true);
351 KLineEdit::keyPressEvent(e); 351 KLineEdit::keyPressEvent(e);
352 } 352 }
353 else 353 else
354 KLineEdit::keyPressEvent(e); 354 KLineEdit::keyPressEvent(e);
355} 355}
356 356
357void KListViewLineEdit::terminate() 357void KListViewLineEdit::terminate()
358{ 358{
359 terminate(true); 359 terminate(true);
360} 360}
361 361
362void KListViewLineEdit::terminate(bool commit) 362void KListViewLineEdit::terminate(bool commit)
363{ 363{
364 if ( item ) 364 if ( item )
365 { 365 {
366 //kdDebug() << "KListViewLineEdit::terminate " << commit << endl; 366 //kdDebug() << "KListViewLineEdit::terminate " << commit << endl;
367 if (commit) 367 if (commit)
368 item->setText(col, text()); 368 item->setText(col, text());
369 int c=col; 369 int c=col;
370 QListViewItem *i=item; 370 QListViewItem *i=item;
371 col=0; 371 col=0;
372 item=0; 372 item=0;
373 hide(); // will call focusOutEvent, that's why we set item=0 before 373 hide(); // will call focusOutEvent, that's why we set item=0 before
374 emit done(i,c); 374 emit done(i,c);
375 } 375 }
376} 376}
377 377
378void KListViewLineEdit::focusOutEvent(QFocusEvent *ev) 378void KListViewLineEdit::focusOutEvent(QFocusEvent *ev)
379{ 379{
380 QFocusEvent * focusEv = static_cast<QFocusEvent*>(ev); 380 QFocusEvent * focusEv = static_cast<QFocusEvent*>(ev);
381 // Don't let a RMB close the editor 381 // Don't let a RMB close the editor
382 if (focusEv->reason() != QFocusEvent::Popup && focusEv->reason() != QFocusEvent::ActiveWindow) 382 if (focusEv->reason() != QFocusEvent::Popup && focusEv->reason() != QFocusEvent::ActiveWindow)
383 terminate(true); 383 terminate(true);
384} 384}
385 385
386void KListViewLineEdit::paintEvent( QPaintEvent *e ) 386void KListViewLineEdit::paintEvent( QPaintEvent *e )
387{ 387{
388 KLineEdit::paintEvent( e ); 388 KLineEdit::paintEvent( e );
389 389
390 if ( !frame() ) { 390 if ( !frame() ) {
391 QPainter p( this ); 391 QPainter p( this );
392 p.setClipRegion( e->region() ); 392 p.setClipRegion( e->region() );
393 p.drawRect( rect() ); 393 p.drawRect( rect() );
394 } 394 }
395} 395}
396 396
397// selection changed -> terminate. As our "item" can be already deleted, 397// selection changed -> terminate. As our "item" can be already deleted,
398// we can't call terminate(false), because that would emit done() with 398// we can't call terminate(false), because that would emit done() with
399// a dangling pointer to "item". 399// a dangling pointer to "item".
400void KListViewLineEdit::slotSelectionChanged() 400void KListViewLineEdit::slotSelectionChanged()
401{ 401{
402 item = 0; 402 item = 0;
403 col = 0; 403 col = 0;
404 hide(); 404 hide();
405} 405}
406*/ 406*/
407 407
408KListView::KListView( QWidget *parent, const char *name ,bool emulateRightMouse ) 408KListView::KListView( QWidget *parent, const char *name ,bool emulateRightMouse )
409 : QListView( parent, name ), 409 : QListView( parent, name ),
410 d (new KListViewPrivate (this)) 410 d (new KListViewPrivate (this))
411{ 411{
412#ifndef DESKTOP_VERSION 412#ifndef DESKTOP_VERSION
413 if ( emulateRightMouse ) 413 if ( emulateRightMouse )
414 QPEApplication::setStylusOperation( viewport(), QPEApplication::RightOnHold ); 414 QPEApplication::setStylusOperation( viewport(), QPEApplication::RightOnHold );
415#endif 415#endif
416//US setDragAutoScroll(true); 416//US setDragAutoScroll(true);
417 417
418 connect( this, SIGNAL( onViewport() ), 418 connect( this, SIGNAL( onViewport() ),
419 this, SLOT( slotOnViewport() ) ); 419 this, SLOT( slotOnViewport() ) );
420 connect( this, SIGNAL( onItem( QListViewItem * ) ), 420 connect( this, SIGNAL( onItem( QListViewItem * ) ),
421 this, SLOT( slotOnItem( QListViewItem * ) ) ); 421 this, SLOT( slotOnItem( QListViewItem * ) ) );
422 422
423 connect (this, SIGNAL(contentsMoving(int,int)), 423 connect (this, SIGNAL(contentsMoving(int,int)),
424 this, SLOT(cleanDropVisualizer())); 424 this, SLOT(cleanDropVisualizer()));
425 connect (this, SIGNAL(contentsMoving(int,int)), 425 connect (this, SIGNAL(contentsMoving(int,int)),
426 this, SLOT(cleanItemHighlighter())); 426 this, SLOT(cleanItemHighlighter()));
427 427
428/*US 428/*US
429 slotSettingsChanged(KApplication::SETTINGS_MOUSE); 429 slotSettingsChanged(KApplication::SETTINGS_MOUSE);
430 430
431 if (kapp) 431 if (kapp)
432 { 432 {
433 connect( kapp, SIGNAL( settingsChanged(int) ), SLOT( slotSettingsChanged(int) ) ); 433 connect( kapp, SIGNAL( settingsChanged(int) ), SLOT( slotSettingsChanged(int) ) );
434 kapp->addKipcEventMask( KIPC::SettingsChanged ); 434 kapp->addKipcEventMask( KIPC::SettingsChanged );
435 } 435 }
436*/ 436*/
437 slotSettingsChanged(1); //US do this to initialize the connections 437 slotSettingsChanged(1); //US do this to initialize the connections
438 438
439 439
440 connect(&d->autoSelect, SIGNAL( timeout() ), 440 connect(&d->autoSelect, SIGNAL( timeout() ),
441 this, SLOT( slotAutoSelect() ) ); 441 this, SLOT( slotAutoSelect() ) );
442 connect(&d->dragExpand, SIGNAL( timeout() ), 442 connect(&d->dragExpand, SIGNAL( timeout() ),
443 this, SLOT( slotDragExpand() ) ); 443 this, SLOT( slotDragExpand() ) );
444 444
445 // context menu handling 445 // context menu handling
446 if (d->showContextMenusOnPress) 446 if (d->showContextMenusOnPress)
447 { 447 {
448 connect (this, SIGNAL (rightButtonPressed (QListViewItem*, const QPoint&, int)), 448 connect (this, SIGNAL (rightButtonPressed (QListViewItem*, const QPoint&, int)),
449 this, SLOT (emitContextMenu (QListViewItem*, const QPoint&, int))); 449 this, SLOT (emitContextMenu (QListViewItem*, const QPoint&, int)));
450 } 450 }
451 else 451 else
452 { 452 {
453 connect (this, SIGNAL (rightButtonClicked (QListViewItem*, const QPoint&, int)), 453 connect (this, SIGNAL (rightButtonClicked (QListViewItem*, const QPoint&, int)),
454 this, SLOT (emitContextMenu (QListViewItem*, const QPoint&, int))); 454 this, SLOT (emitContextMenu (QListViewItem*, const QPoint&, int)));
455 } 455 }
456 456
457 connect (this, SIGNAL (menuShortCutPressed (KListView*, QListViewItem*)), 457 connect (this, SIGNAL (menuShortCutPressed (KListView*, QListViewItem*)),
458 this, SLOT (emitContextMenu (KListView*, QListViewItem*))); 458 this, SLOT (emitContextMenu (KListView*, QListViewItem*)));
459 459
460 460
461 //qDebug("KListView::KListView make alternate color configurable"); 461 //qDebug("KListView::KListView make alternate color configurable");
462//US d->alternateBackground = KGlobalSettings::alternateBackgroundColor(); 462 d->alternateBackground = KGlobalSettings::alternateBackgroundColor();
463 d->alternateBackground = QColor(240, 240, 240);
464} 463}
465 464
466 465
467 466
468KListView::~KListView() 467KListView::~KListView()
469{ 468{
470 delete d; 469 delete d;
471} 470}
472 471
473bool KListView::isExecuteArea( const QPoint& point ) 472bool KListView::isExecuteArea( const QPoint& point )
474{ 473{
475 if ( itemAt( point ) ) 474 if ( itemAt( point ) )
476 return isExecuteArea( point.x() ); 475 return isExecuteArea( point.x() );
477 476
478 return false; 477 return false;
479} 478}
480 479
481bool KListView::isExecuteArea( int x ) 480bool KListView::isExecuteArea( int x )
482{ 481{
483 if( allColumnsShowFocus() ) 482 if( allColumnsShowFocus() )
484 return true; 483 return true;
485 else { 484 else {
486 int offset = 0; 485 int offset = 0;
487 int width = columnWidth( 0 ); 486 int width = columnWidth( 0 );
488 int pos = header()->mapToIndex( 0 ); 487 int pos = header()->mapToIndex( 0 );
489 488
490 for ( int index = 0; index < pos; index++ ) 489 for ( int index = 0; index < pos; index++ )
491 offset += columnWidth( header()->mapToSection( index ) ); 490 offset += columnWidth( header()->mapToSection( index ) );
492 491
493 x += contentsX(); // in case of a horizontal scrollbar 492 x += contentsX(); // in case of a horizontal scrollbar
494 return ( x > offset && x < ( offset + width ) ); 493 return ( x > offset && x < ( offset + width ) );
495 } 494 }
496} 495}
497 496
498void KListView::slotOnItem( QListViewItem *item ) 497void KListView::slotOnItem( QListViewItem *item )
499{ 498{
500 QPoint vp = viewport()->mapFromGlobal( QCursor::pos() ); 499 QPoint vp = viewport()->mapFromGlobal( QCursor::pos() );
501 if ( item && isExecuteArea( vp.x() ) && (d->autoSelectDelay > -1) && d->bUseSingle ) { 500 if ( item && isExecuteArea( vp.x() ) && (d->autoSelectDelay > -1) && d->bUseSingle ) {
502 d->autoSelect.start( d->autoSelectDelay, true ); 501 d->autoSelect.start( d->autoSelectDelay, true );
503 d->pCurrentItem = item; 502 d->pCurrentItem = item;
504 } 503 }
505} 504}
506 505
507void KListView::slotOnViewport() 506void KListView::slotOnViewport()
508{ 507{
509 if ( d->bChangeCursorOverItem ) 508 if ( d->bChangeCursorOverItem )
510 viewport()->unsetCursor(); 509 viewport()->unsetCursor();
511 510
512 d->autoSelect.stop(); 511 d->autoSelect.stop();
513 d->pCurrentItem = 0L; 512 d->pCurrentItem = 0L;
514} 513}
515 514
516void KListView::slotSettingsChanged(int category) 515void KListView::slotSettingsChanged(int category)
517{ 516{
518 //qDebug("KListView::slotSettingsChanged has to be verified"); 517 //qDebug("KListView::slotSettingsChanged has to be verified");
519 518
520 519
521 switch (category) 520 switch (category)
522 { 521 {
523 //US I create my private category (=1) to set the settings 522 //US I create my private category (=1) to set the settings
524 case 1: 523 case 1:
525 d->dragDelay = 2; 524 d->dragDelay = 2;
526 //US set explicitly d->bUseSingle = KGlobalSettings::singleClick(); 525 //US set explicitly d->bUseSingle = KGlobalSettings::singleClick();
527 // qDebug("KListView::slotSettingsChanged: single%i", d->bUseSingle); 526 // qDebug("KListView::slotSettingsChanged: single%i", d->bUseSingle);
528 527
529 disconnect(this, SIGNAL (mouseButtonClicked (int, QListViewItem*, const QPoint &, int)), 528 disconnect(this, SIGNAL (mouseButtonClicked (int, QListViewItem*, const QPoint &, int)),
530 this, SLOT (slotMouseButtonClicked (int, QListViewItem*, const QPoint &, int))); 529 this, SLOT (slotMouseButtonClicked (int, QListViewItem*, const QPoint &, int)));
531 530
532 if( d->bUseSingle ) 531 if( d->bUseSingle )
533 connect (this, SIGNAL (mouseButtonClicked (int, QListViewItem*, const QPoint &, int)), 532 connect (this, SIGNAL (mouseButtonClicked (int, QListViewItem*, const QPoint &, int)),
534 this, SLOT (slotMouseButtonClicked( int, QListViewItem*, const QPoint &, int))); 533 this, SLOT (slotMouseButtonClicked( int, QListViewItem*, const QPoint &, int)));
535 534
536 //US d->bChangeCursorOverItem = KGlobalSettings::changeCursorOverIcon(); 535 //US d->bChangeCursorOverItem = KGlobalSettings::changeCursorOverIcon();
537 //US d->autoSelectDelay = KGlobalSettings::autoSelectDelay(); 536 //US d->autoSelectDelay = KGlobalSettings::autoSelectDelay();
538 537
539 if( !d->bUseSingle || !d->bChangeCursorOverItem ) 538 if( !d->bUseSingle || !d->bChangeCursorOverItem )
540 viewport()->unsetCursor(); 539 viewport()->unsetCursor();
541 540
542 break; 541 break;
543 542
544 /*US 543 /*US
545 case KApplication::SETTINGS_MOUSE: 544 case KApplication::SETTINGS_MOUSE:
546 d->dragDelay = KGlobalSettings::dndEventDelay(); 545 d->dragDelay = KGlobalSettings::dndEventDelay();
547 d->bUseSingle = KGlobalSettings::singleClick(); 546 d->bUseSingle = KGlobalSettings::singleClick();
548 547
549 disconnect(this, SIGNAL (mouseButtonClicked (int, QListViewItem*, const QPoint &, int)), 548 disconnect(this, SIGNAL (mouseButtonClicked (int, QListViewItem*, const QPoint &, int)),
550 this, SLOT (slotMouseButtonClicked (int, QListViewItem*, const QPoint &, int))); 549 this, SLOT (slotMouseButtonClicked (int, QListViewItem*, const QPoint &, int)));
551 550
552 if( d->bUseSingle ) 551 if( d->bUseSingle )
553 connect (this, SIGNAL (mouseButtonClicked (int, QListViewItem*, const QPoint &, int)), 552 connect (this, SIGNAL (mouseButtonClicked (int, QListViewItem*, const QPoint &, int)),
554 this, SLOT (slotMouseButtonClicked( int, QListViewItem*, const QPoint &, int))); 553 this, SLOT (slotMouseButtonClicked( int, QListViewItem*, const QPoint &, int)));
555 554
556 d->bChangeCursorOverItem = KGlobalSettings::changeCursorOverIcon(); 555 d->bChangeCursorOverItem = KGlobalSettings::changeCursorOverIcon();
557 d->autoSelectDelay = KGlobalSettings::autoSelectDelay(); 556 d->autoSelectDelay = KGlobalSettings::autoSelectDelay();
558 557
559 if( !d->bUseSingle || !d->bChangeCursorOverItem ) 558 if( !d->bUseSingle || !d->bChangeCursorOverItem )
560 viewport()->unsetCursor(); 559 viewport()->unsetCursor();
561 560
562 break; 561 break;
563 case KApplication::SETTINGS_POPUPMENU: 562 case KApplication::SETTINGS_POPUPMENU:
564 d->contextMenuKey = KGlobalSettings::contextMenuKey (); 563 d->contextMenuKey = KGlobalSettings::contextMenuKey ();
565 d->showContextMenusOnPress = KGlobalSettings::showContextMenusOnPress (); 564 d->showContextMenusOnPress = KGlobalSettings::showContextMenusOnPress ();
566 565
567 if (d->showContextMenusOnPress) 566 if (d->showContextMenusOnPress)
568 { 567 {
569 disconnect (0L, 0L, this, SLOT (emitContextMenu (QListViewItem*, const QPoint&, int))); 568 disconnect (0L, 0L, this, SLOT (emitContextMenu (QListViewItem*, const QPoint&, int)));
570 569
571 connect(this, SIGNAL (rightButtonPressed (QListViewItem*, const QPoint&, int)), 570 connect(this, SIGNAL (rightButtonPressed (QListViewItem*, const QPoint&, int)),
572 this, SLOT (emitContextMenu (QListViewItem*, const QPoint&, int))); 571 this, SLOT (emitContextMenu (QListViewItem*, const QPoint&, int)));
573 } 572 }
574 else 573 else
575 { 574 {
576 disconnect (0L, 0L, this, SLOT (emitContextMenu (QListViewItem*, const QPoint&, int))); 575 disconnect (0L, 0L, this, SLOT (emitContextMenu (QListViewItem*, const QPoint&, int)));
577 576
578 connect(this, SIGNAL (rightButtonClicked (QListViewItem*, const QPoint&, int)), 577 connect(this, SIGNAL (rightButtonClicked (QListViewItem*, const QPoint&, int)),
579 this, SLOT (emitContextMenu (QListViewItem*, const QPoint&, int))); 578 this, SLOT (emitContextMenu (QListViewItem*, const QPoint&, int)));
580 } 579 }
581 break; 580 break;
582 */ 581 */
583 582
584 default: 583 default:
585 break; 584 break;
586 } 585 }
587 586
588} 587}
589 588
590void KListView::slotAutoSelect() 589void KListView::slotAutoSelect()
591{ 590{
592 // check that the item still exists 591 // check that the item still exists
593 if( itemIndex( d->pCurrentItem ) == -1 ) 592 if( itemIndex( d->pCurrentItem ) == -1 )
594 return; 593 return;
595 594
596 if (!isActiveWindow()) 595 if (!isActiveWindow())
597 { 596 {
598 d->autoSelect.stop(); 597 d->autoSelect.stop();
599 return; 598 return;
600 } 599 }
601 600
602 //Give this widget the keyboard focus. 601 //Give this widget the keyboard focus.
603 if( !hasFocus() ) 602 if( !hasFocus() )
604 setFocus(); 603 setFocus();
605 604
606 QListViewItem* previousItem = currentItem(); 605 QListViewItem* previousItem = currentItem();
607 setCurrentItem( d->pCurrentItem ); 606 setCurrentItem( d->pCurrentItem );
608 607
609#if 0 608#if 0
610#ifndef Q_WS_QWS 609#ifndef Q_WS_QWS
611 // FIXME(E): Implement for Qt Embedded 610 // FIXME(E): Implement for Qt Embedded
612 if( d->pCurrentItem ) { 611 if( d->pCurrentItem ) {
613 //Shift pressed? 612 //Shift pressed?
614 if( (keybstate & ShiftMask) ) { 613 if( (keybstate & ShiftMask) ) {
615 bool block = signalsBlocked(); 614 bool block = signalsBlocked();
616 blockSignals( true ); 615 blockSignals( true );
617 616
618 //No Ctrl? Then clear before! 617 //No Ctrl? Then clear before!
619 if( !(keybstate & ControlMask) ) 618 if( !(keybstate & ControlMask) )
620 clearSelection(); 619 clearSelection();
621 620
622 bool select = !d->pCurrentItem->isSelected(); 621 bool select = !d->pCurrentItem->isSelected();
623 bool update = viewport()->isUpdatesEnabled(); 622 bool update = viewport()->isUpdatesEnabled();
624 viewport()->setUpdatesEnabled( false ); 623 viewport()->setUpdatesEnabled( false );
625 624
626 bool down = previousItem->itemPos() < d->pCurrentItem->itemPos(); 625 bool down = previousItem->itemPos() < d->pCurrentItem->itemPos();
627 QListViewItemIterator lit( down ? previousItem : d->pCurrentItem ); 626 QListViewItemIterator lit( down ? previousItem : d->pCurrentItem );
628 for ( ; lit.current(); ++lit ) { 627 for ( ; lit.current(); ++lit ) {
629 if ( down && lit.current() == d->pCurrentItem ) { 628 if ( down && lit.current() == d->pCurrentItem ) {
630 d->pCurrentItem->setSelected( select ); 629 d->pCurrentItem->setSelected( select );
631 break; 630 break;
632 } 631 }
633 if ( !down && lit.current() == previousItem ) { 632 if ( !down && lit.current() == previousItem ) {
634 previousItem->setSelected( select ); 633 previousItem->setSelected( select );
635 break; 634 break;
636 } 635 }
637 lit.current()->setSelected( select ); 636 lit.current()->setSelected( select );
638 } 637 }
639 638
640 blockSignals( block ); 639 blockSignals( block );
641 viewport()->setUpdatesEnabled( update ); 640 viewport()->setUpdatesEnabled( update );
642 triggerUpdate(); 641 triggerUpdate();
643 642
644 emit selectionChanged(); 643 emit selectionChanged();
645 644
646 if( selectionMode() == QListView::Single ) 645 if( selectionMode() == QListView::Single )
647 emit selectionChanged( d->pCurrentItem ); 646 emit selectionChanged( d->pCurrentItem );
648 } 647 }
649 else if( (keybstate & ControlMask) ) 648 else if( (keybstate & ControlMask) )
650 setSelected( d->pCurrentItem, !d->pCurrentItem->isSelected() ); 649 setSelected( d->pCurrentItem, !d->pCurrentItem->isSelected() );
651 else { 650 else {
652 bool block = signalsBlocked(); 651 bool block = signalsBlocked();
653 blockSignals( true ); 652 blockSignals( true );
654 653
655 if( !d->pCurrentItem->isSelected() ) 654 if( !d->pCurrentItem->isSelected() )
diff --git a/microkde/kglobalsettings.cpp b/microkde/kglobalsettings.cpp
index b65ce66..92a2b48 100644
--- a/microkde/kglobalsettings.cpp
+++ b/microkde/kglobalsettings.cpp
@@ -1,77 +1,86 @@
1#include "kglobalsettings.h" 1#include "kglobalsettings.h"
2#include "kconfig.h" 2#include "kconfig.h"
3#include "kglobal.h" 3#include "kglobal.h"
4#include "kconfigbase.h" 4#include "kconfigbase.h"
5 5
6#include <qapplication.h> 6#include <qapplication.h>
7 7
8QFont KGlobalSettings::generalFont() 8QFont KGlobalSettings::generalFont()
9{ 9{
10 int size = 12; 10 int size = 12;
11 if (QApplication::desktop()->width() < 480 ) { 11 if (QApplication::desktop()->width() < 480 ) {
12 size = 10; 12 size = 10;
13 } 13 }
14#ifndef DESKTOP_VERSION 14#ifndef DESKTOP_VERSION
15 else 15 else
16 if (QApplication::desktop()->width() >= 480 && QApplication::desktop()->width() <= 640 ) 16 if (QApplication::desktop()->width() >= 480 && QApplication::desktop()->width() <= 640 )
17 size = 18; 17 size = 18;
18#endif 18#endif
19 QFont f = QApplication::font(); 19 QFont f = QApplication::font();
20 //qDebug("pointsize %d %s", f.pointSize(),f.family().latin1()); 20 //qDebug("pointsize %d %s", f.pointSize(),f.family().latin1());
21 f.setPointSize( size ); 21 f.setPointSize( size );
22 return f; 22 return f;
23} 23}
24QFont KGlobalSettings::generalMaxFont() 24QFont KGlobalSettings::generalMaxFont()
25{ 25{
26 int size = 12; 26 int size = 12;
27 if (QApplication::desktop()->width() < 480 ) { 27 if (QApplication::desktop()->width() < 480 ) {
28 size = 10; 28 size = 10;
29 } 29 }
30#ifndef DESKTOP_VERSION 30#ifndef DESKTOP_VERSION
31 else 31 else
32 if (QApplication::desktop()->width() >= 480 && QApplication::desktop()->width() <= 640 ) 32 if (QApplication::desktop()->width() >= 480 && QApplication::desktop()->width() <= 640 )
33 size = 18; 33 size = 18;
34#endif 34#endif
35 QFont f = QApplication::font(); 35 QFont f = QApplication::font();
36 if ( f.pointSize() > size ) 36 if ( f.pointSize() > size )
37 f.setPointSize( size ); 37 f.setPointSize( size );
38 return f; 38 return f;
39} 39}
40 40
41QString KGlobalSettings::timeTrackerDir() 41QString KGlobalSettings::timeTrackerDir()
42{ 42{
43 static QString dir; 43 static QString dir;
44 if ( dir.isEmpty() ) { 44 if ( dir.isEmpty() ) {
45 dir = locateLocal( "data", "timetrackerdir/d.ttl" ); 45 dir = locateLocal( "data", "timetrackerdir/d.ttl" );
46 dir = dir.left ( dir.length() - 5); 46 dir = dir.left ( dir.length() - 5);
47 } 47 }
48 return dir; 48 return dir;
49} 49}
50 50
51QFont KGlobalSettings::toolBarFont() 51QFont KGlobalSettings::toolBarFont()
52{ 52{
53 return QApplication::font(); 53 return QApplication::font();
54} 54}
55 55
56QColor KGlobalSettings::toolBarHighlightColor() 56QColor KGlobalSettings::toolBarHighlightColor()
57{ 57{
58 return QColor( "black" ); 58 return QColor( "black" );
59} 59}
60 60
61QColor KGlobalSettings::alternateBackgroundColor()
62{
63#ifdef DESKTOP_VERSION
64 return QColor( 235, 235, 235 );
65#else
66 return QColor( 220, 220, 220 );
67#endif
68}
69
61QRect KGlobalSettings::desktopGeometry( QWidget * ) 70QRect KGlobalSettings::desktopGeometry( QWidget * )
62{ 71{
63 return QApplication::desktop()->rect(); 72 return QApplication::desktop()->rect();
64} 73}
65 74
66 /** 75 /**
67 * Returns whether KDE runs in single (default) or double click 76 * Returns whether KDE runs in single (default) or double click
68 * mode. 77 * mode.
69 * see http://developer.kde.org/documentation/standards/kde/style/mouse/index.html 78 * see http://developer.kde.org/documentation/standards/kde/style/mouse/index.html
70 * @return true if single click mode, or false if double click mode. 79 * @return true if single click mode, or false if double click mode.
71 **/ 80 **/
72bool KGlobalSettings::singleClick() 81bool KGlobalSettings::singleClick()
73{ 82{
74 KConfig *c = KGlobal::config(); 83 KConfig *c = KGlobal::config();
75 KConfigGroupSaver cgs( c, "KDE" ); 84 KConfigGroupSaver cgs( c, "KDE" );
76 return c->readBoolEntry("SingleClick", KDE_DEFAULT_SINGLECLICK); 85 return c->readBoolEntry("SingleClick", KDE_DEFAULT_SINGLECLICK);
77} 86}
diff --git a/microkde/kglobalsettings.h b/microkde/kglobalsettings.h
index 3eeda35..e2620b3 100644
--- a/microkde/kglobalsettings.h
+++ b/microkde/kglobalsettings.h
@@ -1,32 +1,33 @@
1#ifndef MICROKDE_KGLOBALSETTINGS_H 1#ifndef MICROKDE_KGLOBALSETTINGS_H
2#define MICROKDE_KGLOBALSETTINGS_H 2#define MICROKDE_KGLOBALSETTINGS_H
3 3
4#include <qfont.h> 4#include <qfont.h>
5#include <qrect.h> 5#include <qrect.h>
6 6
7 7
8#define KDE_DEFAULT_SINGLECLICK true 8#define KDE_DEFAULT_SINGLECLICK true
9 9
10 10
11class KGlobalSettings 11class KGlobalSettings
12{ 12{
13 public: 13 public:
14 static QFont generalFont(); 14 static QFont generalFont();
15 static QFont generalMaxFont(); 15 static QFont generalMaxFont();
16 static QFont toolBarFont(); 16 static QFont toolBarFont();
17 17
18 static QColor toolBarHighlightColor(); 18 static QColor toolBarHighlightColor();
19 static QColor alternateBackgroundColor();
19 static QRect desktopGeometry( QWidget * ); 20 static QRect desktopGeometry( QWidget * );
20 static QString timeTrackerDir(); 21 static QString timeTrackerDir();
21 22
22 /** 23 /**
23 * Returns whether KDE runs in single (default) or double click 24 * Returns whether KDE runs in single (default) or double click
24 * mode. 25 * mode.
25 * see http://developer.kde.org/documentation/standards/kde/style/mouse/index.html 26 * see http://developer.kde.org/documentation/standards/kde/style/mouse/index.html
26 * @return true if single click mode, or false if double click mode. 27 * @return true if single click mode, or false if double click mode.
27 **/ 28 **/
28 static bool singleClick(); 29 static bool singleClick();
29 30
30}; 31};
31 32
32#endif 33#endif