vlc | branch: master | Hugo Beauzée-Luyssen <[email protected]> | Tue Aug 22 10:29:57 2017 +0200| [20d465183a4a9be21bf5c9f07f26a0b42b3b06a5] | committer: Hugo Beauzée-Luyssen
qt: plugins: Don't generate icons procedurally Fix #18689 > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=20d465183a4a9be21bf5c9f07f26a0b42b3b06a5 --- modules/gui/qt/Makefile.am | 6 ++++++ modules/gui/qt/dialogs/plugins.cpp | 37 ++++++++++++++++++------------------- modules/gui/qt/vlc.qrc | 6 ++++++ 3 files changed, 30 insertions(+), 19 deletions(-) diff --git a/modules/gui/qt/Makefile.am b/modules/gui/qt/Makefile.am index 3dd9667741..8ed48411d2 100644 --- a/modules/gui/qt/Makefile.am +++ b/modules/gui/qt/Makefile.am @@ -317,6 +317,12 @@ libqt_plugin_la_RES = \ gui/qt/pixmaps/go-next.png \ gui/qt/pixmaps/addons/addon.png \ gui/qt/pixmaps/addons/addon_broken.png \ + gui/qt/pixmaps/addons/addon_blue.png \ + gui/qt/pixmaps/addons/addon_cyan.png \ + gui/qt/pixmaps/addons/addon_green.png \ + gui/qt/pixmaps/addons/addon_magenta.png \ + gui/qt/pixmaps/addons/addon_red.png \ + gui/qt/pixmaps/addons/addon_yellow.png \ gui/qt/pixmaps/addons/score.png \ gui/qt/pixmaps/menus/exit_16px.png \ gui/qt/pixmaps/menus/help_16px.png \ diff --git a/modules/gui/qt/dialogs/plugins.cpp b/modules/gui/qt/dialogs/plugins.cpp index c1d7463a20..d5f7edfdb5 100644 --- a/modules/gui/qt/dialogs/plugins.cpp +++ b/modules/gui/qt/dialogs/plugins.cpp @@ -300,24 +300,26 @@ void ExtensionTab::moreInformation() dlg.exec(); } -static QPixmap hueRotate( QImage image, const QColor &source, const QColor &target ) +static QIcon iconFromCategory( int type ) { - int distance = target.hue() - source.hue(); - /* must be indexed as we alter palette, not a whole pic */ - Q_ASSERT( image.colorCount() ); - if ( target.isValid() ) + switch( type ) { - /* color 1 = transparency */ - for ( int i=1; i < image.colorCount(); i++ ) - { - QColor color = image.color( i ); - int newhue = color.hue() + distance; - if ( newhue < 0 ) newhue += 255; - color.setHsv( newhue, color.saturation(), color.value(), color.alpha() ); - image.setColor( i, color.rgba() ); - } + case ADDON_EXTENSION: + return QIcon( ":/addons/addon_yellow" ); + case ADDON_PLAYLIST_PARSER: + return QIcon( ":/addons/addon_green" ); + case ADDON_SERVICE_DISCOVERY: + return QIcon( ":/addons/addon_red" ); + case ADDON_SKIN2: + return QIcon( ":/addons/addon_cyan" ); + case ADDON_INTERFACE: + return QIcon( ":/addons/addon_blue" ); + case ADDON_META: + return QIcon( ":/addons/addon_magenta" ); + default: + return QIcon( ":/addons/default" ); } - return QPixmap::fromImage( image ); + vlc_assert_unreachable(); } /* Add-ons tab */ @@ -352,12 +354,9 @@ AddonsTab::AddonsTab( intf_thread_t *p_intf_ ) : QVLCFrame( p_intf_ ) QToolButton * button; signalMapper = new QSignalMapper(); - QImage icon( ":/addons/default" ); - QColor vlcorange( 0xEC, 0x83, 0x00 ); #define ADD_CATEGORY( label, ltooltip, numb ) \ button = new QToolButton( this );\ - button->setIcon( QIcon( hueRotate( icon, vlcorange, \ - AddonsListModel::getColorByAddonType( numb ) ) ) );\ + button->setIcon( iconFromCategory( numb ) ); \ button->setText( label );\ button->setToolTip( ltooltip );\ button->setToolButtonStyle( Qt::ToolButtonTextBesideIcon );\ diff --git a/modules/gui/qt/vlc.qrc b/modules/gui/qt/vlc.qrc index 59055fb6bb..0da18b08d0 100644 --- a/modules/gui/qt/vlc.qrc +++ b/modules/gui/qt/vlc.qrc @@ -147,5 +147,11 @@ <file alias="default">pixmaps/addons/addon.png</file> <file alias="broken">pixmaps/addons/addon_broken.png</file> <file alias="score">pixmaps/addons/score.png</file> + <file alias="addon_blue">pixmaps/addons/addon_blue.png</file> + <file alias="addon_cyan">pixmaps/addons/addon_cyan.png</file> + <file alias="addon_green">pixmaps/addons/addon_green.png</file> + <file alias="addon_magenta">pixmaps/addons/addon_magenta.png</file> + <file alias="addon_red">pixmaps/addons/addon_red.png</file> + <file alias="addon_yellow">pixmaps/addons/addon_yellow.png</file> </qresource> </RCC> _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
