Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

listviewitemconfigentry.cpp

Go to the documentation of this file.
00001 /***************************************************************************
00002  *                                                                         *
00003  *   This program is free software; you can redistribute it and/or modify  *
00004  *   it under the terms of the GNU General Public License as published by  *
00005  *   the Free Software Foundation; either version 2 of the License, or     *
00006  *   (at your option) any later version.                                   *
00007  *                                                                         *
00008  ***************************************************************************/
00009   // (c) 2002 Patrick S. Vogtp <tille@handhelds.org>
00010 
00011 #include "listviewitemconfigentry.h"
00012 #include <qtextstream.h>
00013 
00014 ListViewItemConfigEntry::ListViewItemConfigEntry(ListViewItemConfFile *parent, QString group, QString key)
00015    : ListViewItemConf(parent)
00016 {
00017         _fileItem = parent;
00018         _file = parent->fileName();
00019         _group = group;
00020         setKey(key);
00021         _groupOrig = group;
00022   _keyOrig = _key;
00023   _valueOrig = _value;
00024 }
00025 
00026 ListViewItemConfigEntry::~ListViewItemConfigEntry()
00027 {
00028 }
00029 
00030 bool ListViewItemConfigEntry::isGroup()
00031 {
00032         return _key.isEmpty();
00033 }
00034 
00035 bool ListViewItemConfigEntry::isKey()
00036 {
00037         return !_key.isEmpty();
00038 }
00039 
00040 QString ListViewItemConfigEntry::getFile()
00041 {
00042         return _file;
00043 }
00044 
00045 void ListViewItemConfigEntry::setGroup(QString g)
00046 {
00047         if (g==_group) return;
00048         _group = g;
00049   changed();
00050 }
00051 
00052 QString ListViewItemConfigEntry::getGroup()
00053 {
00054         return _group;
00055 }
00056 
00057 void ListViewItemConfigEntry::setKey(QString key)
00058 {
00059         int pos = key.find("=");
00060   _key = key.left(pos).stripWhiteSpace();
00061   _value = key.right(key.length() - pos - 1).stripWhiteSpace();
00062         displayText();
00063 }
00064 
00065 QString ListViewItemConfigEntry::getKey()
00066 {
00067         return _key;
00068 }
00069 
00070 QString ListViewItemConfigEntry::getValue()
00071 {
00072         return _value;
00073 }
00074 
00075 void ListViewItemConfigEntry::keyChanged(QString k)
00076 {
00077         if (k==_key) return;
00078         _key = k;
00079         changed();
00080 }
00081 
00082 void ListViewItemConfigEntry::valueChanged(QString v)
00083 {
00084         if (v==_value) return;
00085         _value = v;
00086         changed();
00087 }
00088 
00089 void ListViewItemConfigEntry::displayText()
00090 {
00091         QString s;
00092         if (_changed) s="*";
00093   if (isGroup())
00094   {
00095           s += "["+_group+"]";
00096         _type = Group;
00097   }else{
00098           s += _key+" = "+_value;
00099    _type = Key;
00100   }
00101         setText(0,s);
00102 }
00103 
00104 void ListViewItemConfigEntry::changed()
00105 {
00106         _changed=true;
00107         displayText();
00108         _fileItem->changed();
00109 }
00110 
00111 
00112 void ListViewItemConfigEntry::remove()
00113 {
00114         delete this;
00115 }
00116 
00117 void ListViewItemConfigEntry::save(QTextStream *t)
00118 {
00119         QString s;
00120   if (isGroup())
00121   {
00122           s += "["+_group+"]";
00123         _type = Group;
00124   }else{
00125           s += _key+" = "+_value;
00126    _type = Key;
00127   }
00128   s += "\n";
00129         (*t) << s;
00130         _changed = false;
00131         for (QListViewItem *it = firstChild(); it!=0;it = it->nextSibling())
00132   {
00133         ((ListViewItemConfigEntry*)it)->save(t);
00134   }
00135 }
00136 
00137 void ListViewItemConfigEntry::revert()
00138 {
00139         _group = _groupOrig;
00140         _key = _keyOrig;
00141         _value = _valueOrig;
00142         _changed=false;
00143         displayText();
00144 }
00145 
00146 
00147 void ListViewItemConfigEntry::expand()
00148 {
00149 
00150 }

Generated on Sat Nov 5 16:16:48 2005 for OPIE by  doxygen 1.4.2