-rw-r--r-- | noncore/apps/confedit/listviewitemconffile.cpp | 9 | ||||
-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 | 24 |
4 files changed, 44 insertions, 13 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 @@ -93,6 +93,13 @@ void ListViewItemConfFile::save() 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 @@ -11,4 +11,5 @@ #include "listviewitemconfigentry.h" #include "listviewitemconffile.h" +#include <qtextstream.h> ListViewItemConfigEntry::ListViewItemConfigEntry(ListViewItemConfFile *parent, QString group, QString key) @@ -105,3 +106,23 @@ void ListViewItemConfigEntry::changed() displayText(); _fileItem->changed(); +} + +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 @@ -17,4 +17,6 @@ #include "listviewitemconf.h" +class QTextStream; + class ListViewItemConfigEntry : public ListViewItemConf { public: @@ -33,4 +35,5 @@ public: virtual void displayText(); virtual void changed(); + void save(QTextStream*); private: QString _file; 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 @@ -56,18 +56,18 @@ MainWindow::MainWindow( QWidget *parent, const char *name, WFlags f ) : 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* ) ), - 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&) ) ); + connect( popupTimer, SIGNAL(timeout()), + this, SLOT(showPopup()) ); + 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(); } |