The search dialog now defaults to the selected folder, even if serveral folders

have the same name.

svn path=/trunk/kdenetwork/kmail/; revision=89244
wilder-work
Michael Haeckel 25 years ago
parent 45d3ace8f1
commit a606916dab
  1. 30
      kmfldsearch.cpp
  2. 4
      kmfldsearch.h
  3. 8
      kmmainwin.cpp

@ -32,7 +32,7 @@
//-----------------------------------------------------------------------------
KMFldSearch::KMFldSearch(KMMainWin* w, const char* name,
QString curFolder, bool modal, WFlags f):
KMFolder *curFolder, bool modal, WFlags f):
KMFldSearchInherited(NULL, name, modal, f | Qt::WDestructiveClose)
{
KButtonBox* bbox;
@ -149,24 +149,18 @@ KMFldSearch::~KMFldSearch()
//-----------------------------------------------------------------------------
QComboBox* KMFldSearch::createFolderCombo(const QString curFolder)
QComboBox* KMFldSearch::createFolderCombo(KMFolder *curFolder)
{
QComboBox* cbx = new QComboBox(false, this);
mMainWin->folderTree()->createFolderList( &mFolderNames, &mFolders );
cbx->setFixedHeight(cbx->sizeHint().height());
cbx->insertItem(i18n("<Search all local folders>"));
QStringList::Iterator st;
int i = 1;
for( st = mFolderNames.begin(); st != mFolderNames.end(); ++st, ++i) {
cbx->insertItem(*st);
QString fname = *st;
if( fname.stripWhiteSpace() == curFolder ) { // preselect current folder
cbx->setCurrentItem(i);
}
}
return cbx;
QComboBox* cbx = new QComboBox(false, this);
mMainWin->folderTree()->createFolderList( &mFolderNames, &mFolders );
cbx->setFixedHeight(cbx->sizeHint().height());
cbx->insertItem(i18n("<Search all local folders>"));
cbx->insertStringList(mFolderNames);
if (curFolder && !curFolder->isDir())
cbx->setCurrentItem(mFolders.findIndex(curFolder) + 1);
return cbx;
}

@ -28,7 +28,7 @@ class KMFldSearch: public QDialog
Q_OBJECT
public:
KMFldSearch(KMMainWin* parent, const char* name=NULL,
QString currentfolder = "", bool modal=FALSE, WFlags f=0);
KMFolder *curFolder=NULL, bool modal=FALSE, WFlags f=0);
virtual ~KMFldSearch();
protected slots:
@ -43,7 +43,7 @@ protected:
void enableGUI();
/** Create combo-box with list of folders */
virtual QComboBox* createFolderCombo(const QString curFolder=0);
virtual QComboBox* createFolderCombo(KMFolder *curFolder);
/** Test if message matches. */
virtual bool searchInMessage(KMMessage*, const QCString&);

@ -481,13 +481,7 @@ void KMMainWin::slotClose()
void KMMainWin::slotSearch()
{
if(!searchWin) {
QString curFolder = "";
if( mFolder )
{
if ( mFolder->isSystemFolder() ) curFolder = i18n(mFolder->name());
else curFolder = mFolder->name();
}
searchWin = new KMFldSearch(this, "Search", curFolder, false);
searchWin = new KMFldSearch(this, "Search", mFolder, false);
connect(searchWin, SIGNAL(destroyed()),
this, SLOT(slotSearchClosed()));
}

Loading…
Cancel
Save