From f37fda5887250b25033120021aed2f1e48f48b1b Mon Sep 17 00:00:00 2001 From: drw Date: Tue, 22 Apr 2003 02:08:38 +0000 Subject: Now display package information in separate window...easier for those long descriptions. Also use click and hold to display info, not double-click. --- (limited to 'noncore') diff --git a/noncore/settings/aqpkg/aqpkg.pro b/noncore/settings/aqpkg/aqpkg.pro index 5b5d506..d241d1b 100644 --- a/noncore/settings/aqpkg/aqpkg.pro +++ b/noncore/settings/aqpkg/aqpkg.pro @@ -5,6 +5,7 @@ HEADERS = global.h \ datamgr.h \ settingsimpl.h \ ipkg.h \ + packagewin.h \ package.h \ installdlgimpl.h \ instoptionsimpl.h \ @@ -20,6 +21,7 @@ SOURCES = mainwin.cpp \ settingsimpl.cpp \ ipkg.cpp \ main.cpp \ + packagewin.cpp \ package.cpp \ installdlgimpl.cpp \ instoptionsimpl.cpp \ diff --git a/noncore/settings/aqpkg/mainwin.cpp b/noncore/settings/aqpkg/mainwin.cpp index fb40d52..1aec6a8 100644 --- a/noncore/settings/aqpkg/mainwin.cpp +++ b/noncore/settings/aqpkg/mainwin.cpp @@ -48,6 +48,7 @@ #include "installdlgimpl.h" #include "letterpushbutton.h" #include "mainwin.h" +#include "packagewin.h" #include "settingsimpl.h" #include "utils.h" @@ -230,7 +231,7 @@ void MainWindow :: initMainWidget() QLabel *l = new QLabel( tr( "Servers:" ), networkPkgWindow ); serversList = new QComboBox( networkPkgWindow ); - connect( serversList, SIGNAL( activated( int ) ), this, SLOT( serverSelected( int ) ) ); + connect( serversList, SIGNAL(activated(int)), this, SLOT(serverSelected(int)) ); QWhatsThis::add( serversList, tr( "Click here to select a package feed." ) ); installedIcon = Resource::loadPixmap( "installed" ); @@ -239,6 +240,9 @@ void MainWindow :: initMainWidget() packagesList = new QListView( networkPkgWindow ); packagesList->addColumn( tr( "Packages" ), 225 ); QWhatsThis::add( packagesList, tr( "This is a listing of all packages for the server feed selected above.\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( packagesList->viewport(), QPEApplication::RightOnHold ); + connect( packagesList, SIGNAL(rightButtonPressed(QListViewItem *,const QPoint &,int)), + this, SLOT(slotDisplayPackage(QListViewItem *)) ); QVBoxLayout *vbox = new QVBoxLayout( networkPkgWindow, 0, -1 ); QHBoxLayout *hbox1 = new QHBoxLayout( vbox, -1 ); @@ -671,49 +675,12 @@ void MainWindow :: serverSelected( int, bool raiseProgress ) { item->setPixmap( 0, installedIcon ); } - - QString destName = ""; - if ( package->getLocalPackage() ) - { - if ( package->getLocalPackage()->getInstalledTo() ) - destName = package->getLocalPackage()->getInstalledTo()->getDestinationName(); - } - else - { - if ( package->getInstalledTo() ) - destName = package->getInstalledTo()->getDestinationName(); - } - if ( destName != "" ) - new QCheckListItem( item, QString( tr( "Installed To - %1" ).arg( destName ) ) ); } else { item->setPixmap( 0, nullIcon ); } - if ( !package->isPackageStoredLocally() ) - { - new QCheckListItem( item, QString( tr( "Description - %1" ).arg( package->getDescription() ) ) ); - new QCheckListItem( item, QString( tr( "Size - %1" ).arg( package->getPackageSize() ) ) ); - new QCheckListItem( item, QString( tr( "Section - %1" ).arg( package->getSection() ) ) ); - } - else - new QCheckListItem( item, QString( tr( "Filename - %1" ).arg( package->getFilename() ) ) ); - - if ( serverName == LOCAL_SERVER ) - { - new QCheckListItem( item, QString( tr( "V. Installed - %1" ).arg( package->getVersion() ) ) ); - } - else - { - new QCheckListItem( item, QString( tr( "V. Available - %1" ).arg( package->getVersion() ) ) ); - if ( package->getLocalPackage() ) - { - if ( package->isInstalled() ) - new QCheckListItem( item, QString( tr( "V. Installed - %1" ).arg( package->getInstalledVersion() ) ) ); - } - } - packagesList->insertItem( item ); } @@ -1182,3 +1149,10 @@ void MainWindow :: letterPushed( QString t ) item = (QCheckListItem *)packagesList->firstChild(); } while ( item != start); } + +void MainWindow :: slotDisplayPackage( QListViewItem *item ) +{ + QString itemstr( ((QCheckListItem*)item)->text() ); + PackageWindow *p = new PackageWindow( mgr->getServer( serversList->currentText() )->getPackage( itemstr ) ); + p->showMaximized(); +} diff --git a/noncore/settings/aqpkg/mainwin.h b/noncore/settings/aqpkg/mainwin.h index 4b044de..0295519 100644 --- a/noncore/settings/aqpkg/mainwin.h +++ b/noncore/settings/aqpkg/mainwin.h @@ -31,6 +31,7 @@ class QComboBox; class QLabel; class QLineEdit; class QListView; +class QListViewItem; class QToolBar; class QProgressBar; class QWidgetStack; @@ -135,5 +136,6 @@ private slots: void downloadPackage(); void applyChanges(); void letterPushed( QString t ); + void slotDisplayPackage( QListViewItem * ); }; #endif diff --git a/noncore/settings/aqpkg/packagewin.cpp b/noncore/settings/aqpkg/packagewin.cpp new file mode 100644 index 0000000..f00453e --- a/dev/null +++ b/noncore/settings/aqpkg/packagewin.cpp @@ -0,0 +1,119 @@ +/* +                This file is part of the OPIE Project + =. +             .=l. Copyright (c) 2002 OPIE team +           .>+-= + _;:,     .>    :=|. This file is free software; you can +.> <`_,   >  .   <= redistribute it and/or modify it under +:`=1 )Y*s>-.--   : the terms of the GNU General Public +.="- .-=="i,     .._ License as published by the Free Software + - .   .-<_>     .<> Foundation; either version 2 of the License, +     ._= =}       : or (at your option) any later version. +    .%`+i>       _;_. +    .i_,=:_.      -`: PARTICULAR PURPOSE. See the GNU General +..}^=.=       =       ; Public License for more details. +++=   -.     .`     .: + :     =  ...= . :.=- You should have received a copy of the GNU + -.   .:....=;==+<; General Public License along with this file; +  -_. . .   )=.  = see the file COPYING. If not, write to the +    --        :-=` Free Software Foundation, Inc., + 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. + +*/ + +#include "packagewin.h" +#include "package.h" +#include "datamgr.h" + +#include + +#include +#include +#include +#include + +PackageWindow::PackageWindow( Package *package, const QString &server ) + : QWidget( 0, 0, 0 ) +{ + QVBoxLayout *layout = new QVBoxLayout( this, 4, 4 ); + QString str; + if ( package ) + { + setCaption( package->getPackageName() ); + QString destName; + if ( package->getLocalPackage() ) + { + if ( package->getLocalPackage()->getInstalledTo() ) + destName = package->getLocalPackage()->getInstalledTo()->getDestinationName(); + } + else + { + if ( package->getInstalledTo() ) + destName = package->getInstalledTo()->getDestinationName(); + } + + if ( !package->isPackageStoredLocally() ) + { + str.append( tr( "Description - " ) ); + str.append( package->getDescription() ); + if ( !destName.isNull() ) + { + str.append( tr( "

