[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