summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/pim/todo/mainwindow.cpp70
-rw-r--r--core/pim/todo/mainwindow.h6
-rw-r--r--core/pim/todo/quickeditimpl.cpp56
-rw-r--r--core/pim/todo/quickeditimpl.h9
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
@@ -24,12 +24,13 @@
Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#include <unistd.h>
+#include <stdio.h>
#include <qmenubar.h>
#include <qmessagebox.h>
#include <qtoolbar.h>
#include <qpopupmenu.h>
#include <qwidgetstack.h>
@@ -40,12 +41,13 @@
#include <qpe/applnk.h>
#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>
#include "quickeditimpl.h"
#include "todotemplatemanager.h"
@@ -82,12 +84,17 @@ MainWindow::MainWindow( QWidget* parent,
QTimer::singleShot(0, this, SLOT(populateCategories() ) );
}
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() ) );
a->addTo(m_tool );
a->addTo(m_edit );
@@ -145,77 +152,75 @@ void MainWindow::initActions() {
connect( a, SIGNAL( activated() ),
this, SLOT( slotBeam() ) );
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() {
Config config( "todo" );
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 );
/** QPopupMenu */
m_edit = new QPopupMenu( this );
@@ -368,13 +373,14 @@ void MainWindow::closeEvent( QCloseEvent* e ) {
Config config( "todo" );
config.setGroup( "View" );
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();
}
}
void MainWindow::populateTemplates() {
m_template->clear();
@@ -512,12 +518,19 @@ void MainWindow::slotShowDeadLine( bool dead) {
currentView()->setShowDeadline( 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) {
DocLnk doc(fi);
if (doc.isValid() )
@@ -588,12 +601,15 @@ void MainWindow::populateCategories() {
bool MainWindow::showCompleted()const {
return m_completed;
}
bool MainWindow::showDeadline()const {
return m_deadline;
}
+bool MainWindow::showQuickTask()const {
+ return m_quicktask;
+}
QString MainWindow::currentCategory()const {
return m_curCat;
}
int MainWindow::currentCatId() {
return m_todoMgr.catId( 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
@@ -44,12 +44,13 @@ class QPopupMenu;
class QMenuBar;
class QToolBar;
class QAction;
class QWidgetStack;
class Ir;
class QVBox;
+class QLineEdit;
namespace Todo {
typedef TodoView View;
class TemplateManager;
class Editor;
class TodoShow;
@@ -79,12 +80,13 @@ namespace Todo {
OTodo event(int uid );
bool isSyncing()const;
bool showCompleted()const;
bool showDeadline()const;
bool showOverDue()const;
+ bool showQuickTask()const;
QString currentCategory()const;
int currentCatId();
TemplateManager* templateManager();
QuickEditBase* quickEditor();
void updateTodo( const OTodo& );
@@ -128,12 +130,13 @@ private slots:
*m_completedAction,
*m_showDeadLineAction,
*m_deleteAllAction,
*m_deleteCompleteAction,
*m_duplicateAction,
*m_showOverDueAction,
+ *m_showQuickTaskAction,
*m_effectiveAction;
QWidgetStack *m_stack;
QPopupMenu* m_catMenu,
*m_edit,
*m_options,
*m_template;
@@ -146,16 +149,16 @@ private slots:
QVBox* m_mainBox;
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;
private slots:
void slotShow(int);
@@ -175,12 +178,13 @@ private slots:
void slotFind();
void setCategory( int );
void slotShowDeadLine( bool );
void slotShowCompleted( bool );
+ void slotShowQuickTask( bool );
void setDocument( const QString& );
void slotBeam();
void beamDone( Ir* );
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,63 +1,69 @@
+#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() {
}
OTodo QuickEditImpl::todo()const {
return m_todo;
}
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();
}
m_todo = todo;
reinit();
@@ -78,12 +84,16 @@ void QuickEditImpl::slotPrio() {
default:
m_lbl->setText( "3");
break;
}
}
void QuickEditImpl::slotMore() {
+ // TODO - implement
+}
+void QuickEditImpl::slotCancel() {
+ reinit();
}
void QuickEditImpl::reinit() {
m_state = 1;
m_lbl->setText("3");
m_edit->clear();
}
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,34 +1,35 @@
#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;
QLineEdit* m_edit;
QLabel* m_enter;
QLabel* m_more;
QPopupMenu* m_menu;
OTodo m_todo;
+ bool m_visible;
};
#endif