[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    playground/utils/charm/trunk/Charm
From:       Mirko Boehm <mirko () kde ! org>
Date:       2009-04-05 22:28:13
Message-ID: 1238970493.078048.435.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 949795 by mirko:

- fix filtering issue where filtering did not match the mode selection in the task \
                view
- expired tasks now have a light crimson :-) background, after I
  realized that for some reason ForgroundRole is not queried for by
  the tree view


 M  +1 -1      SelectTaskDialog.cpp  
 M  +12 -3     TaskModelAdapter.cpp  
 M  +1 -1      TasksView.cpp  
 M  +1 -1      TimeTrackingSummaryWidget.cpp  
 M  +2 -2      ViewFilter.cpp  
 M  +1 -1      ViewFilter.h  


--- trunk/playground/utils/charm/trunk/Charm/SelectTaskDialog.cpp #949794:949795
@@ -26,7 +26,7 @@
     setFilterKeyColumn( Column_TaskId );
     setFilterCaseSensitivity( Qt::CaseInsensitive );
 
-    setTaskPrefilteringMode( CONFIGURATION.taskPrefilteringMode );
+    prefilteringModeChanged();
 }
 
 bool SelectTaskDialogProxy::filterAcceptsColumn( int column, const QModelIndex& \
                parent ) const
--- trunk/playground/utils/charm/trunk/Charm/TaskModelAdapter.cpp #949794:949795
@@ -53,13 +53,23 @@
 
     // handle roles that are treated all the same, everywhere:
     switch( role ) {
+    // problem: foreground role is never queried for
     case Qt::ForegroundRole:
     	if( item->task().isCurrentlyValid() ) {
             return application->palette().color( QPalette::Active, QPalette::Text );
     	} else {
-            return application->palette().color( QPalette::Disabled, QPalette::Text \
); +    		return application->palette().color( QPalette::Disabled, QPalette::Text );
     	}
         break;
+    case Qt::BackgroundRole:
+    	if( item->task().isCurrentlyValid() ) {
+            return QVariant();
+    	} else {
+    		QColor color( "crimson" );
+    		color.setAlphaF( 0.25 );
+    		return color;
+    	}
+        break;
     case Qt::DisplayRole:
     {
         // Return ID + name -- this is used for painting but also
@@ -173,10 +183,9 @@
 
     if ( index.isValid() ) {
         const TaskTreeItem* item = itemFor( index );
-        flags = Qt::ItemIsUserCheckable;
+        flags = Qt::ItemIsUserCheckable|Qt::ItemIsSelectable|Qt::ItemIsEnabled;
         const bool isCurrent = item->task().isCurrentlyValid();
         if ( isCurrent ) {
-            flags |= Qt::ItemIsSelectable|Qt::ItemIsEnabled;
             const TaskId id = item->task().id();
             const Event& activeEvent = m_dataModel->activeEventFor( id );
             const bool isActive = activeEvent.isValid();
--- trunk/playground/utils/charm/trunk/Charm/TasksView.cpp #949794:949795
@@ -380,8 +380,8 @@
      ViewFilter* filter = Application::instance().model().taskModel();
      if ( index >= 0 && index < Configuration::TaskPrefilter_NumberOfModes ) {
          const Configuration::TaskPrefilteringMode mode = \
                static_cast<Configuration::TaskPrefilteringMode>( index );
-         filter->setTaskPrefilteringMode( mode );
          CONFIGURATION.taskPrefilteringMode = mode;
+         filter->prefilteringModeChanged();
          emit saveConfiguration();
      }
  }
--- trunk/playground/utils/charm/trunk/Charm/TimeTrackingSummaryWidget.cpp \
#949794:949795 @@ -246,7 +246,7 @@
         if ( column == TaskColumn ) {
             // field.text = tr( "Total" );
         } else if ( column == TotalsColumn ) {
-            int total = 0;
+        	int total = 0;
             Q_FOREACH( const WeeklySummary& s, m_summaries ) {
                 total += std::accumulate( s.durations.begin(), s.durations.end(), 0 \
);  }
--- trunk/playground/utils/charm/trunk/Charm/ViewFilter.cpp #949794:949795
@@ -45,9 +45,9 @@
     return m_model.taskHasChildren( task );
 }
 
-void ViewFilter::setTaskPrefilteringMode( Configuration::TaskPrefilteringMode mode )
+void ViewFilter::prefilteringModeChanged()
 {
-    clear();
+	invalidate();
 }
 
 bool ViewFilter::filterAcceptsRow( int source_row, const QModelIndex& parent ) const
--- trunk/playground/utils/charm/trunk/Charm/ViewFilter.h #949794:949795
@@ -29,7 +29,7 @@
     bool taskHasChildren( const Task& task ) const;
 
     // filter for subscriptions:
-    void setTaskPrefilteringMode( Configuration::TaskPrefilteringMode mode );
+    void prefilteringModeChanged();
 
     bool taskIdExists( TaskId taskId ) const;
     void commitCommand( CharmCommand* );


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic