author | harlekin <harlekin> | 2004-06-20 13:19:19 (UTC) |
---|---|---|
committer | harlekin <harlekin> | 2004-06-20 13:19:19 (UTC) |
commit | 9f4c73fe369f2a8052323c2b1ae21f3ce133b9fd (patch) (unidiff) | |
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 | |||
@@ -32,30 +32,30 @@ ConfigDlg::ConfigDlg(QWidget *parent, const char *name, bool modal) : QDialog(pa | |||
32 | QVBoxLayout *vbox_layout = new QVBoxLayout( this ); | 32 | QVBoxLayout *vbox_layout = new QVBoxLayout( this ); |
33 | search_tab = new QWidget( this , "search_tab" ); | 33 | search_tab = new QWidget( this , "search_tab" ); |
34 | QVBoxLayout *vbox_layout_searchtab = new QVBoxLayout( search_tab, 4 , 4 ,"blah" ); | 34 | QVBoxLayout *vbox_layout_searchtab = new QVBoxLayout( search_tab, 4 , 4 ,"blah" ); |
35 | 35 | ||
36 | QHBox *hbox = new QHBox( search_tab ); | 36 | QHBox *hbox = new QHBox( search_tab ); |
37 | list = new QListView( hbox ); | 37 | list = new QListView( hbox ); |
38 | list->addColumn( tr( "Searchmethod" ) ); | 38 | list->addColumn( tr( "Searchmethod" ) ); |
39 | loadSearchMethodNames(); | 39 | loadSearchMethodNames(); |
40 | 40 | ||
41 | QVBox *vbox = new QVBox( hbox ); | 41 | QVBox *vbox = new QVBox( hbox ); |
42 | new_button = new QPushButton( tr( "New" ) , vbox ); | 42 | new_button = new QPushButton( tr( "New" ) , vbox ); |
43 | change_button = new QPushButton( tr( "Change" ) , vbox ); | 43 | change_button = new QPushButton( tr( "Change" ) , vbox ); |
44 | delete_button = new QPushButton( tr( "Delete" ) , vbox ); | 44 | delete_button = new QPushButton( tr( "Delete" ) , vbox ); |
45 | connect( new_button, SIGNAL( clicked() ), this, SLOT( slotNewMethod() ) ); | 45 | connect( new_button, SIGNAL( clicked() ), this, SLOT( slotNewMethod() ) ); |
46 | connect( change_button, SIGNAL( clicked() ), this, SLOT( slotChangeMethod() )); | 46 | connect( change_button, SIGNAL( clicked() ), this, SLOT( slotChangeMethod() )); |
47 | connect( delete_button, SIGNAL( clicked() ), this, SLOT( slotDeleteMethod() )); | 47 | connect( delete_button, SIGNAL( clicked() ), this, SLOT( slotDeleteMethod() )); |
48 | 48 | ||
49 | vbox_layout_searchtab->addWidget( hbox ); | 49 | vbox_layout_searchtab->addWidget( hbox ); |
50 | 50 | ||
51 | vbox_layout->addWidget( search_tab ); | 51 | vbox_layout->addWidget( search_tab ); |
52 | 52 | ||
53 | QPEApplication::execDialog( this ); | 53 | QPEApplication::showDialog( this ); |
54 | } | 54 | } |
55 | 55 | ||
56 | void ConfigDlg::slotNewMethod() | 56 | void ConfigDlg::slotNewMethod() |
57 | { | 57 | { |
58 | SearchMethodDlg dlg( this, "SearchMethodDlg", true ); | 58 | SearchMethodDlg dlg( this, "SearchMethodDlg", true ); |
59 | if ( dlg.exec() == QDialog::Accepted ) | 59 | if ( dlg.exec() == QDialog::Accepted ) |
60 | { | 60 | { |
61 | dlg.saveItem(); | 61 | dlg.saveItem(); |
@@ -81,24 +81,27 @@ void ConfigDlg::slotChangeMethod() | |||
81 | void ConfigDlg::slotDeleteMethod() | 81 | void ConfigDlg::slotDeleteMethod() |
82 | { | 82 | { |
83 | if ( list->selectedItem() ) | 83 | if ( list->selectedItem() ) |
84 | { | 84 | { |
85 | Config cfg ( "odict" ); | 85 | Config cfg ( "odict" ); |
86 | cfg.setGroup( "Method_"+list->selectedItem()->text(0) ); | 86 | cfg.setGroup( "Method_"+list->selectedItem()->text(0) ); |
87 | cfg.clearGroup(); | 87 | cfg.clearGroup(); |
88 | //FIXME: this only removes the entries but not the group itself | 88 | //FIXME: this only removes the entries but not the group itself |
89 | 89 | ||
90 | list->takeItem( list->selectedItem() ); | 90 | list->takeItem( list->selectedItem() ); |
91 | } | 91 | } |
92 | } | 92 | } |
93 | 93 | ||
94 | void ConfigDlg::loadSearchMethodNames() | 94 | void ConfigDlg::loadSearchMethodNames() |
95 | { | 95 | { |
96 | Config cfg( "odict" ); | 96 | Config cfg( "odict" ); |
97 | QStringList groupListCfg = cfg.groupList().grep( "Method_" ); | 97 | QStringList groupListCfg = cfg.groupList().grep( "Method_" ); |
98 | for ( QStringList::Iterator it = groupListCfg.begin() ; it != groupListCfg.end() ; ++it ) | 98 | for ( QStringList::Iterator it = groupListCfg.begin() ; it != groupListCfg.end() ; ++it ) |
99 | { | 99 | { |
100 | QListViewItem *item = new QListViewItem( list ); | ||
101 | cfg.setGroup( *it ); | 100 | cfg.setGroup( *it ); |
102 | item->setText( 0 , cfg.readEntry( "Name" ) ); | 101 | QString name = cfg.readEntry( "Name" ); |
102 | if ( name != QString::null ) { | ||
103 | QListViewItem *item = new QListViewItem( list ); | ||
104 | item->setText( 0 , name ); | ||
105 | } | ||
103 | } | 106 | } |
104 | } | 107 | } |
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 | |||
@@ -61,26 +61,26 @@ SearchMethodDlg::SearchMethodDlg(QWidget *parent, const char *name, bool modal, | |||
61 | grid->addWidget( devider, 0,1 ); | 61 | grid->addWidget( devider, 0,1 ); |
62 | grid->addWidget( lag2, 0,2 ); | 62 | grid->addWidget( lag2, 0,2 ); |
63 | grid->addWidget( lang1, 1,0 ); | 63 | grid->addWidget( lang1, 1,0 ); |
64 | grid->addWidget( trenner, 1,1 ); | 64 | grid->addWidget( trenner, 1,1 ); |
65 | grid->addWidget( lang2, 1,2 ); | 65 | grid->addWidget( lang2, 1,2 ); |
66 | 66 | ||
67 | vbox_layout->addWidget( vbox ); | 67 | vbox_layout->addWidget( vbox ); |
68 | 68 | ||
69 | QPEApplication::execDialog ( this ); | ||
70 | |||
71 | if( !itemname ) | 69 | if( !itemname ) |
72 | setCaption( tr( "New Searchmethod" ) ); | 70 | setCaption( tr( "New Searchmethod" ) ); |
73 | else | 71 | else |
74 | { | 72 | { |
75 | setCaption( tr( "Change Searchmethod" ) ); | 73 | setCaption( tr( "Change Searchmethod" ) ); |
76 | itemName = itemname; | 74 | itemName = itemname; |
77 | setupEntries(itemname); | 75 | setupEntries(itemname); |
78 | } | 76 | } |
77 | |||
78 | QPEApplication::showDialog ( this ); | ||
79 | } | 79 | } |
80 | 80 | ||
81 | void SearchMethodDlg::setupEntries( QString item ) | 81 | void SearchMethodDlg::setupEntries( QString item ) |
82 | { | 82 | { |
83 | Config cfg( "odict" ); | 83 | Config cfg( "odict" ); |
84 | cfg.setGroup( "Method_"+itemName ); | 84 | cfg.setGroup( "Method_"+itemName ); |
85 | trenner->setText( cfg.readEntry( "Seperator" ) ); | 85 | trenner->setText( cfg.readEntry( "Seperator" ) ); |
86 | lang1->setText( cfg.readEntry( "Lang1" ) ); | 86 | lang1->setText( cfg.readEntry( "Lang1" ) ); |