Ejemplo n.º 1
0
PackageWindow::PackageWindow( Package *package, const QString &server )
	: QWidget( 0, 0, 0 )
{
	QString str;
	if ( package )
	{
        Package *local = package->getLocalPackage();
		setCaption( package->getPackageName() );
		QString destName;
		if ( local )
		{
			if ( local->getInstalledTo() )
				destName = package->getLocalPackage()->getInstalledTo()->getDestinationName();
		}
		else
		{
			if ( package->getInstalledTo() )
				destName = package->getInstalledTo()->getDestinationName();
		}

		if ( !package->isPackageStoredLocally() )
		{
			str.append( tr( "<b>Description</b> - " ) );
			str.append( package->getDescription() );
			if ( !destName.isNull() )
			{
				str.append( tr( "<p><b>Installed To</b> - " ) );
				str.append( destName );
			}
			str.append( tr( "<p><b>Size</b> - " ) );
			str.append( package->getPackageSize() );
			str.append( tr( "<p><b>Section</b> - " ) );
			str.append( package->getSection() );
		}
		else
		{
			str.append( tr( "<p><b>Filename</b> - " ) );
			str.append( package->getFilename() );
		}

		if ( server == LOCAL_SERVER )
		{
			str.append( tr( "<p><b>Version Installed</b> - " ) );
			str.append( package->getVersion() );
		}
		else
		{
			str.append( tr( "<p><b>Version Available</b> - " ) );
			str.append( package->getVersion() );
			if ( local )
			{
				if ( package->isInstalled() )
				{
					str.append( tr( "<p><b>Version Installed</b> - " ) );
					str.append( package->getInstalledVersion() );
				}
			}
		}
	}
	else
	{
		setCaption( tr( "Package Information" ) );
		str = tr( "Package information is unavailable" );
	}

	QVBoxLayout *layout = new QVBoxLayout( this, 4, 4 );

	QTextView *l = new QTextView( str, QString::null, this );
	layout->addWidget( l );

	QPushButton *btn = new QPushButton( Opie::Core::OResource::loadPixmap( "enter", Opie::Core::OResource::SmallIcon ), tr( "Close" ), this );
	layout->addWidget( btn );
	connect( btn, SIGNAL( clicked() ), this, SLOT( close() ) );

}