summaryrefslogtreecommitdiff
path: root/noncore/apps/odict
authorcniehaus <cniehaus>2003-05-10 20:58:31 (UTC)
committer cniehaus <cniehaus>2003-05-10 20:58:31 (UTC)
commitcd5ea84b4061c1d3b8401252fd2c36efade02c95 (patch) (unidiff)
treec97d2f5ed8a1fed0c2aec3aafdf621e996719663 /noncore/apps/odict
parent1bff948326aa752c3f4aceac4083717f8c2066e8 (diff)
downloadopie-cd5ea84b4061c1d3b8401252fd2c36efade02c95.zip
opie-cd5ea84b4061c1d3b8401252fd2c36efade02c95.tar.gz
opie-cd5ea84b4061c1d3b8401252fd2c36efade02c95.tar.bz2
fix a stupid bug
Diffstat (limited to 'noncore/apps/odict') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/odict/dingwidget.cpp9
-rw-r--r--noncore/apps/odict/dingwidget.h3
-rw-r--r--noncore/apps/odict/odict.cpp6
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
@@ -25,39 +25,41 @@
25 25
26DingWidget::DingWidget( ) 26DingWidget::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
33void DingWidget::loadDict( QString name ) 33void 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
55QString DingWidget::loadedDict() const 57QString DingWidget::loadedDict() const
56{ 58{
57 return dictName; 59 return dictName;
58} 60}
59 61
60void DingWidget::setCaseSensitive( bool caseS ) 62void DingWidget::setCaseSensitive( bool caseS )
61{ 63{
62 isCaseSensitive = caseS; 64 isCaseSensitive = caseS;
63} 65}
@@ -70,24 +72,25 @@ void DingWidget::setDict( QString dict )
70void DingWidget::setQueryWord( QString qword ) 72void DingWidget::setQueryWord( QString qword )
71{ 73{
72 queryword = qword; 74 queryword = qword;
73} 75}
74 76
75 77
76void DingWidget::loadValues() 78void 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
86BroswerContent DingWidget::setText( QString word ) 89BroswerContent DingWidget::setText( QString word )
87{ 90{
88 queryword = word; 91 queryword = word;
89 return parseInfo(); 92 return parseInfo();
90} 93}
91 94
92 95
93BroswerContent DingWidget::parseInfo() 96BroswerContent DingWidget::parseInfo()
@@ -98,34 +101,34 @@ BroswerContent DingWidget::parseInfo()
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}
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
@@ -15,36 +15,35 @@ struct BroswerContent
15 QString top; 15 QString top;
16 QString bottom; 16 QString bottom;
17}; 17};
18 18
19class DingWidget 19class 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
@@ -52,25 +52,24 @@ ODict::ODict() : QMainWindow()
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
70void ODict::loadConfig() 69void 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
@@ -99,24 +98,25 @@ void ODict::loadConfig()
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
117void ODict::lookupLanguageNames( QString dictname ) 117void 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" );
@@ -190,28 +190,24 @@ void ODict::slotSetParameter( int count )
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
198void ODict::slotMethodChanged( const QString& methodnumber ) 198void 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
216void ODict::setupMenus() 212void ODict::setupMenus()
217{ 213{