Switch to side-by-side view

--- a/dirbrowser/cdbrowser.h
+++ b/dirbrowser/cdbrowser.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2014 J.F.Dockes 
+/* Copyright (C) 2014-2018 J.F.Dockes 
  *   This program is free software; you can redistribute it and/or modify
  *   it under the terms of the GNU General Public License as published by
  *   the Free Software Foundation; either version 2 of the License, or
@@ -123,6 +123,7 @@
     void keyPressEvent(QKeyEvent *e);
 
 private:
+    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());
@@ -147,6 +148,11 @@
                             const UPnPClient::UPnPDeviceDesc& dev);
     static QString initialServersPage();
     static QString emptyServersPage();
+
+    // This is used to limit our automatic descent further down when a
+    // container has a unique container entry. To defend against some
+    // pathological trees
+    int m_autoclickcnt{0};
     
     // When displaying the servers list, we periodically check the
     // server pool state. The last seen Media Server descriptions are