vlc | branch: master | Francois Cartegnie <[email protected]> | Mon Feb 20 18:09:31 2012 +0100| [3b5bfc6e3c723c9988deae1acfd1b27ab43411f3] | committer: Francois Cartegnie
Qt: plugins: activate buttons contextually > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=3b5bfc6e3c723c9988deae1acfd1b27ab43411f3 --- modules/gui/qt4/dialogs/plugins.cpp | 24 +++++++++++++----------- modules/gui/qt4/dialogs/plugins.hpp | 1 + 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/modules/gui/qt4/dialogs/plugins.cpp b/modules/gui/qt4/dialogs/plugins.cpp index d84878e..bd37b61 100644 --- a/modules/gui/qt4/dialogs/plugins.cpp +++ b/modules/gui/qt4/dialogs/plugins.cpp @@ -227,8 +227,7 @@ ExtensionTab::ExtensionTab( intf_thread_t *p_intf ) butMoreInfo = new QPushButton( QIcon( ":/menu/info" ), qtr( "More information..." ), this ); - CONNECT( butMoreInfo, clicked(), - this, moreInformation() ); + CONNECT( butMoreInfo, clicked(), this, moreInformation() ); hbox->addWidget( butMoreInfo ); // Reload button @@ -236,18 +235,28 @@ ExtensionTab::ExtensionTab( intf_thread_t *p_intf ) QPushButton *reload = new QPushButton( QIcon( ":/update" ), qtr( "Reload extensions" ), this ); - CONNECT( reload, clicked(), - EM, reloadExtensions() ); + CONNECT( reload, clicked(), EM, reloadExtensions() ); + CONNECT( reload, clicked(), this, updateButtons() ); + CONNECT( extList->selectionModel(), + selectionChanged( const QItemSelection &, const QItemSelection & ), + this, + updateButtons() ); hbox->addWidget( reload ); // Add buttons hbox layout->addItem( hbox ); + updateButtons(); } ExtensionTab::~ExtensionTab() { } +void ExtensionTab::updateButtons() +{ + butMoreInfo->setEnabled( extList->selectionModel()->hasSelection() ); +} + // Do not close on ESC or ENTER void ExtensionTab::keyPressEvent( QKeyEvent *keyEvent ) { @@ -261,13 +270,6 @@ void ExtensionTab::keyPressEvent( QKeyEvent *keyEvent ) // Show more information void ExtensionTab::moreInformation() { - if( !extList->selectionModel() || - extList->selectionModel()->selectedIndexes().isEmpty() ) - - { - return; - } - QModelIndex index = extList->selectionModel()->selectedIndexes().first(); ExtensionCopy *ext = (ExtensionCopy*) index.internalPointer(); if( !ext ) diff --git a/modules/gui/qt4/dialogs/plugins.hpp b/modules/gui/qt4/dialogs/plugins.hpp index 20ba740..5494b44 100644 --- a/modules/gui/qt4/dialogs/plugins.hpp +++ b/modules/gui/qt4/dialogs/plugins.hpp @@ -100,6 +100,7 @@ private: private slots: void moreInformation(); + void updateButtons(); private: QListView *extList; _______________________________________________ vlc-commits mailing list [email protected] http://mailman.videolan.org/listinfo/vlc-commits
