Exemple #1
0
pPaypalButton::pPaypalButton( QWidget* parent )
    : QPushButton( parent )
{
    setCursor( Qt::PointingHandCursor );
    setSizePolicy( QSizePolicy( QSizePolicy::Maximum, QSizePolicy::Maximum ) );

    mQueryItems[ QSL( "path" ) ] = QSL( "%1/cgi-bin/webscr" ).arg( QSL( PAYPAL_DOMAIN ) );
    mQueryItems[ QSL( "cmd" ) ] = QSL( "_donations" );
    mQueryItems[ QSL( "bn" ) ] = QUrl::fromPercentEncoding( "PP%2dDonationsBF%3abtn_donate_SM%2egif%3aNonHosted" );
    mAutoOpenUrl = true;

    localeChanged();

    connect( this, SIGNAL( clicked() ), this, SLOT( _q_clicked() ) );
    connect( pNetworkAccessManager::instance(), SIGNAL( cached( const QUrl& ) ), this, SLOT( networkAccessManager_cached( const QUrl& ) ) );
    connect( pNetworkAccessManager::instance(), SIGNAL( error( const QUrl&, const QString& ) ), this, SLOT( networkAccessManager_error( const QUrl&, const QString& ) ) );
    connect( pNetworkAccessManager::instance(), SIGNAL( cacheCleared() ), this, SLOT( networkAccessManager_cacheCleared() ) );
}
UIMain::UIMain( QWidget* parent )
    : QMainWindow( parent )
{
#if defined( Q_OS_MAC )
    mMenuBar = new QMenuBar;
#endif
    mCache = pNetworkAccessManager::instance();
    mUpdateChecker = new pUpdateChecker( this );
    mUpdateChecker->setDownloadsFeedUrl( QUrl( APPLICATION_DOWNLOADS_FEED ) );
    mUpdateChecker->setVersion( APPLICATION_VERSION );
    mUpdateChecker->setVersionString( APPLICATION_VERSION_STR );
    mUpdateChecker->setVersionDiscoveryPattern( ".*qwbfsmanager-([0-9\\.]+).*" );

    setWindowTitle( QString( "%1 v%2" ).arg( APPLICATION_NAME ).arg( APPLICATION_VERSION_STR ) );
    setUnifiedTitleAndToolBarOnMac( true );
    setupUi( this );

#if defined( Q_OS_MAC )
    mMenuBar->addMenu( "Fake" )->addAction( aProperties );
#endif

    centralVerticalLayout->setMenuBar( qmtbInfos );
    qmtbInfos->layout()->setMargin( 5 );
    qmtbInfos->queuedMessageWidget()->setContentsMargins( 5, 0, 5, 0 );
    qmtbInfos->setVisible( false );

    dwTools->toggleViewAction()->setIcon( QIcon( ":/icons/256/tools.png" ) );
    dwCovers->toggleViewAction()->setIcon( QIcon( ":/icons/256/covers.png" ) );

    mDonationWidget = new pPaypalButton( this );
    mDonationWidget->setBusinessId( "5R924WYXJ6BAW" );
    mDonationWidget->setItemName( "QWBFS Manager" );
    mDonationWidget->setItemId( "QWBFS-DONATION" );
    mDonationWidget->setCurrencyCode( "EUR" );

    mActions = new QMenu( this );
    mActions->setIcon( aConvertToWBFSFiles->icon() );
    mActions->addAction( aConvertToWBFSFiles );
    mActions->addAction( aConvertToISOFiles );
    mActions->addAction( aRenameDiscsInFolder );

    toolBar->insertAction( aAbout, mUpdateChecker->menuAction() );
    toolBar->addAction( mActions->menuAction() );
    toolBar->addSeparator();
    toolBar->addAction( dwTools->toggleViewAction() );
    toolBar->addAction( dwCovers->toggleViewAction() );
    QWidget* spacerWidget = new QWidget( toolBar );
    spacerWidget->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Maximum ) );
    toolBar->addWidget( spacerWidget );
    toolBar->addWidget( mDonationWidget );

    mFoldersModel = new QFileSystemModel( this );
    mFoldersModel->setFilter( QDir::Dirs | QDir::NoDotAndDotDot );

    mFilesModel = new QFileSystemModel( this );
    mFilesModel->setFilter( QDir::Files );

    tvFolders->setModel( mFoldersModel );
    tvFolders->setColumnHidden( 1, true );
    tvFolders->setColumnHidden( 2, true );
    tvFolders->setColumnHidden( 3, true );

    lvFiles->setModel( mFilesModel );

    lvExport->initialize( 0, mCache );

    mLastDiscId = -1;

    pwMainView->setMainView( true );
    pwMainView->showHideImportViewButton()->setChecked( false );
    connectView( pwMainView );

    qmtbInfos->installEventFilter( this );
    lWiiTDB->installEventFilter( this );

    localeChanged();

    connect( mCache, SIGNAL( finished( QNetworkReply* ) ), this, SLOT( networkAccessManager_finished( QNetworkReply* ) ) );
    connect( mCache, SIGNAL( cached( const QUrl& ) ), this, SLOT( networkAccessManager_cached( const QUrl& ) ) );
    connect( mCache, SIGNAL( error( const QUrl&, const QString& ) ), this, SLOT( networkAccessManager_error( const QUrl&, const QString& ) ) );
    connect( mCache, SIGNAL( cacheCleared() ), this, SLOT( networkAccessManager_cacheCleared() ) );
}