-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 | 50 | ||||
-rw-r--r-- | core/pim/todo/quickeditimpl.h | 9 |
4 files changed, 83 insertions, 52 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 @@ -27,6 +27,7 @@ */ #include <unistd.h> +#include <stdio.h> #include <qmenubar.h> #include <qmessagebox.h> @@ -43,6 +44,7 @@ #include <qpe/ir.h> #include <qpe/resource.h> #include <qpe/qpemessagebox.h> +#include <qpe/qpetoolbar.h> #include <opie/orecur.h> #include <opie/otodoaccessvcal.h> @@ -85,6 +87,11 @@ 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() ), @@ -148,28 +155,38 @@ void MainWindow::initActions() { 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) ) ); + + 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 Deadline"), + 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(); @@ -177,17 +194,9 @@ void MainWindow::initActions() { 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 */ @@ -197,22 +206,18 @@ void MainWindow::initConfig() { 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 ); @@ -371,7 +376,8 @@ void MainWindow::closeEvent( QCloseEvent* e ) { config.writeEntry( "Category", currentCategory() ); config.writeEntry( "ShowDeadLine", showDeadline()); config.writeEntry( "ShowOverDue", showOverDue() ); - /* svae templates */ + config.writeEntry( "ShowQuickTask", showQuickTask() ); + /* save templates */ templateManager()->save(); e->accept(); } @@ -515,6 +521,13 @@ 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; } @@ -591,6 +604,9 @@ 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; } 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 @@ -47,6 +47,7 @@ class QAction; class QWidgetStack; class Ir; class QVBox; +class QLineEdit; namespace Todo { typedef TodoView View; @@ -82,6 +83,7 @@ namespace Todo { bool showCompleted()const; bool showDeadline()const; bool showOverDue()const; + bool showQuickTask()const; QString currentCategory()const; int currentCatId(); TemplateManager* templateManager(); @@ -131,6 +133,7 @@ private slots: *m_deleteCompleteAction, *m_duplicateAction, *m_showOverDueAction, + *m_showQuickTaskAction, *m_effectiveAction; QWidgetStack *m_stack; QPopupMenu* m_catMenu, @@ -149,10 +152,10 @@ private slots: 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; @@ -178,6 +181,7 @@ private slots: 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,37 +1,46 @@ +#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) { +QuickEditImpl::QuickEditImpl( QWidget* parent, bool visible ) + : QPEToolBar( (QMainWindow *)parent ), Todo::QuickEdit( (Todo::MainWindow *)parent ) { + setHorizontalStretchable( TRUE ); + + // TODO - come up with icons and replace text priority values m_lbl = new OClickableLabel(this ); - m_lbl->setMinimumWidth(12); + m_lbl->setMinimumWidth(15); m_lbl->setText("3"); + connect(m_lbl, SIGNAL(clicked() ), this, SLOT(slotPrio()) ); m_edit = new QLineEdit(this ); + setStretchableWidget( m_edit ); - m_enter = new OClickableLabel(this); - m_enter->setText("Enter"); + 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 ); - m_more = new OClickableLabel(this); - m_more->setText("More"); + a = new QAction( tr( "Enter" ), Resource::loadPixmap( "enter" ), QString::null, 0, this, 0 ); + connect( a, SIGNAL( activated() ), this, SLOT( slotEnter() ) ); + a->addTo( this ); + a = new QAction( tr( "Cancel" ), Resource::loadPixmap( "close" ), QString::null, 0, this, 0 ); + connect( a, SIGNAL( activated() ), this, SLOT( slotCancel() ) ); + 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() ) ); + m_visible = visible; + if ( !m_visible ) { + hide(); + } m_menu = 0l; reinit(); - setMaximumHeight( m_edit->sizeHint().height() ); } QuickEditImpl::~QuickEditImpl() { @@ -42,9 +51,6 @@ OTodo QuickEditImpl::todo()const { QWidget* QuickEditImpl::widget() { return this; } -QSize QuickEditImpl::sizeHint()const{ - return m_edit->sizeHint(); -} void QuickEditImpl::slotEnter() { OTodo todo; @@ -53,8 +59,8 @@ void QuickEditImpl::slotEnter() { 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(); @@ -81,6 +87,10 @@ void QuickEditImpl::slotPrio() { } } void QuickEditImpl::slotMore() { + // TODO - implement +} +void QuickEditImpl::slotCancel() { + reinit(); } void QuickEditImpl::reinit() { m_state = 1; 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,25 +1,25 @@ #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; @@ -29,6 +29,7 @@ private: QLabel* m_more; QPopupMenu* m_menu; OTodo m_todo; + bool m_visible; }; #endif |