summaryrefslogtreecommitdiff
authorharlekin <harlekin>2004-06-20 13:19:19 (UTC)
committer harlekin <harlekin>2004-06-20 13:19:19 (UTC)
commit9f4c73fe369f2a8052323c2b1ae21f3ce133b9fd (patch) (side-by-side diff)
treee5e0e4eb966be59ef350ac92710682857b006e15
parent3d49080501c6619f9bb323be9935d28f4458530f (diff)
downloadopie-9f4c73fe369f2a8052323c2b1ae21f3ce133b9fd.zip
opie-9f4c73fe369f2a8052323c2b1ae21f3ce133b9fd.tar.gz
opie-9f4c73fe369f2a8052323c2b1ae21f3ce133b9fd.tar.bz2
BUGFIX: 0001325 - no double dialog start in odict, when using QDialog::exec don't use it together with QPEApplication::execDialog() but with QPEApplication::showDialog(), also fixed another bug where shadow entries where created after deletion of entries
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/odict/configdlg.cpp15
-rw-r--r--noncore/apps/odict/searchmethoddlg.cpp4
2 files changed, 11 insertions, 8 deletions
diff --git a/noncore/apps/odict/configdlg.cpp b/noncore/apps/odict/configdlg.cpp
index 7fa6008..3d98f63 100644
--- a/noncore/apps/odict/configdlg.cpp
+++ b/noncore/apps/odict/configdlg.cpp
@@ -34,26 +34,26 @@ ConfigDlg::ConfigDlg(QWidget *parent, const char *name, bool modal) : QDialog(pa
QVBoxLayout *vbox_layout_searchtab = new QVBoxLayout( search_tab, 4 , 4 ,"blah" );
QHBox *hbox = new QHBox( search_tab );
list = new QListView( hbox );
list->addColumn( tr( "Searchmethod" ) );
loadSearchMethodNames();
-
+
QVBox *vbox = new QVBox( hbox );
new_button = new QPushButton( tr( "New" ) , vbox );
change_button = new QPushButton( tr( "Change" ) , vbox );
delete_button = new QPushButton( tr( "Delete" ) , vbox );
connect( new_button, SIGNAL( clicked() ), this, SLOT( slotNewMethod() ) );
connect( change_button, SIGNAL( clicked() ), this, SLOT( slotChangeMethod() ));
connect( delete_button, SIGNAL( clicked() ), this, SLOT( slotDeleteMethod() ));
-
+
vbox_layout_searchtab->addWidget( hbox );
vbox_layout->addWidget( search_tab );
- QPEApplication::execDialog( this );
+ QPEApplication::showDialog( this );
}
void ConfigDlg::slotNewMethod()
{
SearchMethodDlg dlg( this, "SearchMethodDlg", true );
if ( dlg.exec() == QDialog::Accepted )
@@ -83,22 +83,25 @@ void ConfigDlg::slotDeleteMethod()
if ( list->selectedItem() )
{
Config cfg ( "odict" );
cfg.setGroup( "Method_"+list->selectedItem()->text(0) );
cfg.clearGroup();
//FIXME: this only removes the entries but not the group itself
-
+
list->takeItem( list->selectedItem() );
}
}
void ConfigDlg::loadSearchMethodNames()
{
Config cfg( "odict" );
QStringList groupListCfg = cfg.groupList().grep( "Method_" );
for ( QStringList::Iterator it = groupListCfg.begin() ; it != groupListCfg.end() ; ++it )
{
- QListViewItem *item = new QListViewItem( list );
cfg.setGroup( *it );
- item->setText( 0 , cfg.readEntry( "Name" ) );
+ QString name = cfg.readEntry( "Name" );
+ if ( name != QString::null ) {
+ QListViewItem *item = new QListViewItem( list );
+ item->setText( 0 , name );
+ }
}
}
diff --git a/noncore/apps/odict/searchmethoddlg.cpp b/noncore/apps/odict/searchmethoddlg.cpp
index 34e8b16..0425657 100644
--- a/noncore/apps/odict/searchmethoddlg.cpp
+++ b/noncore/apps/odict/searchmethoddlg.cpp
@@ -63,22 +63,22 @@ SearchMethodDlg::SearchMethodDlg(QWidget *parent, const char *name, bool modal,
grid->addWidget( lang1, 1,0 );
grid->addWidget( trenner, 1,1 );
grid->addWidget( lang2, 1,2 );
vbox_layout->addWidget( vbox );
- QPEApplication::execDialog ( this );
-
if( !itemname )
setCaption( tr( "New Searchmethod" ) );
else
{
setCaption( tr( "Change Searchmethod" ) );
itemName = itemname;
setupEntries(itemname);
}
+
+ QPEApplication::showDialog ( this );
}
void SearchMethodDlg::setupEntries( QString item )
{
Config cfg( "odict" );
cfg.setGroup( "Method_"+itemName );