author | drw <drw> | 2003-04-17 20:19:52 (UTC) |
---|---|---|
committer | drw <drw> | 2003-04-17 20:19:52 (UTC) |
commit | fabadbc7caba39006fcdda5167c29fa287e23cc3 (patch) (side-by-side diff) | |
tree | bcd0fe44cd443001514ff4f9e50af5e9da093fcc | |
parent | 187e3c56ab0bb2f562c9d6347a99edb440c18d6c (diff) | |
download | opie-fabadbc7caba39006fcdda5167c29fa287e23cc3.zip opie-fabadbc7caba39006fcdda5167c29fa287e23cc3.tar.gz opie-fabadbc7caba39006fcdda5167c29fa287e23cc3.tar.bz2 |
Added better verbosity options and option to save ipkg output to a file (per 'bugs' #856 & #857). Also fixed Ok/Cancel behavior on install options dialog.
-rw-r--r-- | noncore/settings/aqpkg/installdlgimpl.cpp | 58 | ||||
-rw-r--r-- | noncore/settings/aqpkg/installdlgimpl.h | 1 | ||||
-rw-r--r-- | noncore/settings/aqpkg/instoptionsimpl.cpp | 27 | ||||
-rw-r--r-- | noncore/settings/aqpkg/instoptionsimpl.h | 5 | ||||
-rw-r--r-- | noncore/settings/aqpkg/ipkg.cpp | 6 | ||||
-rw-r--r-- | noncore/settings/aqpkg/ipkg.h | 3 |
6 files changed, 79 insertions, 21 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 @@ -18,2 +18,4 @@ #include <stdio.h> + +#include <opie/ofiledialog.h> @@ -21,2 +23,3 @@ #include <qpe/config.h> +#include <qpe/fileselector.h> #include <qpe/qpeapplication.h> @@ -29,2 +32,3 @@ #include <qdialog.h> +#include <qfileinfo.h> #include <qgroupbox.h> @@ -65,2 +69,3 @@ InstallDlgImpl::InstallDlgImpl( QList<InstallData> &packageList, DataManager *da flags = cfg.readNumEntry( "installFlags", 0 ); + infoLevel = cfg.readNumEntry( "infoLevel", 1 ); #else @@ -192,13 +197,41 @@ void InstallDlgImpl :: optionsSelected() { - InstallOptionsDlgImpl opt( flags, this, "Option", true ); - opt.exec(); - - // set options selected from dialog - flags = opt.getFlags(); + 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 ); + 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() ); + } + } } @@ -274,3 +307,3 @@ void InstallDlgImpl :: installSelected() - pIpkg->setFlags( tmpFlags ); + pIpkg->setFlags( tmpFlags, infoLevel ); pIpkg->runIpkg(); @@ -281,3 +314,3 @@ void InstallDlgImpl :: installSelected() pIpkg->setDestinationDir( destDir ); - pIpkg->setFlags( instFlags ); + pIpkg->setFlags( instFlags, infoLevel ); QListIterator<InstallData> it2( installList ); @@ -305,3 +338,3 @@ void InstallDlgImpl :: installSelected() tmpFlags |= MAKE_LINKS; - pIpkg->setFlags( tmpFlags ); + pIpkg->setFlags( tmpFlags, infoLevel ); pIpkg->runIpkg(); @@ -317,2 +350,5 @@ void InstallDlgImpl :: installSelected() btnInstall->setIconSet( Resource::loadPixmap( "enter" ) ); + + btnOptions->setText( tr( "Save output" ) ); + btnOptions->setIconSet( Resource::loadPixmap( "save" ) ); diff --git a/noncore/settings/aqpkg/installdlgimpl.h b/noncore/settings/aqpkg/installdlgimpl.h index c30963e..15cf427 100644 --- a/noncore/settings/aqpkg/installdlgimpl.h +++ b/noncore/settings/aqpkg/installdlgimpl.h @@ -61,2 +61,3 @@ private: int flags; + int infoLevel; Ipkg *pIpkg; diff --git a/noncore/settings/aqpkg/instoptionsimpl.cpp b/noncore/settings/aqpkg/instoptionsimpl.cpp index 47b250d..72d794f 100644 --- a/noncore/settings/aqpkg/instoptionsimpl.cpp +++ b/noncore/settings/aqpkg/instoptionsimpl.cpp @@ -22,3 +22,5 @@ #include <qcheckbox.h> +#include <qcombobox.h> #include <qgroupbox.h> +#include <qlabel.h> #include <qlayout.h> @@ -29,3 +31,3 @@ -InstallOptionsDlgImpl::InstallOptionsDlgImpl( int flags, QWidget * parent, const char* name, bool modal, WFlags fl ) +InstallOptionsDlgImpl::InstallOptionsDlgImpl( int flags, int verb, QWidget * parent, const char* name, bool modal, WFlags fl ) : QDialog( parent, name, modal, fl ) @@ -57,4 +59,14 @@ InstallOptionsDlgImpl::InstallOptionsDlgImpl( int flags, QWidget * parent, const - verboseWget = new QCheckBox( tr( "Verbose WGet" ), grpbox ); - grplayout->addWidget( verboseWget ); + QLabel *l = new QLabel( tr( "Information Level" ), grpbox ); + grplayout->addWidget( l ); + + verboseIpkg = new QComboBox( grpbox ); + verboseIpkg->insertItem( tr( "Errors only" ) ); + verboseIpkg->insertItem( tr( "Normal messages" ) ); + verboseIpkg->insertItem( tr( "Informative messages" ) ); + verboseIpkg->insertItem( tr( "Troubleshooting output" ) ); + verboseIpkg->setCurrentItem( verb ); + grplayout->addWidget( verboseIpkg ); + + grplayout->addItem( new QSpacerItem( 1, 1, QSizePolicy::Minimum, QSizePolicy::Expanding ) ); @@ -68,4 +80,4 @@ InstallOptionsDlgImpl::InstallOptionsDlgImpl( int flags, QWidget * parent, const forceOverwrite->setChecked( true ); - if ( flags & VERBOSE_WGET ) - verboseWget->setChecked( true ); +// if ( flags & VERBOSE_WGET ) +// verboseWget->setChecked( true ); // if ( flags & MAKE_LINKS ) @@ -99 +111,6 @@ int InstallOptionsDlgImpl :: getFlags() } + +int InstallOptionsDlgImpl :: getInfoLevel() +{ + return verboseIpkg->currentItem(); +} diff --git a/noncore/settings/aqpkg/instoptionsimpl.h b/noncore/settings/aqpkg/instoptionsimpl.h index f4724a0..1312afd 100644 --- a/noncore/settings/aqpkg/instoptionsimpl.h +++ b/noncore/settings/aqpkg/instoptionsimpl.h @@ -22,2 +22,3 @@ class QCheckBox; +class QComboBox; @@ -27,5 +28,6 @@ class InstallOptionsDlgImpl : public QDialog public: - InstallOptionsDlgImpl( int flags, QWidget * parent = 0, const char* name = 0, bool modal = false, WFlags fl = 0 ); + InstallOptionsDlgImpl( int, int, QWidget * = 0, const char * = 0, bool = false, WFlags = 0 ); ~InstallOptionsDlgImpl(); int getFlags(); + int getInfoLevel(); @@ -37,2 +39,3 @@ private: QCheckBox* verboseWget; + QComboBox* verboseIpkg; }; diff --git a/noncore/settings/aqpkg/ipkg.cpp b/noncore/settings/aqpkg/ipkg.cpp index e66c02d..7df643e 100644 --- a/noncore/settings/aqpkg/ipkg.cpp +++ b/noncore/settings/aqpkg/ipkg.cpp @@ -71,3 +71,3 @@ bool Ipkg :: runIpkg( ) } - commands << "ipkg" << "-force-defaults"; + commands << "ipkg" << "-V" << QString::number( infoLevel ) << "-force-defaults"; @@ -88,3 +88,3 @@ bool Ipkg :: runIpkg( ) commands << "-force-overwrite"; - if ( flags & VERBOSE_WGET ) + if ( infoLevel == 3 ) commands << "-verbose_wget"; @@ -255,3 +255,3 @@ void Ipkg :: removeStatusEntry() -int Ipkg :: executeIpkgCommand( QStringList &cmd, const QString option ) +int Ipkg :: executeIpkgCommand( QStringList &cmd, const QString /*option*/ ) { diff --git a/noncore/settings/aqpkg/ipkg.h b/noncore/settings/aqpkg/ipkg.h index d49bb04..531bfc0 100644 --- a/noncore/settings/aqpkg/ipkg.h +++ b/noncore/settings/aqpkg/ipkg.h @@ -51,3 +51,3 @@ public: void setDestinationDir( const char *dir ) { destDir = dir; } - void setFlags( int fl ) { flags = fl; } + void setFlags( int fl, int il ) { flags = fl; infoLevel = il; } void setRuntimeDirectory( const char *dir ) { runtimeDir = dir; } @@ -75,2 +75,3 @@ private: int flags; + int infoLevel; bool finished; |