This file is indexed.

/usr/include/qgis/qgssearchquerybuilder.h is in libqgis-dev 2.8.6+dfsg-1build1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  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
/***************************************************************************
    qgssearchquerybuilder.h  - Query builder for search strings
    ----------------------
    begin                : March 2006
    copyright            : (C) 2006 by Martin Dobias
    email                : wonder.sk at gmail dot com
 ***************************************************************************
 *                                                                         *
 *   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.                                   *
 *                                                                         *
 ***************************************************************************/

#ifndef QGSSEARCHQUERYBUILDER_H
#define QGSSEARCHQUERYBUILDER_H

#include <map>
#include <vector>
#include <QStandardItemModel>
#include <QModelIndex>

#include "ui_qgsquerybuilderbase.h"
#include "qgisgui.h"
#include "qgscontexthelp.h"

class QgsField;
class QgsVectorLayer;

/*!
 * \class QgsSearchQueryBuilder
 * \brief Query Builder for search strings
 *
 */
class GUI_EXPORT QgsSearchQueryBuilder : public QDialog, private Ui::QgsQueryBuilderBase
{
    Q_OBJECT

  public:
    //! Constructor - takes pointer to vector layer as a parameter
    QgsSearchQueryBuilder( QgsVectorLayer* layer, QWidget *parent = 0,
                           Qt::WindowFlags fl = QgisGui::ModalDialogFlags );

    ~QgsSearchQueryBuilder();

    //! returns newly created search string
    QString searchString();

    //! change search string shown in text field
    void setSearchString( QString searchString );

  public slots:
    void on_btnEqual_clicked();
    void on_btnOk_clicked();
    void on_btnLessThan_clicked();
    void on_btnGreaterThan_clicked();
    void on_btnLike_clicked();
    void on_btnILike_clicked();
    void on_btnPct_clicked();
    void on_btnIn_clicked();
    void on_btnNotIn_clicked();

    void on_lstFields_doubleClicked( const QModelIndex &index );
    void on_lstValues_doubleClicked( const QModelIndex &index );
    void on_btnLessEqual_clicked();
    void on_btnGreaterEqual_clicked();
    void on_btnNotEqual_clicked();
    void on_btnAnd_clicked();
    void on_btnNot_clicked();
    void on_btnOr_clicked();
    void on_btnClear_clicked();

    /*! Test the constructed search string to see if it's correct.
     * The number of rows that would be returned is displayed in a message box.
     */
    void on_btnTest_clicked();

    /*!
     * Get all distinct values for the field. Values are inserted
     * into the value list box
     */
    void on_btnGetAllValues_clicked();

    /*!
     * Get sample distinct values for the selected field. The sample size is
     * limited to an arbitrary value (currently set to 25). The values
     * are inserted into the values list box.
     */
    void on_btnSampleValues_clicked();

    void on_buttonBox_helpRequested() { QgsContextHelp::run( metaObject()->className() ); }

    void saveQuery();
    void loadQuery();

  private:

    /*!
    * Populate the field list for the selected table
    */
    void populateFields();
    /*!
       * Setup models for listviews
     */
    void setupListViews();

    /*! Get the number of records that would be returned by the current SQL
     * @return Number of records or -1 if an error was encountered
     */
    long countRecords( QString sql );

    /*!
     * populates list box with values of selected field
     * @param limit if not zero, inserts only this count of values
     */
    void getFieldValues( int limit );

  private:

    //! Layer for which is the query builder opened
    QgsVectorLayer* mLayer;
    //! Map that holds field information, keyed by field name
    QMap<QString, int> mFieldMap;
    //! Model for fields ListView
    QStandardItemModel *mModelFields;
    //! Model for values ListView
    QStandardItemModel *mModelValues;
};
#endif //QGSSEARCHQUERYBUILDER_H