summaryrefslogtreecommitdiff
path: root/core/pim/today/plugins/todolist/todopluginwidget.cpp
Unidiff
Diffstat (limited to 'core/pim/today/plugins/todolist/todopluginwidget.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--core/pim/today/plugins/todolist/todopluginwidget.cpp34
1 files changed, 22 insertions, 12 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
@@ -27,52 +27,63 @@
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
@@ -83,13 +94,13 @@ void TodolistPluginWidget::getTodo() {
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();
85 if( desc.isEmpty() ) { 96 if( desc.isEmpty() ) {
86 desc = (*m_it).description(); 97 desc = (*m_it).description();
87 } 98 }
88 tmpout += "<font color=#e00000><b>-" + desc.mid( 0, m_maxCharClip ) + "</b></font><br>"; 99 tmpout += "<font color=#e00000><b>-" + desc.mid( 0, m_maxCharClip ) + "</b></font><br>";
89 ammount++; 100 ammount++ ;
90 } 101 }
91 } 102 }
92 103
93 // get total number of still open todos 104 // get total number of still open todos
94 m_list = todo->sorted( true, 1, 4, 1); 105 m_list = todo->sorted( true, 1, 4, 1);
95 106
@@ -115,13 +126,12 @@ void TodolistPluginWidget::getTodo() {
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() {