-rw-r--r-- | noncore/apps/odict/dingwidget.cpp | 9 | ||||
-rw-r--r-- | noncore/apps/odict/dingwidget.h | 3 | ||||
-rw-r--r-- | noncore/apps/odict/odict.cpp | 6 |
3 files changed, 8 insertions, 10 deletions
diff --git a/noncore/apps/odict/dingwidget.cpp b/noncore/apps/odict/dingwidget.cpp index 55a716d..c804385 100644 --- a/noncore/apps/odict/dingwidget.cpp +++ b/noncore/apps/odict/dingwidget.cpp | |||
@@ -21,112 +21,115 @@ | |||
21 | #include <qstring.h> | 21 | #include <qstring.h> |
22 | #include <qtextstream.h> | 22 | #include <qtextstream.h> |
23 | #include <qstringlist.h> | 23 | #include <qstringlist.h> |
24 | #include <qregexp.h> | 24 | #include <qregexp.h> |
25 | 25 | ||
26 | DingWidget::DingWidget( ) | 26 | 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 | lines.clear(); //as we will load a new list we have to | 35 | lines.clear(); //as we will load a new list we have to |
36 | //remove the old one | 36 | //remove the old one |
37 | qDebug( "DingWidget::loadDict( ... )" ); | ||
38 | 37 | ||
39 | Config cfg( "odict" ); | 38 | Config cfg( "odict" ); |
40 | cfg.setGroup( "Method_" + name ); | 39 | cfg.setGroup( "Method_" + name ); |
41 | QFile file( cfg.readEntry( "file" ) ); | 40 | QFile file( cfg.readEntry( "file" ) ); |
42 | 41 | ||
43 | if( file.open( IO_ReadOnly ) ) | 42 | if( file.open( IO_ReadOnly ) ) |
44 | { | 43 | { |
45 | QTextStream stream( &file ); | 44 | QTextStream stream( &file ); |
46 | while ( !stream.eof() ) | 45 | while ( !stream.eof() ) |
47 | { | 46 | { |
48 | lines.append( stream.readLine() ); | 47 | lines.append( stream.readLine() ); |
49 | } | 48 | } |
50 | file.close(); | 49 | file.close(); |
51 | } | 50 | } |
51 | |||
52 | setDict( name ); | ||
53 | |||
52 | loadValues(); | 54 | loadValues(); |
53 | } | 55 | } |
54 | 56 | ||
55 | QString DingWidget::loadedDict() const | 57 | QString DingWidget::loadedDict() const |
56 | { | 58 | { |
57 | return dictName; | 59 | return dictName; |
58 | } | 60 | } |
59 | 61 | ||
60 | void DingWidget::setCaseSensitive( bool caseS ) | 62 | void DingWidget::setCaseSensitive( bool caseS ) |
61 | { | 63 | { |
62 | isCaseSensitive = caseS; | 64 | isCaseSensitive = caseS; |
63 | } | 65 | } |
64 | 66 | ||
65 | void DingWidget::setDict( QString dict ) | 67 | void DingWidget::setDict( QString dict ) |
66 | { | 68 | { |
67 | methodname = dict; | 69 | methodname = dict; |
68 | } | 70 | } |
69 | 71 | ||
70 | void DingWidget::setQueryWord( QString qword ) | 72 | void DingWidget::setQueryWord( QString qword ) |
71 | { | 73 | { |
72 | queryword = qword; | 74 | queryword = qword; |
73 | } | 75 | } |
74 | 76 | ||
75 | 77 | ||
76 | void DingWidget::loadValues() | 78 | void DingWidget::loadValues() |
77 | { | 79 | { |
78 | if ( !methodname ) return; | 80 | if ( !methodname ) return; |
79 | Config cfg( "odict" ); | 81 | Config cfg( "odict" ); |
80 | cfg.setGroup( "Method_" + methodname ); | 82 | cfg.setGroup( "Method_" + methodname ); |
81 | trenner = cfg.readEntry( "Seperator" ); | 83 | trenner = cfg.readEntry( "Seperator" ); |
84 | |||
82 | lang1_name = cfg.readEntry( "Lang1" ); | 85 | lang1_name = cfg.readEntry( "Lang1" ); |
83 | lang2_name = cfg.readEntry( "Lang2" ); | 86 | lang2_name = cfg.readEntry( "Lang2" ); |
84 | } | 87 | } |
85 | 88 | ||
86 | BroswerContent DingWidget::setText( QString word ) | 89 | BroswerContent DingWidget::setText( QString word ) |
87 | { | 90 | { |
88 | queryword = word; | 91 | queryword = word; |
89 | return parseInfo(); | 92 | return parseInfo(); |
90 | } | 93 | } |
91 | 94 | ||
92 | 95 | ||
93 | BroswerContent DingWidget::parseInfo() | 96 | BroswerContent DingWidget::parseInfo() |
94 | { | 97 | { |
95 | QStringList search = lines.grep( queryword , isCaseSensitive ); | 98 | QStringList search = lines.grep( queryword , isCaseSensitive ); |
96 | 99 | ||
97 | QString current; | 100 | QString current; |
98 | QString left; | 101 | QString left; |
99 | QString right; | 102 | QString right; |
100 | QRegExp reg_div( trenner ); | 103 | QRegExp reg_div( trenner ); |
101 | QRegExp reg_word( queryword ); | 104 | QRegExp reg_word( queryword ); |
102 | reg_word.setCaseSensitive( isCaseSensitive ); | 105 | reg_word.setCaseSensitive( isCaseSensitive ); |
103 | QStringList toplist, bottomlist; | 106 | QStringList toplist, bottomlist; |
104 | QString substitute = "<strong>"+queryword+"</strong>"; | 107 | QString substitute = "<strong>"+queryword+"</strong>"; |
105 | 108 | ||
106 | for( QStringList::Iterator it = search.begin() ; it != search.end() ; ++it ) | 109 | for( QStringList::Iterator it = search.begin() ; it != search.end() ; ++it ) |
107 | { | 110 | { |
108 | current = *it; | 111 | current = *it; |
109 | left = current.left( current.find( trenner ) ); | 112 | left = current.left( current.find( trenner ) ); |
110 | 113 | ||
111 | right = current.right( current.length() - current.find(trenner) - trenner.length() ); | 114 | right = current.right( current.length() - current.find(trenner) - trenner.length() ); |
112 | 115 | ||
113 | if ( left.contains( queryword , isCaseSensitive ) ) | 116 | if ( left.contains( queryword , isCaseSensitive ) ) |
114 | { | 117 | { |
115 | left.replace( queryword, substitute ); | 118 | left.replace( queryword, substitute ); |
116 | left = left + " --> " + right; | 119 | left = left + " --> " + right; |
117 | toplist.append( left ); | 120 | toplist.append( left ); |
118 | } | 121 | } |
119 | else | 122 | else if( right.contains( queryword , isCaseSensitive ) ) |
120 | { | 123 | { |
121 | right.replace( queryword, substitute ); | 124 | right.replace( queryword, substitute ); |
122 | right = right + " --> " + left; | 125 | right = right + " --> " + left; |
123 | bottomlist.append( right ); | 126 | bottomlist.append( right ); |
124 | } | 127 | } |
125 | } | 128 | } |
126 | 129 | ||
127 | s_strings.top = toplist.join( "<br>" ); | 130 | s_strings.top = toplist.join( "<br>" ); |
128 | s_strings.bottom = bottomlist.join( "<br>" ); | 131 | s_strings.bottom = bottomlist.join( "<br>" ); |
129 | 132 | ||
130 | return s_strings; | 133 | return s_strings; |
131 | } | 134 | } |
132 | 135 | ||
diff --git a/noncore/apps/odict/dingwidget.h b/noncore/apps/odict/dingwidget.h index dbb55e2..9163a43 100644 --- a/noncore/apps/odict/dingwidget.h +++ b/noncore/apps/odict/dingwidget.h | |||
@@ -11,40 +11,39 @@ | |||
11 | #include <qstring.h> | 11 | #include <qstring.h> |
12 | 12 | ||
13 | struct BroswerContent | 13 | struct BroswerContent |
14 | { | 14 | { |
15 | QString top; | 15 | QString top; |
16 | QString bottom; | 16 | QString bottom; |
17 | }; | 17 | }; |
18 | 18 | ||
19 | class DingWidget | 19 | class DingWidget |
20 | { | 20 | { |
21 | public: | 21 | public: |
22 | DingWidget(); | 22 | 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 ); | ||
28 | void loadDict( QString ); | 27 | void loadDict( QString ); |
29 | QString loadedDict() const; | 28 | QString loadedDict() const; |
30 | void setQueryWord( QString ); | 29 | void setQueryWord( QString ); |
31 | void setDict( QString ); | 30 | void setDict( QString ); |
32 | void loadValues(); | 31 | void loadValues(); |
33 | 32 | ||
34 | QString lang1_name, | 33 | QString lang1_name, |
35 | lang2_name; | 34 | lang2_name; |
36 | 35 | ||
37 | bool isCaseSensitive; | 36 | bool isCaseSensitive; |
37 | |||
38 | private: | 38 | private: |
39 | BroswerContent parseInfo(); | 39 | BroswerContent parseInfo(); |
40 | 40 | ||
41 | BroswerContent s_strings; | 41 | BroswerContent s_strings; |
42 | bool isCompleteWord; | ||
43 | 42 | ||
44 | QString dictName; | 43 | QString dictName; |
45 | 44 | ||
46 | QString search_word; | 45 | QString search_word; |
47 | QString queryword; | 46 | QString queryword; |
48 | QString methodname; | 47 | QString methodname; |
49 | QString trenner; | 48 | QString trenner; |
50 | }; | 49 | }; |
diff --git a/noncore/apps/odict/odict.cpp b/noncore/apps/odict/odict.cpp index c1de6ac..2028701 100644 --- a/noncore/apps/odict/odict.cpp +++ b/noncore/apps/odict/odict.cpp | |||
@@ -48,33 +48,32 @@ ODict::ODict() : QMainWindow() | |||
48 | QLabel* query_label = new QLabel( tr( "Query:" ) , hbox ); | 48 | QLabel* query_label = new QLabel( tr( "Query:" ) , hbox ); |
49 | query_label->show(); | 49 | query_label->show(); |
50 | query_le = new QLineEdit( hbox ); | 50 | query_le = new QLineEdit( hbox ); |
51 | query_co = new QComboBox( hbox ); | 51 | query_co = new QComboBox( hbox ); |
52 | connect( query_co , SIGNAL( activated(const QString&) ), this, SLOT( slotMethodChanged(const QString&) ) ); | 52 | connect( query_co , SIGNAL( activated(const QString&) ), this, SLOT( slotMethodChanged(const QString&) ) ); |
53 | ok_button = new QPushButton( tr( "&Ok" ), hbox ); | 53 | ok_button = new QPushButton( tr( "&Ok" ), hbox ); |
54 | connect( ok_button, SIGNAL( released() ), this, SLOT( slotStartQuery() ) ); | 54 | connect( ok_button, SIGNAL( released() ), this, SLOT( slotStartQuery() ) ); |
55 | 55 | ||
56 | top_name = new QLabel( vbox ); | 56 | top_name = new QLabel( vbox ); |
57 | top_name->setAlignment( AlignHCenter ); | 57 | top_name->setAlignment( AlignHCenter ); |
58 | browser_top = new QTextBrowser( vbox ); | 58 | browser_top = new QTextBrowser( vbox ); |
59 | bottom_name = new QLabel( vbox ); | 59 | bottom_name = new QLabel( vbox ); |
60 | bottom_name->setAlignment( AlignHCenter ); | 60 | bottom_name->setAlignment( AlignHCenter ); |
61 | browser_bottom = new QTextBrowser( vbox ); | 61 | browser_bottom = new QTextBrowser( vbox ); |
62 | 62 | ||
63 | ding = new DingWidget(); | 63 | ding = new DingWidget(); |
64 | ding->loadValues(); | ||
65 | 64 | ||
66 | loadConfig(); | 65 | loadConfig(); |
67 | setCentralWidget( vbox ); | 66 | setCentralWidget( vbox ); |
68 | } | 67 | } |
69 | 68 | ||
70 | void ODict::loadConfig() | 69 | void ODict::loadConfig() |
71 | { | 70 | { |
72 | /* | 71 | /* |
73 | * the name of the last used dictionary | 72 | * the name of the last used dictionary |
74 | */ | 73 | */ |
75 | QString lastname; | 74 | QString lastname; |
76 | 75 | ||
77 | Config cfg ( "odict" ); | 76 | Config cfg ( "odict" ); |
78 | cfg.setGroup( "generalsettings" ); | 77 | cfg.setGroup( "generalsettings" ); |
79 | casesens = cfg.readEntry( "casesens" ).toInt(); | 78 | casesens = cfg.readEntry( "casesens" ).toInt(); |
80 | regexp = cfg.readEntry( "regexp" ).toInt(); | 79 | regexp = cfg.readEntry( "regexp" ).toInt(); |
@@ -95,32 +94,33 @@ void ODict::loadConfig() | |||
95 | * this check is to look up what dictionary has been used the | 94 | * this check is to look up what dictionary has been used the |
96 | * last time | 95 | * last time |
97 | */ | 96 | */ |
98 | if ( lastDict == name ) | 97 | if ( lastDict == name ) |
99 | { | 98 | { |
100 | e = i; | 99 | e = i; |
101 | lastname = name; | 100 | lastname = name; |
102 | } | 101 | } |
103 | i++; | 102 | i++; |
104 | } | 103 | } |
105 | /* | 104 | /* |
106 | * now set the two names of the dictionary and the correct QComboBox-Entry | 105 | * now set the two names of the dictionary and the correct QComboBox-Entry |
107 | */ | 106 | */ |
108 | 107 | ||
109 | lookupLanguageNames( lastname ); | 108 | lookupLanguageNames( lastname ); |
110 | ding->loadDict( lastname ); | 109 | ding->loadDict( lastname ); |
110 | ding->loadValues(); | ||
111 | 111 | ||
112 | query_co->setCurrentItem( e ); | 112 | query_co->setCurrentItem( e ); |
113 | top_name->setText( top_name_content ); | 113 | top_name->setText( top_name_content ); |
114 | bottom_name->setText( bottom_name_content ); | 114 | bottom_name->setText( bottom_name_content ); |
115 | } | 115 | } |
116 | 116 | ||
117 | void ODict::lookupLanguageNames( QString dictname ) | 117 | void ODict::lookupLanguageNames( QString dictname ) |
118 | { | 118 | { |
119 | Config cfg ( "odict" ); | 119 | Config cfg ( "odict" ); |
120 | cfg.setGroup( "Method_"+dictname ); | 120 | cfg.setGroup( "Method_"+dictname ); |
121 | top_name_content = cfg.readEntry( "Lang1" ); | 121 | top_name_content = cfg.readEntry( "Lang1" ); |
122 | bottom_name_content = cfg.readEntry( "Lang2" ); | 122 | bottom_name_content = cfg.readEntry( "Lang2" ); |
123 | } | 123 | } |
124 | 124 | ||
125 | void ODict::saveConfig() | 125 | void ODict::saveConfig() |
126 | { | 126 | { |
@@ -186,36 +186,32 @@ void ODict::slotSetParameter( int count ) | |||
186 | } | 186 | } |
187 | 187 | ||
188 | if ( count == 1 ) | 188 | if ( count == 1 ) |
189 | { | 189 | { |
190 | if ( regexp ) | 190 | if ( regexp ) |
191 | regexp = false; | 191 | regexp = false; |
192 | else | 192 | else |
193 | regexp = true; | 193 | regexp = true; |
194 | } | 194 | } |
195 | saveConfig(); | 195 | saveConfig(); |
196 | } | 196 | } |
197 | 197 | ||
198 | void ODict::slotMethodChanged( const QString& methodnumber ) | 198 | void ODict::slotMethodChanged( const QString& methodnumber ) |
199 | { | 199 | { |
200 | activated_name = methodnumber; | 200 | activated_name = methodnumber; |
201 | 201 | ||
202 | qDebug( "activated_name in slotMethodChanged() ist:" ); | ||
203 | qDebug( activated_name ); | ||
204 | qDebug( ding->loadedDict() ); | ||
205 | |||
206 | if ( activated_name != ding->loadedDict() ) | 202 | if ( activated_name != ding->loadedDict() ) |
207 | { | 203 | { |
208 | ding->loadDict(activated_name); | 204 | ding->loadDict(activated_name); |
209 | 205 | ||
210 | lookupLanguageNames( activated_name ); | 206 | lookupLanguageNames( activated_name ); |
211 | top_name->setText( top_name_content ); | 207 | top_name->setText( top_name_content ); |
212 | bottom_name->setText( bottom_name_content ); | 208 | bottom_name->setText( bottom_name_content ); |
213 | } | 209 | } |
214 | } | 210 | } |
215 | 211 | ||
216 | void ODict::setupMenus() | 212 | void ODict::setupMenus() |
217 | { | 213 | { |
218 | menu = new QMenuBar( this ); | 214 | menu = new QMenuBar( this ); |
219 | 215 | ||
220 | settings = new QPopupMenu( menu ); | 216 | settings = new QPopupMenu( menu ); |
221 | setting_a = new QAction(tr( "Configuration" ), Resource::loadPixmap( "new" ), QString::null, 0, this, 0 ); | 217 | setting_a = new QAction(tr( "Configuration" ), Resource::loadPixmap( "new" ), QString::null, 0, this, 0 ); |