mirror of
https://invent.kde.org/network/falkon.git
synced 2024-12-20 02:36:34 +01:00
[AutoFill] Added password icon into locationbar to choose username.
Closes #735
This commit is contained in:
parent
3ccc0a67c1
commit
67d6d380cd
BIN
bin/themes/chrome/images/key.png
Normal file
BIN
bin/themes/chrome/images/key.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 713 B |
@ -175,6 +175,12 @@ IconProvider
|
|||||||
qproperty-pixmap: url(images/navigation-dropdown.png);
|
qproperty-pixmap: url(images/navigation-dropdown.png);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#locationbar-autofillicon
|
||||||
|
{
|
||||||
|
margin-bottom: 1px;
|
||||||
|
qproperty-pixmap: url(images/key.png);
|
||||||
|
}
|
||||||
|
|
||||||
/*BookmarksToolbar*/
|
/*BookmarksToolbar*/
|
||||||
#bookmarksbar QToolButton
|
#bookmarksbar QToolButton
|
||||||
{
|
{
|
||||||
|
BIN
bin/themes/default/images/key.png
Normal file
BIN
bin/themes/default/images/key.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 713 B |
@ -184,6 +184,11 @@ IconProvider
|
|||||||
qproperty-pixmap: url(images/arrow-down.gif);
|
qproperty-pixmap: url(images/arrow-down.gif);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#locationbar-autofillicon
|
||||||
|
{
|
||||||
|
qproperty-pixmap: url(images/key.png);
|
||||||
|
}
|
||||||
|
|
||||||
/*WebSearchBar*/
|
/*WebSearchBar*/
|
||||||
#websearchbar
|
#websearchbar
|
||||||
{
|
{
|
||||||
|
BIN
bin/themes/linux/images/key.png
Normal file
BIN
bin/themes/linux/images/key.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 713 B |
@ -166,6 +166,12 @@ IconProvider
|
|||||||
qproperty-pixmap: url(images/navigation-dropdown.png);
|
qproperty-pixmap: url(images/navigation-dropdown.png);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#locationbar-autofillicon
|
||||||
|
{
|
||||||
|
margin-bottom: 1px;
|
||||||
|
qproperty-pixmap: url(images/key.png);
|
||||||
|
}
|
||||||
|
|
||||||
/*BookmarksToolbar*/
|
/*BookmarksToolbar*/
|
||||||
#bookmarksbar QToolButton
|
#bookmarksbar QToolButton
|
||||||
{
|
{
|
||||||
|
BIN
bin/themes/mac/images/key.png
Normal file
BIN
bin/themes/mac/images/key.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 713 B |
@ -170,6 +170,12 @@ IconProvider
|
|||||||
qproperty-pixmap: url(images/navigation-dropdown.png);
|
qproperty-pixmap: url(images/navigation-dropdown.png);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#locationbar-autofillicon
|
||||||
|
{
|
||||||
|
margin-bottom: 1px;
|
||||||
|
qproperty-pixmap: url(images/key.png);
|
||||||
|
}
|
||||||
|
|
||||||
/*BookmarksToolbar*/
|
/*BookmarksToolbar*/
|
||||||
#bookmarksbar QToolButton
|
#bookmarksbar QToolButton
|
||||||
{
|
{
|
||||||
|
BIN
bin/themes/windows/images/key.png
Normal file
BIN
bin/themes/windows/images/key.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 713 B |
@ -181,6 +181,11 @@ IconProvider
|
|||||||
qproperty-pixmap: url(images/navigation-dropdown.png);
|
qproperty-pixmap: url(images/navigation-dropdown.png);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#locationbar-autofillicon
|
||||||
|
{
|
||||||
|
qproperty-pixmap: url(images/key.png);
|
||||||
|
}
|
||||||
|
|
||||||
/*BookmarksToolbar*/
|
/*BookmarksToolbar*/
|
||||||
#bookmarksbar QToolButton
|
#bookmarksbar QToolButton
|
||||||
{
|
{
|
||||||
|
@ -184,6 +184,7 @@ void AutoFill::addEntry(const QUrl &url, const QString &name, const QString &pas
|
|||||||
server = url.toString();
|
server = url.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Multiple-usernames for HTTP Authorization not supported
|
||||||
query.prepare("SELECT username FROM autofill WHERE server=?");
|
query.prepare("SELECT username FROM autofill WHERE server=?");
|
||||||
query.addBindValue(server);
|
query.addBindValue(server);
|
||||||
query.exec();
|
query.exec();
|
||||||
@ -203,20 +204,12 @@ void AutoFill::addEntry(const QUrl &url, const QString &name, const QString &pas
|
|||||||
///WEB Form
|
///WEB Form
|
||||||
void AutoFill::addEntry(const QUrl &url, const PageFormData &formData)
|
void AutoFill::addEntry(const QUrl &url, const PageFormData &formData)
|
||||||
{
|
{
|
||||||
QSqlQuery query;
|
|
||||||
QString server = url.host();
|
QString server = url.host();
|
||||||
if (server.isEmpty()) {
|
if (server.isEmpty()) {
|
||||||
server = url.toString();
|
server = url.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
query.prepare("SELECT data FROM autofill WHERE server=?");
|
QSqlQuery query;
|
||||||
query.addBindValue(server);
|
|
||||||
query.exec();
|
|
||||||
|
|
||||||
if (query.next()) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
query.prepare("INSERT INTO autofill (server, data, username, password, last_used) "
|
query.prepare("INSERT INTO autofill (server, data, username, password, last_used) "
|
||||||
"VALUES (?,?,?,?,strftime('%s', 'now'))");
|
"VALUES (?,?,?,?,strftime('%s', 'now'))");
|
||||||
query.bindValue(0, server);
|
query.bindValue(0, server);
|
||||||
@ -261,23 +254,29 @@ void AutoFill::updateEntry(const PageFormData &formData, const AutoFillData &upd
|
|||||||
mApp->dbWriter()->executeQuery(query);
|
mApp->dbWriter()->executeQuery(query);
|
||||||
}
|
}
|
||||||
|
|
||||||
void AutoFill::completePage(WebPage* page)
|
QList<AutoFillData> AutoFill::completePage(WebPage* page)
|
||||||
{
|
{
|
||||||
|
QList<AutoFillData> list;
|
||||||
|
|
||||||
if (!page) {
|
if (!page) {
|
||||||
return;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
QUrl pageUrl = page->url();
|
QUrl pageUrl = page->url();
|
||||||
if (!isStored(pageUrl)) {
|
if (!isStored(pageUrl)) {
|
||||||
return;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
const AutoFillData data = getFirstFormData(pageUrl);
|
list = getFormData(pageUrl);
|
||||||
|
|
||||||
|
if (!list.isEmpty()) {
|
||||||
|
const AutoFillData data = getFirstFormData(pageUrl);
|
||||||
|
|
||||||
if (data.isValid()) {
|
|
||||||
PageFormCompleter completer(page);
|
PageFormCompleter completer(page);
|
||||||
completer.completePage(data.postData);
|
completer.completePage(data.postData);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
void AutoFill::post(const QNetworkRequest &request, const QByteArray &outgoingData)
|
void AutoFill::post(const QNetworkRequest &request, const QByteArray &outgoingData)
|
||||||
|
@ -65,7 +65,7 @@ public:
|
|||||||
void updateEntry(const PageFormData &formData, const AutoFillData &updateData);
|
void updateEntry(const PageFormData &formData, const AutoFillData &updateData);
|
||||||
|
|
||||||
void post(const QNetworkRequest &request, const QByteArray &outgoingData);
|
void post(const QNetworkRequest &request, const QByteArray &outgoingData);
|
||||||
void completePage(WebPage* frame);
|
QList<AutoFillData> completePage(WebPage* page);
|
||||||
|
|
||||||
static QByteArray exportPasswords();
|
static QByteArray exportPasswords();
|
||||||
static bool importPasswords(const QByteArray &data);
|
static bool importPasswords(const QByteArray &data);
|
||||||
|
37
src/lib/autofill/autofillicon.cpp
Normal file
37
src/lib/autofill/autofillicon.cpp
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
/* ============================================================
|
||||||
|
* QupZilla - WebKit based browser
|
||||||
|
* Copyright (C) 2013 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/>.
|
||||||
|
* ============================================================ */
|
||||||
|
#include "autofillicon.h"
|
||||||
|
|
||||||
|
AutoFillIcon::AutoFillIcon(QWidget* parent)
|
||||||
|
: ClickableLabel(parent)
|
||||||
|
{
|
||||||
|
setObjectName("locationbar-autofillicon");
|
||||||
|
setCursor(Qt::PointingHandCursor);
|
||||||
|
setToolTip(tr("Choose username to login"));
|
||||||
|
setFocusPolicy(Qt::ClickFocus);
|
||||||
|
}
|
||||||
|
|
||||||
|
void AutoFillIcon::setFormData(const QList<AutoFillData> &data)
|
||||||
|
{
|
||||||
|
m_data = data;
|
||||||
|
}
|
||||||
|
|
||||||
|
QList<AutoFillData> AutoFillIcon::formData() const
|
||||||
|
{
|
||||||
|
return m_data;
|
||||||
|
}
|
40
src/lib/autofill/autofillicon.h
Normal file
40
src/lib/autofill/autofillicon.h
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
/* ============================================================
|
||||||
|
* QupZilla - WebKit based browser
|
||||||
|
* Copyright (C) 2013 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 AUTOFILLICON_H
|
||||||
|
#define AUTOFILLICON_H
|
||||||
|
|
||||||
|
#include "qz_namespace.h"
|
||||||
|
#include "clickablelabel.h"
|
||||||
|
#include "autofill.h"
|
||||||
|
|
||||||
|
struct AutoFillData;
|
||||||
|
|
||||||
|
class QT_QUPZILLA_EXPORT AutoFillIcon : public ClickableLabel
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
explicit AutoFillIcon(QWidget* parent = 0);
|
||||||
|
|
||||||
|
void setFormData(const QList<AutoFillData> &data);
|
||||||
|
QList<AutoFillData> formData() const;
|
||||||
|
|
||||||
|
private:
|
||||||
|
QList<AutoFillData> m_data;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // AUTOFILLICON_H
|
@ -24,7 +24,7 @@
|
|||||||
|
|
||||||
AutoFillNotification::AutoFillNotification(const QUrl &url, const PageFormData &formData, const AutoFillData &updateData)
|
AutoFillNotification::AutoFillNotification(const QUrl &url, const PageFormData &formData, const AutoFillData &updateData)
|
||||||
: AnimatedWidget(AnimatedWidget::Down, 300, 0)
|
: AnimatedWidget(AnimatedWidget::Down, 300, 0)
|
||||||
, ui(new Ui::AutoFillWidget)
|
, ui(new Ui::AutoFillNotification)
|
||||||
, m_url(url)
|
, m_url(url)
|
||||||
, m_formData(formData)
|
, m_formData(formData)
|
||||||
, m_updateData(updateData)
|
, m_updateData(updateData)
|
||||||
|
@ -15,8 +15,8 @@
|
|||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
* ============================================================ */
|
* ============================================================ */
|
||||||
#ifndef AUTOFILLWIDGET_H
|
#ifndef AUTOFILLNOTIFICATION_H
|
||||||
#define AUTOFILLWIDGET_H
|
#define AUTOFILLNOTIFICATION_H
|
||||||
|
|
||||||
#include <QUrl>
|
#include <QUrl>
|
||||||
|
|
||||||
@ -27,7 +27,7 @@
|
|||||||
|
|
||||||
namespace Ui
|
namespace Ui
|
||||||
{
|
{
|
||||||
class AutoFillWidget;
|
class AutoFillNotification;
|
||||||
}
|
}
|
||||||
|
|
||||||
class AnimatedWidget;
|
class AnimatedWidget;
|
||||||
@ -48,11 +48,11 @@ private slots:
|
|||||||
void never();
|
void never();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Ui::AutoFillWidget* ui;
|
Ui::AutoFillNotification* ui;
|
||||||
|
|
||||||
QUrl m_url;
|
QUrl m_url;
|
||||||
PageFormData m_formData;
|
PageFormData m_formData;
|
||||||
AutoFillData m_updateData;
|
AutoFillData m_updateData;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // AUTOFILLWIDGET_H
|
#endif // AUTOFILLNOTIFICATION_H
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<ui version="4.0">
|
<ui version="4.0">
|
||||||
<class>AutoFillWidget</class>
|
<class>AutoFillNotification</class>
|
||||||
<widget class="QWidget" name="AutoFillWidget">
|
<widget class="QWidget" name="AutoFillNotification">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
|
82
src/lib/autofill/autofillwidget.cpp
Normal file
82
src/lib/autofill/autofillwidget.cpp
Normal file
@ -0,0 +1,82 @@
|
|||||||
|
/* ============================================================
|
||||||
|
* QupZilla - WebKit based browser
|
||||||
|
* Copyright (C) 2013 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/>.
|
||||||
|
* ============================================================ */
|
||||||
|
#include "autofillwidget.h"
|
||||||
|
#include "ui_autofillwidget.h"
|
||||||
|
#include "pageformcompleter.h"
|
||||||
|
#include "autofill.h"
|
||||||
|
#include "qztools.h"
|
||||||
|
#include "webview.h"
|
||||||
|
#include "webpage.h"
|
||||||
|
|
||||||
|
#include <QPushButton>
|
||||||
|
|
||||||
|
AutoFillWidget::AutoFillWidget(WebView* view, QWidget* parent)
|
||||||
|
: LocationBarPopup(parent)
|
||||||
|
, ui(new Ui::AutoFillWidget)
|
||||||
|
, m_view(view)
|
||||||
|
{
|
||||||
|
ui->setupUi(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
void AutoFillWidget::setFormData(const QList<AutoFillData> &data)
|
||||||
|
{
|
||||||
|
m_data = data;
|
||||||
|
|
||||||
|
for (int i = 0; i < data.count(); ++i) {
|
||||||
|
const AutoFillData d = data.at(i);
|
||||||
|
if (d.username.isEmpty()) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
QPushButton* button = new QPushButton(this);
|
||||||
|
button->setText(tr("Login"));
|
||||||
|
button->setToolTip(d.username);
|
||||||
|
button->setProperty("data-index", i);
|
||||||
|
QLabel* label = new QLabel(this);
|
||||||
|
label->setText(tr("Login as <b>%1</b>").arg(d.username));
|
||||||
|
|
||||||
|
ui->gridLayout->addWidget(label, i, 0);
|
||||||
|
ui->gridLayout->addWidget(button, i, 1);
|
||||||
|
connect(button, SIGNAL(clicked()), this, SLOT(loginToPage()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void AutoFillWidget::loginToPage()
|
||||||
|
{
|
||||||
|
QPushButton* button = qobject_cast<QPushButton*>(sender());
|
||||||
|
if (!button || !m_view) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool ok;
|
||||||
|
int index = button->property("data-index").toInt(&ok);
|
||||||
|
|
||||||
|
if (ok && QzTools::listContainsIndex(m_data, index)) {
|
||||||
|
const AutoFillData data = m_data.at(index);
|
||||||
|
|
||||||
|
PageFormCompleter completer(m_view->page());
|
||||||
|
completer.completePage(data.postData);
|
||||||
|
}
|
||||||
|
|
||||||
|
close();
|
||||||
|
}
|
||||||
|
|
||||||
|
AutoFillWidget::~AutoFillWidget()
|
||||||
|
{
|
||||||
|
delete ui;
|
||||||
|
}
|
55
src/lib/autofill/autofillwidget.h
Normal file
55
src/lib/autofill/autofillwidget.h
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
/* ============================================================
|
||||||
|
* QupZilla - WebKit based browser
|
||||||
|
* Copyright (C) 2013 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 AUTOFILLWIDGET_H
|
||||||
|
#define AUTOFILLWIDGET_H
|
||||||
|
|
||||||
|
#include <QWidget>
|
||||||
|
#include <QList>
|
||||||
|
|
||||||
|
#include "qz_namespace.h"
|
||||||
|
#include "locationbarpopup.h"
|
||||||
|
|
||||||
|
namespace Ui
|
||||||
|
{
|
||||||
|
class AutoFillWidget;
|
||||||
|
}
|
||||||
|
|
||||||
|
class WebView;
|
||||||
|
struct AutoFillData;
|
||||||
|
|
||||||
|
class QT_QUPZILLA_EXPORT AutoFillWidget : public LocationBarPopup
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
explicit AutoFillWidget(WebView* view, QWidget* parent = 0);
|
||||||
|
~AutoFillWidget();
|
||||||
|
|
||||||
|
void setFormData(const QList<AutoFillData> &data);
|
||||||
|
|
||||||
|
private slots:
|
||||||
|
void loginToPage();
|
||||||
|
|
||||||
|
private:
|
||||||
|
Ui::AutoFillWidget* ui;
|
||||||
|
|
||||||
|
WebView* m_view;
|
||||||
|
QList<AutoFillData> m_data;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // AUTOFILLWIDGET_H
|
95
src/lib/autofill/autofillwidget.ui
Normal file
95
src/lib/autofill/autofillwidget.ui
Normal file
@ -0,0 +1,95 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>AutoFillWidget</class>
|
||||||
|
<widget class="QWidget" name="AutoFillWidget">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>211</width>
|
||||||
|
<height>54</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string>Form</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
|
<property name="margin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<widget class="Frame" name="frame">
|
||||||
|
<property name="frameShape">
|
||||||
|
<enum>QFrame::NoFrame</enum>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||||
|
<property name="spacing">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||||
|
<property name="spacing">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="label">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
<property name="pixmap">
|
||||||
|
<pixmap resource="../data/icons.qrc">:/icons/other/keys.png</pixmap>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="label_2">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Choose username to login</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<layout class="QGridLayout" name="gridLayout">
|
||||||
|
<property name="leftMargin">
|
||||||
|
<number>10</number>
|
||||||
|
</property>
|
||||||
|
<property name="horizontalSpacing">
|
||||||
|
<number>6</number>
|
||||||
|
</property>
|
||||||
|
<property name="verticalSpacing">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<customwidgets>
|
||||||
|
<customwidget>
|
||||||
|
<class>Frame</class>
|
||||||
|
<extends>QFrame</extends>
|
||||||
|
<header>frame.h</header>
|
||||||
|
<container>1</container>
|
||||||
|
</customwidget>
|
||||||
|
</customwidgets>
|
||||||
|
<resources>
|
||||||
|
<include location="../data/icons.qrc"/>
|
||||||
|
</resources>
|
||||||
|
<connections/>
|
||||||
|
</ui>
|
@ -1,6 +1,6 @@
|
|||||||
/* ============================================================
|
/* ============================================================
|
||||||
* QupZilla - WebKit based browser
|
* QupZilla - WebKit based browser
|
||||||
* Copyright (C) 2010-2012 David Rosca <nowrep@gmail.com>
|
* Copyright (C) 2010-2013 David Rosca <nowrep@gmail.com>
|
||||||
*
|
*
|
||||||
* This program is free software: you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -17,7 +17,6 @@
|
|||||||
* ============================================================ */
|
* ============================================================ */
|
||||||
#include "bookmarkicon.h"
|
#include "bookmarkicon.h"
|
||||||
#include "mainapplication.h"
|
#include "mainapplication.h"
|
||||||
#include "qupzilla.h"
|
|
||||||
#include "tabbedwebview.h"
|
#include "tabbedwebview.h"
|
||||||
#include "locationbar.h"
|
#include "locationbar.h"
|
||||||
#include "bookmarksmodel.h"
|
#include "bookmarksmodel.h"
|
||||||
@ -27,9 +26,8 @@
|
|||||||
#include <QStyle>
|
#include <QStyle>
|
||||||
#include <QContextMenuEvent>
|
#include <QContextMenuEvent>
|
||||||
|
|
||||||
BookmarkIcon::BookmarkIcon(QupZilla* mainClass, QWidget* parent)
|
BookmarkIcon::BookmarkIcon(QWidget* parent)
|
||||||
: ClickableLabel(parent)
|
: ClickableLabel(parent)
|
||||||
, p_QupZilla(mainClass)
|
|
||||||
, m_bookmarksModel(0)
|
, m_bookmarksModel(0)
|
||||||
, m_speedDial(mApp->plugins()->speedDial())
|
, m_speedDial(mApp->plugins()->speedDial())
|
||||||
{
|
{
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/* ============================================================
|
/* ============================================================
|
||||||
* QupZilla - WebKit based browser
|
* QupZilla - WebKit based browser
|
||||||
* Copyright (C) 2010-2012 David Rosca <nowrep@gmail.com>
|
* Copyright (C) 2010-2013 David Rosca <nowrep@gmail.com>
|
||||||
*
|
*
|
||||||
* This program is free software: you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -25,13 +25,12 @@
|
|||||||
#include "qz_namespace.h"
|
#include "qz_namespace.h"
|
||||||
|
|
||||||
class SpeedDial;
|
class SpeedDial;
|
||||||
class QupZilla;
|
|
||||||
|
|
||||||
class QT_QUPZILLA_EXPORT BookmarkIcon : public ClickableLabel
|
class QT_QUPZILLA_EXPORT BookmarkIcon : public ClickableLabel
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
explicit BookmarkIcon(QupZilla* mainClass, QWidget* parent = 0);
|
explicit BookmarkIcon(QWidget* parent = 0);
|
||||||
void checkBookmark(const QUrl &url, bool forceCheck = false);
|
void checkBookmark(const QUrl &url, bool forceCheck = false);
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
@ -46,7 +45,6 @@ private:
|
|||||||
void setBookmarkSaved();
|
void setBookmarkSaved();
|
||||||
void setBookmarkDisabled();
|
void setBookmarkDisabled();
|
||||||
|
|
||||||
QupZilla* p_QupZilla;
|
|
||||||
BookmarksModel* m_bookmarksModel;
|
BookmarksModel* m_bookmarksModel;
|
||||||
SpeedDial* m_speedDial;
|
SpeedDial* m_speedDial;
|
||||||
|
|
||||||
|
@ -33,10 +33,9 @@
|
|||||||
|
|
||||||
#define HIDE_DELAY 270
|
#define HIDE_DELAY 270
|
||||||
|
|
||||||
BookmarksWidget::BookmarksWidget(QupZilla* mainClass, WebView* view, QWidget* parent)
|
BookmarksWidget::BookmarksWidget(WebView* view, QWidget* parent)
|
||||||
: LocationBarPopup(parent)
|
: LocationBarPopup(parent)
|
||||||
, ui(new Ui::BookmarksWidget)
|
, ui(new Ui::BookmarksWidget)
|
||||||
, p_QupZilla(mainClass)
|
|
||||||
, m_url(view->url())
|
, m_url(view->url())
|
||||||
, m_view(view)
|
, m_view(view)
|
||||||
, m_bookmarksModel(mApp->bookmarksModel())
|
, m_bookmarksModel(mApp->bookmarksModel())
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/* ============================================================
|
/* ============================================================
|
||||||
* QupZilla - WebKit based browser
|
* QupZilla - WebKit based browser
|
||||||
* Copyright (C) 2010-2012 David Rosca <nowrep@gmail.com>
|
* Copyright (C) 2010-2013 David Rosca <nowrep@gmail.com>
|
||||||
*
|
*
|
||||||
* This program is free software: you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -32,14 +32,13 @@ class BookmarksWidget;
|
|||||||
class WebView;
|
class WebView;
|
||||||
class SpeedDial;
|
class SpeedDial;
|
||||||
class BookmarksModel;
|
class BookmarksModel;
|
||||||
class QupZilla;
|
|
||||||
class BookmarksTree;
|
class BookmarksTree;
|
||||||
|
|
||||||
class QT_QUPZILLA_EXPORT BookmarksWidget : public LocationBarPopup
|
class QT_QUPZILLA_EXPORT BookmarksWidget : public LocationBarPopup
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
explicit BookmarksWidget(QupZilla* mainClass, WebView* view, QWidget* parent = 0);
|
explicit BookmarksWidget(WebView* view, QWidget* parent = 0);
|
||||||
~BookmarksWidget();
|
~BookmarksWidget();
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
@ -56,7 +55,6 @@ private:
|
|||||||
void loadBookmark();
|
void loadBookmark();
|
||||||
|
|
||||||
Ui::BookmarksWidget* ui;
|
Ui::BookmarksWidget* ui;
|
||||||
QupZilla* p_QupZilla;
|
|
||||||
QUrl m_url;
|
QUrl m_url;
|
||||||
int m_bookmarkId;
|
int m_bookmarkId;
|
||||||
|
|
||||||
|
Binary file not shown.
Before Width: | Height: | Size: 546 B |
@ -210,6 +210,8 @@ SOURCES += \
|
|||||||
autofill/pageformcompleter.cpp \
|
autofill/pageformcompleter.cpp \
|
||||||
autofill/autofill.cpp \
|
autofill/autofill.cpp \
|
||||||
network/schemehandlers/ftpschemehandler.cpp \
|
network/schemehandlers/ftpschemehandler.cpp \
|
||||||
|
autofill/autofillicon.cpp \
|
||||||
|
autofill/autofillwidget.cpp
|
||||||
|
|
||||||
HEADERS += \
|
HEADERS += \
|
||||||
webview/tabpreview.h \
|
webview/tabpreview.h \
|
||||||
@ -374,6 +376,8 @@ HEADERS += \
|
|||||||
autofill/pageformcompleter.h \
|
autofill/pageformcompleter.h \
|
||||||
autofill/autofill.h \
|
autofill/autofill.h \
|
||||||
network/schemehandlers/ftpschemehandler.h \
|
network/schemehandlers/ftpschemehandler.h \
|
||||||
|
autofill/autofillicon.h \
|
||||||
|
autofill/autofillwidget.h
|
||||||
|
|
||||||
FORMS += \
|
FORMS += \
|
||||||
preferences/autofillmanager.ui \
|
preferences/autofillmanager.ui \
|
||||||
@ -422,6 +426,7 @@ FORMS += \
|
|||||||
session/recoverywidget.ui \
|
session/recoverywidget.ui \
|
||||||
tools/html5permissions/html5permissionsnotification.ui \
|
tools/html5permissions/html5permissionsnotification.ui \
|
||||||
tools/html5permissions/html5permissionsdialog.ui \
|
tools/html5permissions/html5permissionsdialog.ui \
|
||||||
|
autofill/autofillwidget.ui
|
||||||
|
|
||||||
RESOURCES += \
|
RESOURCES += \
|
||||||
data/icons.qrc \
|
data/icons.qrc \
|
||||||
|
@ -39,6 +39,8 @@
|
|||||||
#include "iconprovider.h"
|
#include "iconprovider.h"
|
||||||
#include "qzsettings.h"
|
#include "qzsettings.h"
|
||||||
#include "colors.h"
|
#include "colors.h"
|
||||||
|
#include "autofillicon.h"
|
||||||
|
#include "autofillwidget.h"
|
||||||
|
|
||||||
#include <QMimeData>
|
#include <QMimeData>
|
||||||
#include <QClipboard>
|
#include <QClipboard>
|
||||||
@ -60,20 +62,22 @@ LocationBar::LocationBar(QupZilla* mainClass)
|
|||||||
setObjectName("locationbar");
|
setObjectName("locationbar");
|
||||||
setDragEnabled(true);
|
setDragEnabled(true);
|
||||||
|
|
||||||
m_bookmarkIcon = new BookmarkIcon(p_QupZilla);
|
m_bookmarkIcon = new BookmarkIcon(this);
|
||||||
m_goIcon = new GoIcon(this);
|
m_goIcon = new GoIcon(this);
|
||||||
m_rssIcon = new RssIcon(this);
|
m_rssIcon = new RssIcon(this);
|
||||||
m_rssIcon->setToolTip(tr("Add RSS from this page..."));
|
m_rssIcon->setToolTip(tr("Add RSS from this page..."));
|
||||||
m_siteIcon = new SiteIcon(this);
|
m_siteIcon = new SiteIcon(this);
|
||||||
|
m_autofillIcon = new AutoFillIcon(this);
|
||||||
DownIcon* down = new DownIcon(this);
|
DownIcon* down = new DownIcon(this);
|
||||||
|
|
||||||
////RTL Support
|
// RTL Support
|
||||||
////if we don't add 'm_siteIcon' by following code, then we should use suitable padding-left value
|
// if we don't add 'm_siteIcon' by following code, then we should use suitable padding-left value
|
||||||
//// but then, when typing RTL text the layout dynamically changed and within RTL layout direction
|
// but then, when typing RTL text the layout dynamically changed and within RTL layout direction
|
||||||
//// padding-left is equivalent to padding-right and vice versa, and because style sheet is
|
// padding-left is equivalent to padding-right and vice versa, and because style sheet is
|
||||||
//// not changed dynamically this create padding problems.
|
// not changed dynamically this create padding problems.
|
||||||
addWidget(m_siteIcon, LineEdit::LeftSide);
|
addWidget(m_siteIcon, LineEdit::LeftSide);
|
||||||
|
|
||||||
|
addWidget(m_autofillIcon, LineEdit::RightSide);
|
||||||
addWidget(m_goIcon, LineEdit::RightSide);
|
addWidget(m_goIcon, LineEdit::RightSide);
|
||||||
addWidget(m_bookmarkIcon, LineEdit::RightSide);
|
addWidget(m_bookmarkIcon, LineEdit::RightSide);
|
||||||
addWidget(m_rssIcon, LineEdit::RightSide);
|
addWidget(m_rssIcon, LineEdit::RightSide);
|
||||||
@ -88,6 +92,7 @@ LocationBar::LocationBar(QupZilla* mainClass)
|
|||||||
connect(m_goIcon, SIGNAL(clicked(QPoint)), this, SLOT(urlEnter()));
|
connect(m_goIcon, SIGNAL(clicked(QPoint)), this, SLOT(urlEnter()));
|
||||||
connect(m_rssIcon, SIGNAL(clicked(QPoint)), this, SLOT(rssIconClicked()));
|
connect(m_rssIcon, SIGNAL(clicked(QPoint)), this, SLOT(rssIconClicked()));
|
||||||
connect(m_bookmarkIcon, SIGNAL(clicked(QPoint)), this, SLOT(bookmarkIconClicked()));
|
connect(m_bookmarkIcon, SIGNAL(clicked(QPoint)), this, SLOT(bookmarkIconClicked()));
|
||||||
|
connect(m_autofillIcon, SIGNAL(clicked(QPoint)), this, SLOT(autofillIconClicked()));
|
||||||
connect(down, SIGNAL(clicked(QPoint)), this, SLOT(showMostVisited()));
|
connect(down, SIGNAL(clicked(QPoint)), this, SLOT(showMostVisited()));
|
||||||
connect(mApp->searchEnginesManager(), SIGNAL(activeEngineChanged()), this, SLOT(updatePlaceHolderText()));
|
connect(mApp->searchEnginesManager(), SIGNAL(activeEngineChanged()), this, SLOT(updatePlaceHolderText()));
|
||||||
connect(mApp->searchEnginesManager(), SIGNAL(defaultEngineChanged()), this, SLOT(updatePlaceHolderText()));
|
connect(mApp->searchEnginesManager(), SIGNAL(defaultEngineChanged()), this, SLOT(updatePlaceHolderText()));
|
||||||
@ -97,6 +102,11 @@ LocationBar::LocationBar(QupZilla* mainClass)
|
|||||||
|
|
||||||
clearIcon();
|
clearIcon();
|
||||||
updatePlaceHolderText();
|
updatePlaceHolderText();
|
||||||
|
|
||||||
|
// Hide icons by default
|
||||||
|
m_goIcon->hide();
|
||||||
|
m_rssIcon->hide();
|
||||||
|
m_autofillIcon->hide();
|
||||||
}
|
}
|
||||||
|
|
||||||
void LocationBar::setWebView(TabbedWebView* view)
|
void LocationBar::setWebView(TabbedWebView* view)
|
||||||
@ -244,10 +254,17 @@ void LocationBar::rssIconClicked()
|
|||||||
|
|
||||||
void LocationBar::bookmarkIconClicked()
|
void LocationBar::bookmarkIconClicked()
|
||||||
{
|
{
|
||||||
BookmarksWidget* bWidget = new BookmarksWidget(p_QupZilla, m_webView, this);
|
BookmarksWidget* bWidget = new BookmarksWidget(m_webView, this);
|
||||||
bWidget->showAt(this);
|
bWidget->showAt(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void LocationBar::autofillIconClicked()
|
||||||
|
{
|
||||||
|
AutoFillWidget* widget = new AutoFillWidget(m_webView, this);
|
||||||
|
widget->setFormData(m_autofillIcon->formData());
|
||||||
|
widget->showAt(this);
|
||||||
|
}
|
||||||
|
|
||||||
void LocationBar::showRSSIcon(bool state)
|
void LocationBar::showRSSIcon(bool state)
|
||||||
{
|
{
|
||||||
m_rssIcon->setVisible(state);
|
m_rssIcon->setVisible(state);
|
||||||
@ -534,14 +551,10 @@ void LocationBar::keyReleaseEvent(QKeyEvent* event)
|
|||||||
LineEdit::keyReleaseEvent(event);
|
LineEdit::keyReleaseEvent(event);
|
||||||
}
|
}
|
||||||
|
|
||||||
LocationBar::~LocationBar()
|
|
||||||
{
|
|
||||||
delete m_bookmarkIcon;
|
|
||||||
}
|
|
||||||
|
|
||||||
void LocationBar::onLoadStarted()
|
void LocationBar::onLoadStarted()
|
||||||
{
|
{
|
||||||
m_progressVisible = true;
|
m_progressVisible = true;
|
||||||
|
m_autofillIcon->hide();
|
||||||
}
|
}
|
||||||
|
|
||||||
void LocationBar::onLoadProgress(int progress)
|
void LocationBar::onLoadProgress(int progress)
|
||||||
@ -557,6 +570,13 @@ void LocationBar::onLoadFinished()
|
|||||||
if (qzSettings->showLoadingProgress) {
|
if (qzSettings->showLoadingProgress) {
|
||||||
QTimer::singleShot(700, this, SLOT(hideProgress()));
|
QTimer::singleShot(700, this, SLOT(hideProgress()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
WebPage* page = qobject_cast<WebPage*>(m_webView->page());
|
||||||
|
|
||||||
|
if (page && page->hasMultipleUsernames()) {
|
||||||
|
m_autofillIcon->setFormData(page->autoFillData());
|
||||||
|
m_autofillIcon->show();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void LocationBar::loadSettings()
|
void LocationBar::loadSettings()
|
||||||
@ -732,3 +752,7 @@ void LocationBar::paintEvent(QPaintEvent* event)
|
|||||||
|
|
||||||
p.drawText(currentRect, currentText, opt);
|
p.drawText(currentRect, currentText, opt);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
LocationBar::~LocationBar()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/* ============================================================
|
/* ============================================================
|
||||||
* QupZilla - WebKit based browser
|
* QupZilla - WebKit based browser
|
||||||
* Copyright (C) 2010-2012 David Rosca <nowrep@gmail.com>
|
* Copyright (C) 2010-2013 David Rosca <nowrep@gmail.com>
|
||||||
*
|
*
|
||||||
* This program is free software: you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -28,11 +28,12 @@ class QupZilla;
|
|||||||
class LineEdit;
|
class LineEdit;
|
||||||
class LocationCompleter;
|
class LocationCompleter;
|
||||||
class ClickableLabel;
|
class ClickableLabel;
|
||||||
class BookmarkIcon;
|
|
||||||
class TabbedWebView;
|
class TabbedWebView;
|
||||||
|
class BookmarkIcon;
|
||||||
class SiteIcon;
|
class SiteIcon;
|
||||||
class GoIcon;
|
class GoIcon;
|
||||||
class RssIcon;
|
class RssIcon;
|
||||||
|
class AutoFillIcon;
|
||||||
|
|
||||||
class QT_QUPZILLA_EXPORT LocationBar : public LineEdit
|
class QT_QUPZILLA_EXPORT LocationBar : public LineEdit
|
||||||
{
|
{
|
||||||
@ -66,6 +67,7 @@ private slots:
|
|||||||
void showSiteInfo();
|
void showSiteInfo();
|
||||||
void rssIconClicked();
|
void rssIconClicked();
|
||||||
void bookmarkIconClicked();
|
void bookmarkIconClicked();
|
||||||
|
void autofillIconClicked();
|
||||||
void urlEnter();
|
void urlEnter();
|
||||||
void clearIcon();
|
void clearIcon();
|
||||||
void showRSSIcon(bool state);
|
void showRSSIcon(bool state);
|
||||||
@ -111,6 +113,7 @@ private:
|
|||||||
GoIcon* m_goIcon;
|
GoIcon* m_goIcon;
|
||||||
RssIcon* m_rssIcon;
|
RssIcon* m_rssIcon;
|
||||||
SiteIcon* m_siteIcon;
|
SiteIcon* m_siteIcon;
|
||||||
|
AutoFillIcon* m_autofillIcon;
|
||||||
|
|
||||||
QupZilla* p_QupZilla;
|
QupZilla* p_QupZilla;
|
||||||
TabbedWebView* m_webView;
|
TabbedWebView* m_webView;
|
||||||
|
@ -229,6 +229,7 @@ void WebPage::finished()
|
|||||||
mainFrame()->setZoomFactor(mainFrame()->zoomFactor() - 1);
|
mainFrame()->setZoomFactor(mainFrame()->zoomFactor() - 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// File scheme watcher
|
||||||
if (url().scheme() == QLatin1String("file")) {
|
if (url().scheme() == QLatin1String("file")) {
|
||||||
QFileInfo info(url().toLocalFile());
|
QFileInfo info(url().toLocalFile());
|
||||||
if (info.isFile()) {
|
if (info.isFile()) {
|
||||||
@ -248,6 +249,10 @@ void WebPage::finished()
|
|||||||
m_fileWatcher->removePaths(m_fileWatcher->files());
|
m_fileWatcher->removePaths(m_fileWatcher->files());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Autofill
|
||||||
|
m_autoFillData = mApp->autoFill()->completePage(this);
|
||||||
|
|
||||||
|
// AdBlock
|
||||||
cleanBlockedObjects();
|
cleanBlockedObjects();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -571,6 +576,21 @@ void WebPage::addAdBlockRule(const AdBlockRule* rule, const QUrl &url)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QList<WebPage::AdBlockedEntry> WebPage::adBlockedEntries() const
|
||||||
|
{
|
||||||
|
return m_adBlockedEntries;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool WebPage::hasMultipleUsernames() const
|
||||||
|
{
|
||||||
|
return m_autoFillData.count() > 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
QList<AutoFillData> WebPage::autoFillData() const
|
||||||
|
{
|
||||||
|
return m_autoFillData;
|
||||||
|
}
|
||||||
|
|
||||||
void WebPage::cleanBlockedObjects()
|
void WebPage::cleanBlockedObjects()
|
||||||
{
|
{
|
||||||
AdBlockManager* manager = AdBlockManager::instance();
|
AdBlockManager* manager = AdBlockManager::instance();
|
||||||
|
@ -22,6 +22,7 @@
|
|||||||
#include <QSslCertificate>
|
#include <QSslCertificate>
|
||||||
|
|
||||||
#include "qz_namespace.h"
|
#include "qz_namespace.h"
|
||||||
|
#include "autofill.h"
|
||||||
|
|
||||||
class QWebSecurityOrigin;
|
class QWebSecurityOrigin;
|
||||||
class QFileSystemWatcher;
|
class QFileSystemWatcher;
|
||||||
@ -62,7 +63,10 @@ public:
|
|||||||
void javaScriptAlert(QWebFrame* originatingFrame, const QString &msg);
|
void javaScriptAlert(QWebFrame* originatingFrame, const QString &msg);
|
||||||
|
|
||||||
void addAdBlockRule(const AdBlockRule* rule, const QUrl &url);
|
void addAdBlockRule(const AdBlockRule* rule, const QUrl &url);
|
||||||
QList<AdBlockedEntry> adBlockedEntries() { return m_adBlockedEntries; }
|
QList<AdBlockedEntry> adBlockedEntries() const;
|
||||||
|
|
||||||
|
bool hasMultipleUsernames() const;
|
||||||
|
QList<AutoFillData> autoFillData() const;
|
||||||
|
|
||||||
void scheduleAdjustPage();
|
void scheduleAdjustPage();
|
||||||
bool isRunningLoop();
|
bool isRunningLoop();
|
||||||
@ -133,6 +137,7 @@ private:
|
|||||||
QSslCertificate m_sslCert;
|
QSslCertificate m_sslCert;
|
||||||
QList<QSslCertificate> m_rejectedSslCerts;
|
QList<QSslCertificate> m_rejectedSslCerts;
|
||||||
QList<AdBlockedEntry> m_adBlockedEntries;
|
QList<AdBlockedEntry> m_adBlockedEntries;
|
||||||
|
QList<AutoFillData> m_autoFillData;
|
||||||
|
|
||||||
QWebPage::NavigationType m_lastRequestType;
|
QWebPage::NavigationType m_lastRequestType;
|
||||||
QUrl m_lastRequestUrl;
|
QUrl m_lastRequestUrl;
|
||||||
|
@ -22,7 +22,6 @@
|
|||||||
#include "qztools.h"
|
#include "qztools.h"
|
||||||
#include "iconprovider.h"
|
#include "iconprovider.h"
|
||||||
#include "history.h"
|
#include "history.h"
|
||||||
#include "autofill.h"
|
|
||||||
#include "pluginproxy.h"
|
#include "pluginproxy.h"
|
||||||
#include "downloadmanager.h"
|
#include "downloadmanager.h"
|
||||||
#include "sourceviewer.h"
|
#include "sourceviewer.h"
|
||||||
@ -381,8 +380,6 @@ void WebView::slotLoadFinished()
|
|||||||
mApp->history()->addHistoryEntry(this);
|
mApp->history()->addHistoryEntry(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
mApp->autoFill()->completePage(page());
|
|
||||||
|
|
||||||
m_isReloading = false;
|
m_isReloading = false;
|
||||||
m_lastUrl = url();
|
m_lastUrl = url();
|
||||||
}
|
}
|
||||||
|
@ -247,6 +247,13 @@
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>AutoFillIcon</name>
|
||||||
|
<message>
|
||||||
|
<source>Choose username to login</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>AutoFillManager</name>
|
<name>AutoFillManager</name>
|
||||||
<message>
|
<message>
|
||||||
@ -368,9 +375,10 @@
|
|||||||
<source>Do you want QupZilla to update saved password %1?</source>
|
<source>Do you want QupZilla to update saved password %1?</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
<message>
|
||||||
<context>
|
<source>Update</source>
|
||||||
<name>AutoFillWidget</name>
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Remember</source>
|
<source>Remember</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
@ -383,8 +391,23 @@
|
|||||||
<source>Not Now</source>
|
<source>Not Now</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>AutoFillWidget</name>
|
||||||
<message>
|
<message>
|
||||||
<source>Update</source>
|
<source>Form</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Choose username to login</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Login</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Login as <b>%1</b></source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
Loading…
Reference in New Issue
Block a user