void KNoteTip::setNote(KNotesIconViewItem *item) { if(mNoteIVI == item) return; mNoteIVI = item; if(!mNoteIVI) { killTimers(); if(isVisible()) { setFilter(false); hide(); } } else { KCal::Journal *journal = item->journal(); if(journal->customProperty("KNotes", "RichText") == "true") mPreview->setTextFormat(Qt::RichText); else mPreview->setTextFormat(Qt::PlainText); QColor fg(journal->customProperty("KNotes", "FgColor")); QColor bg(journal->customProperty("KNotes", "BgColor")); setColor(fg, bg); mPreview->setText(journal->description()); mPreview->zoomTo(8); mPreview->sync(); int w = 400; int h = mPreview->heightForWidth(w); while(w > 60 && h == mPreview->heightForWidth(w - 20)) w -= 20; QRect desk = KGlobalSettings::desktopGeometry(mNoteIVI->rect().center()); resize(w, QMIN(h, desk.height() / 2 - 20)); hide(); killTimers(); setFilter(true); startTimer(600); // delay showing the tooltip for 0.7 sec } }