summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/pim/todo/main.cpp2
-rw-r--r--core/pim/todo/mainwindow.cpp2
-rw-r--r--core/pim/todo/mainwindow.h2
3 files changed, 3 insertions, 3 deletions
diff --git a/core/pim/todo/main.cpp b/core/pim/todo/main.cpp
index aeae794..58ed45c 100644
--- a/core/pim/todo/main.cpp
+++ b/core/pim/todo/main.cpp
@@ -1,49 +1,49 @@
/**********************************************************************
** Copyright (C) 2000 Trolltech AS. All rights reserved.
**
** This file is part of Qtopia Environment.
**
** This file may be distributed and/or modified under the terms of the
** GNU General Public License version 2 as published by the Free Software
** Foundation and appearing in the file LICENSE.GPL included in the
** packaging of this file.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
**
** See http://www.trolltech.com/gpl/ for GPL licensing information.
**
** Contact info@trolltech.com if any conditions of this licensing are
** not clear to you.
**
**********************************************************************/
#include "mainwindow.h"
#include <qdatetime.h>
#include <qpe/qpeapplication.h>
void myMessages( QtMsgType, const char* ) {
}
int main( int argc, char **argv )
{
-// qInstallMsgHandler( myMessages );
+ qInstallMsgHandler( myMessages );
QPEApplication a( argc, argv );
QTime time;
time.start();
Todo::MainWindow mw;
int t = time.elapsed();
qWarning("QTime %d", t/1000 );
mw.setCaption("Opie Todolist");
QObject::connect( &a, SIGNAL( flush() ), &mw, SLOT( slotFlush() ) );
QObject::connect( &a, SIGNAL( reload() ), &mw, SLOT( slotReload() ) );
a.showMainWidget(&mw);
return a.exec();
}
diff --git a/core/pim/todo/mainwindow.cpp b/core/pim/todo/mainwindow.cpp
index d328558..7810285 100644
--- a/core/pim/todo/mainwindow.cpp
+++ b/core/pim/todo/mainwindow.cpp
@@ -591,228 +591,228 @@ void MainWindow::populateCategories() {
categories.append( QWidget::tr( "Unfiled" ) );
for ( QStringList::Iterator it = categories.begin();
it != categories.end(); ++it ) {
m_catMenu->insertItem( *it, id );
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() );
}
void MainWindow::slotShowDue(bool ov) {
m_overdue = ov;
currentView()->showOverDue( ov );
raiseCurrentView();
}
void MainWindow::slotShow( int uid ) {
qWarning("slotShow");
currentShow()->slotShow( event( uid ) );
m_stack->raiseWidget( currentShow()->widget() );
}
void MainWindow::slotEdit( int uid ) {
if(m_syncing) {
QMessageBox::warning(this, QWidget::tr("Todo"),
QWidget::tr("Can not edit data, currently syncing"));
return;
}
OTodo todo = m_todoMgr.event( uid );
todo = currentEditor()->edit(this, todo );
/* if completed */
if ( currentEditor()->accepted() ) {
qWarning("Replacing now" );
m_todoMgr.update( todo.uid(), todo );
currentView()->replaceEvent( todo );
/* a Category might have changed */
populateCategories();
}
raiseCurrentView();
}
/*
void MainWindow::slotUpdate1( int uid, const SmallTodo& ev) {
m_todoMgr.update( uid, ev );
}
*/
void MainWindow::updateTodo( const OTodo& ev) {
m_todoMgr.update( ev.uid() , ev );
}
/* The view changed it's configuration
* update the view menu
*/
void MainWindow::slotUpdate3( QWidget* ) {
}
void MainWindow::updateList() {
m_todoMgr.updateList();
}
void MainWindow::setReadAhead( uint count ) {
if (m_todoMgr.todoDB() )
m_todoMgr.todoDB()->setReadAhead( count );
}
void MainWindow::slotQuickEntered() {
qWarning("entered");
OTodo todo = quickEditor()->todo();
if (todo.isEmpty() )
return;
m_todoMgr.add( todo );
currentView()->addEvent( todo );
raiseCurrentView();
}
QuickEditBase* MainWindow::quickEditor() {
return m_curQuick;
}
void MainWindow::slotComplete( int uid ) {
slotComplete( event(uid) );
}
void MainWindow::slotComplete( const OTodo& todo ) {
OTodo to = todo;
to.setCompleted( !to.isCompleted() );
to.setCompletedDate( QDate::currentDate() );
/*
* if the item does recur
* we need to spin it off
* and update the items duedate to the next
* possible recurrance of this item...
* the spinned off one will loose the
*/
if ( to.recurrence().doesRecur() && to.isCompleted() ) {
OTodo to2( to );
/* the spinned off one won't recur anymore */
to.setRecurrence( ORecur() );
ORecur rec = to2.recurrence();
rec.setStart( to.dueDate() );
to2.setRecurrence( rec );
/*
* if there is a next occurence
* from the duedate of the last recurrance
*/
QDate date;
if ( to2.recurrence().nextOcurrence( to2.dueDate().addDays(1), date ) ) {
QDate inval;
/* generate a new uid for the old record */
to.setUid( 1 );
/* add the old one cause it has a new UID here cause it was spin off */
m_todoMgr.add( to );
/*
* update the due date
* start date
* and complete date
*/
to2.setDueDate( date );
to2.setStartDate( inval );
to2.setCompletedDate( inval );
to2.setCompleted( false );
updateTodo( to2 );
}else
updateTodo( to );
}else
updateTodo( to );
currentView()->updateView();
raiseCurrentView();
}
void MainWindow::flush() {
slotFlush();
}
void MainWindow::reload() {
slotReload();
}
int MainWindow::create() {
int uid = 0;
if(m_syncing) {
QMessageBox::warning(this, QWidget::tr("Todo"),
QWidget::tr("Can not edit data, currently syncing"));
return uid;
}
OTodo todo = currentEditor()->newTodo( currentCatId(),
this );
if ( currentEditor()->accepted() ) {
//todo.assignUid();
uid = todo.uid();
m_todoMgr.add( todo );
currentView()->addEvent( todo );
// I'm afraid we must call this every time now, otherwise
// spend expensive time comparing all these strings...
// but only call if we changed something -zecke
populateCategories();
}
raiseCurrentView( );
return uid;
}
/* delete it silently... */
bool MainWindow::remove( int uid ) {
if (m_syncing) return false;
return m_todoMgr.remove( uid );
}
-void MainWindow::beam( int uid, int ) {
+void MainWindow::beam( int uid) {
::unlink( beamfile );
OTodo todo = event( uid );
OTodoAccessVCal* cal = new OTodoAccessVCal(QString::fromLatin1(beamfile) );
OTodoAccess acc( cal );
acc.load();
acc.add( todo );
acc.save();
Ir* ir = new Ir(this );
connect(ir, SIGNAL(done(Ir*) ),
this, SLOT(beamDone(Ir*) ) );
ir->send( beamfile, todo.summary(), "text/x-vCalendar" );
}
void MainWindow::show( int uid ) {
slotShow( uid );
}
void MainWindow::edit( int uid ) {
slotEdit( uid );
}
void MainWindow::add( const OPimRecord& rec) {
if ( rec.rtti() != OTodo::rtti() ) return;
const OTodo& todo = static_cast<const OTodo&>(rec);
m_todoMgr.add(todo );
currentView()->addEvent( todo );
// I'm afraid we must call this every time now, otherwise
// spend expensive time comparing all these strings...
// but only call if we changed something -zecke
populateCategories();
}
void MainWindow::slotReturnFromView() {
raiseCurrentView();
}
diff --git a/core/pim/todo/mainwindow.h b/core/pim/todo/mainwindow.h
index f880505..434e969 100644
--- a/core/pim/todo/mainwindow.h
+++ b/core/pim/todo/mainwindow.h
@@ -2,200 +2,200 @@
               =. This file is part of the OPIE Project
             .=l. Copyright (c) 2002 Holger Freyther <zecke@handhelds.org>
           .>+-=
 _;:,     .>    :=|. This program is free software; you can
.> <`_,   >  .   <= redistribute it and/or modify it under
:`=1 )Y*s>-.--   : the terms of the GNU General Public
.="- .-=="i,     .._ License as published by the Free Software
 - .   .-<_>     .<> Foundation; either version 2 of the License,
     ._= =}       : or (at your option) any later version.
    .%`+i>       _;_.
    .i_,=:_.      -<s. This program is distributed in the hope that
     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY;
    : ..    .:,     . . . without even the implied warranty of
    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A
  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU
..}^=.=       =       ; Library General Public License for more
++=   -.     .`     .: details.
 :     =  ...= . :.=-
 -.   .:....=;==+<; You should have received a copy of the GNU
  -_. . .   )=.  = Library 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.
