Diffstat (limited to 'noncore/settings/packagemanager/packageinfodlg.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/settings/packagemanager/packageinfodlg.cpp | 27 |
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 | |||
@@ -37,16 +37,17 @@ _;:, .> :=|. This file is free software; you can | |||
37 | 37 | ||
38 | #include <qlayout.h> | 38 | #include <qlayout.h> |
39 | #include <qpushbutton.h> | 39 | #include <qpushbutton.h> |
40 | #include <qwhatsthis.h> | 40 | #include <qwhatsthis.h> |
41 | 41 | ||
42 | PackageInfoDlg::PackageInfoDlg( QWidget *parent, OPackageManager *pm, const QString &package ) | 42 | PackageInfoDlg::PackageInfoDlg( QWidget *parent, OPackageManager *pm, const QString &package ) |
43 | : QWidget( 0x0 ) | 43 | : QWidget( 0l ) |
44 | , m_packman( pm ) | 44 | , m_packman( pm ) |
45 | , m_information( this ) | 45 | , m_information( this ) |
46 | , m_files( this ) | 46 | , m_files( this ) |
47 | , m_retrieveFiles( 0l ) | ||
47 | { | 48 | { |
48 | // Initialize UI | 49 | // Initialize UI |
49 | if ( parent ) | 50 | if ( parent ) |
50 | parent->setCaption( package ); | 51 | parent->setCaption( package ); |
51 | 52 | ||
52 | QVBoxLayout *layout = new QVBoxLayout( this, 4, 2 ); | 53 | QVBoxLayout *layout = new QVBoxLayout( this, 4, 2 ); |
@@ -85,24 +86,27 @@ PackageInfoDlg::PackageInfoDlg( QWidget *parent, OPackageManager *pm, const QStr | |||
85 | QVBoxLayout *filesLayout = new QVBoxLayout( filesWidget, 2, 2 ); | 86 | QVBoxLayout *filesLayout = new QVBoxLayout( filesWidget, 2, 2 ); |
86 | QWhatsThis::add( &m_files, tr( "This area contains a list of files contained in this package." ) ); | 87 | QWhatsThis::add( &m_files, tr( "This area contains a list of files contained in this package." ) ); |
87 | m_files.reparent( filesWidget, QPoint( 0, 0 ) ); | 88 | m_files.reparent( filesWidget, QPoint( 0, 0 ) ); |
88 | m_files.setReadOnly( true ); | 89 | m_files.setReadOnly( true ); |
89 | filesLayout->addWidget( &m_files ); | 90 | filesLayout->addWidget( &m_files ); |
90 | 91 | ||
91 | QPushButton *btn = new QPushButton( Resource::loadPixmap( "packagemanager/apply" ), | 92 | // If file list is already cached, display |
93 | if ( !m_package->files().isNull() ) | ||
94 | m_files.setText( m_package->files() ); | ||
95 | else | ||
96 | { | ||
97 | m_retrieveFiles = new QPushButton( Resource::loadPixmap( "packagemanager/apply" ), | ||
92 | tr( "Retrieve file list" ), filesWidget ); | 98 | tr( "Retrieve file list" ), filesWidget ); |
93 | QWhatsThis::add( btn, tr( "Tap here to retrieve list of files contained in this package." ) ); | 99 | QWhatsThis::add( m_retrieveFiles, tr( "Tap here to retrieve list of files contained in this package." ) ); |
94 | filesLayout->addWidget( btn ); | 100 | filesLayout->addWidget( m_retrieveFiles ); |
95 | connect( btn, SIGNAL(clicked()), this, SLOT(slotBtnFileScan()) ); | 101 | connect( m_retrieveFiles, SIGNAL(clicked()), this, SLOT(slotBtnFileScan()) ); |
96 | tabWidget->addTab( filesWidget, "binary", tr( "File list" ) ); | 102 | } |
97 | 103 | ||
104 | tabWidget->addTab( filesWidget, "binary", tr( "File list" ) ); | ||
98 | tabWidget->setCurrentTab( tr( "Information" ) ); | 105 | tabWidget->setCurrentTab( tr( "Information" ) ); |
99 | 106 | ||
100 | // If file list is already cached, display | ||
101 | if ( !m_package->files().isNull() ) | ||
102 | m_files.setText( m_package->files() ); | ||
103 | } | 107 | } |
104 | else | 108 | else |
105 | m_files.hide(); | 109 | m_files.hide(); |
106 | } | 110 | } |
107 | 111 | ||
108 | PackageInfoDlg::~PackageInfoDlg() | 112 | PackageInfoDlg::~PackageInfoDlg() |
@@ -112,22 +116,25 @@ PackageInfoDlg::~PackageInfoDlg() | |||
112 | 116 | ||
113 | // Cache package information | 117 | // Cache package information |
114 | if ( !m_information.text().isNull() ) | 118 | if ( !m_information.text().isNull() ) |
115 | m_package->setInformation( m_information.text() ); | 119 | m_package->setInformation( m_information.text() ); |
116 | 120 | ||
117 | // Cache package file list | 121 | // Cache package file list |
118 | if ( !m_files.text().isNull() ) | 122 | if ( !m_files.text().isEmpty() ) |
119 | m_package->setFiles( m_files.text() ); | 123 | m_package->setFiles( m_files.text() ); |
120 | } | 124 | } |
121 | 125 | ||
122 | void PackageInfoDlg::slotBtnFileScan() | 126 | void PackageInfoDlg::slotBtnFileScan() |
123 | { | 127 | { |
124 | m_files.clear(); | 128 | m_files.clear(); |
125 | 129 | ||
126 | QStringList list( m_package->name() ); | 130 | QStringList list( m_package->name() ); |
127 | m_packman->executeCommand( OPackage::Files, list, QString::null, this, SLOT(slotFiles(char*)), true ); | 131 | m_packman->executeCommand( OPackage::Files, list, QString::null, this, SLOT(slotFiles(char*)), true ); |
132 | |||
133 | if ( m_retrieveFiles ) | ||
134 | m_retrieveFiles->hide(); | ||
128 | } | 135 | } |
129 | 136 | ||
130 | void PackageInfoDlg::slotInfo( char *info ) | 137 | void PackageInfoDlg::slotInfo( char *info ) |
131 | { | 138 | { |
132 | m_information.append( info ); | 139 | m_information.append( info ); |
133 | } | 140 | } |