diff --git a/CMakeLists.txt b/CMakeLists.txt index 4062cfe2..1fb3562e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,195 +1,186 @@ # CMake version required. This must be the very first line, because it sets default policies affecting everything else cmake_minimum_required(VERSION 3.1) # Project name and version project(Falkon VERSION 3.1.99) # Find ECM, with nice error handling in case of failure include(FeatureSummary) find_package(ECM 5.27.0 CONFIG) set_package_properties(ECM PROPERTIES TYPE REQUIRED DESCRIPTION "Extra CMake Modules." URL "https://projects.kde.org/projects/frameworks/extra-cmake-modules") feature_summary(WHAT REQUIRED_PACKAGES_NOT_FOUND FATAL_ON_MISSING_REQUIRED_PACKAGES) set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/cmake) # Many includes from ECM, to get all the nice cmake functions and settings include(KDEInstallDirs) include(KDECMakeSettings) include(KDECompilerSettings NO_POLICY_SCOPE) include(ECMInstallIcons) include(ECMSetupVersion) include(ECMAddAppIcon) include(ECMQtDeclareLoggingCategory) include(ECMPoQmTools) # Output dirs (like ECM 5.38 does) set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib") set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin") set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin") if (UNIX AND NOT APPLE) set(FALKON_INSTALL_PLUGINDIR "${KDE_INSTALL_PLUGINDIR}/falkon") else() set(FALKON_INSTALL_PLUGINDIR "${KDE_INSTALL_PLUGINDIR}") endif() if (IS_ABSOLUTE ${FALKON_INSTALL_PLUGINDIR}) set(PLUGIN_PATH "${FALKON_INSTALL_PLUGINDIR}") else() set(PLUGIN_PATH "${CMAKE_INSTALL_PREFIX}/${FALKON_INSTALL_PLUGINDIR}") endif() if (NOT WIN32) set(FALKON_PLUGIN_PATH "${PLUGIN_PATH}" CACHE PATH "Default plugin search path") endif() # Defines that are always set add_definitions(-DQT_NO_URL_CAST_FROM_STRING -DQT_USE_QSTRINGBUILDER -DQT_NO_CAST_TO_ASCII) # Mandatory: Qt5 set(QT_MIN_VERSION "5.9.0") find_package(Qt5 ${QT_MIN_VERSION} REQUIRED COMPONENTS Core Widgets Network Sql QuickWidgets PrintSupport WebEngine WebEngineWidgets WebChannel) if (BUILD_TESTING) find_package(Qt5 ${QT_MIN_VERSION} REQUIRED COMPONENTS Test) endif() if (NOT DISABLE_DBUS) find_package(Qt5 ${QT_MIN_VERSION} REQUIRED COMPONENTS DBus) endif() if (UNIX AND NOT APPLE AND NOT NO_X11) add_definitions(-DQZ_WS_X11) find_package(XCB REQUIRED COMPONENTS XCB UTIL) find_package(Qt5 ${QT_MIN_VERSION} REQUIRED COMPONENTS X11Extras) endif() if (WIN32) add_definitions(-DW7API) find_package(Qt5 ${QT_MIN_VERSION} REQUIRED COMPONENTS WinExtras) # taken from https://stackoverflow.com/a/40217291 macro(get_WIN32_WINNT version) if (CMAKE_SYSTEM_VERSION) set(ver ${CMAKE_SYSTEM_VERSION}) string(REGEX MATCH "^([0-9]+).([0-9])" ver ${ver}) string(REGEX MATCH "^([0-9]+)" verMajor ${ver}) # Check for Windows 10, b/c we'll need to convert to hex 'A'. if ("${verMajor}" MATCHES "10") set(verMajor "A") string(REGEX REPLACE "^([0-9]+)" ${verMajor} ver ${ver}) endif ("${verMajor}" MATCHES "10") # Remove all remaining '.' characters. string(REPLACE "." "" ver ${ver}) # Prepend each digit with a zero. string(REGEX REPLACE "([0-9A-Z])" "0\\1" ver ${ver}) set(${version} "0x${ver}") endif(CMAKE_SYSTEM_VERSION) endmacro(get_WIN32_WINNT) get_WIN32_WINNT(ver) add_definitions(-D_WIN32_WINNT=${ver}) endif() # Mandatory: OpenSSL find_package(OpenSSL REQUIRED) # Mandatory: KF5 find_package(KF5 REQUIRED COMPONENTS Archive) # KF5I18n: Mandatory with downloaded translations (only for ki18n_install) if (EXISTS "${CMAKE_SOURCE_DIR}/po") find_package(KF5I18n REQUIRED) 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 set(KF5_MIN_VERSION "5.54.0") find_package(KF5Wallet ${KF5_MIN_VERSION} CONFIG) set_package_properties(KF5Wallet PROPERTIES DESCRIPTION "KDE Frameworks Integration plugin" TYPE OPTIONAL) find_package(KF5KIO ${KF5_MIN_VERSION} CONFIG) set_package_properties(KF5KIO PROPERTIES DESCRIPTION "KDE Frameworks Integration plugin" TYPE OPTIONAL) find_package(KF5Crash ${KF5_MIN_VERSION} CONFIG) set_package_properties(KF5Crash PROPERTIES DESCRIPTION "KDE Frameworks Integration plugin" TYPE OPTIONAL) find_package(KF5CoreAddons ${KF5_MIN_VERSION} CONFIG) set_package_properties(KF5CoreAddons PROPERTIES DESCRIPTION "KDE Frameworks Integration plugin" TYPE OPTIONAL) find_package(KF5Purpose ${KF5_MIN_VERSION} CONFIG) set_package_properties(KF5Purpose PROPERTIES DESCRIPTION "KDE Frameworks Integration plugin" TYPE OPTIONAL) if (KF5Wallet_FOUND AND KF5KIO_FOUND AND KF5Crash_FOUND AND KF5CoreAddons_FOUND AND KF5Purpose_FOUND) set(ENABLE_KDE_FRAMEWORKS_INTEGRATION_PLUGIN TRUE) endif() # Optional: PySide2 find_package(PySide2 "2.0.0") find_package(Shiboken2 "2.0.0") find_package(Python3 COMPONENTS Development) set_package_properties(PySide2 PROPERTIES DESCRIPTION "Python plugins" TYPE OPTIONAL) set_package_properties(Shiboken2 PROPERTIES DESCRIPTION "Python plugins" TYPE OPTIONAL) set_package_properties(Python3 PROPERTIES DESCRIPTION "Python plugins" TYPE OPTIONAL) if (PySide2_FOUND AND Shiboken2_FOUND AND Python3_FOUND) set(ENABLE_PYTHON_PLUGINS TRUE) endif() find_package(Intl) if (Intl_FOUND) set(HAVE_LIBINTL TRUE) endif() # Git revision if (EXISTS "${CMAKE_SOURCE_DIR}/.git") find_package(Git QUIET) if(GIT_FOUND) execute_process( COMMAND ${GIT_EXECUTABLE} rev-parse --short HEAD WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} OUTPUT_VARIABLE GIT_REVISION ) string(REGEX REPLACE "\n" "" GIT_REVISION "${GIT_REVISION}") set(FALKON_GIT_REVISION "${GIT_REVISION}") else() message(STATUS "Git revision could not be determined") endif() endif() configure_file(config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/src/config.h) # Include dirs used everywhere include_directories( ${CMAKE_SOURCE_DIR}/src/lib/3rdparty ${CMAKE_SOURCE_DIR}/src/lib/adblock ${CMAKE_SOURCE_DIR}/src/lib/app ${CMAKE_SOURCE_DIR}/src/lib/autofill ${CMAKE_SOURCE_DIR}/src/lib/bookmarks ${CMAKE_SOURCE_DIR}/src/lib/cookies ${CMAKE_SOURCE_DIR}/src/lib/downloads ${CMAKE_SOURCE_DIR}/src/lib/history ${CMAKE_SOURCE_DIR}/src/lib/navigation ${CMAKE_SOURCE_DIR}/src/lib/network ${CMAKE_SOURCE_DIR}/src/lib/notifications ${CMAKE_SOURCE_DIR}/src/lib/opensearch ${CMAKE_SOURCE_DIR}/src/lib/other ${CMAKE_SOURCE_DIR}/src/lib/plugins ${CMAKE_SOURCE_DIR}/src/lib/popupwindow ${CMAKE_SOURCE_DIR}/src/lib/preferences ${CMAKE_SOURCE_DIR}/src/lib/session ${CMAKE_SOURCE_DIR}/src/lib/sidebar ${CMAKE_SOURCE_DIR}/src/lib/tabwidget ${CMAKE_SOURCE_DIR}/src/lib/tools ${CMAKE_SOURCE_DIR}/src/lib/webengine ${CMAKE_SOURCE_DIR}/src/lib/webtab ) # Finally, go into the subdirs add_subdirectory(src) if (BUILD_TESTING) add_subdirectory(autotests) add_subdirectory(tests/benchmarks) endif() # Tell releaseme that po is already taken care of # SKIP_PO_INSTALL feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES) diff --git a/src/plugins/CMakeLists.txt b/src/plugins/CMakeLists.txt index 54b28ba9..bfcf5937 100644 --- a/src/plugins/CMakeLists.txt +++ b/src/plugins/CMakeLists.txt @@ -1,26 +1,22 @@ set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin/plugins") add_subdirectory(AutoScroll) add_subdirectory(FlashCookieManager) add_subdirectory(GreaseMonkey) add_subdirectory(MouseGestures) add_subdirectory(PIM) add_subdirectory(StatusBarIcons) add_subdirectory(TabManager) add_subdirectory(VerticalTabs) -if (GNOME_KEYRING_FOUND) - add_subdirectory(GnomeKeyringPasswords) -endif() - if (ENABLE_KDE_FRAMEWORKS_INTEGRATION_PLUGIN) add_subdirectory(KDEFrameworksIntegration) endif() if (ENABLE_PYTHON_PLUGINS) add_subdirectory(PyFalkon) endif() if (CMAKE_BUILD_TYPE STREQUAL "Debug") add_subdirectory(TestPlugin) endif() diff --git a/src/plugins/GnomeKeyringPasswords/CMakeLists.txt b/src/plugins/GnomeKeyringPasswords/CMakeLists.txt deleted file mode 100644 index 269da928..00000000 --- a/src/plugins/GnomeKeyringPasswords/CMakeLists.txt +++ /dev/null @@ -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) - diff --git a/src/plugins/GnomeKeyringPasswords/Messages.sh b/src/plugins/GnomeKeyringPasswords/Messages.sh deleted file mode 100644 index 75d450c9..00000000 --- a/src/plugins/GnomeKeyringPasswords/Messages.sh +++ /dev/null @@ -1,2 +0,0 @@ -#! /bin/sh -$EXTRACT_TR_STRINGS `find . -name '*.cpp' -o -name '*.h' -o -name '*.ui'` -o $podir/falkon_gnomekeyringpasswords_qt.pot diff --git a/src/plugins/GnomeKeyringPasswords/gnomekeyringpasswordbackend.cpp b/src/plugins/GnomeKeyringPasswords/gnomekeyringpasswordbackend.cpp deleted file mode 100644 index e027b319..00000000 --- a/src/plugins/GnomeKeyringPasswords/gnomekeyringpasswordbackend.cpp +++ /dev/null @@ -1,304 +0,0 @@ -/* ============================================================ -* GnomeKeyringPasswords - gnome-keyring support plugin for Falkon -* Copyright (C) 2013-2014 David Rosca -* -* 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 . -* ============================================================ */ -#include "gnomekeyringpasswordbackend.h" -#include "gnomekeyringplugin.h" - -#include - -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 GnomeKeyringPasswordBackend::getEntries(const QUrl &url) -{ - initialize(); - - const QString host = PasswordManager::createHost(url); - - QVector 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 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; -} diff --git a/src/plugins/GnomeKeyringPasswords/gnomekeyringpasswordbackend.h b/src/plugins/GnomeKeyringPasswords/gnomekeyringpasswordbackend.h deleted file mode 100644 index 68a1c81f..00000000 --- a/src/plugins/GnomeKeyringPasswords/gnomekeyringpasswordbackend.h +++ /dev/null @@ -1,50 +0,0 @@ -/* ============================================================ -* GnomeKeyringPasswords - gnome-keyring support plugin for Falkon -* Copyright (C) 2013-2014 David Rosca -* -* 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 . -* ============================================================ */ -#ifndef GNOMEKEYRINGPASSWORDBACKEND_H -#define GNOMEKEYRINGPASSWORDBACKEND_H - -#include - -#include "passwordbackends/passwordbackend.h" -#include "passwordmanager.h" - -class FALKON_EXPORT GnomeKeyringPasswordBackend : public PasswordBackend -{ -public: - explicit GnomeKeyringPasswordBackend(); - - QString name() const; - - QVector getEntries(const QUrl &url); - QVector 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 m_allEntries; -}; - -#endif // GNOMEKEYRINGPASSWORDBACKEND_H diff --git a/src/plugins/GnomeKeyringPasswords/gnomekeyringpasswords.json b/src/plugins/GnomeKeyringPasswords/gnomekeyringpasswords.json deleted file mode 100644 index aaea2993..00000000 --- a/src/plugins/GnomeKeyringPasswords/gnomekeyringpasswords.json +++ /dev/null @@ -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" -} diff --git a/src/plugins/GnomeKeyringPasswords/gnomekeyringplugin.cpp b/src/plugins/GnomeKeyringPasswords/gnomekeyringplugin.cpp deleted file mode 100644 index 0e5acb89..00000000 --- a/src/plugins/GnomeKeyringPasswords/gnomekeyringplugin.cpp +++ /dev/null @@ -1,52 +0,0 @@ -/* ============================================================ -* GnomeKeyringPasswords - gnome-keyring support plugin for Falkon -* Copyright (C) 2013-2014 David Rosca -* -* 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 . -* ============================================================ */ -#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)); -} diff --git a/src/plugins/GnomeKeyringPasswords/gnomekeyringplugin.h b/src/plugins/GnomeKeyringPasswords/gnomekeyringplugin.h deleted file mode 100644 index 9e6dab68..00000000 --- a/src/plugins/GnomeKeyringPasswords/gnomekeyringplugin.h +++ /dev/null @@ -1,43 +0,0 @@ -/* ============================================================ -* GnomeKeyringPasswords - gnome-keyring support plugin for Falkon -* Copyright (C) 2013-2014 David Rosca -* -* 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 . -* ============================================================ */ -#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