Switch to side-by-side view

--- a/dirbrowser/cdbrowser.h
+++ b/dirbrowser/cdbrowser.h
@@ -73,14 +73,15 @@
 
     // Entry for path inside current server: for going back later
     struct CtPathElt {
-        CtPathElt() : scrollpos(0,0) {}
-        CtPathElt(const std::string& id, const std::string& tt, 
-                  const std::string ss = std::string())
-            : objid(id), title(tt), searchStr(ss), scrollpos(0,0) {}
+        CtPathElt() {}
+        CtPathElt(const std::string& id, const std::string& tt,
+                  bool ispl, const std::string ss = std::string())
+            : objid(id), title(tt), isPlaylist(ispl), searchStr(ss) {}
         std::string objid;
         std::string title;
+        bool isPlaylist;
         std::string searchStr;
-        QPoint scrollpos;
+        QPoint scrollpos{0,0};
     };
 
     // This is called when a new tab is created to browse a
@@ -126,7 +127,8 @@
     virtual void processOnLinkClicked(const QUrl &);
     bool popupOther(QAction *act);
     void initContainerHtml(const std::string& ss=string());
-    void browseContainer(std::string, std::string, QPoint scrollpos = QPoint());
+    void browseContainer(std::string ctid, std::string title, bool ispl,
+                         QPoint scrollpos = QPoint());
     void search(const string& objid, const string& iss, QPoint scrollpos = 
                 QPoint());
     void curpathClicked(unsigned int i);
@@ -139,6 +141,7 @@
     QString alphalinks(const string& initials);
     
     static const std::string CTTitleStartMarker;
+    static const std::string plContainerClass;
     void init_HTML();
     static QString CTToHtml(unsigned int idx,
                             const UPnPClient::UPnPDirObject& e);
@@ -197,11 +200,12 @@
     // Pointer to parent tabbed object for access to shared state (insertActive)
     DirBrowser *m_browsers;
 
-    // Objid and index in entries for the last popup menu click
+    // Attributes for the popup menu click:
     std::string m_popupobjid;
     std::string m_popupobjtitle;
     std::string m_popupotype;
-    int m_popupidx;
+    int m_popupidx{-1};
+    bool m_popupispl{false};
     QPoint m_popupos;
     int m_popupmode; // now, next, at end