Kleopatra does save additional entered keyserver Reproducible: Always Steps to Reproduce: 1. Add additional keyserv 2. Leave configuration dialog with OK 3. Re-open configuration dialog 4. Additional keyserver not listed anolting@linux-6coy:~> kleopatra chan_13 -> OK GPG UI server (Kleopatra/2.2.0) ready to serve chan_14 <- OK GPG UI server (Kleopatra/2.2.0) ready to serve chan_14 -> GETINFO pid chan_13 <- GETINFO pid chan_13 -> D 13945 chan_13 -> OK chan_14 <- D 13945 chan_14 <- OK chan_14 -> BYE chan_13 <- BYE chan_13 -> OK closing connection ChecksumDefinition[ "md5sum" ] ("xargs", "-0", "md5sum", "--") ChecksumDefinition[ "md5sum" ] find -print0 | "/usr/bin/xargs" ("-0", "md5sum", "--") ChecksumDefinition[ "md5sum" ] ("md5sum", "-c", "--") ChecksumDefinition[ "md5sum" ] "/usr/bin/md5sum" ("-c", "--") "%f" () ChecksumDefinition[ "sha1sum" ] ("xargs", "-0", "sha1sum", "--") ChecksumDefinition[ "sha1sum" ] find -print0 | "/usr/bin/xargs" ("-0", "sha1sum", "--") ChecksumDefinition[ "sha1sum" ] ("sha1sum", "-c", "--") ChecksumDefinition[ "sha1sum" ] "/usr/bin/sha1sum" ("-c", "--") "%f" () QSocketNotifier: Invalid socket 13 and type 'Read', disabling... final filter count is 12 Shortcut for action "focus_to_quickseach" "Fokus auf die Schnellsuche einstellen" set with QAction::setShortcut()! Use KActionCollection::setDefaultShortcut(s) instead. Shortcut for action "window_new_tab" "Neues Unterfenster" set with QAction::setShortcut()! Use KActionCollection::setDefaultShortcut(s) instead. Shortcut for action "window_rename_tab" "Unterfenster umbenennen ..." set with QAction::setShortcut()! Use KActionCollection::setDefaultShortcut(s) instead. Shortcut for action "window_duplicate_tab" "Unterfenster duplizieren" set with QAction::setShortcut()! Use KActionCollection::setDefaultShortcut(s) instead. Shortcut for action "window_close_tab" "Unterfenster schließen" set with QAction::setShortcut()! Use KActionCollection::setDefaultShortcut(s) instead. Shortcut for action "window_move_tab_left" "Unterfenster nach links verschieben" set with QAction::setShortcut()! Use KActionCollection::setDefaultShortcut(s) instead. Shortcut for action "window_move_tab_right" "Unterfenster nach rechts verschieben" set with QAction::setShortcut()! Use KActionCollection::setDefaultShortcut(s) instead. Shortcut for action "window_expand_all" "Alle aufklappen" set with QAction::setShortcut()! Use KActionCollection::setDefaultShortcut(s) instead. Shortcut for action "window_collapse_all" "Alle einklappen" set with QAction::setShortcut()! Use KActionCollection::setDefaultShortcut(s) instead. 0x17bc2a0 void QWindowPrivate::setTopLevelScreen(QScreen*, bool) ( QScreen(0x14a3af0) ): Attempt to set a screen on a child window. Error loading plugin: "The shared library was not found." gpgconf: warning: can not open config file /home/anolting/.gnupg/scdaemon.conf: Datei oder Verzeichnis nicht gefunden gpgconf: warning: can not open list file /home/anolting/.gnupg/dirmngr_ldapservers.conf: Datei oder Verzeichnis nicht gefunden Error loading plugin: "The shared library was not found." Error loading plugin: "The shared library was not found." ChecksumDefinition[ "md5sum" ] ("xargs", "-0", "md5sum", "--") ChecksumDefinition[ "md5sum" ] find -print0 | "/usr/bin/xargs" ("-0", "md5sum", "--") ChecksumDefinition[ "md5sum" ] ("md5sum", "-c", "--") ChecksumDefinition[ "md5sum" ] "/usr/bin/md5sum" ("-c", "--") "%f" () ChecksumDefinition[ "sha1sum" ] ("xargs", "-0", "sha1sum", "--") ChecksumDefinition[ "sha1sum" ] find -print0 | "/usr/bin/xargs" ("-0", "sha1sum", "--") ChecksumDefinition[ "sha1sum" ] ("sha1sum", "-c", "--") ChecksumDefinition[ "sha1sum" ] "/usr/bin/sha1sum" ("-c", "--") "%f" () Error loading plugin: "The shared library was not found." log_kleopatra: "Backend error: gpgconf doesn't seem to know the entry for gpg-agent/Security/allow-mark-trusted" Error loading plugin: "The shared library was not found." log_kleo_ui: No widget implemented for list of type 1 0x1b7aef0 void QWindowPrivate::setTopLevelScreen(QScreen*, bool) ( QScreen(0x14a3770) ): Attempt to set a screen on a child window. 0x1b7a570 void QWindowPrivate::setTopLevelScreen(QScreen*, bool) ( QScreen(0x14a3770) ): Attempt to set a screen on a child window. 0x1b79bb0 void QWindowPrivate::setTopLevelScreen(QScreen*, bool) ( QScreen(0x14a3770) ): Attempt to set a screen on a child window. 0x1b7a090 void QWindowPrivate::setTopLevelScreen(QScreen*, bool) ( QScreen(0x14a3770) ): Attempt to set a screen on a child window. 0x1b79690 void QWindowPrivate::setTopLevelScreen(QScreen*, bool) ( QScreen(0x14a3770) ): Attempt to set a screen on a child window. 0x1b79230 void QWindowPrivate::setTopLevelScreen(QScreen*, bool) ( QScreen(0x14a3770) ): Attempt to set a screen on a child window. 0x1b788a0 void QWindowPrivate::setTopLevelScreen(QScreen*, bool) ( QScreen(0x14a3770) ): Attempt to set a screen on a child window. 0x1b78500 void QWindowPrivate::setTopLevelScreen(QScreen*, bool) ( QScreen(0x14a3770) ): Attempt to set a screen on a child window. 0x1b78d50 void QWindowPrivate::setTopLevelScreen(QScreen*, bool) ( QScreen(0x14a3770) ): Attempt to set a screen on a child window. 0x1b7a9d0 void QWindowPrivate::setTopLevelScreen(QScreen*, bool) ( QScreen(0x14a3770) ): Attempt to set a screen on a child window. 0x1b7b350 void QWindowPrivate::setTopLevelScreen(QScreen*, bool) ( QScreen(0x14a3770) ): Attempt to set a screen on a child window. 0x1b7df50 void QWindowPrivate::setTopLevelScreen(QScreen*, bool) ( QScreen(0x14a3770) ): Attempt to set a screen on a child window. 0x1b7e880 void QWindowPrivate::setTopLevelScreen(QScreen*, bool) ( QScreen(0x14a3770) ): Attempt to set a screen on a child window. 0x1b7f160 void QWindowPrivate::setTopLevelScreen(QScreen*, bool) ( QScreen(0x14a3770) ): Attempt to set a screen on a child window. 0x1b7faa0 void QWindowPrivate::setTopLevelScreen(QScreen*, bool) ( QScreen(0x14a3770) ): Attempt to set a screen on a child window. 0x1b80300 void QWindowPrivate::setTopLevelScreen(QScreen*, bool) ( QScreen(0x14a3770) ): Attempt to set a screen on a child window. 0x1b80bc0 void QWindowPrivate::setTopLevelScreen(QScreen*, bool) ( QScreen(0x14a3770) ): Attempt to set a screen on a child window. 0x1b814e0 void QWindowPrivate::setTopLevelScreen(QScreen*, bool) ( QScreen(0x14a3770) ): Attempt to set a screen on a child window. 0x1b81d20 void QWindowPrivate::setTopLevelScreen(QScreen*, bool) ( QScreen(0x14a3770) ): Attempt to set a screen on a child window. gpg:GPG für OpenPGP:/usr/bin/gpg2:1:1: gpgsm:GPG für S/MIME:/usr/bin/gpgsm:1:1: Error loading plugin: "The shared library was not found." gpgconf: warning: can not open config file /home/anolting/.gnupg/scdaemon.conf: Datei oder Verzeichnis nicht gefunden gpgconf: warning: can not open list file /home/anolting/.gnupg/dirmngr_ldapservers.conf: Datei oder Verzeichnis nicht gefunden Error loading plugin: "The shared library was not found." Error loading plugin: "The shared library was not found." ChecksumDefinition[ "md5sum" ] ("xargs", "-0", "md5sum", "--") ChecksumDefinition[ "md5sum" ] find -print0 | "/usr/bin/xargs" ("-0", "md5sum", "--") ChecksumDefinition[ "md5sum" ] ("md5sum", "-c", "--") ChecksumDefinition[ "md5sum" ] "/usr/bin/md5sum" ("-c", "--") "%f" () ChecksumDefinition[ "sha1sum" ] ("xargs", "-0", "sha1sum", "--") ChecksumDefinition[ "sha1sum" ] find -print0 | "/usr/bin/xargs" ("-0", "sha1sum", "--") ChecksumDefinition[ "sha1sum" ] ("sha1sum", "-c", "--") ChecksumDefinition[ "sha1sum" ] "/usr/bin/sha1sum" ("-c", "--") "%f" () Error loading plugin: "The shared library was not found." log_kleopatra: "Backend error: gpgconf doesn't seem to know the entry for gpg-agent/Security/allow-mark-trusted" Error loading plugin: "The shared library was not found." log_kleo_ui: No widget implemented for list of type 1 0x188fce0 void QWindowPrivate::setTopLevelScreen(QScreen*, bool) ( QScreen(0x14a3770) ): Attempt to set a screen on a child window. 0x18d4cc0 void QWindowPrivate::setTopLevelScreen(QScreen*, bool) ( QScreen(0x14a3770) ): Attempt to set a screen on a child window. 0x18a0cc0 void QWindowPrivate::setTopLevelScreen(QScreen*, bool) ( QScreen(0x14a3770) ): Attempt to set a screen on a child window. 0x18cb5f0 void QWindowPrivate::setTopLevelScreen(QScreen*, bool) ( QScreen(0x14a3770) ): Attempt to set a screen on a child window. 0x193c710 void QWindowPrivate::setTopLevelScreen(QScreen*, bool) ( QScreen(0x14a3770) ): Attempt to set a screen on a child window. 0x18d3820 void QWindowPrivate::setTopLevelScreen(QScreen*, bool) ( QScreen(0x14a3770) ): Attempt to set a screen on a child window. 0x191c4d0 void QWindowPrivate::setTopLevelScreen(QScreen*, bool) ( QScreen(0x14a3770) ): Attempt to set a screen on a child window. 0x1825460 void QWindowPrivate::setTopLevelScreen(QScreen*, bool) ( QScreen(0x14a3770) ): Attempt to set a screen on a child window. 0x1b6c330 void QWindowPrivate::setTopLevelScreen(QScreen*, bool) ( QScreen(0x14a3770) ): Attempt to set a screen on a child window. 0x19d5b60 void QWindowPrivate::setTopLevelScreen(QScreen*, bool) ( QScreen(0x14a3770) ): Attempt to set a screen on a child window. 0x1984e20 void QWindowPrivate::setTopLevelScreen(QScreen*, bool) ( QScreen(0x14a3770) ): Attempt to set a screen on a child window. 0x1a978a0 void QWindowPrivate::setTopLevelScreen(QScreen*, bool) ( QScreen(0x14a3770) ): Attempt to set a screen on a child window. 0x1a980e0 void QWindowPrivate::setTopLevelScreen(QScreen*, bool) ( QScreen(0x14a3770) ): Attempt to set a screen on a child window. 0x1a98810 void QWindowPrivate::setTopLevelScreen(QScreen*, bool) ( QScreen(0x14a3770) ): Attempt to set a screen on a child window. 0x1a99040 void QWindowPrivate::setTopLevelScreen(QScreen*, bool) ( QScreen(0x14a3770) ): Attempt to set a screen on a child window. 0x19fcc30 void QWindowPrivate::setTopLevelScreen(QScreen*, bool) ( QScreen(0x14a3770) ): Attempt to set a screen on a child window. 0x19fd4f0 void QWindowPrivate::setTopLevelScreen(QScreen*, bool) ( QScreen(0x14a3770) ): Attempt to set a screen on a child window. 0x19fdd40 void QWindowPrivate::setTopLevelScreen(QScreen*, bool) ( QScreen(0x14a3770) ): Attempt to set a screen on a child window. 0x19fe610 void QWindowPrivate::setTopLevelScreen(QScreen*, bool) ( QScreen(0x14a3770) ): Attempt to set a screen on a child window. gpg:GPG für OpenPGP:/usr/bin/gpg2:1:1: gpgsm:GPG für S/MIME:/usr/bin/gpgsm:1:1: final filter count is 12 anolting@linux-6coy:~>
Git commit aec263d7ff0ea727a730f657439e4945ba88b18a by Andre Heinecke. Committed on 15/05/2017 at 14:37. Pushed by aheinecke into branch 'master'. Simplify and split DirectoryServicesWidget The old UI was probably written under the assumption that there will be support for multiple OpenPGP Keyserver entries at some point. We now only support a single entry for keyserver. As GnuPG only supports a single Keyserver URL the old widget lead to confusion and buggy behavior as it allowed the user to configure multiple PGP Keyservers which were not respected or could not be configured through gpgconf. GnuPG since 2.1.16 has a built in keyserver URL, the placeholder text in the line entry when no other keyserver is configured is intended to reflect that. API compatibility is kept with the old widget operation. Even though I doubt that the read only settings are actually used in practice. While this fixes bugs let's keep it in master because of regression risks. Related: bug 192059 M +80 -295 src/ui/directoryserviceswidget.cpp M +0 -2 src/ui/directoryserviceswidget.h M +109 -104 src/ui/directoryserviceswidget.ui https://commits.kde.org/libkleo/aec263d7ff0ea727a730f657439e4945ba88b18a