-rw-r--r-- | noncore/apps/odict/configdlg.cpp | 23 | ||||
-rw-r--r-- | noncore/apps/odict/searchmethoddlg.cpp | 75 | ||||
-rw-r--r-- | noncore/apps/odict/searchmethoddlg.h | 13 |
3 files changed, 103 insertions, 8 deletions
diff --git a/noncore/apps/odict/configdlg.cpp b/noncore/apps/odict/configdlg.cpp index 75dc735..2056457 100644 --- a/noncore/apps/odict/configdlg.cpp +++ b/noncore/apps/odict/configdlg.cpp @@ -1,92 +1,105 @@ /*************************************************************************** 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 <qdialog.h> #include <qpe/config.h> #include <qlayout.h> #include <qhbox.h> #include <qvbox.h> #include <qlabel.h> #include <qlistview.h> #include <qpushbutton.h> +#include <qlineedit.h> #include <opie/otabwidget.h> ConfigDlg::ConfigDlg(QWidget *parent, const char *name, bool modal) : QDialog(parent, name, modal) { setCaption( tr( "Options" ) ); QVBoxLayout *vbox_layout = new QVBoxLayout( this ); tab = new OTabWidget( this, "OTabWidget_tab", OTabWidget::Global, OTabWidget::Bottom ); vbox_layout->addWidget( tab ); /*general settings*/ settings_tab = new QWidget( tab , "settings_tab" ); /*searchmethods*/ search_tab = new QWidget( tab , "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" ) ); - QListViewItem *item = new QListViewItem( list ); - item->setText( 0, "foofooofoofoof" ); QVBox *vbox = new QVBox( hbox ); new_button = new QPushButton( "New" , vbox ); change_button = new QPushButton( "Change" , vbox ); delete_button = new QPushButton( "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 ); /*add the tabs and maximize*/ tab->addTab( settings_tab, "pass", tr( "General Settings" ) ); tab->addTab( search_tab, "zoom", tr( "Searchmethods" ) ); showMaximized(); } void ConfigDlg::writeEntries() { qDebug( "richtig beendet" ); } void ConfigDlg::slotNewMethod() { SearchMethodDlg dlg( this, "SearchMethodDlg", true ); if ( dlg.exec() == QDialog::Accepted ) { - //dlg.saveItem(); + dlg.saveItem(); QListViewItem *item = new QListViewItem( list ); - item->setText( 0 , dlg.itemName ); + item->setText( 0 , dlg.nameLE->text() ); } else qDebug( "SearchMethodDlg abgebrochen" ); } -void ConfigDlg::slotChangeMethod(){} +void ConfigDlg::slotChangeMethod() +{ + if ( list->selectedItem() ) + { + SearchMethodDlg dlg( this, "SearchMethodDlg", true, list->selectedItem()->text( 0 ) ); + if ( dlg.exec() == QDialog::Accepted ) + { + dlg.saveItem(); + QListViewItem *item = new QListViewItem( list ); + item->setText( 0 , dlg.nameLE->text() ); + } + else qDebug( "SearchMethodDlg abgebrochen" ); + } + else qDebug( "kein item angewählt" ); +} void ConfigDlg::slotDeleteMethod() { if ( list->selectedItem() ) list->takeItem( list->selectedItem() ); else qDebug("no item selected"); } diff --git a/noncore/apps/odict/searchmethoddlg.cpp b/noncore/apps/odict/searchmethoddlg.cpp index cd8a58a..0572f11 100644 --- a/noncore/apps/odict/searchmethoddlg.cpp +++ b/noncore/apps/odict/searchmethoddlg.cpp @@ -1,36 +1,107 @@ /*************************************************************************** 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 <qdialog.h> #include <qpe/config.h> #include <qlayout.h> #include <qhbox.h> #include <qvbox.h> #include <qlabel.h> #include <qpushbutton.h> #include <qstring.h> +#include <qlineedit.h> -SearchMethodDlg::SearchMethodDlg(QWidget *parent, const char *name, bool modal) : QDialog(parent, name, modal) +#include <opie/ofileselector.h> +#include <opie/ofiledialog.h> + +SearchMethodDlg::SearchMethodDlg(QWidget *parent, const char *name, bool modal, QString itemname) : QDialog(parent, name, modal) { + if( !itemname ) setCaption( tr( "New Searchmethod" ) ); + else + { + setCaption( tr( "Change Searchmethod" ) ); + itemName = itemname; + setupEntries(itemname); + } + + 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 ); - itemName = "foo"; showMaximized(); } +void SearchMethodDlg::setupEntries( QString item ) +{ + Config cfg( "odict" ); + cfg.setGroup( itemName ); + trenner->setText( "foooof" ); +//X trenner->setText( cfg.readEntry( "Seperator" ) ); +//X lang1->setText( cfg.readEntry( "Lang1" ) ); +//X lang2->setText( cfg.readEntry( "Lang2" ) ); +//X nameLE->setText( itemName ); +//X dictFileLE->setText( cfg.readEntry( "file" ) ); +} + +void SearchMethodDlg::slotBrowse() +{ + itemName=OFileDialog::getOpenFileName( OFileSelector::EXTENDED,"/home/carsten" ); + dictFileLE->setText( itemName ); +} + +void SearchMethodDlg::saveItem() +{ + QString name = nameLE->text(); + Config cfg( "odict" ); + cfg.setGroup( 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() ); +} diff --git a/noncore/apps/odict/searchmethoddlg.h b/noncore/apps/odict/searchmethoddlg.h index e277cfb..d98842f 100644 --- a/noncore/apps/odict/searchmethoddlg.h +++ b/noncore/apps/odict/searchmethoddlg.h @@ -1,29 +1,40 @@ /*************************************************************************** * * * 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. * * * **************************************************************************/ class QWidget; +class QLineEdit; class OTabWidget; class QListView; class QPushButton; class QLabel; class QString; #include <qdialog.h> class SearchMethodDlg : public QDialog { Q_OBJECT public: - SearchMethodDlg(QWidget *parent, const char *name, bool modal=FALSE ); + SearchMethodDlg(QWidget *parent, const char *name, bool modal=FALSE, QString itemname=0 ); QString itemName; + QLineEdit *nameLE; + QLineEdit *lang1, *lang2, *trenner; + void saveItem(); + + private: + QLineEdit *dictFileLE; + void setupEntries( QString ); + + private slots: + void slotBrowse(); }; |