-rw-r--r-- | noncore/settings/packagemanager/mainwindow.cpp | 26 | ||||
-rw-r--r-- | noncore/settings/packagemanager/mainwindow.h | 5 | ||||
-rw-r--r-- | noncore/settings/packagemanager/packageinfodlg.cpp | 34 | ||||
-rw-r--r-- | noncore/settings/packagemanager/packageinfodlg.h | 9 |
4 files changed, 63 insertions, 11 deletions
diff --git a/noncore/settings/packagemanager/mainwindow.cpp b/noncore/settings/packagemanager/mainwindow.cpp index 486561d..05f21bc 100644 --- a/noncore/settings/packagemanager/mainwindow.cpp +++ b/noncore/settings/packagemanager/mainwindow.cpp @@ -48,4 +48,5 @@ #include "promptdlg.h" #include "entrydlg.h" +#include "packageinfodlg.h" MainWindow::MainWindow( QWidget *parent, const char *name, WFlags fl ) @@ -118,4 +119,6 @@ void MainWindow::initPackageList() QWhatsThis::add( &m_packageList, tr( "This is a listing of all packages.\n\nA blue dot next to the package name indicates that the package is currently installed.\n\nA blue dot with a star indicates that a newer version of the package is available from the server feed.\n\nClick inside the box at the left to select a package." ) ); QPEApplication::setStylusOperation( m_packageList.viewport(), QPEApplication::RightOnHold ); + connect( &m_packageList, SIGNAL(rightButtonPressed(QListViewItem *,const QPoint &,int)), + this, SLOT(slotDisplayPackageInfo(QListViewItem *)) ); } @@ -353,5 +356,5 @@ void MainWindow::slotUpdate() InstallDlg *dlg = new InstallDlg( this, &m_packman, tr( "Update package information" ), false, OPackage::Update ); - connect( dlg, SIGNAL(closeInstallDlg()), this, SLOT(slotCloseInstallDlg()) ); + connect( dlg, SIGNAL(closeInstallDlg()), this, SLOT(slotCloseDlg()) ); // Display widget @@ -365,5 +368,5 @@ void MainWindow::slotUpgrade() InstallDlg *dlg = new InstallDlg( this, &m_packman, tr( "Upgrade installed packages" ), false, OPackage::Upgrade ); - connect( dlg, SIGNAL(closeInstallDlg()), this, SLOT(slotCloseInstallDlg()) ); + connect( dlg, SIGNAL(closeInstallDlg()), this, SLOT(slotCloseDlg()) ); // Display widget @@ -412,5 +415,5 @@ void MainWindow::slotDownload() InstallDlg *dlg = new InstallDlg( this, &m_packman, tr( "Download packages" ), false, OPackage::Download, workingPackages ); - connect( dlg, SIGNAL(closeInstallDlg()), this, SLOT(slotCloseInstallDlg()) ); + connect( dlg, SIGNAL(closeInstallDlg()), this, SLOT(slotCloseDlg()) ); // Display widget @@ -510,5 +513,5 @@ void MainWindow::slotApply() installCmd, installList, upgradeCmd, upgradeList ); - connect( dlg, SIGNAL(closeInstallDlg()), this, SLOT(slotCloseInstallDlg()) ); + connect( dlg, SIGNAL(closeInstallDlg()), this, SLOT(slotCloseDlg()) ); // Display widget @@ -517,5 +520,5 @@ void MainWindow::slotApply() } -void MainWindow::slotCloseInstallDlg() +void MainWindow::slotCloseDlg() { // Close install dialog @@ -666,2 +669,15 @@ void MainWindow::slotFindNext() searchForPackage( m_findEdit->text() ); } + +void MainWindow::slotDisplayPackageInfo( QListViewItem *packageItem ) +{ + QString packageName( ( static_cast<QCheckListItem*>( packageItem ) )->text() ); + + // Create package manager output widget + PackageInfoDlg *dlg = new PackageInfoDlg( this, &m_packman, packageName ); + connect( dlg, SIGNAL(closeInfoDlg()), this, SLOT(slotCloseDlg()) ); + + // Display widget + m_widgetStack.addWidget( dlg, 3 ); + m_widgetStack.raiseWidget( dlg ); +} diff --git a/noncore/settings/packagemanager/mainwindow.h b/noncore/settings/packagemanager/mainwindow.h index 285cddf..fb555c5 100644 --- a/noncore/settings/packagemanager/mainwindow.h +++ b/noncore/settings/packagemanager/mainwindow.h @@ -117,5 +117,5 @@ private slots: void slotDownload(); void slotApply(); - void slotCloseInstallDlg(); + void slotCloseDlg(); void slotConfigure(); @@ -132,4 +132,7 @@ private slots: void slotFindChanged( const QString &findText ); void slotFindNext(); + + // Other slots + void slotDisplayPackageInfo( QListViewItem * ); }; diff --git a/noncore/settings/packagemanager/packageinfodlg.cpp b/noncore/settings/packagemanager/packageinfodlg.cpp index 71f17eb..26356b9 100644 --- a/noncore/settings/packagemanager/packageinfodlg.cpp +++ b/noncore/settings/packagemanager/packageinfodlg.cpp @@ -35,8 +35,11 @@ #include <qpe/resource.h> +#include <opie/otabwidget.h> + PackageInfoDlg::PackageInfoDlg( QWidget *parent, OPackageManager *pm, const QString &package ) : QWidget( 0x0 ) , m_packman( pm ) - , m_output( this ) + , m_information( this ) + , m_files( this ) { // Initialize UI @@ -46,11 +49,34 @@ PackageInfoDlg::PackageInfoDlg( QWidget *parent, OPackageManager *pm, const QStr QVBoxLayout *layout = new QVBoxLayout( this, 4, 0 ); - m_output.setReadOnly( true ); - layout->addWidget( &m_output ); + OTabWidget *tabWidget = new OTabWidget( this ); + layout->addWidget( tabWidget ); QPushButton *btn = new QPushButton( Resource::loadPixmap( "enter" ), tr( "Close" ), this ); layout->addWidget( btn ); -// TODO connect( btn, SIGNAL(clicked()), this, SLOT(slotBtnClose()) ); + connect( btn, SIGNAL(clicked()), this, SLOT(slotBtnClose()) ); + + // Information tab + m_information.reparent( tabWidget, QPoint( 0, 0 ) ); + m_information.setReadOnly( true ); + tabWidget->addTab( &m_information, "UtilsIcon", tr( "Information" ) ); + + // Files tab + QWidget *filesWidget = new QWidget( tabWidget ); + QVBoxLayout *filesLayout = new QVBoxLayout( filesWidget, 4, 0 ); + m_files.reparent( filesWidget, QPoint( 0, 0 ) ); + m_files.setReadOnly( true ); + filesLayout->addWidget( &m_files ); + btn = new QPushButton( Resource::loadPixmap( "packagemanager/apply" ), tr( "Retrieve file list" ), + filesWidget ); + filesLayout->addWidget( btn ); +// TODO connect( btn, SIGNAL(clicked()), this, SLOT(slotFileScan()) ); + tabWidget->addTab( filesWidget, "binary", tr( "Files" ) ); + tabWidget->setCurrentTab( tr( "Information" ) ); +} + +void PackageInfoDlg::slotBtnClose() +{ + emit closeInfoDlg(); } diff --git a/noncore/settings/packagemanager/packageinfodlg.h b/noncore/settings/packagemanager/packageinfodlg.h index 3bb9a7a..09af6f4 100644 --- a/noncore/settings/packagemanager/packageinfodlg.h +++ b/noncore/settings/packagemanager/packageinfodlg.h @@ -53,5 +53,12 @@ private: // UI controls - QMultiLineEdit m_output; // Multi-line edit to display package information + QMultiLineEdit m_information; // Multi-line edit to display package information + QMultiLineEdit m_files; // Multi-line edit to display package file list + +private slots: + void slotBtnClose(); + +signals: + void closeInfoDlg(); }; |