UpdateDialog::UpdateDialog( intf_thread_t *_p_intf ) : QVLCFrame( _p_intf ) { /* build Ui */ ui.setupUi( this ); ui.updateDialogButtonBox->addButton( new QPushButton( qtr("&Close"), this ), QDialogButtonBox::RejectRole ); QPushButton *recheckButton = new QPushButton( qtr("&Recheck version"), this ); ui.updateDialogButtonBox->addButton( recheckButton, QDialogButtonBox::ActionRole ); ui.updateNotifyButtonBox->addButton( new QPushButton( qtr("&Yes"), this ), QDialogButtonBox::AcceptRole ); ui.updateNotifyButtonBox->addButton( new QPushButton( qtr("&No"), this ), QDialogButtonBox::RejectRole ); setWindowTitle( qtr( "VLC media player updates" ) ); setWindowRole( "vlc-update" ); BUTTONACT( recheckButton, UpdateOrDownload() ); CONNECT( ui.updateDialogButtonBox, rejected(), this, close() ); CONNECT( ui.updateNotifyButtonBox, accepted(), this, UpdateOrDownload() ); CONNECT( ui.updateNotifyButtonBox, rejected(), this, close() ); /* Create the update structure */ p_update = update_New( p_intf ); b_checked = false; setMinimumSize( 300, 300 ); setMaximumSize( 400, 300 ); restoreWidgetPosition( "Update", QSize( 300, 250 ) ); /* Check for updates */ UpdateOrDownload(); }
EpgDialog::EpgDialog( intf_thread_t *_p_intf ): QVLCFrame( _p_intf ) { setWindowTitle( qtr( "Program Guide" ) ); QVBoxLayout *layout = new QVBoxLayout( this ); layout->setMargin( 0 ); epg = new EPGWidget( this ); QGroupBox *descBox = new QGroupBox( qtr( "Description" ), this ); QVBoxLayout *boxLayout = new QVBoxLayout( descBox ); description = new QTextEdit( this ); description->setReadOnly( true ); description->setFrameStyle( QFrame::Sunken | QFrame::StyledPanel ); description->setAutoFillBackground( true ); description->setAlignment( Qt::AlignLeft | Qt::AlignTop ); description->setFixedHeight( 100 ); QPalette palette; palette.setBrush(QPalette::Active, QPalette::Window, palette.brush( QPalette::Base ) ); description->setPalette( palette ); title = new QLabel( qtr( "Title" ), this ); title->setWordWrap( true ); boxLayout->addWidget( title ); boxLayout->addWidget( description ); layout->addWidget( epg, 10 ); layout->addWidget( descBox ); CONNECT( epg, itemSelectionChanged( EPGItem *), this, displayEvent( EPGItem *) ); CONNECT( epg, programActivated(int), THEMIM->getIM(), changeProgram(int) ); CONNECT( THEMIM->getIM(), epgChanged(), this, scheduleUpdate() ); CONNECT( THEMIM, inputChanged( bool ), this, inputChanged() ); QDialogButtonBox *buttonsBox = new QDialogButtonBox( this ); #if 0 QPushButton *update = new QPushButton( qtr( "Update" ) ); // Temporary to test buttonsBox->addButton( update, QDialogButtonBox::ActionRole ); BUTTONACT( update, updateInfos() ); #endif buttonsBox->addButton( new QPushButton( qtr( "&Close" ) ), QDialogButtonBox::RejectRole ); boxLayout->addWidget( buttonsBox ); CONNECT( buttonsBox, rejected(), this, close() ); timer = new QTimer( this ); timer->setSingleShot( true ); timer->setInterval( 5000 ); CONNECT( timer, timeout(), this, timeout() ); updateInfos(); restoreWidgetPosition( "EPGDialog", QSize( 650, 450 ) ); }
HelpDialog::HelpDialog( intf_thread_t *_p_intf ) : QVLCFrame( _p_intf ) { setWindowTitle( qtr( "Help" ) ); setWindowRole( "vlc-help" ); setMinimumSize( 350, 300 ); QVBoxLayout *layout = new QVBoxLayout( this ); QTextBrowser *helpBrowser = new QTextBrowser( this ); helpBrowser->setOpenExternalLinks( true ); helpBrowser->setHtml( qtr(I_LONGHELP) ); QDialogButtonBox *closeButtonBox = new QDialogButtonBox( this ); closeButtonBox->addButton( new QPushButton( qtr("&Close") ), QDialogButtonBox::RejectRole ); closeButtonBox->setFocus(); layout->addWidget( helpBrowser ); layout->addWidget( closeButtonBox ); CONNECT( closeButtonBox, rejected(), this, close() ); restoreWidgetPosition( "Help", QSize( 500, 450 ) ); }
MessagesDialog::MessagesDialog( intf_thread_t *_p_intf) : QVLCFrame( _p_intf ) { setWindowTitle( qtr( "Messages" ) ); setWindowRole( "vlc-messages" ); /* Build Ui */ ui.setupUi( this ); ui.bottomButtonsBox->addButton( new QPushButton( qtr("&Close"), this ), QDialogButtonBox::RejectRole ); /* Modules tree */ ui.modulesTree->setHeaderHidden( true ); /* Buttons and general layout */ ui.saveLogButton->setToolTip( qtr( "Saves all the displayed logs to a file" ) ); int i_verbosity = var_InheritInteger( p_intf, "verbose" ); changeVerbosity( i_verbosity ); ui.verbosityBox->setValue( qMin( i_verbosity, 2 ) ); getSettings()->beginGroup( "Messages" ); ui.filterEdit->setText( getSettings()->value( "messages-filter" ).toString() ); getSettings()->endGroup(); updateButton = new QPushButton( QIcon(":/update"), "" ); updateButton->setFlat( true ); ui.mainTab->setCornerWidget( updateButton ); #ifndef NDEBUG QWidget *pldebugTab = new QWidget(); QVBoxLayout *pldebugTabLayout = new QVBoxLayout(); pldebugTab->setLayout( pldebugTabLayout ); ui.mainTab->addTab( pldebugTab, "Playlist Tree" ); pldebugTree = new QTreeWidget(); pldebugTree->headerItem()->setText( 0, "Name" ); pldebugTree->headerItem()->setText( 1, "PL id" ); pldebugTree->headerItem()->setText( 2, "Item id" ); pldebugTree->headerItem()->setText( 3, "PL flags" ); pldebugTree->headerItem()->setText( 4, "Item flags" ); pldebugTree->setColumnCount( 5 ); pldebugTabLayout->addWidget( pldebugTree ); #endif tabChanged(0); BUTTONACT( updateButton, updateOrClear() ); BUTTONACT( ui.saveLogButton, save() ); CONNECT( ui.filterEdit, editingFinished(), this, updateConfig() ); CONNECT( ui.filterEdit, textChanged(QString), this, filterMessages() ); CONNECT( ui.bottomButtonsBox, rejected(), this, hide() ); CONNECT( ui.verbosityBox, valueChanged( int ), this, changeVerbosity( int ) ); CONNECT( ui.mainTab, currentChanged( int ), this, tabChanged( int ) ); /* General action */ restoreWidgetPosition( "Messages", QSize( 600, 450 ) ); /* Hook up to LibVLC messaging */ vlc_LogSet( p_intf->p_libvlc, MsgCallback, this ); buildTree( NULL, VLC_OBJECT( p_intf->p_libvlc ) ); }
BookmarksDialog::BookmarksDialog( intf_thread_t *_p_intf ):QVLCFrame( _p_intf ) { b_ignore_updates = false; setWindowFlags( Qt::Tool ); setWindowOpacity( var_InheritFloat( p_intf, "qt-opacity" ) ); setWindowTitle( qtr( "Edit Bookmarks" ) ); setWindowRole( "vlc-bookmarks" ); QHBoxLayout *layout = new QHBoxLayout( this ); QDialogButtonBox *buttonsBox = new QDialogButtonBox( Qt::Vertical ); QPushButton *addButton = new QPushButton( qtr( "Create" ) ); addButton->setToolTip( qtr( "Create a new bookmark" ) ); buttonsBox->addButton( addButton, QDialogButtonBox::ActionRole ); delButton = new QPushButton( qtr( "Delete" ) ); delButton->setToolTip( qtr( "Delete the selected item" ) ); buttonsBox->addButton( delButton, QDialogButtonBox::ActionRole ); clearButton = new QPushButton( qtr( "Clear" ) ); clearButton->setToolTip( qtr( "Delete all the bookmarks" ) ); buttonsBox->addButton( clearButton, QDialogButtonBox::ResetRole ); #if 0 QPushButton *extractButton = new QPushButton( qtr( "Extract" ) ); extractButton->setToolTip( qtr() ); buttonsBox->addButton( extractButton, QDialogButtonBox::ActionRole ); #endif /* ?? Feels strange as Qt guidelines will put reject on top */ buttonsBox->addButton( new QPushButton( qtr( "&Close" ) ), QDialogButtonBox::RejectRole); bookmarksList = new QTreeWidget( this ); bookmarksList->setRootIsDecorated( false ); bookmarksList->setAlternatingRowColors( true ); bookmarksList->setSelectionMode( QAbstractItemView::ExtendedSelection ); bookmarksList->setSelectionBehavior( QAbstractItemView::SelectRows ); bookmarksList->setEditTriggers( QAbstractItemView::SelectedClicked ); bookmarksList->setColumnCount( 3 ); bookmarksList->resize( sizeHint() ); QStringList headerLabels; headerLabels << qtr( "Description" ); headerLabels << qtr( "Bytes" ); headerLabels << qtr( "Time" ); bookmarksList->setHeaderLabels( headerLabels ); layout->addWidget( buttonsBox ); layout->addWidget( bookmarksList ); CONNECT( THEMIM->getIM(), bookmarksChanged(), this, update() ); CONNECT( bookmarksList, activated( QModelIndex ), this, activateItem( QModelIndex ) ); CONNECT( bookmarksList, itemChanged( QTreeWidgetItem*, int ), this, edit( QTreeWidgetItem*, int ) ); CONNECT( bookmarksList->model(), rowsInserted( const QModelIndex &, int, int ), this, updateButtons() ); CONNECT( bookmarksList->model(), rowsRemoved( const QModelIndex &, int, int ), this, updateButtons() ); CONNECT( bookmarksList->selectionModel(), selectionChanged( const QItemSelection &, const QItemSelection & ), this, updateButtons() ); BUTTONACT( addButton, add() ); BUTTONACT( delButton, del() ); BUTTONACT( clearButton, clear() ); #if 0 BUTTONACT( extractButton, extract() ); #endif CONNECT( buttonsBox, rejected(), this, close() ); updateButtons(); restoreWidgetPosition( "Bookmarks", QSize( 435, 280 ) ); updateGeometry(); }