summaryrefslogtreecommitdiff
authormickeyl <mickeyl>2004-04-23 13:44:25 (UTC)
committer mickeyl <mickeyl>2004-04-23 13:44:25 (UTC)
commit8e32516bbda3fda10314f2afe4ee00eb9a49c013 (patch) (unidiff)
tree598226dff8f623159b7bec675ae95c463bb711a5
parent25f3f2fe15578fd4deb04a951e3e23927977e032 (diff)
downloadopie-8e32516bbda3fda10314f2afe4ee00eb9a49c013.zip
opie-8e32516bbda3fda10314f2afe4ee00eb9a49c013.tar.gz
opie-8e32516bbda3fda10314f2afe4ee00eb9a49c013.tar.bz2
gcc3.4 fixlet
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/checkbook/listedit.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/noncore/apps/checkbook/listedit.cpp b/noncore/apps/checkbook/listedit.cpp
index 5026c9d..2612488 100644
--- a/noncore/apps/checkbook/listedit.cpp
+++ b/noncore/apps/checkbook/listedit.cpp
@@ -131,97 +131,97 @@ void ListEdit::slotAdd()
131void ListEdit::slotDel() 131void ListEdit::slotDel()
132{ 132{
133 if( !_currentItem ) return; 133 if( !_currentItem ) return;
134 delete _currentItem; 134 delete _currentItem;
135 _currentItem=NULL; 135 _currentItem=NULL;
136 _typeEdit->setText(""); 136 _typeEdit->setText("");
137 _stack->raiseWidget(_typeEdit); 137 _stack->raiseWidget(_typeEdit);
138} 138}
139 139
140 140
141// --- fixTypes ---------------------------------------------------------------- 141// --- fixTypes ----------------------------------------------------------------
142// Makes sure all entries have a unique name and empty entries are replaced 142// Makes sure all entries have a unique name and empty entries are replaced
143// by a generic string. The first version performs the operation on a particular 143// by a generic string. The first version performs the operation on a particular
144// column, whereas the 2nd does it for all unique columns. 144// column, whereas the 2nd does it for all unique columns.
145class ColMap { 145class ColMap {
146 public: 146 public:
147 ColMap(QString sValue, QListViewItem *pEntry) { 147 ColMap(QString sValue, QListViewItem *pEntry) {
148 _sValue=sValue; 148 _sValue=sValue;
149 _pEntry=pEntry; 149 _pEntry=pEntry;
150 } 150 }
151 QString &getValue() { return(_sValue); } 151 QString &getValue() { return(_sValue); }
152 QListViewItem *getItem() { return(_pEntry); } 152 QListViewItem *getItem() { return(_pEntry); }
153 153
154 protected: 154 protected:
155 QString _sValue; 155 QString _sValue;
156 QListViewItem *_pEntry; 156 QListViewItem *_pEntry;
157}; 157};
158 158
159class ColList : public QList<QString> 159class ColList : public QList<QString>
160{ 160{
161 public: 161 public:
162 ColList() : QList<QString>() { } 162 ColList() : QList<QString>() { }
163 163
164 protected: 164 protected:
165 int compareItems(QCollection::Item, QCollection::Item); 165 int compareItems(QCollection::Item, QCollection::Item);
166}; 166};
167 167
168int ColList::compareItems(QCollection::Item i1, QCollection::Item i2) { 168int ColList::compareItems(QCollection::Item i1, QCollection::Item i2) {
169 return( ((QString *)i1)->compare(*(QString *)i2) ); 169 return( ((QString *)i1)->compare(*(QString *)i2) );
170} 170}
171 171
172void ListEdit::fixTypes(int iColumn) 172void ListEdit::fixTypes(int iColumn)
173{ 173{
174 // get column def 174 // get column def
175 ColumnDef *pDef=this->at(iColumn); 175 ColumnDef *pDef=this->at(iColumn);
176 176
177 // create map of entries 177 // create map of entries
178 if( !_typeTable->childCount() ) return; 178 if( !_typeTable->childCount() ) return;
179 ColMap **colMap=new (ColMap *)[_typeTable->childCount()]; 179 ColMap **colMap=new ColMap *[_typeTable->childCount()];
180 QListViewItem *cur=_typeTable->firstChild(); 180 QListViewItem *cur=_typeTable->firstChild();
181 ColList lst; 181 ColList lst;
182 for(int i=0; i<_typeTable->childCount(); i++) { 182 for(int i=0; i<_typeTable->childCount(); i++) {
183 colMap[i]=new ColMap(cur->text(iColumn), cur); 183 colMap[i]=new ColMap(cur->text(iColumn), cur);
184 lst.append( &(colMap[i]->getValue()) ); 184 lst.append( &(colMap[i]->getValue()) );
185 cur=cur->nextSibling(); 185 cur=cur->nextSibling();
186 } 186 }
187 187
188 // fix empty entries 188 // fix empty entries
189 int i=0; 189 int i=0;
190 for(QString *ptr=lst.first(); ptr; ptr=lst.next()) { 190 for(QString *ptr=lst.first(); ptr; ptr=lst.next()) {
191 *ptr=ptr->stripWhiteSpace(); 191 *ptr=ptr->stripWhiteSpace();
192 if( ptr->isEmpty() ) { 192 if( ptr->isEmpty() ) {
193 i++; 193 i++;
194 if( i==1 ) *ptr=pDef->getNewValue(); 194 if( i==1 ) *ptr=pDef->getNewValue();
195 else ptr->sprintf("%s %d", (const char *)pDef->getNewValue(), i); 195 else ptr->sprintf("%s %d", (const char *)pDef->getNewValue(), i);
196 } 196 }
197 } 197 }
198 198
199 // fix dups 199 // fix dups
200 lst.sort(); 200 lst.sort();
201 QString repl; 201 QString repl;
202 for(uint iCur=0; iCur<lst.count()-1; iCur++) { 202 for(uint iCur=0; iCur<lst.count()-1; iCur++) {
203 QString *current=lst.at(iCur); 203 QString *current=lst.at(iCur);
204 for(uint iNext=iCur+1; iNext<lst.count(); iNext++ ) { 204 for(uint iNext=iCur+1; iNext<lst.count(); iNext++ ) {
205 if( *current!=*lst.at(iNext) ) continue; 205 if( *current!=*lst.at(iNext) ) continue;
206 for(int i=2; ; i++) { 206 for(int i=2; ; i++) {
207 repl.sprintf("%s %d", (const char *)*current, i); 207 repl.sprintf("%s %d", (const char *)*current, i);
208 bool bDup=false; 208 bool bDup=false;
209 uint iChk=iNext+1; 209 uint iChk=iNext+1;
210 while( iChk<lst.count() ) { 210 while( iChk<lst.count() ) {
211 QString *chk=lst.at(iChk); 211 QString *chk=lst.at(iChk);
212 if( !chk->startsWith(*current) ) break; 212 if( !chk->startsWith(*current) ) break;
213 if( *chk==repl ) { 213 if( *chk==repl ) {
214 bDup=true; 214 bDup=true;
215 break; 215 break;
216 } 216 }
217 iChk++; 217 iChk++;
218 } 218 }
219 if( !bDup ) { 219 if( !bDup ) {
220 *lst.at(iNext)=repl; 220 *lst.at(iNext)=repl;
221 break; 221 break;
222 } 222 }
223 } 223 }
224 } 224 }
225 } 225 }
226 lst.sort(); 226 lst.sort();
227 227