-rw-r--r-- | korganizer/koagendaitem.cpp | 23 | ||||
-rw-r--r-- | korganizer/koagendaitem.h | 1 | ||||
-rw-r--r-- | korganizer/kolistview.cpp | 28 | ||||
-rw-r--r-- | korganizer/kolistview.h | 1 | ||||
-rw-r--r-- | korganizer/kotodoview.cpp | 28 | ||||
-rw-r--r-- | korganizer/kotodoview.h | 1 |
6 files changed, 80 insertions, 2 deletions
diff --git a/korganizer/koagendaitem.cpp b/korganizer/koagendaitem.cpp index 5f9ed92..df7d612 100644 --- a/korganizer/koagendaitem.cpp +++ b/korganizer/koagendaitem.cpp @@ -55,15 +55,30 @@ extern int globalFlagBlockAgendaItemUpdate; QToolTipGroup *KOAgendaItem::mToolTipGroup = 0; //-------------------------------------------------------------------------- +class KOAgendaItemWhatsThis :public QWhatsThis +{ +public: + KOAgendaItemWhatsThis( KOAgendaItem* view ) : QWhatsThis( view ),_view (view) { }; + +protected: + virtual QString text( const QPoint& ) + { + return _view->getWhatsThisText() ; + } +private: + KOAgendaItem * _view; +}; + KOAgendaItem::KOAgendaItem(Incidence *incidence, QDate qd, QWidget *parent,bool allday, const char *name,WFlags) : QWidget(parent, name), mIncidence(incidence), mDate(qd) { #ifndef DESKTOP_VERSION QPEApplication::setStylusOperation( this, QPEApplication::RightOnHold ); #endif + new KOAgendaItemWhatsThis(this); int wflags = getWFlags() |WRepaintNoErase;// WResizeNoErase setWFlags ( wflags); mAllDay = allday; init ( incidence, qd ); @@ -71,9 +86,14 @@ KOAgendaItem::KOAgendaItem(Incidence *incidence, QDate qd, QWidget *parent,bool //setAcceptDrops(true); xPaintCoord = -1; yPaintCoord = -1; } - +QString KOAgendaItem::getWhatsThisText() +{ + if ( mIncidence ) + return KIncidenceFormatter::instance()->getFormattedText( mIncidence ); + return "KOAgendaItem::getWhatsThisText()::internal error"; +} void KOAgendaItem::init ( Incidence *incidence, QDate qd ) { mIncidence = incidence; mDate = qd; @@ -503,9 +523,8 @@ void KOAgendaItem::computeText() mDisplayedText += mIncidence->location() +")"; } QString tipText = mIncidence->summary(); - QWhatsThis::add(this,KIncidenceFormatter::instance()->getFormattedText( mIncidence )); if ( !mIncidence->doesFloat() ) { if ( mIncidence->type() == "Event" ) { if ( (static_cast<Event*>(mIncidence))->isMultiDay() ) { tipText += "\n"+i18n("From: ")+mIncidence->dtStartStr(); diff --git a/korganizer/koagendaitem.h b/korganizer/koagendaitem.h index 7321af2..5b8f420 100644 --- a/korganizer/koagendaitem.h +++ b/korganizer/koagendaitem.h @@ -45,8 +45,9 @@ class KOAgendaItem : public QWidget public: KOAgendaItem(Incidence *incidence, QDate qd, QWidget *parent, bool allday, const char *name=0, WFlags f=0 ); ~KOAgendaItem(); + QString getWhatsThisText(); void init ( Incidence *incidence, QDate qd ); int cellX() { return mCellX; } int cellXWidth() { return mCellXWidth; } int cellYTop() { return mCellYTop; } diff --git a/korganizer/kolistview.cpp b/korganizer/kolistview.cpp index b21b419..732fc46 100644 --- a/korganizer/kolistview.cpp +++ b/korganizer/kolistview.cpp @@ -31,8 +31,9 @@ #include <qmessagebox.h> #include <qdialog.h> #include <qtextstream.h> #include <qdir.h> +#include <qwhatsthis.h> #include <qregexp.h> #include <klocale.h> #include <kdebug.h> @@ -46,8 +47,9 @@ #include <libkcal/vcalformat.h> #include <libkcal/recurrence.h> #include <libkcal/filestorage.h> #include <libkdepim/categoryselectdialog.h> +#include <libkcal/kincidenceformatter.h> #ifndef DESKTOP_VERSION #include <qpe/qpeapplication.h> #else #include <qapplication.h> @@ -61,8 +63,25 @@ #include "kfiledialog.h" #include "kolistview.h" + +class KOListViewWhatsThis :public QWhatsThis +{ +public: + KOListViewWhatsThis( QWidget *wid, KOListView* view ) : QWhatsThis( wid ), _wid(wid),_view (view) { }; + +protected: + virtual QString text( const QPoint& p) + { + return _view->getWhatsThisText(p) ; + } +private: + QWidget* _wid; + KOListView * _view; +}; + + ListItemVisitor::ListItemVisitor(KOListViewItem *item, QDate date ) { mItem = item; mDate = date; @@ -223,8 +242,9 @@ KOListView::KOListView(Calendar *calendar, QWidget *parent, mListView->setColumnAlignment(8,AlignLeft); mListView->setColumnAlignment(9,AlignLeft); mListView->setColumnAlignment(10,AlignLeft); mListView->setColumnWidthMode(10, QListView::Manual); + new KOListViewWhatsThis(mListView->viewport(),this); int iii = 0; for ( iii = 0; iii< 10 ; ++iii ) mListView->setColumnWidthMode( iii, QListView::Manual ); @@ -294,8 +314,16 @@ KOListView::KOListView(Calendar *calendar, QWidget *parent, KOListView::~KOListView() { delete mPopupMenu; } +QString KOListView::getWhatsThisText(QPoint p) +{ + KOListViewItem* item = ( KOListViewItem* ) mListView->itemAt( p ); + if ( item ) + return KIncidenceFormatter::instance()->getFormattedText( item->data() ); + return i18n("That is the list view" ); + +} void KOListView::updateList() { // qDebug(" KOListView::updateList() "); diff --git a/korganizer/kolistview.h b/korganizer/kolistview.h index 23afdb1..be9b09c 100644 --- a/korganizer/kolistview.h +++ b/korganizer/kolistview.h @@ -118,8 +118,9 @@ class KOListView : public KOEventView void writeSettings(KConfig *config, QString setting = "KOListView Layout"); void updateList(); void setStartDate(const QDate &start); int count(); + QString getWhatsThisText(QPoint p); signals: void signalNewEvent(); void beamIncidenceList(QPtrList<Incidence>); diff --git a/korganizer/kotodoview.cpp b/korganizer/kotodoview.cpp index da8b4bc..c5b9a21 100644 --- a/korganizer/kotodoview.cpp +++ b/korganizer/kotodoview.cpp @@ -23,8 +23,9 @@ #include <qlayout.h> #include <qheader.h> #include <qcursor.h> +#include <qwhatsthis.h> #include <qvbox.h> #include <kdebug.h> #include "koprefs.h" @@ -39,8 +40,9 @@ #include <libkcal/dndfactory.h> #include <libkcal/calendarresources.h> #include <libkcal/resourcecalendar.h> #include <kresources/resourceselectdialog.h> +#include <libkcal/kincidenceformatter.h> #ifndef DESKTOP_VERSION #include <qpe/qpeapplication.h> #else #include <qapplication.h> @@ -52,8 +54,24 @@ #include "kotodoview.h" using namespace KOrg; + +class KOTodoViewWhatsThis :public QWhatsThis +{ +public: + KOTodoViewWhatsThis( QWidget *wid, KOTodoView* view ) : QWhatsThis( 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, const char *name) : KListView(parent,name) { @@ -394,8 +412,10 @@ KOTodoView::KOTodoView(Calendar *calendar,QWidget* parent,const char* name) : mTodoListView->setColumnWidthMode(7, QListView::Manual); mTodoListView->setColumnWidthMode(8, QListView::Manual); + new KOTodoViewWhatsThis(mTodoListView->viewport(),this); + mPriorityPopupMenu = new QPopupMenu(this); for (int i = 1; i <= 5; i++) { QString label = QString ("%1").arg (i); mPriority[mPriorityPopupMenu->insertItem (label)] = i; @@ -531,8 +551,16 @@ KOTodoView::KOTodoView(Calendar *calendar,QWidget* parent,const char* name) : KOTodoView::~KOTodoView() { delete mDocPrefs; } +QString KOTodoView::getWhatsThisText(QPoint p) +{ + KOTodoViewItem* item = ( KOTodoViewItem* ) mTodoListView->itemAt( p ); + if ( item ) + return KIncidenceFormatter::instance()->getFormattedText( item->todo() ); + return i18n("That is the todo view" ); + +} void KOTodoView::jumpToDate () { // if (mActiveItem) { diff --git a/korganizer/kotodoview.h b/korganizer/kotodoview.h index 2a9e737..1642132 100644 --- a/korganizer/kotodoview.h +++ b/korganizer/kotodoview.h @@ -133,8 +133,9 @@ class KOTodoView : public KOrg::BaseView void restoreLayout(KConfig *config, const QString &group); /** Create a popup menu to set categories */ QPopupMenu *getCategoryPopupMenu (KOTodoViewItem *todoItem); void setNavigator( DateNavigator* nav ) {mNavigator = nav;} + QString getWhatsThisText(QPoint p); public slots: void updateView(); void updateConfig(); |