author | tille <tille> | 2002-06-29 22:44:44 (UTC) |
---|---|---|
committer | tille <tille> | 2002-06-29 22:44:44 (UTC) |
commit | eb02223de534d315bfdcb0d521719c2d2e9a7235 (patch) (side-by-side diff) | |
tree | 9b71cc4f3819ee2f9ea6ccfa760d7d0133fa2dae /noncore | |
parent | 472a178f71b7d16616b82ddf6b95123179cfffac (diff) | |
download | opie-eb02223de534d315bfdcb0d521719c2d2e9a7235.zip opie-eb02223de534d315bfdcb0d521719c2d2e9a7235.tar.gz opie-eb02223de534d315bfdcb0d521719c2d2e9a7235.tar.bz2 |
saving
-rw-r--r-- | noncore/apps/confedit/listviewitemconffile.cpp | 7 | ||||
-rw-r--r-- | noncore/apps/confedit/listviewitemconfigentry.cpp | 21 | ||||
-rw-r--r-- | noncore/apps/confedit/listviewitemconfigentry.h | 3 | ||||
-rw-r--r-- | noncore/apps/confedit/mainwindow.cpp | 4 |
4 files changed, 33 insertions, 2 deletions
diff --git a/noncore/apps/confedit/listviewitemconffile.cpp b/noncore/apps/confedit/listviewitemconffile.cpp index a8fd770..858726d 100644 --- a/noncore/apps/confedit/listviewitemconffile.cpp +++ b/noncore/apps/confedit/listviewitemconffile.cpp @@ -85,15 +85,22 @@ void ListViewItemConfFile::save() QFile back(backup); if (!conf.open(IO_ReadOnly)) return; if (!back.open(IO_WriteOnly)) return; #define SIZE 124 char buf[SIZE]; while (int c = conf.readBlock(buf, SIZE) ) back.writeBlock(buf,c); conf.close(); back.close(); + if (!conf.open(IO_WriteOnly)) return; + QTextStream *t = new QTextStream( &conf ); + for (QListViewItem *it = firstChild(); it!=0;it = it->nextSibling()) + { + ((ListViewItemConfigEntry*)it)->save(t); + } + conf.close(); qDebug("no saveing yet..."); unchanged(); } diff --git a/noncore/apps/confedit/listviewitemconfigentry.cpp b/noncore/apps/confedit/listviewitemconfigentry.cpp index 16be46e..77ce17d 100644 --- a/noncore/apps/confedit/listviewitemconfigentry.cpp +++ b/noncore/apps/confedit/listviewitemconfigentry.cpp @@ -1,24 +1,25 @@ /*************************************************************************** * * * 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. * * * ***************************************************************************/ // (c) 2002 Patrick S. Vogtp <tille@handhelds.org> #include "listviewitemconfigentry.h" #include "listviewitemconffile.h" +#include <qtextstream.h> ListViewItemConfigEntry::ListViewItemConfigEntry(ListViewItemConfFile *parent, QString group, QString key) : ListViewItemConf(parent) { _fileItem = parent; _file = parent->fileName(); _group = group; setKey(key); _fileItem->unchanged(); } ListViewItemConfigEntry::~ListViewItemConfigEntry() @@ -96,12 +97,32 @@ void ListViewItemConfigEntry::displayText() s += _key+" = "+_value; _type = Key; } setText(0,s); } void ListViewItemConfigEntry::changed() { _changed=true; displayText(); _fileItem->changed(); }
\ No newline at end of file + +void ListViewItemConfigEntry::save(QTextStream *t) +{ + QString s; + if (isGroup()) + { + s += "["+_group+"]"; + _type = Group; + }else{ + s += _key+" = "+_value; + _type = Key; + } + s += "\n"; + (*t) << s; + _changed = false; + for (QListViewItem *it = firstChild(); it!=0;it = it->nextSibling()) + { + ((ListViewItemConfigEntry*)it)->save(t); + } +}
\ No newline at end of file diff --git a/noncore/apps/confedit/listviewitemconfigentry.h b/noncore/apps/confedit/listviewitemconfigentry.h index d2b331f..1ff0491 100644 --- a/noncore/apps/confedit/listviewitemconfigentry.h +++ b/noncore/apps/confedit/listviewitemconfigentry.h @@ -7,37 +7,40 @@ * * ***************************************************************************/ // (c) 2002 Patrick S. Vogtp <tille@handhelds.org> #ifndef LISTVIEWITEMCONFIGENTRY_H #define LISTVIEWITEMCONFIGENTRY_H #include <qwidget.h> #include <qlistview.h> #include "listviewitemconffile.h" #include "listviewitemconf.h" +class QTextStream; + class ListViewItemConfigEntry : public ListViewItemConf { public: ListViewItemConfigEntry(ListViewItemConfFile *parent, QString group, QString key=""); ~ListViewItemConfigEntry(); bool isGroup(); bool isKey(); QString getFile(); void setGroup(QString); QString getGroup(); void setKey(QString); QString getKey(); QString getValue(); void keyChanged(QString); void valueChanged(QString); virtual void displayText(); virtual void changed(); + void save(QTextStream*); private: QString _file; QString _group; QString _key; QString _value; ListViewItemConfFile *_fileItem; }; #endif diff --git a/noncore/apps/confedit/mainwindow.cpp b/noncore/apps/confedit/mainwindow.cpp index 30dfdf7..47d9518 100644 --- a/noncore/apps/confedit/mainwindow.cpp +++ b/noncore/apps/confedit/mainwindow.cpp @@ -46,30 +46,30 @@ MainWindow::MainWindow( QWidget *parent, const char *name, WFlags f ) : QGridLayout *mainLayout = new QGridLayout( mainWidget ); mainLayout->setSpacing( 3 ); mainLayout->setMargin( 3 ); settingList = new ListViewConfDir( "/root/Settings/", this, "settingslist"); mainLayout->addWidget( settingList, 0, 0 ); editor = new EditWidget(this); mainLayout->addWidget( editor, 1, 0 ); - connect (settingList, SIGNAL( currentChanged(QListViewItem*) ), + connect(settingList, SIGNAL( pressed(QListViewItem*) ), this, SLOT(setCurrent(QListViewItem*))); connect( popupTimer, SIGNAL(timeout()), this, SLOT(showPopup()) ); - connect( this, SIGNAL( clicked( QListViewItem* ) ), + connect( settingList, SIGNAL( clicked( QListViewItem* ) ), this, SLOT( stopTimer( QListViewItem* ) ) ); connect( editor->LineEditGroup, SIGNAL( textChanged(const QString&) ), SLOT( groupChanged(const QString&) ) ); connect( editor->LineEditKey, SIGNAL( textChanged(const QString&) ), SLOT( keyChanged(const QString&) ) ); connect( editor->LineEditValue, SIGNAL( textChanged(const QString&) ), SLOT( valueChanged(const QString&) ) ); makeMenu(); } void MainWindow::makeMenu() |