[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: branches/work/kdepim-3.5.5+/kontact/plugins/planner
From: Oral Timocin <oral.timocin () kdemail ! net>
Date: 2007-01-31 22:34:07
Message-ID: 1170282847.184903.11236.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 628918 by timocin:
Update: Config and Functionality of To-dos
M +90 -57 branches/work/kdepim-3.5.5+/kontact/plugins/planner/planner.cpp
--- branches/work/kdepim-3.5.5+/kontact/plugins/planner/planner.cpp #628917:628918
@@ -86,9 +86,97 @@
config.setGroup( "Calendar" );
mDays = config.readNumEntry( "DaysToShow", 1 );
+ config.setGroup( "Todo" );
+ mShowAllTodos = config.readBoolEntry( "ShowAllTodos" );
+ mShowTodayEndingTodos = config.readBoolEntry( "ShowTodayEndingTodos" );
+ mShowTodosInProgress = config.readBoolEntry( "ShowTodosInProgress" );
updateView();
}
+void Planner::initTodoList( const QDate dt )
+{
+ KCal::Todo *todo;
+ KCal::Todo::List todos = mCalendar->todos();
+ KCal::Todo::List::ConstIterator td = todos.begin();
+ mTodos.setAutoDelete( true );
+ if( mShowAllTodos ){
+ mTodos = mCalendar->todos();
+ }
+ if( mShowTodayEndingTodos ){
+ mTodos = mCalendar->todos( dt );
+ }
+ if( mShowTodosInProgress ){
+ for( ; td != todos.end(); ++td){
+ todo = *td;
+ if ( todo->hasStartDate() && todo->hasDueDate() &&
+ todo->dtStart().date() < dt &&
+ dt < todo->dtDue().date() ){
+ mTodos.append( todo );
+ }
+ }
+ }
+}
+
+int Planner::showTodos(int counter)
+{
+ KIconLoader loader( "kdepim" );
+ QDate dt = QDate::currentDate();
+ initTodoList( dt );
+
+ if ( !mTodos.empty() ) {
+ KCal::Todo *todo;
+ KCal::Todo::List::ConstIterator td = mTodos.begin();
+
+ ++counter;
+ mGrid = new QGridLayout ( this, 2 , 5, 3 );
+ mGrid->setRowStretch( 6, 1 );
+ mLayout->addMultiCellLayout( mGrid, counter, counter, 1, 4 );
+
+ for ( ; td != mTodos.end() ; ++td ) {
+ todo = *td;
+
+ QPixmap todoPm = loader.loadIcon( "kontact_todo", KIcon::Small );
+ QLabel *label = new QLabel( this );
+ label->setPixmap( todoPm );
+ label->setSizePolicy( QSizePolicy::Maximum, QSizePolicy::Maximum );
+ mGrid->addWidget( label, counter, 0 );
+ mLabels.append( label );
+
+ label = new QLabel( QString::number( todo->percentComplete() ) + '%', this );
+ label->setAlignment( AlignHCenter | AlignVCenter );
+ label->setSizePolicy( QSizePolicy::Maximum, QSizePolicy::Maximum );
+ mGrid->addWidget( label, counter, 1 );
+ mLabels.append( label );
+
+ QString string = todo->summary();
+ KURLLabel *urlLabel = new KURLLabel( this );
+ urlLabel->setText( string );
+ urlLabel->setURL( todo->uid() );
+ urlLabel->installEventFilter( this );
+ urlLabel->setTextFormat( Qt::RichText );
+ mGrid->addWidget( urlLabel, counter, 2 );
+ mLabels.append( urlLabel );
+
+ connect( urlLabel, SIGNAL( leftClickedURL( const QString& ) ),
+ this, SLOT( viewTodo( const QString& ) ) );
+ connect( urlLabel, SIGNAL( rightClickedURL( const QString& ) ),
+ this, SLOT( todoPopupMenu( const QString& ) ) );
+
+ QString stateText = initStateText ( todo );
+ label = new QLabel( stateText, this );
+ label->setAlignment( AlignLeft | AlignVCenter );
+ label->setSizePolicy( QSizePolicy::Maximum, QSizePolicy::Maximum );
+ mGrid->addWidget( label, counter, 4 );
+ mLabels.append( label );
+
+ if ( td != mTodos.end() ) {
+ ++counter;
+ }
+ }
+ }
+ return counter;
+}
+
void Planner::updateView()
{
mLabels.setAutoDelete( true );
@@ -177,58 +265,8 @@
mLayout->addWidget( label, counter, 1 );
mLabels.append( label );
- //ToDo Section
- KCal::Todo *todo;
- KCal::Todo::List todos = mCalendar->todos( dt );
- KCal::Todo::List::ConstIterator td = todos.begin();
-
- if ( !todos.empty() ) {
- ++counter;
- mGrid = new QGridLayout ( this, 2 , 5, 3 );
- mGrid->setRowStretch( 6, 1 );
- mLayout->addMultiCellLayout( mGrid, counter, counter, 1, 4 );
-
- for ( ; td != todos.end() ; ++td ) {
- todo = *td;
-
- QPixmap todoPm = loader.loadIcon( "kontact_todo", KIcon::Small );
- label = new QLabel( this );
- label->setPixmap( todoPm );
- label->setSizePolicy( QSizePolicy::Maximum, QSizePolicy::Maximum );
- mGrid->addWidget( label, counter, 0 );
- mLabels.append( label );
-
- label = new QLabel( QString::number( todo->percentComplete() ) + '%', this );
- label->setAlignment( AlignHCenter | AlignVCenter );
- label->setSizePolicy( QSizePolicy::Maximum, QSizePolicy::Maximum );
- mGrid->addWidget( label, counter, 1 );
- mLabels.append( label );
-
- QString string = todo->summary();
- KURLLabel *urlLabel = new KURLLabel( this );
- urlLabel->setText( string );
- urlLabel->setURL( todo->uid() );
- urlLabel->installEventFilter( this );
- urlLabel->setTextFormat( Qt::RichText );
- mGrid->addWidget( urlLabel, counter, 2 );
- mLabels.append( urlLabel );
-
- connect( urlLabel, SIGNAL( leftClickedURL( const QString& ) ),
- this, SLOT( viewTodo( const QString& ) ) );
- connect( urlLabel, SIGNAL( rightClickedURL( const QString& ) ),
- this, SLOT( todoPopupMenu( const QString& ) ) );
-
- QString stateText = initStateText ( todo );
- label = new QLabel( stateText, this );
- label->setAlignment( AlignLeft | AlignVCenter );
- label->setSizePolicy( QSizePolicy::Maximum, QSizePolicy::Maximum );
- mGrid->addWidget( label, counter, 4 );
- mLabels.append( label );
-
- if ( td != todos.end() ) {
- ++counter;
- }
- }
+ if( datestr == i18n( "Today" ) ){
+ counter = showTodos( counter );
}
for ( it=events.begin(); it!=events.end(); ++it ) {
@@ -265,11 +303,6 @@
label = new QLabel( datestr, this );
label->setAlignment( AlignLeft | AlignTop );
label->setPaletteForegroundColor( colorGroup().text() );
- if ( makeBold ){
- QFont font = label->font();
- font.setBold( true );
- label->setFont( font );
- }
mLayout->addWidget( label, i, 1 );
mLabels.append( label );
}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic