author | cniehaus <cniehaus> | 2003-01-11 18:28:09 (UTC) |
---|---|---|
committer | cniehaus <cniehaus> | 2003-01-11 18:28:09 (UTC) |
commit | e3fa5685865712ca930d9124b974506766e7b11e (patch) (side-by-side diff) | |
tree | 377298838435ca45a23945660f687583788d4a97 | |
parent | fecbb2ca2714c1699a76036865e6e1120110ac1d (diff) | |
download | opie-e3fa5685865712ca930d9124b974506766e7b11e.zip opie-e3fa5685865712ca930d9124b974506766e7b11e.tar.gz opie-e3fa5685865712ca930d9124b974506766e7b11e.tar.bz2 |
check if the user want to serach casesensitive or not
-rw-r--r-- | noncore/apps/odict/dingwidget.cpp | 5 | ||||
-rw-r--r-- | noncore/apps/odict/odict.cpp | 12 |
2 files changed, 7 insertions, 10 deletions
diff --git a/noncore/apps/odict/dingwidget.cpp b/noncore/apps/odict/dingwidget.cpp index 7abad22..5b5d731 100644 --- a/noncore/apps/odict/dingwidget.cpp +++ b/noncore/apps/odict/dingwidget.cpp @@ -93,92 +93,93 @@ void DingWidget::setCompleteWord( bool cword ) } void DingWidget::setQueryWord( QString qword ) { queryword = qword; } BroswerContent DingWidget::setText( QString word ) { queryword = word; qDebug( queryword ); qDebug( "^ ^ ^ ^ ^ ^ ^ war das gesuchte Word"); return parseInfo(); } void DingWidget::loadValues() { Config cfg( "odict" ); cfg.setGroup( "Method_"+methodname ); //trenner = cfg.readEntry( "Seperator" ); } BroswerContent DingWidget::parseInfo() { - QStringList search = lines.grep( 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>"; 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 ); if ( left.contains( reg_word ) ) { left.replace( queryword, substitute ); toplist.append( html_table_left + left + html_table_sep + right + html_table_right ); } else { right.replace( reg_word, substitute ); bottomlist.append( html_table_left + right + html_table_sep + left + html_table_right ); } } //thats it, the lists are rendered. Lets put them in one string s_strings.bottom = html_header + bottomlist.join( "<br>" ) + html_footer; s_strings.top = html_header + toplist.join( "<br>" ) + html_footer; */ for( QStringList::Iterator it = search.begin() ; it != search.end() ; ++it ) { current = *it; left = current.left( current.find( trenner ) ); right = current.right( current.length() - current.find(trenner) -2 ); - if ( left.contains( queryword ) ) + if ( left.contains( queryword , isCaseSensitive ) ) { left.replace( queryword, substitute ); left = left + "-->" + right; toplist.append( left ); } else { right.replace( queryword, substitute ); left = right + "-->" + left; bottomlist.append( right ); } } s_strings.bottom = bottomlist.join( "\n" ); s_strings.top = toplist.join( "\n" ); return s_strings; } diff --git a/noncore/apps/odict/odict.cpp b/noncore/apps/odict/odict.cpp index 549c40a..42604ee 100644 --- a/noncore/apps/odict/odict.cpp +++ b/noncore/apps/odict/odict.cpp @@ -73,89 +73,85 @@ void ODict::loadConfig() QStringList groupListCfg = cfg.groupList().grep( "Method_" ); query_co->clear(); for ( QStringList::Iterator it = groupListCfg.begin() ; it != groupListCfg.end() ; ++it ) { cfg.setGroup( *it ); query_co->insertItem( cfg.readEntry( "Name" ) ); } slotMethodChanged(1 ); //FIXME: this line should not contain a integer } void ODict::saveConfig() { Config cfg ( "odict" ); cfg.setGroup( "generalsettings" ); cfg.writeEntry( "errtol" , errorTol ); cfg.writeEntry( "casesens" , casesens ); cfg.writeEntry( "regexp" , regexp ); cfg.writeEntry( "completewords" , completewords ); } void ODict::slotDisplayAbout() { - QMessageBox::about( this, tr( "About ODict" ), tr( "OPIE-Dictionary ODict \n (c) 2002, 2003 Carsten Niehaus \n cniehaus@handhelds.org \n Version 20030108" ) ); + QMessageBox::about( this, tr( "About ODict" ), tr( "OPIE-Dictionary ODict \n (c) 2002, 2003 Carsten Niehaus \n cniehaus@handhelds.org \n Version 20030111" ) ); } void ODict::slotStartQuery() { QString querystring = query_le->text(); //X qDebug("opening dict >%s< for >%s<", activated_name.latin1(),querystring.latin1()); //X if (querystring.isEmpty()){ //X qWarning("empty querystring"); //X return; //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 ); - qDebug( " activated_name ist :" ); - qDebug( activated_name ); - - qDebug( " loadedDict() ist :" ); - qDebug( ding->loadedDict() ); 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 ); qDebug( "Text sollte gesetzt sein..." ); - //X } - } void ODict::slotSetErrorcount( int count ) { errorTol = count; } void ODict::slotSettings() { ConfigDlg dlg( this, "Config" , true); if ( dlg.exec() == QDialog::Accepted ) { dlg.writeEntries(); loadConfig(); } else qDebug( "abgebrochen" ); } void ODict::slotSetParameter( int count ) { if ( count == 0 ) { if ( casesens ) |