summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/settings/packagemanager/ChangeLog8
-rw-r--r--noncore/settings/packagemanager/README2
-rw-r--r--noncore/settings/packagemanager/TODO18
-rw-r--r--noncore/settings/packagemanager/opie-packagemanager.control2
-rw-r--r--noncore/settings/packagemanager/packageinfodlg.cpp27
-rw-r--r--noncore/settings/packagemanager/packageinfodlg.h49
6 files changed, 57 insertions, 49 deletions
diff --git a/noncore/settings/packagemanager/ChangeLog b/noncore/settings/packagemanager/ChangeLog
index 7799136..c776ce5 100644
--- a/noncore/settings/packagemanager/ChangeLog
+++ b/noncore/settings/packagemanager/ChangeLog
@@ -1,24 +1,32 @@
12004-12-21 Dan Williams <drw@handhelds.org>
2
3 * Released version 0.6.0
4 * Added support for Ipkg 'src/gz' feeds
5 * Improve server and destination tabs UI's in configuration dialog
6 * Fix app linking to link all dependent packages as well as selected packages
7 * Hide 'Retrive File List' button once list is retrieved in Package Info dialog
8
12004-11-18 Dan Williams <drw@handhelds.org> 92004-11-18 Dan Williams <drw@handhelds.org>
2 10
3 * Released version 0.5.0 11 * Released version 0.5.0
4 * All v1.0 functionality implemented 12 * All v1.0 functionality implemented
5 * Implemented installation of local packages 13 * Implemented installation of local packages
6 * Implemented linking of non-root apps (using ipkg-link) 14 * Implemented linking of non-root apps (using ipkg-link)
7 * Many UI tweaks for installation and filter dialogs 15 * Many UI tweaks for installation and filter dialogs
8 16
92004-04-21 Dan Williams <drw@handhelds.org> 172004-04-21 Dan Williams <drw@handhelds.org>
10 18
11 * Released version 0.4.0 19 * Released version 0.4.0
12 * Added saving of ipkg configuration information 20 * Added saving of ipkg configuration information
13 * Re-initialize ipkg when configuration information changes 21 * Re-initialize ipkg when configuration information changes
14 * Added QWhatsThis for all UI controls 22 * Added QWhatsThis for all UI controls
15 * Remove Location from OConfItem as it is not used/needed 23 * Remove Location from OConfItem as it is not used/needed
16 * Re-ordered includes to follow Opie standards 24 * Re-ordered includes to follow Opie standards
17 25
182004-02-13 Dan Williams <drw@handhelds.org> 262004-02-13 Dan Williams <drw@handhelds.org>
19 27
20 * Released version 0.3.0 28 * Released version 0.3.0
21 * Fix handling of filtering options in View menu 29 * Fix handling of filtering options in View menu
22 * Do proper version string comparison 30 * Do proper version string comparison
23 * Fix string alignment code in PromptDlg to eliminate QT warning messages 31 * Fix string alignment code in PromptDlg to eliminate QT warning messages
24 32
diff --git a/noncore/settings/packagemanager/README b/noncore/settings/packagemanager/README
index c34a6af..ff6d113 100644
--- a/noncore/settings/packagemanager/README
+++ b/noncore/settings/packagemanager/README
@@ -1,29 +1,29 @@
1/************************************************************************ 1/************************************************************************
2/* 2/*
3/* Opie - Package Manager 3/* Opie - Package Manager
4/* ======================== 4/* ========================
5/* Version 0.5.0 5/* Version 0.6.0
6/* 6/*
7/* A package management client for Opie 7/* A package management client for Opie
8/* 8/*
9/************************************************************************ 9/************************************************************************
10 10
11------------------------------------------------------- 11-------------------------------------------------------
12 Release Notes for Opie-PackageManager - January, 2004 12 Release Notes for Opie-PackageManager - January, 2004
13------------------------------------------------------- 13-------------------------------------------------------
14 14
15====================== 15======================
16= To-do = 16= To-do =
17====================== 17======================
18 18
19- See $OPIEDIR/noncore/settings/packagemanager/TODO for more info. 19- See $OPIEDIR/noncore/settings/packagemanager/TODO for more info.
20 20
21====================== 21======================
22= Build = 22= Build =
23====================== 23======================
24 24
25In order to build opie-packagemanager, libipkg needs to be present on 25In order to build opie-packagemanager, libipkg needs to be present on
26the build system along with the appropriate headers. 26the build system along with the appropriate headers.
27 27
28- libipkg source (best to use version 109 or greater): 28- libipkg source (best to use version 109 or greater):
29 - Familiar CVS directory: familiar/dist/ipkg/C (e.g. 'cvs co familiar/dist/ipkg/C') 29 - Familiar CVS directory: familiar/dist/ipkg/C (e.g. 'cvs co familiar/dist/ipkg/C')
diff --git a/noncore/settings/packagemanager/TODO b/noncore/settings/packagemanager/TODO
index 265beda..744ad95 100644
--- a/noncore/settings/packagemanager/TODO
+++ b/noncore/settings/packagemanager/TODO
@@ -1,25 +1,17 @@
1/************************************************************************ 1/************************************************************************
2/* 2/*
3/* Opie - Package Manager 3/* Opie - Package Manager
4/* ======================== 4/* ========================
5/* Version 0.5.0 5/* Version 0.6.0
6/* 6/*
7/* A package management client for Opie 7/* A package management client for Opie
8/* 8/*
9/************************************************************************ 9/************************************************************************
10 10
11----------------------------------------------- 11-----------------------------------------------
12 To-do for Opie-PackageManager - November, 2004 12 To-do for Opie-PackageManager - December, 2004
13----------------------------------------------- 13-----------------------------------------------
14 14
15====================== 151. Move ipkg-link code from InstallDlg to OIpkg
16= Current release = 162. Code ipkg-link logic directly in OIpkg
17====================== 173. Re-work package download dialog
18
191. Re-work package download dialog
20
21======================
22= Future releases =
23======================
24
251. Re-work server and destination tabs in configuration dialog \ No newline at end of file
diff --git a/noncore/settings/packagemanager/opie-packagemanager.control b/noncore/settings/packagemanager/opie-packagemanager.control
index aacd0ca..cdf419c 100644
--- a/noncore/settings/packagemanager/opie-packagemanager.control
+++ b/noncore/settings/packagemanager/opie-packagemanager.control
@@ -1,10 +1,10 @@
1Package: opie-packagemanager 1Package: opie-packagemanager
2Files: plugins/application/libpackagemanager.so* bin/packagemanager pics/packagemanager apps/Settings/packagemanager.desktop 2Files: plugins/application/libpackagemanager.so* bin/packagemanager pics/packagemanager apps/Settings/packagemanager.desktop
3Priority: optional 3Priority: optional
4Section: opie/settings 4Section: opie/settings
5Depends: task-opie-minimal, libopiecore2, libopieui2, libipkg (>=0.99.120), ipkg-link 5Depends: task-opie-minimal, libopiecore2, libopieui2, libipkg (>=0.99.120), ipkg-link
6Replaces: packagemanager 6Replaces: packagemanager
7Architecture: arm 7Architecture: arm
8Maintainer: Dan Williams (drw@handhelds.org) 8Maintainer: Dan Williams (drw@handhelds.org)
9Description: Opie package management client 9Description: Opie package management client
10Version: 0.5.0$EXTRAVERSION 10Version: 0.6.0$EXTRAVERSION
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
@@ -19,126 +19,133 @@ _;:, .> :=|. This file is free software; you can
19..}^=.= = ; Public License for more details. 19..}^=.= = ; Public License for more details.
20++= -. .` .: 20++= -. .` .:
21: = ...= . :.=- You should have received a copy of the GNU 21: = ...= . :.=- You should have received a copy of the GNU
22-. .:....=;==+<; General Public License along with this file; 22-. .:....=;==+<; General Public License along with this file;
23 -_. . . )=. = see the file COPYING. If not, write to the 23 -_. . . )=. = see the file COPYING. If not, write to the
24 -- :-=` Free Software Foundation, Inc., 24 -- :-=` Free Software Foundation, Inc.,
25 59 Temple Place - Suite 330, 25 59 Temple Place - Suite 330,
26 Boston, MA 02111-1307, USA. 26 Boston, MA 02111-1307, USA.
27 27
28*/ 28*/
29 29
30#include "packageinfodlg.h" 30#include "packageinfodlg.h"
31#include "opackage.h" 31#include "opackage.h"
32#include "opackagemanager.h" 32#include "opackagemanager.h"
33 33
34#include <opie2/otabwidget.h> 34#include <opie2/otabwidget.h>
35 35
36#include <qpe/resource.h> 36#include <qpe/resource.h>
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
42PackageInfoDlg::PackageInfoDlg( QWidget *parent, OPackageManager *pm, const QString &package ) 42PackageInfoDlg::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 );
53 54
54 Opie::Ui::OTabWidget *tabWidget = new Opie::Ui::OTabWidget( this ); 55 Opie::Ui::OTabWidget *tabWidget = new Opie::Ui::OTabWidget( this );
55 layout->addWidget( tabWidget ); 56 layout->addWidget( tabWidget );
56 57
57 // Information tab 58 // Information tab
58 QWhatsThis::add( &m_information, tr( "This area contains information about the package." ) ); 59 QWhatsThis::add( &m_information, tr( "This area contains information about the package." ) );
59 m_information.reparent( tabWidget, QPoint( 0, 0 ) ); 60 m_information.reparent( tabWidget, QPoint( 0, 0 ) );
60 m_information.setReadOnly( true ); 61 m_information.setReadOnly( true );
61 tabWidget->addTab( &m_information, "UtilsIcon", tr( "Information" ) ); 62 tabWidget->addTab( &m_information, "UtilsIcon", tr( "Information" ) );
62 63
63 // Retrive package information 64 // Retrive package information
64 m_package = m_packman->findPackage( package ); 65 m_package = m_packman->findPackage( package );
65 if ( !m_package ) 66 if ( !m_package )
66 { 67 {
67 m_information.setText( tr( "Unable to retrieve package information." ) ); 68 m_information.setText( tr( "Unable to retrieve package information." ) );
68 return; 69 return;
69 } 70 }
70 71
71 // Display package information 72 // Display package information
72 if ( !m_package->information().isNull() ) 73 if ( !m_package->information().isNull() )
73 m_information.setText( m_package->information() ); 74 m_information.setText( m_package->information() );
74 else 75 else
75 { 76 {
76 // Package information is not cached, retrieve it 77 // Package information is not cached, retrieve it
77 QStringList list( package ); 78 QStringList list( package );
78 m_packman->executeCommand( OPackage::Info, list, QString::null, this, SLOT(slotInfo(char*)), true ); 79 m_packman->executeCommand( OPackage::Info, list, QString::null, this, SLOT(slotInfo(char*)), true );
79 } 80 }
80 81
81 // Files tab (display only if package is installed) 82 // Files tab (display only if package is installed)
82 if ( !m_package->versionInstalled().isNull() ) 83 if ( !m_package->versionInstalled().isNull() )
83 { 84 {
84 QWidget *filesWidget = new QWidget( tabWidget ); 85 QWidget *filesWidget = new QWidget( tabWidget );
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
108PackageInfoDlg::~PackageInfoDlg() 112PackageInfoDlg::~PackageInfoDlg()
109{ 113{
110 if ( !m_package ) 114 if ( !m_package )
111 return; 115 return;
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
122void PackageInfoDlg::slotBtnFileScan() 126void 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
130void PackageInfoDlg::slotInfo( char *info ) 137void PackageInfoDlg::slotInfo( char *info )
131{ 138{
132 m_information.append( info ); 139 m_information.append( info );
133} 140}
134 141
135void PackageInfoDlg::slotFiles( char *filelist ) 142void PackageInfoDlg::slotFiles( char *filelist )
136{ 143{
137 QString str = filelist; 144 QString str = filelist;
138 145
139 // Skip first line of output ("Package xxx is installed...") 146 // Skip first line of output ("Package xxx is installed...")
140 if ( str.startsWith( "Package " ) ) 147 if ( str.startsWith( "Package " ) )
141 str = str.right( str.length() - str.find( '\n' ) - 1 ); 148 str = str.right( str.length() - str.find( '\n' ) - 1 );
142 149
143 m_files.append( str ); 150 m_files.append( str );
144} 151}
diff --git a/noncore/settings/packagemanager/packageinfodlg.h b/noncore/settings/packagemanager/packageinfodlg.h
index ec031e1..d1830de 100644
--- a/noncore/settings/packagemanager/packageinfodlg.h
+++ b/noncore/settings/packagemanager/packageinfodlg.h
@@ -1,65 +1,66 @@
1/* 1/*
2                This file is part of the OPIE Project 2 This file is part of the OPIE Project
3 3
4 =. Copyright (c) 2003 Dan Williams <drw@handhelds.org> 4 =. Copyright (c) 2003 Dan Williams <drw@handhelds.org>
5             .=l. 5 .=l.
6           .>+-= 6 .>+-=
7 _;:,     .>    :=|. This file is free software; you can 7_;:, .> :=|. This file is free software; you can
8.> <`_,   >  .   <= redistribute it and/or modify it under 8.> <`_, > . <= redistribute it and/or modify it under
9:`=1 )Y*s>-.--   : the terms of the GNU General Public 9:`=1 )Y*s>-.-- : the terms of the GNU General Public
10.="- .-=="i,     .._ License as published by the Free Software 10.="- .-=="i, .._ License as published by the Free Software
11 - .   .-<_>     .<> Foundation; either version 2 of the License, 11- . .-<_> .<> Foundation; either version 2 of the License,
12     ._= =}       : or (at your option) any later version. 12 ._= =} : or (at your option) any later version.
13    .%`+i>       _;_. 13 .%`+i> _;_.
14    .i_,=:_.      -<s. This file is distributed in the hope that 14 .i_,=:_. -<s. This file is distributed in the hope that
15     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY; 15 + . -:. = it will be useful, but WITHOUT ANY WARRANTY;
16    : ..    .:,     . . . without even the implied warranty of 16 : .. .:, . . . without even the implied warranty of
17    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A 17 =_ + =;=|` MERCHANTABILITY or FITNESS FOR A
18  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU General 18 _.=:. : :=>`: PARTICULAR PURPOSE. See the GNU General
19..}^=.=       =       ; Public License for more details. 19..}^=.= = ; Public License for more details.
20++=   -.     .`     .: 20++= -. .` .:
21 :     =  ...= . :.=- You should have received a copy of the GNU 21: = ...= . :.=- You should have received a copy of the GNU
22 -.   .:....=;==+<; General Public License along with this file; 22-. .:....=;==+<; General Public License along with this file;
23  -_. . .   )=.  = see the file COPYING. If not, write to the 23 -_. . . )=. = see the file COPYING. If not, write to the
24    --        :-=` Free Software Foundation, Inc., 24 -- :-=` Free Software Foundation, Inc.,
25 59 Temple Place - Suite 330, 25 59 Temple Place - Suite 330,
26 Boston, MA 02111-1307, USA. 26 Boston, MA 02111-1307, USA.
27 27
28*/ 28*/
29 29
30#ifndef PACKAGEINFODLG_H 30#ifndef PACKAGEINFODLG_H
31#define PACKAGEINFODLG_H 31#define PACKAGEINFODLG_H
32 32
33#include "opackage.h" 33#include "opackage.h"
34 34
35#include <qmultilineedit.h> 35#include <qmultilineedit.h>
36#include <qwidget.h> 36#include <qwidget.h>
37 37
38class QPushButton; 38class QPushButton;
39 39
40class OPackage; 40class OPackage;
41class OPackageManager; 41class OPackageManager;
42 42
43class PackageInfoDlg : public QWidget 43class PackageInfoDlg : public QWidget
44{ 44{
45 Q_OBJECT 45 Q_OBJECT
46 46
47public: 47public:
48 PackageInfoDlg( QWidget *parent = 0x0, OPackageManager *pm = 0x0, const QString &package = QString::null ); 48 PackageInfoDlg( QWidget *parent = 0l, OPackageManager *pm = 0l, const QString &package = QString::null );
49 ~PackageInfoDlg(); 49 ~PackageInfoDlg();
50 50
51private: 51private:
52 OPackageManager *m_packman; // Pointer to application instance of package manager 52 OPackageManager *m_packman; // Pointer to application instance of package manager
53 OPackage *m_package; // Pointer to package to display information for 53 OPackage *m_package; // Pointer to package to display information for
54 54
55 // UI controls 55 // UI controls
56 QMultiLineEdit m_information; // Multi-line edit to display package information 56 QMultiLineEdit m_information; // Multi-line edit to display package information
57 QMultiLineEdit m_files; // Multi-line edit to display package file list 57 QMultiLineEdit m_files; // Multi-line edit to display package file list
58 QPushButton *m_retrieveFiles; // Push button to retrieve file list
58 59
59private slots: 60private slots:
60 void slotBtnFileScan(); 61 void slotBtnFileScan();
61 void slotInfo( char *info ); 62 void slotInfo( char *info );
62 void slotFiles( char *filelist ); 63 void slotFiles( char *filelist );
63}; 64};
64 65
65#endif 66#endif