Switch to side-by-side view

--- a/dirbrowser/dirbrowser.h
+++ b/dirbrowser/dirbrowser.h
@@ -18,6 +18,7 @@
 #define _DIRBROWSER_H_INCLUDED_
 #include "ui_dirbrowser.h"
 
+#include "HelperStructs/MetaData.h"
 #include "playlist/Playlist.h"
 #include "cdbrowser.h"
 
@@ -25,12 +26,14 @@
 // list of a directory listing or search result, and a hideable search
 // panel at the bottom
 class DirBrowser : public QWidget {
-    Q_OBJECT
+    Q_OBJECT;
+
 public:
     DirBrowser(QWidget *parent, Playlist *pl);
     bool insertActive();
     CDBrowser *currentBrowser();
     void doSearch(const QString&, bool);
+    bool randPlayActive() {return m_randplayer != 0;}
 
 public slots:
     void setPlaylist(Playlist *pl);
@@ -57,6 +60,14 @@
     void onInsertDone() {m_insertactive = false;}
     void setInsertActive(bool onoff);
     void onBrowseInNewTab(QString UDN, std::vector<CDBrowser::CtPathElt>);
+    void onRandTracksToPlaylist(const MetaDataList& mdl);
+    void onEnterRandPlay(RandPlayer::PlayMode mode, const
+                         std::vector<UPnPClient::UPnPDirObject>&);
+    void onRandStop();
+    void onRandDone();
+
+signals:
+    void sig_next_group_html(QString);
 
 private:
     void setupTabConnections(int i);
@@ -65,6 +76,7 @@
     Ui::DirBrowser *ui;
     Playlist *m_pl;
     bool m_insertactive;
+    RandPlayer *m_randplayer;
 };