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
@@ -63,17 +63,12 @@ ConfigDlg::ConfigDlg(QWidget *parent, const char *name, bool modal) : QDialog(pa
63 /*add the tabs and maximize*/ 63 /*add the tabs and maximize*/
64 tab->addTab( settings_tab, "pass", tr( "General Settings" ) ); 64 tab->addTab( settings_tab, "pass", tr( "General Settings" ) );
65 tab->addTab( search_tab, "zoom", tr( "Searchmethods" ) ); 65 tab->addTab( search_tab, "zoom", tr( "Searchmethods" ) );
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 );
77 if ( dlg.exec() == QDialog::Accepted ) 72 if ( dlg.exec() == QDialog::Accepted )
78 { 73 {
79 dlg.saveItem(); 74 dlg.saveItem();
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
@@ -11,22 +11,19 @@ class QWidget;
11class OTabWidget; 11class OTabWidget;
12class QListView; 12class QListView;
13class QPushButton; 13class 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
21 20
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;
30 QListView *list; 27 QListView *list;
31 QPushButton *new_button, *change_button, *delete_button; 28 QPushButton *new_button, *change_button, *delete_button;
32 29
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
@@ -15,52 +15,51 @@
15 * * 15 * *
16 **************************************************************************/ 16 **************************************************************************/
17#include "dingwidget.h" 17#include "dingwidget.h"
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{
35 methodname = QString::null; 28 methodname = QString::null;
36 trenner = QString::null; 29 trenner = QString::null;
37 lines = 0L; 30 lines = 0L;
38} 31}
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 {
50 QTextStream stream( &file ); 48 QTextStream stream( &file );
51 while ( !stream.eof() ) 49 while ( !stream.eof() )
52 { 50 {
53 lines.append( stream.readLine() ); 51 lines.append( stream.readLine() );
54 } 52 }
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}
64 63
65void DingWidget::setCaseSensitive( bool caseS ) 64void DingWidget::setCaseSensitive( bool caseS )
66{ 65{
@@ -99,12 +98,14 @@ BroswerContent DingWidget::setText( QString word )
99 return parseInfo(); 98 return parseInfo();
100} 99}
101 100
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 );
108 109
109 QString current; 110 QString current;
110 QString left; 111 QString left;
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
@@ -23,26 +23,26 @@ class DingWidget
23 23
24 BroswerContent setText( QString ); 24 BroswerContent setText( QString );
25 QStringList lines; 25 QStringList lines;
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();
33 33
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
46 QString search_word; 46 QString search_word;
47 QString queryword; 47 QString queryword;
48 QString methodname; 48 QString methodname;
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
@@ -50,57 +50,98 @@ ODict::ODict() : QMainWindow()
50 query_label->show(); 50 query_label->show();
51 query_le = new QLineEdit( hbox ); 51 query_le = new QLineEdit( hbox );
52 query_co = new QComboBox( hbox ); 52 query_co = new QComboBox( hbox );
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();
62 ding->loadValues(); 65 ding->loadValues();
63 66
64 loadConfig(); 67 loadConfig();
65 setCentralWidget( vbox ); 68 setCentralWidget( vbox );
66} 69}
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
104 */ 145 */
105 if ( !query_co->currentText() ) 146 if ( !query_co->currentText() )
106 { 147 {
@@ -108,55 +149,51 @@ void ODict::slotStartQuery()
108 tr( "No dictionary defined" ), 149 tr( "No dictionary defined" ),
109 tr( "&Define one" ), 150 tr( "&Define one" ),
110 tr( "&Cancel" ), 151 tr( "&Cancel" ),
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;
118 case 1: // stop here 158 case 1: // stop here
119 return; 159 return;
120 } 160 }
121 } 161 }
122 162
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 )
160{ 197{
161 if ( count == 0 ) 198 if ( count == 0 )
162 { 199 {
@@ -177,26 +214,30 @@ void ODict::slotSetParameter( int count )
177 { 214 {
178 if ( regexp ) 215 if ( regexp )
179 regexp = false; 216 regexp = false;
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()
200{ 241{
201 menu = new QMenuBar( this ); 242 menu = new QMenuBar( this );
202 243
@@ -209,21 +250,10 @@ void ODict::setupMenus()
209 parameter = new QPopupMenu( menu ); 250 parameter = new QPopupMenu( menu );
210 connect( parameter, SIGNAL( activated( int ) ), this, SLOT( slotSetParameter( int ) ) ); 251 connect( parameter, SIGNAL( activated( int ) ), this, SLOT( slotSetParameter( int ) ) );
211 parameter->insertItem( tr( "C&ase sensitive" ), 0 ,0 ); 252 parameter->insertItem( tr( "C&ase sensitive" ), 0 ,0 );
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 );
229} 259}
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
@@ -33,36 +33,38 @@ class ODict : public QMainWindow
33 QVBox *vbox; 33 QVBox *vbox;
34 QTextBrowser *browser_top, 34 QTextBrowser *browser_top,
35 *browser_bottom; 35 *browser_bottom;
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;
43 QComboBox *query_co; 43 QComboBox *query_co;
44 QPushButton *ok_button; 44 QPushButton *ok_button;
45 45
46 QVBoxLayout *vbox_layout; 46 QVBoxLayout *vbox_layout;
47 47
48 QAction *setting_a, *setting_b; 48 QAction *setting_a, *setting_b;
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();
56 void saveConfig(); 55 void saveConfig();
57 56
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& );
68}; 70};
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
@@ -88,13 +88,13 @@ void SearchMethodDlg::setupEntries( QString item )
88 nameLE->setText( itemName ); 88 nameLE->setText( itemName );
89 dictFileLE->setText( cfg.readEntry( "file" ) ); 89 dictFileLE->setText( cfg.readEntry( "file" ) );
90} 90}
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
98void SearchMethodDlg::saveItem() 98void SearchMethodDlg::saveItem()
99{ 99{
100 QString name = nameLE->text(); 100 QString name = nameLE->text();
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
@@ -14,13 +14,12 @@ class QListView;
14class QPushButton; 14class QPushButton;
15class QLabel; 15class QLabel;
16class QString; 16class 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
24 23
25 public: 24 public:
26 SearchMethodDlg(QWidget *parent, const char *name, bool modal=FALSE, QString itemname=0 ); 25 SearchMethodDlg(QWidget *parent, const char *name, bool modal=FALSE, QString itemname=0 );