summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--noncore/apps/odict/configdlg.cpp23
-rw-r--r--noncore/apps/odict/searchmethoddlg.cpp75
-rw-r--r--noncore/apps/odict/searchmethoddlg.h13
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
@@ -5,88 +5,101 @@
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
@@ -4,33 +4,104 @@
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();
};