-rw-r--r-- | noncore/unsupported/oipkg/mainwindow.cpp | 16 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/mainwindow.h | 2 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/pksettings.cpp | 4 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/pmipkg.cpp | 24 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/pmipkg.h | 1 |
5 files changed, 33 insertions, 14 deletions
diff --git a/noncore/unsupported/oipkg/mainwindow.cpp b/noncore/unsupported/oipkg/mainwindow.cpp index 6bf9a7a..c95f482 100644 --- a/noncore/unsupported/oipkg/mainwindow.cpp +++ b/noncore/unsupported/oipkg/mainwindow.cpp @@ -15,31 +15,37 @@ #include <qstring.h> #include <qlabel.h> #include <qfile.h> #include <qlistview.h> #include <qtextview.h> #include <qlineedit.h> #include <qtabwidget.h> #include <qcombobox.h> +#include <qmessagebox.h> #include <qlayout.h> #include "pksettingsbase.h" #include "packagelistitem.h" + MainWindow::MainWindow( QWidget *parent, const char *name, WFlags f = 0 ) : QMainWindow( parent, name, f ) { settings = new PackageManagerSettings(this,0,TRUE); listViewPackages = new PackageListView( this,"listViewPackages",settings ); ipkg = new PmIpkg( settings, this ); setCentralWidget( listViewPackages ); setCaption( tr("Package Manager") ); +// wait = new QMessageBox(tr("oipkg"),tr("Please wait")//,QMessageBox::Information,QMessageBox::NoButton,QMessageBox::NoButton,QMessageBox::NoButton); + wait = new QMessageBox(this); + wait->setText(tr("Please wait")); + channel = new QCopChannel( "QPE/Application/oipkg", this ); connect( channel, SIGNAL(received(const QCString&, const QByteArray&)), this, SLOT(receive(const QCString&, const QByteArray&)) ); makeMenu(); connect( section, SIGNAL( activated(int) ), this, SLOT( sectionChanged() ) ); @@ -189,40 +195,48 @@ void MainWindow::runIpkg() QCopEnvelope e("QPE/System", "linkChanged(QString)"); QString lf = QString::null; e << lf; displayList(); } void MainWindow::updateList() { + wait->show(); QTimer *t = new QTimer( this ); connect( t, SIGNAL(timeout()), SLOT( rotateUpdateIcon() ) ); t->start( 0, false ); packageList.clear(); ipkg->update(); getList(); - t->stop(); + t->stop(); + wait->hide(); + } void MainWindow::getList() { + wait->show(); packageList.update(); displayList(); + wait->hide(); } void MainWindow::filterList() { + wait->show(); QString f = ""; if ( findAction->isOn() ) f = findEdit->text(); packageList.filterPackages( f ); + wait->hide(); } void MainWindow::displayList() { + wait->hide(); filterList(); listViewPackages->clear(); Package *pack = packageList.first(); while( pack ) { if ( pack && (pack->name() != "") ) listViewPackages->insertItem( new PackageListItem( listViewPackages, pack, settings ) ); pack = packageList.next(); diff --git a/noncore/unsupported/oipkg/mainwindow.h b/noncore/unsupported/oipkg/mainwindow.h index bcb0cc9..a713d00 100644 --- a/noncore/unsupported/oipkg/mainwindow.h +++ b/noncore/unsupported/oipkg/mainwindow.h @@ -11,16 +11,17 @@ #include "pksettings.h" #include "packagelistview.h" class QComboBox; class QPEToolBar; class QLineEdit; class PackageListItem; class QCopChannel; +class QMessageBox; class MainWindow : public QMainWindow { Q_OBJECT public: MainWindow( QWidget *parent = 0, const char *name = 0, WFlags f = 0 ); @@ -64,13 +65,14 @@ private: QAction *findAction; QAction *sectionAction; PackageListView *listViewPackages; QPEToolBar *findBar; QLineEdit *findEdit; QPEToolBar *sectionBar; QComboBox *section; QComboBox *subsection; + QMessageBox *wait; private slots: void rotateUpdateIcon(); }; #endif diff --git a/noncore/unsupported/oipkg/pksettings.cpp b/noncore/unsupported/oipkg/pksettings.cpp index f84a9c4..be01837 100644 --- a/noncore/unsupported/oipkg/pksettings.cpp +++ b/noncore/unsupported/oipkg/pksettings.cpp @@ -289,19 +289,19 @@ void PackageManagerSettings::readInstallationSetting(int setting) QString dest = cfg.readEntry( "dest" ); QString linkdest = cfg.readEntry( "linkdest" ); pvDebug(3, "dest="+dest); pvDebug(3, "linkdest="+linkdest); for ( int i = 0; i < activeDestination->count(); i++) { if ( activeDestination->text( i ) == dest ) - activeDestination->setCurrentItem( i ); + activeDestination->setCurrentItem( i ); if ( activeLinkDestination->text( i ) == linkdest ) - activeLinkDestination->setCurrentItem( i ); + activeLinkDestination->setCurrentItem( i ); } } void PackageManagerSettings::writeCurrentInstallationSetting() { Config cfg( "oipkg", Config::User ); changed = false; cfg.setGroup( "Setting_" + QString::number(currentSetting) ); diff --git a/noncore/unsupported/oipkg/pmipkg.cpp b/noncore/unsupported/oipkg/pmipkg.cpp index f0992f5..ecc97b2 100644 --- a/noncore/unsupported/oipkg/pmipkg.cpp +++ b/noncore/unsupported/oipkg/pmipkg.cpp @@ -197,93 +197,94 @@ void PmIpkg::commit( PackageList pl ) } startDialog(); } void PmIpkg::startDialog() { - QDialog *d = new QDialog(); - QGridLayout *RunWindowLayout = new QGridLayout( d ); + installDialog = new QDialog(0,0,true); + QGridLayout *RunWindowLayout = new QGridLayout( installDialog ); RunWindowLayout->setSpacing( 2 ); RunWindowLayout->setMargin( 2 ); QHBoxLayout *buttons = new QHBoxLayout; buttons->setSpacing( 6 ); buttons->setMargin( 0 ); - PackageListView *plv = new PackageListView(d, "install",settings); + PackageListView *plv = new PackageListView(installDialog, "install",settings); RunWindowLayout->addWidget( plv, 1, 0 ); for (Package *it=to_remove.first(); it != 0; it=to_remove.next() ) { plv->insertItem( new PackageListItem(plv, it,settings) ); } for (Package *it=to_install.first(); it != 0; it=to_install.next() ) { plv->insertItem( new PackageListItem(plv, it,settings) ); } - QPushButton *doItButton = new QPushButton( d, "doItButton" ); + QPushButton *doItButton = new QPushButton( installDialog, "doItButton" ); doItButton->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)0, doItButton->sizePolicy().hasHeightForWidth() ) ); QFont doItButton_font( doItButton->font() ); doItButton_font.setPointSize( 8 ); doItButton->setFont( doItButton_font ); doItButton->setText( tr( "Do all " ) ); doItButton->setAutoResize( FALSE ); buttons->addWidget( doItButton ); - QPushButton *installButton = new QPushButton( d, "installButton" ); + QPushButton *installButton = new QPushButton( installDialog, "installButton" ); QFont installButton_font( installButton->font() ); installButton_font.setPointSize( 8 ); installButton->setFont( installButton_font ); installButton->setText( tr( "Install" ) ); installButton->setAutoResize( TRUE ); buttons->addWidget( installButton ); - QPushButton *removeButton = new QPushButton( d, "removeButton" ); + QPushButton *removeButton = new QPushButton( installDialog, "removeButton" ); QFont removeButton_font( removeButton->font() ); removeButton_font.setPointSize( 7 ); removeButton->setFont( removeButton_font ); removeButton->setText( tr( "Remove" ) ); removeButton->setAutoResize( TRUE ); buttons->addWidget( removeButton ); - QPushButton *cancelButton = new QPushButton( d, "cancelButton" ); + QPushButton *cancelButton = new QPushButton( installDialog, "cancelButton" ); QFont cancelButton_font( cancelButton->font() ); cancelButton_font.setPointSize( 8 ); cancelButton->setFont( cancelButton_font ); cancelButton->setText( tr( "Cancel" ) ); cancelButton->setAutoResize( TRUE ); buttons->addWidget( cancelButton ); RunWindowLayout->addLayout( buttons, 3, 0 ); connect( doItButton, SIGNAL( clicked() ), this, SLOT( doIt() ) ); connect( installButton, SIGNAL( clicked() ), this, SLOT( install() ) ); connect( removeButton, SIGNAL( clicked() ), this, SLOT( remove() ) ); connect( cancelButton, SIGNAL( clicked() ), - d, SLOT( close() ) ); - d->showMaximized(); - d->exec(); - // d->close(); + installDialog, SLOT( close() ) ); + installDialog->showMaximized(); + if ( installDialog->exec() ) doIt(); + installDialog->close(); } void PmIpkg::doIt() { remove(); install(); } void PmIpkg::remove() { if ( to_remove.count() == 0 ) return; + installDialog->close(); show( true ); out("<hr><hr><b>"+tr("Removing")+"<br>"+tr("please wait")+"</b><br>"); for (Package *it=to_remove.first(); it != 0; it=to_remove.next() ) { if ( runIpkg("remove " + it->name()) == 0) { @@ -295,16 +296,17 @@ void PmIpkg::remove() } } } void PmIpkg::install() { if ( to_install.count() == 0 ) return; + installDialog->close(); show( true ); out("<hr><hr><b>"+tr("Installing")+"<br>"+tr("please wait")+"</b><br>"); for (Package *it=to_install.first(); it != 0; it=to_install.next() ) { if ( runIpkg("install " + it->getPackageName(), it->dest() ) == 0 ) { runwindow->progress->setProgress( it->size().toInt() + runwindow->progress->progress()); diff --git a/noncore/unsupported/oipkg/pmipkg.h b/noncore/unsupported/oipkg/pmipkg.h index f70283e..c5e6255 100644 --- a/noncore/unsupported/oipkg/pmipkg.h +++ b/noncore/unsupported/oipkg/pmipkg.h @@ -23,16 +23,17 @@ public: void update(); PackageList* getPackageList(); void showButtons(bool b=true); void show( bool buttons=true ); private: PackageManagerSettings* settings; RunWindow *runwindow; + QDialog *installDialog; QList<Package> to_remove; QList<Package> to_install; bool runwindowopen; QString fileNameToInstall; void startDialog(); void makeLinks(Package*); void linkPackage( QString, QString ); |