/** * Displays a tool-tip according to the current location of the mouse * pointer. * @param pt The mouse pointer coordinates */ void ListToolTip::maybeTip(const QPoint& pt) { QString str; QListView* pList; QListViewItem* pItem; // Get the item at the given point pList = m_pList->getList(); pItem = pList->itemAt(pt); if (pItem == NULL) return; // Get the tip string for this item if (!m_pList->getTip(pItem, str)) return; // Get the bounding rectangle of the item const QRect rcItem = pList->itemRect(pItem); if (!rcItem.isValid()) return; // Get the header coordinates const QRect rcHead = pList->header()->rect(); if (!rcHead.isValid()) return; // Calculate the tool-tip rectangle QRect rcCell(rcHead.left(), rcItem.top(), rcItem.width(), rcItem.height()); // Display the tool-tip tip(rcCell, str); }
QListViewItem * ListViewDnd::itemAt( QPoint pos ) { QListView * src = (QListView *) this->src; int headerHeight = (int)(src->header()->height()); pos.ry() -= headerHeight; QListViewItem * result = src->itemAt( pos ); if ( result && ( pos.ry() < (src->itemPos(result) + result->height()/2) ) ) result = result->itemAbove(); // Wind back if has parent, and we're in flat mode while ( result && result->parent() && (dMode & Flat) ) result = result->parent(); // Wind back if has parent, and we're in flat mode while ( result && !result->isVisible() && result->parent() ) result = result->parent(); if ( !result && src->firstChild() && (pos.y() > src->itemRect(src->firstChild()).bottom()) ) { result = src->lastItem(); if ( !result->isVisible() ) // Handle special case where last item is actually hidden result = result->itemAbove(); } return result; }
QString KKeyChooserWhatsThis::text(const QPoint &p) { if(!m_listView) return QString::null; const QListViewItem *item = m_listView->itemAt(p); const KKeyChooserItem *pItem = dynamic_cast< const KKeyChooserItem * >(item); if(!pItem) return QWhatsThis::textFor(m_listView); const QString itemWhatsThis = pItem->whatsThis(); if(itemWhatsThis.isEmpty()) return QWhatsThis::textFor(m_listView); return itemWhatsThis; }