Diffstat (limited to 'noncore/settings/aqpkg/installdlgimpl.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/settings/aqpkg/installdlgimpl.cpp | 48 |
1 files changed, 42 insertions, 6 deletions
diff --git a/noncore/settings/aqpkg/installdlgimpl.cpp b/noncore/settings/aqpkg/installdlgimpl.cpp index 2bb8b4d..76d0a80 100644 --- a/noncore/settings/aqpkg/installdlgimpl.cpp +++ b/noncore/settings/aqpkg/installdlgimpl.cpp @@ -16,18 +16,22 @@ ***************************************************************************/ #include <stdio.h> +#include <opie/ofiledialog.h> + #ifdef QWS #include <qpe/config.h> +#include <qpe/fileselector.h> #include <qpe/qpeapplication.h> #include <qpe/resource.h> #include <qpe/storage.h> #endif #include <qcheckbox.h> #include <qcombobox.h> #include <qdialog.h> +#include <qfileinfo.h> #include <qgroupbox.h> #include <qmultilineedit.h> #include <qlabel.h> #include <qlayout.h> @@ -62,8 +66,9 @@ InstallDlgImpl::InstallDlgImpl( QList<InstallData> &packageList, DataManager *da defaultDest = cfg.readEntry( "dest", "root" ); // Grab flags - Turn MAKE_LINKS on by default (if no flags found) flags = cfg.readNumEntry( "installFlags", 0 ); + infoLevel = cfg.readNumEntry( "infoLevel", 1 ); #else flags = 0; #endif @@ -189,20 +194,48 @@ void InstallDlgImpl :: init( bool displayextrainfo ) } void InstallDlgImpl :: optionsSelected() { - InstallOptionsDlgImpl opt( flags, this, "Option", true ); - opt.exec(); - + if ( btnOptions->text() == tr( "Options" ) ) + { + InstallOptionsDlgImpl opt( flags, infoLevel, this, "Option", true ); + if ( opt.exec() == QDialog::Accepted ) + { // set options selected from dialog flags = opt.getFlags(); + infoLevel = opt.getInfoLevel(); #ifdef QWS Config cfg( "aqpkg" ); cfg.setGroup( "settings" ); cfg.writeEntry( "installFlags", flags ); + cfg.writeEntry( "infoLevel", infoLevel ); #endif } + } + else // Save output + { + QMap<QString, QStringList> map; + map.insert( tr( "All" ), QStringList() ); + QStringList text; + text << "text/*"; + map.insert(tr( "Text" ), text ); + text << "*"; + map.insert( tr( "All" ), text ); + + QString filename = OFileDialog::getSaveFileName( 2, "/", "ipkg-output", map ); + if( !filename.isEmpty() ) + { + QString currentFileName = QFileInfo( filename ).fileName(); + DocLnk doc; + doc.setType( "text/plain" ); + doc.setFile( filename ); + doc.setName( currentFileName ); + FileManager fm; + fm.saveFile( doc, output->text() ); + } + } +} void InstallDlgImpl :: installSelected() { if ( btnInstall->text() == tr( "Abort" ) ) @@ -271,16 +304,16 @@ void InstallDlgImpl :: installSelected() int tmpFlags = flags; if ( idata->destination->linkToRoot() ) tmpFlags |= MAKE_LINKS; - pIpkg->setFlags( tmpFlags ); + pIpkg->setFlags( tmpFlags, infoLevel ); pIpkg->runIpkg(); } pIpkg->setOption( "install" ); pIpkg->setDestination( dest ); pIpkg->setDestinationDir( destDir ); - pIpkg->setFlags( instFlags ); + pIpkg->setFlags( instFlags, infoLevel ); QListIterator<InstallData> it2( installList ); for ( ; it2.current(); ++it2 ) { pIpkg->setPackage( it2.current()->packageName ); @@ -302,9 +335,9 @@ void InstallDlgImpl :: installSelected() int tmpFlags = flags; if ( idata->destination->linkToRoot() && idata->recreateLinks ) tmpFlags |= MAKE_LINKS; - pIpkg->setFlags( tmpFlags ); + pIpkg->setFlags( tmpFlags, infoLevel ); pIpkg->runIpkg(); } delete pIpkg; @@ -315,8 +348,11 @@ void InstallDlgImpl :: installSelected() // btnInstall->setEnabled( true ); btnInstall->setText( tr( "Close" ) ); btnInstall->setIconSet( Resource::loadPixmap( "enter" ) ); + btnOptions->setText( tr( "Save output" ) ); + btnOptions->setIconSet( Resource::loadPixmap( "save" ) ); + if ( destination && destination->currentText() != 0 && destination->currentText() != "" ) displayAvailableSpace( destination->currentText() ); } |