[vlc-devel] commit: Fixed open network panel. (Laurent Aimar )

git version control git at videolan.org
Sat Jul 5 20:11:53 CEST 2008


vlc | branch: master | Laurent Aimar <fenrir at videolan.org> | Sat Jul  5 11:57:32 2008 +0000| [000f1e1fb9253dca219253ee54702cf044aff213]

Fixed open network panel.

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

 modules/gui/qt4/components/open_panels.cpp |   25 ++++++++++++++++---------
 1 files changed, 16 insertions(+), 9 deletions(-)

diff --git a/modules/gui/qt4/components/open_panels.cpp b/modules/gui/qt4/components/open_panels.cpp
index 547b926..ae087c1 100644
--- a/modules/gui/qt4/components/open_panels.cpp
+++ b/modules/gui/qt4/components/open_panels.cpp
@@ -417,15 +417,21 @@ NetOpenPanel::NetOpenPanel( QWidget *_parent, intf_thread_t *_p_intf ) :
     CONNECT( ui.timeShift, clicked(), this, updateMRL());
     CONNECT( ui.ipv6, clicked(), this, updateMRL());
 
-    ui.protocolCombo->addItem( "" );
-    ui.protocolCombo->addItem("HTTP", QVariant("http"));
-    ui.protocolCombo->addItem("HTTPS", QVariant("https"));
-    ui.protocolCombo->addItem("FTP", QVariant("ftp"));
-    ui.protocolCombo->addItem("MMS", QVariant("mms"));
-    ui.protocolCombo->addItem("RTSP", QVariant("rtsp"));
-    ui.protocolCombo->addItem("UDP/RTP (unicast)", QVariant("udp"));
-    ui.protocolCombo->addItem("UDP/RTP (multicast)", QVariant("udp"));
-    ui.protocolCombo->addItem("RTMP", QVariant("rtmp"));
+    typedef QPair<QString,QString> QPairString;
+    QMap<int, QPairString> protocols;
+#define P(value,name,dsc) do { protocols[value] = QPairString( QString(dsc), QString(name) );} while(0)
+    P( NO_PROTO,    "",         "" );
+    P( UDPM_PROTO,  "udp",      "UDP/RTP (multicast)" );
+    P( HTTP_PROTO,  "http",     "HTTP" );
+    P( HTTPS_PROTO, "https",    "HTTPS" );
+    P( MMS_PROTO,   "mms",      "MMS" );
+    P( FTP_PROTO,   "ftp",      "FTP" );
+    P( RTSP_PROTO,  "rtsp",     "RTSP" );
+    P( UDP_PROTO,   "udp",      "UDP/RTP (unicast)" );
+    P( RTMP_PROTO,  "rtmp",     "RTMP" );
+#undef P
+    foreach( QPairString e, protocols ) /* Sorted by key, exactly what we need */
+        ui.protocolCombo->addItem( e.first, QVariant(e.second.isEmpty() ) );
 }
 
 NetOpenPanel::~NetOpenPanel()
@@ -517,6 +523,7 @@ void NetOpenPanel::updateMRL() {
             else mrl += addr;
             mrl += QString(":%1").arg( ui.portSpin->value() );
             emit methodChanged("udp-caching");
+            break;
         case RTMP_PROTO:
             mrl = "rtmp://" + addr;
             emit methodChanged("rtmp-caching");




More information about the vlc-devel mailing list