|
|
|
@ -35,15 +35,12 @@ |
|
|
|
#include <QFile> |
|
|
|
#include <QLabel> |
|
|
|
#include <QString> |
|
|
|
#include <QCheckBox> |
|
|
|
#include <QGroupBox> |
|
|
|
#include <QDialogButtonBox> |
|
|
|
#include <QFileDialog> |
|
|
|
|
|
|
|
|
|
|
|
HelpDialog *HelpDialog::instance = NULL; |
|
|
|
|
|
|
|
HelpDialog::HelpDialog( intf_thread_t *_p_intf) : QVLCFrame( _p_intf ) |
|
|
|
HelpDialog::HelpDialog( intf_thread_t *_p_intf ) : QVLCFrame( _p_intf ) |
|
|
|
{ |
|
|
|
setWindowTitle( qtr( "Help" ) ); |
|
|
|
resize( 600, 560 ); |
|
|
|
@ -98,20 +95,20 @@ AboutDialog::AboutDialog( intf_thread_t *_p_intf) : QVLCFrame( _p_intf ) |
|
|
|
QLabel *infoLabel = new QLabel( "VLC media player " PACKAGE_VERSION "\n\n" |
|
|
|
"(c) 1996-2007 - the VideoLAN Team\n\n" + |
|
|
|
qtr( "VLC media player is a free media player, made by the " |
|
|
|
"VideoLAN Team.\nIt is a standalone multimedia player, " |
|
|
|
"encoder and streamer, that can read from many supports " |
|
|
|
"(files, CDs, DVDs, networks, capture cards...) and that " |
|
|
|
"works on many platforms.\n\n" ) |
|
|
|
"VideoLAN Team.\nIt is a standalone multimedia player, " |
|
|
|
"encoder and streamer, that can read from many supports " |
|
|
|
"(files, CDs, DVDs, networks, capture cards...) and that " |
|
|
|
"works on many platforms.\n\n" ) |
|
|
|
+ qtr( "You are using the new Qt4 Interface.\n" ) |
|
|
|
+ qtr( "Compiled by " ) + qfu( VLC_CompileBy() )+ "@" |
|
|
|
+ qfu( VLC_CompileDomain() ) + ".\n" |
|
|
|
+ "Compiler: " + qfu( VLC_Compiler() ) +".\n" |
|
|
|
+ "Compiler: " + qfu( VLC_Compiler() ) + ".\n" |
|
|
|
+ qtr( "Based on SVN revision: " ) + qfu( VLC_Changeset() ) |
|
|
|
+ ".\n\n" |
|
|
|
+ qtr( "This program comes with NO WARRANTY, to the extent " |
|
|
|
"permitted by the law; read the distribution tab.\n\n" ) |
|
|
|
+ "The VideoLAN team <videolan@videolan.org> \n" |
|
|
|
"http://www.videolan.org/\n") ; |
|
|
|
"http://www.videolan.org/\n" ); |
|
|
|
infoLabel->setWordWrap( infoLabel ); |
|
|
|
|
|
|
|
QLabel *iconVLC2 = new QLabel; |
|
|
|
@ -129,7 +126,7 @@ AboutDialog::AboutDialog( intf_thread_t *_p_intf) : QVLCFrame( _p_intf ) |
|
|
|
QWidget *thanksWidget = new QWidget( this ); |
|
|
|
QVBoxLayout *thanksLayout = new QVBoxLayout( thanksWidget ); |
|
|
|
|
|
|
|
QLabel *thanksLabel = new QLabel( qtr("We would like to thank the whole " |
|
|
|
QLabel *thanksLabel = new QLabel( qtr( "We would like to thank the whole " |
|
|
|
"community, the testers, our users and the following people " |
|
|
|
"(and the missing ones...) for their collaboration to " |
|
|
|
"provide the best software." ) ); |
|
|
|
@ -165,45 +162,32 @@ void AboutDialog::close() |
|
|
|
|
|
|
|
UpdateDialog *UpdateDialog::instance = NULL; |
|
|
|
|
|
|
|
UpdateDialog::UpdateDialog( intf_thread_t *_p_intf) : QVLCFrame( _p_intf ) |
|
|
|
UpdateDialog::UpdateDialog( intf_thread_t *_p_intf ) : QVLCFrame( _p_intf ) |
|
|
|
{ |
|
|
|
setWindowTitle( qtr( "Update" ) ); |
|
|
|
resize( 230, 180 ); |
|
|
|
resize( 320, 120 ); |
|
|
|
|
|
|
|
QGridLayout *layout = new QGridLayout( this ); |
|
|
|
|
|
|
|
updateBrowser = new QTextBrowser( this ); |
|
|
|
updateBrowser->setOpenExternalLinks( true ); |
|
|
|
updateBrowser->setHtml( qtr( "<html><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=\"utf-8\" /></head> \
|
|
|
|
<body><center>Push the update button to get the updates</center></body></html>" ) ); |
|
|
|
|
|
|
|
QPushButton *closeButton = new QPushButton( qtr( "&Close" ) ); |
|
|
|
updateButton = new QPushButton( qtr( "&Update List" ) ); |
|
|
|
QPushButton *updateButton = new QPushButton( qtr( "&Update List" ) ); |
|
|
|
updateButton->setDefault( true ); |
|
|
|
QDialogButtonBox *buttonBox = new QDialogButtonBox(Qt::Horizontal); |
|
|
|
QDialogButtonBox *buttonBox = new QDialogButtonBox( Qt::Horizontal ); |
|
|
|
buttonBox->addButton( updateButton, QDialogButtonBox::ActionRole ); |
|
|
|
buttonBox->addButton( closeButton, QDialogButtonBox::AcceptRole ); |
|
|
|
|
|
|
|
QGroupBox *checkGroup = new QGroupBox( qtr( "Select Package" ) ); |
|
|
|
QGridLayout *checkLayout = new QGridLayout( checkGroup ); |
|
|
|
checkInfo = new QCheckBox( qtr( "Information" ) ); |
|
|
|
checkSource = new QCheckBox( qtr( "Sources" ) ); |
|
|
|
checkBinary = new QCheckBox( qtr( "Binary" ) ); |
|
|
|
checkPlugin = new QCheckBox( qtr( "Plugin" ) ); |
|
|
|
|
|
|
|
checkInfo->setDisabled( true ); |
|
|
|
checkSource->setDisabled( true ); |
|
|
|
checkBinary->setDisabled( true ); |
|
|
|
checkPlugin->setDisabled( true ); |
|
|
|
|
|
|
|
checkLayout->addWidget( checkInfo, 0, 0 ); |
|
|
|
checkLayout->addWidget( checkSource, 1, 0 ); |
|
|
|
checkLayout->addWidget( checkBinary, 2, 0 ); |
|
|
|
checkLayout->addWidget( checkPlugin, 3, 0 ); |
|
|
|
|
|
|
|
layout->addWidget( checkGroup, 0, 0 ); |
|
|
|
layout->addWidget( updateBrowser, 0, 0 ); |
|
|
|
layout->addWidget( buttonBox, 1, 0 ); |
|
|
|
|
|
|
|
BUTTONACT( updateButton, updateOrUpload() ); |
|
|
|
BUTTONACT( closeButton, close() ); |
|
|
|
|
|
|
|
p_update = update_New( _p_intf ); |
|
|
|
b_updated = false; |
|
|
|
} |
|
|
|
|
|
|
|
UpdateDialog::~UpdateDialog() |
|
|
|
@ -218,101 +202,18 @@ void UpdateDialog::close() |
|
|
|
|
|
|
|
void UpdateDialog::updateOrUpload() |
|
|
|
{ |
|
|
|
if( !p_update ) return; |
|
|
|
if( !b_updated ) |
|
|
|
update_Check( p_update ); |
|
|
|
|
|
|
|
if( update_CompareReleaseToCurrent( p_update ) == UpdateReleaseStatusNewer ) |
|
|
|
{ |
|
|
|
update_Check( p_update, VLC_FALSE ); |
|
|
|
update_iterator_t *p_updateit = update_iterator_New( p_update ); |
|
|
|
bool b_download = false; |
|
|
|
if( p_updateit ) |
|
|
|
{ |
|
|
|
p_updateit->i_rs = UPDATE_RELEASE_STATUS_NEWER; |
|
|
|
p_updateit->i_t = UPDATE_FILE_TYPE_ALL; |
|
|
|
update_iterator_Action( p_updateit, UPDATE_MIRROR ); |
|
|
|
while( update_iterator_Action( p_updateit, UPDATE_FILE ) != UPDATE_FAIL ) |
|
|
|
{ |
|
|
|
switch( p_updateit->file.i_type ) |
|
|
|
{ |
|
|
|
case UPDATE_FILE_TYPE_INFO: |
|
|
|
checkInfo->setText( qtr( "Information" ) + " (" + qfu( p_updateit->release.psz_version ) + ")" ); |
|
|
|
checkInfo->setDisabled( false ); |
|
|
|
checkInfo->setCheckState( Qt::Checked ); |
|
|
|
b_download = true; |
|
|
|
break; |
|
|
|
case UPDATE_FILE_TYPE_SOURCE: |
|
|
|
checkSource->setText( qtr( "Source" ) + " (" + qfu( p_updateit->release.psz_version ) + ")" ); |
|
|
|
checkSource->setDisabled( false ); |
|
|
|
checkSource->setCheckState( Qt::Checked ); |
|
|
|
b_download = true; |
|
|
|
break; |
|
|
|
case UPDATE_FILE_TYPE_BINARY: |
|
|
|
checkBinary->setText( qtr( "Binary" ) + " (" + qfu( p_updateit->release.psz_version ) + ")" ); |
|
|
|
checkBinary->setDisabled( false ); |
|
|
|
checkBinary->setCheckState( Qt::Checked ); |
|
|
|
b_download = true; |
|
|
|
break; |
|
|
|
case UPDATE_FILE_TYPE_PLUGIN: |
|
|
|
checkPlugin->setText( qtr( "Plugin" ) + " (" + qfu( p_updateit->release.psz_version ) + ")"); |
|
|
|
checkPlugin->setDisabled( false ); |
|
|
|
checkPlugin->setCheckState( Qt::Checked ); |
|
|
|
b_download = true; |
|
|
|
break; |
|
|
|
default: |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
if( b_download ) |
|
|
|
{ |
|
|
|
updateButton->setText(qtr( "Download" ) ); |
|
|
|
b_updated = true; |
|
|
|
} |
|
|
|
update_iterator_Delete( p_updateit ); |
|
|
|
updateBrowser->setHtml( qtr( "<html><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=\"utf-8\" /></head> \
|
|
|
|
<body><center><p>" ) + qtu( (QString)p_update->release.psz_desc ) + |
|
|
|
qtr( "</p>You can download the latest version of VLC <a href=\"" ) + |
|
|
|
qtu( (QString)p_update->release.psz_url ) + qtr( "\">here</a></center></body></html>" ) ); |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
update_iterator_t *p_updateit = update_iterator_New( p_update ); |
|
|
|
bool b_download = false; |
|
|
|
if( p_updateit ) |
|
|
|
{ |
|
|
|
QString saveDir = QFileDialog::getExistingDirectory( this, qtr( "Choose a directory..." ), |
|
|
|
qfu( p_intf->p_libvlc->psz_homedir ) ); |
|
|
|
|
|
|
|
p_updateit->i_rs = UPDATE_RELEASE_STATUS_NEWER; |
|
|
|
p_updateit->i_t = UPDATE_FILE_TYPE_ALL; |
|
|
|
update_iterator_Action( p_updateit, UPDATE_MIRROR ); |
|
|
|
|
|
|
|
while( update_iterator_Action( p_updateit, UPDATE_FILE ) != UPDATE_FAIL ) |
|
|
|
{ |
|
|
|
b_download = false; |
|
|
|
switch( p_updateit->file.i_type ) |
|
|
|
{ |
|
|
|
case UPDATE_FILE_TYPE_INFO: |
|
|
|
if( checkInfo->isChecked() ) |
|
|
|
b_download = true; |
|
|
|
break; |
|
|
|
case UPDATE_FILE_TYPE_SOURCE: |
|
|
|
if( checkSource->isChecked() ) |
|
|
|
b_download = true; |
|
|
|
break; |
|
|
|
case UPDATE_FILE_TYPE_BINARY: |
|
|
|
if( checkBinary->isChecked() ) |
|
|
|
b_download = true; |
|
|
|
break; |
|
|
|
case UPDATE_FILE_TYPE_PLUGIN: |
|
|
|
if( checkPlugin->isChecked() ) |
|
|
|
b_download = true; |
|
|
|
break; |
|
|
|
default: |
|
|
|
break; |
|
|
|
} |
|
|
|
if( b_download ) |
|
|
|
{ |
|
|
|
QString strFileName = p_updateit->file.psz_url; |
|
|
|
strFileName.remove( 0, strFileName.lastIndexOf( "/" ) + 1 ); |
|
|
|
update_download( p_updateit, qtu( ( saveDir + strFileName ) ) ); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
updateBrowser->setHtml( "<html><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=\"utf-8\" /></head> \
|
|
|
|
<body><center>You have the latest version of VLC.</center></body></html>" ); |
|
|
|
} |
|
|
|
} |
|
|
|
|