diff options
| author | 2008-09-04 21:13:54 +0000 | |
|---|---|---|
| committer | 2008-09-04 21:13:54 +0000 | |
| commit | c39b82c6c7a54acf10ca35c64a57db2e6d70a554 (patch) | |
| tree | b6c5facb7f7fd2a615fb4fffa05959f49aac1738 /src | |
| parent | some work on the tree window list and the topic widget (diff) | |
| download | KVIrc-c39b82c6c7a54acf10ca35c64a57db2e6d70a554.tar.gz KVIrc-c39b82c6c7a54acf10ca35c64a57db2e6d70a554.tar.bz2 KVIrc-c39b82c6c7a54acf10ca35c64a57db2e6d70a554.zip | |
some more work on topicwidget
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@2400 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src')
| -rw-r--r-- | src/kvirc/ui/kvi_topicw.cpp | 23 | ||||
| -rw-r--r-- | src/kvirc/ui/kvi_topicw.h | 2 |
2 files changed, 14 insertions, 11 deletions
diff --git a/src/kvirc/ui/kvi_topicw.cpp b/src/kvirc/ui/kvi_topicw.cpp index bd6b5287c..cf29d15fc 100644 --- a/src/kvirc/ui/kvi_topicw.cpp +++ b/src/kvirc/ui/kvi_topicw.cpp @@ -83,7 +83,7 @@ void KviListBoxTopicItemDelegate::paint(QPainter * p, const QStyleOptionViewItem KviTalListWidget* listWidget = (KviTalListWidget*)parent(); KviListBoxTopicItem* item = (KviListBoxTopicItem*) listWidget->item(index.row()); - if(item) KviTopicWidget::paintColoredText(p,item->text(),option.palette,listWidget->visualItemRect(item)); + if(item) KviTopicWidget::paintColoredText(p,item->text(),option.palette,option.rect); } @@ -104,15 +104,14 @@ KviTopicWidget::KviTopicWidget(QWidget * par,const char * name) m_pCompletionBox=new KviTalListWidget(this,"topic_completion_box",Qt::Popup); m_pCompletionBox->setFont( font() ); m_pCompletionBox->setPalette( palette() ); -// m_pCompletionBox->setVScrollBarMode( KviTalListWidget::AlwaysOff ); -// m_pCompletionBox->setHScrollBarMode( KviTalListWidget::AlwaysOff ); m_pCompletionBox->setFrameStyle( QFrame::Box | QFrame::Plain ); - m_pCompletionBox->setLineWidth( 1 ); + m_pCompletionBox->setSelectionBehavior(QAbstractItemView::SelectRows); + m_pCompletionBox->setSelectionMode(QAbstractItemView::SingleSelection); m_pItemDelegate = new KviListBoxTopicItemDelegate(m_pCompletionBox); m_pCompletionBox->setItemDelegate(m_pItemDelegate); - connect(m_pCompletionBox,SIGNAL(itemSelectionChanged(int)),this,SLOT(complete(int))); + connect(m_pCompletionBox,SIGNAL(itemSelectionChanged()),this,SLOT(complete())); m_pCompletionBox->hide(); } @@ -294,7 +293,7 @@ void KviTopicWidget::paintColoredText(QPainter *p, QString text,const QPalette& baseline = ((rect.height() + fm.ascent() - fm.descent() + 1) >> 1); } else { rect = rectz; - baseline = rect.top(); + baseline = rect.top() + rect.height(); } int curX = rect.x() + 2; //2 is the margin @@ -654,7 +653,7 @@ bool KviTopicWidget::eventFilter(QObject *object,QEvent *e) switch( e->type() ) { case QEvent::MouseButtonPress: if ( m_pCompletionBox->rect().contains( ((QMouseEvent*)e)->pos() ) ) { - complete(m_pCompletionBox->row(m_pCompletionBox->itemAt(((QMouseEvent*)e)->pos()))); + complete(); return TRUE; } break; @@ -807,10 +806,14 @@ int KviTopicWidget::xCursorPostionCalculation(int xInd) { return 0; } -void KviTopicWidget::complete(int pos) +void KviTopicWidget::complete() { - m_pInput->setText(m_pCompletionBox->item(pos)->text()); - popDownListBox(); + if(m_pCompletionBox->selectedItems().count() >0) + { + KviListBoxTopicItem* item = (KviListBoxTopicItem*) m_pCompletionBox->selectedItems().first(); + m_pInput->setText(item->text()); + popDownListBox(); + } } QChar KviTopicWidget::getSubstituteChar(unsigned short control_code) diff --git a/src/kvirc/ui/kvi_topicw.h b/src/kvirc/ui/kvi_topicw.h index 6386939d1..7bfd901e1 100644 --- a/src/kvirc/ui/kvi_topicw.h +++ b/src/kvirc/ui/kvi_topicw.h @@ -110,7 +110,7 @@ protected slots: void historyClicked(); void contextPopupAboutToShow(); void copy(); - void complete(int); + void complete(); void popDownListBox(); signals: void topicSelected(const QString &szTopic); |
