summaryrefslogtreecommitdiff
authorandyq <andyq>2002-11-21 20:16:40 (UTC)
committer andyq <andyq>2002-11-21 20:16:40 (UTC)
commit2185394da06d32a3655e71ec022da202477350e7 (patch) (unidiff)
treeb266ddecaa44a1fef5229bb0525c990d5e7cc51a
parent6d302b82aab909da59852d99a31bcc7726ba9f34 (diff)
downloadopie-2185394da06d32a3655e71ec022da202477350e7.zip
opie-2185394da06d32a3655e71ec022da202477350e7.tar.gz
opie-2185394da06d32a3655e71ec022da202477350e7.tar.bz2
Re-applied patch for gcc3.2
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--noncore/settings/aqpkg/datamgr.cpp27
-rw-r--r--noncore/settings/aqpkg/datamgr.h6
-rw-r--r--noncore/settings/aqpkg/global.h2
-rw-r--r--noncore/settings/aqpkg/installdlgimpl.cpp2
-rw-r--r--noncore/settings/aqpkg/ipkg.cpp1
-rw-r--r--noncore/settings/aqpkg/letterpushbutton.cpp2
-rw-r--r--noncore/settings/aqpkg/mainwin.cpp3
-rw-r--r--noncore/settings/aqpkg/networkpkgmgr.cpp4
-rw-r--r--noncore/settings/aqpkg/server.cpp2
-rw-r--r--noncore/settings/aqpkg/settingsimpl.cpp13
10 files changed, 29 insertions, 33 deletions
diff --git a/noncore/settings/aqpkg/datamgr.cpp b/noncore/settings/aqpkg/datamgr.cpp
index e7fb75a..96c28c0 100644
--- a/noncore/settings/aqpkg/datamgr.cpp
+++ b/noncore/settings/aqpkg/datamgr.cpp
@@ -1,224 +1,217 @@
1/*************************************************************************** 1/***************************************************************************
2 datamgr.cpp - description 2 datamgr.cpp - description
3 ------------------- 3 -------------------
4 begin : Thu Aug 29 2002 4 begin : Thu Aug 29 2002
5 copyright : (C) 2002 by Andy Qua 5 copyright : (C) 2002 by Andy Qua
6 email : andy.qua@blueyonder.co.uk 6 email : andy.qua@blueyonder.co.uk
7 ***************************************************************************/ 7 ***************************************************************************/
8 8
9/*************************************************************************** 9/***************************************************************************
10 * * 10 * *
11 * This program is free software; you can redistribute it and/or modify * 11 * This program is free software; you can redistribute it and/or modify *
12 * it under the terms of the GNU General Public License as published by * 12 * it under the terms of the GNU General Public License as published by *
13 * the Free Software Foundation; either version 2 of the License, or * 13 * the Free Software Foundation; either version 2 of the License, or *
14 * (at your option) any later version. * 14 * (at your option) any later version. *
15 * * 15 * *
16 ***************************************************************************/ 16 ***************************************************************************/
17#include <fstream> 17#include <fstream>
18#include <iostream> 18#include <iostream>
19using namespace std; 19using namespace std;
20 20
21#ifdef QWS 21#ifdef QWS
22#include <qpe/config.h> 22#include <qpe/config.h>
23#endif 23#endif
24 24
25#include <stdio.h> 25#include <stdio.h>
26 26
27#include "datamgr.h" 27#include "datamgr.h"
28#include "global.h" 28#include "global.h"
29 29
30 30
31QString DataManager::availableCategories = ""; 31QString DataManager::availableCategories = "";
32DataManager::DataManager() 32DataManager::DataManager()
33{ 33{
34 activeServer = ""; 34 activeServer = "";
35 availableCategories = "#"; 35 availableCategories = "#";
36} 36}
37 37
38DataManager::~DataManager() 38DataManager::~DataManager()
39{ 39{
40} 40}
41 41
42Server *DataManager :: getServer( const char *name ) 42vector<Server>::iterator DataManager :: getServer( const char *name )
43{ 43{
44 Server *s = 0;
45 vector<Server>::iterator it = serverList.begin(); 44 vector<Server>::iterator it = serverList.begin();
46 while ( it != serverList.end() && s == 0 ) 45 while ( it != serverList.end() )
47 { 46 {
48 if ( it->getServerName() == name ) 47 if ( it->getServerName() == name )
49 s = &(*it); 48 return it;
50 49
51 ++it; 50 ++it;
52 } 51 }
53 52
54 return s; 53 return serverList.end();
55} 54}
56 55
57Destination *DataManager :: getDestination( const char *name ) 56vector<Destination>::iterator DataManager :: getDestination( const char *name )
58{ 57{
59 Destination *d = 0;
60 vector<Destination>::iterator it = destList.begin(); 58 vector<Destination>::iterator it = destList.begin();
61 while ( it != destList.end() && d == 0 ) 59 while ( it != destList.end() )
62 { 60 {
63 if ( it->getDestinationName() == name ) 61 if ( it->getDestinationName() == name )
64 d = &(*it); 62 return it;
65 63
66 ++it; 64 ++it;
67 } 65 }
68 66
69 return d; 67 return destList.end();
70} 68}
71 69
72void DataManager :: loadServers() 70void DataManager :: loadServers()
73{ 71{
74 // First add our local server - not really a server but 72 // First add our local server - not really a server but
75 // the local config (which packages are installed) 73 // the local config (which packages are installed)
76 serverList.push_back( Server( LOCAL_SERVER, "" ) ); 74 serverList.push_back( Server( LOCAL_SERVER, "" ) );
77 serverList.push_back( Server( LOCAL_IPKGS, "" ) ); 75 serverList.push_back( Server( LOCAL_IPKGS, "" ) );
78 76
79#ifdef QWS 77#ifdef QWS
80 Config cfg( "aqpkg" ); 78 Config cfg( "aqpkg" );
81 cfg.setGroup( "destinations" ); 79 cfg.setGroup( "destinations" );
82#endif 80#endif
83 81
84 // Read file from /etc/ipkg.conf 82 // Read file from /etc/ipkg.conf
85 QString ipkg_conf = IPKG_CONF; 83 QString ipkg_conf = IPKG_CONF;
86 FILE *fp; 84 FILE *fp;
87 fp = fopen( ipkg_conf, "r" ); 85 fp = fopen( ipkg_conf, "r" );
88 char line[130]; 86 char line[130];
89 QString lineStr; 87 QString lineStr;
90 if ( fp == NULL ) 88 if ( fp == NULL )
91 { 89 {
92 cout << "Couldn't open " << ipkg_conf << "! err = " << fp << endl; 90 cout << "Couldn't open " << ipkg_conf << "! err = " << fp << endl;
93 return; 91 return;
94 } 92 }
95 else 93 else
96 { 94 {
97 while ( fgets( line, sizeof line, fp) != NULL ) 95 while ( fgets( line, sizeof line, fp) != NULL )
98 { 96 {
99 lineStr = line; 97 lineStr = line;
100 if ( lineStr.startsWith( "src" ) || lineStr.startsWith( "#src" ) || lineStr.startsWith( "# src" ) ) 98 if ( lineStr.startsWith( "src" ) || lineStr.startsWith( "#src" ) || lineStr.startsWith( "# src" ) )
101 { 99 {
102 char alias[20]; 100 char alias[20];
103 char url[100]; 101 char url[100];
104 102
105 // Looks a little wierd but read up to the r of src (throwing it away), 103 // Looks a little wierd but read up to the r of src (throwing it away),
106 // then read up to the next space and throw that away, the alias 104 // then read up to the next space and throw that away, the alias
107 // is next. 105 // is next.
108 // Should Handle #src, # src, src, and combinations of 106 // Should Handle #src, # src, src, and combinations of
109 sscanf( lineStr, "%*[^r]%*[^ ] %s %s", alias, url ); 107 sscanf( lineStr, "%*[^r]%*[^ ] %s %s", alias, url );
110 Server s( alias, url ); 108 Server s( alias, url );
111 if ( lineStr.startsWith( "src" ) ) 109 if ( lineStr.startsWith( "src" ) )
112 s.setActive( true ); 110 s.setActive( true );
113 else 111 else
114 s.setActive( false ); 112 s.setActive( false );
115 113
116 serverList.push_back( s ); 114 serverList.push_back( s );
117 115
118 } 116 }
119 else if ( lineStr.startsWith( "dest" ) ) 117 else if ( lineStr.startsWith( "dest" ) )
120 { 118 {
121 char alias[20]; 119 char alias[20];
122 char path[50]; 120 char path[50];
123 sscanf( lineStr, "%*[^ ] %s %s", alias, path ); 121 sscanf( lineStr, "%*[^ ] %s %s", alias, path );
124 Destination d( alias, path ); 122 Destination d( alias, path );
125 bool linkToRoot = true; 123 bool linkToRoot = true;
126#ifdef QWS 124#ifdef QWS
127 QString key = alias; 125 QString key = alias;
128 key += "_linkToRoot"; 126 key += "_linkToRoot";
129 linkToRoot = cfg.readBoolEntry( key, true ); 127 linkToRoot = cfg.readBoolEntry( key, true );
130#endif 128#endif
131 d.linkToRoot( linkToRoot ); 129 d.linkToRoot( linkToRoot );
132 130
133 destList.push_back( d ); 131 destList.push_back( d );
134 } 132 }
135 else if ( lineStr.startsWith( "option" ) ) 133 else if ( lineStr.startsWith( "option" ) )
136 { 134 {
137 char type[20]; 135 char type[20];
138 char val[100]; 136 char val[100];
139 sscanf( lineStr, "%*[^ ] %s %s", type, val ); 137 sscanf( lineStr, "%*[^ ] %s %s", type, val );
140 if ( stricmp( type, "http_proxy" ) == 0 ) 138 if ( stricmp( type, "http_proxy" ) == 0 )
141 httpProxy = val; 139 httpProxy = val;
142 if ( stricmp( type, "ftp_proxy" ) == 0 ) 140 if ( stricmp( type, "ftp_proxy" ) == 0 )
143 ftpProxy = val; 141 ftpProxy = val;
144 if ( stricmp( type, "proxy_username" ) == 0 ) 142 if ( stricmp( type, "proxy_username" ) == 0 )
145 proxyUsername = val; 143 proxyUsername = val;
146 if ( stricmp( type, "proxy_password" ) == 0 ) 144 if ( stricmp( type, "proxy_password" ) == 0 )
147 proxyPassword = val; 145 proxyPassword = val;
148 } 146 }
149 } 147 }
150 } 148 }
151 fclose( fp ); 149 fclose( fp );
152 150
153 cout << "httpProxy = " << httpProxy << endl;
154 cout << "ftpProxy = " << ftpProxy << endl;
155 cout << "proxyUsername = " << proxyUsername << endl;
156 cout << "proxyPassword = " << proxyPassword << endl;
157
158 reloadServerData( ); 151 reloadServerData( );
159} 152}
160 153
161void DataManager :: reloadServerData( ) 154void DataManager :: reloadServerData( )
162{ 155{
163 vector<Server>::iterator it = serverList.begin(); 156 vector<Server>::iterator it = serverList.begin();
164 for ( it = serverList.begin() ; it != serverList.end() ; ++it ) 157 for ( it = serverList.begin() ; it != serverList.end() ; ++it )
165 { 158 {
166 // Now we've read the config file in we need to read the servers 159 // Now we've read the config file in we need to read the servers
167 // The local server is a special case. This holds the contents of the 160 // The local server is a special case. This holds the contents of the
168 // status files the number of which depends on how many destinations 161 // status files the number of which depends on how many destinations
169 // we've set up 162 // we've set up
170 // The other servers files hold the contents of the server package list 163 // The other servers files hold the contents of the server package list
171 if ( it->getServerName() == LOCAL_SERVER ) 164 if ( it->getServerName() == LOCAL_SERVER )
172 it->readStatusFile( destList ); 165 it->readStatusFile( destList );
173 else if ( it->getServerName() == LOCAL_IPKGS ) 166 else if ( it->getServerName() == LOCAL_IPKGS )
174 it->readLocalIpks( getServer( LOCAL_SERVER ) ); 167 it->readLocalIpks( &( *getServer( LOCAL_SERVER ) ) );
175 else 168 else
176 it->readPackageFile( getServer( LOCAL_SERVER ) ); 169 it->readPackageFile( &( *getServer( LOCAL_SERVER ) ) );
177 } 170 }
178} 171}
179 172
180void DataManager :: writeOutIpkgConf() 173void DataManager :: writeOutIpkgConf()
181{ 174{
182 QString ipkg_conf = IPKG_CONF; 175 QString ipkg_conf = IPKG_CONF;
183 ofstream out( ipkg_conf ); 176 ofstream out( ipkg_conf );
184 177
185 out << "# Written by AQPkg" << endl; 178 out << "# Written by AQPkg" << endl;
186 out << "# Must have one or more source entries of the form:" << endl; 179 out << "# Must have one or more source entries of the form:" << endl;
187 out << "#" << endl; 180 out << "#" << endl;
188 out << "# src <src-name> <source-url>" << endl; 181 out << "# src <src-name> <source-url>" << endl;
189 out << "#" << endl; 182 out << "#" << endl;
190 out << "# and one or more destination entries of the form:" << endl; 183 out << "# and one or more destination entries of the form:" << endl;
191 out << "#" << endl; 184 out << "#" << endl;
192 out << "# dest <dest-name> <target-path>" << endl; 185 out << "# dest <dest-name> <target-path>" << endl;
193 out << "#" << endl; 186 out << "#" << endl;
194 out << "# where <src-name> and <dest-names> are identifiers that" << endl; 187 out << "# where <src-name> and <dest-names> are identifiers that" << endl;
195 out << "# should match [a-zA-Z0-9._-]+, <source-url> should be a" << endl; 188 out << "# should match [a-zA-Z0-9._-]+, <source-url> should be a" << endl;
196 out << "# URL that points to a directory containing a Familiar" << endl; 189 out << "# URL that points to a directory containing a Familiar" << endl;
197 out << "# Packages file, and <target-path> should be a directory" << endl; 190 out << "# Packages file, and <target-path> should be a directory" << endl;
198 out << "# that exists on the target system." << endl << endl; 191 out << "# that exists on the target system." << endl << endl;
199 192
200 // Write out servers 193 // Write out servers
201 vector<Server>::iterator it = serverList.begin(); 194 vector<Server>::iterator it = serverList.begin();
202 while ( it != serverList.end() ) 195 while ( it != serverList.end() )
203 { 196 {
204 QString alias = it->getServerName(); 197 QString alias = it->getServerName();
205 // Don't write out local as its a dummy 198 // Don't write out local as its a dummy
206 if ( alias != LOCAL_SERVER && alias != LOCAL_IPKGS ) 199 if ( alias != LOCAL_SERVER && alias != LOCAL_IPKGS )
207 { 200 {
208 QString url = it->getServerUrl();; 201 QString url = it->getServerUrl();;
209 202
210 if ( !it->isServerActive() ) 203 if ( !it->isServerActive() )
211 out << "#"; 204 out << "#";
212 out << "src " << alias << " " << url << endl; 205 out << "src " << alias << " " << url << endl;
213 } 206 }
214 207
215 it++; 208 it++;
216 } 209 }
217 210
218 out << endl; 211 out << endl;
219 212
220 // Write out destinations 213 // Write out destinations
221 vector<Destination>::iterator it2 = destList.begin(); 214 vector<Destination>::iterator it2 = destList.begin();
222 while ( it2 != destList.end() ) 215 while ( it2 != destList.end() )
223 { 216 {
224 out << "dest " << it2->getDestinationName() << " " << it2->getDestinationPath() << endl; 217 out << "dest " << it2->getDestinationName() << " " << it2->getDestinationPath() << endl;
diff --git a/noncore/settings/aqpkg/datamgr.h b/noncore/settings/aqpkg/datamgr.h
index 14b0b2f..41833df 100644
--- a/noncore/settings/aqpkg/datamgr.h
+++ b/noncore/settings/aqpkg/datamgr.h
@@ -1,73 +1,73 @@
1/*************************************************************************** 1/***************************************************************************
2 datamgr.h - description 2 datamgr.h - description
3 ------------------- 3 -------------------
4 begin : Thu Aug 29 2002 4 begin : Thu Aug 29 2002
5 copyright : (C) 2002 by Andy Qua 5 copyright : (C) 2002 by Andy Qua
6 email : andy.qua@blueyonder.co.uk 6 email : andy.qua@blueyonder.co.uk
7 ***************************************************************************/ 7 ***************************************************************************/
8 8
9/*************************************************************************** 9/***************************************************************************
10 * * 10 * *
11 * This program is free software; you can redistribute it and/or modify * 11 * This program is free software; you can redistribute it and/or modify *
12 * it under the terms of the GNU General Public License as published by * 12 * it under the terms of the GNU General Public License as published by *
13 * the Free Software Foundation; either version 2 of the License, or * 13 * the Free Software Foundation; either version 2 of the License, or *
14 * (at your option) any later version. * 14 * (at your option) any later version. *
15 * * 15 * *
16 ***************************************************************************/ 16 ***************************************************************************/
17 17
18#ifndef DATAMGR_H 18#ifndef DATAMGR_H
19#define DATAMGR_H 19#define DATAMGR_H
20 20
21#include <map> 21#include <map>
22using namespace std; 22using namespace std;
23 23
24#include <qstring.h> 24#include <qstring.h>
25 25
26#include "server.h" 26#include "server.h"
27#include "destination.h" 27#include "destination.h"
28 28
29 #define LOCAL_SERVER "Installed Pkgs" 29 #define LOCAL_SERVER "Installed Pkgs"
30 #define LOCAL_IPKGS "local IPKG" 30 #define LOCAL_IPKGS "local IPKG"
31 31
32/** 32/**
33 *@author Andy Qua 33 *@author Andy Qua
34 */ 34 */
35 35
36 36
37class DataManager 37class DataManager
38{ 38{
39public: 39public:
40 DataManager(); 40 DataManager();
41 ~DataManager(); 41 ~DataManager();
42 42
43 void setActiveServer( const QString &act ) { activeServer = act; } 43 void setActiveServer( const QString &act ) { activeServer = act; }
44 QString &getActiveServer( ) { return activeServer; } 44 QString &getActiveServer( ) { return activeServer; }
45 45
46 Server *getLocalServer() { return getServer( LOCAL_SERVER ); } 46 Server *getLocalServer() { return &( *getServer( LOCAL_SERVER ) ); }
47 vector<Server> &getServerList() { return serverList; } 47 vector<Server> &getServerList() { return serverList; }
48 Server *getServer( const char *name ); 48 vector<Server>::iterator getServer( const char *name );
49 49
50 vector<Destination> &getDestinationList() { return destList; } 50 vector<Destination> &getDestinationList() { return destList; }
51 Destination *getDestination( const char *name ); 51 vector<Destination>::iterator getDestination( const char *name );
52 52
53 void loadServers(); 53 void loadServers();
54 void reloadServerData( ); 54 void reloadServerData( );
55 55
56 void writeOutIpkgConf(); 56 void writeOutIpkgConf();
57 57
58 static QString getAvailableCategories() { return availableCategories; } 58 static QString getAvailableCategories() { return availableCategories; }
59 static void setAvailableCategories( QString section ); 59 static void setAvailableCategories( QString section );
60 60
61private: 61private:
62 static QString availableCategories; 62 static QString availableCategories;
63 QString activeServer; 63 QString activeServer;
64 QString httpProxy; 64 QString httpProxy;
65 QString ftpProxy; 65 QString ftpProxy;
66 QString proxyUsername; 66 QString proxyUsername;
67 QString proxyPassword; 67 QString proxyPassword;
68 68
69 vector<Server> serverList; 69 vector<Server> serverList;
70 vector<Destination> destList; 70 vector<Destination> destList;
71}; 71};
72 72
73#endif 73#endif
diff --git a/noncore/settings/aqpkg/global.h b/noncore/settings/aqpkg/global.h
index fcec643..ddfb3ac 100644
--- a/noncore/settings/aqpkg/global.h
+++ b/noncore/settings/aqpkg/global.h
@@ -1,69 +1,69 @@
1/*************************************************************************** 1/***************************************************************************
2 global.h - description 2 global.h - description
3 ------------------- 3 -------------------
4 begin : Mon Aug 26 2002 4 begin : Mon Aug 26 2002
5 copyright : (C) 2002 by Andy Qua 5 copyright : (C) 2002 by Andy Qua
6 email : andy.qua@blueyonder.co.uk 6 email : andy.qua@blueyonder.co.uk
7 ***************************************************************************/ 7 ***************************************************************************/
8 8
9/*************************************************************************** 9/***************************************************************************
10 * * 10 * *
11 * This program is free software; you can redistribute it and/or modify * 11 * This program is free software; you can redistribute it and/or modify *
12 * it under the terms of the GNU General Public License as published by * 12 * it under the terms of the GNU General Public License as published by *
13 * the Free Software Foundation; either version 2 of the License, or * 13 * the Free Software Foundation; either version 2 of the License, or *
14 * (at your option) any later version. * 14 * (at your option) any later version. *
15 * * 15 * *
16 ***************************************************************************/ 16 ***************************************************************************/
17 17
18#ifndef __GLOBAL_H 18#ifndef __GLOBAL_H
19#define __GLOBAL_H 19#define __GLOBAL_H
20 20
21#define VERSION_TEXT "AQPkg Version 1.3" 21#define VERSION_TEXT "AQPkg Version 1.4"
22 22
23// Uncomment the below line to run on a Linux box rather than a Zaurus 23// Uncomment the below line to run on a Linux box rather than a Zaurus
24// box this allows you to change where root is, and where to load config files from 24// box this allows you to change where root is, and where to load config files from
25// #define X86 25// #define X86
26 26
27// Sets up location of ipkg.conf and root directory 27// Sets up location of ipkg.conf and root directory
28#ifdef QWS 28#ifdef QWS
29 29
30#ifndef X86 30#ifndef X86
31 31
32// Running QT/Embedded on an arm processor 32// Running QT/Embedded on an arm processor
33#define IPKG_CONF "/etc/ipkg.conf" 33#define IPKG_CONF "/etc/ipkg.conf"
34#define ROOT "/" 34#define ROOT "/"
35#define IPKG_DIR "/usr/lib/ipkg/" 35#define IPKG_DIR "/usr/lib/ipkg/"
36 36
37#else 37#else
38 38
39// Running QT/Embedded on a X86 linux box 39// Running QT/Embedded on a X86 linux box
40#define IPKG_CONF "/home/andy/projects/aqpkg/aqpkg/data/ipkg.conf" 40#define IPKG_CONF "/home/andy/projects/aqpkg/aqpkg/data/ipkg.conf"
41#define ROOT "/home/andy/projects/aqpkg/aqpkg/data/root" 41#define ROOT "/home/andy/projects/aqpkg/aqpkg/data/root"
42#define IPKG_DIR "/home/andy/projects/aqpkg/aqpkg/data/" 42#define IPKG_DIR "/home/andy/projects/aqpkg/aqpkg/data/"
43 43
44#endif 44#endif
45 45
46#else 46#else
47 47
48// Running QT on a X86 linux box 48// Running QT on a X86 linux box
49#define IPKG_CONF "/home/andy/projects/aqpkg/aqpkg/data/ipkg.conf" 49#define IPKG_CONF "/home/andy/projects/aqpkg/aqpkg/data/ipkg.conf"
50#define ROOT "/home/andy/projects/aqpkg/aqpkg/data/root" 50#define ROOT "/home/andy/projects/aqpkg/aqpkg/data/root"
51#define IPKG_DIR "/home/andy/projects/aqpkg/aqpkg/data/" 51#define IPKG_DIR "/home/andy/projects/aqpkg/aqpkg/data/"
52 52
53#endif 53#endif
54 54
55 55
56// Uncomment the below line to turn on memory checking 56// Uncomment the below line to turn on memory checking
57//#define _DEBUG 1 57//#define _DEBUG 1
58 58
59#ifndef __MEMFILE_C 59#ifndef __MEMFILE_C
60#ifdef _DEBUG 60#ifdef _DEBUG
61void * operator new(unsigned int size,const char *file, int line); 61void * operator new(unsigned int size,const char *file, int line);
62void operator delete(void *p); 62void operator delete(void *p);
63#endif 63#endif
64 64
65#ifdef _DEBUG 65#ifdef _DEBUG
66#define DEBUG_NEW new(__FILE__, __LINE__) 66#define DEBUG_NEW new(__FILE__, __LINE__)
67//#define DEBUG_NEW new 67//#define DEBUG_NEW new
68#else 68#else
69#define DEBUG_NEW new 69#define DEBUG_NEW new
diff --git a/noncore/settings/aqpkg/installdlgimpl.cpp b/noncore/settings/aqpkg/installdlgimpl.cpp
index b297437..db9a259 100644
--- a/noncore/settings/aqpkg/installdlgimpl.cpp
+++ b/noncore/settings/aqpkg/installdlgimpl.cpp
@@ -120,97 +120,97 @@ bool InstallDlgImpl :: showDlg()
120 bool ret = exec(); 120 bool ret = exec();
121 121
122 return ret; 122 return ret;
123} 123}
124 124
125void InstallDlgImpl :: optionsSelected() 125void InstallDlgImpl :: optionsSelected()
126{ 126{
127 InstallOptionsDlgImpl opt( flags, this, "Option", true ); 127 InstallOptionsDlgImpl opt( flags, this, "Option", true );
128 opt.exec(); 128 opt.exec();
129 129
130 // set options selected from dialog 130 // set options selected from dialog
131 flags = 0; 131 flags = 0;
132 if ( opt.forceDepends->isChecked() ) 132 if ( opt.forceDepends->isChecked() )
133 flags |= FORCE_DEPENDS; 133 flags |= FORCE_DEPENDS;
134 if ( opt.forceReinstall->isChecked() ) 134 if ( opt.forceReinstall->isChecked() )
135 flags |= FORCE_REINSTALL; 135 flags |= FORCE_REINSTALL;
136 if ( opt.forceRemove->isChecked() ) 136 if ( opt.forceRemove->isChecked() )
137 flags |= FORCE_REMOVE; 137 flags |= FORCE_REMOVE;
138 if ( opt.forceOverwrite->isChecked() ) 138 if ( opt.forceOverwrite->isChecked() )
139 flags |= FORCE_OVERWRITE; 139 flags |= FORCE_OVERWRITE;
140 140
141#ifdef QWS 141#ifdef QWS
142 Config cfg( "aqpkg" ); 142 Config cfg( "aqpkg" );
143 cfg.setGroup( "settings" ); 143 cfg.setGroup( "settings" );
144 cfg.writeEntry( "installFlags", flags ); 144 cfg.writeEntry( "installFlags", flags );
145#endif 145#endif
146} 146}
147 147
148void InstallDlgImpl :: installSelected() 148void InstallDlgImpl :: installSelected()
149{ 149{
150 if ( btnInstall->text() == "Close" ) 150 if ( btnInstall->text() == "Close" )
151 { 151 {
152 done( 1 ); 152 done( 1 );
153 return; 153 return;
154 } 154 }
155 155
156 btnInstall->setEnabled( false ); 156 btnInstall->setEnabled( false );
157 157
158 if ( pIpkg ) 158 if ( pIpkg )
159 { 159 {
160 output->setText( "" ); 160 output->setText( "" );
161 161
162 connect( pIpkg, SIGNAL(outputText(const QString &)), this, SLOT(displayText(const QString &))); 162 connect( pIpkg, SIGNAL(outputText(const QString &)), this, SLOT(displayText(const QString &)));
163 pIpkg->runIpkg(); 163 pIpkg->runIpkg();
164 } 164 }
165 else 165 else
166 { 166 {
167 output->setText( "" ); 167 output->setText( "" );
168 Destination *d = dataMgr->getDestination( destination->currentText() ); 168 vector<Destination>::iterator d = dataMgr->getDestination( destination->currentText() );
169 QString dest = d->getDestinationName(); 169 QString dest = d->getDestinationName();
170 QString destDir = d->getDestinationPath(); 170 QString destDir = d->getDestinationPath();
171 int instFlags = flags; 171 int instFlags = flags;
172 if ( d->linkToRoot() ) 172 if ( d->linkToRoot() )
173 instFlags |= MAKE_LINKS; 173 instFlags |= MAKE_LINKS;
174 174
175#ifdef QWS 175#ifdef QWS
176 // Save settings 176 // Save settings
177 Config cfg( "aqpkg" ); 177 Config cfg( "aqpkg" );
178 cfg.setGroup( "settings" ); 178 cfg.setGroup( "settings" );
179 cfg.writeEntry( "dest", dest ); 179 cfg.writeEntry( "dest", dest );
180#endif 180#endif
181 181
182 pIpkg = new Ipkg; 182 pIpkg = new Ipkg;
183 connect( pIpkg, SIGNAL(outputText(const QString &)), this, SLOT(displayText(const QString &))); 183 connect( pIpkg, SIGNAL(outputText(const QString &)), this, SLOT(displayText(const QString &)));
184 184
185 // First run through the remove list, then the install list then the upgrade list 185 // First run through the remove list, then the install list then the upgrade list
186 vector<InstallData>::iterator it; 186 vector<InstallData>::iterator it;
187 pIpkg->setOption( "remove" ); 187 pIpkg->setOption( "remove" );
188 for ( it = removeList.begin() ; it != removeList.end() ; ++it ) 188 for ( it = removeList.begin() ; it != removeList.end() ; ++it )
189 { 189 {
190 pIpkg->setDestination( it->destination->getDestinationName() ); 190 pIpkg->setDestination( it->destination->getDestinationName() );
191 pIpkg->setDestinationDir( it->destination->getDestinationPath() ); 191 pIpkg->setDestinationDir( it->destination->getDestinationPath() );
192 pIpkg->setPackage( it->packageName ); 192 pIpkg->setPackage( it->packageName );
193 193
194 int tmpFlags = flags; 194 int tmpFlags = flags;
195 if ( it->destination->linkToRoot() ) 195 if ( it->destination->linkToRoot() )
196 tmpFlags |= MAKE_LINKS; 196 tmpFlags |= MAKE_LINKS;
197 197
198 pIpkg->setFlags( tmpFlags ); 198 pIpkg->setFlags( tmpFlags );
199 pIpkg->runIpkg(); 199 pIpkg->runIpkg();
200 } 200 }
201 201
202 pIpkg->setOption( "install" ); 202 pIpkg->setOption( "install" );
203 pIpkg->setDestination( dest ); 203 pIpkg->setDestination( dest );
204 pIpkg->setDestinationDir( destDir ); 204 pIpkg->setDestinationDir( destDir );
205 pIpkg->setFlags( instFlags ); 205 pIpkg->setFlags( instFlags );
206 for ( it = installList.begin() ; it != installList.end() ; ++it ) 206 for ( it = installList.begin() ; it != installList.end() ; ++it )
207 { 207 {
208 pIpkg->setPackage( it->packageName ); 208 pIpkg->setPackage( it->packageName );
209 pIpkg->runIpkg(); 209 pIpkg->runIpkg();
210 } 210 }
211 211
212 flags |= FORCE_REINSTALL; 212 flags |= FORCE_REINSTALL;
213 for ( it = updateList.begin() ; it != updateList.end() ; ++it ) 213 for ( it = updateList.begin() ; it != updateList.end() ; ++it )
214 { 214 {
215 if ( it->option == "R" ) 215 if ( it->option == "R" )
216 pIpkg->setOption( "reinstall" ); 216 pIpkg->setOption( "reinstall" );
diff --git a/noncore/settings/aqpkg/ipkg.cpp b/noncore/settings/aqpkg/ipkg.cpp
index 452eca3..8de3c48 100644
--- a/noncore/settings/aqpkg/ipkg.cpp
+++ b/noncore/settings/aqpkg/ipkg.cpp
@@ -1,66 +1,67 @@
1/*************************************************************************** 1/***************************************************************************
2 ipkg.cpp - description 2 ipkg.cpp - description
3 ------------------- 3 -------------------
4 begin : Sat Aug 31 2002 4 begin : Sat Aug 31 2002
5 copyright : (C) 2002 by Andy Qua 5 copyright : (C) 2002 by Andy Qua
6 email : andy.qua@blueyonder.co.uk 6 email : andy.qua@blueyonder.co.uk
7 ***************************************************************************/ 7 ***************************************************************************/
8 8
9/*************************************************************************** 9/***************************************************************************
10 * * 10 * *
11 * This program is free software; you can redistribute it and/or modify * 11 * This program is free software; you can redistribute it and/or modify *
12 * it under the terms of the GNU General Public License as published by * 12 * it under the terms of the GNU General Public License as published by *
13 * the Free Software Foundation; either version 2 of the License, or * 13 * the Free Software Foundation; either version 2 of the License, or *
14 * (at your option) any later version. * 14 * (at your option) any later version. *
15 * * 15 * *
16 ***************************************************************************/ 16 ***************************************************************************/
17 17
18#include <fstream> 18#include <fstream>
19#include <iostream>
19using namespace std; 20using namespace std;
20 21
21#include <stdio.h> 22#include <stdio.h>
22#include <unistd.h> 23#include <unistd.h>
23 24
24#ifdef QWS 25#ifdef QWS
25#include <qpe/qpeapplication.h> 26#include <qpe/qpeapplication.h>
26#else 27#else
27#include <qapplication.h> 28#include <qapplication.h>
28#endif 29#endif
29#include <qdir.h> 30#include <qdir.h>
30#include <qtextstream.h> 31#include <qtextstream.h>
31 32
32#include "utils.h" 33#include "utils.h"
33#include "ipkg.h" 34#include "ipkg.h"
34#include "global.h" 35#include "global.h"
35 36
36Ipkg :: Ipkg() 37Ipkg :: Ipkg()
37{ 38{
38} 39}
39 40
40Ipkg :: ~Ipkg() 41Ipkg :: ~Ipkg()
41{ 42{
42} 43}
43 44
44// Option is what we are going to do - install, upgrade, download, reinstall 45// Option is what we are going to do - install, upgrade, download, reinstall
45// package is the package name to install - either a fully qualified path and ipk 46// package is the package name to install - either a fully qualified path and ipk
46// file (if stored locally) or just the name of the package (for a network package) 47// file (if stored locally) or just the name of the package (for a network package)
47// packageName is the package name - (for a network package this will be the same as 48// packageName is the package name - (for a network package this will be the same as
48// package parameter) 49// package parameter)
49// dest is the destination alias (from ipk.conf) 50// dest is the destination alias (from ipk.conf)
50// destDir is the dir that the destination alias points to (used to link to root) 51// destDir is the dir that the destination alias points to (used to link to root)
51// flags is the ipkg options flags 52// flags is the ipkg options flags
52// dir is the directory to run ipkg in (defaults to "") 53// dir is the directory to run ipkg in (defaults to "")
53bool Ipkg :: runIpkg( ) 54bool Ipkg :: runIpkg( )
54{ 55{
55 bool ret = false; 56 bool ret = false;
56 57
57 QDir::setCurrent( "/tmp" ); 58 QDir::setCurrent( "/tmp" );
58 QString cmd = ""; 59 QString cmd = "";
59 60
60 if ( runtimeDir != "" ) 61 if ( runtimeDir != "" )
61 { 62 {
62 cmd += "cd "; 63 cmd += "cd ";
63 cmd += runtimeDir; 64 cmd += runtimeDir;
64 cmd += " ; "; 65 cmd += " ; ";
65 } 66 }
66 cmd += "ipkg -force-defaults"; 67 cmd += "ipkg -force-defaults";
diff --git a/noncore/settings/aqpkg/letterpushbutton.cpp b/noncore/settings/aqpkg/letterpushbutton.cpp
index afe25d8..ca96c6c 100644
--- a/noncore/settings/aqpkg/letterpushbutton.cpp
+++ b/noncore/settings/aqpkg/letterpushbutton.cpp
@@ -1,34 +1,34 @@
1/*************************************************************************** 1/***************************************************************************
2 letterpushbutton.cpp - description 2 letterpushbutton.cpp - description
3 ------------------- 3 -------------------
4 begin : Wed Oct 16 2002 4 begin : Wed Oct 16 2002
5 copyright : (C) 2002 by Andy Qua 5 copyright : (C) 2002 by Andy Qua
6 email : andy.qua@blueyonder.co.uk 6 email : andy.qua@blueyonder.co.uk
7 ***************************************************************************/ 7 ***************************************************************************/
8 8
9/*************************************************************************** 9/***************************************************************************
10 * * 10 * *
11 * This program is free software; you can redistribute it and/or modify * 11 * This program is free software; you can redistribute it and/or modify *
12 * it under the terms of the GNU General Public License as published by * 12 * it under the terms of the GNU General Public License as published by *
13 * the Free Software Foundation; either version 2 of the License, or * 13 * the Free Software Foundation; either version 2 of the License, or *
14 * (at your option) any later version. * 14 * (at your option) any later version. *
15 * * 15 * *
16 ***************************************************************************/ 16 ***************************************************************************/
17 17
18#include "letterpushbutton.h" 18#include "letterpushbutton.h"
19 19
20LetterPushButton :: LetterPushButton( const QString &text, QWidget *parent, const char *name=0 ) 20LetterPushButton :: LetterPushButton( const QString &text, QWidget *parent, const char *name )
21 : QPushButton( text, parent, name ) 21 : QPushButton( text, parent, name )
22{ 22{
23 connect( this, SIGNAL(released()), this, SLOT(released_emmitor()) ); 23 connect( this, SIGNAL(released()), this, SLOT(released_emmitor()) );
24} 24}
25 25
26LetterPushButton :: ~LetterPushButton() 26LetterPushButton :: ~LetterPushButton()
27{ 27{
28} 28}
29 29
30void LetterPushButton :: released_emmitor() 30void LetterPushButton :: released_emmitor()
31{ 31{
32 emit released( text() ); 32 emit released( text() );
33} 33}
34 34
diff --git a/noncore/settings/aqpkg/mainwin.cpp b/noncore/settings/aqpkg/mainwin.cpp
index 0141359..3ddc582 100644
--- a/noncore/settings/aqpkg/mainwin.cpp
+++ b/noncore/settings/aqpkg/mainwin.cpp
@@ -1,102 +1,103 @@
1/*************************************************************************** 1/***************************************************************************
2 mainwin.cpp - description 2 mainwin.cpp - description
3 ------------------- 3 -------------------
4 begin : Mon Aug 26 13:32:30 BST 2002 4 begin : Mon Aug 26 13:32:30 BST 2002
5 copyright : (C) 2002 by Andy Qua 5 copyright : (C) 2002 by Andy Qua
6 email : andy.qua@blueyonder.co.uk 6 email : andy.qua@blueyonder.co.uk
7 ***************************************************************************/ 7 ***************************************************************************/
8 8
9/*************************************************************************** 9/***************************************************************************
10 * * 10 * *
11 * This program is free software; you can redistribute it and/or modify * 11 * This program is free software; you can redistribute it and/or modify *
12 * it under the terms of the GNU General Public License as published by * 12 * it under the terms of the GNU General Public License as published by *
13 * the Free Software Foundation; either version 2 of the License, or * 13 * the Free Software Foundation; either version 2 of the License, or *
14 * (at your option) any later version. * 14 * (at your option) any later version. *
15 * * 15 * *
16 ***************************************************************************/ 16 ***************************************************************************/
17 17
18#include <iostream> 18#include <iostream>
19using namespace std;
19 20
20#include <qmenubar.h> 21#include <qmenubar.h>
21#include <qpopupmenu.h> 22#include <qpopupmenu.h>
22#include <qmessagebox.h> 23#include <qmessagebox.h>
23 24
24#include "mainwin.h" 25#include "mainwin.h"
25#include "datamgr.h" 26#include "datamgr.h"
26#include "networkpkgmgr.h" 27#include "networkpkgmgr.h"
27#include "settingsimpl.h" 28#include "settingsimpl.h"
28#include "helpwindow.h" 29#include "helpwindow.h"
29#include "utils.h" 30#include "utils.h"
30#include "global.h" 31#include "global.h"
31 32
32MainWindow :: MainWindow( QWidget *p, char *name ) 33MainWindow :: MainWindow( QWidget *p, char *name )
33 :QMainWindow( p, name ) 34 :QMainWindow( p, name )
34{ 35{
35#ifdef QWS 36#ifdef QWS
36 showMaximized(); 37 showMaximized();
37#endif 38#endif
38 39
39 setCaption( "AQPkg - Package Manager" ); 40 setCaption( "AQPkg - Package Manager" );
40 41
41 // Create our menu 42 // Create our menu
42 help = new QPopupMenu( this ); 43 help = new QPopupMenu( this );
43 help->insertItem( "&General", this, SLOT(displayHelp()), Qt::CTRL+Qt::Key_G ); 44 help->insertItem( "&General", this, SLOT(displayHelp()), Qt::CTRL+Qt::Key_G );
44 help->insertItem( "&About", this, SLOT(displayAbout()), Qt::CTRL+Qt::Key_A ); 45 help->insertItem( "&About", this, SLOT(displayAbout()), Qt::CTRL+Qt::Key_A );
45 46
46 settings = new QPopupMenu( this ); 47 settings = new QPopupMenu( this );
47 settings->insertItem( "&Settings", this, SLOT(displaySettings()), Qt::CTRL+Qt::Key_S ); 48 settings->insertItem( "&Settings", this, SLOT(displaySettings()), Qt::CTRL+Qt::Key_S );
48 49
49 edit = new QPopupMenu( this ); 50 edit = new QPopupMenu( this );
50 edit->insertItem( "&Find", this, SLOT(searchForPackage()), Qt::CTRL+Qt::Key_I ); 51 edit->insertItem( "&Find", this, SLOT(searchForPackage()), Qt::CTRL+Qt::Key_I );
51 edit->insertItem( "Find &Next", this, SLOT(repeatSearchForPackage()), Qt::CTRL+Qt::Key_N ); 52 edit->insertItem( "Find &Next", this, SLOT(repeatSearchForPackage()), Qt::CTRL+Qt::Key_N );
52 53
53 filter = new QPopupMenu( this ); 54 filter = new QPopupMenu( this );
54 mnuShowUninstalledPkgsId = filter->insertItem( "Show &Uninstalled Packages", this, SLOT(filterUninstalledPackages()), Qt::CTRL+Qt::Key_U ); 55 mnuShowUninstalledPkgsId = filter->insertItem( "Show &Non-Installed Packages", this, SLOT(filterUninstalledPackages()), Qt::CTRL+Qt::Key_U );
55 mnuShowInstalledPkgsId = filter->insertItem( "Show In&stalled Packages", this, SLOT(filterInstalledPackages()), Qt::CTRL+Qt::Key_S ); 56 mnuShowInstalledPkgsId = filter->insertItem( "Show In&stalled Packages", this, SLOT(filterInstalledPackages()), Qt::CTRL+Qt::Key_S );
56 mnuShowUpgradedPkgsId = filter->insertItem( "Show U&pdated Packages", this, SLOT(filterUpgradedPackages()), Qt::CTRL+Qt::Key_P ); 57 mnuShowUpgradedPkgsId = filter->insertItem( "Show U&pdated Packages", this, SLOT(filterUpgradedPackages()), Qt::CTRL+Qt::Key_P );
57 filter->insertSeparator(); 58 filter->insertSeparator();
58 mnuFilterByCategory = filter->insertItem( "Filter By &Category", this, SLOT(filterCategory()), Qt::CTRL+Qt::Key_C ); 59 mnuFilterByCategory = filter->insertItem( "Filter By &Category", this, SLOT(filterCategory()), Qt::CTRL+Qt::Key_C );
59 mnuSetFilterCategory = filter->insertItem( "Set Filter C&ategory", this, SLOT(setFilterCategory()), Qt::CTRL+Qt::Key_A ); 60 mnuSetFilterCategory = filter->insertItem( "Set Filter C&ategory", this, SLOT(setFilterCategory()), Qt::CTRL+Qt::Key_A );
60 61
61 // Create the main menu 62 // Create the main menu
62 menu = menuBar(); //new QMenuBar( this ); 63 menu = menuBar(); //new QMenuBar( this );
63 menu->insertItem( "&Settings", settings ); 64 menu->insertItem( "&Settings", settings );
64 menu->insertItem( "&Edit", edit ); 65 menu->insertItem( "&Edit", edit );
65 menu->insertItem( "&Filter", filter ); 66 menu->insertItem( "&Filter", filter );
66 menu->insertItem( "&Help", help ); 67 menu->insertItem( "&Help", help );
67 68
68 mgr = new DataManager(); 69 mgr = new DataManager();
69 mgr->loadServers(); 70 mgr->loadServers();
70 71
71 stack = new QWidgetStack( this ); 72 stack = new QWidgetStack( this );
72 73
73 networkPkgWindow = new NetworkPackageManager( mgr, stack ); 74 networkPkgWindow = new NetworkPackageManager( mgr, stack );
74 stack->addWidget( networkPkgWindow, 1 ); 75 stack->addWidget( networkPkgWindow, 1 );
75 76
76 setCentralWidget( stack ); 77 setCentralWidget( stack );
77 stack->raiseWidget( networkPkgWindow ); 78 stack->raiseWidget( networkPkgWindow );
78} 79}
79 80
80MainWindow :: ~MainWindow() 81MainWindow :: ~MainWindow()
81{ 82{
82 delete networkPkgWindow; 83 delete networkPkgWindow;
83} 84}
84 85
85void MainWindow :: setDocument( const QString &doc ) 86void MainWindow :: setDocument( const QString &doc )
86{ 87{
87 // Remove path from package 88 // Remove path from package
88 QString package = Utils::getPackageNameFromIpkFilename( doc ); 89 QString package = Utils::getPackageNameFromIpkFilename( doc );
89 std::cout << "Selecting package " << package << std::endl; 90 std::cout << "Selecting package " << package << std::endl;
90 networkPkgWindow->selectLocalPackage( package ); 91 networkPkgWindow->selectLocalPackage( package );
91} 92}
92 93
93void MainWindow :: displaySettings() 94void MainWindow :: displaySettings()
94{ 95{
95 SettingsImpl *dlg = new SettingsImpl( mgr, this, "Settings", true ); 96 SettingsImpl *dlg = new SettingsImpl( mgr, this, "Settings", true );
96 if ( dlg->showDlg( 0 ) ) 97 if ( dlg->showDlg( 0 ) )
97 networkPkgWindow->updateData(); 98 networkPkgWindow->updateData();
98 delete dlg; 99 delete dlg;
99} 100}
100 101
101void MainWindow :: displayHelp() 102void MainWindow :: displayHelp()
102{ 103{
diff --git a/noncore/settings/aqpkg/networkpkgmgr.cpp b/noncore/settings/aqpkg/networkpkgmgr.cpp
index d9e62b6..79a380e 100644
--- a/noncore/settings/aqpkg/networkpkgmgr.cpp
+++ b/noncore/settings/aqpkg/networkpkgmgr.cpp
@@ -172,97 +172,97 @@ void NetworkPackageManager :: initGui()
172 else 172 else
173 hbox4->addWidget( b ); 173 hbox4->addWidget( b );
174 } 174 }
175 } 175 }
176 176
177 vbox->addWidget( packagesList ); 177 vbox->addWidget( packagesList );
178 packagesList->addColumn( "Packages" ); 178 packagesList->addColumn( "Packages" );
179 179
180 QHBoxLayout *hbox2 = new QHBoxLayout( vbox, -1, "HBox2" ); 180 QHBoxLayout *hbox2 = new QHBoxLayout( vbox, -1, "HBox2" );
181 hbox2->addWidget( update ); 181 hbox2->addWidget( update );
182 hbox2->addWidget( download ); 182 hbox2->addWidget( download );
183 hbox2->addWidget( upgrade ); 183 hbox2->addWidget( upgrade );
184 hbox2->addWidget( apply ); 184 hbox2->addWidget( apply );
185} 185}
186 186
187void NetworkPackageManager :: setupConnections() 187void NetworkPackageManager :: setupConnections()
188{ 188{
189 connect( serversList, SIGNAL(activated( int )), this, SLOT(serverSelected( int ))); 189 connect( serversList, SIGNAL(activated( int )), this, SLOT(serverSelected( int )));
190 connect( apply, SIGNAL(released()), this, SLOT(applyChanges()) ); 190 connect( apply, SIGNAL(released()), this, SLOT(applyChanges()) );
191 connect( download, SIGNAL(released()), this, SLOT(downloadPackage()) ); 191 connect( download, SIGNAL(released()), this, SLOT(downloadPackage()) );
192 connect( upgrade, SIGNAL( released()), this, SLOT(upgradePackages()) ); 192 connect( upgrade, SIGNAL( released()), this, SLOT(upgradePackages()) );
193 connect( update, SIGNAL(released()), this, SLOT(updateServer()) ); 193 connect( update, SIGNAL(released()), this, SLOT(updateServer()) );
194} 194}
195 195
196void NetworkPackageManager :: showProgressDialog( char *initialText ) 196void NetworkPackageManager :: showProgressDialog( char *initialText )
197{ 197{
198 if ( !progressDlg ) 198 if ( !progressDlg )
199 progressDlg = new ProgressDlg( this, "Progress", false ); 199 progressDlg = new ProgressDlg( this, "Progress", false );
200 progressDlg->setText( initialText ); 200 progressDlg->setText( initialText );
201 progressDlg->show(); 201 progressDlg->show();
202} 202}
203 203
204 204
205void NetworkPackageManager :: serverSelected( int ) 205void NetworkPackageManager :: serverSelected( int )
206{ 206{
207 packagesList->clear(); 207 packagesList->clear();
208 208
209 // display packages 209 // display packages
210 QString serverName = serversList->currentText(); 210 QString serverName = serversList->currentText();
211 currentlySelectedServer = serverName; 211 currentlySelectedServer = serverName;
212 212
213#ifdef QWS 213#ifdef QWS
214 // read download directory from config file 214 // read download directory from config file
215 Config cfg( "aqpkg" ); 215 Config cfg( "aqpkg" );
216 cfg.setGroup( "settings" ); 216 cfg.setGroup( "settings" );
217 cfg.writeEntry( "selectedServer", currentlySelectedServer ); 217 cfg.writeEntry( "selectedServer", currentlySelectedServer );
218#endif 218#endif
219 219
220 Server *s = dataMgr->getServer( serverName ); 220 vector<Server>::iterator s = dataMgr->getServer( serverName );
221 221
222 vector<Package> &list = s->getPackageList(); 222 vector<Package> &list = s->getPackageList();
223 vector<Package>::iterator it; 223 vector<Package>::iterator it;
224 for ( it = list.begin() ; it != list.end() ; ++it ) 224 for ( it = list.begin() ; it != list.end() ; ++it )
225 { 225 {
226 226
227 QString text = ""; 227 QString text = "";
228 228
229 // Apply show only uninstalled packages filter 229 // Apply show only uninstalled packages filter
230 if ( showUninstalledPkgs && it->isInstalled() ) 230 if ( showUninstalledPkgs && it->isInstalled() )
231 continue; 231 continue;
232 232
233 // Apply show only installed packages filter 233 // Apply show only installed packages filter
234 if ( showInstalledPkgs && !it->isInstalled() ) 234 if ( showInstalledPkgs && !it->isInstalled() )
235 continue; 235 continue;
236 236
237 // Apply show only new installed packages filter 237 // Apply show only new installed packages filter
238 if ( showUpgradedPkgs ) 238 if ( showUpgradedPkgs )
239 { 239 {
240 if ( !it->isInstalled() || 240 if ( !it->isInstalled() ||
241 compareVersions( it->getInstalledVersion(), it->getVersion() ) != 1 ) 241 compareVersions( it->getInstalledVersion(), it->getVersion() ) != 1 )
242 continue; 242 continue;
243 } 243 }
244 244
245 // Apply the section filter 245 // Apply the section filter
246 if ( categoryFilterEnabled && categoryFilter != "" ) 246 if ( categoryFilterEnabled && categoryFilter != "" )
247 { 247 {
248 if ( it->getSection() == "" || categoryFilter.find( it->getSection().lower() ) == -1 ) 248 if ( it->getSection() == "" || categoryFilter.find( it->getSection().lower() ) == -1 )
249 continue; 249 continue;
250 } 250 }
251 251
252 // If the local server, only display installed packages 252 // If the local server, only display installed packages
253 if ( serverName == LOCAL_SERVER && !it->isInstalled() ) 253 if ( serverName == LOCAL_SERVER && !it->isInstalled() )
254 continue; 254 continue;
255 255
256 256
257 text += it->getPackageName(); 257 text += it->getPackageName();
258 if ( it->isInstalled() ) 258 if ( it->isInstalled() )
259 { 259 {
260 text += " (installed)"; 260 text += " (installed)";
261 261
262 // If a different version of package is available, postfix it with an * 262 // If a different version of package is available, postfix it with an *
263 if ( it->getVersion() != it->getInstalledVersion() ) 263 if ( it->getVersion() != it->getInstalledVersion() )
264 { 264 {
265 265
266 if ( compareVersions( it->getInstalledVersion(), it->getVersion() ) == 1 ) 266 if ( compareVersions( it->getInstalledVersion(), it->getVersion() ) == 1 )
267 text += "*"; 267 text += "*";
268 } 268 }
@@ -567,97 +567,97 @@ void NetworkPackageManager :: applyChanges()
567 { 567 {
568 InstallData data = dealWithItem( item ); 568 InstallData data = dealWithItem( item );
569 workingPackages.push_back( data ); 569 workingPackages.push_back( data );
570 } 570 }
571 } 571 }
572 572
573 if ( workingPackages.size() == 0 ) 573 if ( workingPackages.size() == 0 )
574 { 574 {
575 // Nothing to do 575 // Nothing to do
576 QMessageBox::information( this, "Nothing to do", 576 QMessageBox::information( this, "Nothing to do",
577 "No packages selected", "OK" ); 577 "No packages selected", "OK" );
578 578
579 return; 579 return;
580 } 580 }
581 581
582 // do the stuff 582 // do the stuff
583 InstallDlgImpl dlg( workingPackages, dataMgr, this, "Install", true ); 583 InstallDlgImpl dlg( workingPackages, dataMgr, this, "Install", true );
584 dlg.showDlg(); 584 dlg.showDlg();
585 585
586 // Reload data 586 // Reload data
587 dataMgr->reloadServerData(); 587 dataMgr->reloadServerData();
588 serverSelected(-1); 588 serverSelected(-1);
589 589
590#ifdef QWS 590#ifdef QWS
591 // Finally let the main system update itself 591 // Finally let the main system update itself
592 QCopEnvelope e("QPE/System", "linkChanged(QString)"); 592 QCopEnvelope e("QPE/System", "linkChanged(QString)");
593 QString lf = QString::null; 593 QString lf = QString::null;
594 e << lf; 594 e << lf;
595#endif 595#endif
596} 596}
597 597
598// decide what to do - either remove, upgrade or install 598// decide what to do - either remove, upgrade or install
599// Current rules: 599// Current rules:
600// If not installed - install 600// If not installed - install
601// If installed and different version available - upgrade 601// If installed and different version available - upgrade
602// If installed and version up to date - remove 602// If installed and version up to date - remove
603InstallData NetworkPackageManager :: dealWithItem( QCheckListItem *item ) 603InstallData NetworkPackageManager :: dealWithItem( QCheckListItem *item )
604{ 604{
605 QString name = item->text(); 605 QString name = item->text();
606 int pos = name.find( "*" ); 606 int pos = name.find( "*" );
607 name.truncate( pos ); 607 name.truncate( pos );
608 608
609 // if (there is a (installed), remove it 609 // if (there is a (installed), remove it
610 pos = name.find( "(installed)" ); 610 pos = name.find( "(installed)" );
611 if ( pos > 0 ) 611 if ( pos > 0 )
612 name.truncate( pos - 1 ); 612 name.truncate( pos - 1 );
613 613
614 // Get package 614 // Get package
615 Server *s = dataMgr->getServer( serversList->currentText() ); 615 vector<Server>::iterator s = dataMgr->getServer( serversList->currentText() );
616 Package *p = s->getPackage( name ); 616 Package *p = s->getPackage( name );
617 617
618 // If the package has a filename then it is a local file 618 // If the package has a filename then it is a local file
619 if ( p->isPackageStoredLocally() ) 619 if ( p->isPackageStoredLocally() )
620 name = p->getFilename(); 620 name = p->getFilename();
621 621
622 QString option; 622 QString option;
623 QString dest = "root"; 623 QString dest = "root";
624 if ( !p->isInstalled() ) 624 if ( !p->isInstalled() )
625 { 625 {
626 InstallData item; 626 InstallData item;
627 item.option = "I"; 627 item.option = "I";
628 item.packageName = name; 628 item.packageName = name;
629 return item; 629 return item;
630 } 630 }
631 else 631 else
632 { 632 {
633 InstallData item; 633 InstallData item;
634 item.option = "D"; 634 item.option = "D";
635 if ( !p->isPackageStoredLocally() ) 635 if ( !p->isPackageStoredLocally() )
636 item.packageName = p->getInstalledPackageName(); 636 item.packageName = p->getInstalledPackageName();
637 else 637 else
638 item.packageName = name; 638 item.packageName = name;
639 639
640 if ( p->getInstalledTo() ) 640 if ( p->getInstalledTo() )
641 { 641 {
642 item.destination = p->getInstalledTo(); 642 item.destination = p->getInstalledTo();
643 cout << "dest - " << p->getInstalledTo()->getDestinationName() << endl; 643 cout << "dest - " << p->getInstalledTo()->getDestinationName() << endl;
644 cout << "dest - " << p->getInstalledTo()->getDestinationPath() << endl; 644 cout << "dest - " << p->getInstalledTo()->getDestinationPath() << endl;
645 } 645 }
646 else 646 else
647 { 647 {
648 item.destination = p->getLocalPackage()->getInstalledTo(); 648 item.destination = p->getLocalPackage()->getInstalledTo();
649 } 649 }
650 650
651 // Now see if version is newer or not 651 // Now see if version is newer or not
652 int val = compareVersions( p->getInstalledVersion(), p->getVersion() ); 652 int val = compareVersions( p->getInstalledVersion(), p->getVersion() );
653 653
654 // If the version requested is older and user selected a local ipk file, then reinstall the file 654 // If the version requested is older and user selected a local ipk file, then reinstall the file
655 if ( p->isPackageStoredLocally() && val == -1 ) 655 if ( p->isPackageStoredLocally() && val == -1 )
656 val = 0; 656 val = 0;
657 657
658 if ( val == -2 ) 658 if ( val == -2 )
659 { 659 {
660 // Error - should handle 660 // Error - should handle
661 } 661 }
662 else if ( val == -1 ) 662 else if ( val == -1 )
663 { 663 {
diff --git a/noncore/settings/aqpkg/server.cpp b/noncore/settings/aqpkg/server.cpp
index 58407d5..2cb0533 100644
--- a/noncore/settings/aqpkg/server.cpp
+++ b/noncore/settings/aqpkg/server.cpp
@@ -35,97 +35,97 @@ using namespace std;
35#include <qpe/applnk.h> 35#include <qpe/applnk.h>
36#include <qlist.h> 36#include <qlist.h>
37#endif 37#endif
38 38
39#include "utils.h" 39#include "utils.h"
40 40
41#include "global.h" 41#include "global.h"
42 42
43Server :: Server( const char *name, const char *url ) 43Server :: Server( const char *name, const char *url )
44{ 44{
45 serverName = name; 45 serverName = name;
46 serverUrl = url; 46 serverUrl = url;
47 packageFile = IPKG_DIR; 47 packageFile = IPKG_DIR;
48 active = true; 48 active = true;
49 packageFile += "lists/" + serverName; 49 packageFile += "lists/" + serverName;
50} 50}
51 51
52Server :: ~Server() 52Server :: ~Server()
53{ 53{
54 cleanUp(); 54 cleanUp();
55} 55}
56 56
57void Server :: cleanUp() 57void Server :: cleanUp()
58{ 58{
59 packageList.clear(); 59 packageList.clear();
60} 60}
61 61
62void Server :: readStatusFile( vector<Destination> &destList ) 62void Server :: readStatusFile( vector<Destination> &destList )
63{ 63{
64 cleanUp(); 64 cleanUp();
65 65
66 vector<Destination>::iterator dit; 66 vector<Destination>::iterator dit;
67 bool rootRead = false; 67 bool rootRead = false;
68 for ( dit = destList.begin() ; dit != destList.end() ; ++dit ) 68 for ( dit = destList.begin() ; dit != destList.end() ; ++dit )
69 { 69 {
70 bool installingToRoot = false; 70 bool installingToRoot = false;
71 71
72 QString path = dit->getDestinationPath(); 72 QString path = dit->getDestinationPath();
73 if ( path.right( 1 ) != "/" ) 73 if ( path.right( 1 ) != "/" )
74 path += "/"; 74 path += "/";
75 75
76 if ( path == "/" ) 76 if ( path == "/" )
77 { 77 {
78 rootRead = true; 78 rootRead = true;
79 installingToRoot = true; 79 installingToRoot = true;
80 } 80 }
81 81
82 packageFile = path + "usr/lib/ipkg/status"; 82 packageFile = path + "usr/lib/ipkg/status";
83 readPackageFile( 0, false, installingToRoot, dit ); 83 readPackageFile( 0, false, installingToRoot, &( *dit ) );
84 } 84 }
85 85
86 // Ensure that the root status file is read 86 // Ensure that the root status file is read
87 if ( !rootRead ) 87 if ( !rootRead )
88 { 88 {
89 cout << "Reading status file " << "/usr/lib/ipkg/status" << endl; 89 cout << "Reading status file " << "/usr/lib/ipkg/status" << endl;
90 packageFile = "/usr/lib/ipkg/status"; 90 packageFile = "/usr/lib/ipkg/status";
91 readPackageFile( 0, false, true ); 91 readPackageFile( 0, false, true );
92 } 92 }
93} 93}
94 94
95void Server :: readLocalIpks( Server *local ) 95void Server :: readLocalIpks( Server *local )
96{ 96{
97 cleanUp(); 97 cleanUp();
98 98
99#ifdef QWS 99#ifdef QWS
100 // First, get any local IPKGs in the documents area 100 // First, get any local IPKGs in the documents area
101 // Only applicable to Qtopie/Opie 101 // Only applicable to Qtopie/Opie
102 102
103 DocLnkSet files; 103 DocLnkSet files;
104 Global::findDocuments( &files, "application/ipkg" ); 104 Global::findDocuments( &files, "application/ipkg" );
105 105
106 // Now add the items to the list 106 // Now add the items to the list
107 QListIterator<DocLnk> it( files.children() ); 107 QListIterator<DocLnk> it( files.children() );
108 108
109 for ( ; it.current() ; ++it ) 109 for ( ; it.current() ; ++it )
110 { 110 {
111 // OK, we have a local IPK file, I think the standard naming conventions 111 // OK, we have a local IPK file, I think the standard naming conventions
112 // for these are packagename_version_arm.ipk 112 // for these are packagename_version_arm.ipk
113 QString file = (*it)->file(); 113 QString file = (*it)->file();
114 114
115 // Changed to display the filename (excluding the path) 115 // Changed to display the filename (excluding the path)
116 QString packageName = Utils::getFilenameFromIpkFilename( file ); 116 QString packageName = Utils::getFilenameFromIpkFilename( file );
117 QString ver = Utils::getPackageVersionFromIpkFilename( file ); 117 QString ver = Utils::getPackageVersionFromIpkFilename( file );
118 packageList.push_back( Package( packageName ) ); 118 packageList.push_back( Package( packageName ) );
119 packageList.back().setVersion( ver ); 119 packageList.back().setVersion( ver );
120 packageList.back().setFilename( file ); 120 packageList.back().setFilename( file );
121 packageList.back().setPackageStoredLocally( true ); 121 packageList.back().setPackageStoredLocally( true );
122 122
123 } 123 }
124#else 124#else
125 QString names[] = { "advancedfm_0.9.1-20020811_arm.ipk", "libopie_0.9.1-20020811_arm.ipk", "libopieobex_0.9.1-20020811.1_arm.ipk", "opie-addressbook_0.9.1-20020811_arm.ipk" }; 125 QString names[] = { "advancedfm_0.9.1-20020811_arm.ipk", "libopie_0.9.1-20020811_arm.ipk", "libopieobex_0.9.1-20020811.1_arm.ipk", "opie-addressbook_0.9.1-20020811_arm.ipk" };
126 for ( int i = 0 ; i < 4 ; ++i ) 126 for ( int i = 0 ; i < 4 ; ++i )
127 { 127 {
128 // OK, we have a local IPK file, I think the standard naming conventions 128 // OK, we have a local IPK file, I think the standard naming conventions
129 // for these are packagename_version_arm.ipk 129 // for these are packagename_version_arm.ipk
130 QString file = names[i]; 130 QString file = names[i];
131 int p = file.find( "_" ); 131 int p = file.find( "_" );
diff --git a/noncore/settings/aqpkg/settingsimpl.cpp b/noncore/settings/aqpkg/settingsimpl.cpp
index a18a178..9dd2206 100644
--- a/noncore/settings/aqpkg/settingsimpl.cpp
+++ b/noncore/settings/aqpkg/settingsimpl.cpp
@@ -1,245 +1,246 @@
1/*************************************************************************** 1/***************************************************************************
2 settingsimpl.cpp - description 2 settingsimpl.cpp - description
3 ------------------- 3 -------------------
4 begin : Thu Aug 29 2002 4 begin : Thu Aug 29 2002
5 copyright : (C) 2002 by Andy Qua 5 copyright : (C) 2002 by Andy Qua
6 email : andy.qua@blueyonder.co.uk 6 email : andy.qua@blueyonder.co.uk
7 ***************************************************************************/ 7 ***************************************************************************/
8 8
9/*************************************************************************** 9/***************************************************************************
10 * * 10 * *
11 * This program is free software; you can redistribute it and/or modify * 11 * This program is free software; you can redistribute it and/or modify *
12 * it under the terms of the GNU General Public License as published by * 12 * it under the terms of the GNU General Public License as published by *
13 * the Free Software Foundation; either version 2 of the License, or * 13 * the Free Software Foundation; either version 2 of the License, or *
14 * (at your option) any later version. * 14 * (at your option) any later version. *
15 * * 15 * *
16 ***************************************************************************/ 16 ***************************************************************************/
17 17
18#include <fstream> 18#include <fstream>
19#include <algorithm>
19using namespace std; 20using namespace std;
20 21
21#include <qlistbox.h> 22#include <qlistbox.h>
22#include <qlineedit.h> 23#include <qlineedit.h>
23#include <qpushbutton.h> 24#include <qpushbutton.h>
24#include <qtabwidget.h> 25#include <qtabwidget.h>
25#include <qcheckbox.h> 26#include <qcheckbox.h>
26 27
27#ifdef QWS 28#ifdef QWS
28#include <qpe/config.h> 29#include <qpe/config.h>
29#endif 30#endif
30 31
31#include "settingsimpl.h" 32#include "settingsimpl.h"
32 33
33#include "global.h" 34#include "global.h"
34 35
35SettingsImpl :: SettingsImpl( DataManager *dataManager, QWidget * parent, const char* name, bool modal, WFlags fl ) 36SettingsImpl :: SettingsImpl( DataManager *dataManager, QWidget * parent, const char* name, bool modal, WFlags fl )
36 : SettingsBase( parent, name, modal, fl ) 37 : SettingsBase( parent, name, modal, fl )
37{ 38{
38 dataMgr = dataManager; 39 dataMgr = dataManager;
39 40
40 setupData(); 41 setupData();
41 changed = false; 42 changed = false;
42 newserver = false; 43 newserver = false;
43 newdestination = false; 44 newdestination = false;
44} 45}
45 46
46SettingsImpl :: ~SettingsImpl() 47SettingsImpl :: ~SettingsImpl()
47{ 48{
48 49
49} 50}
50 51
51bool SettingsImpl :: showDlg( int i ) 52bool SettingsImpl :: showDlg( int i )
52{ 53{
53 TabWidget->setCurrentPage( i ); 54 TabWidget->setCurrentPage( i );
54 showMaximized(); 55 showMaximized();
55 exec(); 56 exec();
56 57
57 if ( changed ) 58 if ( changed )
58 dataMgr->writeOutIpkgConf(); 59 dataMgr->writeOutIpkgConf();
59 60
60 return changed; 61 return changed;
61} 62}
62 63
63void SettingsImpl :: setupData() 64void SettingsImpl :: setupData()
64{ 65{
65 // add servers 66 // add servers
66 vector<Server>::iterator it; 67 vector<Server>::iterator it;
67 for ( it = dataMgr->getServerList().begin() ; it != dataMgr->getServerList().end() ; ++it ) 68 for ( it = dataMgr->getServerList().begin() ; it != dataMgr->getServerList().end() ; ++it )
68 { 69 {
69 if ( it->getServerName() == LOCAL_SERVER || it->getServerName() == LOCAL_IPKGS ) 70 if ( it->getServerName() == LOCAL_SERVER || it->getServerName() == LOCAL_IPKGS )
70 continue; 71 continue;
71 72
72 servers->insertItem( it->getServerName() ); 73 servers->insertItem( it->getServerName() );
73 } 74 }
74 75
75 // add destinations 76 // add destinations
76 vector<Destination>::iterator it2; 77 vector<Destination>::iterator it2;
77 for ( it2 = dataMgr->getDestinationList().begin() ; it2 != dataMgr->getDestinationList().end() ; ++it2 ) 78 for ( it2 = dataMgr->getDestinationList().begin() ; it2 != dataMgr->getDestinationList().end() ; ++it2 )
78 destinations->insertItem( it2->getDestinationName() ); 79 destinations->insertItem( it2->getDestinationName() );
79 80
80#ifdef QWS 81#ifdef QWS
81 Config cfg( "aqpkg" ); 82 Config cfg( "aqpkg" );
82 cfg.setGroup( "settings" ); 83 cfg.setGroup( "settings" );
83 jumpTo->setChecked( cfg.readBoolEntry( "showJumpTo", "true" ) ); 84 jumpTo->setChecked( cfg.readBoolEntry( "showJumpTo", "true" ) );
84#else 85#else
85 jumpTo->setChecked( true ); 86 jumpTo->setChecked( true );
86#endif 87#endif
87} 88}
88 89
89//------------------ Servers tab ---------------------- 90//------------------ Servers tab ----------------------
90 91
91void SettingsImpl :: editServer( int sel ) 92void SettingsImpl :: editServer( int sel )
92{ 93{
93 currentSelectedServer = sel; 94 currentSelectedServer = sel;
94 Server *s = dataMgr->getServer( servers->currentText() ); 95 vector<Server>::iterator s = dataMgr->getServer( servers->currentText() );
95 serverName = s->getServerName(); 96 serverName = s->getServerName();
96 servername->setText( s->getServerName() ); 97 servername->setText( s->getServerName() );
97 serverurl->setText( s->getServerUrl() ); 98 serverurl->setText( s->getServerUrl() );
98 active->setChecked( s->isServerActive() ); 99 active->setChecked( s->isServerActive() );
99} 100}
100 101
101void SettingsImpl :: newServer() 102void SettingsImpl :: newServer()
102{ 103{
103 newserver = true; 104 newserver = true;
104 servername->setText( "" ); 105 servername->setText( "" );
105 serverurl->setText( "" ); 106 serverurl->setText( "" );
106 servername->setFocus(); 107 servername->setFocus();
107 active->setChecked( true ); 108 active->setChecked( true );
108} 109}
109 110
110void SettingsImpl :: removeServer() 111void SettingsImpl :: removeServer()
111{ 112{
112 changed = true; 113 changed = true;
113 Server *s = dataMgr->getServer( servers->currentText() ); 114 vector<Server>::iterator s = dataMgr->getServer( servers->currentText() );
114 dataMgr->getServerList().erase( s ); 115 dataMgr->getServerList().erase( s );
115 servers->removeItem( currentSelectedServer ); 116 servers->removeItem( currentSelectedServer );
116} 117}
117 118
118void SettingsImpl :: changeServerDetails() 119void SettingsImpl :: changeServerDetails()
119{ 120{
120 changed = true; 121 changed = true;
121 122
122 QString newName = servername->text(); 123 QString newName = servername->text();
123 if ( !newserver ) 124 if ( !newserver )
124 { 125 {
125 Server *s = dataMgr->getServer( serverName ); 126 vector<Server>::iterator s = dataMgr->getServer( servers->currentText() );
126 127
127 // Update url 128 // Update url
128 s->setServerUrl( serverurl->text() ); 129 s->setServerUrl( serverurl->text() );
129 s->setActive( active->isChecked() ); 130 s->setActive( active->isChecked() );
130 131
131 132
132 // Check if server name has changed, if it has then we need to replace the key in the map 133 // Check if server name has changed, if it has then we need to replace the key in the map
133 if ( serverName != newName ) 134 if ( serverName != newName )
134 { 135 {
135 // Update server name 136 // Update server name
136 s->setServerName( newName ); 137 s->setServerName( newName );
137 138
138 // See if this server is the active server 139 // See if this server is the active server
139 // if ( dataMgr->getActiveServer() == serverName ) 140 // if ( dataMgr->getActiveServer() == serverName )
140 // dataMgr->setActiveServer( newName ); 141 // dataMgr->setActiveServer( newName );
141 142
142 // Update list box 143 // Update list box
143 servers->changeItem( newName, currentSelectedServer ); 144 servers->changeItem( newName, currentSelectedServer );
144 } 145 }
145 } 146 }
146 else 147 else
147 { 148 {
148 Server s( newName, serverurl->text() ); 149 Server s( newName, serverurl->text() );
149 dataMgr->getServerList().push_back( Server( newName, serverurl->text() ) ); 150 dataMgr->getServerList().push_back( Server( newName, serverurl->text() ) );
150 dataMgr->getServerList().end()->setActive( active->isChecked() ); 151 dataMgr->getServerList().end()->setActive( active->isChecked() );
151 servers->insertItem( newName ); 152 servers->insertItem( newName );
152 servers->setCurrentItem( servers->count() ); 153 servers->setCurrentItem( servers->count() );
153 newserver = false; 154 newserver = false;
154 } 155 }
155} 156}
156 157
157//------------------ Destinations tab ---------------------- 158//------------------ Destinations tab ----------------------
158 159
159void SettingsImpl :: editDestination( int sel ) 160void SettingsImpl :: editDestination( int sel )
160{ 161{
161 currentSelectedDestination = sel; 162 currentSelectedDestination = sel;
162 Destination *d = dataMgr->getDestination( destinations->currentText() ); 163 vector<Destination>::iterator d = dataMgr->getDestination( destinations->currentText() );
163 destinationName = d->getDestinationName(); 164 destinationName = d->getDestinationName();
164 destinationname->setText( d->getDestinationName() ); 165 destinationname->setText( d->getDestinationName() );
165 destinationurl->setText( d->getDestinationPath() ); 166 destinationurl->setText( d->getDestinationPath() );
166 linkToRoot->setChecked( d->linkToRoot() ); 167 linkToRoot->setChecked( d->linkToRoot() );
167} 168}
168 169
169void SettingsImpl :: newDestination() 170void SettingsImpl :: newDestination()
170{ 171{
171 newdestination = true; 172 newdestination = true;
172 destinationname->setText( "" ); 173 destinationname->setText( "" );
173 destinationurl->setText( "" ); 174 destinationurl->setText( "" );
174 destinationname->setFocus(); 175 destinationname->setFocus();
175 linkToRoot->setChecked( true ); 176 linkToRoot->setChecked( true );
176} 177}
177 178
178void SettingsImpl :: removeDestination() 179void SettingsImpl :: removeDestination()
179{ 180{
180 changed = true; 181 changed = true;
181 Destination *d = dataMgr->getDestination( destinations->currentText() ); 182 vector<Destination>::iterator d = dataMgr->getDestination( destinations->currentText() );
182 dataMgr->getDestinationList().erase( d ); 183 dataMgr->getDestinationList().erase( d );
183 destinations->removeItem( currentSelectedDestination ); 184 destinations->removeItem( currentSelectedDestination );
184} 185}
185 186
186void SettingsImpl :: changeDestinationDetails() 187void SettingsImpl :: changeDestinationDetails()
187{ 188{
188 changed = true; 189 changed = true;
189 190
190#ifdef QWS 191#ifdef QWS
191 Config cfg( "aqpkg" ); 192 Config cfg( "aqpkg" );
192 cfg.setGroup( "destinations" ); 193 cfg.setGroup( "destinations" );
193#endif 194#endif
194 195
195 QString newName = destinationname->text(); 196 QString newName = destinationname->text();
196 if ( !newdestination ) 197 if ( !newdestination )
197 { 198 {
198 Destination *d = dataMgr->getDestination( destinationName ); 199 vector<Destination>::iterator d = dataMgr->getDestination( destinations->currentText() );
199 200
200 // Update url 201 // Update url
201 d->setDestinationPath( destinationurl->text() ); 202 d->setDestinationPath( destinationurl->text() );
202 d->linkToRoot( linkToRoot->isChecked() ); 203 d->linkToRoot( linkToRoot->isChecked() );
203 204
204 // Check if server name has changed, if it has then we need to replace the key in the map 205 // Check if server name has changed, if it has then we need to replace the key in the map
205 if ( destinationName != newName ) 206 if ( destinationName != newName )
206 { 207 {
207 // Update server name 208 // Update server name
208 d->setDestinationName( newName ); 209 d->setDestinationName( newName );
209 210
210 // Update list box 211 // Update list box
211 destinations->changeItem( newName, currentSelectedDestination ); 212 destinations->changeItem( newName, currentSelectedDestination );
212 } 213 }
213#ifdef QWS 214#ifdef QWS
214 QString key = newName; 215 QString key = newName;
215 key += "_linkToRoot"; 216 key += "_linkToRoot";
216 int val = d->linkToRoot(); 217 int val = d->linkToRoot();
217 cfg.writeEntry( key, val ); 218 cfg.writeEntry( key, val );
218#endif 219#endif
219 } 220 }
220 else 221 else
221 { 222 {
222 dataMgr->getDestinationList().push_back( Destination( newName, destinationurl->text() ) ); 223 dataMgr->getDestinationList().push_back( Destination( newName, destinationurl->text() ) );
223 destinations->insertItem( newName ); 224 destinations->insertItem( newName );
224 destinations->setCurrentItem( destinations->count() ); 225 destinations->setCurrentItem( destinations->count() );
225 newdestination = false; 226 newdestination = false;
226 227
227#ifdef QWS 228#ifdef QWS
228 QString key = newName; 229 QString key = newName;
229 key += "_linkToRoot"; 230 key += "_linkToRoot";
230 cfg.writeEntry( key, true ); 231 cfg.writeEntry( key, true );
231#endif 232#endif
232 } 233 }
233} 234}
234 235
235//------------------ General tab ---------------------- 236//------------------ General tab ----------------------
236 237
237void SettingsImpl :: toggleJumpTo( bool val ) 238void SettingsImpl :: toggleJumpTo( bool val )
238{ 239{
239#ifdef QWS 240#ifdef QWS
240 Config cfg( "aqpkg" ); 241 Config cfg( "aqpkg" );
241 cfg.setGroup( "settings" ); 242 cfg.setGroup( "settings" );
242 cfg.writeEntry( "showJumpTo", val ); 243 cfg.writeEntry( "showJumpTo", val );
243#endif 244#endif
244} 245}
245 246