-rw-r--r-- | noncore/apps/odict/dingwidget.cpp | 28 | ||||
-rw-r--r-- | noncore/apps/odict/dingwidget.h | 2 | ||||
-rw-r--r-- | noncore/apps/odict/odict.cpp | 6 |
3 files changed, 13 insertions, 23 deletions
diff --git a/noncore/apps/odict/dingwidget.cpp b/noncore/apps/odict/dingwidget.cpp index 5b5d731..cfef84d 100644 --- a/noncore/apps/odict/dingwidget.cpp +++ b/noncore/apps/odict/dingwidget.cpp @@ -31,23 +31,14 @@ #include <stdlib.h> // for getenv DingWidget::DingWidget( ) { methodname = QString::null; - trenner = "::";//QString::null; + trenner = QString::null; lines = 0L; - loadValues(); - -//X qDebug( topbrowser ); -//X qDebug( top ); -//X -//X topbrowser = "blahbalh"; -//X -//X qDebug( topbrowser ); -//X qDebug( top ); } void DingWidget::loadDict( QString name ) { qDebug( "MUSS ich wirklich aufgerufen werder? schreit loadDict" ); qDebug( "Starte mit dem loadedDict(...)" ); @@ -65,12 +56,13 @@ void DingWidget::loadDict( QString name ) { lines.append( stream.readLine() ); } file.close(); } qDebug( "loadedDict(...) ist beended" ); + loadValues(); } QString DingWidget::loadedDict() { qDebug( dictName ); qDebug( "^ ^ ^ ^ ^ ^ ^ war der dictName" ); @@ -105,38 +97,40 @@ BroswerContent DingWidget::setText( QString word ) return parseInfo(); } void DingWidget::loadValues() { Config cfg( "odict" ); - cfg.setGroup( "Method_"+methodname ); - //trenner = cfg.readEntry( "Seperator" ); + cfg.setGroup( "Method_" + methodname ); + trenner = cfg.readEntry( "Seperator" ); } BroswerContent DingWidget::parseInfo() { + if ( isCompleteWord ) queryword = " " + queryword + " "; QStringList search = lines.grep( queryword , isCaseSensitive ); QString current; QString left; QString right; - QString html_header = "<html><table>"; - QString html_footer = "</table></html>"; - QString html_table_left = "<tr><td width='50'>"; - QString html_table_sep = "</td><td>"; - QString html_table_right = "</td></tr>"; QRegExp reg_div( trenner ); QRegExp reg_word( queryword ); reg_word.setCaseSensitive( isCaseSensitive ); QStringList toplist, bottomlist; QString substitute = "<strong>"+queryword+"</strong>"; /* Dieser Block ist von Patrik. Ich versuche einen neuen * Ansatz. Zum einen ist HTML scheiße an dieser Stelle und * zum andern funktioniert der Code nicht so wie er sollte. QString substitute = "<a href=''>"+queryword+"</a>"; + + QString html_header = "<html><table>"; + QString html_footer = "</table></html>"; + QString html_table_left = "<tr><td width='50'>"; + QString html_table_sep = "</td><td>"; + QString html_table_right = "</td></tr>"; for( QStringList::Iterator it = search.begin() ; it != search.end() ; ++it ) { current = *it; left = current.left( current.find(reg_div) ); right = current.right( current.length() - current.find(reg_div) - 1 ); diff --git a/noncore/apps/odict/dingwidget.h b/noncore/apps/odict/dingwidget.h index ba37009..74f40c9 100644 --- a/noncore/apps/odict/dingwidget.h +++ b/noncore/apps/odict/dingwidget.h @@ -26,22 +26,22 @@ class DingWidget void setCaseSensitive( bool ); void setCompleteWord( bool ); void loadDict( QString ); QString loadedDict(); void setQueryWord( QString ); void setDict( QString ); + void loadValues(); private: BroswerContent parseInfo(); BroswerContent s_strings; bool isCompleteWord; bool isCaseSensitive; QString dictName; QString search_word; - void loadValues(); QString queryword; QString methodname; QString trenner; }; diff --git a/noncore/apps/odict/odict.cpp b/noncore/apps/odict/odict.cpp index 42604ee..78c3f90 100644 --- a/noncore/apps/odict/odict.cpp +++ b/noncore/apps/odict/odict.cpp @@ -54,12 +54,13 @@ ODict::ODict() : QMainWindow() ok_button = new QPushButton( tr( "&Ok" ), hbox ); connect( ok_button, SIGNAL( released() ), this, SLOT( slotStartQuery() ) ); browser_top = new QTextBrowser( vbox ); browser_bottom = new QTextBrowser( vbox ); ding = new DingWidget(); + ding->loadValues(); loadConfig(); setCentralWidget( vbox ); } void ODict::loadConfig() @@ -107,25 +108,20 @@ void ODict::slotStartQuery() //X } //X if (!activated_name || activated_name.isEmpty()) //X QMessageBox::warning(this,tr("No Dictionary"),tr("Please choose a dictonary") ); //X else //X { - if ( casesens ) qDebug( "casesens = TRUE" ); - else qDebug( "casesens = FALSE" ); - ding->setCaseSensitive( casesens ); ding->setCompleteWord( completewords ); ding->setDict( activated_name ); if ( activated_name != ding->loadedDict() ) { - qDebug( "ComboBox geändert" ); ding->loadDict(activated_name); } - else qDebug( "ComboBox war GLEICH" ); BroswerContent test = ding->setText( querystring ); browser_top->setText( test.top ); browser_bottom->setText( test.bottom ); |