*/
#ifndef TODO_MAIN_WINDOW_H
#define TODO_MAIN_WINDOW_H
#include <qlist.h>
#include <opie/otodoaccess.h>
#include <opie/otodo.h>
#include <opie/opimmainwindow.h>
#include "smalltodo.h"
#include "todoview.h"
#include "quickedit.h"
#include "todomanager.h"
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;
class TemplateEditor;
struct QuickEditBase;
class MainWindow : public OPimMainWindow {
Q_OBJECT
friend class TodoView; // avoid QObject here....
friend class TodoShow; // avoid QObject
public:
MainWindow( QWidget *parent = 0,
const char* name = 0 );
~MainWindow();
/** return a context menu for an OTodo */
QPopupMenu* contextMenu(int uid, bool doesRecur = FALSE );
QPopupMenu* options();
QPopupMenu* edit();
QToolBar* toolbar();
void updateList();
OTodoAccess::List list()const;
OTodoAccess::List sorted( bool asc, int sortOrder );
OTodoAccess::List sorted( bool asc, int sortOrder, int addFilter );
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& );
void populateTemplates();
Editor* currentEditor();
void setReadAhead(uint count );
private slots:
void slotQuickEntered();
void populateCategories();
void slotReload();
void slotFlush();
protected:
void closeEvent( QCloseEvent* e );
private:
void receiveFile( const QString& filename );
void connectBase( ViewBase* );
void initUI();
void initActions();
void initConfig();
void initViews();
void initEditor();
void initShow();
void initTemplate();
void raiseCurrentView();
ViewBase* currentView();
ViewBase* m_curView;
QuickEditBase* m_curQuick;
Editor* m_curEdit;
TodoShow* currentShow();
TodoShow* m_curShow;
TemplateEditor* currentTemplateEditor();
TemplateEditor* m_curTempEd;
QMenuBar* m_bar;
QToolBar* m_tool;
QAction* m_editAction,
*m_deleteAction,
*m_findAction,
*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;
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;
uint m_counter;
TemplateManager* m_tempManager;
private slots:
void slotShow(int);
void slotEdit(int);
void slotUpdate3( QWidget* );
void slotComplete( int uid );
void slotComplete( const OTodo& ev );
void slotNewFromTemplate(int id );
void slotNew();
void slotDuplicate();
void slotDelete();
void slotDeleteAll();
void slotDeleteCompleted();
void slotEdit();
void slotFind();
void setCategory( int );
void slotShowDeadLine( bool );
void slotShowCompleted( bool );
void slotShowQuickTask( bool );
void setDocument( const QString& );
void slotBeam();
void beamDone( Ir* );
void slotShowDetails();
void slotShowDue( bool );
void slotReturnFromView(); // for TodoShow...
/* reimplementation from opimmainwindow */
protected slots:
void flush();
void reload();
int create();
bool remove( int uid );
- void beam(int uid, int transport = IrDa );
+ void beam(int uid);
void show( int uid );
void edit( int uid );
void add( const OPimRecord& );
};
};
#endif