summaryrefslogtreecommitdiff
path: root/core/pim/today/plugins/todolist/todopluginwidget.cpp
Unidiff
Diffstat (limited to 'core/pim/today/plugins/todolist/todopluginwidget.cpp') (more/less context) (show whitespace changes)
-rw-r--r--core/pim/today/plugins/todolist/todopluginwidget.cpp32
1 files changed, 21 insertions, 11 deletions
diff --git a/core/pim/today/plugins/todolist/todopluginwidget.cpp b/core/pim/today/plugins/todolist/todopluginwidget.cpp
index 773e5cf..3242dac 100644
--- a/core/pim/today/plugins/todolist/todopluginwidget.cpp
+++ b/core/pim/today/plugins/todolist/todopluginwidget.cpp
@@ -21,64 +21,75 @@
21#include <qstring.h> 21#include <qstring.h>
22#include <qscrollview.h> 22#include <qscrollview.h>
23#include <qobject.h> 23#include <qobject.h>
24#include <qlayout.h> 24#include <qlayout.h>
25 25
26#include <qpe/config.h> 26#include <qpe/config.h>
27#include <qpe/timestring.h> 27#include <qpe/timestring.h>
28#include <qpe/qcopenvelope_qws.h> 28#include <qpe/qcopenvelope_qws.h>
29 29
30TodolistPluginWidget::TodolistPluginWidget( QWidget *parent, const char* name ) 30TodolistPluginWidget::TodolistPluginWidget( QWidget *parent, const char* name )
31 : QWidget( parent, name ) { 31 : QWidget( parent, name ) {
32 32
33 todoLabel = 0l;
34 todo = 0l; 33 todo = 0l;
34 layoutTodo = 0l;
35 todoLabel = 0l;
35 36
36 if ( todo ) { 37 if ( todo ) {
37 delete todo; 38 delete todo;
38 } 39 }
39
40 todo = new OTodoAccess(); 40 todo = new OTodoAccess();
41 todo->load(); 41 todo->load();
42 42
43 if ( layoutTodo ) {
44 delete layoutTodo;
45 }
46 layoutTodo = new QVBoxLayout( this );
47 layoutTodo->setAutoAdd( true );
48
49
50 if ( todoLabel ) {
51 delete todoLabel;
52 }
53 todoLabel = new OClickableLabel( this );
54
55 connect( todoLabel, SIGNAL( clicked() ), this, SLOT( startTodolist() ) );
56
43 readConfig(); 57 readConfig();
44 getTodo(); 58 getTodo();
45} 59}
46 60
47TodolistPluginWidget::~TodolistPluginWidget() { 61TodolistPluginWidget::~TodolistPluginWidget() {
48 delete todo; 62 delete todo;
63 delete todoLabel;
64 delete layoutTodo;
49} 65}
50 66
51 67
52void TodolistPluginWidget::readConfig() { 68void TodolistPluginWidget::readConfig() {
53 Config cfg( "todaytodoplugin" ); 69 Config cfg( "todaytodoplugin" );
54 cfg.setGroup( "config" ); 70 cfg.setGroup( "config" );
55 m_maxLinesTask = cfg.readNumEntry( "maxlinestask", 5 ); 71 m_maxLinesTask = cfg.readNumEntry( "maxlinestask", 5 );
56 m_maxCharClip = cfg.readNumEntry( "maxcharclip", 38 ); 72 m_maxCharClip = cfg.readNumEntry( "maxcharclip", 38 );
57} 73}
58 74
75void TodolistPluginWidget:: refresh() {
76 getTodo();
77}
59 78
60/** 79/**
61 * Get the todos 80 * Get the todos
62 */ 81 */
63void TodolistPluginWidget::getTodo() { 82void TodolistPluginWidget::getTodo() {
64 83
65 QVBoxLayout* layoutTodo = new QVBoxLayout( this );
66
67 if ( todoLabel ) {
68 delete todoLabel;
69 }
70
71 todoLabel = new OClickableLabel( this );
72 connect( todoLabel, SIGNAL( clicked() ), this, SLOT( startTodolist() ) );
73 84
74 QString output; 85 QString output;
75 QString tmpout; 86 QString tmpout;
76 int count = 0; 87 int count = 0;
77 int ammount = 0; 88 int ammount = 0;
78 89
79 // get overdue todos first 90 // get overdue todos first
80 m_list = todo->overDue(); 91 m_list = todo->overDue();
81 92
82 for ( m_it = m_list.begin(); m_it != m_list.end(); ++m_it ) { 93 for ( m_it = m_list.begin(); m_it != m_list.end(); ++m_it ) {
83 if (!(*m_it).isCompleted() && ( ammount < m_maxLinesTask ) ) { 94 if (!(*m_it).isCompleted() && ( ammount < m_maxLinesTask ) ) {
84 QString desc = (*m_it).summary(); 95 QString desc = (*m_it).summary();
@@ -109,22 +120,21 @@ void TodolistPluginWidget::getTodo() {
109 120
110 if ( count > 0 ) { 121 if ( count > 0 ) {
111 if( count == 1 ) { 122 if( count == 1 ) {
112 output += QObject::tr( "There is <b> 1</b> active task: <br>" ); 123 output += QObject::tr( "There is <b> 1</b> active task: <br>" );
113 } else { 124 } else {
114 output += QObject::tr( "There are <b> %1</b> active tasks: <br>" ).arg( count ); 125 output += QObject::tr( "There are <b> %1</b> active tasks: <br>" ).arg( count );
115 } 126 }
116 output += tmpout; 127 output += tmpout;
117 } else { 128 } else {
118 output = QObject::tr( "No active tasks" ); 129 output = QObject::tr( "No active tasks" );
119 } 130 }
120 todoLabel->setText( output ); 131 todoLabel->setText( output );
121 layoutTodo->addWidget( todoLabel );
122} 132}
123 133
124/** 134/**
125 * start the todolist 135 * start the todolist
126 */ 136 */
127void TodolistPluginWidget::startTodolist() { 137void TodolistPluginWidget::startTodolist() {
128 QCopEnvelope e( "QPE/System", "execute(QString)" ); 138 QCopEnvelope e( "QPE/System", "execute(QString)" );
129 e << QString( "todolist" ); 139 e << QString( "todolist" );
130} 140}