summaryrefslogtreecommitdiff
authorcniehaus <cniehaus>2003-01-03 23:21:47 (UTC)
committer cniehaus <cniehaus>2003-01-03 23:21:47 (UTC)
commit004a8ac1b25530801f68d4a041b4355ecc60c9eb (patch) (unidiff)
treed850779620bf96977c68721ff1964762860df802
parent28b06247aaa55f80d91be1f8591e2cc30bac29d3 (diff)
downloadopie-004a8ac1b25530801f68d4a041b4355ecc60c9eb.zip
opie-004a8ac1b25530801f68d4a041b4355ecc60c9eb.tar.gz
opie-004a8ac1b25530801f68d4a041b4355ecc60c9eb.tar.bz2
update tille
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/odict/dingwidget.cpp16
-rw-r--r--noncore/apps/odict/dingwidget.h5
-rw-r--r--noncore/apps/odict/odict.cpp10
-rw-r--r--noncore/apps/odict/odict.h5
4 files changed, 30 insertions, 6 deletions
diff --git a/noncore/apps/odict/dingwidget.cpp b/noncore/apps/odict/dingwidget.cpp
index 8f5a7ae..b69a803 100644
--- a/noncore/apps/odict/dingwidget.cpp
+++ b/noncore/apps/odict/dingwidget.cpp
@@ -21,62 +21,72 @@
21#include <qhbox.h> 21#include <qhbox.h>
22#include <qlabel.h> 22#include <qlabel.h>
23#include <qpushbutton.h> 23#include <qpushbutton.h>
24#include <qlineedit.h> 24#include <qlineedit.h>
25#include <qmainwindow.h> 25#include <qmainwindow.h>
26#include <qstring.h> 26#include <qstring.h>
27#include <qtextstream.h> 27#include <qtextstream.h>
28#include <qstringlist.h> 28#include <qstringlist.h>
29#include <qregexp.h> 29#include <qregexp.h>
30#include <qtextbrowser.h> 30#include <qtextbrowser.h>
31#include <stdlib.h> // for getenv 31#include <stdlib.h> // for getenv
32 32
33DingWidget::DingWidget(QWidget *parent, QString word, QTextBrowser *browser_top, QTextBrowser *browser_bottom) : QWidget(parent) 33DingWidget::DingWidget(QWidget *parent, QString word, QTextBrowser *browser_top, QTextBrowser *browser_bottom, QString activated_name) : QWidget(parent)
34{ 34{
35 methodname = activated_name;
35 queryword = word; 36 queryword = word;
37 trenner = QString::null;
38 loadValues();
36 QString opie_dir = getenv("OPIEDIR"); 39 QString opie_dir = getenv("OPIEDIR");
37 QFile file( opie_dir+"/noncore/apps/odict/eng_ita.dic" ); 40 QFile file( opie_dir+"/noncore/apps/odict/eng_ita.dic" );
38 QStringList lines; 41 QStringList lines;
39 42
40 if( file.open( IO_ReadOnly ) ) 43 if( file.open( IO_ReadOnly ) )
41 { 44 {
42 QTextStream stream( &file ); 45 QTextStream stream( &file );
43 while ( !stream.eof() ) 46 while ( !stream.eof() )
44 { 47 {
45 lines.append( stream.readLine() ); 48 lines.append( stream.readLine() );
46 } 49 }
47 file.close(); 50 file.close();
48 } 51 }
49 52
50 lines = lines.grep( queryword ); 53 lines = lines.grep( queryword );
51 54
52 QString top, bottom; 55 QString top, bottom;
53 56 //parseInfo( lines, top , bottom );
54 parseInfo( lines, top , bottom );
55 browser_top->setText( top ); 57 browser_top->setText( top );
56 browser_bottom->setText( bottom ); 58 browser_bottom->setText( bottom );
57} 59}
58 60
61void DingWidget::loadValues()
62{
63 Config cfg( "odict" );
64 cfg.setGroup( "Method_"+methodname );
65 trenner = cfg.readEntry( "Seperator" );
66}
67
59void DingWidget::parseInfo( QStringList &lines, QString &top, QString &bottom ) 68void DingWidget::parseInfo( QStringList &lines, QString &top, QString &bottom )
60{ 69{
61 70
62 QString current; 71 QString current;
63 QString left; 72 QString left;
64 QString right; 73 QString right;
65 QString html_header = "<html><table>"; 74 QString html_header = "<html><table>";
66 QString html_footer = "</table></html>"; 75 QString html_footer = "</table></html>";
67 QString html_table_left = "<tr><td width='50'>"; 76 QString html_table_left = "<tr><td width='50'>";
68 QString html_table_sep = "</td><td>"; 77 QString html_table_sep = "</td><td>";
69 QString html_table_right = "</td></tr>"; 78 QString html_table_right = "</td></tr>";
70 QRegExp reg_div( "\\" ); 79 QRegExp reg_div( "\\" );
80 //QRegExp reg_div( trenner );
71 QRegExp reg_word( queryword ); 81 QRegExp reg_word( queryword );
72 //QString substitute = "<font color=red>"+queryword+"</font>"; 82 //QString substitute = "<font color=red>"+queryword+"</font>";
73 QString substitute = "<a href=''>"+queryword+"</a>"; 83 QString substitute = "<a href=''>"+queryword+"</a>";
74 QStringList toplist, bottomlist; 84 QStringList toplist, bottomlist;
75 for( QStringList::Iterator it = lines.begin() ; it != lines.end() ; ++it ) 85 for( QStringList::Iterator it = lines.begin() ; it != lines.end() ; ++it )
76 { 86 {
77 current = *it; 87 current = *it;
78 left = current.left( current.find(reg_div) ); 88 left = current.left( current.find(reg_div) );
79 right = current.right( current.length() - current.find(reg_div) - 1 ); 89 right = current.right( current.length() - current.find(reg_div) - 1 );
80 if ( left.contains( reg_word ) ) 90 if ( left.contains( reg_word ) )
81 { 91 {
82 left.replace( queryword, substitute ); 92 left.replace( queryword, substitute );
diff --git a/noncore/apps/odict/dingwidget.h b/noncore/apps/odict/dingwidget.h
index cba1edf..66379fe 100644
--- a/noncore/apps/odict/dingwidget.h
+++ b/noncore/apps/odict/dingwidget.h
@@ -10,19 +10,22 @@
10#include <qwidget.h> 10#include <qwidget.h>
11 11
12class QString; 12class QString;
13class QTextBrowser; 13class QTextBrowser;
14class QString; 14class QString;
15class QStringList; 15class QStringList;
16 16
17class DingWidget : public QWidget 17class DingWidget : public QWidget
18{ 18{
19 Q_OBJECT 19 Q_OBJECT
20 20
21 public: 21 public:
22 DingWidget(QWidget *parent = 0, QString word = 0, QTextBrowser* = 0, QTextBrowser* =0); 22 DingWidget(QWidget *parent = 0, QString word = 0, QTextBrowser* = 0, QTextBrowser* =0, QString activated_name=0);
23 23
24 private: 24 private:
25 QString search_word; 25 QString search_word;
26 void parseInfo( QStringList& , QString&, QString& ); 26 void parseInfo( QStringList& , QString&, QString& );
27 QString queryword; 27 QString queryword;
28 void loadValues();
29 QString methodname;
30 QString trenner;
28}; 31};
diff --git a/noncore/apps/odict/odict.cpp b/noncore/apps/odict/odict.cpp
index 7de9169..2857c65 100644
--- a/noncore/apps/odict/odict.cpp
+++ b/noncore/apps/odict/odict.cpp
@@ -30,32 +30,35 @@
30#include <qlineedit.h> 30#include <qlineedit.h>
31#include <qmainwindow.h> 31#include <qmainwindow.h>
32#include <qstring.h> 32#include <qstring.h>
33#include <qaction.h> 33#include <qaction.h>
34#include <qtextbrowser.h> 34#include <qtextbrowser.h>
35#include <qcombobox.h> 35#include <qcombobox.h>
36 36
37#include <qpe/resource.h> 37#include <qpe/resource.h>
38 38
39 39
40ODict::ODict() : QMainWindow() 40ODict::ODict() : QMainWindow()
41{ 41{
42
43 activated_name = QString::null;
42 vbox = new QVBox( this ); 44 vbox = new QVBox( this );
43 setCaption( tr( "OPIE-Dictionary" ) ); 45 setCaption( tr( "OPIE-Dictionary" ) );
44 setupMenus(); 46 setupMenus();
45 47
46 QHBox *hbox = new QHBox( vbox ); 48 QHBox *hbox = new QHBox( vbox );
47 QLabel* query_label = new QLabel( tr( "Query:" ) , hbox ); query_label->show(); 49 QLabel* query_label = new QLabel( tr( "Query:" ) , hbox ); query_label->show();
48 query_le = new QLineEdit( hbox ); 50 query_le = new QLineEdit( hbox );
49 query_co = new QComboBox( hbox ); 51 query_co = new QComboBox( hbox );
52 connect( query_co , SIGNAL( activated(int) ), this, SLOT( slotMethodChanged(int) ) );
50 ok_button = new QPushButton( tr( "&Ok" ), hbox ); 53 ok_button = new QPushButton( tr( "&Ok" ), hbox );
51 connect( ok_button, SIGNAL( released() ), this, SLOT( slotStartQuery() ) ); 54 connect( ok_button, SIGNAL( released() ), this, SLOT( slotStartQuery() ) );
52 browser_top = new QTextBrowser( vbox ); 55 browser_top = new QTextBrowser( vbox );
53 browser_bottom = new QTextBrowser( vbox ); 56 browser_bottom = new QTextBrowser( vbox );
54 57
55 loadConfig(); 58 loadConfig();
56 setCentralWidget( vbox ); 59 setCentralWidget( vbox );
57} 60}
58 61
59void ODict::loadConfig() 62void ODict::loadConfig()
60{ 63{
61 Config cfg ( "odict" ); 64 Config cfg ( "odict" );
@@ -83,25 +86,25 @@ void ODict::saveConfig()
83 cfg.writeEntry( "regexp" , regexp ); 86 cfg.writeEntry( "regexp" , regexp );
84 cfg.writeEntry( "completewords" , completewords ); 87 cfg.writeEntry( "completewords" , completewords );
85} 88}
86 89
87void ODict::slotDisplayAbout() 90void ODict::slotDisplayAbout()
88{ 91{
89 QMessageBox::about( this, tr( "About ODict" ), tr( "OPIE-Dictionary ODict \n (c) 2002, 2003 Carsten Niehaus \n cniehaus@handhelds.org \n Version 20030103" ) ); 92 QMessageBox::about( this, tr( "About ODict" ), tr( "OPIE-Dictionary ODict \n (c) 2002, 2003 Carsten Niehaus \n cniehaus@handhelds.org \n Version 20030103" ) );
90} 93}
91 94
92void ODict::slotStartQuery() 95void ODict::slotStartQuery()
93{ 96{
94 QString querystring = query_le->text(); 97 QString querystring = query_le->text();
95 DingWidget *ding = new DingWidget( vbox , querystring , browser_top, browser_bottom); 98 DingWidget *ding = new DingWidget( vbox , querystring , browser_top, browser_bottom, activated_name);
96} 99}
97 100
98 101
99void ODict::slotSetErrorcount( int count ) 102void ODict::slotSetErrorcount( int count )
100{ 103{
101 errorTol = count; 104 errorTol = count;
102} 105}
103 106
104void ODict::slotSettings() 107void ODict::slotSettings()
105{ 108{
106 ConfigDlg dlg( this, "Config" , true); 109 ConfigDlg dlg( this, "Config" , true);
107 if ( dlg.exec() == QDialog::Accepted ) 110 if ( dlg.exec() == QDialog::Accepted )
@@ -127,24 +130,29 @@ void ODict::slotSetParameter( int count )
127 completewords = true; 130 completewords = true;
128 } 131 }
129 if ( count == 2 ) 132 if ( count == 2 )
130 { 133 {
131 if ( regexp ) 134 if ( regexp )
132 regexp = false; 135 regexp = false;
133 else 136 else
134 regexp = true; 137 regexp = true;
135 } 138 }
136 else qWarning( "ERROR" ); 139 else qWarning( "ERROR" );
137} 140}
138 141
142void ODict::slotMethodChanged( int methodnumber )
143{
144 activated_name = query_co->currentText();
145}
146
139void ODict::setupMenus() 147void ODict::setupMenus()
140{ 148{
141 menu = new QMenuBar( this ); 149 menu = new QMenuBar( this );
142 150
143 settings = new QPopupMenu( menu ); 151 settings = new QPopupMenu( menu );
144 setting_a = new QAction(tr( "Config" ), Resource::loadPixmap( "today/config" ), QString::null, 0, this, 0 ); 152 setting_a = new QAction(tr( "Config" ), Resource::loadPixmap( "today/config" ), QString::null, 0, this, 0 );
145 connect( setting_a, SIGNAL( activated() ), this, SLOT( slotSettings() ) ); 153 connect( setting_a, SIGNAL( activated() ), this, SLOT( slotSettings() ) );
146 setting_a->addTo( settings ); 154 setting_a->addTo( settings );
147 setting_b = new QAction(tr( "Searchmethods" ), Resource::loadPixmap( "today/config" ), QString::null, 0, this, 0 ); 155 setting_b = new QAction(tr( "Searchmethods" ), Resource::loadPixmap( "today/config" ), QString::null, 0, this, 0 );
148 156
149 parameter = new QPopupMenu( menu ); 157 parameter = new QPopupMenu( menu );
150 connect( parameter, SIGNAL( activated( int ) ), this, SLOT( slotSetParameter( int ) ) ); 158 connect( parameter, SIGNAL( activated( int ) ), this, SLOT( slotSetParameter( int ) ) );
diff --git a/noncore/apps/odict/odict.h b/noncore/apps/odict/odict.h
index 7c1f32f..5096c5e 100644
--- a/noncore/apps/odict/odict.h
+++ b/noncore/apps/odict/odict.h
@@ -35,29 +35,32 @@ class ODict : public QMainWindow
35 private: 35 private:
36 QPopupMenu *help, *settings, *parameter, *error_tol_menu; 36 QPopupMenu *help, *settings, *parameter, *error_tol_menu;
37 QMenuBar *menu; 37 QMenuBar *menu;
38 QHBox *hbox; 38 QHBox *hbox;
39 QLineEdit *query_le; 39 QLineEdit *query_le;
40 QComboBox *query_co; 40 QComboBox *query_co;
41 QPushButton *ok_button; 41 QPushButton *ok_button;
42 42
43 QVBoxLayout *vbox_layout; 43 QVBoxLayout *vbox_layout;
44 44
45 QAction *setting_a, *setting_b; 45 QAction *setting_a, *setting_b;
46 46
47 //DingWidget *ding; 47 DingWidget *ding;
48 48
49 void setupMenus(); 49 void setupMenus();
50 50
51 int errorTol; 51 int errorTol;
52 bool casesens, completewords, regexp; 52 bool casesens, completewords, regexp;
53 53
54 void loadConfig(); 54 void loadConfig();
55 void saveConfig(); 55 void saveConfig();
56
57 QString activated_name;
56 58
57 private slots: 59 private slots:
58 void slotDisplayAbout(); 60 void slotDisplayAbout();
59 void slotStartQuery(); 61 void slotStartQuery();
60 void slotSetErrorcount( int ); 62 void slotSetErrorcount( int );
61 void slotSettings(); 63 void slotSettings();
62 void slotSetParameter( int ); 64 void slotSetParameter( int );
65 void slotMethodChanged( int );
63}; 66};