author | harlekin <harlekin> | 2004-06-20 13:19:19 (UTC) |
---|---|---|
committer | harlekin <harlekin> | 2004-06-20 13:19:19 (UTC) |
commit | 9f4c73fe369f2a8052323c2b1ae21f3ce133b9fd (patch) (side-by-side diff) | |
tree | e5e0e4eb966be59ef350ac92710682857b006e15 | |
parent | 3d49080501c6619f9bb323be9935d28f4458530f (diff) | |
download | opie-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
-rw-r--r-- | noncore/apps/odict/configdlg.cpp | 15 | ||||
-rw-r--r-- | noncore/apps/odict/searchmethoddlg.cpp | 4 |
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 @@ -24,46 +24,46 @@ #include <qvbox.h> #include <qlistview.h> #include <qpushbutton.h> #include <qlineedit.h> ConfigDlg::ConfigDlg(QWidget *parent, const char *name, bool modal) : QDialog(parent, name, modal) { setCaption( tr( "Options" ) ); QVBoxLayout *vbox_layout = new QVBoxLayout( this ); search_tab = new QWidget( this , "search_tab" ); 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 ) { dlg.saveItem(); QListViewItem *item = new QListViewItem( list ); item->setText( 0 , dlg.nameLE->text() ); } } void ConfigDlg::slotChangeMethod() { if ( list->selectedItem() ) @@ -73,32 +73,35 @@ void ConfigDlg::slotChangeMethod() { dlg.saveItem(); QListViewItem *item = list->selectedItem(); item->setText( 0 , dlg.nameLE->text() ); } } } 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 @@ -53,42 +53,42 @@ SearchMethodDlg::SearchMethodDlg(QWidget *parent, const char *name, bool modal, QLabel *lag2 = new QLabel( tr( "Language 2" ),dummywidget); lang1 = new QLineEdit( dummywidget ); lang2 = new QLineEdit( dummywidget ); trenner = new QLineEdit( dummywidget ); trenner->setText( "::" ); QGridLayout *grid = new QGridLayout( dummywidget, 2,3 ); grid->addWidget( lag1, 0,0 ); grid->addWidget( devider, 0,1 ); grid->addWidget( lag2, 0,2 ); 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 ); trenner->setText( cfg.readEntry( "Seperator" ) ); lang1->setText( cfg.readEntry( "Lang1" ) ); lang2->setText( cfg.readEntry( "Lang2" ) ); nameLE->setText( itemName ); dictFileLE->setText( cfg.readEntry( "file" ) ); } void SearchMethodDlg::slotBrowse() { itemName=OFileDialog::getOpenFileName( OFileSelector::EXTENDED,QDir::homeDirPath()); |