]> git.sesse.net Git - vlc/blobdiff - modules/gui/qt4/dialogs_provider.cpp
Qt: add a new "Open URL" dialog
[vlc] / modules / gui / qt4 / dialogs_provider.cpp
index 1b6524889316039a745613d691c70f432b6a717f..e2bacb3b719e4829a1c7b3e0f7c99b63d53baec5 100644 (file)
@@ -45,6 +45,7 @@
 #include "dialogs/vlm.hpp"
 #include "dialogs/sout.hpp"
 #include "dialogs/open.hpp"
+#include "dialogs/openurl.hpp"
 #include "dialogs/help.hpp"
 #include "dialogs/gototime.hpp"
 #include "dialogs/podcast_configuration.hpp"
@@ -423,6 +424,31 @@ void DialogsProvider::simpleMLAppendDialog()
     addFromSimple( false, false );
 }
 
+/* Url & Clipboard */
+/**
+ * Open a MRL.
+ * If the clipboard contains URLs, the first is automatically 'preselected'.
+ **/
+void DialogsProvider::openUrlDialog()
+{
+    OpenUrlDialog *oud = OpenUrlDialog::getInstance( p_intf->p_sys->p_mi,
+                                                     p_intf );
+    if( oud->exec() == QDialog::Accepted )
+    {
+        QString url = oud->url();
+        if( !url.isEmpty() )
+        {
+            playlist_Add( THEPL, qtu( toNativeSeparators( url ) ),
+                          NULL, !oud->shouldEnqueue() ?
+                                  ( PLAYLIST_APPEND | PLAYLIST_GO )
+                                : ( PLAYLIST_APPEND | PLAYLIST_PREPARSE ),
+                          PLAYLIST_END, true, false );
+            RecentsMRL::getInstance( p_intf )->addRecent(
+                                     toNativeSeparators( url ) );
+        }
+    }
+}
+
 /* Directory */
 /**
  * Open a directory,