Installed To - " ) ); + str.append( destName ); + } + str.append( tr( "

Size - " ) ); + str.append( package->getPackageSize() ); + str.append( tr( "

Section - " ) ); + str.append( package->getSection() ); + } + else + { + str.append( tr( "

Filename - " ) ); + str.append( package->getFilename() ); + } + + if ( server == LOCAL_SERVER ) + { + str.append( tr( "

Version Installed - " ) ); + str.append( package->getVersion() ); + } + else + { + str.append( tr( "

Version Available - " ) ); + str.append( package->getVersion() ); + if ( package->getLocalPackage() ) + { + if ( package->isInstalled() ) + { + str.append( tr( "

Version Installed - " ) ); + str.append( package->getInstalledVersion() ); + } + } + } + } + else + { + setCaption( tr( "Package Information" ) ); + str = tr( "Package information is unavailable" ); + } + + QLabel *l = new QLabel( str, this ); + l->setTextFormat( Qt::RichText ); + l->setAlignment( Qt::AlignLeft | Qt::AlignVCenter | Qt::WordBreak ); + layout->addWidget( l ); + + QPushButton *btn = new QPushButton( Resource::loadPixmap( "enter" ), tr( "Close" ), this ); + layout->addWidget( btn ); + connect( btn, SIGNAL( clicked() ), this, SLOT( close() ) ); + +} + +PackageWindow::~PackageWindow() +{ +} + diff --git a/noncore/settings/aqpkg/packagewin.h b/noncore/settings/aqpkg/packagewin.h new file mode 100644 index 0000000..c1943b5 --- a/dev/null +++ b/noncore/settings/aqpkg/packagewin.h @@ -0,0 +1,45 @@ +/* +                This file is part of the OPIE Project + =. +             .=l. Copyright (c) 2002 OPIE team +           .>+-= + _;:,     .>    :=|. This file is free software; you can +.> <`_,   >  .   <= redistribute it and/or modify it under +:`=1 )Y*s>-.--   : the terms of the GNU General Public +.="- .-=="i,     .._ License as published by the Free Software + - .   .-<_>     .<> Foundation; either version 2 of the License, +     ._= =}       : or (at your option) any later version. +    .%`+i>       _;_. +    .i_,=:_.      -`: PARTICULAR PURPOSE. See the GNU General +..}^=.=       =       ; Public License for more details. +++=   -.     .`     .: + :     =  ...= . :.=- You should have received a copy of the GNU + -.   .:....=;==+<; General Public License along with this file; +  -_. . .   )=.  = see the file COPYING. If not, write to the +    --        :-=` Free Software Foundation, Inc., + 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. + +*/ + +#ifndef PACKAGEWIN_H +#define PACKAGEWIN_H + +#include + +class Package; + +class PackageWindow :public QWidget +{ + Q_OBJECT +public: + + PackageWindow( Package * = 0x0, const QString & = QString::null ); + ~PackageWindow(); +}; + +#endif \ No newline at end of file -- cgit v0.9.0.2