summaryrefslogtreecommitdiff
path: root/core/pim/osearch/mainwindow.cpp
authortille <tille>2003-05-17 10:38:52 (UTC)
committer tille <tille>2003-05-17 10:38:52 (UTC)
commitcdf3ec6993eebb80c96258c1bb217594ea442544 (patch) (side-by-side diff)
treee0323d8011928c11aecc747535fcf8ae521d70c3 /core/pim/osearch/mainwindow.cpp
parentf6c30fa4d0e97b0256a7b40554f70b5c08895d80 (diff)
downloadopie-cdf3ec6993eebb80c96258c1bb217594ea442544.zip
opie-cdf3ec6993eebb80c96258c1bb217594ea442544.tar.gz
opie-cdf3ec6993eebb80c96258c1bb217594ea442544.tar.bz2
(layout) fixes from zecke (for 0.99)
and some minor things...
Diffstat (limited to 'core/pim/osearch/mainwindow.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--core/pim/osearch/mainwindow.cpp39
1 files changed, 25 insertions, 14 deletions
diff --git a/core/pim/osearch/mainwindow.cpp b/core/pim/osearch/mainwindow.cpp
index c6934db..aa52061 100644
--- a/core/pim/osearch/mainwindow.cpp
+++ b/core/pim/osearch/mainwindow.cpp
@@ -19,10 +19,12 @@
#include <qlabel.h>
#include <qfile.h>
#include <qhbuttongroup.h>
+#include <qhbox.h>
#include <qpushbutton.h>
#include <qintdict.h>
#include <qlayout.h>
#include <qlineedit.h>
+#include <qsignalmapper.h>
#include <qtextbrowser.h>
#include <qregexp.h>
#include <qwhatsthis.h>
@@ -71,15 +73,14 @@ MainWindow::MainWindow( QWidget *parent, const char *name, WFlags f ) :
richEdit->setSizePolicy( QSizePolicy( QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding));
detailsLayout->addWidget( richEdit );
- buttonGroupActions = new QHButtonGroup( this );
- buttonGroupActions->hide();
- _buttonCount = 0;
+ buttonBox = new QHBox( mainFrame, "Button Box" );
- buttonLayout = new QHBoxLayout( detailsFrame );
- detailsLayout->addLayout( buttonLayout );
+ _buttonCount = 0;
mainLayout->addWidget( detailsFrame );
+ mainLayout->addWidget( buttonBox );
detailsFrame->hide();
+ buttonBox->hide();
searches.append( new AppLnkSearch( resultsList, tr("applications") ) );
searches.append( new DocLnkSearch( resultsList, tr("documents") ) );
@@ -96,7 +97,10 @@ MainWindow::MainWindow( QWidget *parent, const char *name, WFlags f ) :
connect(searchTimer, SIGNAL(timeout()), SLOT(searchStringChanged()));
connect(resultsList, SIGNAL(pressed(QListViewItem*)), SLOT(setCurrent(QListViewItem*)));
connect(resultsList, SIGNAL(clicked(QListViewItem*)), SLOT(stopTimer(QListViewItem*)));
- connect(buttonGroupActions, SIGNAL(clicked(int)), SLOT( slotAction(int) ) );
+
+ signalMapper = new QSignalMapper( this );
+
+ connect(signalMapper, SIGNAL(mapped(int)), SLOT( slotAction(int) ) );
makeMenu();
@@ -183,22 +187,29 @@ void MainWindow::setCurrent(QListViewItem *item)
QIntDict<QString> acts = res->actions();
QButton *button;
for (uint i = 0; i < acts.count(); i++){
- button = buttonGroupActions->find( i );
+ button = buttonMap[i];
if (!button) {
- button = new QPushButton( detailsFrame );
- buttonLayout->addWidget( button, 0 );
- buttonGroupActions->insert( button, i);
+ qWarning(" no button for %s", (*acts[i]).latin1() );
+ button = new QPushButton( buttonBox );
+ buttonMap.insert( i, button );
+ signalMapper->setMapping(button, i );
+ connect(button, SIGNAL(clicked() ), signalMapper, SLOT(map() ) );
}
button->setText( *acts[i] );
button->show();
}
for (uint i = acts.count(); i < _buttonCount; i++){
- button = buttonGroupActions->find( i );
+ button = buttonMap[i];
if (button) button->hide();
}
_buttonCount = acts.count();
detailsFrame->show();
- }else detailsFrame->hide();
+ buttonBox->show();
+
+ }else {
+ detailsFrame->hide();
+ buttonBox->hide();
+ }
popupTimer->start( 300, true );
}
@@ -253,14 +264,14 @@ void MainWindow::searchAll()
void MainWindow::slotAction( int act )
{
- if (_currentItem->rtti() == OListViewItem::Result){
+ if ( _currentItem && _currentItem->rtti() == OListViewItem::Result){
ResultItem *res = (ResultItem*)_currentItem;
// ResultItem *res = dynamic_cast<ResultItem*>(item);
res->action(act);
}
}
-void MainWindow::optionChanged(int i)
+void MainWindow::optionChanged(int )
{
searchStringChanged();
}