author | drw <drw> | 2004-11-16 19:06:12 (UTC) |
---|---|---|
committer | drw <drw> | 2004-11-16 19:06:12 (UTC) |
commit | 1c6f490e8541626f68422e0a3a7c7281d7f5b7d3 (patch) (side-by-side diff) | |
tree | cba3bc50c1611088ff1c15ebb0f79d7a3e1f454d /noncore/settings/packagemanager/mainwindow.cpp | |
parent | 64dabf8fbdc8593611b3438e6c9f5d3d7c40016f (diff) | |
download | opie-1c6f490e8541626f68422e0a3a7c7281d7f5b7d3.zip opie-1c6f490e8541626f68422e0a3a7c7281d7f5b7d3.tar.gz opie-1c6f490e8541626f68422e0a3a7c7281d7f5b7d3.tar.bz2 |
Add ability to install local ipkg files
Diffstat (limited to 'noncore/settings/packagemanager/mainwindow.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/settings/packagemanager/mainwindow.cpp | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/noncore/settings/packagemanager/mainwindow.cpp b/noncore/settings/packagemanager/mainwindow.cpp index 807bddd..5a942a1 100644 --- a/noncore/settings/packagemanager/mainwindow.cpp +++ b/noncore/settings/packagemanager/mainwindow.cpp @@ -34,6 +34,8 @@ _;:, .> :=|. This file is free software; you can #include "entrydlg.h" #include "packageinfodlg.h" +#include <opie2/ofiledialog.h> + #include <qpe/qcopenvelope_qws.h> #include <qpe/qpeapplication.h> #include <qpe/resource.h> @@ -182,6 +184,12 @@ void MainWindow::initUI() a->addTo( popup ); a->addTo( &m_toolBar ); + a = new QAction( tr( "Install local package" ), Resource::loadPixmap( "folder" ), QString::null, 0, this, 0 ); + a->setWhatsThis( tr( "Tap here to install a package file located on device." ) ); + connect( a, SIGNAL(activated()), this, SLOT(slotInstallLocal()) ); + a->addTo( popup ); + //a->addTo( &m_toolBar ); + popup->insertSeparator(); a = new QAction( tr( "Configure" ), Resource::loadPixmap( "SettingsIcon" ), QString::null, 0, this, 0 ); @@ -519,6 +527,28 @@ void MainWindow::slotApply() m_widgetStack.raiseWidget( dlg ); } +void MainWindow::slotInstallLocal() +{ + // Display file open dialog with only package files + MimeTypes type; + QStringList packages; + packages << "application/ipkg"; + type.insert( tr( "Application Packages" ), packages ); + QString package = Opie::Ui::OFileDialog::getOpenFileName( Opie::Ui::OFileSelector::NORMAL, + "/", QString::null, type ); + if ( !package.isNull() ) + { + // Install selected file + InstallDlg *dlg = new InstallDlg( this, &m_packman, tr( "Install local package" ), true, + OPackage::Install, new QStringList( package ) ); + connect( dlg, SIGNAL(closeInstallDlg()), this, SLOT(slotCloseDlg()) ); + + // Display widget + m_widgetStack.addWidget( dlg, 3 ); + m_widgetStack.raiseWidget( dlg ); + } +} + void MainWindow::slotCloseDlg() { // Close install dialog |