Switch to unified view

a/src/qtgui/confgui/confguiindex.cpp b/src/qtgui/confgui/confguiindex.cpp
...
...
105
105
106
    QWidget *w = new ConfTopPanelW(this, m_conf);
106
    QWidget *w = new ConfTopPanelW(this, m_conf);
107
    m_widgets.push_back(w);
107
    m_widgets.push_back(w);
108
    tabWidget->addTab(w, QObject::tr("Global parameters"));
108
    tabWidget->addTab(w, QObject::tr("Global parameters"));
109
    
109
    
110
    w = new ConfSubPanelW(this, m_conf);
110
    w = new ConfSubPanelW(this, m_conf, m_rclconf);
111
    m_widgets.push_back(w);
111
    m_widgets.push_back(w);
112
    tabWidget->addTab(w, QObject::tr("Local parameters"));
112
    tabWidget->addTab(w, QObject::tr("Local parameters"));
113
113
114
    w = new ConfBeaglePanelW(this, m_conf);
114
    w = new ConfBeaglePanelW(this, m_conf);
115
    m_widgets.push_back(w);
115
    m_widgets.push_back(w);
...
...
223
}
223
}
224
224
225
ConfTopPanelW::ConfTopPanelW(QWidget *parent, ConfNull *config)
225
ConfTopPanelW::ConfTopPanelW(QWidget *parent, ConfNull *config)
226
    : QWidget(parent)
226
    : QWidget(parent)
