summaryrefslogtreecommitdiffabout
path: root/kaddressbook/incsearchwidget.cpp
Side-by-side diff
Diffstat (limited to 'kaddressbook/incsearchwidget.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--kaddressbook/incsearchwidget.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/kaddressbook/incsearchwidget.cpp b/kaddressbook/incsearchwidget.cpp
index 314de10..7577079 100644
--- a/kaddressbook/incsearchwidget.cpp
+++ b/kaddressbook/incsearchwidget.cpp
@@ -30,146 +30,148 @@
#include <kdialog.h>
#include <klineedit.h>
#include <klocale.h>
#include <kglobal.h>
#include <kglobal.h>
#include "kabprefs.h"
#include "incsearchwidget.h"
IncSearchWidget::IncSearchWidget( QWidget *parent, const char *name )
: QWidget( parent, name )
{
#ifndef KAB_EMBEDDED
//US setCaption( i18n( "Incremental Search" ) );
#endif //KAB_EMBEDDED
QHBoxLayout *layout = new QHBoxLayout( this, 2, KDialog::spacingHint() );
#ifdef DESKTOP_VERSION
QLabel *label = new QLabel( i18n( "Search:" ), this );
label->setAlignment( QLabel::AlignVCenter | QLabel::AlignRight );
layout->addWidget( label );
#endif //KAB_EMBEDDED
mSearchText = new KLineEdit( this );
layout->addWidget( mSearchText );
// #ifdef KAB_EMBEDDED
// if (KGlobal::getOrientation() == KGlobal::Portrait)
// mSearchText->setMaximumWidth(30);
// #endif //KAB_EMBEDDED
//mSearchText->setMaximumWidth(60);
mFieldCombo = new QComboBox( false, this );
layout->addWidget( mFieldCombo );
mFieldCombo->setMaximumHeight( 34 );
QToolTip::add( mFieldCombo, i18n( "Select Incremental Search Field" ) );
// #ifndef KAB_EMBEDDED
// resize( QSize(420, 50).expandedTo( sizeHint() ) );
// #else //KAB_EMBEDDED
// resize( QSize(30, 10).expandedTo( sizeHint() ) );
// #endif //KAB_EMBEDDED
// for performance reasons, we do a search on the pda only after return is pressed
connect( mSearchText, SIGNAL( textChanged( const QString& ) ),
SLOT( announceDoSearch2() ) );
connect( mFieldCombo, SIGNAL( activated( const QString& ) ),
SLOT( announceDoSearch2() ) );
connect( mSearchText, SIGNAL( returnPressed() ),
SLOT( announceDoSearch() ) );
connect( mFieldCombo, SIGNAL( activated( const QString& ) ),
SLOT( announceFieldChanged() ) );
connect( mSearchText, SIGNAL( scrollUP() ), this, SIGNAL( scrollUP() ));
connect( mSearchText, SIGNAL( scrollDOWN() ), this, SIGNAL( scrollDOWN() ));
setFocusProxy( mSearchText );
}
IncSearchWidget::~IncSearchWidget()
{
}
void IncSearchWidget::announceDoSearch2()
{
if ( KABPrefs::instance()->mSearchWithReturn )
return;
emit doSearch( mSearchText->text() );
//qDebug("emit dosreach ");
}
void IncSearchWidget::announceDoSearch()
{
emit doSearch( mSearchText->text() );
// qDebug("emit dosreach ");
}
void IncSearchWidget::announceFieldChanged()
{
emit fieldChanged();
}
void IncSearchWidget::setSize()
{
if ( KABPrefs::instance()->mHideSearchOnSwitch && QApplication::desktop()->width() == 480) {
mFieldCombo->setMaximumWidth( 40 );
mSearchText->setMaximumWidth( 30 );
} else {
QFontMetrics fm ( mFieldCombo->font() );
int wid = fm.width(i18n( "All Fields" ) );
- int max = wid;
+#ifdef DESKTOP_VERSION
+ wid = wid * 2;
+#endif
mFieldCombo->setMaximumWidth( wid+60 );
mSearchText->setMaximumWidth( 1024 );
}
}
void IncSearchWidget::setFields( const KABC::Field::List &list )
{
mFieldCombo->clear();
mFieldCombo->insertItem( i18n( "All Fields" ) );
KABC::Field::List::ConstIterator it;
for ( it = list.begin(); it != list.end(); ++it ) {
mFieldCombo->insertItem( (*it)->label() );
}
mFieldList = list;
announceDoSearch();
announceFieldChanged();
setSize();
}
KABC::Field::List IncSearchWidget::fields() const
{
return mFieldList;
}
KABC::Field *IncSearchWidget::currentField()const
{
if ( mFieldCombo->currentItem() == -1 || mFieldCombo->currentItem() == 0 )
return 0; // for error or 'use all fields'
else
return mFieldList[ mFieldCombo->currentItem() - 1 ];
}
void IncSearchWidget::setCurrentItem( int pos )
{
mFieldCombo->setCurrentItem( pos );
announceFieldChanged();
}
int IncSearchWidget::currentItem() const
{
return mFieldCombo->currentItem();
}
#ifndef KAB_EMBEDDED
#include "incsearchwidget.moc"
#endif //KAB_EMBEDDED