summaryrefslogtreecommitdiff
authorcniehaus <cniehaus>2003-01-11 18:28:09 (UTC)
committer cniehaus <cniehaus>2003-01-11 18:28:09 (UTC)
commite3fa5685865712ca930d9124b974506766e7b11e (patch) (side-by-side diff)
tree377298838435ca45a23945660f687583788d4a97
parentfecbb2ca2714c1699a76036865e6e1120110ac1d (diff)
downloadopie-e3fa5685865712ca930d9124b974506766e7b11e.zip
opie-e3fa5685865712ca930d9124b974506766e7b11e.tar.gz
opie-e3fa5685865712ca930d9124b974506766e7b11e.tar.bz2
check if the user want to serach casesensitive or not
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--noncore/apps/odict/dingwidget.cpp5
-rw-r--r--noncore/apps/odict/odict.cpp12
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 )