1
mirror of https://invent.kde.org/network/falkon.git synced 2024-09-23 10:42:11 +02:00
falkonOfficial/src/lib/navigation/completer/locationcompletermodel.h
David Rosca 16b3a74aa1 LocationCompleter: Add persistent first item that shows used search engine
Or in case searching from location bar is disabled or entered text
is valid URL, it indicates that this URL will be loaded.
2017-08-11 12:32:18 +02:00

65 lines
1.9 KiB
C++

/* ============================================================
* QupZilla - Qt web browser
* Copyright (C) 2010-2017 David Rosca <nowrep@gmail.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 3 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, see <http://www.gnu.org/licenses/>.
* ============================================================ */
#ifndef LOCATIONCOMPLETERMODEL_H
#define LOCATIONCOMPLETERMODEL_H
#include <QStandardItemModel>
#include "qzcommon.h"
class QSqlQuery;
class QUrl;
class LocationCompleterModel : public QStandardItemModel
{
public:
enum Role {
IdRole = Qt::UserRole + 1,
TitleRole,
UrlRole,
CountRole,
BookmarkRole,
BookmarkItemRole,
SearchStringRole,
TabPositionWindowRole,
TabPositionTabRole,
ImageRole,
VisitSearchItemRole
};
explicit LocationCompleterModel(QObject* parent = 0);
void setCompletions(const QList<QStandardItem*> &items);
static QSqlQuery createHistoryQuery(const QString &searchString, int limit, bool exactMatch = false);
static QSqlQuery createDomainQuery(const QString &text);
private:
enum Type {
HistoryAndBookmarks = 0,
History = 1,
Bookmarks = 2,
Nothing = 4
};
void setTabPosition(QStandardItem* item) const;
void refreshTabPositions() const;
};
#endif // LOCATIONCOMPLETERMODEL_H