Switch to side-by-side view

--- a/src/qtgui/rclmain_w.cpp
+++ b/src/qtgui/rclmain_w.cpp
@@ -1059,6 +1059,8 @@
     if (fragbuts == 0) {
 	fragbuts = new FragButs(0);
 	fragbuts->show();
+        connect(fragbuts, SIGNAL(fragmentsChanged()),
+                this, SLOT(onFragmentsChanged()));
     } else {
 	// Close and reopen, in hope that makes us visible...
 	fragbuts->close();
@@ -2248,18 +2250,41 @@
         m_filtMN->actions()[id]->setChecked(true);
     }
 
+    m_catgbutvecidx = id;
+    setFiltSpec();
+}
+
+void RclMain::setFiltSpec()
+{
     m_filtspec.reset();
 
-    if (id != 0)  {
-	string catg = m_catgbutvec[id];
+    // "Category" buttons
+    if (m_catgbutvecidx != 0)  {
+	string catg = m_catgbutvec[m_catgbutvecidx];
 	string frag;
 	theconfig->getGuiFilter(catg, frag);
 	m_filtspec.orCrit(DocSeqFiltSpec::DSFS_QLANG, frag);
     }
-    LOGDEB(("RclMain::catgFilter: calling setFiltSpec\n"));
+
+    // Fragments from the fragbuts buttonbox tool
+    if (fragbuts) {
+        vector<string> frags;
+        fragbuts->getfrags(frags);
+        for (vector<string>::const_iterator it = frags.begin();
+             it != frags.end(); it++) {
+            m_filtspec.orCrit(DocSeqFiltSpec::DSFS_QLANG, *it);
+        }
+    }
+
     if (m_source.isNotNull())
 	m_source->setFiltSpec(m_filtspec);
     initiateQuery();
+}
+
+
+void RclMain::onFragmentsChanged()
+{
+    setFiltSpec();
 }
 
 void RclMain::toggleFullScreen()