00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031 #include "taskeditoroverview.h"
00032
00033
00034
00035 #include <opie2/oresource.h>
00036
00037 #include <qpe/categoryselect.h>
00038 #include <qpe/datebookmonth.h>
00039
00040 #include <qcheckbox.h>
00041 #include <qlabel.h>
00042 #include <qlayout.h>
00043 #include <qmultilineedit.h>
00044 #include <qwhatsthis.h>
00045
00046 TaskEditorOverView::TaskEditorOverView( QWidget* parent, const char* name, WFlags fl )
00047 : QWidget( parent, name, fl )
00048 {
00049
00050
00051
00052 QString namestr;
00053 for ( unsigned int i = 1; i < 6; i++ ) {
00054 namestr = "todo/priority";
00055 namestr.append( QString::number( i ) );
00056 m_pic_priority[ i - 1 ] = Opie::Core::OResource::loadPixmap( namestr );
00057 }
00058
00059 QVBoxLayout *vb = new QVBoxLayout( this );
00060
00061 QScrollView *sv = new QScrollView( this );
00062 vb->addWidget( sv );
00063 sv->setResizePolicy( QScrollView::AutoOneFit );
00064 sv->setFrameStyle( QFrame::NoFrame );
00065
00066 QWidget *container = new QWidget( sv->viewport() );
00067 sv->addChild( container );
00068
00069 QGridLayout *layout = new QGridLayout( container, 7, 2, 4, 4 );
00070
00071
00072 QLabel *label = new QLabel( tr( "Summary:" ), container );
00073 layout->addWidget( label, 0, 0 );
00074 QWhatsThis::add( label, tr( "Enter brief description of the task here." ) );
00075 cmbDesc = new QComboBox( TRUE, container );
00076 cmbDesc->insertItem( tr( "Complete " ) );
00077 cmbDesc->insertItem( tr( "Work on " ) );
00078 cmbDesc->insertItem( tr( "Buy " ) );
00079 cmbDesc->insertItem( tr( "Organize " ) );
00080 cmbDesc->insertItem( tr( "Get " ) );
00081 cmbDesc->insertItem( tr( "Update " ) );
00082 cmbDesc->insertItem( tr( "Create " ) );
00083 cmbDesc->insertItem( tr( "Plan " ) );
00084 cmbDesc->insertItem( tr( "Call " ) );
00085 cmbDesc->insertItem( tr( "Mail " ) );
00086 cmbDesc->clearEdit();
00087 layout->addMultiCellWidget( cmbDesc, 1, 1, 0, 1 );
00088 QWhatsThis::add( cmbDesc, tr( "Enter brief description of the task here." ) );
00089
00090
00091 label = new QLabel( QWidget::tr( "Priority:" ), container );
00092 layout->addWidget( label, 2, 0 );
00093 QWhatsThis::add( label, tr( "Select priority of task here." ) );
00094 cmbPriority = new QComboBox( FALSE, container );
00095 cmbPriority->setMinimumHeight( 26 );
00096 cmbPriority->insertItem( m_pic_priority[ 0 ], tr( "Very High" ) );
00097 cmbPriority->insertItem( m_pic_priority[ 1 ], tr( "High" ) );
00098 cmbPriority->insertItem( m_pic_priority[ 2 ], tr( "Normal" ) );
00099 cmbPriority->insertItem( m_pic_priority[ 3 ], tr( "Low" ) );
00100 cmbPriority->insertItem( m_pic_priority[ 4 ], tr( "Very Low" ) );
00101 cmbPriority->setCurrentItem( 2 );
00102 layout->addWidget( cmbPriority, 2, 1 );
00103 QWhatsThis::add( cmbPriority, tr( "Select priority of task here." ) );
00104
00105
00106 label = new QLabel( tr( "Category:" ), container );
00107 layout->addWidget( label, 3, 0 );
00108 QWhatsThis::add( label, tr( "Select category to organize this task with." ) );
00109 cmbCategory = new CategorySelect( container );
00110 layout->addWidget( cmbCategory, 3, 1 );
00111 QWhatsThis::add( cmbCategory, tr( "Select category to organize this task with." ) );
00112
00113
00114 ckbRecurrence = new QCheckBox( tr( "Recurring task" ), container );
00115 layout->addMultiCellWidget( ckbRecurrence, 4, 4, 0, 1 );
00116 QWhatsThis::add( ckbRecurrence, tr( "Click here if task happens on a regular basis. If selected, frequency can be set on the Recurrence tab." ) );
00117 connect( ckbRecurrence, SIGNAL(clicked() ), this, SLOT( slotRecClicked() ) );
00118
00119
00120 label = new QLabel( tr( "Description:" ), container );
00121 layout->addWidget( label, 5, 0 );
00122 QWhatsThis::add( label, tr( "Enter any additional information about this task here." ) );
00123 mleNotes = new QMultiLineEdit( container );
00124 mleNotes->setWordWrap( QMultiLineEdit::WidgetWidth );
00125 layout->addMultiCellWidget( mleNotes, 6, 6, 0, 1 );
00126 QWhatsThis::add( mleNotes, tr( "Enter any additional information about this task here." ) );
00127 }
00128
00129 TaskEditorOverView::~TaskEditorOverView()
00130 {
00131 }
00132
00133 void TaskEditorOverView::load( const OPimTodo& todo )
00134 {
00135
00136 cmbDesc->insertItem( todo.summary(), 0 );
00137 cmbDesc->setCurrentItem( 0 );
00138
00139
00140 cmbPriority->setCurrentItem( todo.priority() - 1 );
00141
00142
00143 cmbCategory->setCategories( todo.categories(), "Todo List", tr( "Todo List" ) );
00144
00145
00146 ckbRecurrence->setChecked( todo.hasRecurrence() );
00147 emit recurranceEnabled( todo.hasRecurrence() );
00148
00149
00150 mleNotes->setText( todo.description() );
00151
00152 }
00153
00154 void TaskEditorOverView::save( OPimTodo &todo )
00155 {
00156
00157 todo.setSummary( cmbDesc->currentText() );
00158
00159
00160 todo.setPriority( cmbPriority->currentItem() + 1 );
00161
00162
00163 if ( cmbCategory->currentCategory() != -1 )
00164 {
00165 QArray<int> arr = cmbCategory->currentCategories();
00166 todo.setCategories( arr );
00167 }
00168
00169
00170
00171
00172 todo.setDescription( mleNotes->text() );
00173 }
00174
00175 void TaskEditorOverView::slotRecClicked()
00176 {
00177 emit recurranceEnabled( ckbRecurrence->isChecked() );
00178 }