summaryrefslogtreecommitdiff
path: root/core/pim/todo/mainwindow.cpp
Side-by-side diff
Diffstat (limited to 'core/pim/todo/mainwindow.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--core/pim/todo/mainwindow.cpp70
1 files changed, 43 insertions, 27 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
@@ -18,40 +18,42 @@
++=   -.     .`     .: details.
 :     =  ...= . :.=-
 -.   .:....=;==+<; You should have received a copy of the GNU
  -_. . .   )=.  = General Public License along with
    --        :-=` this library; see the file COPYING.LIB.
If not, write to the Free Software Foundation,
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>
#include <qaction.h>
#include <qtimer.h>
#include <qvbox.h>
#include <qlineedit.h>
#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"
#include "templateeditor.h"
#include "tableview.h"
#include "textviewshow.h"
#include "todoeditor.h"
#include "mainwindow.h"
@@ -76,24 +78,29 @@ MainWindow::MainWindow( QWidget* parent,
initEditor();
initShow();
initTemplate();
populateTemplates();
raiseCurrentView();
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 );
a = new QAction( tr("Edit Task"), Resource::loadIconSet( "edit" ),
QString::null, 0, this, 0 );
connect(a, SIGNAL(activated() ),
this, SLOT( slotEdit() ) );
a->addTo( m_tool );
@@ -139,89 +146,87 @@ void MainWindow::initActions() {
m_edit->insertSeparator();
if ( Ir::supported() ) {
a = new QAction( tr( "Beam" ), Resource::loadPixmap( "beam" ),
QString::null, 0, this, 0 );
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 );
m_options = new QPopupMenu( this );
m_catMenu = new QPopupMenu( this );
m_template = new QPopupMenu( this );
m_catMenu->setCheckable( TRUE );
m_template->setCheckable( TRUE );
@@ -362,25 +367,26 @@ void MainWindow::closeEvent( QCloseEvent* e ) {
}else
e->ignore();
}
if (quit ) {
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();
QStringList list = templateManager()->templates();
QStringList::Iterator it;
for ( it = list.begin(); it != list.end(); ++it ) {
m_template->insertItem( (*it) );
}
}
@@ -506,24 +512,31 @@ void MainWindow::setCategory( int c) {
currentView()->setShowCategory( m_curCat );
raiseCurrentView();
}
void MainWindow::slotShowDeadLine( bool dead) {
m_deadline = 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() )
receiveFile(doc.file() );
else
receiveFile(fi );
}
static const char *beamfile = "/tmp/opie-todo.vcs";
@@ -582,24 +595,27 @@ void MainWindow::populateCategories() {
if ( *it == currentCategory() )
rememberId = id;
++id;
}
setCategory( rememberId );
}
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 );
}
ViewBase* MainWindow::currentView() {
return m_curView;
}
void MainWindow::raiseCurrentView() {
m_stack->raiseWidget( m_curView->widget() );
}