author | chicken <chicken> | 2004-03-01 19:04:23 (UTC) |
---|---|---|
committer | chicken <chicken> | 2004-03-01 19:04:23 (UTC) |
commit | b5a544bf520ce6d0d8f7b314720e6a703079dc1d (patch) (side-by-side diff) | |
tree | b12ff3722689c2de5d9f594f20a0f5ee4a082e76 | |
parent | 54a73e15350ea3cc4886a81572cef6e7876be26a (diff) | |
download | opie-b5a544bf520ce6d0d8f7b314720e6a703079dc1d.zip opie-b5a544bf520ce6d0d8f7b314720e6a703079dc1d.tar.gz opie-b5a544bf520ce6d0d8f7b314720e6a703079dc1d.tar.bz2 |
fiox includes
-rw-r--r-- | noncore/apps/odict/configdlg.cpp | 4 | ||||
-rw-r--r-- | noncore/apps/odict/dingwidget.cpp | 3 | ||||
-rw-r--r-- | noncore/apps/odict/odict.cpp | 5 | ||||
-rw-r--r-- | noncore/apps/odict/searchmethoddlg.cpp | 3 |
4 files changed, 0 insertions, 15 deletions
diff --git a/noncore/apps/odict/configdlg.cpp b/noncore/apps/odict/configdlg.cpp index b12a395..7fa6008 100644 --- a/noncore/apps/odict/configdlg.cpp +++ b/noncore/apps/odict/configdlg.cpp @@ -1,108 +1,104 @@ /*************************************************************************** application: : ODict begin : December 2002 copyright : ( C ) 2002, 2003 by Carsten Niehaus email : cniehaus@handhelds.org **************************************************************************/ /*************************************************************************** * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * * ( at your option ) any later version. * * * **************************************************************************/ #include "configdlg.h" #include "searchmethoddlg.h" #include <qpe/qpeapplication.h> #include <qpe/config.h> -#include <qdialog.h> #include <qlayout.h> -#include <qhbox.h> #include <qvbox.h> -#include <qlabel.h> #include <qlistview.h> #include <qpushbutton.h> #include <qlineedit.h> -#include <qstringlist.h> ConfigDlg::ConfigDlg(QWidget *parent, const char *name, bool modal) : QDialog(parent, name, modal) { setCaption( tr( "Options" ) ); QVBoxLayout *vbox_layout = new QVBoxLayout( this ); search_tab = new QWidget( this , "search_tab" ); QVBoxLayout *vbox_layout_searchtab = new QVBoxLayout( search_tab, 4 , 4 ,"blah" ); QHBox *hbox = new QHBox( search_tab ); list = new QListView( hbox ); list->addColumn( tr( "Searchmethod" ) ); loadSearchMethodNames(); QVBox *vbox = new QVBox( hbox ); new_button = new QPushButton( tr( "New" ) , vbox ); change_button = new QPushButton( tr( "Change" ) , vbox ); delete_button = new QPushButton( tr( "Delete" ) , vbox ); connect( new_button, SIGNAL( clicked() ), this, SLOT( slotNewMethod() ) ); connect( change_button, SIGNAL( clicked() ), this, SLOT( slotChangeMethod() )); connect( delete_button, SIGNAL( clicked() ), this, SLOT( slotDeleteMethod() )); vbox_layout_searchtab->addWidget( hbox ); vbox_layout->addWidget( search_tab ); QPEApplication::execDialog( this ); } void ConfigDlg::slotNewMethod() { SearchMethodDlg dlg( this, "SearchMethodDlg", true ); if ( dlg.exec() == QDialog::Accepted ) { dlg.saveItem(); QListViewItem *item = new QListViewItem( list ); item->setText( 0 , dlg.nameLE->text() ); } } void ConfigDlg::slotChangeMethod() { if ( list->selectedItem() ) { SearchMethodDlg dlg( this, "SearchMethodDlg", true, list->selectedItem()->text( 0 ) ); if ( dlg.exec() == QDialog::Accepted ) { dlg.saveItem(); QListViewItem *item = list->selectedItem(); item->setText( 0 , dlg.nameLE->text() ); } } } void ConfigDlg::slotDeleteMethod() { if ( list->selectedItem() ) { Config cfg ( "odict" ); cfg.setGroup( "Method_"+list->selectedItem()->text(0) ); cfg.clearGroup(); //FIXME: this only removes the entries but not the group itself list->takeItem( list->selectedItem() ); } } void ConfigDlg::loadSearchMethodNames() { Config cfg( "odict" ); QStringList groupListCfg = cfg.groupList().grep( "Method_" ); for ( QStringList::Iterator it = groupListCfg.begin() ; it != groupListCfg.end() ; ++it ) { QListViewItem *item = new QListViewItem( list ); cfg.setGroup( *it ); item->setText( 0 , cfg.readEntry( "Name" ) ); } } diff --git a/noncore/apps/odict/dingwidget.cpp b/noncore/apps/odict/dingwidget.cpp index c804385..ef36ee5 100644 --- a/noncore/apps/odict/dingwidget.cpp +++ b/noncore/apps/odict/dingwidget.cpp @@ -1,135 +1,132 @@ /*************************************************************************** application: : ODict begin : December 2002 copyright : ( C ) 2002, 2003 by Carsten Niehaus email : cniehaus@handhelds.org **************************************************************************/ /*************************************************************************** * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * * ( at your option ) any later version. * * * **************************************************************************/ #include "dingwidget.h" #include <qfile.h> #include <qpe/config.h> -#include <qstring.h> #include <qtextstream.h> -#include <qstringlist.h> -#include <qregexp.h> DingWidget::DingWidget( ) { methodname = QString::null; trenner = QString::null; lines = 0L; } void DingWidget::loadDict( QString name ) { lines.clear(); //as we will load a new list we have to //remove the old one Config cfg( "odict" ); cfg.setGroup( "Method_" + name ); QFile file( cfg.readEntry( "file" ) ); if( file.open( IO_ReadOnly ) ) { QTextStream stream( &file ); while ( !stream.eof() ) { lines.append( stream.readLine() ); } file.close(); } setDict( name ); loadValues(); } QString DingWidget::loadedDict() const { return dictName; } void DingWidget::setCaseSensitive( bool caseS ) { isCaseSensitive = caseS; } void DingWidget::setDict( QString dict ) { methodname = dict; } void DingWidget::setQueryWord( QString qword ) { queryword = qword; } void DingWidget::loadValues() { if ( !methodname ) return; Config cfg( "odict" ); cfg.setGroup( "Method_" + methodname ); trenner = cfg.readEntry( "Seperator" ); lang1_name = cfg.readEntry( "Lang1" ); lang2_name = cfg.readEntry( "Lang2" ); } BroswerContent DingWidget::setText( QString word ) { queryword = word; return parseInfo(); } BroswerContent DingWidget::parseInfo() { QStringList search = lines.grep( queryword , isCaseSensitive ); QString current; QString left; QString right; QRegExp reg_div( trenner ); QRegExp reg_word( queryword ); reg_word.setCaseSensitive( isCaseSensitive ); QStringList toplist, bottomlist; QString substitute = "<strong>"+queryword+"</strong>"; 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) - trenner.length() ); if ( left.contains( queryword , isCaseSensitive ) ) { left.replace( queryword, substitute ); left = left + " --> " + right; toplist.append( left ); } else if( right.contains( queryword , isCaseSensitive ) ) { right.replace( queryword, substitute ); right = right + " --> " + left; bottomlist.append( right ); } } s_strings.top = toplist.join( "<br>" ); s_strings.bottom = bottomlist.join( "<br>" ); return s_strings; } diff --git a/noncore/apps/odict/odict.cpp b/noncore/apps/odict/odict.cpp index 9718c5c..d5c6d75 100644 --- a/noncore/apps/odict/odict.cpp +++ b/noncore/apps/odict/odict.cpp @@ -1,220 +1,215 @@ /*************************************************************************** application: : ODict begin : December 2002 copyright : ( C ) 2002, 2003 by Carsten Niehaus email : cniehaus@handhelds.org **************************************************************************/ /*************************************************************************** * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * * ( at your option ) any later version. * * * **************************************************************************/ #include "odict.h" #include "configdlg.h" #include "dingwidget.h" -#include <qlayout.h> -#include <qpopupmenu.h> #include <qmenubar.h> #include <qmessagebox.h> -#include <qhbox.h> #include <qvbox.h> #include <qlabel.h> #include <qpushbutton.h> #include <qlineedit.h> -#include <qmainwindow.h> -#include <qstring.h> #include <qaction.h> #include <qtextbrowser.h> #include <qcombobox.h> #include <qpe/resource.h> #include <qpe/config.h> ODict::ODict(QWidget* parent, const char* name, WFlags fl ) : QMainWindow(parent, name, fl ) { activated_name = QString::null; vbox = new QVBox( this ); setCaption( tr( "Opie-Dictionary" ) ); setupMenus(); QHBox *hbox = new QHBox( vbox ); QLabel* query_label = new QLabel( tr( "Query:" ) , hbox ); query_label->show(); query_le = new QLineEdit( hbox ); query_co = new QComboBox( hbox ); connect( query_co , SIGNAL( activated(const QString&) ), this, SLOT( slotMethodChanged(const QString&) ) ); ok_button = new QPushButton( tr( "&Ok" ), hbox ); connect( ok_button, SIGNAL( released() ), this, SLOT( slotStartQuery() ) ); top_name = new QLabel( vbox ); top_name->setAlignment( AlignHCenter ); browser_top = new QTextBrowser( vbox ); bottom_name = new QLabel( vbox ); bottom_name->setAlignment( AlignHCenter ); browser_bottom = new QTextBrowser( vbox ); ding = new DingWidget(); loadConfig(); setCentralWidget( vbox ); } void ODict::loadConfig() { /* * the name of the last used dictionary */ QString lastname; Config cfg ( "odict" ); cfg.setGroup( "generalsettings" ); casesens = cfg.readEntry( "casesens" ).toInt(); QString lastDict = cfg.readEntry( "lastdict" ); int i = 0, e = 0; QStringList groupListCfg = cfg.groupList().grep( "Method_" ); query_co->clear(); for ( QStringList::Iterator it = groupListCfg.begin() ; it != groupListCfg.end() ; ++it ) { QString name; cfg.setGroup( *it ); name = cfg.readEntry( "Name" ); query_co->insertItem( name ); /* * this check is to look up what dictionary has been used the * last time */ if ( lastDict == name ) { e = i; lastname = name; } i++; } /* * now set the two names of the dictionary and the correct QComboBox-Entry */ lookupLanguageNames( lastname ); ding->loadDict( lastname ); ding->loadValues(); query_co->setCurrentItem( e ); top_name->setText( top_name_content ); bottom_name->setText( bottom_name_content ); } void ODict::lookupLanguageNames( QString dictname ) { Config cfg ( "odict" ); cfg.setGroup( "Method_"+dictname ); top_name_content = cfg.readEntry( "Lang1" ); bottom_name_content = cfg.readEntry( "Lang2" ); } void ODict::saveConfig() { Config cfg ( "odict" ); cfg.setGroup( "generalsettings" ); cfg.writeEntry( "casesens" , casesens ); cfg.writeEntry( "lastdict" , query_co->currentText() ); } void ODict::slotStartQuery() { QString querystring = query_le->text(); if ( !querystring.isEmpty() ) { /* * if the user has not yet defined a dictionary */ if ( !query_co->currentText() ) { switch ( QMessageBox::information( this, tr( "OPIE-Dictionary" ), tr( "No dictionary defined" ), tr( "&Define one" ), tr( "&Cancel" ), 0, // Define a dict 1 ) ) // Cancel choosen { case 0: slotSettings(); break; case 1: // stop here return; } } /* * ok, the user has defined a dict */ ding->setCaseSensitive( casesens ); BroswerContent test = ding->setText( querystring ); browser_top->setText( test.top ); browser_bottom->setText( test.bottom ); } } void ODict::slotSettings() { ConfigDlg dlg( this, "Config" , true); if ( dlg.exec() == QDialog::Accepted ) saveConfig(); } void ODict::slotSetParameter( int count ) { if ( count == 0 ) { if ( casesens ) casesens = false; else casesens = true; } saveConfig(); } void ODict::slotMethodChanged( const QString& methodnumber ) { activated_name = methodnumber; if ( activated_name != ding->loadedDict() ) { ding->loadDict(activated_name); lookupLanguageNames( activated_name ); top_name->setText( top_name_content ); bottom_name->setText( bottom_name_content ); } } void ODict::setupMenus() { menu = new QMenuBar( this ); settings = new QPopupMenu( menu ); setting_a = new QAction(tr( "Configuration" ), Resource::loadPixmap( "new" ), QString::null, 0, this, 0 ); connect( setting_a, SIGNAL( activated() ), this, SLOT( slotSettings() ) ); setting_a->addTo( settings ); setting_b = new QAction(tr( "Searchmethods" ), Resource::loadPixmap( "edit" ), QString::null, 0, this, 0 ); parameter = new QPopupMenu( menu ); connect( parameter, SIGNAL( activated( int ) ), this, SLOT( slotSetParameter( int ) ) ); parameter->insertItem( tr( "C&ase sensitive" ), 0 ,0 ); parameter->insertSeparator(); menu->insertItem( tr( "Settings" ) , settings ); menu->insertItem( tr( "Parameter" ) , parameter ); } diff --git a/noncore/apps/odict/searchmethoddlg.cpp b/noncore/apps/odict/searchmethoddlg.cpp index abe2966..f71cfd8 100644 --- a/noncore/apps/odict/searchmethoddlg.cpp +++ b/noncore/apps/odict/searchmethoddlg.cpp @@ -1,112 +1,109 @@ /*************************************************************************** application: : ODict begin : December 2002 copyright : ( C ) 2002, 2003 by Carsten Niehaus email : cniehaus@handhelds.org **************************************************************************/ /*************************************************************************** * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * * ( at your option ) any later version. * * * **************************************************************************/ #include "searchmethoddlg.h" #include <opie2/ofileselector.h> #include <opie2/ofiledialog.h> #include <qpe/config.h> #include <qpe/qpeapplication.h> -#include <qdialog.h> #include <qlayout.h> -#include <qhbox.h> #include <qvbox.h> #include <qlabel.h> #include <qpushbutton.h> -#include <qstring.h> #include <qlineedit.h> #include <qdir.h> using Opie::OFileDialog; using Opie::OFileSelector; SearchMethodDlg::SearchMethodDlg(QWidget *parent, const char *name, bool modal, QString itemname) : QDialog(parent, name, modal) { QVBoxLayout *vbox_layout = new QVBoxLayout( this, 4,4,"vbox_layout" ); QVBox *vbox = new QVBox( this ); QHBox *hbox1 = new QHBox( vbox ); QLabel *nameLabel = new QLabel( tr( "Name:" ) , hbox1 ); nameLE = new QLineEdit( hbox1 ); QLabel *dictLabel = new QLabel( tr( "Dictionary file" ), vbox ); QHBox *hbox2 = new QHBox( vbox ); dictFileLE = new QLineEdit( hbox2 ); QPushButton *browseButton = new QPushButton( tr( "Browse" ) , hbox2 ); connect( browseButton, SIGNAL( clicked() ), this, SLOT( slotBrowse() ) ); QWidget *dummywidget = new QWidget( vbox ); QLabel *lag1 = new QLabel( tr( "Language 1" ),dummywidget); QLabel *devider = new QLabel( tr( "Decollator" ),dummywidget); QLabel *lag2 = new QLabel( tr( "Language 2" ),dummywidget); lang1 = new QLineEdit( dummywidget ); lang2 = new QLineEdit( dummywidget ); trenner = new QLineEdit( dummywidget ); trenner->setText( "::" ); QGridLayout *grid = new QGridLayout( dummywidget, 2,3 ); grid->addWidget( lag1, 0,0 ); grid->addWidget( devider, 0,1 ); grid->addWidget( lag2, 0,2 ); grid->addWidget( lang1, 1,0 ); grid->addWidget( trenner, 1,1 ); grid->addWidget( lang2, 1,2 ); vbox_layout->addWidget( vbox ); QPEApplication::execDialog ( this ); if( !itemname ) setCaption( tr( "New Searchmethod" ) ); else { setCaption( tr( "Change Searchmethod" ) ); itemName = itemname; setupEntries(itemname); } } void SearchMethodDlg::setupEntries( QString item ) { Config cfg( "odict" ); cfg.setGroup( "Method_"+itemName ); trenner->setText( cfg.readEntry( "Seperator" ) ); lang1->setText( cfg.readEntry( "Lang1" ) ); lang2->setText( cfg.readEntry( "Lang2" ) ); nameLE->setText( itemName ); dictFileLE->setText( cfg.readEntry( "file" ) ); } void SearchMethodDlg::slotBrowse() { itemName=OFileDialog::getOpenFileName( OFileSelector::EXTENDED,QDir::homeDirPath()); dictFileLE->setText( itemName ); } void SearchMethodDlg::saveItem() { QString name = nameLE->text(); Config cfg( "odict" ); cfg.setGroup( "Method_"+name ); cfg.writeEntry( "Name", name ); cfg.writeEntry( "Seperator", trenner->text() ); cfg.writeEntry( "Lang1", lang1->text() ); cfg.writeEntry( "Lang2", lang2->text() ); cfg.writeEntry( "file", dictFileLE->text() ); } |