-rw-r--r-- | core/pim/todo/mainwindow.cpp | 70 | ||||
-rw-r--r-- | core/pim/todo/mainwindow.h | 6 | ||||
-rw-r--r-- | core/pim/todo/quickeditimpl.cpp | 56 | ||||
-rw-r--r-- | core/pim/todo/quickeditimpl.h | 9 |
4 files changed, 86 insertions, 55 deletions
diff --git a/core/pim/todo/mainwindow.cpp b/core/pim/todo/mainwindow.cpp index 0ab6230..f0aa455 100644 --- a/core/pim/todo/mainwindow.cpp +++ b/core/pim/todo/mainwindow.cpp @@ -26,8 +26,9 @@ */ #include <unistd.h> +#include <stdio.h> #include <qmenubar.h> #include <qmessagebox.h> #include <qtoolbar.h> @@ -42,8 +43,9 @@ #include <qpe/config.h> #include <qpe/ir.h> #include <qpe/resource.h> #include <qpe/qpemessagebox.h> +#include <qpe/qpetoolbar.h> #include <opie/orecur.h> #include <opie/otodoaccessvcal.h> @@ -84,8 +86,13 @@ MainWindow::MainWindow( QWidget* parent, void MainWindow::initTemplate() { m_curTempEd = new TemplateEditor( this, templateManager() ); } void MainWindow::initActions() { + + // Data menu + m_edit->insertItem(tr("New from template"), m_template, + -1, 0 ); + QAction* a = new QAction( tr("New Task" ), Resource::loadPixmap( "new" ), QString::null, 0, this, 0 ); connect(a, SIGNAL( activated() ), this, SLOT( slotNew() ) ); @@ -147,48 +154,50 @@ void MainWindow::initActions() { a->addTo( m_edit ); a->addTo( m_tool ); } + // Options menu a = new QAction( tr("Find"), Resource::loadIconSet( "mag" ), QString::null, 0, this, 0 ); - connect(a, SIGNAL( activated() ), - this, SLOT( slotFind() ) ); + connect(a, SIGNAL( activated() ), this, SLOT( slotFind() ) ); a->addTo( m_options ); m_findAction = a; m_options->insertSeparator(); - m_completedAction = new QAction( QString::null, tr("Completed tasks"), + m_completedAction = new QAction( QString::null, tr("Show completed tasks"), 0, this, 0, TRUE ); m_completedAction->addTo( m_options ); m_completedAction->setOn( showCompleted() ); - connect(m_completedAction, SIGNAL( toggled(bool) ), - this, SLOT(slotShowCompleted(bool) ) ); + connect(m_completedAction, SIGNAL( toggled(bool) ), this, SLOT(slotShowCompleted(bool) ) ); - m_showDeadLineAction = new QAction( QString::null, tr("Show Deadline"), + a = new QAction( QString::null, tr("Show only over-due tasks"), + 0, this, 0, TRUE ); + a->addTo( m_options ); + a->setOn( showOverDue() ); + connect(a, SIGNAL(toggled(bool)), this, SLOT(slotShowDue(bool) ) ); + + m_showDeadLineAction = new QAction( QString::null, tr("Show task deadlines"), 0, this, 0, TRUE ); m_showDeadLineAction->addTo( m_options ); m_showDeadLineAction->setOn( showDeadline() ); - connect(m_showDeadLineAction, SIGNAL(toggled(bool) ), - this, SLOT( slotShowDeadLine( bool ) ) ); + connect(m_showDeadLineAction, SIGNAL(toggled(bool) ), this, SLOT( slotShowDeadLine( bool ) ) ); + + m_showQuickTaskAction = new QAction( QString::null, tr("Show quick task bar"), + 0, this, 0, TRUE ); + m_showQuickTaskAction->addTo( m_options ); + m_showQuickTaskAction->setOn( showQuickTask() ); + connect(m_showQuickTaskAction, SIGNAL( toggled(bool) ), this, SLOT(slotShowQuickTask(bool) ) ); m_options->insertSeparator(); m_bar->insertItem( tr("Data") ,m_edit ); m_bar->insertItem( tr("Category"), m_catMenu ); m_bar->insertItem( tr("Options"), m_options ); - /* initialize the view menu */ - a = new QAction( QString::null, tr("Show only over due"), - 0, this, 0, TRUE ); - a->addTo( m_options ); - a->setOn( showOverDue() ); - connect(a, SIGNAL(toggled(bool)), - this, SLOT(slotShowDue(bool) ) ); - - /* templates */ - m_edit->insertItem(tr("New from template"), m_template, - -1, 0 ); + m_curQuick = new QuickEditImpl( this, m_quicktask ); + addToolBar( (QPEToolBar *)m_curQuick->widget(), tr( "QuickEdit" ), QMainWindow::Top, TRUE ); + m_curQuick->signal()->connect( this, SLOT(slotQuickEntered() ) ); } /* m_curCat from Config */ void MainWindow::initConfig() { @@ -196,24 +205,20 @@ void MainWindow::initConfig() { config.setGroup( "View" ); m_completed = config.readBoolEntry( "ShowComplete", TRUE ); m_curCat = config.readEntry( "Category", QString::null ); m_deadline = config.readBoolEntry( "ShowDeadLine", TRUE); - m_overdue = config.readBoolEntry("ShowOverDue", TRUE ); + m_overdue = config.readBoolEntry("ShowOverDue", FALSE ); + m_quicktask = config.readBoolEntry("ShowQuickTask", TRUE); } void MainWindow::initUI() { m_mainBox = new QVBox(this, "main box "); - m_curQuick = new QuickEditImpl(this, m_mainBox ); - m_curQuick->signal()->connect( this, SLOT(slotQuickEntered() ) ); - m_quickEdit.append( m_curQuick ); - - m_stack = new QWidgetStack(m_mainBox, "main stack"); setCentralWidget( m_mainBox ); setToolBarsMovable( FALSE ); - m_tool = new QToolBar( this ); + m_tool = new QPEToolBar( this ); m_tool->setHorizontalStretchable( TRUE ); m_bar = new QMenuBar( m_tool ); @@ -370,9 +375,10 @@ void MainWindow::closeEvent( QCloseEvent* e ) { config.writeEntry( "ShowComplete", showCompleted() ); config.writeEntry( "Category", currentCategory() ); config.writeEntry( "ShowDeadLine", showDeadline()); config.writeEntry( "ShowOverDue", showOverDue() ); - /* svae templates */ + config.writeEntry( "ShowQuickTask", showQuickTask() ); + /* save templates */ templateManager()->save(); e->accept(); } } @@ -514,8 +520,15 @@ void MainWindow::slotShowDeadLine( bool dead) { void MainWindow::slotShowCompleted( bool show) { m_completed = show; currentView()->setShowCompleted( m_completed ); } +void MainWindow::slotShowQuickTask( bool show ) { + m_quicktask = show; + if ( m_quicktask ) + m_curQuick->widget()->show(); + else + m_curQuick->widget()->hide(); +} bool MainWindow::showOverDue()const { return m_overdue; } void MainWindow::setDocument( const QString& fi) { @@ -590,8 +603,11 @@ bool MainWindow::showCompleted()const { } bool MainWindow::showDeadline()const { return m_deadline; } +bool MainWindow::showQuickTask()const { + return m_quicktask; +} QString MainWindow::currentCategory()const { return m_curCat; } int MainWindow::currentCatId() { diff --git a/core/pim/todo/mainwindow.h b/core/pim/todo/mainwindow.h index 87a9133..86b9ac2 100644 --- a/core/pim/todo/mainwindow.h +++ b/core/pim/todo/mainwindow.h @@ -46,8 +46,9 @@ class QToolBar; class QAction; class QWidgetStack; class Ir; class QVBox; +class QLineEdit; namespace Todo { typedef TodoView View; class TemplateManager; @@ -81,8 +82,9 @@ namespace Todo { bool isSyncing()const; bool showCompleted()const; bool showDeadline()const; bool showOverDue()const; + bool showQuickTask()const; QString currentCategory()const; int currentCatId(); TemplateManager* templateManager(); QuickEditBase* quickEditor(); @@ -130,8 +132,9 @@ private slots: *m_deleteAllAction, *m_deleteCompleteAction, *m_duplicateAction, *m_showOverDueAction, + *m_showQuickTaskAction, *m_effectiveAction; QWidgetStack *m_stack; QPopupMenu* m_catMenu, *m_edit, @@ -148,12 +151,12 @@ private slots: bool m_syncing:1; bool m_deadline:1; bool m_completed:1; bool m_overdue:1; + bool m_quicktask:1; TodoManager m_todoMgr; QString m_curCat; QList<ViewBase> m_views; - QList<QuickEditBase> m_quickEdit; uint m_counter; TemplateManager* m_tempManager; @@ -177,8 +180,9 @@ private slots: void setCategory( int ); void slotShowDeadLine( bool ); void slotShowCompleted( bool ); + void slotShowQuickTask( bool ); void setDocument( const QString& ); diff --git a/core/pim/todo/quickeditimpl.cpp b/core/pim/todo/quickeditimpl.cpp index 2dd5b61..9b54bdc 100644 --- a/core/pim/todo/quickeditimpl.cpp +++ b/core/pim/todo/quickeditimpl.cpp @@ -1,38 +1,47 @@ +#include <qaction.h> #include <qlineedit.h> +#include <qpe/resource.h> + #include <opie/oclickablelabel.h> #include "mainwindow.h" #include "quickeditimpl.h" -QuickEditImpl::QuickEditImpl( Todo::MainWindow* win, QWidget* arent ) - : QHBox(arent), Todo::QuickEdit(win) { - m_lbl = new OClickableLabel(this ); - m_lbl->setMinimumWidth(12); - m_lbl->setText("3"); +QuickEditImpl::QuickEditImpl( QWidget* parent, bool visible ) + : QPEToolBar( (QMainWindow *)parent ), Todo::QuickEdit( (Todo::MainWindow *)parent ) { + setHorizontalStretchable( TRUE ); - m_edit = new QLineEdit(this ); + // TODO - come up with icons and replace text priority values + m_lbl = new OClickableLabel( this ); + m_lbl->setMinimumWidth(15); + m_lbl->setText("3"); + connect(m_lbl, SIGNAL(clicked() ), this, SLOT(slotPrio()) ); - m_enter = new OClickableLabel(this); - m_enter->setText("Enter"); + m_edit = new QLineEdit( this ); + setStretchableWidget( m_edit ); - m_more = new OClickableLabel(this); - m_more->setText("More"); + QAction *a = new QAction( tr( "More" ), Resource::loadPixmap( "todo/more" ), QString::null, 0, this, 0 ); + connect( a, SIGNAL( activated() ), this, SLOT( slotMore() ) ); + a->addTo( this ); + a = new QAction( tr( "Enter" ), Resource::loadPixmap( "enter" ), QString::null, 0, this, 0 ); + connect( a, SIGNAL( activated() ), this, SLOT( slotEnter() ) ); + a->addTo( this ); - // connect - connect(m_lbl, SIGNAL(clicked() ), - this, SLOT(slotPrio()) ); - connect(m_enter, SIGNAL(clicked() ), - this, SLOT(slotEnter() ) ); - connect(m_more, SIGNAL(clicked() ), - this, SLOT(slotMore() ) ); + a = new QAction( tr( "Cancel" ), Resource::loadPixmap( "close" ), QString::null, 0, this, 0 ); + connect( a, SIGNAL( activated() ), this, SLOT( slotCancel() ) ); + a->addTo( this ); + m_visible = visible; + if ( !m_visible ) { + hide(); + } + m_menu = 0l; reinit(); - setMaximumHeight( m_edit->sizeHint().height() ); } QuickEditImpl::~QuickEditImpl() { } @@ -41,21 +50,18 @@ OTodo QuickEditImpl::todo()const { } QWidget* QuickEditImpl::widget() { return this; } -QSize QuickEditImpl::sizeHint()const{ - return m_edit->sizeHint(); -} void QuickEditImpl::slotEnter() { OTodo todo; if (!m_edit->text().isEmpty() ) { todo.setUid(1 ); // new uid todo.setPriority( m_lbl->text().toInt() ); todo.setSummary( m_edit->text() ); - if ( mainWindow()->currentCatId() != 0 ) - todo.setCategories( mainWindow()->currentCatId() ); + if ( ((Todo::MainWindow *)parent())->currentCatId() != 0 ) + todo.setCategories( ((Todo::MainWindow *)parent())->currentCatId() ); m_todo = todo; commit(); } @@ -80,8 +86,12 @@ void QuickEditImpl::slotPrio() { break; } } void QuickEditImpl::slotMore() { + // TODO - implement +} +void QuickEditImpl::slotCancel() { + reinit(); } void QuickEditImpl::reinit() { m_state = 1; m_lbl->setText("3"); diff --git a/core/pim/todo/quickeditimpl.h b/core/pim/todo/quickeditimpl.h index d0f6c69..c58275e 100644 --- a/core/pim/todo/quickeditimpl.h +++ b/core/pim/todo/quickeditimpl.h @@ -1,26 +1,26 @@ #ifndef OPIE_QUICK_EDIT_IMPL_H #define OPIE_QUICK_EDIT_IMPL_H -#include <qhbox.h> +#include <qpe/qpetoolbar.h> #include "quickedit.h" class QLineEdit; class QLabel; -class QuickEditImpl : public QHBox, public Todo::QuickEdit { +class QuickEditImpl : public QPEToolBar, public Todo::QuickEdit { Q_OBJECT public: - QuickEditImpl( Todo::MainWindow* win , QWidget* parent); + QuickEditImpl( QWidget* parent, bool visible); ~QuickEditImpl(); OTodo todo()const; QWidget* widget(); - QSize sizeHint()const; private slots: void slotEnter(); void slotPrio(); void slotMore(); + void slotCancel(); private: void reinit(); int m_state; QLabel* m_lbl; @@ -28,7 +28,8 @@ private: QLabel* m_enter; QLabel* m_more; QPopupMenu* m_menu; OTodo m_todo; + bool m_visible; }; #endif |