vlc | branch: master | Francois Cartegnie <[email protected]> | Thu Mar 21 
16:51:15 2013 +0100| [8c2ccecd9990fc9d6d7604dd20205f622071c6d8] | committer: 
Francois Cartegnie

Qt: Equalizer: add presets icons

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=8c2ccecd9990fc9d6d7604dd20205f622071c6d8
---

 modules/gui/qt4/components/extended_panels.cpp |   20 +++++++++++++++++++-
 1 file changed, 19 insertions(+), 1 deletion(-)

diff --git a/modules/gui/qt4/components/extended_panels.cpp 
b/modules/gui/qt4/components/extended_panels.cpp
index 20cf56e..7025386 100644
--- a/modules/gui/qt4/components/extended_panels.cpp
+++ b/modules/gui/qt4/components/extended_panels.cpp
@@ -39,6 +39,8 @@
 #include <QComboBox>
 #include <QTimer>
 #include <QFileDialog>
+#include <QGraphicsScene>
+#include <QPainter>
 
 #include "components/extended_panels.hpp"
 #include "dialogs/preferences.hpp"
@@ -1244,7 +1246,23 @@ void Equalizer::build()
     ui.presetsCombo->addItem( "", QVariant() ); /* 1st entry = custom/modified 
*/
     for( i = 0 ; i < NB_PRESETS ; i ++ )
     {
-        ui.presetsCombo->addItem( qtr( preset_list_text[i] ),
+        QGraphicsScene scene;
+        QPixmap icon( 40, 40 );
+        icon.fill( Qt::transparent );
+        QPainter painter( &icon );
+        for ( int j = 0; j < eqz_preset_10b[i].i_band; j++ )
+        {
+            float f_value = eqz_preset_10b[i].f_amp[j];
+            if ( f_value > 20.0 ) f_value = 20.0;
+            if ( f_value < -20.0 ) f_value = -20.0;
+            QRectF shape( j, 20.0 - f_value, 1, f_value );
+            scene.addRect( shape, QPen(), palette().brush( 
QPalette::WindowText ) );
+        }
+        scene.addLine( 0.0, 20.0, eqz_preset_10b[i].i_band, 20.0,
+                       palette().color( QPalette::WindowText ) );
+        scene.setSceneRect( 0.0, 0.0, eqz_preset_10b[i].i_band , 40.0 );
+        scene.render( &painter, icon.rect(), scene.sceneRect(), 
Qt::IgnoreAspectRatio );
+        ui.presetsCombo->addItem( icon, qtr( preset_list_text[i] ),
                                      QVariant( preset_list[i] ) );
     }
     CONNECT( ui.presetsCombo, activated(int), this, setCorePreset(int) );

_______________________________________________
vlc-commits mailing list
[email protected]
http://mailman.videolan.org/listinfo/vlc-commits

Reply via email to