summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/odict/configdlg.cpp5
-rw-r--r--noncore/apps/odict/configdlg.h3
-rw-r--r--noncore/apps/odict/dingwidget.cpp19
-rw-r--r--noncore/apps/odict/dingwidget.h4
-rw-r--r--noncore/apps/odict/odict.cpp106
-rw-r--r--noncore/apps/odict/odict.h8
-rw-r--r--noncore/apps/odict/searchmethoddlg.cpp2
-rw-r--r--noncore/apps/odict/searchmethoddlg.h1
8 files changed, 86 insertions, 62 deletions
diff --git a/noncore/apps/odict/configdlg.cpp b/noncore/apps/odict/configdlg.cpp
index 1608486..400298d 100644
--- a/noncore/apps/odict/configdlg.cpp
+++ b/noncore/apps/odict/configdlg.cpp
@@ -66,11 +66,6 @@ ConfigDlg::ConfigDlg(QWidget *parent, const char *name, bool modal) : QDialog(pa
66 showMaximized(); 66 showMaximized();
67} 67}
68 68
69void ConfigDlg::writeEntries()
70{
71 //XXX wozu gibt es diese Methode?
72}
73
74void ConfigDlg::slotNewMethod() 69void ConfigDlg::slotNewMethod()
75{ 70{
76 SearchMethodDlg dlg( this, "SearchMethodDlg", true ); 71 SearchMethodDlg dlg( this, "SearchMethodDlg", true );
diff --git a/noncore/apps/odict/configdlg.h b/noncore/apps/odict/configdlg.h
index 2b7d0a1..e3ef3ce 100644
--- a/noncore/apps/odict/configdlg.h
+++ b/noncore/apps/odict/configdlg.h
@@ -14,7 +14,6 @@ class QPushButton;
14 14
15#include <qdialog.h> 15#include <qdialog.h>
16 16
17
18class ConfigDlg : public QDialog 17class ConfigDlg : public QDialog
19{ 18{
20 Q_OBJECT 19 Q_OBJECT
@@ -22,8 +21,6 @@ class ConfigDlg : public QDialog
22 public: 21 public:
23 ConfigDlg(QWidget *parent, const char *name, bool modal=FALSE ); 22 ConfigDlg(QWidget *parent, const char *name, bool modal=FALSE );
24 23
25 void writeEntries();
26
27 private: 24 private:
28 OTabWidget *tab; 25 OTabWidget *tab;
29 QWidget *settings_tab, *search_tab; 26 QWidget *settings_tab, *search_tab;
diff --git a/noncore/apps/odict/dingwidget.cpp b/noncore/apps/odict/dingwidget.cpp
index 0707bfb..ed67abf 100644
--- a/noncore/apps/odict/dingwidget.cpp
+++ b/noncore/apps/odict/dingwidget.cpp
@@ -18,17 +18,10 @@
18 18
19#include <qfile.h> 19#include <qfile.h>
20#include <qpe/config.h> 20#include <qpe/config.h>
21#include <qhbox.h>
22#include <qlabel.h>
23#include <qpushbutton.h>
24#include <qlineedit.h>
25#include <qmainwindow.h>
26#include <qstring.h> 21#include <qstring.h>
27#include <qtextstream.h> 22#include <qtextstream.h>
28#include <qstringlist.h> 23#include <qstringlist.h>
29#include <qregexp.h> 24#include <qregexp.h>
30#include <qtextbrowser.h>
31//#include <stdlib.h> // for getenv
32 25
33DingWidget::DingWidget( ) 26DingWidget::DingWidget( )
34{ 27{
@@ -39,11 +32,16 @@ DingWidget::DingWidget( )
39 32
40void DingWidget::loadDict( QString name ) 33void DingWidget::loadDict( QString name )
41{ 34{
35 qDebug( "bin in DingWidget::loadDict(). name ist:" );
36 qDebug( name );
37
42 dictName = name; 38 dictName = name;
43 Config cfg( "odict" ); 39 Config cfg( "odict" );
44 if ( !methodname ) return; 40 if ( !methodname ) { return; }
45 cfg.setGroup( "Method_" + methodname ); 41 cfg.setGroup( "Method_" + methodname );
46 QFile file( cfg.readEntry( "file" ) ); 42 QFile file( cfg.readEntry( "file" ) );
43
44 qDebug( cfg.readEntry( "file" ) );
47 45
48 if( file.open( IO_ReadOnly ) ) 46 if( file.open( IO_ReadOnly ) )
49 { 47 {
@@ -55,9 +53,10 @@ void DingWidget::loadDict( QString name )
55 file.close(); 53 file.close();
56 } 54 }
57 loadValues(); 55 loadValues();
56
58} 57}
59 58
60QString DingWidget::loadedDict() 59QString DingWidget::loadedDict() const
61{ 60{
62 return dictName; 61 return dictName;
63} 62}
@@ -102,6 +101,8 @@ BroswerContent DingWidget::setText( QString word )
102 101
103BroswerContent DingWidget::parseInfo() 102BroswerContent DingWidget::parseInfo()
104{ 103{
104 qDebug( "bin in DingWidget::parseInfo()" );
105
105 if ( isCompleteWord ) 106 if ( isCompleteWord )
106 queryword = " " + queryword + " "; 107 queryword = " " + queryword + " ";
107 QStringList search = lines.grep( queryword , isCaseSensitive ); 108 QStringList search = lines.grep( queryword , isCaseSensitive );
diff --git a/noncore/apps/odict/dingwidget.h b/noncore/apps/odict/dingwidget.h
index d8466cb..dbb55e2 100644
--- a/noncore/apps/odict/dingwidget.h
+++ b/noncore/apps/odict/dingwidget.h
@@ -26,7 +26,7 @@ class DingWidget
26 void setCaseSensitive( bool ); 26 void setCaseSensitive( bool );
27 void setCompleteWord( bool ); 27 void setCompleteWord( bool );
28 void loadDict( QString ); 28 void loadDict( QString );
29 QString loadedDict(); 29 QString loadedDict() const;
30 void setQueryWord( QString ); 30 void setQueryWord( QString );
31 void setDict( QString ); 31 void setDict( QString );
32 void loadValues(); 32 void loadValues();
@@ -34,12 +34,12 @@ class DingWidget
34 QString lang1_name, 34 QString lang1_name,
35 lang2_name; 35 lang2_name;
36 36
37 bool isCaseSensitive;
37 private: 38 private:
38 BroswerContent parseInfo(); 39 BroswerContent parseInfo();
39 40
40 BroswerContent s_strings; 41 BroswerContent s_strings;
41 bool isCompleteWord; 42 bool isCompleteWord;
42 bool isCaseSensitive;
43 43
44 QString dictName; 44 QString dictName;
45 45
diff --git a/noncore/apps/odict/odict.cpp b/noncore/apps/odict/odict.cpp
index cb9c4e0..0745f53 100644
--- a/noncore/apps/odict/odict.cpp
+++ b/noncore/apps/odict/odict.cpp
@@ -53,9 +53,12 @@ ODict::ODict() : QMainWindow()
53 connect( query_co , SIGNAL( activated(const QString&) ), this, SLOT( slotMethodChanged(const QString&) ) ); 53 connect( query_co , SIGNAL( activated(const QString&) ), this, SLOT( slotMethodChanged(const QString&) ) );
54 ok_button = new QPushButton( tr( "&Ok" ), hbox ); 54 ok_button = new QPushButton( tr( "&Ok" ), hbox );
55 connect( ok_button, SIGNAL( released() ), this, SLOT( slotStartQuery() ) ); 55 connect( ok_button, SIGNAL( released() ), this, SLOT( slotStartQuery() ) );
56
56 top_name = new QLabel( vbox ); 57 top_name = new QLabel( vbox );
58 top_name->setAlignment( AlignHCenter );
57 browser_top = new QTextBrowser( vbox ); 59 browser_top = new QTextBrowser( vbox );
58 bottom_name = new QLabel( vbox ); 60 bottom_name = new QLabel( vbox );
61 bottom_name->setAlignment( AlignHCenter );
59 browser_bottom = new QTextBrowser( vbox ); 62 browser_bottom = new QTextBrowser( vbox );
60 63
61 ding = new DingWidget(); 64 ding = new DingWidget();
@@ -67,37 +70,75 @@ ODict::ODict() : QMainWindow()
67 70
68void ODict::loadConfig() 71void ODict::loadConfig()
69{ 72{
73 /*
74 * the name of the last used dictionary
75 */
76 QString lastname;
77
70 Config cfg ( "odict" ); 78 Config cfg ( "odict" );
71 cfg.setGroup( "generalsettings" ); 79 cfg.setGroup( "generalsettings" );
72 errorTol = cfg.readEntry( "errtol" ).toInt();
73 casesens = cfg.readEntry( "casesens" ).toInt(); 80 casesens = cfg.readEntry( "casesens" ).toInt();
74 regexp = cfg.readEntry( "regexp" ).toInt(); 81 regexp = cfg.readEntry( "regexp" ).toInt();
75 completewords = cfg.readEntry( "completewords" ).toInt(); 82 completewords = cfg.readEntry( "completewords" ).toInt();
76 83
84 QString lastDict = cfg.readEntry( "lastdict" );
85 int i = 0, e = 0;
86
77 QStringList groupListCfg = cfg.groupList().grep( "Method_" ); 87 QStringList groupListCfg = cfg.groupList().grep( "Method_" );
78 query_co->clear(); 88 query_co->clear();
79 for ( QStringList::Iterator it = groupListCfg.begin() ; it != groupListCfg.end() ; ++it ) 89 for ( QStringList::Iterator it = groupListCfg.begin() ; it != groupListCfg.end() ; ++it )
80 { 90 {
91 QString name;
81 cfg.setGroup( *it ); 92 cfg.setGroup( *it );
82 query_co->insertItem( cfg.readEntry( "Name" ) ); 93 name = cfg.readEntry( "Name" );
94 query_co->insertItem( name );
95
96 /*
97 * this check is to look up what dictionary has been used the
98 * last time
99 */
100 if ( lastDict == name )
101 {
102 e = i;
103 lastname = name;
104 }
105 i++;
83 } 106 }
84 //XXXslotMethodChanged( "1" ); //FIXME: this line should not contain a integer 107 /*
108 * now set the two names of the dictionary and the correct QComboBox-Entry
109 */
110
111 lookupLanguageNames( lastname );
112
113 query_co->setCurrentItem( e );
114 top_name->setText( top_name_content );
115 bottom_name->setText( bottom_name_content );
85} 116}
86 117
118void ODict::lookupLanguageNames( QString dictname )
119{
120 Config cfg ( "odict" );
121 cfg.setGroup( "Method_"+dictname );
122 top_name_content = cfg.readEntry( "Lang1" );
123 bottom_name_content = cfg.readEntry( "Lang2" );
124}
87 125
88void ODict::saveConfig() 126void ODict::saveConfig()
89{ 127{
90 Config cfg ( "odict" ); 128 Config cfg ( "odict" );
91 cfg.setGroup( "generalsettings" ); 129 cfg.setGroup( "generalsettings" );
92 cfg.writeEntry( "errtol" , errorTol );
93 cfg.writeEntry( "casesens" , casesens ); 130 cfg.writeEntry( "casesens" , casesens );
94 cfg.writeEntry( "regexp" , regexp ); 131 cfg.writeEntry( "regexp" , regexp );
95 cfg.writeEntry( "completewords" , completewords ); 132 cfg.writeEntry( "completewords" , completewords );
133 cfg.writeEntry( "lastdict" , query_co->currentText() );
96} 134}
97 135
98void ODict::slotStartQuery() 136void ODict::slotStartQuery()
99{ 137{
100 if ( !query_le->text( ).isEmpty() ) 138 qDebug( "bin in slotStartQuery()" );
139
140 QString querystring = query_le->text();
141 if ( !querystring.isEmpty() )
101 { 142 {
102 /* 143 /*
103 * if the user has not yet defined a dictionary 144 * if the user has not yet defined a dictionary
@@ -111,7 +152,6 @@ void ODict::slotStartQuery()
111 0, // Define a dict choosen 152 0, // Define a dict choosen
112 1 ) ) // Cancel choosen 153 1 ) ) // Cancel choosen
113 { 154 {
114
115 case 0: 155 case 0:
116 slotSettings(); 156 slotSettings();
117 break; 157 break;
@@ -123,37 +163,34 @@ void ODict::slotStartQuery()
123 /* 163 /*
124 * ok, the user has defined a dict 164 * ok, the user has defined a dict
125 */ 165 */
126 QString querystring = query_le->text();
127 ding->setCaseSensitive( casesens ); 166 ding->setCaseSensitive( casesens );
128 ding->setCompleteWord( completewords ); 167 ding->setCompleteWord( completewords );
168
169 qDebug( "activated_name ist:" );
170 qDebug( activated_name );
171
129 ding->setDict( activated_name ); 172 ding->setDict( activated_name );
130 top_name->setText( ding->lang1_name );
131 bottom_name->setText( ding->lang2_name );
132 173
133 if ( activated_name != ding->loadedDict() ) 174 //X if ( activated_name != ding->loadedDict() )
134 ding->loadDict(activated_name); 175 ding->loadDict(activated_name);
135 176
136 BroswerContent test = ding->setText( querystring ); 177 BroswerContent test = ding->setText( querystring );
137 178
179 qDebug( querystring );
180 if ( ding->isCaseSensitive )
181 qDebug( "ist CS");
182 else qDebug( "kein CS" );
183
138 browser_top->setText( test.top ); 184 browser_top->setText( test.top );
139 browser_bottom->setText( test.bottom ); 185 browser_bottom->setText( test.bottom );
140 } 186 }
141} 187}
142 188
143
144void ODict::slotSetErrorcount( int count )
145{
146 errorTol = count;
147}
148
149void ODict::slotSettings() 189void ODict::slotSettings()
150{ 190{
151 ConfigDlg dlg( this, "Config" , true); 191 ConfigDlg dlg( this, "Config" , true);
152 if ( dlg.exec() == QDialog::Accepted ) 192 if ( dlg.exec() == QDialog::Accepted )
153 { 193 saveConfig();
154 dlg.writeEntries();
155 loadConfig();
156 }
157} 194}
158 195
159void ODict::slotSetParameter( int count ) 196void ODict::slotSetParameter( int count )
@@ -180,20 +217,24 @@ void ODict::slotSetParameter( int count )
180 else 217 else
181 regexp = true; 218 regexp = true;
182 } 219 }
183 else qWarning( "ERROR" ); 220 saveConfig();
184} 221}
185 222
186void ODict::slotMethodChanged( const QString& methodnumber ) 223void ODict::slotMethodChanged( const QString& methodnumber )
187{ 224{
188 activated_name = methodnumber; 225 activated_name = methodnumber;
189 226
190 if ( activated_name != ding->loadedDict() ) 227 qDebug( "activated_name in slotMethodChanged() ist:" );
191 ding->loadDict(activated_name); 228 qDebug( activated_name );
192 229
193 top_name->setText( ding->lang1_name ); 230 //X if ( activated_name != ding->loadedDict() )
194 top_name->setAlignment( AlignHCenter ); 231 {
195 bottom_name->setText( ding->lang2_name ); 232 ding->loadDict(activated_name);
196 bottom_name->setAlignment( AlignHCenter ); 233
234 lookupLanguageNames( activated_name );
235 top_name->setText( top_name_content );
236 bottom_name->setText( bottom_name_content );
237 }
197} 238}
198 239
199void ODict::setupMenus() 240void ODict::setupMenus()
@@ -212,17 +253,6 @@ void ODict::setupMenus()
212 parameter->insertItem( tr( "Only &complete Words" ), 1 , 1) ; 253 parameter->insertItem( tr( "Only &complete Words" ), 1 , 1) ;
213 parameter->insertItem( tr( "Allow &reg. expressions" ), 2 ); 254 parameter->insertItem( tr( "Allow &reg. expressions" ), 2 );
214 parameter->insertSeparator(); 255 parameter->insertSeparator();
215 error_tol_menu = new QPopupMenu( menu );
216 error_tol_menu->setCheckable( TRUE );
217 connect( error_tol_menu, SIGNAL( activated( int ) ), this, SLOT( slotSetErrorcount( int ) ) );
218
219 error_tol_menu->insertItem( tr( "0 Errors" ), 0 );
220 error_tol_menu->insertItem( tr( "1 Errors" ), 1 );
221 error_tol_menu->insertItem( tr( "2 Errors" ), 2 );
222 error_tol_menu->insertItem( tr( "3 Errors" ), 3 );
223 error_tol_menu->insertItem( tr( "4 Errors" ), 4 );
224 error_tol_menu->insertItem( tr( "Until Hit" ), 5 );
225 parameter->insertItem( tr( "&Error tolerance" ), error_tol_menu );
226 256
227 menu->insertItem( tr( "Settings" ) , settings ); 257 menu->insertItem( tr( "Settings" ) , settings );
228 menu->insertItem( tr( "Parameter" ) , parameter ); 258 menu->insertItem( tr( "Parameter" ) , parameter );
diff --git a/noncore/apps/odict/odict.h b/noncore/apps/odict/odict.h
index b9a0778..9c037ea 100644
--- a/noncore/apps/odict/odict.h
+++ b/noncore/apps/odict/odict.h
@@ -36,7 +36,7 @@ class ODict : public QMainWindow
36 DingWidget *ding; 36 DingWidget *ding;
37 37
38 private: 38 private:
39 QPopupMenu *help, *settings, *parameter, *error_tol_menu; 39 QPopupMenu *help, *settings, *parameter;
40 QMenuBar *menu; 40 QMenuBar *menu;
41 QHBox *hbox; 41 QHBox *hbox;
42 QLineEdit *query_le; 42 QLineEdit *query_le;
@@ -49,7 +49,6 @@ class ODict : public QMainWindow
49 49
50 void setupMenus(); 50 void setupMenus();
51 51
52 int errorTol;
53 bool casesens, completewords, regexp; 52 bool casesens, completewords, regexp;
54 53
55 void loadConfig(); 54 void loadConfig();
@@ -58,10 +57,13 @@ class ODict : public QMainWindow
58 QString activated_name; 57 QString activated_name;
59 QLabel *bottom_name, 58 QLabel *bottom_name,
60 *top_name; 59 *top_name;
60
61 QString top_name_content, bottom_name_content;
62
63 void lookupLanguageNames( QString );
61 64
62 private slots: 65 private slots:
63 void slotStartQuery(); 66 void slotStartQuery();
64 void slotSetErrorcount( int );
65 void slotSettings(); 67 void slotSettings();
66 void slotSetParameter( int ); 68 void slotSetParameter( int );
67 void slotMethodChanged( const QString& ); 69 void slotMethodChanged( const QString& );
diff --git a/noncore/apps/odict/searchmethoddlg.cpp b/noncore/apps/odict/searchmethoddlg.cpp
index 8a14703..99cd8db 100644
--- a/noncore/apps/odict/searchmethoddlg.cpp
+++ b/noncore/apps/odict/searchmethoddlg.cpp
@@ -91,7 +91,7 @@ void SearchMethodDlg::setupEntries( QString item )
91 91
92void SearchMethodDlg::slotBrowse() 92void SearchMethodDlg::slotBrowse()
93{ 93{
94 itemName=OFileDialog::getOpenFileName( OFileSelector::EXTENDED,QDir::homeDirPath()); 94 itemName=OFileDialog::getOpenFileName( OFileSelector::EXTENDED,QDir::homeDirPath());
95 dictFileLE->setText( itemName ); 95 dictFileLE->setText( itemName );
96} 96}
97 97
diff --git a/noncore/apps/odict/searchmethoddlg.h b/noncore/apps/odict/searchmethoddlg.h
index d98842f..706bbc1 100644
--- a/noncore/apps/odict/searchmethoddlg.h
+++ b/noncore/apps/odict/searchmethoddlg.h
@@ -17,7 +17,6 @@ class QString;
17 17
18#include <qdialog.h> 18#include <qdialog.h>
19 19
20
21class SearchMethodDlg : public QDialog 20class SearchMethodDlg : public QDialog
22{ 21{
23 Q_OBJECT 22 Q_OBJECT