author | cniehaus <cniehaus> | 2003-05-10 20:18:16 (UTC) |
---|---|---|
committer | cniehaus <cniehaus> | 2003-05-10 20:18:16 (UTC) |
commit | 1bff948326aa752c3f4aceac4083717f8c2066e8 (patch) (unidiff) | |
tree | a4b4eb9dd70f363f960a5be7ae94c6e52951dcfc | |
parent | b7d34545193f39c146ab56b1127863279a3121ce (diff) | |
download | opie-1bff948326aa752c3f4aceac4083717f8c2066e8.zip opie-1bff948326aa752c3f4aceac4083717f8c2066e8.tar.gz opie-1bff948326aa752c3f4aceac4083717f8c2066e8.tar.bz2 |
bugfixes, bugfixes...
-rw-r--r-- | noncore/apps/odict/dingwidget.cpp | 30 | ||||
-rw-r--r-- | noncore/apps/odict/odict.cpp | 37 |
2 files changed, 15 insertions, 52 deletions
diff --git a/noncore/apps/odict/dingwidget.cpp b/noncore/apps/odict/dingwidget.cpp index ed67abf..55a716d 100644 --- a/noncore/apps/odict/dingwidget.cpp +++ b/noncore/apps/odict/dingwidget.cpp | |||
@@ -27,38 +27,34 @@ DingWidget::DingWidget( ) | |||
27 | { | 27 | { |
28 | methodname = QString::null; | 28 | methodname = QString::null; |
29 | trenner = QString::null; | 29 | trenner = QString::null; |
30 | lines = 0L; | 30 | lines = 0L; |
31 | } | 31 | } |
32 | 32 | ||
33 | void DingWidget::loadDict( QString name ) | 33 | void DingWidget::loadDict( QString name ) |
34 | { | 34 | { |
35 | qDebug( "bin in DingWidget::loadDict(). name ist:" ); | 35 | lines.clear(); //as we will load a new list we have to |
36 | qDebug( name ); | 36 | //remove the old one |
37 | qDebug( "DingWidget::loadDict( ... )" ); | ||
37 | 38 | ||
38 | dictName = name; | ||
39 | Config cfg( "odict" ); | 39 | Config cfg( "odict" ); |
40 | if ( !methodname ) { return; } | 40 | cfg.setGroup( "Method_" + name ); |
41 | cfg.setGroup( "Method_" + methodname ); | ||
42 | QFile file( cfg.readEntry( "file" ) ); | 41 | QFile file( cfg.readEntry( "file" ) ); |
43 | 42 | ||
44 | qDebug( cfg.readEntry( "file" ) ); | ||
45 | |||
46 | if( file.open( IO_ReadOnly ) ) | 43 | if( file.open( IO_ReadOnly ) ) |
47 | { | 44 | { |
48 | QTextStream stream( &file ); | 45 | QTextStream stream( &file ); |
49 | while ( !stream.eof() ) | 46 | while ( !stream.eof() ) |
50 | { | 47 | { |
51 | lines.append( stream.readLine() ); | 48 | lines.append( stream.readLine() ); |
52 | } | 49 | } |
53 | file.close(); | 50 | file.close(); |
54 | } | 51 | } |
55 | loadValues(); | 52 | loadValues(); |
56 | |||
57 | } | 53 | } |
58 | 54 | ||
59 | QString DingWidget::loadedDict() const | 55 | QString DingWidget::loadedDict() const |
60 | { | 56 | { |
61 | return dictName; | 57 | return dictName; |
62 | } | 58 | } |
63 | 59 | ||
64 | void DingWidget::setCaseSensitive( bool caseS ) | 60 | void DingWidget::setCaseSensitive( bool caseS ) |
@@ -66,21 +62,16 @@ void DingWidget::setCaseSensitive( bool caseS ) | |||
66 | isCaseSensitive = caseS; | 62 | isCaseSensitive = caseS; |
67 | } | 63 | } |
68 | 64 | ||
69 | void DingWidget::setDict( QString dict ) | 65 | void DingWidget::setDict( QString dict ) |
70 | { | 66 | { |
71 | methodname = dict; | 67 | methodname = dict; |
72 | } | 68 | } |
73 | 69 | ||
74 | void DingWidget::setCompleteWord( bool cword ) | ||
75 | { | ||
76 | isCompleteWord = cword; | ||
77 | } | ||
78 | |||
79 | void DingWidget::setQueryWord( QString qword ) | 70 | void DingWidget::setQueryWord( QString qword ) |
80 | { | 71 | { |
81 | queryword = qword; | 72 | queryword = qword; |
82 | } | 73 | } |
83 | 74 | ||
84 | 75 | ||
85 | void DingWidget::loadValues() | 76 | void DingWidget::loadValues() |
86 | { | 77 | { |
@@ -96,25 +87,21 @@ BroswerContent DingWidget::setText( QString word ) | |||
96 | { | 87 | { |
97 | queryword = word; | 88 | queryword = word; |
98 | return parseInfo(); | 89 | return parseInfo(); |
99 | } | 90 | } |
100 | 91 | ||
101 | 92 | ||
102 | BroswerContent DingWidget::parseInfo() | 93 | BroswerContent DingWidget::parseInfo() |
103 | { | 94 | { |
104 | qDebug( "bin in DingWidget::parseInfo()" ); | ||
105 | |||
106 | if ( isCompleteWord ) | ||
107 | queryword = " " + queryword + " "; | ||
108 | QStringList search = lines.grep( queryword , isCaseSensitive ); | 95 | QStringList search = lines.grep( queryword , isCaseSensitive ); |
109 | 96 | ||
110 | QString current; | 97 | QString current; |
111 | QString left; | 98 | QString left; |
112 | QString right; | 99 | QString right; |
113 | QRegExp reg_div( trenner ); | 100 | QRegExp reg_div( trenner ); |
114 | QRegExp reg_word( queryword ); | 101 | QRegExp reg_word( queryword ); |
115 | reg_word.setCaseSensitive( isCaseSensitive ); | 102 | reg_word.setCaseSensitive( isCaseSensitive ); |
116 | QStringList toplist, bottomlist; | 103 | QStringList toplist, bottomlist; |
117 | QString substitute = "<strong>"+queryword+"</strong>"; | 104 | QString substitute = "<strong>"+queryword+"</strong>"; |
118 | 105 | ||
119 | for( QStringList::Iterator it = search.begin() ; it != search.end() ; ++it ) | 106 | for( QStringList::Iterator it = search.begin() ; it != search.end() ; ++it ) |
120 | { | 107 | { |
@@ -134,11 +121,12 @@ BroswerContent DingWidget::parseInfo() | |||
134 | right.replace( queryword, substitute ); | 121 | right.replace( queryword, substitute ); |
135 | right = right + " --> " + left; | 122 | right = right + " --> " + left; |
136 | bottomlist.append( right ); | 123 | bottomlist.append( right ); |
137 | } | 124 | } |
138 | } | 125 | } |
139 | 126 | ||
140 | s_strings.top = toplist.join( "<br>" ); | 127 | s_strings.top = toplist.join( "<br>" ); |
141 | s_strings.bottom = bottomlist.join( "<br>" ); | 128 | s_strings.bottom = bottomlist.join( "<br>" ); |
142 | 129 | ||
143 | return s_strings; | 130 | return s_strings; |
144 | } | 131 | } |
132 | |||
diff --git a/noncore/apps/odict/odict.cpp b/noncore/apps/odict/odict.cpp index 0745f53..c1de6ac 100644 --- a/noncore/apps/odict/odict.cpp +++ b/noncore/apps/odict/odict.cpp | |||
@@ -17,30 +17,29 @@ | |||
17 | #include "odict.h" | 17 | #include "odict.h" |
18 | #include "configdlg.h" | 18 | #include "configdlg.h" |
19 | #include "dingwidget.h" | 19 | #include "dingwidget.h" |
20 | 20 | ||
21 | #include <qlayout.h> | 21 | #include <qlayout.h> |
22 | #include <qpopupmenu.h> | 22 | #include <qpopupmenu.h> |
23 | #include <qmenubar.h> | 23 | #include <qmenubar.h> |
24 | #include <qmessagebox.h> | 24 | #include <qmessagebox.h> |
25 | #include <qpe/config.h> | ||
26 | #include <qhbox.h> | 25 | #include <qhbox.h> |
27 | #include <qvbox.h> | 26 | #include <qvbox.h> |
28 | #include <qlabel.h> | 27 | #include <qlabel.h> |
29 | #include <qpushbutton.h> | 28 | #include <qpushbutton.h> |
30 | #include <qlineedit.h> | 29 | #include <qlineedit.h> |
31 | #include <qmainwindow.h> | 30 | #include <qmainwindow.h> |
32 | #include <qstring.h> | 31 | #include <qstring.h> |
33 | #include <qaction.h> | 32 | #include <qaction.h> |
34 | #include <qtextbrowser.h> | 33 | #include <qtextbrowser.h> |
35 | #include <qcombobox.h> | 34 | #include <qcombobox.h> |
36 | 35 | ||
37 | #include <qpe/resource.h> | 36 | #include <qpe/resource.h> |
38 | 37 | #include <qpe/config.h> | |
39 | 38 | ||
40 | ODict::ODict() : QMainWindow() | 39 | ODict::ODict() : QMainWindow() |
41 | { | 40 | { |
42 | activated_name = QString::null; | 41 | activated_name = QString::null; |
43 | 42 | ||
44 | vbox = new QVBox( this ); | 43 | vbox = new QVBox( this ); |
45 | setCaption( tr( "OPIE-Dictionary" ) ); | 44 | setCaption( tr( "OPIE-Dictionary" ) ); |
46 | setupMenus(); | 45 | setupMenus(); |
@@ -58,33 +57,32 @@ ODict::ODict() : QMainWindow() | |||
58 | top_name->setAlignment( AlignHCenter ); | 57 | top_name->setAlignment( AlignHCenter ); |
59 | browser_top = new QTextBrowser( vbox ); | 58 | browser_top = new QTextBrowser( vbox ); |
60 | bottom_name = new QLabel( vbox ); | 59 | bottom_name = new QLabel( vbox ); |
61 | bottom_name->setAlignment( AlignHCenter ); | 60 | bottom_name->setAlignment( AlignHCenter ); |
62 | browser_bottom = new QTextBrowser( vbox ); | 61 | browser_bottom = new QTextBrowser( vbox ); |
63 | 62 | ||
64 | ding = new DingWidget(); | 63 | ding = new DingWidget(); |
65 | ding->loadValues(); | 64 | ding->loadValues(); |
66 | 65 | ||
67 | loadConfig(); | 66 | loadConfig(); |
68 | setCentralWidget( vbox ); | 67 | setCentralWidget( vbox ); |
69 | } | 68 | } |
70 | 69 | ||
71 | void ODict::loadConfig() | 70 | void ODict::loadConfig() |
72 | { | 71 | { |
73 | /* | 72 | /* |
74 | * the name of the last used dictionary | 73 | * the name of the last used dictionary |
75 | */ | 74 | */ |
76 | QString lastname; | 75 | QString lastname; |
77 | 76 | ||
78 | Config cfg ( "odict" ); | 77 | Config cfg ( "odict" ); |
79 | cfg.setGroup( "generalsettings" ); | 78 | cfg.setGroup( "generalsettings" ); |
80 | casesens = cfg.readEntry( "casesens" ).toInt(); | 79 | casesens = cfg.readEntry( "casesens" ).toInt(); |
81 | regexp = cfg.readEntry( "regexp" ).toInt(); | 80 | regexp = cfg.readEntry( "regexp" ).toInt(); |
82 | completewords = cfg.readEntry( "completewords" ).toInt(); | ||
83 | 81 | ||
84 | QString lastDict = cfg.readEntry( "lastdict" ); | 82 | QString lastDict = cfg.readEntry( "lastdict" ); |
85 | int i = 0, e = 0; | 83 | int i = 0, e = 0; |
86 | 84 | ||
87 | QStringList groupListCfg = cfg.groupList().grep( "Method_" ); | 85 | QStringList groupListCfg = cfg.groupList().grep( "Method_" ); |
88 | query_co->clear(); | 86 | query_co->clear(); |
89 | for ( QStringList::Iterator it = groupListCfg.begin() ; it != groupListCfg.end() ; ++it ) | 87 | for ( QStringList::Iterator it = groupListCfg.begin() ; it != groupListCfg.end() ; ++it ) |
90 | { | 88 | { |
@@ -104,16 +102,17 @@ void ODict::loadConfig() | |||
104 | } | 102 | } |
105 | i++; | 103 | i++; |
106 | } | 104 | } |
107 | /* | 105 | /* |
108 | * now set the two names of the dictionary and the correct QComboBox-Entry | 106 | * now set the two names of the dictionary and the correct QComboBox-Entry |
109 | */ | 107 | */ |
110 | 108 | ||
111 | lookupLanguageNames( lastname ); | 109 | lookupLanguageNames( lastname ); |
110 | ding->loadDict( lastname ); | ||
112 | 111 | ||
113 | query_co->setCurrentItem( e ); | 112 | query_co->setCurrentItem( e ); |
114 | top_name->setText( top_name_content ); | 113 | top_name->setText( top_name_content ); |
115 | bottom_name->setText( bottom_name_content ); | 114 | bottom_name->setText( bottom_name_content ); |
116 | } | 115 | } |
117 | 116 | ||
118 | void ODict::lookupLanguageNames( QString dictname ) | 117 | void ODict::lookupLanguageNames( QString dictname ) |
119 | { | 118 | { |
@@ -124,68 +123,51 @@ void ODict::lookupLanguageNames( QString dictname ) | |||
124 | } | 123 | } |
125 | 124 | ||
126 | void ODict::saveConfig() | 125 | void ODict::saveConfig() |
127 | { | 126 | { |
128 | Config cfg ( "odict" ); | 127 | Config cfg ( "odict" ); |
129 | cfg.setGroup( "generalsettings" ); | 128 | cfg.setGroup( "generalsettings" ); |
130 | cfg.writeEntry( "casesens" , casesens ); | 129 | cfg.writeEntry( "casesens" , casesens ); |
131 | cfg.writeEntry( "regexp" , regexp ); | 130 | cfg.writeEntry( "regexp" , regexp ); |
132 | cfg.writeEntry( "completewords" , completewords ); | ||
133 | cfg.writeEntry( "lastdict" , query_co->currentText() ); | 131 | cfg.writeEntry( "lastdict" , query_co->currentText() ); |
134 | } | 132 | } |
135 | 133 | ||
136 | void ODict::slotStartQuery() | 134 | void ODict::slotStartQuery() |
137 | { | 135 | { |
138 | qDebug( "bin in slotStartQuery()" ); | ||
139 | |||
140 | QString querystring = query_le->text(); | 136 | QString querystring = query_le->text(); |
141 | if ( !querystring.isEmpty() ) | 137 | if ( !querystring.isEmpty() ) |
142 | { | 138 | { |
143 | /* | 139 | /* |
144 | * if the user has not yet defined a dictionary | 140 | * if the user has not yet defined a dictionary |
145 | */ | 141 | */ |
146 | if ( !query_co->currentText() ) | 142 | if ( !query_co->currentText() ) |
147 | { | 143 | { |
148 | switch ( QMessageBox::information( this, tr( "OPIE-Dictionary" ), | 144 | switch ( QMessageBox::information( this, tr( "OPIE-Dictionary" ), |
149 | tr( "No dictionary defined" ), | 145 | tr( "No dictionary defined" ), |
150 | tr( "&Define one" ), | 146 | tr( "&Define one" ), |
151 | tr( "&Cancel" ), | 147 | tr( "&Cancel" ), |
152 | 0, // Define a dict choosen | 148 | 0, // Define a dict |
153 | 1 ) ) // Cancel choosen | 149 | 1 ) ) // Cancel choosen |
154 | { | 150 | { |
155 | case 0: | 151 | case 0: |
156 | slotSettings(); | 152 | slotSettings(); |
157 | break; | 153 | break; |
158 | case 1: // stop here | 154 | case 1: // stop here |
159 | return; | 155 | return; |
160 | } | 156 | } |
161 | } | 157 | } |
162 | 158 | ||
163 | /* | 159 | /* |
164 | * ok, the user has defined a dict | 160 | * ok, the user has defined a dict |
165 | */ | 161 | */ |
166 | ding->setCaseSensitive( casesens ); | 162 | ding->setCaseSensitive( casesens ); |
167 | ding->setCompleteWord( completewords ); | ||
168 | |||
169 | qDebug( "activated_name ist:" ); | ||
170 | qDebug( activated_name ); | ||
171 | |||
172 | ding->setDict( activated_name ); | ||
173 | |||
174 | //X if ( activated_name != ding->loadedDict() ) | ||
175 | ding->loadDict(activated_name); | ||
176 | 163 | ||
177 | BroswerContent test = ding->setText( querystring ); | 164 | BroswerContent test = ding->setText( querystring ); |
178 | 165 | ||
179 | qDebug( querystring ); | ||
180 | if ( ding->isCaseSensitive ) | ||
181 | qDebug( "ist CS"); | ||
182 | else qDebug( "kein CS" ); | ||
183 | |||
184 | browser_top->setText( test.top ); | 166 | browser_top->setText( test.top ); |
185 | browser_bottom->setText( test.bottom ); | 167 | browser_bottom->setText( test.bottom ); |
186 | } | 168 | } |
187 | } | 169 | } |
188 | 170 | ||
189 | void ODict::slotSettings() | 171 | void ODict::slotSettings() |
190 | { | 172 | { |
191 | ConfigDlg dlg( this, "Config" , true); | 173 | ConfigDlg dlg( this, "Config" , true); |
@@ -200,39 +182,33 @@ void ODict::slotSetParameter( int count ) | |||
200 | if ( casesens ) | 182 | if ( casesens ) |
201 | casesens = false; | 183 | casesens = false; |
202 | else | 184 | else |
203 | casesens = true; | 185 | casesens = true; |
204 | } | 186 | } |
205 | 187 | ||
206 | if ( count == 1 ) | 188 | if ( count == 1 ) |
207 | { | 189 | { |
208 | if ( completewords ) | ||
209 | completewords = false; | ||
210 | else | ||
211 | completewords = true; | ||
212 | } | ||
213 | if ( count == 2 ) | ||
214 | { | ||
215 | if ( regexp ) | 190 | if ( regexp ) |
216 | regexp = false; | 191 | regexp = false; |
217 | else | 192 | else |
218 | regexp = true; | 193 | regexp = true; |
219 | } | 194 | } |
220 | saveConfig(); | 195 | saveConfig(); |
221 | } | 196 | } |
222 | 197 | ||
223 | void ODict::slotMethodChanged( const QString& methodnumber ) | 198 | void ODict::slotMethodChanged( const QString& methodnumber ) |
224 | { | 199 | { |
225 | activated_name = methodnumber; | 200 | activated_name = methodnumber; |
226 | 201 | ||
227 | qDebug( "activated_name in slotMethodChanged() ist:" ); | 202 | qDebug( "activated_name in slotMethodChanged() ist:" ); |
228 | qDebug( activated_name ); | 203 | qDebug( activated_name ); |
204 | qDebug( ding->loadedDict() ); | ||
229 | 205 | ||
230 | //X if ( activated_name != ding->loadedDict() ) | 206 | if ( activated_name != ding->loadedDict() ) |
231 | { | 207 | { |
232 | ding->loadDict(activated_name); | 208 | ding->loadDict(activated_name); |
233 | 209 | ||
234 | lookupLanguageNames( activated_name ); | 210 | lookupLanguageNames( activated_name ); |
235 | top_name->setText( top_name_content ); | 211 | top_name->setText( top_name_content ); |
236 | bottom_name->setText( bottom_name_content ); | 212 | bottom_name->setText( bottom_name_content ); |
237 | } | 213 | } |
238 | } | 214 | } |
@@ -245,15 +221,14 @@ void ODict::setupMenus() | |||
245 | setting_a = new QAction(tr( "Configuration" ), Resource::loadPixmap( "new" ), QString::null, 0, this, 0 ); | 221 | setting_a = new QAction(tr( "Configuration" ), Resource::loadPixmap( "new" ), QString::null, 0, this, 0 ); |
246 | connect( setting_a, SIGNAL( activated() ), this, SLOT( slotSettings() ) ); | 222 | connect( setting_a, SIGNAL( activated() ), this, SLOT( slotSettings() ) ); |
247 | setting_a->addTo( settings ); | 223 | setting_a->addTo( settings ); |
248 | setting_b = new QAction(tr( "Searchmethods" ), Resource::loadPixmap( "edit" ), QString::null, 0, this, 0 ); | 224 | setting_b = new QAction(tr( "Searchmethods" ), Resource::loadPixmap( "edit" ), QString::null, 0, this, 0 ); |
249 | 225 | ||
250 | parameter = new QPopupMenu( menu ); | 226 | parameter = new QPopupMenu( menu ); |
251 | connect( parameter, SIGNAL( activated( int ) ), this, SLOT( slotSetParameter( int ) ) ); | 227 | connect( parameter, SIGNAL( activated( int ) ), this, SLOT( slotSetParameter( int ) ) ); |
252 | parameter->insertItem( tr( "C&ase sensitive" ), 0 ,0 ); | 228 | parameter->insertItem( tr( "C&ase sensitive" ), 0 ,0 ); |
253 | parameter->insertItem( tr( "Only &complete Words" ), 1 , 1) ; | ||
254 | parameter->insertItem( tr( "Allow ®. expressions" ), 2 ); | 229 | parameter->insertItem( tr( "Allow ®. expressions" ), 2 ); |
255 | parameter->insertSeparator(); | 230 | parameter->insertSeparator(); |
256 | 231 | ||
257 | menu->insertItem( tr( "Settings" ) , settings ); | 232 | menu->insertItem( tr( "Settings" ) , settings ); |
258 | menu->insertItem( tr( "Parameter" ) , parameter ); | 233 | menu->insertItem( tr( "Parameter" ) , parameter ); |
259 | } | 234 | } |