summaryrefslogtreecommitdiff
path: root/noncore/settings/tabmanager/tabmanager.cpp
Unidiff
Diffstat (limited to 'noncore/settings/tabmanager/tabmanager.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/settings/tabmanager/tabmanager.cpp247
1 files changed, 149 insertions, 98 deletions
diff --git a/noncore/settings/tabmanager/tabmanager.cpp b/noncore/settings/tabmanager/tabmanager.cpp
index 13aae81..5f0899c 100644
--- a/noncore/settings/tabmanager/tabmanager.cpp
+++ b/noncore/settings/tabmanager/tabmanager.cpp
@@ -1,21 +1,25 @@
1#include "tabmanager.h" 1#include "tabmanager.h"
2#include "app.h" 2#include "app.h"
3#include "wait.h"
3#include "tabapplnk.h" 4#include "tabapplnk.h"
4 5
5#include <qpe/applnk.h> 6#include <qpe/applnk.h>
6#include <qpe/qpeapplication.h>
7#include <qdir.h> 7#include <qdir.h>
8#include <qfile.h> 8#include <qfile.h>
9#include <qtextstream.h> 9#include <qtextstream.h>
10#include <qlistview.h> 10#include <qlistview.h>
11#include <qheader.h> 11#include <qheader.h>
12#include <qcombobox.h>
12#include <qlineedit.h> 13#include <qlineedit.h>
13#include <qlabel.h> 14#include <qlabel.h>
14#include <qmessagebox.h> 15#include <qmessagebox.h>
15#include <stdlib.h> 16#include <stdlib.h>
16#include <qpe/qcopenvelope_qws.h> 17#include <qpe/qcopenvelope_qws.h>
18#include <qpe/qpeapplication.h>
19#include <qpe/resource.h>
17 20
18#define HOME_APP_DIR QPEApplication::qpeDir()+"/apps" // <-- made this a little more flexible 21
22#define HOME_APP_DIR QPEApplication::qpeDir()+"/apps"
19#define HOME_APP_INSTALL_DIR "/usr/lib/ipkg/info" 23#define HOME_APP_INSTALL_DIR "/usr/lib/ipkg/info"
20#define NEW_FOLDER "EmptyTab" 24#define NEW_FOLDER "EmptyTab"
21#define NEW_APPLICATION "NewApp" 25#define NEW_APPLICATION "NewApp"
@@ -26,15 +30,13 @@
26 * Constructor. Sets up signals. Performs initial scan of applications 30 * Constructor. Sets up signals. Performs initial scan of applications
27 * and tabs 31 * and tabs
28 */ 32 */
29TabManager::TabManager( QWidget* parent, const char* name):TabManagerBase(parent, name), changed(false){ 33TabManager::TabManager( QWidget* parent, const char* name):TabManagerBase(parent, name), changed(false), application(NULL){
30 rescanFolder(HOME_APP_DIR); 34 rescanFolder(HOME_APP_DIR);
31 35
32 // Connect the signals and slots 36 // Connect the signals and slots
33 connect(tabList, SIGNAL(doubleClicked(QListViewItem *)), 37 connect(tabList, SIGNAL(doubleClicked(QListViewItem *)), this, SLOT(editItem(QListViewItem*)));
34 this, SLOT(editItem(QListViewItem*)));
35 (tabList->header())->hide(); 38 (tabList->header())->hide();
36 connect(tabList, SIGNAL(moveItem(QListViewItem *, QListViewItem *)), 39 connect(tabList, SIGNAL(moveItem(QListViewItem *, QListViewItem *)), this, SLOT(moveApplication(QListViewItem *, QListViewItem *)));
37 this, SLOT(moveApplication(QListViewItem *, QListViewItem *)));
38} 40}
39 41
40/** 42/**
@@ -43,10 +45,11 @@ TabManager::TabManager( QWidget* parent, const char* name):TabManagerBase(parent
43 */ 45 */
44TabManager::~TabManager(){ 46TabManager::~TabManager(){
45 if(changed){ 47 if(changed){
46 //QMessageBox::critical(this, tr("Message"), tr("Please restart Qtopia to see all new changes."),tr("Ok") ); 48 // Prompt.
47 //filename = fn; 49 //int answer = QMessageBox::warning(this, "Message", "Should your desktop be","Yes", "Cancel", 0, 1 );
50 //if (answer)
51 // return;
48 QCopEnvelope e("QPE/System", "linkChanged(QString)"); 52 QCopEnvelope e("QPE/System", "linkChanged(QString)");
49 //e << description << filename << mimetype;
50 QString link; //we'll just send an empty string 53 QString link; //we'll just send an empty string
51 e << link; 54 e << link;
52 } 55 }
@@ -61,7 +64,7 @@ TabManager::~TabManager(){
61 */ 64 */
62void TabManager::rescanFolder(QString directory, QListViewItem* parent){ 65void TabManager::rescanFolder(QString directory, QListViewItem* parent){
63 //qDebug(QString("rescanFolder: ") + directory.latin1()); 66 //qDebug(QString("rescanFolder: ") + directory.latin1());
64 67
65 QDir d; 68 QDir d;
66 d.setPath(directory); 69 d.setPath(directory);
67 // Show hidden files for .directories 70 // Show hidden files for .directories
@@ -76,30 +79,30 @@ void TabManager::rescanFolder(QString directory, QListViewItem* parent){
76 if(fi->isDir()){ 79 if(fi->isDir()){
77 if(fi->fileName() != ".." && fi->fileName() != ".") { 80 if(fi->fileName() != ".." && fi->fileName() != ".") {
78 QListViewItem* newItem; 81 QListViewItem* newItem;
79 if(!parent) 82 if(!parent)
80 newItem = new QListViewItem(tabList, fi->fileName()); 83 newItem = new QListViewItem(tabList, fi->fileName());
81 else 84 else
82 newItem = new QListViewItem(parent, fi->fileName()); 85 newItem = new QListViewItem(parent, fi->fileName());
83 itemList.insert(newItem, directory + "/" + fi->fileName() + "/.directory" ); 86 itemList.insert(newItem, directory + "/" + fi->fileName() + "/.directory" );
84 rescanFolder(directory + "/" + fi->fileName(), newItem); 87 rescanFolder(directory + "/" + fi->fileName(), newItem);
85 } 88 }
86 } 89 }
87 else{ 90 else{
88 // it is a file, if not a .directory add to parent. 91 // it is a file, if not a .directory add to parent.
89 92
90 // Change parents name and icon to reflect icon. 93 // Change parents name and icon to reflect icon.
91 if(fi->fileName() == ".directory"){ 94 if(fi->fileName() == ".directory"){
92 AppLnk app(directory + "/" + fi->fileName()); 95 AppLnk app(directory + "/" + fi->fileName());
93 if(parent){ 96 if(parent){
94 parent->setPixmap(0,app.pixmap()); 97 parent->setPixmap(0,app.pixmap());
95 parent->setText(0, app.name()); 98 parent->setText(0, app.name());
96 } 99 }
97 } 100 }
98 else{ 101 else{
99 // Add any desktop files found. 102 // Add any desktop files found.
100 QListViewItem* newItem; 103 QListViewItem* newItem;
101 if(directory != HOME_APP_DIR){ 104 if(directory != HOME_APP_DIR){
102 if(!parent) 105 if(!parent)
103 newItem = new QListViewItem(tabList, fi->fileName()); 106 newItem = new QListViewItem(tabList, fi->fileName());
104 else 107 else
105 newItem = new QListViewItem(parent, fi->fileName()); 108 newItem = new QListViewItem(parent, fi->fileName());
@@ -107,9 +110,9 @@ void TabManager::rescanFolder(QString directory, QListViewItem* parent){
107 AppLnk app(directory + "/" + fi->fileName()); 110 AppLnk app(directory + "/" + fi->fileName());
108 newItem->setPixmap(0,app.pixmap()); 111 newItem->setPixmap(0,app.pixmap());
109 newItem->setText(0, app.name()); 112 newItem->setText(0, app.name());
110 itemList.insert(newItem, directory + "/" + fi->fileName()); 113 itemList.insert(newItem, directory + "/" + fi->fileName());
111 } 114 }
112 } 115 }
113 } 116 }
114 } 117 }
115 ++it; // goto next list element 118 ++it; // goto next list element
@@ -126,11 +129,11 @@ void TabManager::newFolder(){
126 r.mkdir(QString(HOME_APP_DIR) + "/" + NEW_FOLDER); 129 r.mkdir(QString(HOME_APP_DIR) + "/" + NEW_FOLDER);
127 system((QString("echo [Desktop Entry] | cat >> ") + HOME_APP_DIR + "/" + NEW_FOLDER "/.directory").latin1()); 130 system((QString("echo [Desktop Entry] | cat >> ") + HOME_APP_DIR + "/" + NEW_FOLDER "/.directory").latin1());
128 system((QString("echo Name=" NEW_FOLDER " | cat >> ") + HOME_APP_DIR + "/" + NEW_FOLDER "/.directory").latin1()); 131 system((QString("echo Name=" NEW_FOLDER " | cat >> ") + HOME_APP_DIR + "/" + NEW_FOLDER "/.directory").latin1());
129 132
130 QString homeLocation = QString(HOME_APP_DIR) + "/" + NEW_FOLDER + "/.directory"; 133 QString homeLocation = QString(HOME_APP_DIR) + "/" + NEW_FOLDER + "/.directory";
131 QListViewItem *newItem = new QListViewItem(tabList, NEW_FOLDER); 134 QListViewItem *newItem = new QListViewItem(tabList, NEW_FOLDER);
132 itemList.insert(newItem, homeLocation ); 135 itemList.insert(newItem, homeLocation );
133 136
134 // We have changed something. 137 // We have changed something.
135 changed = true; 138 changed = true;
136} 139}
@@ -145,20 +148,20 @@ void TabManager::newApplication(){
145 QListViewItem *item = tabList->currentItem(); 148 QListViewItem *item = tabList->currentItem();
146 if(!item || item->parent()) 149 if(!item || item->parent())
147 return; 150 return;
148 151
149 QString parentDir = itemList[item].mid(0,itemList[item].length()-11); 152 QString parentDir = itemList[item].mid(0,itemList[item].length()-11);
150 QString homeLocation = parentDir + "/" NEW_APPLICATION APPLICATION_EXTENSION; 153 QString homeLocation = parentDir + "/" NEW_APPLICATION APPLICATION_EXTENSION;
151 system((QString("echo [Desktop Entry] | cat >> ") + homeLocation).latin1()); 154 system((QString("echo [Desktop Entry] | cat >> ") + homeLocation).latin1());
152 system((QString("echo Name=" NEW_APPLICATION " | cat >> ") + homeLocation).latin1()); 155 system((QString("echo Name=" NEW_APPLICATION " | cat >> ") + homeLocation).latin1());
153 int slash = parentDir.findRev('/', -1); 156 int slash = parentDir.findRev('/', -1);
154 QString folderName = parentDir.mid(slash+1, parentDir.length()); 157 QString folderName = parentDir.mid(slash+1, parentDir.length());
155 158
156 system((QString("echo Type=") + folderName + " | cat >> " + homeLocation).latin1()); 159 system((QString("echo Type=") + folderName + " | cat >> " + homeLocation).latin1());
157 160
158 // Insert into the tree 161 // Insert into the tree
159 QListViewItem *newItem = new QListViewItem(item, NEW_APPLICATION); 162 QListViewItem *newItem = new QListViewItem(item, NEW_APPLICATION);
160 itemList.insert(newItem, homeLocation ); 163 itemList.insert(newItem, homeLocation );
161 164
162 // We have changed something. 165 // We have changed something.
163 changed = true; 166 changed = true;
164} 167}
@@ -169,30 +172,28 @@ void TabManager::newApplication(){
169 * Prompt user 172 * Prompt user
170 * Delete physical file (Dir, remove .dir, then dir. File, remove file) 173 * Delete physical file (Dir, remove .dir, then dir. File, remove file)
171 * Remove from installer if need too. 174 * Remove from installer if need too.
172 */ 175 */
173void TabManager::removeItem(){ 176void TabManager::removeItem(){
174 // Make sure we can delete 177 // Make sure we can delete
175 QListViewItem *item = tabList->currentItem(); 178 QListViewItem *item = tabList->currentItem();
176 if(!item) 179 if(!item)
177 return; 180 return;
178 if(item->childCount() > 0){ 181 if(item->childCount() > 0){
179 QMessageBox::critical(this, tr("Message"), tr("Can't remove with applications\nstill in the group."), 182 QMessageBox::critical(this, tr("Message"), tr("Can't remove with applications\nstill in the group."), tr("Ok") );
180 tr("Ok") ); 183 return;
181 return;
182 } 184 }
183 185
184 // Prompt. 186 // Prompt.
185 int answer = QMessageBox::warning(this, tr("Message"), tr("Are you sure you want to delete?"), 187 int answer = QMessageBox::warning(this, tr("Message"), tr("Are you sure you want to delete?"), tr("Yes"), tr("Cancel"), 0, 1 );
186 tr("Yes"), tr("Cancel"), 0, 1 );
187 if (answer) 188 if (answer)
188 return; 189 return;
189 190
190 bool removeSuccessfull = true; 191 bool removeSuccessfull = true;
191 QString location = itemList[item]; 192 QString location = itemList[item];
192 // Remove file (.directory in a Directory case) 193 // Remove file (.directory in a Directory case)
193 if(!QFile::remove(location)) 194 if(!QFile::remove(location))
194 removeSuccessfull = false; 195 removeSuccessfull = false;
195 196
196 // Remove directory 197 // Remove directory
197 if(item->parent() == NULL){ 198 if(item->parent() == NULL){
198 // Remove .directory file string 199 // Remove .directory file string
@@ -202,26 +203,24 @@ void TabManager::removeItem(){
202 removeSuccessfull = false; 203 removeSuccessfull = false;
203 else 204 else
204 removeSuccessfull = true; 205 removeSuccessfull = true;
205
206 } 206 }
207 207
208 // If removing failed. 208 // If removing failed.
209 if(!removeSuccessfull){ 209 if(!removeSuccessfull){
210 qDebug((QString("removeItem: ") + location).latin1()); 210 qDebug((QString("removeItem: ") + location).latin1());
211 QMessageBox::critical(this, tr("Message"), tr("Can't remove."), 211 QMessageBox::critical(this, tr("Message"), tr("Can't remove."), tr("Ok") );
212 tr("Ok") );
213 return; 212 return;
214 } 213 }
215 214
216 // Remove from the installer so it wont fail. 215 // Remove from the installer so it wont fail.
217 // Don't need to do this sense the current install uses rm -f so no error 216 // Don't need to do this sense the current install uses rm -f so no error
218 217
219 // Remove from the gui list. 218 // Remove from the gui list.
220 itemList.remove(item); 219 itemList.remove(item);
221 if(item->parent()) 220 if(item->parent())
222 item->parent()->takeItem(item); 221 item->parent()->takeItem(item);
223 delete item; 222 delete item;
224 223
225 // We have changed something. 224 // We have changed something.
226 changed = true; 225 changed = true;
227} 226}
@@ -236,61 +235,114 @@ void TabManager::editCurrentItem(){
236 235
237/** 236/**
238 * Edit the item that is passed in. 237 * Edit the item that is passed in.
239 * Show application dialog and if anything changed 238 * Show application dialog and if anything changed
240 * @param item the item to edit. 239 * @param item the item to edit.
241 */ 240 */
242void TabManager::editItem( QListViewItem * item){ 241void TabManager::editItem( QListViewItem * item){
243 if(!item) 242 if(!item)
244 return; 243 return;
245 244
246 TabAppLnk app(itemList[item]); 245 TabAppLnk app(itemList[item]);
247 if(!app.isValid()){ 246 if(!app.isValid()){
248 qDebug(QString("editItem: Not a valid applnk file: ") + itemList[item].latin1()); 247 qDebug(QString("editItem: Not a valid applnk file: ") + itemList[item].latin1());
249 return; 248 return;
249 }
250
251 // Fill with all of the icons
252 if(!application){
253 Wait waitDialog(this, "Wait dialog");
254 waitDialog.waitLabel->setText(tr("Gathering icons..."));
255 waitDialog.show();
256 qApp->processEvents();
257 application = new AppEdit(this, "Application edit", true);
258
259 QDir d(QPEApplication::qpeDir() + "/pics/");
260 d.setFilter( QDir::Files);
261
262 const QFileInfoList *list = d.entryInfoList();
263 QFileInfoListIterator it( *list ); // create list iterator
264 QFileInfo *fi; // pointer for traversing
265
266 while ( (fi=it.current()) ) { // for each file...
267 QString fileName = fi->fileName();
268 if(fileName.right(4) == ".png"){
269 fileName = fileName.mid(0,fileName.length()-4);
270 QPixmap imageOfFile(Resource::loadPixmap(fileName));
271 QImage foo = imageOfFile.convertToImage();
272 foo = foo.smoothScale(16,16);
273 imageOfFile.convertFromImage(foo);
274 application->iconLineEdit->insertItem(imageOfFile,fileName);
275 }
276 //qDebug(fi->fileName().latin1());
277 ++it;
278 }
279 waitDialog.hide();
250 } 280 }
251 281 int pixmap = -1;
252 AppEdit application(this, tr("Application edit"), true); 282 QString pixmapText = app.pixmapString();
253 application.nameLineEdit->setText(app.name()); 283 QComboBox *f = application->iconLineEdit;
254 application.iconLineEdit->setText(app.pixmapString()); 284 for(int i = 0; i < application->iconLineEdit->count(); i++){
255 application.execLineEdit->setText(app.exec()); 285 if(f->text(i) == pixmapText){
256 application.commentLineEdit->setText(app.comment()); 286 pixmap = i;
257 287 break;
288 }
289 }
290 if(pixmap != -1)
291 application->iconLineEdit->setCurrentItem(pixmap);
292 else{
293 QPixmap imageOfFile(Resource::loadPixmap(pixmapText));
294 QImage foo = imageOfFile.convertToImage();
295 foo = foo.smoothScale(16,16);
296 imageOfFile.convertFromImage(foo);
297 application->iconLineEdit->insertItem(imageOfFile,pixmapText,0);
298 application->iconLineEdit->setCurrentItem(0);
299 }
300
301 application->nameLineEdit->setText(app.name());
302 application->execLineEdit->setText(app.exec());
303 application->commentLineEdit->setText(app.comment());
304
258 if(item->parent() == NULL){ 305 if(item->parent() == NULL){
259 application.execLineEdit->setEnabled(false); 306 application->execLineEdit->setEnabled(false);
260 application.TextLabel3->setEnabled(false); 307 application->TextLabel3->setEnabled(false);
261 application.setCaption(tr("Tab")); 308 application->setCaption(tr("Tab"));
262 } 309 }
263 310 else{
311 application->execLineEdit->setEnabled(true);
312 application->TextLabel3->setEnabled(true);
313 application->setCaption(tr("Application"));
314 }
315
264 // Only do somthing if they hit OK 316 // Only do somthing if they hit OK
265 if(application.exec() == 0) 317 application->showMaximized();
318 if(application->exec() == 0)
266 return; 319 return;
267 320
268 // If nothing has changed exit (hmmm why did they hit ok?) 321 // If nothing has changed exit (hmmm why did they hit ok?)
269 if(app.name() == application.nameLineEdit->text() && 322 if(app.name() == application->nameLineEdit->text() &&
270 app.pixmapString() == application.iconLineEdit->text() && 323 app.pixmapString() == application->iconLineEdit->currentText() &&
271 app.comment() == application.commentLineEdit->text() && 324 app.comment() == application->commentLineEdit->text() &&
272 app.exec() == application.execLineEdit->text()) 325 app.exec() == application->execLineEdit->text())
273 return; 326 return;
274 327
275 // Change the applnk file 328 // Change the applnk file
276 QString oldName = app.name(); 329 QString oldName = app.name();
277 app.setName(application.nameLineEdit->text()); 330 app.setName(application->nameLineEdit->text());
278 app.setIcon(application.iconLineEdit->text()); 331 app.setIcon(application->iconLineEdit->currentText());
279 app.setComment(application.commentLineEdit->text()); 332 app.setComment(application->commentLineEdit->text());
280 app.setExec(application.execLineEdit->text()); 333 app.setExec(application->execLineEdit->text());
281 if(!app.writeLink()){ 334 if(!app.writeLink()){
282 QMessageBox::critical(this, tr("Message"), tr("Can't save."), 335 QMessageBox::critical(this, tr("Message"), "Can't save.", tr("Ok") );
283 tr("Ok") );
284 return; 336 return;
285 } 337 }
286 338
287 // Update the gui icon and name 339 // Update the gui icon and name
288 item->setText(0,app.name()); 340 item->setText(0,app.name());
289 item->setPixmap(0,app.pixmap()); 341 item->setPixmap(0,app.pixmap());
290 342
291 // We have changed something. 343 // We have changed something.
292 changed = true; 344 changed = true;
293 345
294 // If we were dealing with a new folder or new application change 346 // If we were dealing with a new folder or new application change
295 // the file names. Also change the item location in itemList 347 // the file names. Also change the item location in itemList
296 if(oldName == NEW_FOLDER){ 348 if(oldName == NEW_FOLDER){
@@ -316,26 +368,26 @@ void TabManager::editItem( QListViewItem * item){
316 itemList.insert(item, newName); 368 itemList.insert(item, newName);
317 } 369 }
318} 370}
319 371
320/** 372/**
321 * Move an application from one directory to another. 373 * Move an application from one directory to another.
322 * Move in the gui, move in the applnk file, move in the installer. 374 * Move in the gui, move in the applnk file, move in the installer.
323 * @param item the application to move 375 * @param item the application to move
324 * @pearam newGroup the new parent of this application 376 * @pearam newGroup the new parent of this application
325 */ 377 */
326void TabManager::moveApplication(QListViewItem *item, QListViewItem *newGroup){ 378void TabManager::moveApplication(QListViewItem *item, QListViewItem *newGroup){
327 // Can we even move it? 379 // Can we even move it?
328 if(!item || !item->parent() || newGroup->parent()) 380 if(!item || !item->parent() || newGroup->parent())
329 return; 381 return;
330 if(item->parent() == newGroup) 382 if(item->parent() == newGroup)
331 return; 383 return;
332 384
333 // Get the new folder, new file name, 385 // Get the new folder, new file name,
334 QString newFolder = itemList[newGroup]; 386 QString newFolder = itemList[newGroup];
335 newFolder = newFolder.mid(0,newFolder.length()-11); 387 newFolder = newFolder.mid(0,newFolder.length()-11);
336 int slash = newFolder.findRev('/', -1); 388 int slash = newFolder.findRev('/', -1);
337 QString folderName = newFolder.mid(slash+1, newFolder.length()); 389 QString folderName = newFolder.mid(slash+1, newFolder.length());
338 390
339 QString desktopFile = itemList[item]; 391 QString desktopFile = itemList[item];
340 slash = desktopFile.findRev('/', -1); 392 slash = desktopFile.findRev('/', -1);
341 desktopFile = desktopFile.mid(slash, desktopFile.length()); 393 desktopFile = desktopFile.mid(slash, desktopFile.length());
@@ -344,34 +396,33 @@ void TabManager::moveApplication(QListViewItem *item, QListViewItem *newGroup){
344 // Move file 396 // Move file
345 QDir r; 397 QDir r;
346 if(!r.rename(itemList[item], newFolder)){ 398 if(!r.rename(itemList[item], newFolder)){
347 QMessageBox::critical(this, tr("Message"), tr("Can't move application."), 399 QMessageBox::critical(this, tr("Message"), "Can't move application.", tr("Ok") );
348 tr("Ok") ); 400 return;
349 return;
350 } 401 }
351 //qDebug((QString("moveApplication: ") + itemList[item]).latin1()); 402 //qDebug((QString("moveApplication: ") + itemList[item]).latin1());
352 //qDebug((QString("moveApplication: ") + newFolder).latin1()); 403 //qDebug((QString("moveApplication: ") + newFolder).latin1());
353 404
354 // Move in the gui 405 // Move in the gui
355 item->parent()->takeItem(item); 406 item->parent()->takeItem(item);
356 newGroup->insertItem(item); 407 newGroup->insertItem(item);
357 newGroup->setOpen(true); 408 newGroup->setOpen(true);
358 409
359 // Move file in the installer 410 // Move file in the installer
360 QString installedAppFile; 411 QString installedAppFile;
361 if(findInstalledApplication(desktopFile, installedAppFile)) 412 if(findInstalledApplication(desktopFile, installedAppFile))
362 swapInstalledLocation(installedAppFile, desktopFile, newFolder); 413 swapInstalledLocation(installedAppFile, desktopFile, newFolder);
363 else 414 else
364 qDebug("moveApplication: No installed app found for dekstop file"); 415 qDebug("moveApplication: No installed app found for dekstop file");
365 416
366 // Move application type 417 // Move application type
367 AppLnk app(newFolder); 418 AppLnk app(newFolder);
368 app.setType(folderName); 419 app.setType(folderName);
369 app.writeLink(); 420 app.writeLink();
370 421
371 // Move in our internal list 422 // Move in our internal list
372 itemList.remove(item); 423 itemList.remove(item);
373 itemList.insert(item, newFolder); 424 itemList.insert(item, newFolder);
374 425
375 // We have changed something. 426 // We have changed something.
376 changed = true; 427 changed = true;
377} 428}
@@ -383,9 +434,9 @@ void TabManager::moveApplication(QListViewItem *item, QListViewItem *newGroup){
383 * @param desktopFile - the .desktop file to search for [foo.desktop] 434 * @param desktopFile - the .desktop file to search for [foo.desktop]
384 * @param installedAppFile - location of the app install list 435 * @param installedAppFile - location of the app install list
385 * @return true if successfull, false if file not found. 436 * @return true if successfull, false if file not found.
386 */ 437 */
387bool TabManager::findInstalledApplication(QString desktopFile, QString &installedAppFile){ 438bool TabManager::findInstalledApplication(QString desktopFile, QString &installedAppFile){
388 439
389 QDir d; 440 QDir d;
390 d.setPath(HOME_APP_INSTALL_DIR); 441 d.setPath(HOME_APP_INSTALL_DIR);
391 d.setFilter( QDir::Files ); 442 d.setFilter( QDir::Files );
@@ -419,7 +470,7 @@ bool TabManager::findInstalledApplication(QString desktopFile, QString &installe
419/** 470/**
420 * Open a file and replace a file containing the old desktop file with the new. 471 * Open a file and replace a file containing the old desktop file with the new.
421 * @param installedAppFile application installed list 472 * @param installedAppFile application installed list
422 * @param desktopFile old .desktop file 473 * @param desktopFile old .desktop file
423 * @param newLocation new .desktop file 474 * @param newLocation new .desktop file
424 */ 475 */
425void TabManager::swapInstalledLocation( QString installedAppFile, QString desktopFile, QString newLocation ){ 476void TabManager::swapInstalledLocation( QString installedAppFile, QString desktopFile, QString newLocation ){
@@ -428,7 +479,7 @@ void TabManager::swapInstalledLocation( QString installedAppFile, QString deskto
428 qDebug(QString("swapInstalledLocation: Can't edit file: %1").arg(installedAppFile).latin1()); 479 qDebug(QString("swapInstalledLocation: Can't edit file: %1").arg(installedAppFile).latin1());
429 return; 480 return;
430 } 481 }
431 482
432 QTextStream stream( &file ); // use a text stream 483 QTextStream stream( &file ); // use a text stream
433 QString allLines; 484 QString allLines;
434 while ( !stream.eof() ) { // until end of file... 485 while ( !stream.eof() ) { // until end of file...