~ubuntu-branches/ubuntu/raring/koffice/raring

« back to all changes in this revision

Viewing changes to kplato/libs/ui/kptusedefforteditor.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Jonathan Riddell
  • Date: 2010-12-06 15:30:09 UTC
  • mfrom: (0.13.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20101206153009-yf0dqbp9l7fzwxi8
Tags: 1:2.2.91-0ubuntu1
New upstream RC release

Show diffs side-by-side

added added

removed removed

Lines of Context:
389
389
CompletionEntryItemModel::CompletionEntryItemModel ( QWidget *parent )
390
390
    : QAbstractItemModel( parent ),
391
391
    m_node( 0 ),
 
392
    m_project( 0 ),
392
393
    m_manager( 0 ),
393
394
    m_completion( 0 )
394
395
{
404
405
 
405
406
}
406
407
 
 
408
void CompletionEntryItemModel::setTask( Task *t )
 
409
{
 
410
    m_node = t;
 
411
    m_project = 0;
 
412
    if ( m_node && m_node->projectNode() ) {
 
413
        m_project = static_cast<Project*>( m_node->projectNode() );
 
414
    }
 
415
}
 
416
 
407
417
void CompletionEntryItemModel::slotDataChanged()
408
418
{
409
419
    refresh();
464
474
            return e->remainingEffort.toDouble( Duration::Unit_h );
465
475
        case Role::DurationScales: {
466
476
            QVariantList lst; // TODO: week
467
 
            if ( m_node && m_node->projectNode() ) {
468
 
                Project *p = static_cast<Project*>( m_node->projectNode() );
 
477
            if ( m_node && m_project ) {
469
478
                if ( m_node->estimate()->type() == Estimate::Type_Effort ) {
470
 
                    lst.append( p->standardWorktime()->day() );
 
479
                    lst.append( m_project->standardWorktime()->day() );
471
480
                }
472
481
            }
473
482
            if ( lst.isEmpty() ) {
478
487
        }
479
488
        case Role::DurationUnit:
480
489
            return static_cast<int>( Duration::Unit_h );
 
490
        case Role::Minimum:
 
491
            return m_project->config().minimumDurationUnit();
 
492
        case Role::Maximum:
 
493
            return m_project->config().maximumDurationUnit();
481
494
        case Qt::StatusTipRole:
482
495
        case Qt::WhatsThisRole:
483
496
            return QVariant();
507
520
            return e->totalPerformed.toDouble( Duration::Unit_h );
508
521
        case Role::DurationScales: {
509
522
            QVariantList lst; // TODO: week
510
 
            if ( m_node && m_node->projectNode() ) {
511
 
                Project *p = static_cast<Project*>( m_node->projectNode() );
 
523
            if ( m_node && m_project ) {
512
524
                if ( m_node->estimate()->type() == Estimate::Type_Effort ) {
513
 
                    lst.append( p->standardWorktime()->day() );
 
525
                    lst.append( m_project->standardWorktime()->day() );
514
526
                }
515
527
            }
516
528
            if ( lst.isEmpty() ) {
517
 
                lst.append( 24.0 );
 
529
                lst.append( 24 );
518
530
            }
519
 
            lst << 60.0 << 60.0 << 1000.0;
 
531
            lst << 60 << 60 << 1000;
520
532
            return lst;
521
533
        }
522
534
        case Role::DurationUnit:
523
535
            return static_cast<int>( Duration::Unit_h );
 
536
        case Role::Minimum:
 
537
            return m_project->config().minimumDurationUnit();
 
538
        case Role::Maximum:
 
539
            return m_project->config().maximumDurationUnit();
524
540
        case Qt::StatusTipRole:
525
541
        case Qt::WhatsThisRole:
526
542
            return QVariant();
536
552
    switch ( role ) {
537
553
        case Qt::DisplayRole:
538
554
        case Qt::ToolTipRole: {
539
 
            Duration v = m_node->plannedEffort( m_manager->scheduleId() );
 
555
            Duration v = m_node->plannedEffort( m_manager->scheduleId(), ECCT_EffortWork );
540
556
            //kDebug()<<m_node->name()<<": "<<v<<" "<<unit;
541
557
            return v.format();
542
558
        }
544
560
            return QVariant();
545
561
        case Role::DurationScales: {
546
562
            QVariantList lst; // TODO: week
547
 
            if ( m_node && m_node->projectNode() ) {
548
 
                Project *p = static_cast<Project*>( m_node->projectNode() );
 
563
            if ( m_node && m_project ) {
549
564
                if ( m_node->estimate()->type() == Estimate::Type_Effort ) {
550
 
                    lst.append( p->standardWorktime()->day() );
 
565
                    lst.append( m_project->standardWorktime()->day() );
551
566
                }
552
567
            }
553
568
            if ( lst.isEmpty() ) {
558
573
        }
559
574
        case Role::DurationUnit:
560
575
            return static_cast<int>( Duration::Unit_h );
 
576
        case Role::Minimum:
 
577
            return m_project->config().minimumDurationUnit();
 
578
        case Role::Maximum:
 
579
            return m_project->config().maximumDurationUnit();
561
580
        case Qt::StatusTipRole:
562
581
        case Qt::WhatsThisRole:
563
582
            return QVariant();
581
600
    return QVariant();
582
601
}
583
602
 
584
 
QList<double> CompletionEntryItemModel::scales() const
 
603
QList<qint64> CompletionEntryItemModel::scales() const
585
604
{
586
 
    QList<double> lst;
587
 
    if ( m_node && m_node->projectNode() ) {
588
 
        Project *p = static_cast<Project*>( m_node->projectNode() );
 
605
    QList<qint64> lst;
 
606
    if ( m_node && m_project ) {
589
607
        if ( m_node->estimate()->type() == Estimate::Type_Effort ) {
590
 
            lst.append( p->standardWorktime()->day() );
 
608
            lst = m_project->standardWorktime()->scales();
591
609
        }
592
610
    }
593
611
    if ( lst.isEmpty() ) {
594
 
        lst.append( 24.0 );
 
612
        lst = Estimate::defaultScales();
595
613
    }
596
 
    lst << 60.0 << 60.0 << 1000.0;
597
614
    //kDebug()<<lst;
598
615
    return lst;
599
616
 
619
636
                e->percentFinished = value.toInt();
620
637
                if ( m_completion->entrymode() == Completion::EnterCompleted && m_node ) {
621
638
                    // calculate used/remaining
622
 
                    Duration est = m_node->plannedEffort( id() );
 
639
                    Duration est = m_node->plannedEffort( id(), ECCT_EffortWork );
623
640
                    e->totalPerformed = est * e->percentFinished / 100;
624
641
                    e->remainingEffort = est - e->totalPerformed;
625
642
                }
773
790
    Completion::Entry *e = new Completion::Entry();
774
791
    if ( m_completion->entries().isEmpty() ) {
775
792
        if ( m_node ) {
776
 
            e->remainingEffort = m_node->plannedEffort( id() );
 
793
            e->remainingEffort = m_node->plannedEffort( id(), ECCT_EffortWork );
777
794
        }
778
795
    } else {
779
796
        e->percentFinished = m_completion->percentFinished();