Switch to side-by-side view

--- a/src/query/sortseq.h
+++ b/src/query/sortseq.h
@@ -16,28 +16,13 @@
  */
 #ifndef _SORTSEQ_H_INCLUDED_
 #define _SORTSEQ_H_INCLUDED_
-/* @(#$Id: sortseq.h,v 1.12 2008-09-29 08:59:20 dockes Exp $  (C) 2004 J.F.Dockes */
+/* @(#$Id: sortseq.h,v 1.13 2008-09-29 11:33:55 dockes Exp $  (C) 2004 J.F.Dockes */
 
 #include <vector>
 #include <string>
 
 #include "refcntr.h"
 #include "docseq.h"
-
-class DocSeqSortSpec {
- public:
-    DocSeqSortSpec() : sortdepth(0) {}
-    enum Field {RCLFLD_URL, RCLFLD_IPATH, RCLFLD_MIMETYPE, RCLFLD_MTIME};
-    void addCrit(Field fld, bool desc = false) {
-	crits.push_back(fld);
-	dirs.push_back(desc);
-    }
-    bool isNotNull() {return sortdepth > 0;}
-
-    int sortdepth; // We only re-sort the first sortdepth most relevant docs
-    std::vector<Field> crits;
-    std::vector<bool> dirs;
-};
 
 /** 
  * A sorted sequence is created from the first N documents of another one, 
@@ -48,6 +33,8 @@
     DocSeqSorted(RefCntr<DocSequence> iseq, DocSeqSortSpec &sortspec, 
 		 const std::string &t);
     virtual ~DocSeqSorted() {}
+    virtual bool canSort() {return true;}
+    virtual bool setSortSpec(DocSeqSortSpec &sortspec);
     virtual bool getDoc(int num, Rcl::Doc &doc, string *sh = 0);
     virtual int getResCnt() {return m_spec.sortdepth;}
     virtual string getAbstract(Rcl::Doc& doc) {