mirror of
https://invent.kde.org/network/falkon.git
synced 2024-11-11 01:22:10 +01:00
Remove GnomeKeyringPasswords plugin
Modern distributions no longer have the deprecated library in repos.
This commit is contained in:
parent
9828237159
commit
b9fb89a31c
|
@ -96,15 +96,6 @@ if (EXISTS "${CMAKE_SOURCE_DIR}/po")
|
||||||
find_package(KF5I18n REQUIRED)
|
find_package(KF5I18n REQUIRED)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Optional: GnomeKeyring
|
|
||||||
find_package(PkgConfig)
|
|
||||||
if (PKG_CONFIG_FOUND)
|
|
||||||
option(BUILD_KEYRING "Gnome keyring password plugin" ON)
|
|
||||||
if (BUILD_KEYRING)
|
|
||||||
pkg_check_modules(GNOME_KEYRING IMPORTED_TARGET gnome-keyring-1 )
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# Optional: KWallet, KIO, KCrash, KCoreAddons
|
# Optional: KWallet, KIO, KCrash, KCoreAddons
|
||||||
set(KF5_MIN_VERSION "5.54.0")
|
set(KF5_MIN_VERSION "5.54.0")
|
||||||
find_package(KF5Wallet ${KF5_MIN_VERSION} CONFIG)
|
find_package(KF5Wallet ${KF5_MIN_VERSION} CONFIG)
|
||||||
|
|
|
@ -9,10 +9,6 @@ add_subdirectory(StatusBarIcons)
|
||||||
add_subdirectory(TabManager)
|
add_subdirectory(TabManager)
|
||||||
add_subdirectory(VerticalTabs)
|
add_subdirectory(VerticalTabs)
|
||||||
|
|
||||||
if (GNOME_KEYRING_FOUND)
|
|
||||||
add_subdirectory(GnomeKeyringPasswords)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if (ENABLE_KDE_FRAMEWORKS_INTEGRATION_PLUGIN)
|
if (ENABLE_KDE_FRAMEWORKS_INTEGRATION_PLUGIN)
|
||||||
add_subdirectory(KDEFrameworksIntegration)
|
add_subdirectory(KDEFrameworksIntegration)
|
||||||
endif()
|
endif()
|
||||||
|
|
|
@ -1,13 +0,0 @@
|
||||||
add_definitions(${GNOME_KEYRING_CFLAGS} ${GNOME_KEYRING_CFLAGS_OTHER})
|
|
||||||
|
|
||||||
set( GnomeKeyringPasswords_SRCS
|
|
||||||
gnomekeyringplugin.cpp
|
|
||||||
gnomekeyringpasswordbackend.cpp
|
|
||||||
)
|
|
||||||
|
|
||||||
ecm_create_qm_loader( GnomeKeyringPasswords_SRCS falkon_gnomekeyringpasswords_qt )
|
|
||||||
|
|
||||||
add_library(GnomeKeyringPasswords MODULE ${GnomeKeyringPasswords_SRCS} ${RSCS})
|
|
||||||
install(TARGETS GnomeKeyringPasswords DESTINATION ${FALKON_INSTALL_PLUGINDIR})
|
|
||||||
target_link_libraries(GnomeKeyringPasswords PkgConfig::GNOME_KEYRING FalkonPrivate)
|
|
||||||
|
|
|
@ -1,2 +0,0 @@
|
||||||
#! /bin/sh
|
|
||||||
$EXTRACT_TR_STRINGS `find . -name '*.cpp' -o -name '*.h' -o -name '*.ui'` -o $podir/falkon_gnomekeyringpasswords_qt.pot
|
|
|
@ -1,304 +0,0 @@
|
||||||
/* ============================================================
|
|
||||||
* GnomeKeyringPasswords - gnome-keyring support plugin for Falkon
|
|
||||||
* Copyright (C) 2013-2014 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 "gnomekeyringpasswordbackend.h"
|
|
||||||
#include "gnomekeyringplugin.h"
|
|
||||||
|
|
||||||
#include <QDateTime>
|
|
||||||
|
|
||||||
extern "C" {
|
|
||||||
#include "gnome-keyring.h"
|
|
||||||
}
|
|
||||||
|
|
||||||
static PasswordEntry createEntry(GnomeKeyringFound* item)
|
|
||||||
{
|
|
||||||
PasswordEntry entry;
|
|
||||||
entry.id = item->item_id;
|
|
||||||
entry.password = QString::fromUtf8(item->secret);
|
|
||||||
|
|
||||||
for (unsigned i = 0; i < item->attributes->len; ++i) {
|
|
||||||
GnomeKeyringAttribute attr = g_array_index(item->attributes, GnomeKeyringAttribute, i);
|
|
||||||
|
|
||||||
if (strcmp(attr.name, "host") == 0) {
|
|
||||||
entry.host = QString::fromUtf8(attr.value.string);
|
|
||||||
}
|
|
||||||
else if (strcmp(attr.name, "username") == 0) {
|
|
||||||
entry.username = QString::fromUtf8(attr.value.string);
|
|
||||||
}
|
|
||||||
else if (strcmp(attr.name, "data") == 0) {
|
|
||||||
entry.data = attr.value.string;
|
|
||||||
}
|
|
||||||
else if (strcmp(attr.name, "updated") == 0) {
|
|
||||||
entry.updated = attr.value.integer;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
entry.data.replace(QByteArray("___PASSWORD-VALUE___"), PasswordManager::urlEncodePassword(entry.password));
|
|
||||||
|
|
||||||
return entry;
|
|
||||||
}
|
|
||||||
|
|
||||||
static GnomeKeyringAttributeList* createAttributes(const PasswordEntry &entry)
|
|
||||||
{
|
|
||||||
GnomeKeyringAttributeList* attributes = gnome_keyring_attribute_list_new();
|
|
||||||
|
|
||||||
gnome_keyring_attribute_list_append_string(attributes, "application", "Falkon");
|
|
||||||
|
|
||||||
QByteArray value = entry.username.toUtf8();
|
|
||||||
gnome_keyring_attribute_list_append_string(attributes, "username", value.constData());
|
|
||||||
|
|
||||||
value = entry.data;
|
|
||||||
value.replace(PasswordManager::urlEncodePassword(entry.password), "___PASSWORD-VALUE___");
|
|
||||||
gnome_keyring_attribute_list_append_string(attributes, "data", value.constData());
|
|
||||||
|
|
||||||
value = entry.host.toUtf8();
|
|
||||||
gnome_keyring_attribute_list_append_string(attributes, "host", value.constData());
|
|
||||||
|
|
||||||
gnome_keyring_attribute_list_append_uint32(attributes, "updated", entry.updated);
|
|
||||||
|
|
||||||
return attributes;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void storeEntry(PasswordEntry &entry)
|
|
||||||
{
|
|
||||||
guint32 itemId;
|
|
||||||
GnomeKeyringAttributeList* attributes = createAttributes(entry);
|
|
||||||
|
|
||||||
QByteArray pass = entry.password.toUtf8();
|
|
||||||
QByteArray host = entry.host.toUtf8();
|
|
||||||
|
|
||||||
GnomeKeyringResult result = gnome_keyring_item_create_sync(GNOME_KEYRING_DEFAULT,
|
|
||||||
GNOME_KEYRING_ITEM_GENERIC_SECRET,
|
|
||||||
host.constData(),
|
|
||||||
attributes,
|
|
||||||
pass.constData(),
|
|
||||||
TRUE, // Update if exists
|
|
||||||
&itemId);
|
|
||||||
|
|
||||||
gnome_keyring_attribute_list_free(attributes);
|
|
||||||
|
|
||||||
if (result != GNOME_KEYRING_RESULT_OK) {
|
|
||||||
qWarning() << "GnomeKeyringPasswordBackend::addEntry Cannot add entry to keyring!";
|
|
||||||
}
|
|
||||||
|
|
||||||
entry.id = itemId;
|
|
||||||
}
|
|
||||||
|
|
||||||
GnomeKeyringPasswordBackend::GnomeKeyringPasswordBackend()
|
|
||||||
: PasswordBackend()
|
|
||||||
, m_loaded(false)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
QString GnomeKeyringPasswordBackend::name() const
|
|
||||||
{
|
|
||||||
return GnomeKeyringPlugin::tr("Gnome Keyring");
|
|
||||||
}
|
|
||||||
|
|
||||||
QVector<PasswordEntry> GnomeKeyringPasswordBackend::getEntries(const QUrl &url)
|
|
||||||
{
|
|
||||||
initialize();
|
|
||||||
|
|
||||||
const QString host = PasswordManager::createHost(url);
|
|
||||||
|
|
||||||
QVector<PasswordEntry> list;
|
|
||||||
|
|
||||||
foreach (const PasswordEntry &entry, m_allEntries) {
|
|
||||||
if (entry.host == host) {
|
|
||||||
list.append(entry);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Sort to prefer last updated entries
|
|
||||||
std::sort(list.begin(), list.end());
|
|
||||||
|
|
||||||
return list;
|
|
||||||
}
|
|
||||||
|
|
||||||
QVector<PasswordEntry> GnomeKeyringPasswordBackend::getAllEntries()
|
|
||||||
{
|
|
||||||
initialize();
|
|
||||||
|
|
||||||
return m_allEntries;
|
|
||||||
}
|
|
||||||
|
|
||||||
void GnomeKeyringPasswordBackend::addEntry(const PasswordEntry &entry)
|
|
||||||
{
|
|
||||||
initialize();
|
|
||||||
|
|
||||||
PasswordEntry stored = entry;
|
|
||||||
stored.updated = QDateTime::currentDateTime().toTime_t();
|
|
||||||
|
|
||||||
storeEntry(stored);
|
|
||||||
|
|
||||||
m_allEntries.append(stored);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool GnomeKeyringPasswordBackend::updateEntry(const PasswordEntry &entry)
|
|
||||||
{
|
|
||||||
initialize();
|
|
||||||
|
|
||||||
// Update item attributes
|
|
||||||
GnomeKeyringAttributeList* attributes = createAttributes(entry);
|
|
||||||
|
|
||||||
GnomeKeyringResult result = gnome_keyring_item_set_attributes_sync(GNOME_KEYRING_DEFAULT,
|
|
||||||
entry.id.toUInt(),
|
|
||||||
attributes);
|
|
||||||
|
|
||||||
gnome_keyring_attribute_list_free(attributes);
|
|
||||||
|
|
||||||
if (result != GNOME_KEYRING_RESULT_OK) {
|
|
||||||
qWarning() << "GnomeKeyringPasswordBackend::updateEntry Cannot updated entry attributes in keyring!";
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Update secret
|
|
||||||
GnomeKeyringItemInfo* info;
|
|
||||||
result = gnome_keyring_item_get_info_full_sync(GNOME_KEYRING_DEFAULT, entry.id.toUInt(),
|
|
||||||
GNOME_KEYRING_ITEM_INFO_SECRET, &info);
|
|
||||||
|
|
||||||
if (result != GNOME_KEYRING_RESULT_OK) {
|
|
||||||
qWarning() << "GnomeKeyringPasswordBackend::updateEntry Cannot get entry info from keyring!";
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
QByteArray pass = entry.password.toUtf8();
|
|
||||||
gnome_keyring_item_info_set_secret(info, pass.constData());
|
|
||||||
|
|
||||||
result = gnome_keyring_item_set_info_sync(GNOME_KEYRING_DEFAULT, entry.id.toUInt(), info);
|
|
||||||
|
|
||||||
gnome_keyring_item_info_free(info);
|
|
||||||
|
|
||||||
if (result != GNOME_KEYRING_RESULT_OK) {
|
|
||||||
qWarning() << "GnomeKeyringPasswordBackend::updateEntry Cannot set entry info in keyring!";
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
int index = m_allEntries.indexOf(entry);
|
|
||||||
|
|
||||||
if (index > -1) {
|
|
||||||
m_allEntries[index] = entry;
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
void GnomeKeyringPasswordBackend::updateLastUsed(PasswordEntry &entry)
|
|
||||||
{
|
|
||||||
initialize();
|
|
||||||
|
|
||||||
entry.updated = QDateTime::currentDateTime().toTime_t();
|
|
||||||
|
|
||||||
GnomeKeyringAttributeList* attributes = createAttributes(entry);
|
|
||||||
|
|
||||||
GnomeKeyringResult result = gnome_keyring_item_set_attributes_sync(GNOME_KEYRING_DEFAULT,
|
|
||||||
entry.id.toUInt(),
|
|
||||||
attributes);
|
|
||||||
|
|
||||||
gnome_keyring_attribute_list_free(attributes);
|
|
||||||
|
|
||||||
if (result != GNOME_KEYRING_RESULT_OK) {
|
|
||||||
qWarning() << "GnomeKeyringPasswordBackend::updateLastUsed Cannot updated entry in keyring!";
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
int index = m_allEntries.indexOf(entry);
|
|
||||||
|
|
||||||
if (index > -1) {
|
|
||||||
m_allEntries[index] = entry;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void GnomeKeyringPasswordBackend::removeEntry(const PasswordEntry &entry)
|
|
||||||
{
|
|
||||||
initialize();
|
|
||||||
|
|
||||||
GnomeKeyringResult result = gnome_keyring_item_delete_sync(GNOME_KEYRING_DEFAULT, entry.id.toUInt());
|
|
||||||
|
|
||||||
if (result != GNOME_KEYRING_RESULT_OK) {
|
|
||||||
qWarning() << "GnomeKeyringPasswordBackend::removeEntry Cannot remove entry from keyring!";
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
int index = m_allEntries.indexOf(entry);
|
|
||||||
|
|
||||||
if (index > -1) {
|
|
||||||
m_allEntries.remove(index);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void GnomeKeyringPasswordBackend::removeAll()
|
|
||||||
{
|
|
||||||
initialize();
|
|
||||||
|
|
||||||
foreach (const PasswordEntry &entry, m_allEntries) {
|
|
||||||
removeEntry(entry);
|
|
||||||
}
|
|
||||||
|
|
||||||
m_allEntries.clear();
|
|
||||||
}
|
|
||||||
|
|
||||||
void GnomeKeyringPasswordBackend::initialize()
|
|
||||||
{
|
|
||||||
if (m_loaded) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
GList* found;
|
|
||||||
GnomeKeyringResult result = gnome_keyring_find_itemsv_sync(GNOME_KEYRING_ITEM_GENERIC_SECRET, &found,
|
|
||||||
"application", GNOME_KEYRING_ATTRIBUTE_TYPE_STRING, "Falkon",
|
|
||||||
NULL);
|
|
||||||
|
|
||||||
if (result != GNOME_KEYRING_RESULT_OK && result != GNOME_KEYRING_RESULT_NO_MATCH) {
|
|
||||||
qWarning() << "GnomeKeyringPasswordBackend::initialize Cannot read items from keyring!";
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool migrate = false;
|
|
||||||
if (result == GNOME_KEYRING_RESULT_NO_MATCH) {
|
|
||||||
result = gnome_keyring_find_itemsv_sync(GNOME_KEYRING_ITEM_GENERIC_SECRET, &found,
|
|
||||||
"application", GNOME_KEYRING_ATTRIBUTE_TYPE_STRING, "QupZilla",
|
|
||||||
NULL);
|
|
||||||
|
|
||||||
if (result != GNOME_KEYRING_RESULT_OK && result != GNOME_KEYRING_RESULT_NO_MATCH) {
|
|
||||||
qWarning() << "GnomeKeyringPasswordBackend::initialize Cannot read items from keyring!";
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (result == GNOME_KEYRING_RESULT_OK) {
|
|
||||||
migrate = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
GList* tmp = found;
|
|
||||||
|
|
||||||
while (tmp) {
|
|
||||||
GnomeKeyringFound* item = (GnomeKeyringFound*) tmp->data;
|
|
||||||
m_allEntries.append(createEntry(item));
|
|
||||||
tmp = tmp->next;
|
|
||||||
}
|
|
||||||
|
|
||||||
gnome_keyring_found_list_free(found);
|
|
||||||
|
|
||||||
if (migrate) {
|
|
||||||
for (PasswordEntry &entry : m_allEntries) {
|
|
||||||
storeEntry(entry);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
m_loaded = true;
|
|
||||||
}
|
|
|
@ -1,50 +0,0 @@
|
||||||
/* ============================================================
|
|
||||||
* GnomeKeyringPasswords - gnome-keyring support plugin for Falkon
|
|
||||||
* Copyright (C) 2013-2014 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 GNOMEKEYRINGPASSWORDBACKEND_H
|
|
||||||
#define GNOMEKEYRINGPASSWORDBACKEND_H
|
|
||||||
|
|
||||||
#include <QVector>
|
|
||||||
|
|
||||||
#include "passwordbackends/passwordbackend.h"
|
|
||||||
#include "passwordmanager.h"
|
|
||||||
|
|
||||||
class FALKON_EXPORT GnomeKeyringPasswordBackend : public PasswordBackend
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
explicit GnomeKeyringPasswordBackend();
|
|
||||||
|
|
||||||
QString name() const;
|
|
||||||
|
|
||||||
QVector<PasswordEntry> getEntries(const QUrl &url);
|
|
||||||
QVector<PasswordEntry> getAllEntries();
|
|
||||||
|
|
||||||
void addEntry(const PasswordEntry &entry);
|
|
||||||
bool updateEntry(const PasswordEntry &entry);
|
|
||||||
void updateLastUsed(PasswordEntry &entry);
|
|
||||||
|
|
||||||
void removeEntry(const PasswordEntry &entry);
|
|
||||||
void removeAll();
|
|
||||||
|
|
||||||
private:
|
|
||||||
void initialize();
|
|
||||||
|
|
||||||
bool m_loaded;
|
|
||||||
QVector<PasswordEntry> m_allEntries;
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif // GNOMEKEYRINGPASSWORDBACKEND_H
|
|
|
@ -1,54 +0,0 @@
|
||||||
{
|
|
||||||
"Comment": "Provides support for storing passwords in gnome-keyring",
|
|
||||||
"Comment[ca@valencia]": "Proporciona suport per emmagatzemar les contrasenyes a l'anell de claus de Gnome",
|
|
||||||
"Comment[ca]": "Proporciona suport per emmagatzemar les contrasenyes a l'anell de claus de Gnome",
|
|
||||||
"Comment[cs]": "Poskytuje podporu pro ukládání hesel pomocí gnome-keyring",
|
|
||||||
"Comment[da]": "Giver understøttelse af lagring af adgangskoder i gnome-nøglring",
|
|
||||||
"Comment[de]": "Unterstützung für die Speicherung von Passwörtern in gnome-keyring",
|
|
||||||
"Comment[en_GB]": "Provides support for storing passwords in gnome-keyring",
|
|
||||||
"Comment[es]": "Implementa el almacenamiento de contraseñas en el anillo de claves de Gnome",
|
|
||||||
"Comment[fi]": "Tarjoaa tuen salasanojen tallentamiseksi Gnomen avainrenkaaseen",
|
|
||||||
"Comment[fr]": "Prise en charge de l'enregistrement de mots de passe au sein de gnome-keyring",
|
|
||||||
"Comment[gl]": "Permite almacenar contrasinais en gnome-keyring",
|
|
||||||
"Comment[id]": "Menyediakan dukungan untuk menyimpan sandi dalam gnome-keyring",
|
|
||||||
"Comment[it]": "Fornisce un supporto all'immagazzinamento delle password nel portachiavi di Gnome",
|
|
||||||
"Comment[nl]": "Biedt ondersteuning voor opslaan van GNOME-sleutelbos wachtwoorden",
|
|
||||||
"Comment[nn]": "Gjev støtte for lagring av passord i Gnome-nøkkelringen",
|
|
||||||
"Comment[pl]": "Zapewnia obsługę przechowywania haseł w pęku kluczy gnome",
|
|
||||||
"Comment[pt]": "Oferece o suporte para gravar as senhas no 'gnome-keyring'",
|
|
||||||
"Comment[pt_BR]": "Fornece suporte para armazenar senhas no gnome-keyring",
|
|
||||||
"Comment[sk]": "Poskytuje podporu pre ukladanie hesiel do Gnome kľúčenky",
|
|
||||||
"Comment[sv]": "Tillhandahåller stöd för att lagra lösenord i Gnome-nyckelring",
|
|
||||||
"Comment[uk]": "Забезпечує підтримку зберігання паролів у gnome-keyring",
|
|
||||||
"Comment[x-test]": "xxProvides support for storing passwords in gnome-keyringxx",
|
|
||||||
"Comment[zh_CN]": "提供在 gnome-keyring 中保存密码的支持",
|
|
||||||
"Icon": "base64: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",
|
|
||||||
"Name": "Gnome Keyring Passwords",
|
|
||||||
"Name[ca@valencia]": "Contrasenyes a l'anell de claus de Gnome",
|
|
||||||
"Name[ca]": "Contrasenyes a l'anell de claus de Gnome",
|
|
||||||
"Name[cs]": "Hesla z klíčenky Gnome",
|
|
||||||
"Name[da]": "Adgangskoder til Gnome-nøglering",
|
|
||||||
"Name[de]": "Passwörter für Gnome Keyring",
|
|
||||||
"Name[en_GB]": "Gnome Keyring Passwords",
|
|
||||||
"Name[es]": "Anillo de contraseñas de Gnome",
|
|
||||||
"Name[fi]": "Gnomen avainrenkaan salasankaat",
|
|
||||||
"Name[fr]": "Trousseau de clés de GNOME",
|
|
||||||
"Name[gl]": "Contrasinais do chaveiro de Gnome",
|
|
||||||
"Name[id]": "Gnome Keyring Passwords",
|
|
||||||
"Name[it]": "Portachiavi per le chiavi di Gnome",
|
|
||||||
"Name[nl]": "GNOME-sleutelbos wachtwoorden",
|
|
||||||
"Name[nn]": "Passord for Gnome-nøkkelring",
|
|
||||||
"Name[pl]": "Hasła pęku kluczy Gnome",
|
|
||||||
"Name[pt]": "Senhas no Porta-Chaves do Gnome",
|
|
||||||
"Name[pt_BR]": "Senhas do chaveiro do GNOME",
|
|
||||||
"Name[sk]": "Heslá Gnome kľúčenky",
|
|
||||||
"Name[sv]": "Gnome-nyckelring lösenord",
|
|
||||||
"Name[uk]": "Паролі сховища ключів Gnome",
|
|
||||||
"Name[x-test]": "xxGnome Keyring Passwordsxx",
|
|
||||||
"Name[zh_CN]": "Gnome 钥匙链密码",
|
|
||||||
"Name[zh_TW]": "GNOME 鑰匙圈密碼",
|
|
||||||
"X-Falkon-Author": "David Rosca",
|
|
||||||
"X-Falkon-Email": "nowrep@gmail.com",
|
|
||||||
"X-Falkon-Settings": "false",
|
|
||||||
"X-Falkon-Version": "0.1.0"
|
|
||||||
}
|
|
|
@ -1,52 +0,0 @@
|
||||||
/* ============================================================
|
|
||||||
* GnomeKeyringPasswords - gnome-keyring support plugin for Falkon
|
|
||||||
* Copyright (C) 2013-2014 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 "gnomekeyringplugin.h"
|
|
||||||
#include "gnomekeyringpasswordbackend.h"
|
|
||||||
#include "pluginproxy.h"
|
|
||||||
#include "browserwindow.h"
|
|
||||||
#include "../config.h"
|
|
||||||
#include "mainapplication.h"
|
|
||||||
#include "autofill.h"
|
|
||||||
#include "passwordmanager.h"
|
|
||||||
|
|
||||||
GnomeKeyringPlugin::GnomeKeyringPlugin()
|
|
||||||
: QObject()
|
|
||||||
, m_backend(0)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void GnomeKeyringPlugin::init(InitState state, const QString &settingsPath)
|
|
||||||
{
|
|
||||||
Q_UNUSED(state);
|
|
||||||
Q_UNUSED(settingsPath);
|
|
||||||
|
|
||||||
m_backend = new GnomeKeyringPasswordBackend;
|
|
||||||
mApp->autoFill()->passwordManager()->registerBackend(QSL("GnomeKeyring"), m_backend);
|
|
||||||
}
|
|
||||||
|
|
||||||
void GnomeKeyringPlugin::unload()
|
|
||||||
{
|
|
||||||
mApp->autoFill()->passwordManager()->unregisterBackend(m_backend);
|
|
||||||
delete m_backend;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool GnomeKeyringPlugin::testPlugin()
|
|
||||||
{
|
|
||||||
// Require the version that the plugin was built with
|
|
||||||
return (Qz::VERSION == QLatin1String(FALKON_VERSION));
|
|
||||||
}
|
|
|
@ -1,43 +0,0 @@
|
||||||
/* ============================================================
|
|
||||||
* GnomeKeyringPasswords - gnome-keyring support plugin for Falkon
|
|
||||||
* Copyright (C) 2013-2014 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 GNOMEKEYRINGPLUGIN_H
|
|
||||||
#define GNOMEKEYRINGPLUGIN_H
|
|
||||||
|
|
||||||
#include "plugininterface.h"
|
|
||||||
|
|
||||||
class GnomeKeyringPasswordBackend;
|
|
||||||
|
|
||||||
class GnomeKeyringPlugin : public QObject, public PluginInterface
|
|
||||||
{
|
|
||||||
Q_OBJECT
|
|
||||||
Q_INTERFACES(PluginInterface)
|
|
||||||
Q_PLUGIN_METADATA(IID "Falkon.Browser.plugin.GnomeKeyringPasswords" FILE "gnomekeyringpasswords.json")
|
|
||||||
|
|
||||||
public:
|
|
||||||
explicit GnomeKeyringPlugin();
|
|
||||||
|
|
||||||
void init(InitState state, const QString &settingsPath);
|
|
||||||
void unload();
|
|
||||||
bool testPlugin();
|
|
||||||
|
|
||||||
private:
|
|
||||||
GnomeKeyringPasswordBackend* m_backend;
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif // GNOMEKEYRINGPLUGIN_H
|
|
Loading…
Reference in New Issue
Block a user