Parent: [ae6d75] (diff)

Child: [21aa44] (diff)

Download this file

rclmain_w.h    146 lines (131 with data), 4.6 kB

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
/*
* 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
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the
* Free Software Foundation, Inc.,
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#ifndef RCLMAIN_W_H
#define RCLMAIN_W_H
#include <qvariant.h>
#include <qmainwindow.h>
#include "sortseq.h"
#include "preview_w.h"
#include "recoll.h"
#include "advsearch_w.h"
#include "uiprefs_w.h"
#include "rcldb.h"
#include "searchdata.h"
#include "spell_w.h"
#include "refcntr.h"
#include "pathut.h"
class ExecCmd;
class Preview;
class ResTable;
#include "ui_rclmain.h"
namespace confgui {
class ConfIndexW;
}
using confgui::ConfIndexW;
class RclMain : public QMainWindow, public Ui::RclMainBase
{
Q_OBJECT
public:
RclMain(QWidget * parent = 0)
: QMainWindow(parent), m_sortspecnochange(false)
{
setupUi(this);
init();
}
~RclMain() {}
virtual bool eventFilter(QObject *target, QEvent *event);
QString getQueryDescription();
public slots:
virtual bool close();
virtual void fileExit();
virtual void periodic100();
virtual void toggleIndexing();
virtual void startSearch(RefCntr<Rcl::SearchData> sdata);
virtual void previewClosed(Preview *w);
virtual void showAdvSearchDialog();
virtual void showSpellDialog();
virtual void showAboutDialog();
virtual void showMissingHelpers();
virtual void startManual();
virtual void startManual(const string&);
virtual void showDocHistory();
virtual void showExtIdxDialog();
virtual void showUIPrefs();
virtual void showIndexConfig();
virtual void setUIPrefs();
virtual void enableNextPage(bool);
virtual void enablePrevPage(bool);
virtual void docExpand(Rcl::Doc);
virtual void startPreview(int docnum, Rcl::Doc doc, int keymods);
virtual void startPreview(Rcl::Doc);
virtual void startNativeViewer(Rcl::Doc);
virtual void saveDocToFile(Rcl::Doc);
virtual void previewNextInTab(Preview *, int sid, int docnum);
virtual void previewPrevInTab(Preview *, int sid, int docnum);
virtual void previewExposed(Preview *, int sid, int docnum);
virtual void resetSearch();
virtual void eraseDocHistory();
virtual void eraseSearchHistory();
virtual void setStemLang(QAction *id);
virtual void adjustPrefsMenu();
virtual void catgFilter(int);
virtual void initDbOpen();
virtual void toggleFullScreen();
virtual void focusToSearch();
virtual void on_actionSortByDateAsc_toggled(bool on);
virtual void on_actionSortByDateDesc_toggled(bool on);
virtual void on_actionShowResultsAsTable_toggled(bool on);
virtual void onResTableSortBy(DocSeqSortSpec);
virtual void resultCount(int);
virtual void showQueryDetails();
virtual void onResultsChanged();
signals:
void docSourceChanged(RefCntr<DocSequence>);
void stemLangChanged(const QString& lang);
void sortDataChanged(DocSeqSortSpec);
void filtDataChanged(DocSeqFiltSpec);
void applyFiltSortData();
void searchReset();
protected:
virtual void closeEvent( QCloseEvent * );
private:
Preview *curPreview;
AdvSearch *asearchform;
UIPrefsDialog *uiprefs;
ConfIndexW *indexConfig;
SpellW *spellform;
QTimer *periodictimer;
ResTable *restable;
vector<TempFile> m_tempfiles;
vector<ExecCmd*> m_viewers;
map<QString, QAction*> m_stemLangToId;
vector<string> m_catgbutvec;
QAction * m_idNoStem;
QAction * m_idAllStem;
bool m_idxStatusAck; // Did we act on last status?
DocSeqFiltSpec m_filtspec;
bool m_sortspecnochange;
DocSeqSortSpec m_sortspec;
RefCntr<DocSequence> m_source;
int m_periodicToggle;
virtual void init();
virtual void previewPrevOrNextInTab(Preview *, int sid, int docnum,
bool next);
virtual void setStemLang(const QString& lang);
virtual void onSortCtlChanged();
};
#endif // RCLMAIN_W_H