-rw-r--r-- | noncore/settings/aqpkg/installdlgimpl.cpp | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/noncore/settings/aqpkg/installdlgimpl.cpp b/noncore/settings/aqpkg/installdlgimpl.cpp index bfb4f62..80c06ba 100644 --- a/noncore/settings/aqpkg/installdlgimpl.cpp +++ b/noncore/settings/aqpkg/installdlgimpl.cpp | |||
@@ -124,58 +124,71 @@ bool InstallDlgImpl :: showDlg() | |||
124 | { | 124 | { |
125 | showMaximized(); | 125 | showMaximized(); |
126 | bool ret = exec(); | 126 | bool ret = exec(); |
127 | 127 | ||
128 | return ret; | 128 | return ret; |
129 | } | 129 | } |
130 | 130 | ||
131 | void InstallDlgImpl :: optionsSelected() | 131 | void InstallDlgImpl :: optionsSelected() |
132 | { | 132 | { |
133 | InstallOptionsDlgImpl opt( flags, this, "Option", true ); | 133 | InstallOptionsDlgImpl opt( flags, this, "Option", true ); |
134 | opt.exec(); | 134 | opt.exec(); |
135 | 135 | ||
136 | // set options selected from dialog | 136 | // set options selected from dialog |
137 | flags = opt.getFlags(); | 137 | flags = opt.getFlags(); |
138 | 138 | ||
139 | #ifdef QWS | 139 | #ifdef QWS |
140 | Config cfg( "aqpkg" ); | 140 | Config cfg( "aqpkg" ); |
141 | cfg.setGroup( "settings" ); | 141 | cfg.setGroup( "settings" ); |
142 | cfg.writeEntry( "installFlags", flags ); | 142 | cfg.writeEntry( "installFlags", flags ); |
143 | #endif | 143 | #endif |
144 | } | 144 | } |
145 | 145 | ||
146 | void InstallDlgImpl :: installSelected() | 146 | void InstallDlgImpl :: installSelected() |
147 | { | 147 | { |
148 | 148 | if ( btnInstall->text() == "Abort" ) | |
149 | if ( btnInstall->text() == "Close" ) | 149 | { |
150 | if ( pIpkg ) | ||
151 | { | ||
152 | displayText( "\n**** User Clicked ABORT ***" ); | ||
153 | pIpkg->abort(); | ||
154 | displayText( "**** Process Aborted ****" ); | ||
155 | } | ||
156 | |||
157 | btnInstall->setText( tr( "Close" ) ); | ||
158 | return; | ||
159 | } | ||
160 | else if ( btnInstall->text() == "Close" ) | ||
150 | { | 161 | { |
151 | done( 1 ); | 162 | done( 1 ); |
152 | return; | 163 | return; |
153 | } | 164 | } |
154 | 165 | ||
155 | // Disable buttons | 166 | // Disable buttons |
156 | btnOptions->setEnabled( false ); | 167 | btnOptions->setEnabled( false ); |
157 | btnInstall->setEnabled( false ); | 168 | // btnInstall->setEnabled( false ); |
169 | |||
170 | btnInstall->setText( "Abort" ); | ||
158 | 171 | ||
159 | if ( pIpkg ) | 172 | if ( pIpkg ) |
160 | { | 173 | { |
161 | output->setText( "" ); | 174 | output->setText( "" ); |
162 | 175 | ||
163 | connect( pIpkg, SIGNAL(outputText(const QString &)), this, SLOT(displayText(const QString &))); | 176 | connect( pIpkg, SIGNAL(outputText(const QString &)), this, SLOT(displayText(const QString &))); |
164 | pIpkg->runIpkg(); | 177 | pIpkg->runIpkg(); |
165 | } | 178 | } |
166 | else | 179 | else |
167 | { | 180 | { |
168 | output->setText( "" ); | 181 | output->setText( "" ); |
169 | vector<Destination>::iterator d = dataMgr->getDestination( destination->currentText() ); | 182 | vector<Destination>::iterator d = dataMgr->getDestination( destination->currentText() ); |
170 | QString dest = d->getDestinationName(); | 183 | QString dest = d->getDestinationName(); |
171 | QString destDir = d->getDestinationPath(); | 184 | QString destDir = d->getDestinationPath(); |
172 | int instFlags = flags; | 185 | int instFlags = flags; |
173 | if ( d->linkToRoot() ) | 186 | if ( d->linkToRoot() ) |
174 | instFlags |= MAKE_LINKS; | 187 | instFlags |= MAKE_LINKS; |
175 | 188 | ||
176 | #ifdef QWS | 189 | #ifdef QWS |
177 | // Save settings | 190 | // Save settings |
178 | Config cfg( "aqpkg" ); | 191 | Config cfg( "aqpkg" ); |
179 | cfg.setGroup( "settings" ); | 192 | cfg.setGroup( "settings" ); |
180 | cfg.writeEntry( "dest", dest ); | 193 | cfg.writeEntry( "dest", dest ); |
181 | #endif | 194 | #endif |
@@ -211,52 +224,53 @@ void InstallDlgImpl :: installSelected() | |||
211 | } | 224 | } |
212 | 225 | ||
213 | flags |= FORCE_REINSTALL; | 226 | flags |= FORCE_REINSTALL; |
214 | for ( it = updateList.begin() ; it != updateList.end() ; ++it ) | 227 | for ( it = updateList.begin() ; it != updateList.end() ; ++it ) |
215 | { | 228 | { |
216 | if ( it->option == "R" ) | 229 | if ( it->option == "R" ) |
217 | pIpkg->setOption( "reinstall" ); | 230 | pIpkg->setOption( "reinstall" ); |
218 | else | 231 | else |
219 | pIpkg->setOption( "upgrade" ); | 232 | pIpkg->setOption( "upgrade" ); |
220 | pIpkg->setDestination( it->destination->getDestinationName() ); | 233 | pIpkg->setDestination( it->destination->getDestinationName() ); |
221 | pIpkg->setDestinationDir( it->destination->getDestinationPath() ); | 234 | pIpkg->setDestinationDir( it->destination->getDestinationPath() ); |
222 | pIpkg->setPackage( it->packageName ); | 235 | pIpkg->setPackage( it->packageName ); |
223 | 236 | ||
224 | int tmpFlags = flags; | 237 | int tmpFlags = flags; |
225 | if ( it->destination->linkToRoot() && it->recreateLinks ) | 238 | if ( it->destination->linkToRoot() && it->recreateLinks ) |
226 | tmpFlags |= MAKE_LINKS; | 239 | tmpFlags |= MAKE_LINKS; |
227 | pIpkg->setFlags( tmpFlags ); | 240 | pIpkg->setFlags( tmpFlags ); |
228 | pIpkg->runIpkg(); | 241 | pIpkg->runIpkg(); |
229 | } | 242 | } |
230 | 243 | ||
231 | delete pIpkg; | 244 | delete pIpkg; |
232 | } | 245 | } |
233 | 246 | ||
234 | btnOptions->setEnabled( true ); | 247 | btnOptions->setEnabled( true ); |
235 | btnInstall->setEnabled( true ); | 248 | // btnInstall->setEnabled( true ); |
236 | btnInstall->setText( tr( "Close" ) ); | 249 | btnInstall->setText( tr( "Close" ) ); |
237 | } | 250 | } |
238 | 251 | ||
252 | |||
239 | void InstallDlgImpl :: displayText(const QString &text ) | 253 | void InstallDlgImpl :: displayText(const QString &text ) |
240 | { | 254 | { |
241 | QString t = output->text() + "\n" + text; | 255 | QString t = output->text() + "\n" + text; |
242 | output->setText( t ); | 256 | output->setText( t ); |
243 | output->setCursorPosition( output->numLines(), 0 ); | 257 | output->setCursorPosition( output->numLines(), 0 ); |
244 | } | 258 | } |
245 | 259 | ||
246 | 260 | ||
247 | void InstallDlgImpl :: displayAvailableSpace( const QString &text ) | 261 | void InstallDlgImpl :: displayAvailableSpace( const QString &text ) |
248 | { | 262 | { |
249 | vector<Destination>::iterator d = dataMgr->getDestination( text ); | 263 | vector<Destination>::iterator d = dataMgr->getDestination( text ); |
250 | QString destDir = d->getDestinationPath(); | 264 | QString destDir = d->getDestinationPath(); |
251 | 265 | ||
252 | long blockSize = 0; | 266 | long blockSize = 0; |
253 | long totalBlocks = 0; | 267 | long totalBlocks = 0; |
254 | long availBlocks = 0; | 268 | long availBlocks = 0; |
255 | QString space; | 269 | QString space; |
256 | if ( Utils::getStorageSpace( (const char *)destDir, &blockSize, &totalBlocks, &availBlocks ) ) | 270 | if ( Utils::getStorageSpace( (const char *)destDir, &blockSize, &totalBlocks, &availBlocks ) ) |
257 | { | 271 | { |
258 | long mult = blockSize / 1024; | 272 | long mult = blockSize / 1024; |
259 | long div = 1024 / blockSize; | 273 | long div = 1024 / blockSize; |
260 | 274 | ||
261 | if ( !mult ) mult = 1; | 275 | if ( !mult ) mult = 1; |
262 | if ( !div ) div = 1; | 276 | if ( !div ) div = 1; |