227
{
227
{
228
    QWidget *w = 0;
229
228
    QGridLayout *gl1 = new QGridLayout(this);
230
    QGridLayout *gl1 = new QGridLayout(this);
229
    gl1->setSpacing(spacing);
231
    gl1->setSpacing(spacing);
230
    gl1->setMargin(margin);
232
    gl1->setMargin(margin);
231
233
232
    ConfLink lnktopdirs(new ConfLinkRclRep(config, "topdirs"));
234
    int gridrow = 0;
233
    ConfParamDNLW *etopdirs = new 
235
234
  ConfParamDNLW(this, lnktopdirs, tr("Top directories"),
236
    w = new ConfParamDNLW(this, 
237
                          ConfLink(new ConfLinkRclRep(config, "topdirs")), 
238
                          tr("Top directories"),
235
            tr("The list of directories where recursive "
239
                          tr("The list of directories where recursive "
236
           "indexing starts. Default: your home."));
240
                             "indexing starts. Default: your home."));
237
    setSzPol(etopdirs, QSizePolicy::Preferred, QSizePolicy::Preferred, 1, 3);
241
    setSzPol(w, QSizePolicy::Preferred, QSizePolicy::Preferred, 1, 3);
238
    gl1->addWidget(etopdirs, 0, 0, 1, 2);
242
    gl1->addWidget(w, gridrow++, 0, 1, 2);
239
243
240
    ConfLink lnkskp(new ConfLinkRclRep(config, "skippedPaths"));
241
    ConfParamSLW *eskp = new 
244
    ConfParamSLW *eskp = new 
242
  ConfParamSLW(this, lnkskp, tr("Skipped paths"),
245
  ConfParamSLW(this, 
246
                     ConfLink(new ConfLinkRclRep(config, "skippedPaths")), 
247
                     tr("Skipped paths"),
243
             tr("These are names of directories which indexing "
248
             tr("These are names of directories which indexing "
244
            "will not enter.<br> May contain wildcards. "
249
            "will not enter.<br> May contain wildcards. "
245
            "Must match "
250
            "Must match "
246
            "the paths seen by the indexer (ie: if topdirs "
251
            "the paths seen by the indexer (ie: if topdirs "
247
            "includes '/home/me' and '/home' is actually a link "
252
            "includes '/home/me' and '/home' is actually a link "
248
            "to '/usr/home', a correct skippedPath entry "
253
            "to '/usr/home', a correct skippedPath entry "
249
            "would be '/home/me/tmp*', not '/usr/home/me/tmp*')"));
254
            "would be '/home/me/tmp*', not '/usr/home/me/tmp*')"));
250
    eskp->setFsEncoding(true);
255
    eskp->setFsEncoding(true);
251
    setSzPol(eskp, QSizePolicy::Preferred, QSizePolicy::Preferred, 1, 3);
256
    setSzPol(eskp, QSizePolicy::Preferred, QSizePolicy::Preferred, 1, 3);
252
    gl1->addWidget(eskp, 1, 0, 1, 2);
257
    gl1->addWidget(eskp, gridrow++, 0, 1, 2);
253
258
254
    vector<string> cstemlangs = Rcl::Db::getStemmerNames();
259
    vector<string> cstemlangs = Rcl::Db::getStemmerNames();
255
    QStringList stemlangs;
260
    QStringList stemlangs;
256
    for (vector<string>::const_iterator it = cstemlangs.begin(); 
261
    for (vector<string>::const_iterator it = cstemlangs.begin(); 
257
     it != cstemlangs.end(); it++) {
262
     it != cstemlangs.end(); it++) {
258
    stemlangs.push_back(QString::fromUtf8(it->c_str()));
263
    stemlangs.push_back(QString::fromUtf8(it->c_str()));
259
    }
264
    }
260
    ConfLink lnkidxsl(new ConfLinkRclRep(config, "indexstemminglanguages"));
265
    w = new 
261
    ConfParamCSLW *eidxsl = new 
266
  ConfParamCSLW(this, 
262
  ConfParamCSLW(this, lnkidxsl, tr("Stemming languages"),
267
                      ConfLink(new ConfLinkRclRep(config, 
268
                                                  "indexstemminglanguages")),
269
                      tr("Stemming languages"),
263
              tr("The languages for which stemming expansion<br>"
270
              tr("The languages for which stemming expansion<br>"
264
             "dictionaries will be built."), stemlangs);
271
             "dictionaries will be built."), stemlangs);
265
    setSzPol(eidxsl, QSizePolicy::Preferred, QSizePolicy::Preferred, 1, 1);
272
    setSzPol(w, QSizePolicy::Preferred, QSizePolicy::Preferred, 1, 1);
266
    gl1->addWidget(eidxsl, 2, 0, 1, 2);
267
268
    ConfLink lnk4(new ConfLinkRclRep(config, "logfilename"));
269
    ConfParamFNW *e4 = new 
270
  ConfParamFNW(this, lnk4, tr("Log file name"),
271
           tr("The file where the messages will be written.<br>"
272
          "Use 'stderr' for terminal output"), false);
273
    gl1->addWidget(e4, 3, 0, 1, 2);
274
275
    QWidget *w = 0;
276
277
    ConfLink lnk1(new ConfLinkRclRep(config, "loglevel"));
278
    w = new ConfParamIntW(this, lnk1, tr("Log verbosity level"),
279
            tr("This value adjusts the amount of "
280
           "messages,<br>from only errors to a "
281
           "lot of debugging data."), 0, 6);
282
    gl1->addWidget(w, 4, 0);
273
    gl1->addWidget(w, gridrow, 0);
274
    
283
275
284
    ConfLink lnkidxflsh(new ConfLinkRclRep(config, "idxflushmb"));
276
    w = new ConfParamFNW(this, 
277
                         ConfLink(new ConfLinkRclRep(config, "logfilename")), 
278
                         tr("Log file name"),
279
                         tr("The file where the messages will be written.<br>"
280
                            "Use 'stderr' for terminal output"), false);
281
    gl1->addWidget(w, gridrow++, 1);
282
283
    
285
    w = new ConfParamIntW(this, lnkidxflsh, 
284
    w = new ConfParamIntW(this, 
285
                          ConfLink(new ConfLinkRclRep(config, "loglevel")), 
286
                          tr("Log verbosity level"),
287
                          tr("This value adjusts the amount of "
288
                             "messages,<br>from only errors to a "
289
                             "lot of debugging data."), 0, 6);
290
    gl1->addWidget(w, gridrow, 0);
291
292
    w = new ConfParamIntW(this, 
293
                          ConfLink(new ConfLinkRclRep(config, "idxflushmb")),
286
                          tr("Index flush megabytes interval"),
294
                          tr("Index flush megabytes interval"),
287
                          tr("This value adjust the amount of "
295
                          tr("This value adjust the amount of "
288
             "data which is indexed between flushes to disk.<br>"
296
             "data which is indexed between flushes to disk.<br>"
289
             "This helps control the indexer memory usage. "
297
             "This helps control the indexer memory usage. "
290
             "Default 10MB "), 0, 1000);
298
             "Default 10MB "), 0, 1000);
291
    gl1->addWidget(w, 4, 1);
299
    gl1->addWidget(w, gridrow++, 1);
292
300
301
    w = new ConfParamIntW(this, 
293
    ConfLink lnkfsocc(new ConfLinkRclRep(config, "maxfsoccuppc"));
302
                          ConfLink(new ConfLinkRclRep(config, "maxfsoccuppc")),
294
    w = new ConfParamIntW(this, lnkfsocc, tr("Max disk occupation (%)"),
303
                          tr("Max disk occupation (%)"),
295
            tr("This is the percentage of disk occupation where "
304
                          tr("This is the percentage of disk occupation where "
296
           "indexing will fail and stop (to avoid filling up "
305
                             "indexing will fail and stop (to avoid filling up "
297
           "your disk).<br>"
306
                             "your disk).<br>0 means no limit "
298
           "0 means no limit (this is the default)."), 0, 100);
307
                             "(this is the default)."), 0, 100);
299
    gl1->addWidget(w, 5, 0);
308
    gl1->addWidget(w, gridrow++, 0);
300
309
301
    ConfLink lnknaspl(new ConfLinkRclRep(config, "noaspell"));
302
    ConfParamBoolW* cpasp =
310
    ConfParamBoolW* cpasp =
303
    new ConfParamBoolW(this, lnknaspl, tr("No aspell usage"),
311
        new ConfParamBoolW(this, 
312
                           ConfLink(new ConfLinkRclRep(config, "noaspell")), 
313
                           tr("No aspell usage"),
304
             tr("Disables use of aspell to generate spelling "
314
                           tr("Disables use of aspell to generate spelling "
305
            "approximation in the term explorer tool.<br> "
315
                              "approximation in the term explorer tool.<br> "
306
            "Useful if aspell is absent or does not work. "));
316
                              "Useful if aspell is absent or does not work. "));
307
    gl1->addWidget(cpasp, 6, 0);
317
    gl1->addWidget(cpasp, gridrow, 0);
308
318
309
    ConfLink lnk2(new ConfLinkRclRep(config, "aspellLanguage"));
310
    ConfParamStrW* cpaspl =
319
    ConfParamStrW* cpaspl = new 
311
        new ConfParamStrW(this, lnk2, tr("Aspell language"),
320
        ConfParamStrW(this, 
321
                      ConfLink(new ConfLinkRclRep(config, "aspellLanguage")),
322
                      tr("Aspell language"),
312
            tr("The language for the aspell dictionary. "
323
                      tr("The language for the aspell dictionary. "
313
           "This should look like 'en' or 'fr' ...<br>"
324
                         "This should look like 'en' or 'fr' ...<br>"
314
           "If this value is not set, the NLS environment "
325
                         "If this value is not set, the NLS environment "
315
             "will be used to compute it, which usually works. "
326
             "will be used to compute it, which usually works. "
316
             "To get an idea of what is installed on your system, "
327
             "To get an idea of what is installed on your system, "
317
             "type 'aspell config' and look for .dat files inside "
328
             "type 'aspell config' and look for .dat files inside "
318
             "the 'data-dir' directory. "));
329
             "the 'data-dir' directory. "));
319
    cpaspl->setEnabled(!cpasp->m_cb->isChecked());
330
    cpaspl->setEnabled(!cpasp->m_cb->isChecked());
320
    connect(cpasp->m_cb, SIGNAL(toggled(bool)), cpaspl,SLOT(setDisabled(bool)));
331
    connect(cpasp->m_cb, SIGNAL(toggled(bool)), cpaspl,SLOT(setDisabled(bool)));
321
    gl1->addWidget(cpaspl, 6, 1);
332
    gl1->addWidget(cpaspl, gridrow++, 1);
322
333
334
    w = new 
335
        ConfParamFNW(this, 
323
    ConfLink lnkdbd(new ConfLinkRclRep(config, "dbdir"));
336
                     ConfLink(new ConfLinkRclRep(config, "dbdir")),
324
    ConfParamFNW *edbd = new 
337
                     tr("Database directory name"),
325
  ConfParamFNW(this, lnkdbd, tr("Database directory name"),
326
           tr("The name for a directory where to store the index<br>"
338
                     tr("The name for a directory where to store the index<br>"
327
            "A non-absolute path is taken relative to the "
339
            "A non-absolute path is taken relative to the "
328
            "configuration directory. The default is 'xapiandb'."
340
            "configuration directory. The default is 'xapiandb'."
329
            ), true);
341
            ), true);
330
    gl1->addWidget(edbd, 7, 0, 1, 2);
342
    gl1->addWidget(w, gridrow++, 0, 1, 2);
331
    
343
    
344
    w = new 
345
  ConfParamStrW(this, 
332
    ConfLink lnkuexc(new ConfLinkRclRep(config, "unac_except_trans"));
346
                      ConfLink(new ConfLinkRclRep(config, "unac_except_trans")),
333
    ConfParamStrW *euexc = new 
347
                      tr("Unac exceptions"),
334
  ConfParamStrW(this, lnkuexc, tr("Unac exceptions"),
335
           tr("<p>These are exceptions to the unac mechanism "
348
                      tr("<p>These are exceptions to the unac mechanism "
336
          "which, by default, removes all diacritics, "
349
                         "which, by default, removes all diacritics, "
337
          "and performs canonic decomposition. You can override "
350
                         "and performs canonic decomposition. You can override "
338
          "unaccenting for some characters, depending on your "
351
                         "unaccenting for some characters, depending on your "
339
          "language, and specify additional decompositions, "
352
                         "language, and specify additional decompositions, "
340
          "e.g. for ligatures. In each space-separated entry, "
353
                         "e.g. for ligatures. In each space-separated entry, "
341
          "the first character is the source one, and the rest "
354
                         "the first character is the source one, and the rest "
342
          "is the translation."
355
                         "is the translation."
343
          ));
356
                          ));
344
    gl1->addWidget(euexc, 8, 0, 1, 2);
357
    gl1->addWidget(w, gridrow++, 0, 1, 2);
345
}
358
}
346
359
347
ConfSubPanelW::ConfSubPanelW(QWidget *parent, ConfNull *config)
360
ConfSubPanelW::ConfSubPanelW(QWidget *parent, ConfNull *config, 
361
                             RclConfig *rclconf)
