コード例 #1
0
ファイル: knotetip.cpp プロジェクト: serghei/kde3-kdepim
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
    }
}