[vlc-commits] Qt, recents: elide on display in the menu, not at creation

Jean-Baptiste Kempf git at videolan.org
Tue May 10 13:42:37 CEST 2011


vlc | branch: master | Jean-Baptiste Kempf <jb at videolan.org> | Tue May 10 13:41:35 2011 +0200| [a90229de8b47f3cf514b4b948c0304c6f54edaf0] | committer: Jean-Baptiste Kempf

Qt, recents: elide on display in the menu, not at creation

And this time decode the URI...

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

 modules/gui/qt4/menus.cpp |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/modules/gui/qt4/menus.cpp b/modules/gui/qt4/menus.cpp
index 11b5715..e55f92e 100644
--- a/modules/gui/qt4/menus.cpp
+++ b/modules/gui/qt4/menus.cpp
@@ -54,6 +54,7 @@
 #include <QSignalMapper>
 #include <QSystemTrayIcon>
 #include <QStatusBar>
+#include <QFontMetrics>
 
 /*
   This file defines the main menus and the pop-up menu (right-click menu)
@@ -1486,11 +1487,16 @@ void QVLCMenu::updateRecents( intf_thread_t *p_intf )
         {
             for( int i = 0; i < l.size(); ++i )
             {
+                char *psz_temp = decode_URI_duplicate( qtu( l.at( i ) ) );
+
                 action = recentsMenu->addAction(
-                        QString( "&%1: " ).arg( i + 1 ) + l.at( i ),
+                        QString( "&%1: " ).arg( i + 1 ) +
+                            QApplication::fontMetrics().elidedText( psz_temp, Qt::ElideLeft, 400 ),
                         rmrl->signalMapper, SLOT( map() ),
                         i <= 9 ? QString( "Ctrl+%1" ).arg( i + 1 ) : "" );
                 rmrl->signalMapper->setMapping( action, l.at( i ) );
+
+                free( psz_temp );
             }
 
             recentsMenu->addSeparator();



More information about the vlc-commits mailing list