--- a/src/qtgui/rclmain_w.cpp
+++ b/src/qtgui/rclmain_w.cpp
@@ -228,8 +228,8 @@
connect(&m_watcher, SIGNAL(fileChanged(QString)),
this, SLOT(idxStatus()));
- connect(sSearch, SIGNAL(startSearch(RefCntr<Rcl::SearchData>)),
- this, SLOT(startSearch(RefCntr<Rcl::SearchData>)));
+ connect(sSearch, SIGNAL(startSearch(RefCntr<Rcl::SearchData>, bool)),
+ this, SLOT(startSearch(RefCntr<Rcl::SearchData>, bool)));
connect(sSearch, SIGNAL(clearSearch()),
this, SLOT(resetSearch()));
@@ -281,6 +281,8 @@
this, SLOT(periodic100()));
restable->setRclMain(this, true);
+ connect(actionSaveResultsAsCSV, SIGNAL(activated()),
+ restable, SLOT(saveAsCSV()));
connect(this, SIGNAL(docSourceChanged(RefCntr<DocSequence>)),
restable, SLOT(setDocSource(RefCntr<DocSequence>)));
connect(this, SIGNAL(searchReset()),
@@ -775,7 +777,7 @@
}
// Start a db query and set the reslist docsource
-void RclMain::startSearch(RefCntr<Rcl::SearchData> sdata)
+void RclMain::startSearch(RefCntr<Rcl::SearchData> sdata, bool issimple)
{
LOGDEB(("RclMain::startSearch. Indexing %s Active %d\n",
m_idxproc?"on":"off", m_queryActive));
@@ -785,6 +787,8 @@
}
m_queryActive = true;
m_source = RefCntr<DocSequence>();
+
+ m_searchIsSimple = issimple;
// The db may have been closed at the end of indexing
string reason;
@@ -897,8 +901,9 @@
connect(new QShortcut(quitKeySeq, asearchform), SIGNAL (activated()),
this, SLOT (fileExit()));
- connect(asearchform, SIGNAL(startSearch(RefCntr<Rcl::SearchData>)),
- this, SLOT(startSearch(RefCntr<Rcl::SearchData>)));
+ connect(asearchform,
+ SIGNAL(startSearch(RefCntr<Rcl::SearchData>, bool)),
+ this, SLOT(startSearch(RefCntr<Rcl::SearchData>, bool)));
asearchform->show();
} else {
// Close and reopen, in hope that makes us visible...
@@ -1464,15 +1469,15 @@
{
LOGDEB(("RclMain::on_actionShowResultsAsTable_toggled(%d)\n", int(on)));
prefs.showResultsAsTable = on;
+ displayingTable = on;
restable->setVisible(on);
reslist->setVisible(!on);
+ actionSaveResultsAsCSV->setEnabled(on);
if (!on) {
- displayingTable = false;
int docnum = restable->getDetailDocNumOrTopRow();
if (docnum >= 0)
reslist->resultPageFor(docnum);
} else {
- displayingTable = true;
int docnum = reslist->pageFirstDocNum();
if (docnum >= 0) {
restable->makeRowVisible(docnum);