PackageDetails::PackageDetails(OCI::Package *package,int count, int packagecount, QObject *parent )
{
    setObjectName( "pk" );
    setStyleSheet( "#pk{background-color : white; border : 1px solid rgb(196,181,147);}");
    QVBoxLayout *mainLayout = new QVBoxLayout;
    mainLayout->setSpacing( 0 );
    QHBoxLayout *packageLayout = new QHBoxLayout;

    m_packageMetadata = new PackageMetadata();
    m_packageMetadata->getData( package->name() );
    

    m_summary = new QLabel( i18n("<b>Summary:</b> %1").arg(package->summary()) );
    m_fetchingAnimation.setFileName("/usr/share/one-click-installer/res/ticks-endless.gif");
    m_version = new QLabel( i18n("Fetching...") );
    m_size = new QLabel( i18n("Fetching...") );
    if (m_fetchingAnimation.isValid()) {
       m_version->setMovie(&m_fetchingAnimation);
       m_size->setMovie(&m_fetchingAnimation);
       m_fetchingAnimation.start();
    };

    QObject::connect( m_packageMetadata, SIGNAL( finished( QString,QString ) ), this, SLOT( dataChanged( QString,QString ) ) );

     m_showDescription = new QLabel( QString( "<a href = \"%1\">%2</a>" ).arg( count ).arg( i18n("Show Details") ));
    m_showDescription->setSizePolicy( QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding );
    m_description = new QLabel( QString( "%1" ).arg( package->description() ) );
    m_description->setSizePolicy( QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding );

    m_descriptionVisible = false;

    QObject::connect( m_showDescription, SIGNAL( linkActivated( QString ) ), this, SLOT( showPackageDescription( QString ) ) );

    m_size->setStyleSheet( "background-color : white;  padding-left : 3px;" );
    m_size->setSizePolicy( QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding );
    m_version->setStyleSheet( "background-color : white; padding-left : 3px;" );
    m_version->setSizePolicy( QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding );
    m_summary->setStyleSheet( "background-color : white; border-left : 1px solid rgb(196,181,147); border-right : 1px solid rgb(196,181,147); padding-left : 3px; border-bottom : 1px solid rgb(196,181,147);" );
    m_summary->setSizePolicy( QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding );
    m_showDescription->setStyleSheet( "background-color : white;border-right : 1px solid rgb(196,181,147); " );
    m_showDescription->setSizePolicy( QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding );
    m_description->setStyleSheet( "background-color : white; border-bottom : 1px solid rgb(196,181,147); border-left : 1px solid rgb(196,181,147); border-right : 1px solid rgb(196,181,147);" );
    m_description->setContentsMargins( 10, 10, 10, 10 );
    m_description->setWordWrap( true );

    if( packagecount == 1 ) {
        m_singlePackage = new QLabel( package->name() );
        m_singlePackage->setStyleSheet( "background-color : white; border-left : 1px solid rgb(196,181,147);" );
        m_singlePackage->setContentsMargins( 10, 10, 10, 10 );
        m_singlePackage->setSizePolicy( QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding );
        packageLayout->addWidget( m_singlePackage );
    } else {
        m_packageName = new QCheckBox( package->name() );
        m_packageName->setChecked( true );
        m_packageName->setContentsMargins( 10, 10, 10, 10 );
        m_packageName->setSizePolicy( QSizePolicy::MinimumExpanding, QSizePolicy::Expanding );
        m_packageName->setStyleSheet( "background-color : white; border-left : 1px solid rgb(196,181,147); padding-left : 3px;" );
        QObject::connect( m_packageName, SIGNAL( toggled( bool ) ), this, SIGNAL( installableStateToggled( bool )  ) );
        packageLayout->addWidget( m_packageName );
    }
    
    packageLayout->addWidget( m_version );
    packageLayout->addWidget( m_size );
    packageLayout->addWidget( m_showDescription );
    mainLayout->addLayout( packageLayout );
    mainLayout->addWidget( m_summary );
    setLayout( mainLayout );
}
PackageDetails::PackageDetails(OCI::Package *package,int count, int packagecount, QObject *parent )
{
    setObjectName( "pk" );
    setStyleSheet( "#pk{background-color : white; border : 1px solid rgb(196,181,147);}");
    QVBoxLayout *mainLayout = new QVBoxLayout;
    mainLayout->setSpacing( 0 );
    QHBoxLayout *packageLayout = new QHBoxLayout;

    meta = new PackageMetadata( package->name() );
    meta->getData();

    m_summary = new QLabel( QString( "<b>Summary:</b> %1" ).arg( package->summary() ) );
    m_version = new QLabel( "Fetching..." );
    m_size = new QLabel( "Fetching..." );

    QObject::connect( meta, SIGNAL( finished( QString,QString ) ), this, SLOT( dataChanged( QString,QString ) ) );

    m_showDescription = new QLabel( QString( "<a href = %1>Show Details</a>" ).arg( count ) );
    m_showDescription->setSizePolicy( QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding );
    m_description = new QLabel( QString( "%1" ).arg( package->description() ) );
    m_description->setSizePolicy( QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding );

    m_descriptionVisible = false;

    QObject::connect( m_showDescription, SIGNAL( linkActivated( QString ) ), this, SLOT( showPackageDescription( QString ) ) );

    m_size->setStyleSheet( "background-color : white;  padding-left : 3px;" );
    m_size->setSizePolicy( QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding );
    m_version->setStyleSheet( "background-color : white; padding-left : 3px;" );
    m_version->setSizePolicy( QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding );
    m_summary->setStyleSheet( "background-color : white; border-left : 1px solid rgb(196,181,147); border-right : 1px solid rgb(196,181,147); padding-left : 3px; border-bottom : 1px solid rgb(196,181,147);" );
    m_summary->setSizePolicy( QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding );
    m_showDescription->setStyleSheet( "background-color : white;border-right : 1px solid rgb(196,181,147); " );
    m_showDescription->setSizePolicy( QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding );
    m_description->setStyleSheet( "background-color : white; border-bottom : 1px solid rgb(196,181,147); border-left : 1px solid rgb(196,181,147); border-right : 1px solid rgb(196,181,147);" );
    m_description->setContentsMargins( 10, 10, 10, 10 );
    m_description->setWordWrap( true );

    if( packagecount == 1 ) {
        m_singlePackage = new QLabel( package->name() );
        m_singlePackage->setStyleSheet( "background-color : white; border-left : 1px solid rgb(196,181,147);" );
        m_singlePackage->setContentsMargins( 10, 10, 10, 10 );
        m_singlePackage->setSizePolicy( QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding );
        packageLayout->addWidget( m_singlePackage );
    } else {
        m_packageName = new QCheckBox( package->name() );
        m_packageName->setChecked( true );
        m_packageName->setContentsMargins( 10, 10, 10, 10 );
        m_packageName->setSizePolicy( QSizePolicy::MinimumExpanding, QSizePolicy::Expanding );
        m_packageName->setStyleSheet( "background-color : white; border-left : 1px solid rgb(196,181,147); padding-left : 3px;" );
        packageLayout->addWidget( m_packageName );
    }
    packageLayout->addWidget( m_version );
    packageLayout->addWidget( m_size );
    packageLayout->addWidget( m_showDescription );
    mainLayout->addLayout( packageLayout );
    mainLayout->addWidget( m_summary );
    setLayout( mainLayout );
}