348
    : QWidget(parent), m_config(config)
362
    : QWidget(parent), m_config(config)
349
{
363
{
350
    QVBoxLayout *vboxLayout = new QVBoxLayout(this);
364
    QVBoxLayout *vboxLayout = new QVBoxLayout(this);
351
    vboxLayout->setSpacing(spacing);
365
    vboxLayout->setSpacing(spacing);
352
    vboxLayout->setMargin(margin);
366
    vboxLayout->setMargin(margin);
353
367
354
    ConfLink lnksubkeydirs(new ConfLinkNullRep());
355
    m_subdirs = new 
368
    m_subdirs = new 
356
  ConfParamDNLW(this, lnksubkeydirs, 
369
  ConfParamDNLW(this, 
370
                      ConfLink(new ConfLinkNullRep()), 
357
              QObject::tr("<b>Customised subtrees"),
371
              QObject::tr("<b>Customised subtrees"),
358
              QObject::tr("The list of subdirectories in the indexed "
372
              QObject::tr("The list of subdirectories in the indexed "
359
                  "hierarchy <br>where some parameters need "
373
                  "hierarchy <br>where some parameters need "
360
                  "to be redefined. Default: empty."));
374
                  "to be redefined. Default: empty."));
361
    m_subdirs->getListBox()->setSelectionMode(QAbstractItemView::SingleSelection);
375
    m_subdirs->getListBox()->setSelectionMode(QAbstractItemView::SingleSelection);
...
...
402
    setSzPol(m_groupbox, QSizePolicy::Preferred, QSizePolicy::Preferred, 1, 3);
416
    setSzPol(m_groupbox, QSizePolicy::Preferred, QSizePolicy::Preferred, 1, 3);
403
417
404
    QGridLayout *gl1 = new QGridLayout(m_groupbox);
418
    QGridLayout *gl1 = new QGridLayout(m_groupbox);
405
    gl1->setSpacing(spacing);
419
    gl1->setSpacing(spacing);
406
    gl1->setMargin(margin);
420
    gl1->setMargin(margin);
421
    int gridy = 0;
407
422
423
    ConfParamSLW *eskn = new ConfParamSLW(
424
        m_groupbox, 
408
    ConfLink lnkskn(new ConfLinkRclRep(config, "skippedNames", &m_sk));
425
        ConfLink(new ConfLinkRclRep(config, "skippedNames", &m_sk)),
409
    ConfParamSLW *eskn = new 
410
  ConfParamSLW(m_groupbox, lnkskn, 
411
           QObject::tr("Skipped names"),
426
        QObject::tr("Skipped names"),
412
           QObject::tr("These are patterns for file or directory "
427
        QObject::tr("These are patterns for file or directory "
413
               " names which should not be indexed."));
428
                    " names which should not be indexed."));
414
    eskn->setFsEncoding(true);
429
    eskn->setFsEncoding(true);
415
    m_widgets.push_back(eskn);
430
    m_widgets.push_back(eskn);
416
    gl1->addWidget(eskn, 0, 0, 1, 2);
431
    gl1->addWidget(eskn, gridy, 0);
432
433
    vector<string> amimes = rclconf->getAllMimeTypes();
434
    QStringList amimesq;
435
    for (vector<string>::const_iterator it = amimes.begin(); 
436
   it != amimes.end(); it++) {
437
  amimesq.push_back(QString::fromUtf8(it->c_str()));
438
    }
439
440
    ConfParamCSLW *eincm = new ConfParamCSLW(
441
        m_groupbox, 
442
        ConfLink(new ConfLinkRclRep(config, "indexedmimetypes", &m_sk)),
443
        tr("Only mime types"),
444
        tr("An exclusive list of indexed mime types.<br>Nothing "
445
           "else will be indexed. Normally empty and inactive"), amimesq);
446
    m_widgets.push_back(eincm);
447
    gl1->addWidget(eincm, gridy++, 1);
448
449
    ConfParamCSLW *eexcm = new ConfParamCSLW(
450
        m_groupbox, 
451
        ConfLink(new ConfLinkRclRep(config, "excludedmimetypes", &m_sk)),
452
        tr("Exclude mime types"),
453
        tr("Mime types not to be indexed"), amimesq);
454
    m_widgets.push_back(eexcm);
455
    gl1->addWidget(eexcm, gridy, 0);
417
456
418
    vector<string> args;
457
    vector<string> args;
419
    args.push_back("-l");
458
    args.push_back("-l");
420
    ExecCmd ex;
459
    ExecCmd ex;
421
    string icout;
460
    string icout;
...
...
432
    for (list<string>::const_iterator it = ccsets.begin(); 
471
    for (list<string>::const_iterator it = ccsets.begin(); 
433
     it != ccsets.end(); it++) {
472
     it != ccsets.end(); it++) {
434
    charsets.push_back(QString::fromUtf8(it->c_str()));
473
    charsets.push_back(QString::fromUtf8(it->c_str()));
435
    }
474
    }
436
475
476
    ConfParamCStrW *e21 = new ConfParamCStrW(
477
        m_groupbox, 
437
    ConfLink lnk21(new ConfLinkRclRep(config, "defaultcharset", &m_sk));
478
        ConfLink(new ConfLinkRclRep(config, "defaultcharset", &m_sk)), 
438
    ConfParamCStrW *e21 = new 
439
  ConfParamCStrW(m_groupbox, lnk21, 
440
             QObject::tr("Default character set"),
479
        QObject::tr("Default<br>character set"),
441
             QObject::tr("This is the character set used for reading files "
480
        QObject::tr("Character set used for reading files "
442
            "which do not identify the character set "
481
                    "which do not identify the character set "
443
            "internally, for example pure text files.<br>"
482
                    "internally, for example pure text files.<br>"
444
            "The default value is empty, "
483
                    "The default value is empty, "
445
            "and the value from the NLS environnement is used."
484
                    "and the value from the NLS environnement is used."
446
            ), charsets);
485
            ), charsets);
447
    m_widgets.push_back(e21);
486
    m_widgets.push_back(e21);
448
    gl1->addWidget(e21, 1, 0, 1, 2);
487
    gl1->addWidget(e21, gridy++, 1);
449
488
489
    ConfParamBoolW *e3 = new ConfParamBoolW(
490
        m_groupbox, 
450
    ConfLink lnk3(new ConfLinkRclRep(config, "followLinks", &m_sk));
491
        ConfLink(new ConfLinkRclRep(config, "followLinks", &m_sk)), 
451
    ConfParamBoolW *e3 = new 
452
  ConfParamBoolW(m_groupbox, lnk3, 
453
              QObject::tr("Follow symbolic links"),
492
        QObject::tr("Follow symbolic links"),
454
              QObject::tr("Follow symbolic links while "
493
        QObject::tr("Follow symbolic links while "
455
            "indexing. The default is no, "
494
                    "indexing. The default is no, "
456
            "to avoid duplicate indexing"));
495
                    "to avoid duplicate indexing"));
457
    m_widgets.push_back(e3);
496
    m_widgets.push_back(e3);
458
    gl1->addWidget(e3, 2, 0);
497
    gl1->addWidget(e3, gridy, 0);
459
498
499
    ConfParamBoolW *eafln = new ConfParamBoolW(
500
        m_groupbox, 
460
    ConfLink lnkafln(new ConfLinkRclRep(config, "indexallfilenames", &m_sk));
501
        ConfLink(new ConfLinkRclRep(config, "indexallfilenames", &m_sk)), 
461
    ConfParamBoolW *eafln = new 
462
  ConfParamBoolW(m_groupbox, lnkafln, 
463
             QObject::tr("Index all file names"),
502
        QObject::tr("Index all file names"),
464
             QObject::tr("Index the names of files for which the contents "
503
        QObject::tr("Index the names of files for which the contents "
465
            "cannot be identified or processed (no or "
504
                    "cannot be identified or processed (no or "
466
            "unsupported mime type). Default true"));
505
                    "unsupported mime type). Default true"));
467
    m_widgets.push_back(eafln);
506
    m_widgets.push_back(eafln);
468
    gl1->addWidget(eafln, 2, 1);
507
    gl1->addWidget(eafln, gridy++, 1);
469
508
470
    ConfLink lnkzfmaxkbs(new ConfLinkRclRep(config, "compressedfilemaxkbs"));
471
    ConfParamIntW *ezfmaxkbs = new 
509
    ConfParamIntW *ezfmaxkbs = new ConfParamIntW(
472
  ConfParamIntW(m_groupbox, lnkzfmaxkbs, 
510
        m_groupbox, 
511
        ConfLink(new ConfLinkRclRep(config, "compressedfilemaxkbs", &m_sk)), 
473
            tr("Max. compressed file size (KB)"),
512
        tr("Max. compressed file size (KB)"),
474
            tr("This value sets a threshold beyond which compressed"
513
        tr("This value sets a threshold beyond which compressed"
475
           "files will not be processed. Set to -1 for no "
514
           "files will not be processed. Set to -1 for no "
476
           "limit, to 0 for no decompression ever."),
515
           "limit, to 0 for no decompression ever."), -1, 1000000, -1);
477
            -1, 1000000, -1);
478
    m_widgets.push_back(ezfmaxkbs);
516
    m_widgets.push_back(ezfmaxkbs);
479
    gl1->addWidget(ezfmaxkbs, 3, 0);
517
    gl1->addWidget(ezfmaxkbs, gridy, 0);
480
518
481
    ConfLink lnktxtmaxmbs(new ConfLinkRclRep(config, "textfilemaxmbs"));
482
    ConfParamIntW *etxtmaxmbs = new 
519
    ConfParamIntW *etxtmaxmbs = new ConfParamIntW(
483
  ConfParamIntW(m_groupbox, lnktxtmaxmbs, 
520
        m_groupbox,
521
        ConfLink(new ConfLinkRclRep(config, "textfilemaxmbs", &m_sk)), 
484
            tr("Max. text file size (MB)"),
522
        tr("Max. text file size (MB)"),
485
            tr("This value sets a threshold beyond which text "
523
        tr("This value sets a threshold beyond which text "
486
           "files will not be processed. Set to -1 for no "
524
           "files will not be processed. Set to -1 for no "
487
           "limit. \nThis is for excluding monster "
525
           "limit. \nThis is for excluding monster "
488
                         "log files from the index."),
526
           "log files from the index."), -1, 1000000);
489
            -1, 1000000);
490
    m_widgets.push_back(etxtmaxmbs);
527
    m_widgets.push_back(etxtmaxmbs);
491
    gl1->addWidget(etxtmaxmbs, 3, 1);
528
    gl1->addWidget(etxtmaxmbs, gridy++, 1);
492
529
493
    ConfLink lnktxtpagekbs(new ConfLinkRclRep(config, "textfilepagekbs"));
494
    ConfParamIntW *etxtpagekbs = new 
530
    ConfParamIntW *etxtpagekbs = new ConfParamIntW(
495
  ConfParamIntW(m_groupbox, lnktxtpagekbs, 
531
        m_groupbox, 
532
        ConfLink(new ConfLinkRclRep(config, "textfilepagekbs", &m_sk)),
496
            tr("Text file page size (KB)"),
533
        tr("Text file page size (KB)"),
497
            tr("If this value is set (not equal to -1), text "
534
        tr("If this value is set (not equal to -1), text "
498
                         "files will be split in chunks of this size for "
535
           "files will be split in chunks of this size for "
499
                         "indexing.\nThis will help searching very big text "
536
           "indexing.\nThis will help searching very big text "
500
                         " files (ie: log files)."),
537
           " files (ie: log files)."), -1, 1000000);
501
            -1, 1000000);
502
    m_widgets.push_back(etxtpagekbs);
538
    m_widgets.push_back(etxtpagekbs);
503
    gl1->addWidget(etxtpagekbs, 4, 0);
539
    gl1->addWidget(etxtpagekbs, gridy, 0);
504
540
505
    ConfLink lnkfiltmaxsecs(new ConfLinkRclRep(config, "filtermaxseconds"));
506
    ConfParamIntW *efiltmaxsecs = new 
541
    ConfParamIntW *efiltmaxsecs = new ConfParamIntW(
507
  ConfParamIntW(m_groupbox, lnkfiltmaxsecs, 
542
        m_groupbox, 
543
        ConfLink(new ConfLinkRclRep(config, "filtermaxseconds", &m_sk)), 
508
            tr("Max. filter exec. time (S)"),
544
        tr("Max. filter exec. time (S)"),
509
            tr("External filters working longer than this will be "
545
        tr("External filters working longer than this will be "
510
                         "aborted. This is for the rare case (ie: postscript) "
546
           "aborted. This is for the rare case (ie: postscript) "
511
                         "where a document could cause a filter to loop. "
547
           "where a document could cause a filter to loop. "
512
           "Set to -1 for no limit.\n"),
548
           "Set to -1 for no limit.\n"), -1, 10000);
513
            -1, 10000);
514
    m_widgets.push_back(efiltmaxsecs);
549
    m_widgets.push_back(efiltmaxsecs);
515
    gl1->addWidget(efiltmaxsecs, 4, 1);
550
    gl1->addWidget(efiltmaxsecs, gridy++, 1);
516
551
517
    vboxLayout->addWidget(m_groupbox);
552
    vboxLayout->addWidget(m_groupbox);
518
    subDirChanged(0, 0);
553
    subDirChanged(0, 0);
519
}
554
}
520
555