summaryrefslogtreecommitdiffabout
path: root/kaddressbook
Side-by-side diff
Diffstat (limited to 'kaddressbook') (more/less context) (ignore whitespace changes)
-rw-r--r--kaddressbook/incsearchwidget.cpp24
-rw-r--r--kaddressbook/incsearchwidget.h1
-rw-r--r--kaddressbook/kabcore.cpp37
-rw-r--r--kaddressbook/kabprefs.cpp2
-rw-r--r--kaddressbook/kabprefs.h2
-rw-r--r--kaddressbook/kcmconfigs/kabconfigwidget.cpp15
-rw-r--r--kaddressbook/kcmconfigs/kabconfigwidget.h2
-rw-r--r--kaddressbook/viewmanager.cpp4
8 files changed, 65 insertions, 22 deletions
diff --git a/kaddressbook/incsearchwidget.cpp b/kaddressbook/incsearchwidget.cpp
index dd2121a..cd198c4 100644
--- a/kaddressbook/incsearchwidget.cpp
+++ b/kaddressbook/incsearchwidget.cpp
@@ -114,29 +114,35 @@ 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;
+ mFieldCombo->setMaximumWidth( wid+60 );
+ mSearchText->setMaximumWidth( 1024 );
+ }
+}
void IncSearchWidget::setFields( const KABC::Field::List &list )
{
mFieldCombo->clear();
mFieldCombo->insertItem( i18n( "All Fields" ) );
- QFontMetrics fm ( mFieldCombo->font() );
- int wid = fm.width(i18n( "All Fields" ) );
- int max = wid;
-
+
KABC::Field::List::ConstIterator it;
for ( it = list.begin(); it != list.end(); ++it ) {
mFieldCombo->insertItem( (*it)->label() );
- // wid = fm.width((*it)->label() );
- //if ( wid > max )
- // max = wid;
}
mFieldList = list;
announceDoSearch();
announceFieldChanged();
- mFieldCombo->setMaximumWidth( wid+60 );
+ setSize();
}
KABC::Field::List IncSearchWidget::fields() const
diff --git a/kaddressbook/incsearchwidget.h b/kaddressbook/incsearchwidget.h
index 1546a51..cae55cd 100644
--- a/kaddressbook/incsearchwidget.h
+++ b/kaddressbook/incsearchwidget.h
@@ -46,6 +46,7 @@ class IncSearchWidget : public QWidget
void setCurrentItem( int pos );
int currentItem() const;
+ void setSize();
signals:
void scrollUP();
diff --git a/kaddressbook/kabcore.cpp b/kaddressbook/kabcore.cpp
index 59aa5a5..09d8523 100644
--- a/kaddressbook/kabcore.cpp
+++ b/kaddressbook/kabcore.cpp
@@ -298,6 +298,7 @@ KABCore::KABCore( KXMLGUIClient *client, bool readWrite, QWidget *parent, const
{
// syncManager = new KSyncManager((QWidget*)this, (KSyncInterface*)this, KSyncManager::KAPI, KABPrefs::instance(), syncMenu);
// syncManager->setBlockSave(false);
+ mIncSearchWidget = 0;
mMiniSplitter = 0;
mExtensionBarSplitter = 0;
mIsPart = !parent->inherits( "KAddressBookMain" );
@@ -819,7 +820,6 @@ void KABCore::beamMySelf()
}
void KABCore::updateMainWindow()
{
-
mMainWindow->showMaximized();
mMainWindow->update();
}
@@ -833,22 +833,31 @@ void KABCore::resizeEvent(QResizeEvent* e )
if ( mMiniSplitter->orientation() == Qt::Vertical ) {
mMiniSplitter->setOrientation( Qt::Horizontal);
mMiniSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Right );
- if ( QApplication::desktop()->width() <= 640 ) {
- //mMainWindow->setMaximumSize( QApplication::desktop()->size() );
- mViewManager->getFilterAction()->setComboWidth( 150 );
- QTimer::singleShot( 1, this , SLOT ( updateMainWindow()));
- }
}
+ if ( QApplication::desktop()->width() <= 640 ) {
+ //mMainWindow->setMaximumSize( QApplication::desktop()->size() );
+ mViewManager->getFilterAction()->setComboWidth( 150 );
+ if ( mIncSearchWidget )
+ mIncSearchWidget->setSize();
+ QTimer::singleShot( 1, this , SLOT ( updateMainWindow()));
+ }
+
} else if (QApplication::desktop()->width() == 480 ){// e.g. 480x640
if ( mMiniSplitter->orientation() == Qt::Horizontal ) {
mMiniSplitter->setOrientation( Qt::Vertical );
mMiniSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Down );
- if ( QApplication::desktop()->width() <= 640 ) {
- //mMainWindow->setMaximumSize( QApplication::desktop()->size() );
- mMainWindow->showMinimized();
+ }
+ if ( QApplication::desktop()->width() <= 640 ) {
+ //mMainWindow->setMaximumSize( QApplication::desktop()->size() );
+ mMainWindow->showMinimized();
+ if ( KABPrefs::instance()->mHideSearchOnSwitch ) {
+ if ( mIncSearchWidget ) {
+ mIncSearchWidget->setSize();
+ }
+ } else {
mViewManager->getFilterAction()->setComboWidth( 0 );
- QTimer::singleShot( 1, this , SLOT ( updateMainWindow()));
}
+ QTimer::singleShot( 1, this , SLOT ( updateMainWindow()));
}
}
}
@@ -1153,7 +1162,13 @@ void KABCore::setSearchFields( const KABC::Field::List &fields )
void KABCore::incrementalSearch( const QString& text )
{
- mViewManager->doSearch( text, mIncSearchWidget->currentField() );
+ QString stext;
+ if ( KABPrefs::instance()->mAutoSearchWithWildcard ) {
+ stext = "*" + text;
+ } else {
+ stext = text;
+ }
+ mViewManager->doSearch( stext, mIncSearchWidget->currentField() );
}
void KABCore::setModified()
diff --git a/kaddressbook/kabprefs.cpp b/kaddressbook/kabprefs.cpp
index b96d28a..ea254b7 100644
--- a/kaddressbook/kabprefs.cpp
+++ b/kaddressbook/kabprefs.cpp
@@ -60,6 +60,8 @@ KABPrefs::KABPrefs()
addItemBool("ToolBarHor",&mToolBarHor, true );
addItemBool("ToolBarUp",&mToolBarUp, false );
addItemBool("SearchWithReturn",&mSearchWithReturn, false );
+ addItemBool("AutoSearchWithWildcard",&mAutoSearchWithWildcard, false );
+ addItemBool("HideSearchOnSwitch",&mHideSearchOnSwitch, false );
addItemFont("DetailsFont",&mDetailsFont,KGlobalSettings::generalFont());
diff --git a/kaddressbook/kabprefs.h b/kaddressbook/kabprefs.h
index 1e3b48f..2bb173d 100644
--- a/kaddressbook/kabprefs.h
+++ b/kaddressbook/kabprefs.h
@@ -70,6 +70,8 @@ class KABPrefs : public KPimPrefs
bool mDetailsPageVisible;
bool mMultipleViewsAtOnce;
bool mSearchWithReturn;
+ bool mAutoSearchWithWildcard;
+ bool mHideSearchOnSwitch;
QValueList<int> mExtensionsSplitter;
QValueList<int> mDetailsSplitter;
diff --git a/kaddressbook/kcmconfigs/kabconfigwidget.cpp b/kaddressbook/kcmconfigs/kabconfigwidget.cpp
index 3ad2f74..986c9b8 100644
--- a/kaddressbook/kcmconfigs/kabconfigwidget.cpp
+++ b/kaddressbook/kcmconfigs/kabconfigwidget.cpp
@@ -123,6 +123,14 @@ KABConfigWidget::KABConfigWidget( KABPrefs* prefs, QWidget *parent, const char *
boxLayout->addWidget( mMenuBarBox );
mSearchReturnBox = new QCheckBox( i18n( "Search only after <return> key pressed" ), vBox, "mreturn" );
boxLayout->addWidget( mSearchReturnBox );
+ mAutoSearchWithWildcardBox = new QCheckBox( i18n( "Search with '*' prefix (wildcard)" ), vBox, "mwildcard" );
+ boxLayout->addWidget( mAutoSearchWithWildcardBox);
+ mHideSearchOnSwitchBox = new QCheckBox( i18n( "Shrink searchfield in portrait view" ), vBox, "mswitch" );
+ boxLayout->addWidget( mHideSearchOnSwitchBox );
+
+#ifdef DESKTOP_VERSION
+ mHideSearchOnSwitchBox->hide();
+#endif
mViewsSingleClickBox = new QCheckBox( i18n( "Honor KDE single click" ), vBox, "msingle" );
boxLayout->addWidget( mViewsSingleClickBox );
@@ -171,6 +179,8 @@ KABConfigWidget::KABConfigWidget( KABPrefs* prefs, QWidget *parent, const char *
connect( mNameParsing, SIGNAL( toggled( bool ) ), this, SLOT( modified() ) );
connect( mViewsSingleClickBox, SIGNAL( toggled( bool ) ), this, SLOT( modified() ) );
connect( mSearchReturnBox, SIGNAL( toggled( bool ) ), this, SLOT( modified() ) );
+ connect( mAutoSearchWithWildcardBox, SIGNAL( toggled( bool ) ), this, SLOT( modified() ) );
+ connect( mHideSearchOnSwitchBox, SIGNAL( toggled( bool ) ), this, SLOT( modified() ) );
connect( mMultipleViewsAtOnce, SIGNAL( toggled( bool ) ), this, SLOT( modified() ) );
connect( mAskForQuit, SIGNAL( toggled( bool ) ), this, SLOT( modified() ) );
connect( mExtensionView, SIGNAL( selectionChanged( QListViewItem* ) ),
@@ -199,6 +209,8 @@ void KABConfigWidget::usrReadConfig()
mNameParsing->setChecked( prefs->mAutomaticNameParsing );
mViewsSingleClickBox->setChecked( prefs->mHonorSingleClick );
mSearchReturnBox->setChecked( prefs->mSearchWithReturn );
+ mAutoSearchWithWildcardBox->setChecked( prefs->mAutoSearchWithWildcard );
+ mHideSearchOnSwitchBox->setChecked( prefs->mHideSearchOnSwitch );
mMultipleViewsAtOnce->setChecked( prefs->mMultipleViewsAtOnce );
mAskForQuit->setChecked( prefs->mAskForQuit );
@@ -217,6 +229,9 @@ void KABConfigWidget::usrWriteConfig()
prefs->mAutomaticNameParsing = mNameParsing->isChecked();
prefs->mHonorSingleClick = mViewsSingleClickBox->isChecked();
prefs->mSearchWithReturn = mSearchReturnBox->isChecked();
+ prefs->mAutoSearchWithWildcard = mAutoSearchWithWildcardBox->isChecked();
+ prefs->mHideSearchOnSwitch = mHideSearchOnSwitchBox->isChecked();
+
prefs->mMultipleViewsAtOnce = mMultipleViewsAtOnce->isChecked();
prefs->mAskForQuit = mAskForQuit->isChecked();
diff --git a/kaddressbook/kcmconfigs/kabconfigwidget.h b/kaddressbook/kcmconfigs/kabconfigwidget.h
index 08d71b4..a172e97 100644
--- a/kaddressbook/kcmconfigs/kabconfigwidget.h
+++ b/kaddressbook/kcmconfigs/kabconfigwidget.h
@@ -64,6 +64,8 @@ class KABConfigWidget : public KPrefsWidget
QCheckBox *mSearchReturnBox;
QCheckBox *mNameParsing;
QCheckBox *mViewsSingleClickBox;
+ QCheckBox *mAutoSearchWithWildcardBox;
+ QCheckBox *mHideSearchOnSwitchBox;
QCheckBox *mMultipleViewsAtOnce;
QCheckBox *mAskForQuit;
QCheckBox *mMenuBarBox;
diff --git a/kaddressbook/viewmanager.cpp b/kaddressbook/viewmanager.cpp
index 04759a7..c2b1bb0 100644
--- a/kaddressbook/viewmanager.cpp
+++ b/kaddressbook/viewmanager.cpp
@@ -108,7 +108,7 @@ void ViewManager::restoreSettings()
mActionSelectFilter->setItems( filterNames() );
mActionSelectFilter->setCurrentItem( KABPrefs::instance()->mCurrentFilter );
int cw = 150;
- if (QApplication::desktop()->width() == 480 )
+ if (QApplication::desktop()->width() == 480 && !KABPrefs::instance()->mHideSearchOnSwitch)
cw = 0;
mActionSelectFilter->setComboWidth( cw );
// Tell the views to reread their config, since they may have
@@ -604,7 +604,7 @@ void ViewManager::configureFilters()
mActionSelectFilter->setCurrentItem( pos );
setActiveFilter( pos );
int cw = 150;
- if (QApplication::desktop()->width() == 480 )
+ if (QApplication::desktop()->width() == 480 && !KABPrefs::instance()->mHideSearchOnSwitch)
cw = 0;
mActionSelectFilter->setComboWidth( cw );
saveSettings();