summaryrefslogtreecommitdiff
path: root/noncore/settings/packagemanager/packageinfodlg.cpp
Side-by-side diff
Diffstat (limited to 'noncore/settings/packagemanager/packageinfodlg.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/settings/packagemanager/packageinfodlg.cpp27
1 files changed, 17 insertions, 10 deletions
diff --git a/noncore/settings/packagemanager/packageinfodlg.cpp b/noncore/settings/packagemanager/packageinfodlg.cpp
index c5924fd..5f72a67 100644
--- a/noncore/settings/packagemanager/packageinfodlg.cpp
+++ b/noncore/settings/packagemanager/packageinfodlg.cpp
@@ -31,28 +31,29 @@ _;:, .> :=|. This file is free software; you can
#include "opackage.h"
#include "opackagemanager.h"
#include <opie2/otabwidget.h>
#include <qpe/resource.h>
#include <qlayout.h>
#include <qpushbutton.h>
#include <qwhatsthis.h>
PackageInfoDlg::PackageInfoDlg( QWidget *parent, OPackageManager *pm, const QString &package )
- : QWidget( 0x0 )
+ : QWidget( 0l )
, m_packman( pm )
, m_information( this )
, m_files( this )
+ , m_retrieveFiles( 0l )
{
// Initialize UI
if ( parent )
parent->setCaption( package );
QVBoxLayout *layout = new QVBoxLayout( this, 4, 2 );
Opie::Ui::OTabWidget *tabWidget = new Opie::Ui::OTabWidget( this );
layout->addWidget( tabWidget );
// Information tab
QWhatsThis::add( &m_information, tr( "This area contains information about the package." ) );
@@ -79,61 +80,67 @@ PackageInfoDlg::PackageInfoDlg( QWidget *parent, OPackageManager *pm, const QStr
}
// Files tab (display only if package is installed)
if ( !m_package->versionInstalled().isNull() )
{
QWidget *filesWidget = new QWidget( tabWidget );
QVBoxLayout *filesLayout = new QVBoxLayout( filesWidget, 2, 2 );
QWhatsThis::add( &m_files, tr( "This area contains a list of files contained in this package." ) );
m_files.reparent( filesWidget, QPoint( 0, 0 ) );
m_files.setReadOnly( true );
filesLayout->addWidget( &m_files );
- QPushButton *btn = new QPushButton( Resource::loadPixmap( "packagemanager/apply" ),
+ // If file list is already cached, display
+ if ( !m_package->files().isNull() )
+ m_files.setText( m_package->files() );
+ else
+ {
+ m_retrieveFiles = new QPushButton( Resource::loadPixmap( "packagemanager/apply" ),
tr( "Retrieve file list" ), filesWidget );
- QWhatsThis::add( btn, tr( "Tap here to retrieve list of files contained in this package." ) );
- filesLayout->addWidget( btn );
- connect( btn, SIGNAL(clicked()), this, SLOT(slotBtnFileScan()) );
- tabWidget->addTab( filesWidget, "binary", tr( "File list" ) );
+ QWhatsThis::add( m_retrieveFiles, tr( "Tap here to retrieve list of files contained in this package." ) );
+ filesLayout->addWidget( m_retrieveFiles );
+ connect( m_retrieveFiles, SIGNAL(clicked()), this, SLOT(slotBtnFileScan()) );
+ }
+ tabWidget->addTab( filesWidget, "binary", tr( "File list" ) );
tabWidget->setCurrentTab( tr( "Information" ) );
- // If file list is already cached, display
- if ( !m_package->files().isNull() )
- m_files.setText( m_package->files() );
}
else
m_files.hide();
}
PackageInfoDlg::~PackageInfoDlg()
{
if ( !m_package )
return;
// Cache package information
if ( !m_information.text().isNull() )
m_package->setInformation( m_information.text() );
// Cache package file list
- if ( !m_files.text().isNull() )
+ if ( !m_files.text().isEmpty() )
m_package->setFiles( m_files.text() );
}
void PackageInfoDlg::slotBtnFileScan()
{
m_files.clear();
QStringList list( m_package->name() );
m_packman->executeCommand( OPackage::Files, list, QString::null, this, SLOT(slotFiles(char*)), true );
+
+ if ( m_retrieveFiles )
+ m_retrieveFiles->hide();
}
void PackageInfoDlg::slotInfo( char *info )
{
m_information.append( info );
}
void PackageInfoDlg::slotFiles( char *filelist )
{
QString str = filelist;
// Skip first line of output ("Package xxx is installed...")