-rw-r--r-- | noncore/settings/aqpkg/datamgr.cpp | 29 | ||||
-rw-r--r-- | noncore/settings/aqpkg/datamgr.h | 8 | ||||
-rw-r--r-- | noncore/settings/aqpkg/global.h | 2 | ||||
-rw-r--r-- | noncore/settings/aqpkg/installdlgimpl.cpp | 2 | ||||
-rw-r--r-- | noncore/settings/aqpkg/ipkg.cpp | 1 | ||||
-rw-r--r-- | noncore/settings/aqpkg/letterpushbutton.cpp | 2 | ||||
-rw-r--r-- | noncore/settings/aqpkg/mainwin.cpp | 5 | ||||
-rw-r--r-- | noncore/settings/aqpkg/networkpkgmgr.cpp | 4 | ||||
-rw-r--r-- | noncore/settings/aqpkg/server.cpp | 2 | ||||
-rw-r--r-- | noncore/settings/aqpkg/settingsimpl.cpp | 23 |
10 files changed, 37 insertions, 41 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> |
19 | using namespace std; | 19 | using 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 | ||
31 | QString DataManager::availableCategories = ""; | 31 | QString DataManager::availableCategories = ""; |
32 | DataManager::DataManager() | 32 | DataManager::DataManager() |
33 | { | 33 | { |
34 | activeServer = ""; | 34 | activeServer = ""; |
35 | availableCategories = "#"; | 35 | availableCategories = "#"; |
36 | } | 36 | } |
37 | 37 | ||
38 | DataManager::~DataManager() | 38 | DataManager::~DataManager() |
39 | { | 39 | { |
40 | } | 40 | } |
41 | 41 | ||
42 | Server *DataManager :: getServer( const char *name ) | 42 | vector<Server>::iterator DataManager :: getServer( const char *name ) |
43 | { | 43 | { |
44 | Server *s = 0; | 44 | vector<Server>::iterator it = serverList.begin(); |
45 | vector<Server>::iterator it = serverList.begin(); | 45 | while ( it != serverList.end() ) |
46 | while ( it != serverList.end() && s == 0 ) | ||
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 | ||
57 | Destination *DataManager :: getDestination( const char *name ) | 56 | vector<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 | ||
72 | void DataManager :: loadServers() | 70 | void 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 | ||
161 | void DataManager :: reloadServerData( ) | 154 | void 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 | ||
180 | void DataManager :: writeOutIpkgConf() | 173 | void 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> |
22 | using namespace std; | 22 | using 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 | ||
37 | class DataManager | 37 | class DataManager |
38 | { | 38 | { |
39 | public: | 39 | public: |
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 | ||
61 | private: | 61 | private: |
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 |
61 | void * operator new(unsigned int size,const char *file, int line); | 61 | void * operator new(unsigned int size,const char *file, int line); |
62 | void operator delete(void *p); | 62 | void 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 | ||
125 | void InstallDlgImpl :: optionsSelected() | 125 | void 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 | ||
148 | void InstallDlgImpl :: installSelected() | 148 | void 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> | ||
19 | using namespace std; | 20 | using 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 | ||
36 | Ipkg :: Ipkg() | 37 | Ipkg :: Ipkg() |
37 | { | 38 | { |
38 | } | 39 | } |
39 | 40 | ||
40 | Ipkg :: ~Ipkg() | 41 | Ipkg :: ~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 "") |
53 | bool Ipkg :: runIpkg( ) | 54 | bool 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 | ||
20 | LetterPushButton :: LetterPushButton( const QString &text, QWidget *parent, const char *name=0 ) | 20 | LetterPushButton :: 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 | ||
26 | LetterPushButton :: ~LetterPushButton() | 26 | LetterPushButton :: ~LetterPushButton() |
27 | { | 27 | { |
28 | } | 28 | } |
29 | 29 | ||
30 | void LetterPushButton :: released_emmitor() | 30 | void 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> |
19 | using 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 | ||
32 | MainWindow :: MainWindow( QWidget *p, char *name ) | 33 | MainWindow :: 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 | ||
80 | MainWindow :: ~MainWindow() | 81 | MainWindow :: ~MainWindow() |
81 | { | 82 | { |
82 | delete networkPkgWindow; | 83 | delete networkPkgWindow; |
83 | } | 84 | } |
84 | 85 | ||
85 | void MainWindow :: setDocument( const QString &doc ) | 86 | void 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 | ||
93 | void MainWindow :: displaySettings() | 94 | void 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 | ||
101 | void MainWindow :: displayHelp() | 102 | void MainWindow :: displayHelp() |
102 | { | 103 | { |
@@ -161,49 +162,49 @@ void MainWindow :: filterInstalledPackages() | |||
161 | filter->setItemChecked( mnuShowUninstalledPkgsId, false ); | 162 | filter->setItemChecked( mnuShowUninstalledPkgsId, false ); |
162 | networkPkgWindow->showOnlyUninstalledPackages( false ); | 163 | networkPkgWindow->showOnlyUninstalledPackages( false ); |
163 | filter->setItemChecked( mnuShowUpgradedPkgsId, false ); | 164 | filter->setItemChecked( mnuShowUpgradedPkgsId, false ); |
164 | networkPkgWindow->showUpgradedPackages( false ); | 165 | networkPkgWindow->showUpgradedPackages( false ); |
165 | 166 | ||
166 | networkPkgWindow->showOnlyInstalledPackages( val ); | 167 | networkPkgWindow->showOnlyInstalledPackages( val ); |
167 | } | 168 | } |
168 | 169 | ||
169 | void MainWindow :: filterUpgradedPackages() | 170 | void MainWindow :: filterUpgradedPackages() |
170 | { | 171 | { |
171 | bool val; | 172 | bool val; |
172 | if ( filter->isItemChecked( mnuShowUpgradedPkgsId ) ) | 173 | if ( filter->isItemChecked( mnuShowUpgradedPkgsId ) ) |
173 | { | 174 | { |
174 | val = false; | 175 | val = false; |
175 | filter->setItemChecked( mnuShowUpgradedPkgsId, false ); | 176 | filter->setItemChecked( mnuShowUpgradedPkgsId, false ); |
176 | } | 177 | } |
177 | else | 178 | else |
178 | { | 179 | { |
179 | val = true; | 180 | val = true; |
180 | filter->setItemChecked( mnuShowUpgradedPkgsId, true ); | 181 | filter->setItemChecked( mnuShowUpgradedPkgsId, true ); |
181 | } | 182 | } |
182 | 183 | ||
183 | filter->setItemChecked( mnuShowUninstalledPkgsId, false ); | 184 | filter->setItemChecked( mnuShowUninstalledPkgsId, false ); |
184 | networkPkgWindow->showOnlyUninstalledPackages( false ); | 185 | networkPkgWindow->showOnlyUninstalledPackages( false ); |
185 | filter->setItemChecked( mnuShowInstalledPkgsId, false ); | 186 | filter->setItemChecked( mnuShowInstalledPkgsId, false ); |
186 | networkPkgWindow->showOnlyInstalledPackages( false ); | 187 | networkPkgWindow->showOnlyInstalledPackages( false ); |
187 | 188 | ||
188 | networkPkgWindow->showUpgradedPackages( val ); | 189 | networkPkgWindow->showUpgradedPackages( val ); |
189 | } | 190 | } |
190 | 191 | ||
191 | void MainWindow :: setFilterCategory() | 192 | void MainWindow :: setFilterCategory() |
192 | { | 193 | { |
193 | if ( networkPkgWindow->setFilterCategory( ) ) | 194 | if ( networkPkgWindow->setFilterCategory( ) ) |
194 | filter->setItemChecked( mnuFilterByCategory, true ); | 195 | filter->setItemChecked( mnuFilterByCategory, true ); |
195 | } | 196 | } |
196 | 197 | ||
197 | void MainWindow :: filterCategory() | 198 | void MainWindow :: filterCategory() |
198 | { | 199 | { |
199 | if ( filter->isItemChecked( mnuFilterByCategory ) ) | 200 | if ( filter->isItemChecked( mnuFilterByCategory ) ) |
200 | { | 201 | { |
201 | networkPkgWindow->filterByCategory( false ); | 202 | networkPkgWindow->filterByCategory( false ); |
202 | filter->setItemChecked( mnuFilterByCategory, false ); | 203 | filter->setItemChecked( mnuFilterByCategory, false ); |
203 | } | 204 | } |
204 | else | 205 | else |
205 | { | 206 | { |
206 | if ( networkPkgWindow->filterByCategory( true ) ) | 207 | if ( networkPkgWindow->filterByCategory( true ) ) |
207 | filter->setItemChecked( mnuFilterByCategory, true ); | 208 | filter->setItemChecked( mnuFilterByCategory, true ); |
208 | } | 209 | } |
209 | } \ No newline at end of file | 210 | } |
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 | ||
187 | void NetworkPackageManager :: setupConnections() | 187 | void 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 | ||
196 | void NetworkPackageManager :: showProgressDialog( char *initialText ) | 196 | void 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 | ||
205 | void NetworkPackageManager :: serverSelected( int ) | 205 | void 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 |
603 | InstallData NetworkPackageManager :: dealWithItem( QCheckListItem *item ) | 603 | InstallData 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 | ||
43 | Server :: Server( const char *name, const char *url ) | 43 | Server :: 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 | ||
52 | Server :: ~Server() | 52 | Server :: ~Server() |
53 | { | 53 | { |
54 | cleanUp(); | 54 | cleanUp(); |
55 | } | 55 | } |
56 | 56 | ||
57 | void Server :: cleanUp() | 57 | void Server :: cleanUp() |
58 | { | 58 | { |
59 | packageList.clear(); | 59 | packageList.clear(); |
60 | } | 60 | } |
61 | 61 | ||
62 | void Server :: readStatusFile( vector<Destination> &destList ) | 62 | void 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 | ||
95 | void Server :: readLocalIpks( Server *local ) | 95 | void 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> | ||
19 | using namespace std; | 20 | using 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 | ||
35 | SettingsImpl :: SettingsImpl( DataManager *dataManager, QWidget * parent, const char* name, bool modal, WFlags fl ) | 36 | SettingsImpl :: 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 | ||
46 | SettingsImpl :: ~SettingsImpl() | 47 | SettingsImpl :: ~SettingsImpl() |
47 | { | 48 | { |
48 | 49 | ||
49 | } | 50 | } |
50 | 51 | ||
51 | bool SettingsImpl :: showDlg( int i ) | 52 | bool 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 | ||
63 | void SettingsImpl :: setupData() | 64 | void 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 | ||
91 | void SettingsImpl :: editServer( int sel ) | 92 | void 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 | ||
101 | void SettingsImpl :: newServer() | 102 | void 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 | ||
110 | void SettingsImpl :: removeServer() | 111 | void 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 | ||
118 | void SettingsImpl :: changeServerDetails() | 119 | void 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 | ||
159 | void SettingsImpl :: editDestination( int sel ) | 160 | void 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 | ||
169 | void SettingsImpl :: newDestination() | 170 | void 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 | ||
178 | void SettingsImpl :: removeDestination() | 179 | void 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 | ||
186 | void SettingsImpl :: changeDestinationDetails() | 187 | void 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 | ||
237 | void SettingsImpl :: toggleJumpTo( bool val ) | 238 | void 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 | ||