Parent: [52bc9f] (diff)

Child: [b67bc0] (diff)

Download this file

guiutils.h    154 lines (133 with data), 4.8 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
146
147
148
149
150
151
152
153
/* Copyright (C) 2005 Jean-Francois 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
* (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 _GUIUTILS_H_INCLUDED_
#define _GUIUTILS_H_INCLUDED_
#include <string>
#include <list>
#include <vector>
#include <qstring.h>
#include <qstringlist.h>
#include "dynconf.h"
extern RclDynConf *g_dynconf;
#include "advshist.h"
extern AdvSearchHist *g_advshistory;
#ifndef NO_NAMESPACES
using std::string;
using std::list;
using std::vector;
#endif
/** Holder for preferences (gets saved to user Qt prefs) */
class PrefsPack {
public:
bool autoSearchOnWS;
// Decide if we display the doc category filter control as a
// toolbar+combobox or as a button group under simple search
bool catgToolBar;
int respagesize;
int maxhltextmbs;
QString reslistfontfamily;
QString qtermcolor; // Color for query terms in reslist and preview
int reslistfontsize;
// Result list format string
QString reslistformat;
string creslistformat;
QString reslistheadertext;
// Abstract snippet separator
QString abssep;
// Date strftime format
QString reslistdateformat;
string creslistdateformat;
QString stylesheetFile;
QString queryStemLang;
int mainwidth;
int mainheight;
int pvwidth; // Preview window geom
int pvheight;
int ssearchTyp;
// Use single app (default: xdg-open), instead of per-mime settings
bool useDesktopOpen;
// Remember sort state between invocations ?
bool keepSort;
QString sortField;
bool sortActive;
bool sortDesc;
// Abstract preferences. Building abstracts can slow result display
bool queryBuildAbstract;
bool queryReplaceAbstract;
bool startWithAdvSearchOpen;
// Try to display html if it exists in the internfile stack.
bool previewHtml;
// Use <pre> tag to display highlighted text/plain inside html (else
// we use <br> at end of lines, which lets textedit wrap lines).
enum PlainPre {PP_BR, PP_PRE, PP_PREWRAP};
int previewPlainPre;
bool collapseDuplicates;
bool showResultsAsTable;
// Extra query indexes. This are stored in the history file, not qt prefs
list<string> allExtraDbs;
list<string> activeExtraDbs;
// Advanced search subdir restriction: we don't activate the last value
// but just remember previously entered values
QStringList asearchSubdirHist;
// Textual history of simple searches (this is just the combobox list)
QStringList ssearchHistory;
// Make phrase out of search terms and add to search in simple search
bool ssearchAutoPhrase;
double ssearchAutoPhraseThreshPC;
// Ignored file types in adv search (startup default)
QStringList asearchIgnFilTyps;
bool fileTypesByCats;
// Words that are automatically turned to ext:xx specs in the query
// language entry.
QString autoSuffs;
bool autoSuffsEnable;
QStringList restableFields;
vector<int> restableColWidths;
// Synthetized abstract length and word context size
int syntAbsLen;
int syntAbsCtx;
// Remembered term match mode
int termMatchType;
// Program version that wrote this. Not used for now, in prevision
// of the case where we might need an incompatible change
int rclVersion;
// Advanced search window clause list state
vector<int> advSearchClauses;
// Default paragraph format for result list
static const char *dfltResListFormat;
std::string stemlang();
PrefsPack() :
respagesize(8),
reslistfontsize(10),
ssearchTyp(0),
queryBuildAbstract(true),
queryReplaceAbstract(false),
startWithAdvSearchOpen(false),
termMatchType(0),
rclVersion(1505)
{ }
};
/** Global preferences record */
extern PrefsPack prefs;
/** Read write settings from disk file */
extern void rwSettings(bool dowrite);
extern QString g_stringAllStem, g_stringNoStem;
/** Specialized version of the qt file dialog. Can't use getOpenFile()
etc. cause they hide dot files... */
extern QString myGetFileName(bool isdir, QString caption = QString(),
bool filenosave = false);
#endif /* _GUIUTILS_H_INCLUDED_ */