summaryrefslogtreecommitdiffabout
path: root/korganizer/kotodoview.cpp
Side-by-side diff
Diffstat (limited to 'korganizer/kotodoview.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/kotodoview.cpp198
1 files changed, 107 insertions, 91 deletions
diff --git a/korganizer/kotodoview.cpp b/korganizer/kotodoview.cpp
index ba94057..2b8fbd3 100644
--- a/korganizer/kotodoview.cpp
+++ b/korganizer/kotodoview.cpp
@@ -12,35 +12,51 @@
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
As a special exception, permission is given to link this program
with any edition of Qt, and distribute the resulting executable,
without including the source code for Qt in the source distribution.
*/
+#include <QDesktopWidget>
+
#include <qlayout.h>
-#include <qheader.h>
+#include <q3header.h>
#include <qcursor.h>
-#include <qwhatsthis.h>
+#include <q3whatsthis.h>
#include <qdialog.h>
#include <qlabel.h>
#include <qpushbutton.h>
#include <qinputdialog.h>
-#include <qvbox.h>
+#include <q3vbox.h>
+//Added by qt3to4:
+#include <QWheelEvent>
+#include <QFocusEvent>
+#include <QDragLeaveEvent>
+#include <QMouseEvent>
+#include <QDragEnterEvent>
+#include <QKeyEvent>
+#include <Q3HBoxLayout>
+#include <Q3VBoxLayout>
+#include <QDropEvent>
+#include <QDragMoveEvent>
+#include <QPaintEvent>
+#include <Q3PopupMenu>
+#include <Q3PtrList>
#include <kdebug.h>
#include "koprefs.h"
#include <klocale.h>
#include <kglobal.h>
#include <kdateedit.h>
#include "ktimeedit.h"
#include <kiconloader.h>
#include <kmessagebox.h>
#include <libkcal/icaldrag.h>
#include <libkcal/vcaldrag.h>
#include <libkcal/calfilter.h>
@@ -59,68 +75,68 @@
#endif
#include "docprefs.h"
#include "kotodoview.h"
using namespace KOrg;
KOStartTodoPrefs::KOStartTodoPrefs( QString sum, QWidget *parent, const char *name ) :
QDialog( parent, name, true )
{
mStopAll = true;
setCaption( i18n("Start todo") );
- QVBoxLayout* lay = new QVBoxLayout( this );
+ Q3VBoxLayout* lay = new Q3VBoxLayout( this );
lay->setSpacing( 3 );
lay->setMargin( 3 );
QLabel * lab = new QLabel( i18n("<b>%1\n</b>").arg( sum ), this );
lay->addWidget( lab );
- lab->setAlignment( AlignCenter );
+ lab->setAlignment( Qt::AlignCenter );
QPushButton * ok = new QPushButton( i18n("Start this todo\nand stop all running"), this );
lay->addWidget( ok );
ok->setDefault( true );
QPushButton * start = new QPushButton( i18n("Start todo"), this );
lay->addWidget( start );
QPushButton * cancel = new QPushButton( i18n("Cancel - do not start"), this );
lay->addWidget( cancel );
connect ( ok,SIGNAL(clicked() ),this , SLOT ( accept() ) );
connect ( start,SIGNAL(clicked() ),this , SLOT ( doStop() ) );
connect (cancel, SIGNAL(clicked() ), this, SLOT ( reject()) );
resize( sizeHint() );
}
void KOStartTodoPrefs::doStop()
{
mStopAll = false;
accept();
}
KOStopTodoPrefs::KOStopTodoPrefs( Todo* todo, QWidget *parent, const char *name ) :
QDialog( parent, name, true )
{
mTodo = todo;
setCaption( i18n("Stop todo") );
- QVBoxLayout* lay = new QVBoxLayout( this );
+ Q3VBoxLayout* lay = new Q3VBoxLayout( this );
lay->setSpacing( 3 );
lay->setMargin( 3 );
QLabel * lab = new QLabel( i18n("<b>%1\n</b>").arg( todo->summary() ), this );
lay->addWidget( lab );
- lab->setAlignment( AlignHCenter );
+ lab->setAlignment( Qt::AlignHCenter );
lab = new QLabel( i18n("Additional Comment:"), this );
lay->addWidget( lab );
mComment = new QLineEdit( this );
lay->addWidget( mComment );
- QHBox * start = new QHBox ( this );
+ Q3HBox * start = new Q3HBox ( this );
lay->addWidget( start );
lab = new QLabel( i18n("Start:"), start );
- QHBox * end = new QHBox ( this );
+ Q3HBox * end = new Q3HBox ( this );
lay->addWidget( end );
lab = new QLabel( i18n("End:"), end );
sde = new KDateEdit( start );
ste = new KOTimeEdit( start );
connect ( sde,SIGNAL(setTimeTo( QTime ) ),ste , SLOT ( setTime(QTime ) ) );
ede = new KDateEdit( end );
ete = new KOTimeEdit(end );
connect ( ede,SIGNAL(setTimeTo( QTime ) ),ete , SLOT ( setTime(QTime ) ) );
sde->setDate( mTodo->runStart().date() );
ste->setTime( mTodo->runStart().time() );
mStop = QDateTime::currentDateTime();
ede->setDate( mStop.date());
@@ -164,28 +180,28 @@ void KOStopTodoPrefs::accept()
QDialog::accept();
}
void KOStopTodoPrefs::doNotSave()
{
int result = KMessageBox::warningContinueCancel(this,
i18n("Do you really want to set\nthe state to stopped\nwithout saving the data?"),mTodo->summary(),i18n("Yes, stop todo") );
if (result != KMessageBox::Continue) return;
mTodo->stopRunning();
QDialog::accept();
}
-class KOTodoViewWhatsThis :public QWhatsThis
+class KOTodoViewWhatsThis :public Q3WhatsThis
{
public:
- KOTodoViewWhatsThis( QWidget *wid, KOTodoView* view ) : QWhatsThis( wid ), _wid(wid),_view (view) { };
+ KOTodoViewWhatsThis( QWidget *wid, KOTodoView* view ) : Q3WhatsThis( wid ), _wid(wid),_view (view) { };
protected:
virtual QString text( const QPoint& p)
{
return _view->getWhatsThisText(p) ;
}
private:
QWidget* _wid;
KOTodoView * _view;
};
KOTodoListView::KOTodoListView(Calendar *calendar,QWidget *parent,
@@ -205,66 +221,66 @@ KOTodoListView::KOTodoListView(Calendar *calendar,QWidget *parent,
int size = 16;
if (qApp->desktop()->width() < 300 )
size = 12;
setTreeStepSize( size + 6 );
}
void KOTodoListView::contentsDragEnterEvent(QDragEnterEvent *e)
{
#ifndef KORG_NODND
// kdDebug() << "KOTodoListView::contentsDragEnterEvent" << endl;
if ( !ICalDrag::canDecode( e ) && !VCalDrag::canDecode( e ) &&
- !QTextDrag::canDecode( e ) ) {
+ !Q3TextDrag::canDecode( e ) ) {
e->ignore();
return;
}
mOldCurrent = currentItem();
#endif
}
void KOTodoListView::contentsDragMoveEvent(QDragMoveEvent *e)
{
#ifndef KORG_NODND
// kdDebug() << "KOTodoListView::contentsDragMoveEvent" << endl;
if ( !ICalDrag::canDecode( e ) && !VCalDrag::canDecode( e ) &&
- !QTextDrag::canDecode( e ) ) {
+ !Q3TextDrag::canDecode( e ) ) {
e->ignore();
return;
}
e->accept();
#endif
}
void KOTodoListView::contentsDragLeaveEvent(QDragLeaveEvent *)
{
#ifndef KORG_NODND
// kdDebug() << "KOTodoListView::contentsDragLeaveEvent" << endl;
setCurrentItem(mOldCurrent);
setSelected(mOldCurrent,true);
#endif
}
void KOTodoListView::contentsDropEvent(QDropEvent *e)
{
#ifndef KORG_NODND
// kdDebug() << "KOTodoListView::contentsDropEvent" << endl;
if ( !ICalDrag::canDecode( e ) && !VCalDrag::canDecode( e ) &&
- !QTextDrag::canDecode( e ) ) {
+ !Q3TextDrag::canDecode( e ) ) {
e->ignore();
return;
}
DndFactory factory( mCalendar );
Todo *todo = factory.createDropTodo(e);
if (todo) {
e->acceptAction();
KOTodoViewItem *destination =
(KOTodoViewItem *)itemAt(contentsToViewport(e->pos()));
@@ -291,101 +307,101 @@ void KOTodoListView::contentsDropEvent(QDropEvent *e)
else
unparentTodoSignal(existingTodo);
delete todo;
} else {
mCalendar->addTodo(todo);
emit todoDropped(todo, KOGlobals::EVENTADDED);
if ( destinationEvent )
reparentTodoSignal( destinationEvent, todo );
}
}
else {
QString text;
- if (QTextDrag::decode(e,text)) {
+ if (Q3TextDrag::decode(e,text)) {
//QListViewItem *qlvi = itemAt( contentsToViewport(e->pos()) );
KOTodoViewItem *todoi = static_cast<KOTodoViewItem *>(itemAt( contentsToViewport(e->pos()) ));
qDebug("Dropped : " + text);
QStringList emails = QStringList::split(",",text);
for(QStringList::ConstIterator it = emails.begin();it!=emails.end();++it) {
int pos = (*it).find("<");
QString name = (*it).left(pos);
QString email = (*it).mid(pos);
if (!email.isEmpty() && todoi) {
todoi->todo()->addAttendee(new Attendee(name,email));
}
}
}
else {
qDebug("KOTodoListView::contentsDropEvent(): Todo from drop not decodable ");
e->ignore();
}
}
#endif
}
void KOTodoListView::wheelEvent (QWheelEvent *e)
{
- QListView::wheelEvent (e);
+ Q3ListView::wheelEvent (e);
}
void KOTodoListView::contentsMousePressEvent(QMouseEvent* e)
{
QPoint p(contentsToViewport(e->pos()));
- QListViewItem *i = itemAt(p);
+ Q3ListViewItem *i = itemAt(p);
bool rootClicked = true;
if (i) {
// if the user clicked into the root decoration of the item, don't
// try to start a drag!
int X = p.x();
//qDebug("%d %d %d", X, header()->sectionPos(0), treeStepSize() );
if (X > header()->sectionPos(0) +
treeStepSize() * (i->depth() + (rootIsDecorated() ? 1 : 0)) +
itemMargin() +i->height()||
X < header()->sectionPos(0)) {
rootClicked = false;
}
} else {
rootClicked = false;
}
#ifndef KORG_NODND
mMousePressed = false;
- if (! rootClicked && !( e->button() == RightButton) ) {
+ if (! rootClicked && !( e->button() == Qt::RightButton) ) {
mPressPos = e->pos();
mMousePressed = true;
} else {
mMousePressed = false;
}
#endif
//qDebug("KOTodoListView::contentsMousePressEvent %d", rootClicked);
#ifndef DESKTOP_VERSION
if (!( e->button() == RightButton && rootClicked) )
- QListView::contentsMousePressEvent(e);
+ Q3ListView::contentsMousePressEvent(e);
#else
- QListView::contentsMousePressEvent(e);
+ Q3ListView::contentsMousePressEvent(e);
#endif
}
void KOTodoListView::paintEvent(QPaintEvent* e)
{
emit paintNeeded();
- QListView::paintEvent( e);
+ Q3ListView::paintEvent( e);
}
void KOTodoListView::contentsMouseMoveEvent(QMouseEvent* e)
{
#ifndef KORG_NODND
//QListView::contentsMouseMoveEvent(e);
if (mMousePressed && (mPressPos - e->pos()).manhattanLength() >
QApplication::startDragDistance()*3) {
mMousePressed = false;
- QListViewItem *item = itemAt(contentsToViewport(mPressPos));
+ Q3ListViewItem *item = itemAt(contentsToViewport(mPressPos));
if (item) {
DndFactory factory( mCalendar );
ICalDrag *vd = factory.createDrag(
((KOTodoViewItem *)item)->todo(),viewport());
internalDrop = false;
// we cannot do any senseful here, because the DnD is still broken in Qt
if (vd->drag()) {
if ( !internalDrop ) {
//emit deleteTodo( ((KOTodoViewItem *)item)->todo() );
qDebug("Dnd: External move: Delete drag source ");
} else
qDebug("Dnd: Internal move ");
@@ -413,95 +429,95 @@ void KOTodoListView::keyPressEvent ( QKeyEvent * e )
qApp->processEvents();
if ( !isVisible() ) {
e->ignore();
return;
}
if ( e->isAutoRepeat() && !mFlagKeyPressed ) {
e->ignore();
// qDebug(" ignore %d",e->isAutoRepeat() );
return;
}
if (! e->isAutoRepeat() )
mFlagKeyPressed = true;
- QListViewItem* cn;
+ Q3ListViewItem* cn;
if ( (e->key() == Qt::Key_Return || e->key() == Qt::Key_Enter) && mName != "todolistsmall") {
cn = currentItem();
if ( cn ) {
KOTodoViewItem* ci = (KOTodoViewItem*)( cn );
if ( ci ){
- if ( e->state() == ShiftButton )
+ if ( e->state() == Qt::ShiftButton )
ci->setOn( false );
else
ci->setOn( true );
cn = cn->itemBelow();
if ( cn ) {
setCurrentItem ( cn );
ensureItemVisible ( cn );
}
}
}
e->accept();
return;
}
if ( e->state() == Qt::ControlButton || e->state() == Qt::ShiftButton || mName != "todolistsmall" ) {
switch ( e->key() ) {
case Qt::Key_Down:
case Qt::Key_Up:
- QListView::keyPressEvent ( e );
+ Q3ListView::keyPressEvent ( e );
e->accept();
break;
case Qt::Key_Left:
case Qt::Key_Right:
- QListView::keyPressEvent ( e );
+ Q3ListView::keyPressEvent ( e );
e->accept();
return;
break;
default:
e->ignore();
break;
}
return;
}
e->ignore();
}
void KOTodoListView::contentsMouseReleaseEvent(QMouseEvent *e)
{
- QListView::contentsMouseReleaseEvent(e);
+ Q3ListView::contentsMouseReleaseEvent(e);
mMousePressed = false;
}
void KOTodoListView::contentsMouseDoubleClickEvent(QMouseEvent *e)
{
if (!e) return;
QPoint vp = contentsToViewport(e->pos());
- QListViewItem *item = itemAt(vp);
+ Q3ListViewItem *item = itemAt(vp);
emit double_Clicked(item);
if (!item) return;
emit doubleClicked(item,vp,0);
}
/////////////////////////////////////////////////////////////////////////////
KOQuickTodo::KOQuickTodo(QWidget *parent) :
QLineEdit(parent)
{
setText(i18n("Click to add new Todo"));
- setFocusPolicy ( QWidget::ClickFocus );
+ setFocusPolicy ( Qt::ClickFocus );
}
void KOQuickTodo::focusInEvent(QFocusEvent *ev)
{
if ( text()==i18n("Click to add new Todo") )
setText("");
QLineEdit::focusInEvent(ev);
}
void KOQuickTodo::focusOutEvent(QFocusEvent *ev)
{
setText(i18n("Click to add new Todo"));
@@ -514,32 +530,32 @@ KOTodoView::KOTodoView(Calendar *calendar,QWidget* parent,const char* name) :
KOrg::BaseView(calendar,parent,name)
{
mIsActiveWindow = false;
mCurItem = 0;
mCurItemRootParent = 0;
mCurItemParent = 0;
mCurItemAbove = 0;
mActiveItem = 0;
mCategoryPopupMenu = 0;
mPendingUpdateBeforeRepaint = false;
isFlatDisplay = false;
mNavigator = 0;
- QBoxLayout *topLayout = new QVBoxLayout(this);
+ Q3BoxLayout *topLayout = new Q3VBoxLayout(this);
mName = QString ( name );
mBlockUpdate = false;
mQuickBar = new QWidget( this );
topLayout->addWidget(mQuickBar);
mQuickAdd = new KOQuickTodo(mQuickBar);
- QBoxLayout *quickLayout = new QHBoxLayout(mQuickBar);
+ Q3BoxLayout *quickLayout = new Q3HBoxLayout(mQuickBar);
quickLayout->addWidget( mQuickAdd );
mNewSubBut = new QPushButton( "sub",mQuickBar );
QPushButton * s_done = new QPushButton( "D",mQuickBar );
QPushButton * s_run = new QPushButton( "R",mQuickBar );
QPushButton * allopen = new QPushButton( "O",mQuickBar );
QPushButton * allclose = new QPushButton( "C",mQuickBar );
QPushButton * flat = new QPushButton( "F",mQuickBar );
int fixwid = mQuickAdd->sizeHint().height();
int fixhei = fixwid;
if ( QApplication::desktop()->width() > 800 )
fixwid = (fixwid*3)/2;
@@ -559,122 +575,122 @@ KOTodoView::KOTodoView(Calendar *calendar,QWidget* parent,const char* name) :
s_done->setFixedWidth( fixwid );
allopen->setFixedWidth( fixwid );
allclose->setFixedWidth( fixwid );
s_run->setFixedWidth( fixwid );
flat->setFixedHeight(fixhei );
s_done->setFixedHeight(fixhei );
allopen->setFixedHeight(fixhei );
allclose->setFixedHeight(fixhei );
s_run->setFixedHeight(fixhei );
mNewSubBut->setFixedHeight(fixhei );
- flat->setFocusPolicy( NoFocus );
- s_done->setFocusPolicy( NoFocus );
- allopen->setFocusPolicy( NoFocus );
- allclose->setFocusPolicy( NoFocus );
- s_run->setFocusPolicy( NoFocus );
- mNewSubBut->setFocusPolicy( NoFocus );
+ flat->setFocusPolicy( Qt::NoFocus );
+ s_done->setFocusPolicy( Qt::NoFocus );
+ allopen->setFocusPolicy( Qt::NoFocus );
+ allclose->setFocusPolicy( Qt::NoFocus );
+ s_run->setFocusPolicy( Qt::NoFocus );
+ mNewSubBut->setFocusPolicy( Qt::NoFocus );
- QWhatsThis::add( flat, i18n("Click this button to display all todos in a <b>flat</b> hierarchy" ) );
- QWhatsThis::add( allopen, i18n("Click this button to display all todos <b>openend</b>" ) );
- QWhatsThis::add( allclose, i18n("Click this button to display all todos <b>closed</b>" ) );
- QWhatsThis::add( s_run, i18n("Click this button to toggle show/hide <b>running</b> todos" ) );
- QWhatsThis::add( mNewSubBut, i18n("Click this button to add a new subtodo to the currently selected todo" ) );
- QWhatsThis::add( s_done, i18n("Click this button to toggle show/hide <b>completed</b> todos" ) );
+ Q3WhatsThis::add( flat, i18n("Click this button to display all todos in a <b>flat</b> hierarchy" ) );
+ Q3WhatsThis::add( allopen, i18n("Click this button to display all todos <b>openend</b>" ) );
+ Q3WhatsThis::add( allclose, i18n("Click this button to display all todos <b>closed</b>" ) );
+ Q3WhatsThis::add( s_run, i18n("Click this button to toggle show/hide <b>running</b> todos" ) );
+ Q3WhatsThis::add( mNewSubBut, i18n("Click this button to add a new subtodo to the currently selected todo" ) );
+ Q3WhatsThis::add( s_done, i18n("Click this button to toggle show/hide <b>completed</b> todos" ) );
quickLayout->addWidget( mNewSubBut );
quickLayout->addWidget( s_done );
quickLayout->addWidget( s_run );
quickLayout->addWidget( allopen );
quickLayout->addWidget( allclose );
quickLayout->addWidget( flat );
if ( !KOPrefs::instance()->mEnableQuickTodo ) mQuickBar->hide();
mTodoListView = new KOTodoListView(calendar,this, name );
topLayout->addWidget(mTodoListView);
//mTodoListView->header()->setMaximumHeight(30);
mTodoListView->setRootIsDecorated(true);
mTodoListView->setAllColumnsShowFocus(true);
mTodoListView->setShowSortIndicator(true);
mTodoListView->addColumn(i18n("Todo"));
mTodoListView->addColumn(i18n("Prio"));
- mTodoListView->setColumnAlignment(1,AlignHCenter);
+ mTodoListView->setColumnAlignment(1,Qt::AlignHCenter);
mTodoListView->addColumn(i18n("Complete"));
- mTodoListView->setColumnAlignment(2,AlignCenter);
+ mTodoListView->setColumnAlignment(2,Qt::AlignCenter);
mTodoListView->addColumn(i18n("Due Date"));
- mTodoListView->setColumnAlignment(3,AlignLeft);
+ mTodoListView->setColumnAlignment(3,Qt::AlignLeft);
mTodoListView->addColumn(i18n("Due Time"));
- mTodoListView->setColumnAlignment(4,AlignHCenter);
+ mTodoListView->setColumnAlignment(4,Qt::AlignHCenter);
mTodoListView->addColumn(i18n("Start Date"));
- mTodoListView->setColumnAlignment(5,AlignLeft);
+ mTodoListView->setColumnAlignment(5,Qt::AlignLeft);
mTodoListView->addColumn(i18n("Start Time"));
- mTodoListView->setColumnAlignment(6,AlignHCenter);
+ mTodoListView->setColumnAlignment(6,Qt::AlignHCenter);
//mTodoListView->addColumn(i18n("Cancelled"));
mTodoListView->addColumn(i18n("Categories"));
mTodoListView->addColumn(i18n("Calendar"));
mTodoListView->addColumn(i18n("Last Modified"));
mTodoListView->addColumn(i18n("Created"));
mTodoListView->addColumn(i18n("Last Modified Sub"));
#if 0
mTodoListView->addColumn(i18n("Sort Id"));
- mTodoListView->setColumnAlignment(4,AlignHCenter);
+ mTodoListView->setColumnAlignment(4,Qt::AlignHCenter);
#endif
mTodoListView->setMinimumHeight( 60 );
mTodoListView->setItemsRenameable( true );
mTodoListView->setRenameable( 0 );
mTodoListView->setColumnWidth( 0, 120 );
int iii = 0;
for ( iii = 0; iii< 12 ; ++iii )
- mTodoListView->setColumnWidthMode( iii, QListView::Manual );
+ mTodoListView->setColumnWidthMode( iii, Q3ListView::Manual );
mKOTodoViewWhatsThis = new KOTodoViewWhatsThis(mTodoListView->viewport(),this);
- mPriorityPopupMenu = new QPopupMenu(this);
+ mPriorityPopupMenu = new Q3PopupMenu(this);
for (int i = 1; i <= 5; i++) {
QString label = QString ("%1").arg (i);
mPriority[mPriorityPopupMenu->insertItem (label)] = i;
}
connect (mPriorityPopupMenu, SIGNAL(activated (int)), SLOT (setNewPriority(int)));
- mPercentageCompletedPopupMenu = new QPopupMenu(this);
+ mPercentageCompletedPopupMenu = new Q3PopupMenu(this);
for (int i = 0; i <= 100; i+=20) {
QString label = QString ("%1 %").arg (i);
mPercentage[mPercentageCompletedPopupMenu->insertItem (label)] = i;
}
connect (mPercentageCompletedPopupMenu, SIGNAL (activated (int)), SLOT (setNewPercentage (int)));
- mCategoryPopupMenu = new QPopupMenu (this);
+ mCategoryPopupMenu = new Q3PopupMenu (this);
mCategoryPopupMenu->setCheckable (true);
connect (mCategoryPopupMenu, SIGNAL (activated (int)), SLOT (changedCategories (int)));
connect (mCategoryPopupMenu, SIGNAL (aboutToShow ()), SLOT (fillCategories ()));
- mCalPopupMenu = new QPopupMenu (this);
+ mCalPopupMenu = new Q3PopupMenu (this);
mCalPopupMenu->setCheckable (true);
connect (mCalPopupMenu, SIGNAL (activated (int)), SLOT (changedCal (int)));
connect (mCalPopupMenu, SIGNAL (aboutToShow ()), SLOT (fillCal ()));
- mItemPopupMenu = new QPopupMenu(this);
+ mItemPopupMenu = new Q3PopupMenu(this);
mItemPopupMenu->insertItem(i18n("Show"), this,
SLOT (showTodo()));
mItemPopupMenu->insertItem(i18n("Edit..."), this,
SLOT (editTodo()));
mItemPopupMenu->insertItem( i18n("Delete..."), this,
SLOT (deleteTodo()));
mItemPopupMenu->insertItem( i18n("Clone..."), this,
SLOT (cloneTodo()));
mItemPopupMenu->insertItem( i18n("Move..."), this,
SLOT (moveTodo()));
#ifndef DESKTOP_VERSION
mItemPopupMenu->insertItem( i18n("Beam..."), this,
@@ -701,25 +717,25 @@ KOTodoView::KOTodoView(Calendar *calendar,QWidget* parent,const char* name) :
mItemPopupMenu->insertSeparator();
#if 0
mItemPopupMenu->insertItem(i18n("Delete completed To-Dos","Purge Completed..."),
this, SLOT( purgeCompleted() ) );
mItemPopupMenu->insertItem(i18n("toggle completed To-Dos","Show Completed"),
this, SLOT( toggleCompleted() ),0, 33 );
mItemPopupMenu->insertItem(i18n("toggle quick todo","Show Quick Todo"),
this, SLOT( toggleQuickTodo() ),0, 34 );
mItemPopupMenu->insertItem(i18n("toggle running todo","Hide not Running"),
this, SLOT( toggleRunning() ),0, 35 );
#endif
- mPopupMenu = new QPopupMenu(this);
+ mPopupMenu = new Q3PopupMenu(this);
mPopupMenu->insertItem(SmallIconSet("todo"), i18n("New Todo..."), this,
SLOT (newTodo()),0,1);
mPopupMenu->insertItem(i18n("delete completed To-Dos","Purge Completed..."),
this, SLOT(purgeCompleted()),0,2);
mPopupMenu->insertItem(i18n("Show Completed"),
this, SLOT( toggleCompleted() ),0,3 );
mPopupMenu->insertItem(i18n("toggle running todo","Hide not Running"),
this, SLOT( toggleRunning() ),0,5 );
mPopupMenu->insertItem(i18n(" set all open","Display all opened"),
this, SLOT( setAllOpen() ),0,6 );
mPopupMenu->insertItem(i18n(" set all close","Display all closed"),
this, SLOT( setAllClose() ),0,7 );
@@ -737,56 +753,56 @@ KOTodoView::KOTodoView(Calendar *calendar,QWidget* parent,const char* name) :
mPopupMenu->setItemChecked( 3,KOPrefs::instance()->mShowCompletedTodo );
mItemPopupMenu->setItemChecked( 33 , KOPrefs::instance()->mShowCompletedTodo );
mPopupMenu->setItemChecked(4,KOPrefs::instance()->mEnableQuickTodo);
mItemPopupMenu->setItemChecked( 34 , KOPrefs::instance()->mEnableQuickTodo );
mPopupMenu->setItemChecked(5,KOPrefs::instance()->mHideNonStartedTodos);
mItemPopupMenu->setItemChecked( 35 , KOPrefs::instance()->mHideNonStartedTodos );
// Double clicking conflicts with opening/closing the subtree
- connect( mTodoListView, SIGNAL( doubleClicked( QListViewItem *) ),
- SLOT( editItem( QListViewItem *) ) );
+ connect( mTodoListView, SIGNAL( doubleClicked( Q3ListViewItem *) ),
+ SLOT( editItem( Q3ListViewItem *) ) );
/*
connect( mTodoListView, SIGNAL( rightButtonClicked ( QListViewItem *,
const QPoint &,int ) ),
SLOT( popupMenu( QListViewItem *, const QPoint & ,int) ) );
*/
- connect( mTodoListView, SIGNAL( contextRequest ( QListViewItem *,
+ connect( mTodoListView, SIGNAL( contextRequest ( Q3ListViewItem *,
const QPoint &,int ) ),
- SLOT( popupMenu( QListViewItem *, const QPoint & ,int) ) );
- connect( mTodoListView, SIGNAL( clicked( QListViewItem * ) ),
- SLOT( itemClicked( QListViewItem * ) ) );
- connect( mTodoListView, SIGNAL( double_Clicked( QListViewItem * ) ),
- SLOT( itemDoubleClicked( QListViewItem * ) ) );
+ SLOT( popupMenu( Q3ListViewItem *, const QPoint & ,int) ) );
+ connect( mTodoListView, SIGNAL( clicked( Q3ListViewItem * ) ),
+ SLOT( itemClicked( Q3ListViewItem * ) ) );
+ connect( mTodoListView, SIGNAL( double_Clicked( Q3ListViewItem * ) ),
+ SLOT( itemDoubleClicked( Q3ListViewItem * ) ) );
connect( mTodoListView, SIGNAL( todoDropped( Todo *, int ) ),
SLOT( updateView() ) );
connect( mTodoListView, SIGNAL( todoDropped( Todo *, int ) ),
SLOT( todoModified(Todo *, int) ) );
- connect( mTodoListView, SIGNAL( expanded( QListViewItem * ) ),
- SLOT( itemStateChanged( QListViewItem * ) ) );
- connect( mTodoListView, SIGNAL( collapsed( QListViewItem * ) ),
- SLOT( itemStateChanged( QListViewItem * ) ) );
+ connect( mTodoListView, SIGNAL( expanded( Q3ListViewItem * ) ),
+ SLOT( itemStateChanged( Q3ListViewItem * ) ) );
+ connect( mTodoListView, SIGNAL( collapsed( Q3ListViewItem * ) ),
+ SLOT( itemStateChanged( Q3ListViewItem * ) ) );
connect( mTodoListView, SIGNAL( paintNeeded() ),
SLOT( paintNeeded()) );
#if 0
- connect(mTodoListView,SIGNAL(selectionChanged(QListViewItem *)),
- SLOT(selectionChanged(QListViewItem *)));
- connect(mTodoListView,SIGNAL(clicked(QListViewItem *)),
- SLOT(selectionChanged(QListViewItem *)));
- connect(mTodoListView,SIGNAL(pressed(QListViewItem *)),
- SLOT(selectionChanged(QListViewItem *)));
+ connect(mTodoListView,SIGNAL(selectionChanged(Q3ListViewItem *)),
+ SLOT(selectionChanged(Q3ListViewItem *)));
+ connect(mTodoListView,SIGNAL(clicked(Q3ListViewItem *)),
+ SLOT(selectionChanged(Q3ListViewItem *)));
+ connect(mTodoListView,SIGNAL(pressed(Q3ListViewItem *)),
+ SLOT(selectionChanged(Q3ListViewItem *)));
#endif
connect( mTodoListView, SIGNAL(reparentTodoSignal( Todo *,Todo * ) ), SIGNAL(reparentTodoSignal( Todo *,Todo * ) ));
connect( mTodoListView, SIGNAL(unparentTodoSignal(Todo *) ), SIGNAL(unparentTodoSignal(Todo *) ));
connect( mTodoListView, SIGNAL( deleteTodo(Todo *) ), SIGNAL(deleteTodoSignal(Todo *) ));
connect( mTodoListView, SIGNAL(selectionChanged() ),
SLOT( processSelectionChange() ) );
connect( mQuickAdd, SIGNAL( returnPressed () ),
SLOT( addQuickTodo() ) );
}
@@ -872,25 +888,25 @@ void KOTodoView::updateView()
if ( mName == "todolistsmall" ) {
if ( KOPrefs::instance()->mTodoViewUsesSmallFont ) {
int ps = fo.pointSize() -2;
if ( ps > 12 )
ps -= 2;
fo.setPointSize( ps );
}
}
mTodoListView->setFont( fo );
// QFontMetrics fm ( KOPrefs::instance()->mTodoViewFont );
//mTodoListView->header()->setMaximumHeight(fm.height());
- QPtrList<Todo> todoList = calendar()->todos();
+ Q3PtrList<Todo> todoList = calendar()->todos();
/*
kdDebug() << "KOTodoView::updateView(): Todo List:" << endl;
Event *t;
for(t = todoList.first(); t; t = todoList.next()) {
kdDebug() << " " << t->getSummary() << endl;
if (t->getRelatedTo()) {
kdDebug() << " (related to " << t->getRelatedTo()->getSummary() << ")" << endl;
}
QPtrList<Event> l = t->getRelations();
@@ -1035,25 +1051,25 @@ bool KOTodoView::checkTodo( Todo * todo )
}
if ( KOPrefs::instance()->mHideNonStartedTodos && mNavigator ) {
if ( todo->hasStartDate() )
if ( mNavigator->selectedDates().last() < todo->dtStart().date() )
return false;
if ( todo->hasDueDate() )
if ( mNavigator->selectedDates().first() > todo->dtDue().date() )
return false;
}
return true;
}
-void KOTodoView::restoreItemState( QListViewItem *item )
+void KOTodoView::restoreItemState( Q3ListViewItem *item )
{
pendingSubtodo = 0;
while( item ) {
KOTodoViewItem *todoItem = (KOTodoViewItem *)item;
todoItem->setOpen( mDocPrefs->readBoolEntry( todoItem->todo()->uid() ) );
if( item->childCount() > 0 ) restoreItemState( item->firstChild() );
item = item->nextSibling();
}
}
QMap<Todo *,KOTodoViewItem *>::ConstIterator
@@ -1087,81 +1103,81 @@ KOTodoView::insertTodoItem(Todo *todo)
KOTodoViewItem *todoItem = new KOTodoViewItem(mTodoListView,todo,this);
return mTodoMap.insert(todo,todoItem);
}
}
void KOTodoView::updateConfig()
{
updateView();
mTodoListView->repaintContents();
}
-QPtrList<Incidence> KOTodoView::selectedIncidences()
+Q3PtrList<Incidence> KOTodoView::selectedIncidences()
{
- QPtrList<Incidence> selected;
+ Q3PtrList<Incidence> selected;
KOTodoViewItem *item = (KOTodoViewItem *)(mTodoListView->selectedItem());
// if (!item) item = mActiveItem;
if (item) selected.append(item->todo());
return selected;
}
-QPtrList<Todo> KOTodoView::selectedTodos()
+Q3PtrList<Todo> KOTodoView::selectedTodos()
{
- QPtrList<Todo> selected;
+ Q3PtrList<Todo> selected;
KOTodoViewItem *item = (KOTodoViewItem *)(mTodoListView->selectedItem());
// if (!item) item = mActiveItem;
if (item) selected.append(item->todo());
return selected;
}
void KOTodoView::changeEventDisplay(Event *, int)
{
updateView();
}
void KOTodoView::showDates(const QDate &, const QDate &)
{
}
-void KOTodoView::showEvents(QPtrList<Event>)
+void KOTodoView::showEvents(Q3PtrList<Event>)
{
kdDebug() << "KOTodoView::selectEvents(): not yet implemented" << endl;
}
void KOTodoView::printPreview(CalPrinter *calPrinter, const QDate &fd,
const QDate &td)
{
#ifndef KORG_NOPRINTER
calPrinter->preview(CalPrinter::Todolist, fd, td);
#endif
}
-void KOTodoView::editItem(QListViewItem *item )
+void KOTodoView::editItem(Q3ListViewItem *item )
{
if ( item )
emit editTodoSignal(((KOTodoViewItem *)item)->todo());
}
-void KOTodoView::showItem(QListViewItem *item,const QPoint &,int)
+void KOTodoView::showItem(Q3ListViewItem *item,const QPoint &,int)
{
if ( item )
emit showTodoSignal(((KOTodoViewItem *)item)->todo());
}
-void KOTodoView::popupMenu(QListViewItem *item,const QPoint &p,int column)
+void KOTodoView::popupMenu(Q3ListViewItem *item,const QPoint &p,int column)
{
pendingSubtodo = 0;
mActiveItem = (KOTodoViewItem *)item;
if (item) {
switch (column){
case 1:
mPriorityPopupMenu->popup(QCursor::pos ()); break;
case 2:
mPercentageCompletedPopupMenu->popup(QCursor::pos ()); break;
case 3:
moveTodo();
break;
@@ -1352,25 +1368,25 @@ void KOTodoView::toggleRunningItemQuick()
topLevelWidget()->setCaption(i18n("Todo stopped - no data saved because runtime was < 15 sec!"));
return;
}
else
toggleRunningItem();
return;
} else {
t->setRunning( true );
mActiveItem->construct();
topLevelWidget()->setCaption(i18n("Todo started! Double click again to stop!"));
}
}
-void KOTodoView::itemDoubleClicked(QListViewItem *item)
+void KOTodoView::itemDoubleClicked(Q3ListViewItem *item)
{
if ( pendingSubtodo != 0 ) {
topLevelWidget()->setCaption(i18n("Reparenting aborted!"));
}
pendingSubtodo = 0;
//int row = mTodoListView->header()->sectionAt ( mTodoListView->header()->mapFromGlobal( QCursor::pos()).x() );
int row = mTodoListView->header()->sectionAt ( mTodoListView->viewportToContents(mTodoListView->viewport()->mapFromGlobal( QCursor::pos())) .x() );
//qDebug("ROW %d ", row);
if (!item) {
newTodo();
return;
} else {
@@ -1419,38 +1435,38 @@ void KOTodoView::toggleRunningItem()
if ( !tp.exec() ) return;
if ( tp.stopAll() ) {
mCalendar->stopAllTodos();
t->setRunning( true );
updateView();
} else {
t->setRunning( true );
updateTodo ( t, KOGlobals::EVENTEDITED );
}
}
}
-void KOTodoView::itemClicked(QListViewItem *item)
+void KOTodoView::itemClicked(Q3ListViewItem *item)
{
//qDebug("KOTodoView::itemClicked %d", item);
if (!item) {
if ( pendingSubtodo != 0 ) {
topLevelWidget()->setCaption(i18n("Reparenting aborted!"));
}
pendingSubtodo = 0;
return;
}
KOTodoViewItem *todoItem = (KOTodoViewItem *)item;
if ( pendingSubtodo != 0 ) {
bool allowReparent = true;
- QListViewItem *par = item;
+ Q3ListViewItem *par = item;
while ( par ) {
if ( par == pendingSubtodo ) {
allowReparent = false;
break;
}
par = par->parent();
}
if ( !allowReparent ) {
topLevelWidget()->setCaption(i18n("Recursive reparenting not possible!"));
pendingSubtodo = 0;
} else {
Todo* newParent = todoItem->todo();
@@ -1460,25 +1476,25 @@ void KOTodoView::itemClicked(QListViewItem *item)
return;
}
}
}
void KOTodoView::setDocumentId( const QString &id )
{
mDocPrefs->setDoc( id );
}
-void KOTodoView::itemStateChanged( QListViewItem *item )
+void KOTodoView::itemStateChanged( Q3ListViewItem *item )
{
if (!item) return;
KOTodoViewItem *todoItem = (KOTodoViewItem *)item;
// kdDebug() << "KOTodoView::itemStateChanged(): " << todoItem->todo()->summary() << endl;
if( mDocPrefs ) mDocPrefs->writeEntry( todoItem->todo()->uid(), todoItem->isOpen() );
}
void KOTodoView::saveLayout(KConfig *config, const QString &group) const
{
@@ -1533,46 +1549,46 @@ void KOTodoView::setAllOpen()
void KOTodoView::setAllClose()
{
if ( isFlatDisplay ) {
isFlatDisplay = false;
mPopupMenu->setItemChecked( 8,false );
updateView();
} else {
storeCurrentItem();
}
setOpen(mTodoListView->firstChild(), false);
resetCurrentItem();
}
-void KOTodoView::setOpen( QListViewItem* item, bool setOpenI)
+void KOTodoView::setOpen( Q3ListViewItem* item, bool setOpenI)
{
while ( item ) {
setOpen( item->firstChild(), setOpenI );
item->setOpen( setOpenI );
item = item->nextSibling();
}
}
void KOTodoView::displayAllFlat()
{
mActiveItem = 0;
pendingSubtodo = 0;
if ( mBlockUpdate ) {
return;
}
clearList ();
mPopupMenu->setItemChecked( 8,true );
isFlatDisplay = true;
- QPtrList<Todo> todoList = calendar()->todos();
+ Q3PtrList<Todo> todoList = calendar()->todos();
Todo *todo;
for(todo = todoList.first(); todo; todo = todoList.next()) {
if ( checkTodo( todo ) ) {
KOTodoViewItem *todoItem = new KOTodoViewItem(mTodoListView,todo,this);
mTodoMap.insert(todo,todoItem);
}
}
resetCurrentItem();
}
void KOTodoView::setAllFlat()
{