[pim/kaddressbook] /: Prepare to add pre-commit support

Laurent Montel null at kde.org
Fri Jun 13 06:11:23 BST 2025


Git commit 1e4461439e0980000de4a5ef61521372db88e625 by Laurent Montel.
Committed on 13/06/2025 at 05:07.
Pushed by mlaurent into branch 'master'.

Prepare to add pre-commit support

M  +75   -26   CMakeLists.txt
M  +1    -1    LICENSES/GPL-2.0-or-later.txt
M  +63   -63   doc/docbook-reference.docbook
M  +538  -538  doc/index.docbook
M  +14   -8    kontactplugin/CMakeLists.txt
M  +0    -1    readme-build-ftime.txt
M  +171  -144  src/CMakeLists.txt
M  +7    -5    src/activities/autotests/CMakeLists.txt
M  +57   -40   src/configuration/CMakeLists.txt
M  +71   -55   src/importexport/CMakeLists.txt
M  +0    -1    src/printing/CMakeLists.txt
M  +1    -1    src/printing/README
M  +0    -1    src/printing/grantlee/README.themes
M  +0    -1    src/printing/grantlee/themes/big-theme-example/theme.html
M  +1    -1    src/printing/mike/mikesstyle.cpp
M  +1    -1    src/printing/mike/mikesstyle.h
M  +6    -3    src/printing/pictures/CMakeLists.txt
M  +1    -1    src/settings/kaddressbook.kcfg
M  +1    -1    src/uistatesaver.h
M  +1    -1    src/viewertemplates/contact_embedded.html

https://invent.kde.org/pim/kaddressbook/-/commit/1e4461439e0980000de4a5ef61521372db88e625

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 42dd35c24..1c9ef5cab 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -13,7 +13,6 @@ find_package(ECM ${KF_MIN_VERSION} CONFIG REQUIRED)
 set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH})
 include(ECMInstallIcons)
 
-
 include(KDEInstallDirs)
 include(KDECMakeSettings)
 include(KDECompilerSettings NO_POLICY_SCOPE)
@@ -31,11 +30,16 @@ include(ECMGenerateHeaders)
 include(KDEGitCommitHooks)
 
 include(KDEClangFormat)
-file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES src/*.cpp src/*.h kontactplugin/*.cpp kontactplugin/*.h)
+file(
+    GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES
+    src/*.cpp
+    src/*.h
+    kontactplugin/*.cpp
+    kontactplugin/*.h
+)
 kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES})
 include(CheckFunctionExists)
 
-
 # Do NOT add quote
 set(KDEPIM_DEV_VERSION alpha)
 
@@ -44,7 +48,9 @@ if(DEFINED KDEPIM_DEV_VERSION)
     set(KDEPIM_DEV_VERSION " ${KDEPIM_DEV_VERSION}")
 endif()
 
-set(KDEPIM_VERSION "${PIM_VERSION}${KDEPIM_DEV_VERSION} (${RELEASE_SERVICE_VERSION})")
+set(KDEPIM_VERSION
+    "${PIM_VERSION}${KDEPIM_DEV_VERSION} (${RELEASE_SERVICE_VERSION})"
+)
 
 set(AKONADI_VERSION "6.4.41")
 set(KONTACTINTERFACE_LIB_VERSION "6.4.40")
@@ -52,8 +58,12 @@ set(KONTACTINTERFACE_LIB_VERSION "6.4.40")
 set(KDEPIM_LIB_VERSION "${PIM_VERSION}")
 set(KDEPIM_LIB_SOVERSION "6")
 
-
-find_package(Qt6 ${QT_REQUIRED_VERSION} CONFIG REQUIRED Widgets Test DBus PrintSupport)
+find_package(
+    Qt6
+    ${QT_REQUIRED_VERSION}
+    CONFIG
+    REQUIRED Widgets Test DBus PrintSupport
+)
 set(LIBKDEPIM_LIB_VERSION "6.4.40")
 set(LIBGRANTLEETHEME_LIB_VERSION "6.4.40")
 set(PIMCOMMON_LIB_VERSION "6.4.40")
@@ -69,16 +79,27 @@ find_package(KF6Crash ${KF_MIN_VERSION} REQUIRED)
 find_package(KF6IconThemes ${KF_MIN_VERSION} CONFIG REQUIRED)
 find_package(KF6ColorScheme ${KF_MIN_VERSION} CONFIG REQUIRED)
 find_package(KF6DocTools ${KF_MIN_VERSION})
-set_package_properties(KF6DocTools PROPERTIES DESCRIPTION
-    "Tools to generate documentation"
-    TYPE OPTIONAL
+set_package_properties(
+    KF6DocTools
+    PROPERTIES DESCRIPTION "Tools to generate documentation" TYPE OPTIONAL
 )
 
 find_package(KF6UserFeedback ${KF_MIN_VERSION})
-set_package_properties(KF6UserFeedback PROPERTIES DESCRIPTION "User Feedback lib" TYPE OPTIONAL PURPOSE "Allow to send Telemetry Information (optional).")
+set_package_properties(
+    KF6UserFeedback
+    PROPERTIES
+        DESCRIPTION "User Feedback lib"
+        TYPE OPTIONAL
+        PURPOSE "Allow to send Telemetry Information (optional)."
+)
 
 find_package(KPim6Akonadi ${AKONADI_VERSION} CONFIG REQUIRED)
-find_package(KPim6KontactInterface ${KONTACTINTERFACE_LIB_VERSION} CONFIG REQUIRED)
+find_package(
+    KPim6KontactInterface
+    ${KONTACTINTERFACE_LIB_VERSION}
+    CONFIG
+    REQUIRED
+)
 find_package(KPim6Libkdepim ${LIBKDEPIM_LIB_VERSION} CONFIG REQUIRED)
 find_package(KPim6LdapCore ${KLDAP_LIB_VERSION} CONFIG REQUIRED)
 find_package(KPim6LdapWidgets ${KLDAP_LIB_VERSION} CONFIG REQUIRED)
@@ -88,15 +109,27 @@ if(UNIX)
     find_package(KPim6AkonadiSearch ${AKONADI_SEARCH_VERSION} CONFIG REQUIRED)
 else()
     find_package(KPim6AkonadiSearch ${AKONADI_SEARCH_VERSION} CONFIG)
-    set_package_properties(KPim6AkonadiSearch PROPERTIES DESCRIPTION "The Akonadi Search libraries" URL "https://invent.kde.org/pim/akonadi-search"
-        TYPE OPTIONAL PURPOSE "Provides search capabilities in KAddressbook and Akonadi (only debug)")
+    set_package_properties(
+        KPim6AkonadiSearch
+        PROPERTIES
+            DESCRIPTION "The Akonadi Search libraries"
+            URL "https://invent.kde.org/pim/akonadi-search"
+            TYPE OPTIONAL
+            PURPOSE
+                "Provides search capabilities in KAddressbook and Akonadi (only debug)"
+    )
 endif()
 
 if(NOT KPim6AkonadiSearch_FOUND)
     add_definitions(-DFORCE_DISABLE_AKONADI_SEARCH)
 endif()
 
-find_package(KPim6AkonadiContactWidgets ${AKONADI_CONTACT_VERSION} CONFIG REQUIRED)
+find_package(
+    KPim6AkonadiContactWidgets
+    ${AKONADI_CONTACT_VERSION}
+    CONFIG
+    REQUIRED
+)
 find_package(KPim6GrantleeTheme ${LIBGRANTLEETHEME_LIB_VERSION} CONFIG REQUIRED)
 
 include_directories(${kaddressbook_SOURCE_DIR} ${kaddressbook_BINARY_DIR})
@@ -107,13 +140,15 @@ ecm_set_disabled_deprecation_versions(QT 6.10.0
      KF 6.15.0
 )
 
-
-
 if(TARGET KF6::UserFeedbackWidgets)
     set(KADDRESSBOOK_WITH_KUSERFEEDBACK true)
 endif()
 
-option(USE_UNITY_CMAKE_SUPPORT "Use UNITY cmake support (speedup compile time)" OFF)
+option(
+    USE_UNITY_CMAKE_SUPPORT
+    "Use UNITY cmake support (speedup compile time)"
+    OFF
+)
 
 set(COMPILE_WITH_UNITY_CMAKE_SUPPORT OFF)
 if(USE_UNITY_CMAKE_SUPPORT)
@@ -121,22 +156,27 @@ if(USE_UNITY_CMAKE_SUPPORT)
     add_definitions(-DCOMPILE_WITH_UNITY_CMAKE_SUPPORT)
 endif()
 
-
 if(TARGET KPim6::PimCommonActivities)
-    option(OPTION_USE_PLASMA_ACTIVITIES "Activate plasma activities (experimental)" ON)
+    option(
+        OPTION_USE_PLASMA_ACTIVITIES
+        "Activate plasma activities (experimental)"
+        ON
+    )
     if(OPTION_USE_PLASMA_ACTIVITIES)
         if(NOT WIN32 AND NOT APPLE)
             set(OPTION_USE_PLASMA_ACTIVITIES true)
         else()
-            set(OPTION_USE_PLASMA_ACTIVITIES false) 
+            set(OPTION_USE_PLASMA_ACTIVITIES false)
         endif()
     endif()
     if(OPTION_USE_PLASMA_ACTIVITIES)
         if(NOT WIN32 AND NOT APPLE)
             find_package(PlasmaActivities "6.3.0")
-            set_package_properties(PlasmaActivities PROPERTIES DESCRIPTION
-                "Allow to compile with plasma activities"
-                TYPE OPTIONAL
+            set_package_properties(
+                PlasmaActivities
+                PROPERTIES
+                    DESCRIPTION "Allow to compile with plasma activities"
+                    TYPE OPTIONAL
             )
         endif()
 
@@ -146,7 +186,10 @@ if(TARGET KPim6::PimCommonActivities)
     endif()
 endif()
 
-configure_file(config-kaddressbook.h.in ${CMAKE_CURRENT_BINARY_DIR}/config-kaddressbook.h)
+configure_file(
+    config-kaddressbook.h.in
+    ${CMAKE_CURRENT_BINARY_DIR}/config-kaddressbook.h
+)
 
 add_subdirectory(src)
 add_subdirectory(kontactplugin)
@@ -155,7 +198,7 @@ ecm_qt_install_logging_categories(
         EXPORT KADDRESSBOOK
         FILE kaddressbook.categories
         DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR}
-       )
+)
 
 kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT)
 ki18n_install(po)
@@ -165,5 +208,11 @@ if(KF6DocTools_FOUND)
 endif()
 
 ecm_feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)
-file(GLOB_RECURSE ALL_SOURCE_FILES src/*.cpp src/*.h kontactplugin/*.cpp kontactplugin/*.h)
+file(
+    GLOB_RECURSE ALL_SOURCE_FILES
+    src/*.cpp
+    src/*.h
+    kontactplugin/*.cpp
+    kontactplugin/*.h
+)
 ecm_check_outbound_license(LICENSES GPL-2.0-only  FILES ${ALL_SOURCE_FILES})
diff --git a/LICENSES/GPL-2.0-or-later.txt b/LICENSES/GPL-2.0-or-later.txt
index 1d80ac365..96e2bf1e9 100644
--- a/LICENSES/GPL-2.0-or-later.txt
+++ b/LICENSES/GPL-2.0-or-later.txt
@@ -2,7 +2,7 @@ GNU GENERAL PUBLIC LICENSE
 
 Version 2, June 1991
 
-Copyright (C) 1989, 1991 Free Software Foundation, Inc. 
+Copyright (C) 1989, 1991 Free Software Foundation, Inc.
 
 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
 
diff --git a/doc/docbook-reference.docbook b/doc/docbook-reference.docbook
index f4e0c290f..811f49eeb 100644
--- a/doc/docbook-reference.docbook
+++ b/doc/docbook-reference.docbook
@@ -1,7 +1,7 @@
 <appendix id="docbook-reference">
-	
+
 <appendixinfo>
-	
+
 <authorgroup>
 
   <author>
@@ -51,7 +51,7 @@
 
 <sect1 id="file-new-group">
 <title>The New Group Dialog</title>
-    
+
   <para>When you invoke the <guibutton><inlinemediaobject><imageobject><imagedata fileref="user-group-new.png" format="PNG"/>
   </imageobject></inlinemediaobject>New Group</guibutton> function, a dialog will begin, as shown below.</para>
 
@@ -73,17 +73,17 @@
   </mediaobject>
   </screenshot>
   </para>
-  
+
   <para> </para> <!-- add more white space after screenshot @dcb -->
 
-  <para>Use the <quote>Add To:</quote> drop-down box to choose the address book to which the new group should be added. Use the 
-  <quote>Name</quote> field to give the new group a name. Enter e-mail addresses, or portions of email addresses, in the blue 
-  <quote>+</quote> area. A list of potential matches will appear. Select an item in the list that pops up, and a new name 
-  will be added to the list. Continue adding individual contacts to the list until it is complete, then click the 
-  <guibutton> ✔ OK </guibutton> button to add this group to your address book. If you want to delete a name from 
+  <para>Use the <quote>Add To:</quote> drop-down box to choose the address book to which the new group should be added. Use the
+  <quote>Name</quote> field to give the new group a name. Enter e-mail addresses, or portions of email addresses, in the blue
+  <quote>+</quote> area. A list of potential matches will appear. Select an item in the list that pops up, and a new name
+  will be added to the list. Continue adding individual contacts to the list until it is complete, then click the
+  <guibutton> ✔ OK </guibutton> button to add this group to your address book. If you want to delete a name from
   the list, click the <inlinemediaobject><imageobject><imagedata fileref="list-remove.png" format="PNG"/></imageobject>
-  </inlinemediaobject> icon to the right of that particular name. If you need to make changes to the group later, simply select 
-  the group and use the <quote>Edit</quote> menu, or the <quote>Edit Contact</quote> button on the toolbar, to open a substantially 
+  </inlinemediaobject> icon to the right of that particular name. If you need to make changes to the group later, simply select
+  the group and use the <quote>Edit</quote> menu, or the <quote>Edit Contact</quote> button on the toolbar, to open a substantially
   similar dialog that will let you make the desired changes.</para>
 
   <para>The &kmail; program provides an alternative method of creating a new group in &kaddressbook;. After you have addressed an e-mail
@@ -120,7 +120,7 @@
 
 <sect1 id="file-print-preview">
 <title>The Print-Preview Dialog</title>
-    
+
   <para>&kaddressbook;'s <quote>Print Preview</quote> function lets you tailor a hard-copy of your address book
   data just about any way you want.</para>
 
@@ -145,10 +145,10 @@
   <para> </para> <!-- add more white space after screenshot @dcb -->
 
   <para>The first step is to select the contacts to be included in the printout. If you wish to print just a
-  smattering of individual contacts, you must choose the contacts to be printed before invoking the 
-  <menuchoice><guisubmenu><inlinemediaobject><imageobject><imagedata fileref="document-preview-archive.png" 
+  smattering of individual contacts, you must choose the contacts to be printed before invoking the
+  <menuchoice><guisubmenu><inlinemediaobject><imageobject><imagedata fileref="document-preview-archive.png"
   format="PNG"/></imageobject></inlinemediaobject>Print Preview</guisubmenu></menuchoice> dialog. If you wish
-  to select all your contacts, or all the contacts in a particular address book, you can do it here. Click 
+  to select all your contacts, or all the contacts in a particular address book, you can do it here. Click
   <guibutton><inlinemediaobject><imageobject><imagedata fileref="go-next.png" format="PNG"/></imageobject>
   </inlinemediaobject>Next</guibutton> when you have made your selection. A new screen will appear.</para>
 
@@ -175,7 +175,7 @@
   <para>Here you can choose a sort field (any one of the 47 named fields in the contact record), the
   direction of the sort, and any one of seven different report formats. When you click <guibutton>
   <inlinemediaobject><imageobject><imagedata fileref="go-next.png" format="PNG"/></imageobject>
-  </inlinemediaobject>Next</guibutton>, you will be given a chance to tailor the color scheme to 
+  </inlinemediaobject>Next</guibutton>, you will be given a chance to tailor the color scheme to
   be used.</para>
 
   <para>
@@ -195,7 +195,7 @@
   </mediaobject>
   </screenshot>
   </para>
- 
+
   <para> </para> <!-- add more white space after screenshot @dcb -->
 
   <para>Here is a picture of the completed report. It is now ready for printing.</para>
@@ -218,7 +218,7 @@
   </mediaobject>
   </screenshot>
   </para>
- 
+
   <para> </para> <!-- add more white space after screenshot @dcb -->
 
   <para><link linkend="docbook-reference">Click here to return to the Table of Contents for this Appendix.</link></para>
@@ -227,7 +227,7 @@
 
 <sect1 id="configure-ldap-server">
 <title>The Configure LDAP Dialog</title>
-    
+
   <para>Here is a picture of the first configuration screen that appears when you choose either the
   <guibutton>Configure LDAP Servers...</guibutton> button in the <menuchoice><guimenu>File</guimenu>
   <guisubmenu>Import   ></guisubmenu><guimenuitem>Import from LDAP Server...</guimenuitem>
@@ -247,7 +247,7 @@
     </textobject>
     <caption>
       <para>&kaddressbook;'s <quote>Configure LDAP Server</quote> dialog after choosing the <menuchoice><guimenu>File</guimenu><guisubmenu>Import 
-       ></guisubmenu><guimenuitem>Import from LDAP Server...</guimenuitem></menuchoice> function and left clicking the 
+       ></guisubmenu><guimenuitem>Import from LDAP Server...</guimenuitem></menuchoice> function and left clicking the
       <guibutton>Configure LDAP Servers...</guibutton> button.</para>
     </caption>
   </mediaobject>
@@ -256,14 +256,14 @@
 
   <para> </para> <!-- add more white space after screenshot @dcb -->
 
-  <para>If you have already configured one or more <acronym>LDAP</acronym> servers, use this screen to select the servers 
-  that should be queried when you search for a name or email address. Use the <guibutton>Add host...</guibutton> button to 
-  add a new server to the list of available <acronym>LDAP</acronym> hosts. Use the <guibutton>Edit host...</guibutton> 
+  <para>If you have already configured one or more <acronym>LDAP</acronym> servers, use this screen to select the servers
+  that should be queried when you search for a name or email address. Use the <guibutton>Add host...</guibutton> button to
+  add a new server to the list of available <acronym>LDAP</acronym> hosts. Use the <guibutton>Edit host...</guibutton>
   button to reconfigure a server that's already on the list, and the <guibutton>Remove host</guibutton> button to
-  delete an entry you don't need any more. The <guibutton><inlinemediaobject><imageobject><imagedata fileref="edit-undo.png" 
+  delete an entry you don't need any more. The <guibutton><inlinemediaobject><imageobject><imagedata fileref="edit-undo.png"
   format="PNG"/></imageobject></inlinemediaobject>Reset</guibutton> button can be used to undo the last <quote>Add</quote>
   or <quote>Remove</quote> action performed. The <quote>Defaults</quote> button is inoperative in release 5.10.3. The rest
-  of the buttons (OK, Apply, Cancel) have their ordinary functions: apply changes and exit, apply changes and stay here, 
+  of the buttons (OK, Apply, Cancel) have their ordinary functions: apply changes and exit, apply changes and stay here,
   and exit the dialog without making any changes, respectively.</para>
 
   <para> </para> <!-- add more white space @dcb -->
@@ -282,7 +282,7 @@
         <phrase>A second screenshot of &kaddressbook;'s <quote>Configure LDAP Server</quote> dialog.</phrase>
     </textobject>
     <caption>
-      <para>&kaddressbook;'s <quote>Configure LDAP Server</quote> dialog after left clicking either the 
+      <para>&kaddressbook;'s <quote>Configure LDAP Server</quote> dialog after left clicking either the
       <guibutton>Add Host...</guibutton> or the <guibutton>Edit Host...</guibutton> button.</para>
     </caption>
   </mediaobject>
@@ -293,18 +293,18 @@
 
   <para>The first four fields (<quote>User:</quote>, <quote>Bind DN:</quote>, <quote>Realm:</quote>, and
   <quote>Password:</quote>) will all be grayed out unless authentication is required. Obtain these credentials
-  from the LDAP server's administrator. Enter the appropriate &URI; in the <quote>Host:</quote> field. The default 
+  from the LDAP server's administrator. Enter the appropriate &URI; in the <quote>Host:</quote> field. The default
   values for <quote>Port:</quote>, <quote>Size limit:</quote>, &etc; will work OK for most users. You can use the
   <guibutton>Query Server</guibutton> button to set up the <quote>DN:</quote> field. I have no idea what the
   <quote>Filter:</quote> field is for. If you figure it out, please let me know (davidbryant AT gvtc.com).</para>
 
   <para>Use the <quote>Security</quote> section to specify the encryption method to use: <quote>No</quote> for
   an unencrypted connection, <glossterm linkend="gloss-tls"><acronym>TLS</acronym></glossterm> for Transport Layer
-  Security, or <glossterm linkend="gloss-ssl"><acronym>SSL</acronym></glossterm> for Secure Socket Layer. Use the 
-  <quote>Authentication</quote> options to specify what level of authentication the server requires: 
+  Security, or <glossterm linkend="gloss-ssl"><acronym>SSL</acronym></glossterm> for Secure Socket Layer. Use the
+  <quote>Authentication</quote> options to specify what level of authentication the server requires:
   <quote>Anonymous</quote> for no name or password at all, <quote>Simple</quote> if <quote>Bind DN</quote> and
   <quote>Password</quote> must be given, and <glossterm linkend="gloss-sasl"><acronym>SASL</acronym></glossterm>
-  (Simple Authentication and Security Layer) for the whole schmear (four data items). If <quote>SASL</quote> is 
+  (Simple Authentication and Security Layer) for the whole schmear (four data items). If <quote>SASL</quote> is
   chosen, use the <guibutton>Query Server</guibutton> button to set the advanced options for this host.</para>
 
   <para> </para> <!-- add more white space @dcb -->
@@ -315,7 +315,7 @@
 
 <sect1 id="import-csv-data">
 <title>The Import CSV File Function</title>
-    
+
   <para>When you choose the <menuchoice><guimenu>File</guimenu><guisubmenu>Import   ></guisubmenu>
   <guimenuitem>Import CSV file...</guimenuitem></menuchoice> function, you will be presented with a dialog.
   After you click the <guibutton><inlinemediaobject><imageobject><imagedata fileref="document-open.png" format="PNG"/>
@@ -345,10 +345,10 @@
   <para>Use the <quote>Delimiter</quote> section of this dialog to specify which separator character defines the end of a field in the
   chosen input file. If quote marks are used to delimit fields with embedded separator characters, you may specify the style (single
   or double quote) used via the <quote>Text quote:</quote> drop-down box. If the input file contains dates, use the <quote>Date format:</quote>
-  field to define the way dates have been encoded. The default is yyyy-mm-dd. If that's the wrong format, hover your cursor over the 
-  <quote>Date format:</quote> box and a handy set of formatting instructions will be displayed. If the input file is not UTF-8 encoded, 
+  field to define the way dates have been encoded. The default is yyyy-mm-dd. If that's the wrong format, hover your cursor over the
+  <quote>Date format:</quote> box and a handy set of formatting instructions will be displayed. If the input file is not UTF-8 encoded,
   use the <quote>Text codec:</quote> drop-down box to specify the binary encoding scheme to use. If the first row of the file contains
-  column headers, check the <quote>Skip first row of file</quote> box to avoid importing the column headers as data. Use the 
+  column headers, check the <quote>Skip first row of file</quote> box to avoid importing the column headers as data. Use the
   <quote>Undefined</quote> boxes at the top of each column to specify which data fields are to be imported, and where they should be
   stored, as shown below.</para>
 
@@ -376,7 +376,7 @@
   <para>If you wish the contents of the current column to be imported, choose a destination from the list of field names appearing beneath the
   blue <quote>Undefined</quote> box. See <link linkend="export-csv-data">the next section</link> for a list of the pre-defined fields. Use the
   horizontal scrollbar near the bottom of the dialog to view all the columns in the input file. When your selections are complete, click the
-  <guibutton> ✔ OK </guibutton> button. If you have defined multiple address books, you will be asked to specify which address 
+  <guibutton> ✔ OK </guibutton> button. If you have defined multiple address books, you will be asked to specify which address
   book is to be used. &kaddressbook; will then import the selected data as new contacts.</para>
 
   <para>If you intend to import additional datasets in the same format sometime in the future, you may click the <guibutton>Save template...</guibutton>
@@ -389,7 +389,7 @@
 
 <sect1 id="export-csv-data">
 <title>The Export CSV File Function</title>
-    
+
   <para>When you invoke the <menuchoice><guimenu>File</guimenu><guisubmenu>Export  ></guisubmenu><guimenuitem>Export
   CSV file ...</guimenuitem></menuchoice> function, a dialog box appears.</para>
 
@@ -434,7 +434,7 @@
 
 <sect1 id="view-change-columns">
 <title>The Change Number of Columns Function</title>
-    
+
   <para>When you open the <menuchoice><guimenu>View</guimenu></menuchoice> menu, the following screen appears.</para>
 
   <para>
@@ -518,7 +518,7 @@
 
 <sect1 id="settings-configure-shortcuts">
 <title>The Configure Shortcuts Option</title>
-    
+
   <para>When you first select the <menuchoice><guimenu>Settings</guimenu><guisubmenu><inlinemediaobject><imageobject>
   <imagedata fileref="input-keyboard.png" format="PNG"/></imageobject></inlinemediaobject>Configure Shortcuts...</guisubmenu>
   </menuchoice> option, this is what you will see.</para>
@@ -543,7 +543,7 @@
 
   <para> </para> <!-- add more white space after screenshot @dcb -->
 
-  <para>The &kaddressbook; actions for which keyboard shortcuts have already been defined are clearly marked in the 
+  <para>The &kaddressbook; actions for which keyboard shortcuts have already been defined are clearly marked in the
   <quote>Shortcut</quote> column. You may either assign additional shortcuts via the <quote>Alternate</quote>,
   <quote>Global</quote>, and <quote>Global Alternate</quote> columns in this table, or assign a new shortcut to
   an action for which no keyboard shortcut has as yet been defined. Select the action to be configured by clicking
@@ -572,7 +572,7 @@
         <phrase>A second screenshot of &kaddressbook;'s <quote>Configure Shortcuts</quote> dialog.</phrase>
     </textobject>
     <caption>
-      <para>&kaddressbook;'s <quote>Configure Shortcuts</quote> dialog after a new keyboard shortcut has 
+      <para>&kaddressbook;'s <quote>Configure Shortcuts</quote> dialog after a new keyboard shortcut has
       been entered, but before the new configuration has been saved.</para>
     </caption>
   </mediaobject>
@@ -584,13 +584,13 @@
   <para>Click the <guibutton> ✔ OK </guibutton> button to save your changes. Click on
   <guibutton> ⦸ Cancel </guibutton> to exit without saving your changes. Click
   <guibutton><inlinemediaobject><imageobject><imagedata fileref="document-revert.png" format="PNG"/>
-  </imageobject></inlinemediaobject>Defaults</guibutton> to restore &kaddressbook;'s default set of 
+  </imageobject></inlinemediaobject>Defaults</guibutton> to restore &kaddressbook;'s default set of
   keyboard shortcuts. Choose <guibutton> Manage Schemes >> </guibutton> to integrate
-  your custom assignments into a larger scheme of shortcut assignments; see the <ulink 
-  url="help:/fundamentals/config.html">Customizing &kde; Software</ulink> chapter of the &kde; 
+  your custom assignments into a larger scheme of shortcut assignments; see the <ulink
+  url="help:/fundamentals/config.html">Customizing &kde; Software</ulink> chapter of the &kde;
   Fundamentals handbook.</para>
 
-  <para>You may select the <guibutton><inlinemediaobject><imageobject><imagedata fileref="document-print.png" 
+  <para>You may select the <guibutton><inlinemediaobject><imageobject><imagedata fileref="document-print.png"
   format="PNG"/></imageobject></inlinemediaobject>Print</guibutton> button to produce a hard-copy version
   of the keyboard shortcut assignments. Here is a sample from the printed table.</para>
 
@@ -619,11 +619,11 @@
 
 <sect1 id="settings-configure-toolbars">
 <title>The Configure Toolbars Option</title>
-    
+
   <para>Here is a picture of the screen that appears when you click on the <menuchoice><guimenu>Settings</guimenu>
   <guisubmenu><inlinemediaobject><imageobject><imagedata fileref="configure.png" format="PNG"/></imageobject>
   </inlinemediaobject>Configure Toolbars...</guisubmenu></menuchoice> menu item.</para>
-  
+
   <para>
   <screenshot id="screenshot-config-toolbars">
       <screeninfo>A screenshot of &kaddressbook;'s <quote>Configure Toolbars</quote> dialog.</screeninfo>
@@ -644,7 +644,7 @@
   </para>
 
   <para> </para> <!-- add more white space after screenshot @dcb -->
-  
+
   <para>Use either one of the <quote>Filter</quote> fields to restrict the range of choices displayed in the corresponding
   window. Select an action in the left-hand window (as shown above) if you wish to add it to the Toolbar. Left click the
   <guibutton><inlinemediaobject><imageobject><imagedata fileref="go-next.png" format="PNG"/></imageobject></inlinemediaobject>
@@ -652,22 +652,22 @@
   want to delete an item from the Toolbar simply reverse the procedure: highlight the item to be deleted from the right-hand
   window and click the <guibutton><inlinemediaobject><imageobject><imagedata fileref="go-previous.png" format="PNG"/></imageobject>
   </inlinemediaobject></guibutton> button. The selected item will be removed from the Toolbar.</para>
-  
+
   <para>You may tailor the order in which selected items appear on the Toolbar by using drag and drop within the right-hand
   window. The order of items on the Toolbar, left to right, corresponds with the order in the window, top to bottom. You may
-  make additional changes to the appearance of the Toolbar by using the <guibutton><inlinemediaobject><imageobject><imagedata 
+  make additional changes to the appearance of the Toolbar by using the <guibutton><inlinemediaobject><imageobject><imagedata
   fileref="change-icon.png" format="PNG"/></imageobject></inlinemediaobject>Change Icon...</guibutton> button to alter the icon
   associated with a particular action. Similarly, you may change the description of each item on the Toolbar by clicking the
   <guibutton><inlinemediaobject><imageobject><imagedata fileref="document-edit.png" format="PNG"/></imageobject>
   </inlinemediaobject>Change Text...</guibutton> button.</para>
-  
+
   <para>Use the <guibutton><inlinemediaobject><imageobject><imagedata fileref="document-revert.png" format="PNG"/></imageobject>
-  </inlinemediaobject>Defaults</guibutton> button to restore the default Toolbar settings. Choose <quote>OK</quote> to 
+  </inlinemediaobject>Defaults</guibutton> button to restore the default Toolbar settings. Choose <quote>OK</quote> to
   save your changes and exit the dialog, <quote>Apply</quote> to apply your changes while keeping the dialog open, or
-  <quote>Cancel</quote> to exit the dialog without saving your changes. (See the <ulink 
-  url="help:/fundamentals/config.html">Customizing &kde; Software</ulink> chapter of the &kde; 
+  <quote>Cancel</quote> to exit the dialog without saving your changes. (See the <ulink
+  url="help:/fundamentals/config.html">Customizing &kde; Software</ulink> chapter of the &kde;
   Fundamentals handbook for a more detailed explanation of this procedure.)</para>
-  
+
   <para> </para> <!-- add more white space @dcb -->
 
   <para><link linkend="docbook-reference">Click here to return to the Table of Contents for this Appendix.</link></para>
@@ -676,8 +676,8 @@
 
 <sect1 id="settings-configure-kaddressbook">
 <title>The Configure &kaddressbook; Option</title>
-    
-  <para>When the <menuchoice><guimenu>Settings</guimenu><guisubmenu><inlinemediaobject><imageobject><imagedata fileref="configure.png" 
+
+  <para>When the <menuchoice><guimenu>Settings</guimenu><guisubmenu><inlinemediaobject><imageobject><imagedata fileref="configure.png"
   format="PNG"/></imageobject></inlinemediaobject>Configure &kaddressbook;...</guisubmenu></menuchoice> option is selected, this
   screen will appear.</para>
 
@@ -700,7 +700,7 @@
   </para>
 
   <para> </para> <!-- add more white space after screenshot @dcb -->
-  
+
   <para>The first dialog that appears supports experimental features that have not yet been completely implemented.
   You may select from several different options under the headings <quote>Show Address</quote>, <quote>Dial Phone
   Number</quote>, or <quote>Send SMS</quote>, but there isn't yet any software to do anything with the options you
@@ -708,7 +708,7 @@
 
   <para> </para> <!-- add more white space @dcb -->
 
-  <para>The next option, <quote>LDAP Server Settings</quote>, is the same dialog that is documented in the preceding 
+  <para>The next option, <quote>LDAP Server Settings</quote>, is the same dialog that is documented in the preceding
   section entitled <link linkend="configure-ldap-server"><quote>The Configure LDAP Dialog</quote></link>.</para>
 
   <para>
@@ -730,7 +730,7 @@
   </para>
 
   <para> </para> <!-- add more white space after screenshot @dcb -->
-  
+
   <para>The final set of options for configuring &kaddressbook; appears when you select <quote>Plugins</quote>.</para>
 
   <para>
@@ -756,13 +756,13 @@
   <para>The actions supported by the seven default <quote>Plugins</quote> are documented in preceding sections of this
   manual. The <quote>Import Export <glossterm linkend="gloss-gmx"><acronym>GMX</acronym></glossterm></quote> and
   <quote>Import/Export <glossterm linkend="gloss-ldif"><acronym>LDIF</acronym></glossterm></quote> actions will appear
-  as part of the <menuchoice><guimenu>File</guimenu></menuchoice> menu when activated. The <quote>Check <glossterm 
+  as part of the <menuchoice><guimenu>File</guimenu></menuchoice> menu when activated. The <quote>Check <glossterm
   linkend="gloss-gravatar">Gravatar</glossterm></quote> item will appear in the <menuchoice><guimenu>Tools</guimenu>
   </menuchoice> menu when it is activated. Notice that &kaddressbook; must be stopped and restarted before any changes
   to the <quote>Plugins</quote> will take effect. </para>
 
   <para> </para> <!-- add more white space @dcb -->
-  
+
   <para><link linkend="docbook-reference">Click here to return to the Table of Contents for this Appendix.</link></para>
 
 </sect1>
@@ -773,11 +773,11 @@
   <para>
   &kaddressbook;
   </para>
-  
+
   <para>
   Copyright © 2007–2019 KAddressBook authors <email>montel at kde.org</email>
   </para>
-  
+
   <para>
   Documentation Copyright © 2019 David C. Bryant <email>davidbryant at gvtc.com</email>
   </para>
diff --git a/doc/index.docbook b/doc/index.docbook
index a1cd19d77..fe202a83a 100644
--- a/doc/index.docbook
+++ b/doc/index.docbook
@@ -1,5 +1,5 @@
 <?xml version="1.0" ?>
-<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.5-Based Variant V1.1//EN" "dtd/kdedbx45.dtd" 
+<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.5-Based Variant V1.1//EN" "dtd/kdedbx45.dtd"
   [
   <!ENTITY % addindex "IGNORE">
   <!ENTITY % English "INCLUDE">
@@ -11,7 +11,7 @@
 <bookinfo>
 
 <title>The &kaddressbook; Handbook</title>
-    
+
 <authorgroup>
 
   <author>
@@ -37,9 +37,9 @@
 
 <abstract>
   <para>&kaddressbook; is part of the &kde; suite of personal information management
-  (<glossterm linkend="gloss-pim">&PIM;</glossterm>) programs. &kaddressbook; is 
-  primarily an email address manager, but it can also help you keep track of your friends' 
-  and associates' telephone numbers, web  sites, social media connections, snail-mail 
+  (<glossterm linkend="gloss-pim">&PIM;</glossterm>) programs. &kaddressbook; is
+  primarily an email address manager, but it can also help you keep track of your friends'
+  and associates' telephone numbers, web  sites, social media connections, snail-mail
   addresses, and more, besides. It's your one-stop shop for keeping track of all the people you know.
   </para>
 </abstract>
@@ -59,12 +59,12 @@
 
   <para>
   &kaddressbook; is part of the &kde; suite of personal information management (&PIM;)
-  programs. &kaddressbook; is primarily an email address manager, but it can also help 
-  you keep track of your friends' and associates' telephone numbers, web sites, social 
-  media connections, snail-mail addresses, and more, besides. It's your one-stop shop 
+  programs. &kaddressbook; is primarily an email address manager, but it can also help
+  you keep track of your friends' and associates' telephone numbers, web sites, social
+  media connections, snail-mail addresses, and more, besides. It's your one-stop shop
   for keeping track of all the people you know!
   </para>
-  
+
   <screenshot id="screenshot-primary">
   <screeninfo>A screenshot of &kaddressbook;'s primary &GUI; interface</screeninfo>
   <mediaobject>
@@ -75,31 +75,31 @@
       <phrase>A screenshot of &kaddressbook;'s primary &GUI; interface</phrase>
     </textobject>
     <caption>
-      <para>&kaddressbook;'s primary display. The Menubar is at the top, the Toolbar 
-      is next, and there are three Panels for data in the Text Area 
+      <para>&kaddressbook;'s primary display. The Menubar is at the top, the Toolbar
+      is next, and there are three Panels for data in the Text Area
       at the bottom.</para>
     </caption>
   </mediaobject>
   </screenshot>
-  
+
   <para> </para> <!-- add more white space after screenshot @dcb -->
-  
+
   <para>
-  &kaddressbook; has been integrated into the structure of <glossterm linkend="gloss-kmail">&kmail;</glossterm>, 
-  the &kde; email client. So once you add a contact's name to &kaddressbook;, you can address 
+  &kaddressbook; has been integrated into the structure of <glossterm linkend="gloss-kmail">&kmail;</glossterm>,
+  the &kde; email client. So once you add a contact's name to &kaddressbook;, you can address
   an email message to that person by just typing in a portion of his name. Or if
   you receive an email message from somebody new, you can add him to your address
   book with just a few clicks of your mouse.
   </para>
-  
-  <para> 
-  &kaddressbook; also permits you to maintain multiple separate contact lists in a 
-  wide variety of popular address list formats, either on your local hard disk, or 
-  via a resource residing in the cloud. It also supports importing and exporting 
+
+  <para>
+  &kaddressbook; also permits you to maintain multiple separate contact lists in a
+  wide variety of popular address list formats, either on your local hard disk, or
+  via a resource residing in the cloud. It also supports importing and exporting
   contact data in <glossterm linkend="gloss-csv"><filename class="extension">.csv</filename></glossterm>
-  (Comma Separated Values), <glossterm linkend="gloss-ldif"><filename class="extension">.ldif</filename></glossterm> 
-  (<glossterm linkend="gloss-ldap"><acronym>LDAP</acronym></glossterm> Data Interchange Format), and 
-  <glossterm linkend="gloss-vcf"><filename class="extension">.vcf</filename></glossterm> 
+  (Comma Separated Values), <glossterm linkend="gloss-ldif"><filename class="extension">.ldif</filename></glossterm>
+  (<glossterm linkend="gloss-ldap"><acronym>LDAP</acronym></glossterm> Data Interchange Format), and
+  <glossterm linkend="gloss-vcf"><filename class="extension">.vcf</filename></glossterm>
   (Virtual business Card Format) record formats.
   </para>
 
@@ -110,11 +110,11 @@
 <title>Getting Started</title>
 
   <para>
-  Here is a picture of the primary &kaddressbook; user interface before any address 
-  data have been entered. The first thing you may want to do is create an address 
+  Here is a picture of the primary &kaddressbook; user interface before any address
+  data have been entered. The first thing you may want to do is create an address
   book. Note that the <quote>Personal Contacts</quote> address book is present by default.
   </para>
- 
+
   <screenshot id="screenshot-blank">
       <screeninfo>A screenshot of &kaddressbook;'s <quote>empty</quote> &GUI; interface</screeninfo>
   <mediaobject>
@@ -125,27 +125,27 @@
         <phrase>A screenshot of &kaddressbook;'s <quote>empty</quote> &GUI; interface</phrase>
     </textobject>
     <caption>
-        <para>&kaddressbook;'s <quote>empty</quote> &GUI; interface, before any extra address books 
+        <para>&kaddressbook;'s <quote>empty</quote> &GUI; interface, before any extra address books
         have been created. The <quote>Personal Contacts</quote> address book is present when
         &kaddressbook; is first installed.</para>
     </caption>
   </mediaobject>
   </screenshot>
-  
+
   <para> </para> <!-- add more white space after screenshot @dcb -->
-  
+
   <sect1 id="how-to-add-a-new-address-book">
   <title>How to Add a New Address Book</title>
-  
+
   <procedure id="procedure-add-a-new-addressbook">
-    
+
   <step id="new-addressbook-dialog-step"><para>
   Open &kaddressbook;'s Add Address Book dialog with the <menuchoice><guimenu>File</guimenu>
-  <guisubmenu>New  ></guisubmenu><guimenuitem><inlinemediaobject><imageobject><imagedata fileref="folder-new.png" 
+  <guisubmenu>New  ></guisubmenu><guimenuitem><inlinemediaobject><imageobject><imagedata fileref="folder-new.png"
   format="PNG"/></imageobject></inlinemediaobject>Add Address Book...</guimenuitem></menuchoice>
   option. A dialog box will appear.
   </para>
-  
+
   <para>
   <screenshot id="screenshot-add-an-address-book">
   <screeninfo>A screenshot of &kaddressbook;'s Add Address Book dialog</screeninfo>
@@ -165,39 +165,39 @@
   </para>
   <para> </para> <!-- add more white space after screenshot @dcb -->
   </step>
-  
+
   <step id="select-a-format-step"><para>
   Choose one of the options that appear in the dialog. Several of these options
-  link to data collections residing in the cloud: <glossterm linkend="gloss-dav"><acronym>DAV</acronym></glossterm> 
-  groupware (Distributed Authoring and Versioning, RFC4918), Google Contacts (your gmail.com 
-  account), <glossterm linkend="gloss-kolab">Kolab</glossterm>  groupware server (collaboration 
-  via <glossterm linkend="gloss-imap">&IMAP;</glossterm>), &Microsoft; Exchange Server 
-  <glossterm linkend="gloss-ews">EWS</glossterm>  (Exchange Web Services, on servers running MS software), 
+  link to data collections residing in the cloud: <glossterm linkend="gloss-dav"><acronym>DAV</acronym></glossterm>
+  groupware (Distributed Authoring and Versioning, RFC4918), Google Contacts (your gmail.com
+  account), <glossterm linkend="gloss-kolab">Kolab</glossterm>  groupware server (collaboration
+  via <glossterm linkend="gloss-imap">&IMAP;</glossterm>), &Microsoft; Exchange Server
+  <glossterm linkend="gloss-ews">EWS</glossterm>  (Exchange Web Services, on servers running MS software),
   and <glossterm linkend="gloss-group">Open-Xchange  Groupware  Server</glossterm>   (an open-source
-  alternative to MS EWS). If you already have access to one or more of these cloud-based resources, you can integrate those 
+  alternative to MS EWS). If you already have access to one or more of these cloud-based resources, you can integrate those
   data into  &kaddressbook; by simply selecting the option and then entering your login credentials.</para>
-  
+
   <para>
   The remaining options in the dialog (Personal Contacts, vCard Directory, and
   vCard File) all create data sets that are saved on a local storage device. Each
-  one of these options uses the same data format (<filename class="extension">.vcf</filename>, 
-  or Virtual Card Format), the only difference being in which particular directory the data 
-  are saved. The <quote>Personal Contacts</quote> and <quote>vCard Directory</quote> options 
-  create a separate file for each named contact you save; the <quote>vCard File</quote> option 
-  puts all the data into one file. It's probably easiest to start with the pre-defined 
-  <quote>Personal Contacts</quote> address book. You will not need more address books 
+  one of these options uses the same data format (<filename class="extension">.vcf</filename>,
+  or Virtual Card Format), the only difference being in which particular directory the data
+  are saved. The <quote>Personal Contacts</quote> and <quote>vCard Directory</quote> options
+  create a separate file for each named contact you save; the <quote>vCard File</quote> option
+  puts all the data into one file. It's probably easiest to start with the pre-defined
+  <quote>Personal Contacts</quote> address book. You will not need more address books
   unless you have extensive contact lists you would like to keep separate.
   </para></step>
-  
+
   <step id="add-a-cloud-based-service-step"><para>
-  Once you have made your selection, click on OK. If you have selected a <glossterm 
-  linkend="gloss-cloud">cloud-based service</glossterm> a brief dialog will ensue, 
+  Once you have made your selection, click on OK. If you have selected a <glossterm
+  linkend="gloss-cloud">cloud-based service</glossterm> a brief dialog will ensue,
   to establish communications between <glossterm linkend="gloss-akonadi">&akonadi;</glossterm>
-  (the &PIM; cross-desktop storage service) and the selected cloud server. Here's what 
+  (the &PIM; cross-desktop storage service) and the selected cloud server. Here's what
   the dialog looks like for a Google (gmail.com) account. The other cloud-based services
   are slightly different, but similar.
   </para>
-  
+
   <para>
   <screenshot id="screenshot-add-a-cloud-based-service">
   <screeninfo>A screenshot of &kaddressbook;'s link-to-gmail dialog</screeninfo>
@@ -209,16 +209,16 @@
       <phrase>A screenshot of &kaddressbook;'s link-to-gmail dialog</phrase>
     </textobject>
     <caption>
-      <para>&kaddressbook;'s link-to-gmail dialog. Begin by clicking <quote>Add</quote>. A new dialog will appear. 
-      Once your credentials have been accepted, this screen will reappear, and you will click 
-       <guibutton> ✔ OK </guibutton>. If you would like &kaddressbook; to refresh the 
-      locally cached copy of your contact list automatically, do it here, before you click 
+      <para>&kaddressbook;'s link-to-gmail dialog. Begin by clicking <quote>Add</quote>. A new dialog will appear.
+      Once your credentials have been accepted, this screen will reappear, and you will click
+       <guibutton> ✔ OK </guibutton>. If you would like &kaddressbook; to refresh the
+      locally cached copy of your contact list automatically, do it here, before you click
        <guibutton> ✔ OK </guibutton>.</para>
     </caption>
   </mediaobject>
   </screenshot>
   </para>
-  
+
   <para>
   <screenshot id="screenshot-add-a-cloud-based-service-step2">
   <screeninfo>A second screenshot of &kaddressbook;'s link-to-gmail dialog</screeninfo>
@@ -230,14 +230,14 @@
       <phrase>A second screenshot of &kaddressbook;'s link-to-gmail dialog</phrase>
     </textobject>
     <caption>
-      <para>Another picture of &kaddressbook;'s link-to-gmail dialog. Enter your 
+      <para>Another picture of &kaddressbook;'s link-to-gmail dialog. Enter your
       gmail.com address and click <guibutton> Next </guibutton>. You will be asked to
       enter your gmail password.</para>
     </caption>
   </mediaobject>
   </screenshot>
   </para>
-  
+
   <para>
   <screenshot id="screenshot-add-a-cloud-based-service-step3">
   <screeninfo>A third screenshot of &kaddressbook;'s link-to-gmail dialog</screeninfo>
@@ -251,22 +251,22 @@
     <caption>
       <para>Yet another picture of &kaddressbook;'s link-to-gmail dialog.
       Your account name and password have been accepted by Google's server. Read
-      the privacy notice and press <guibutton> Allow </guibutton>, then 
-      <guibutton> ✔ OK </guibutton> in the <quote> Add </quote> dialog  
+      the privacy notice and press <guibutton> Allow </guibutton>, then
+      <guibutton> ✔ OK </guibutton> in the <quote> Add </quote> dialog
       with which you started.</para>
     </caption>
   </mediaobject>
   </screenshot>
   </para>
-  
+
   <para> </para> <!-- add more white space after screenshot @dcb -->
-  
+
   <para>
   Enter your login credentials as illustrated above and say OK. Voila! Your cloud-based
   contact list is now integrated into &kaddressbook;.
   </para>
   <para> </para> <!-- add more white space before next screenshot @dcb -->
-  
+
   <para>
   <screenshot id="screenshot-add-a-cloud-based-service-completed">
   <screeninfo>The &kaddressbook; window after a gmail.com account has been added.</screeninfo>
@@ -284,24 +284,24 @@
   </mediaobject>
   </screenshot>
   </para>
-  
+
   <para> </para> <!-- add more white space after screenshot @dcb -->
-  
+
   <para>
   As the preceding screenshot indicates, once you have registered &kaddressbook; as a
   trusted resource, you can view and edit your gmail contacts using &kaddressbook;. Of
   course, you may also continue to maintain your contacts by using a web browser, if you wish.
-  </para> 
-  
+  </para>
+
   <para> </para> <!-- add more white space after screenshot @dcb -->
-  
+
   </step>
-   
+
   <step id="add-a-local-addressbook-step"><para>
   If you selected one of the local address book options in
-  <link linkend="select-a-format-step">step 2</link> above, a different 
+  <link linkend="select-a-format-step">step 2</link> above, a different
   dialog will ensue. </para>
-      
+
   <para>
   <screenshot id="screenshot-add-a-personal-addressbook">
       <screeninfo>A screenshot of &kaddressbook;'s <quote>Personal Contacts</quote> dialog.</screeninfo>
@@ -313,22 +313,22 @@
       <phrase>A screenshot of &kaddressbook;'s <quote>Personal Contacts</quote> dialog.</phrase>
     </textobject>
     <caption>
-      <para>&kaddressbook;'s <quote>Personal Contacts</quote> dialog. You may specify which directory 
-      will contain your data, and whether you have write access to this resource, or not. For most people, 
+      <para>&kaddressbook;'s <quote>Personal Contacts</quote> dialog. You may specify which directory
+      will contain your data, and whether you have write access to this resource, or not. For most people,
       the default selections (as shown above) work well.</para>
     </caption>
   </mediaobject>
   </screenshot>
   </para>
-  
+
   <para> </para> <!-- add more white space after screenshot @dcb -->
-  
+
   <para>
-  Make any modifications you deem necessary in the <quote>Personal Contacts</quote> dialog, 
-  then click <guibutton> ✔ OK </guibutton>. A new address book will appear in the main 
+  Make any modifications you deem necessary in the <quote>Personal Contacts</quote> dialog,
+  then click <guibutton> ✔ OK </guibutton>. A new address book will appear in the main
   &kaddressbook; interface window, as shown below.
   </para>
-  
+
   <para>
   <screenshot id="screenshot-personal-addressbook-has-been-added">
       <screeninfo>A screenshot of &kaddressbook;'s main window with an empty <quote>Personal Contacts</quote> address book.</screeninfo>
@@ -345,22 +345,22 @@
   </mediaobject>
   </screenshot>
   </para>
-  
+
   <para> </para> <!-- add more white space after screenshot @dcb -->
-  </step>    
-  
+  </step>
+
   </procedure>
   </sect1>
-  
+
   <sect1 id="how-to-add-a-new-contact">
-  <title>How to Add a New Contact</title>    
-  
+  <title>How to Add a New Contact</title>
+
   <procedure id="procedure-add-a-new-contact">
-    
+
   <step id="new-contact-dialog-step-1"><para>
   Open &kaddressbook;'s New Contact dialog by clicking the <guibutton> + New Contact </guibutton>
   button on the Toolbar. A dialog box will appear.</para>
-      
+
   <para>
   <screenshot id="screenshot-new-contact-dialog">
       <screeninfo>A screenshot of &kaddressbook;'s <quote>New Contact</quote> dialog.</screeninfo>
@@ -372,41 +372,41 @@
       <phrase>A screenshot of &kaddressbook;'s <quote>New Contact</quote> dialog.</phrase>
     </textobject>
     <caption>
-    <para>&kaddressbook;'s <quote>New Contact</quote> dialog after clicking the 
+    <para>&kaddressbook;'s <quote>New Contact</quote> dialog after clicking the
     <guibutton> + New Contact </guibutton> button on the Toolbar.</para>
     </caption>
   </mediaobject>
   </screenshot>
   </para>
-  
+
   <para> </para> <!-- add more white space after screenshot @dcb -->
- 
+
   </step>
-  
+
   <step id="procedure-new-contact-data-items"><para>
   As you can see from the preceding screenshot, the <quote>New Contact</quote> dialog allows one
-  to enter several different data items. Additional data may be entered via the <quote>Location</quote>, 
+  to enter several different data items. Additional data may be entered via the <quote>Location</quote>,
   <quote>Business</quote>, <quote>Personal</quote>, <quote>Notes</quote>, <quote>Custom Fields</quote>,
-  and <quote>Crypto Settings</quote> sub-dialogs, as explained more fully in <link linkend="editing-contact-data">chapter 4</link>, 
+  and <quote>Crypto Settings</quote> sub-dialogs, as explained more fully in <link linkend="editing-contact-data">chapter 4</link>,
   below. For now, let's concentrate on adding the <quote>Contact</quote> data items appearing in the preceding illustration.</para>
-  </step>    
-  
+  </step>
+
   <step id="procedure-entering-basic-new-contact-data"><para>
   If you have created more than one address book, use the drop-down list labeled <quote>Add to:</quote>
   to select the data set to which the new contact will be added. Then enter the new contact's name in
-  the input field marked <quote>Name</quote>, and key in his or her email address in the input field 
+  the input field marked <quote>Name</quote>, and key in his or her email address in the input field
   labeled  <quote>Email</quote>. If you want to specify special formatting options for this contact's
-  name data, click the <guibutton> ... </guibutton> button to the right of the <quote>Name</quote> 
+  name data, click the <guibutton> ... </guibutton> button to the right of the <quote>Name</quote>
   input field and follow the prompts. If you wish to add more email addresses for this person, click the
-  <guibutton> + </guibutton> button to the right of the <quote>Email</quote> input field and another 
+  <guibutton> + </guibutton> button to the right of the <quote>Email</quote> input field and another
   Email input field will be generated. To delete an Email address, click the associated
   <guibutton> − </guibutton> button.
-      
-  </para></step>    
-  
+
+  </para></step>
+
   <step id="procedure-additional-new-contact-data"><para>
   You may also associate a nickname, one or more telephone numbers, multiple instant messaging services,
-  and several web sites with each contact in an address book, as explained 
+  and several web sites with each contact in an address book, as explained
   in <link linkend="editing-contact-data">chapter 4</link>. You may also use the <quote>Show messages ...</quote>
   and <quote>Allow remote content ...</quote> options to fine-tune the way &kmail; handles email you receive
   from each contact. See <link linkend="integration-with-other-kde-programs">chapter 3</link> for a more
@@ -414,27 +414,27 @@
   </para></step>
 
   <!--TODO Note to myself: need to add an explanation of overriding KMail defaults -->
-  
+
   </procedure>
   </sect1>
-  
+
 </chapter>
 
 <chapter id="integration-with-other-kde-programs">
 <title>Integration With Other &kde; Programs</title>
-  
+
   <sect1 id="integration-overview">
   <title>Integration Overview -- &kmail;</title>
-  
+
   <para>
-  Because &kaddressbook; -- an essential piece of &PIM;, &kde;'s suite of Personal Information Management programs -- 
-  is the central repository for information about all your contacts, it has been integrated into  &kmail; and also 
+  Because &kaddressbook; -- an essential piece of &PIM;, &kde;'s suite of Personal Information Management programs --
+  is the central repository for information about all your contacts, it has been integrated into  &kmail; and also
   into &korganizer;. Here is a quick look at the interface between &kaddressbook; and those two programs.
-  </para>    
+  </para>
 
   <sect2 id="starting-kaddressbook-from-kmail-tools">
   <title>Starting &kaddressbook; from &kmail;'s Tools Menu</title>
-  
+
   <para>
   <screenshot id="screenshot-kmail-tools-menu">
       <screeninfo>A screenshot of &kmail;'s <menuchoice><guimenu>Tools</guimenu><guimenuitem>Address Book</guimenuitem></menuchoice> option.</screeninfo>
@@ -446,28 +446,28 @@
       <phrase>A screenshot of &kmail;'s <menuchoice><guimenu>Tools</guimenu><guimenuitem>Address Book</guimenuitem></menuchoice> option.</phrase>
     </textobject>
     <caption>
-        <para>Launching &kaddressbook; from &kmail;'s <menuchoice><guimenu>Tools</guimenu><guimenuitem><inlinemediaobject><imageobject><imagedata 
+        <para>Launching &kaddressbook; from &kmail;'s <menuchoice><guimenu>Tools</guimenu><guimenuitem><inlinemediaobject><imageobject><imagedata
         fileref="address-book-new.png" format="PNG"/></imageobject></inlinemediaobject>Address Book</guimenuitem></menuchoice> menu choice.</para>
     </caption>
   </mediaobject>
   </screenshot>
   </para>
-  
+
   <para> </para> <!-- add more white space after screenshot @dcb -->
-  
-  <para>This interface is the epitome of simplicity. Need to consult or update the entry for one of your contacts while reading 
+
+  <para>This interface is the epitome of simplicity. Need to consult or update the entry for one of your contacts while reading
   or composing an email message with &kmail;? Left click <menuchoice><guimenu>Tools</guimenu><guimenuitem><inlinemediaobject><imageobject>
   <imagedata fileref="address-book-new.png" format="PNG"/></imageobject></inlinemediaobject>Address Book</guimenuitem>
-  </menuchoice>, and the &kaddressbook; application will be launched automatically, allowing quick access to the contact 
+  </menuchoice>, and the &kaddressbook; application will be launched automatically, allowing quick access to the contact
   data you want to view or modify.</para>
-  
+
   <para> </para> <!-- add more white space before next section @dcb -->
-  
+
   </sect2>
-  
+
   <sect2 id="autocompletion-feature-on-new-email">
   <title>Querying &kaddressbook; from &kmail;'s Message Composition Window</title>
-  
+
   <para>
   <screenshot id="screenshot-autocompletion-feature">
       <screeninfo>A screenshot of auto completion from inside &kmail;'s message composition window.</screeninfo>
@@ -484,20 +484,20 @@
   </mediaobject>
   </screenshot>
   </para>
-  
+
   <para> </para> <!-- add more white space after screenshot @dcb -->
-  
+
   <para>When you are composing a new email message, &kmail; helps you find the recipient's complete email
   address by presenting a list of probable matches drawn from the contents of &kaddressbook; and from
   your email archives, as illustrated above. Just left click an item in the list to use that email address.</para>
-  
+
   <para> </para> <!-- add more white space before next section @dcb -->
-  
+
   </sect2>
-  
+
   <sect2  id="recipient-selection-dialog">
   <title>&kmail;'s Recipient Selection Dialog</title>
-  
+
   <para>
   <screenshot id="screenshot-recipient-selection">
       <screeninfo>A screenshot of the recipient selection dialog inside &kmail;'s message composition window.</screeninfo>
@@ -514,25 +514,25 @@
   </mediaobject>
   </screenshot>
   </para>
-  
+
   <para> </para> <!-- add more white space after screenshot @dcb -->
-  
+
   <para>When you are addressing a new email message to multiple recipients, &kmail; provides a convenient method
   of choosing multiple addressees from the contacts you have saved with &kaddressbook;. Simply left click the
-  <guibutton> Select ... </guibutton> button to open a Drop Down Box that lists all the contacts in the 
-  selected address books. Then scroll through the list (or use the handy <quote>Search:</quote> box), 
+  <guibutton> Select ... </guibutton> button to open a Drop Down Box that lists all the contacts in the
+  selected address books. Then scroll through the list (or use the handy <quote>Search:</quote> box),
   select the recipient you want, and left click  <guibutton> Add as To </guibutton>,
   <guibutton> Add as CC </guibutton>, or <guibutton> Add as BCC </guibutton> to add this person
   to the list of email recipients for your new message. Choose <guibutton> Add as Reply-To </guibutton>
   to insert this address into your message as a <quote>Reply To</quote> tag.</para>
-  
+
   <para> </para> <!-- add more white space before next section @dcb -->
-  
+
   </sect2>
-  
+
   <sect2 id="new-contact-creation-interface">
   <title>&kmail;'s New Contact Creation Interface</title>
-  
+
   <para>
   <screenshot id="screenshot-new-contact-creation">
       <screeninfo>A screenshot of the new contact creation interface inside &kmail;'s message viewing window.</screeninfo>
@@ -549,16 +549,16 @@
   </mediaobject>
   </screenshot>
   </para>
-  
+
   <para> </para> <!-- add more white space after screenshot @dcb -->
-  <para>When you receive an email message from someone who is not yet in your address book, &kmail; makes it very 
+  <para>When you receive an email message from someone who is not yet in your address book, &kmail; makes it very
   easy to create a new contact. Simply point your cursor at the email address you want to save, then click the &RMB; and
   a context menu will appear (see above). Select <guimenuitem> + Add to Address Book </guimenuitem>
   to add the selected email address to one of your address books. If you recognize this person as somebody who's already
   in your address book, and he is using a new email address, you may click on <guimenuitem> + Add to Existing Contact </guimenuitem>
   instead -- this enters a dialog that will direct  &kaddressbook; to the spot where you want to insert the new email address.</para>
   <para> </para> <!-- add more white space before next picture @dcb -->
-  
+
   <para>
   <screenshot id="screenshot-new-contact-creation-step2">
       <screeninfo>A screenshot of the ensuing new contact creation dialog.</screeninfo>
@@ -575,11 +575,11 @@
   </mediaobject>
   </screenshot>
   </para>
-  
+
   <para> </para> <!-- add more white space after screenshot @dcb -->
   <para>&kmail; will ask you to choose the address book to which the new contact should be added.</para>
   <para> </para> <!-- add more white space before next picture @dcb -->
-  
+
   <para>
   <screenshot id="screenshot-new-contact-creation-step3">
       <screeninfo>Another screenshot of the ensuing new contact creation dialog.</screeninfo>
@@ -596,25 +596,25 @@
   </mediaobject>
   </screenshot>
   </para>
-  
+
   <para> </para> <!-- add more white space after screenshot @dcb -->
-  <para>&kmail; will also ask you if you wish to <link linkend="editing-contact-data"> edit the new contact</link> 
-   that has just been added. Say <guibutton> ✔ Yes </guibutton> if you want to add more data to the 
+  <para>&kmail; will also ask you if you wish to <link linkend="editing-contact-data"> edit the new contact</link>
+   that has just been added. Say <guibutton> ✔ Yes </guibutton> if you want to add more data to the
   new entry right away.</para>
   <para> </para> <!-- add more white space before next section @dcb -->
-  
+
   </sect2>
-    
+
   </sect1>
-  
+
   <sect1 id="korganizer-overview">
   <title>&kaddressbook;'s Interface with &korganizer;</title>
-  
+
   <para>&korganizer;, the &kde; scheduling and calendar management program, allows you
   to send e-mail messages to people you want to invite to a meeting, and provides
   two interfaces with &kaddressbook; in this connection.</para>
-  <para> </para> <!-- add more white space before next section @dcb --> 
-  
+  <para> </para> <!-- add more white space before next section @dcb -->
+
   <para>
   <screenshot id="screenshot-inviting-one-attendee">
       <screeninfo>A screenshot of &korganizer;'s attendees tab.</screeninfo>
@@ -630,14 +630,14 @@
     </caption>
   </mediaobject>
   </screenshot>
-  </para>   
-      
+  </para>
+
   <para> </para> <!-- add more white space after screenshot @dcb -->
   <para>The first interface is just like the <link linkend="autocompletion-feature-on-new-email">auto completion
-  feature</link> provided by &kmail;: just start typing the name of the person you want to invite, and you will 
-  be presented with a list of probable matches, as illustrated above.</para>  
+  feature</link> provided by &kmail;: just start typing the name of the person you want to invite, and you will
+  be presented with a list of probable matches, as illustrated above.</para>
   <para> </para> <!-- add more white space before next section @dcb -->
-  
+
   <para>
   <screenshot id="screenshot-inviting-multiple-attendees">
       <screeninfo>A screenshot of &korganizer;'s attendees tab.</screeninfo>
@@ -653,15 +653,15 @@
     </caption>
   </mediaobject>
   </screenshot>
-  </para>   
-  
+  </para>
+
   <para> </para> <!-- add more white space after screenshot @dcb -->
   <para>The second interface is just like the <link linkend="recipient-selection-dialog">recipient selection
   dialog</link>  provided by &kmail;: when you left click the <guibutton> Select Attendees ... </guibutton>
   button, a searchable list of the contacts in all your address books will appear, as the preceding screenshot shows.</para>
-  
+
   </sect1>
-  
+
 </chapter>
 
 <chapter id="editing-contact-data">
@@ -669,10 +669,10 @@
 
   <sect1 id="edit-basic-info">
   <title>The Basics</title>
-  
-  <para>When you first click on the <guibutton><inlinemediaobject><imageobject><imagedata fileref="list-add.png" 
-  format="PNG"/></imageobject></inlinemediaobject>Add Contact  </guibutton> button on &kaddressbook;'s 
-  Toolbar, this screen will appear. (If you click on <guibutton><inlinemediaobject><imageobject><imagedata 
+
+  <para>When you first click on the <guibutton><inlinemediaobject><imageobject><imagedata fileref="list-add.png"
+  format="PNG"/></imageobject></inlinemediaobject>Add Contact  </guibutton> button on &kaddressbook;'s
+  Toolbar, this screen will appear. (If you click on <guibutton><inlinemediaobject><imageobject><imagedata
   fileref="document-edit.png" format="PNG"/></imageobject></inlinemediaobject>Edit Contact  </guibutton>,
   a similar screen appears, the only difference being that the drop-down box labeled <quote>Add to:</quote> will
   not appear as part of the <quote>Edit</quote> dialog. That is why both functions are covered in this chapter:
@@ -689,7 +689,7 @@
       <phrase>A screenshot of &kaddressbook;'s <quote>New Contact</quote> dialog.</phrase>
     </textobject>
     <caption>
-      <para>&kaddressbook;'s <quote>Add Contact</quote> dialog after clicking the 
+      <para>&kaddressbook;'s <quote>Add Contact</quote> dialog after clicking the
       <guibutton><inlinemediaobject><imageobject><imagedata fileref="list-add.png" format="PNG"/>
       </imageobject></inlinemediaobject>Add Contact  </guibutton> button on the Toolbar.</para>
     </caption>
@@ -698,52 +698,52 @@
   </para>
 
   <para> </para> <!-- add more white space after screenshot @dcb -->
-  
+
   <sect2 id="edit-contact-tab">
   <title>The Contact Tab</title>
-  
+
   <para>We have already seen (in <link linkend="how-to-add-a-new-contact">How to Add a New Contact</link> )
   how basic data like Name and Email are entered when a new contact record is created. Here's a description
   of the many ways to use the rest of the data fields accessible from the <quote>Contact</quote> tab in
   the <guibutton><inlinemediaobject><imageobject><imagedata fileref="list-add.png" format="PNG"/>
   </imageobject></inlinemediaobject>Add Contact  </guibutton> dialog.</para>
-  
+
   <variablelist>
-      
+
     <varlistentry><term>Phone</term><listitem><para>You may associate one or more telephone numbers with
     this person. Use the <guibutton> + </guibutton> and <guibutton> − </guibutton>
-    buttons to add or delete phone number fields. The 
+    buttons to add or delete phone number fields. The
     <guibutton> Home<inlinemediaobject><imageobject><imagedata fileref="go-down.png" format="PNG"/></imageobject></inlinemediaobject></guibutton>
     Drop Down Box allows you to identify fifteen categories of phone numbers (Home, Work, Mobile, Car,<glossterm linkend="gloss-isdn">
     <acronym>ISDN</acronym></glossterm>, <glossterm linkend="gloss-pcs"><acronym>PCS</acronym></glossterm>, &etc;)</para></listitem>
     </varlistentry>
-    
+
     <varlistentry><term>Messaging</term><listitem><para>You may associate one or more Instant Messaging
-    service identities with this person. Use the <guibutton> + </guibutton> and 
-    <guibutton> − </guibutton> buttons to add or delete messaging service fields. The 
+    service identities with this person. Use the <guibutton> + </guibutton> and
+    <guibutton> − </guibutton> buttons to add or delete messaging service fields. The
     <guibutton> Select ...<inlinemediaobject><imageobject><imagedata fileref="go-down.png" format="PNG"/></imageobject></inlinemediaobject></guibutton>
     Drop Down Box permits you to identify thirteen categories of IM services: <glossterm linkend="gloss-aim">AIM,</glossterm>
-    Facebook, <glossterm linkend="gloss-gadu-gadu">Gadu-Gadu</glossterm>, Google Talk, <glossterm linkend="gloss-gpws">GroupWise</glossterm>, 
-    <glossterm linkend="gloss-icq"><acronym>ICQ</acronym></glossterm>, <glossterm linkend="gloss-irc">&irc;</glossterm>, 
-    <glossterm linkend="gloss-jabber">Jabber</glossterm>, <glossterm linkend="gloss-mnwhl">Meanwhile</glossterm>, 
+    Facebook, <glossterm linkend="gloss-gadu-gadu">Gadu-Gadu</glossterm>, Google Talk, <glossterm linkend="gloss-gpws">GroupWise</glossterm>,
+    <glossterm linkend="gloss-icq"><acronym>ICQ</acronym></glossterm>, <glossterm linkend="gloss-irc">&irc;</glossterm>,
+    <glossterm linkend="gloss-jabber">Jabber</glossterm>, <glossterm linkend="gloss-mnwhl">Meanwhile</glossterm>,
     <glossterm linkend="gloss-sms"><acronym>SMS</acronym></glossterm>, Skype, Twitter, and Yahoo. (MSN Messenger is
     still on the list of IM services in version 5.10.3; it has been defunct since 2014.)</para></listitem>
     </varlistentry>
-    
+
     <varlistentry><term>Web</term><listitem><para>You may associate one or more web site &URL;s with this
     person. Use the <guibutton> + </guibutton> and <guibutton> − </guibutton>
     buttons to add or delete Web address fields. The <guibutton> Select ...<inlinemediaobject><imageobject>
     <imagedata fileref="go-down.png" format="PNG"/></imageobject></inlinemediaobject></guibutton>
     Drop Down Box allows you to identify three different kinds of Web addresses: Home, Work, and Other.</para></listitem>
     </varlistentry>
-    
-    <varlistentry><term>Tags</term><listitem><para>You may associate one or more Tags of your own devising with this 
+
+    <varlistentry><term>Tags</term><listitem><para>You may associate one or more Tags of your own devising with this
     person. Use the <guibutton> ... </guibutton> button to enter the Tag creation and configuration dialog
     illustrated below.</para></listitem>
     </varlistentry>
-      
-  </variablelist> 
-  
+
+  </variablelist>
+
   <para>
   <screenshot id="screenshot-add-tags-dialog">
       <screeninfo>&kaddressbook;'s <quote>Tags</quote> dialog.</screeninfo>
@@ -755,7 +755,7 @@
       <phrase>&kaddressbook;'s <quote>Tags</quote> dialog.</phrase>
     </textobject>
     <caption>
-      <para>&kaddressbook;'s <quote>Manage Tags</quote> dialog after clicking the 
+      <para>&kaddressbook;'s <quote>Manage Tags</quote> dialog after clicking the
       <guibutton> ... </guibutton> button next to <quote>Tags</quote>.</para>
     </caption>
   </mediaobject>
@@ -763,51 +763,51 @@
   </para>
 
   <para> </para> <!-- add more white space after screenshot @dcb -->
-  
+
   <variablelist>
     <varlistentry><term>Tags (continued)</term><listitem><para>Use the <guibutton> Create new tag </guibutton>
-    button and the data entry field to the left to build your customized list of tags. Select the 
-    tags associated with this person from the list appearing in the configuration window. Press the 
+    button and the data entry field to the left to build your customized list of tags. Select the
+    tags associated with this person from the list appearing in the configuration window. Press the
     <guibutton> ✔ OK </guibutton> button to add the selected tags to this contact.</para></listitem>
     </varlistentry>
-    
+
     <varlistentry><term>Blog Feed</term><listitem><para>Use this field to record the &URL; associated with this
     contact's web log, or blog.</para></listitem>
     </varlistentry>
-    
-    <varlistentry><term>Show messages ...</term><listitem><para>Use this Drop Down Box to override the corresponding message 
-    display option in &kmail;'s <guibutton> Privacy & Security </guibutton> configuration menu. Choose 
-    <quote>Default</quote> to leave it up to &kmail;. Choose <quote>Plain Text</quote> or <quote>HTML</quote> if you 
+
+    <varlistentry><term>Show messages ...</term><listitem><para>Use this Drop Down Box to override the corresponding message
+    display option in &kmail;'s <guibutton> Privacy & Security </guibutton> configuration menu. Choose
+    <quote>Default</quote> to leave it up to &kmail;. Choose <quote>Plain Text</quote> or <quote>HTML</quote> if you
     want to override &kmail;'s default behavior when you receive a message from this person.</para></listitem>
     </varlistentry>
-    
-    <varlistentry><term>Allow remote content ...</term><listitem><para>Select this option if you want to override the 
-    corresponding message display option in &kmail;'s <guibutton> Privacy & Security </guibutton> 
+
+    <varlistentry><term>Allow remote content ...</term><listitem><para>Select this option if you want to override the
+    corresponding message display option in &kmail;'s <guibutton> Privacy & Security </guibutton>
     configuration menu when you receive a message from this person.</para></listitem>
     </varlistentry>
-    
+
     <varlistentry><term><guibutton> ✔ OK </guibutton></term><listitem><para>Select this option to save the
     changes you have made. This button performs the same function in all seven tabs appearing in the <guibutton><inlinemediaobject><imageobject>
     <imagedata fileref="list-add.png" format="PNG"/></imageobject></inlinemediaobject>Add Contact  </guibutton> dialog.</para></listitem>
     </varlistentry>
-    
+
     <varlistentry><term><guibutton> ⦸ Cancel </guibutton></term><listitem><para>Select this option to leave
     the <guibutton><inlinemediaobject><imageobject><imagedata fileref="list-add.png" format="PNG"/></imageobject>
     </inlinemediaobject>Add Contact  </guibutton> dialog without saving your changes. This button performs
     the same function in all seven tabs appearing in the <quote>Add Contact</quote> dialog.</para></listitem>
     </varlistentry>
-  
+
   </variablelist>
   <para> </para> <!-- add more white space after variablelist @dcb -->
-  
+
   </sect2>
-  
+
   <sect2 id="edit-location-tab">
   <title>The Location Tab</title>
-  
-  <para>Use the data input fields in the <quote>Location</quote> tab shown below to associate one or more snail-mail 
+
+  <para>Use the data input fields in the <quote>Location</quote> tab shown below to associate one or more snail-mail
   addresses with this person.</para>
-      
+
   <para>
   <screenshot id="screenshot-location-tab">
       <screeninfo>&kaddressbook;'s <quote>Location</quote> tab.</screeninfo>
@@ -827,53 +827,53 @@
   </para>
 
   <para> </para> <!-- add more white space after screenshot @dcb -->
- 
+
   <variablelist>
     <varlistentry><term>(unlabeled) Drop Down Box</term><listitem><para>Use this list of categories to describe each
     mailing address for this contact. Available options include  <quote>Home</quote>, <quote>Work</quote>,
     <quote>Postal</quote>, &etc;</para></listitem>
     </varlistentry>
-    
+
     <varlistentry><term>Street / Post Office Box / Postal Code / Locality / Region</term><listitem><para>Use these free-form
-    data fields to enter mailing address data: Street Address, PO Box, ZIP Code, City, and State, respectively, for 
+    data fields to enter mailing address data: Street Address, PO Box, ZIP Code, City, and State, respectively, for
     addresses in the U.S.A.</para></listitem>
     </varlistentry>
-    
+
     <varlistentry><term>Country</term><listitem><para>Use this Drop Down Box to select a country, from
     Afghanistan to Zimbabwe.</para></listitem>
     </varlistentry>
-    
+
     <varlistentry><term>This is the preferred address</term><listitem><para>Check this box to designate the
     preferred, or default, mailing address.</para></listitem>
     </varlistentry>
-    
-    <varlistentry><term><guibutton> Add Address </guibutton></term><listitem><para>When you have finished 
-    entering address data, left click this button to add a new address to the set of saved addresses appearing in 
+
+    <varlistentry><term><guibutton> Add Address </guibutton></term><listitem><para>When you have finished
+    entering address data, left click this button to add a new address to the set of saved addresses appearing in
     the large display window to the right.</para></listitem>
     </varlistentry>
-    
+
     <varlistentry><term>Icon<inlinemediaobject><imageobject><imagedata fileref="document-edit.png" format="PNG"/></imageobject></inlinemediaobject>
     in the large display window</term>
     <listitem><para>Left click this icon to edit the associated address data.</para></listitem>
     </varlistentry>
-    
+
     <varlistentry><term>Icon<inlinemediaobject><imageobject><imagedata fileref="edit-delete.png" format="PNG"/></imageobject></inlinemediaobject>
     in the large display window</term>
     <listitem><para>Left click this icon to delete the associated address data.</para></listitem>
     </varlistentry>
-  
+
   </variablelist>
   <para> </para> <!-- add more white space after variablelist @dcb -->
   </sect2>
-  
+
   <sect2 id="edit-business-tab">
   <title>The Business, Personal, and Notes Tabs</title>
-  
+
   <para>The next three tabs in the <quote>Add Contact</quote> dialog are even simpler than
   the <quote>Location</quote> tab. They allow you to save some information about this person's
   business and professional affiliations, a few personal details, and miscellaneous free-form
   notes, respectively.</para>
-  
+
   <para>
   <screenshot id="screenshot-business-tab">
       <screeninfo>&kaddressbook;'s <quote>Business</quote> tab.</screeninfo>
@@ -891,20 +891,20 @@
   </mediaobject>
   </screenshot>
   </para>
-      
+
   <para> </para> <!-- add more white space after screenshot @dcb -->
-  
+
   <para>The <quote>Business</quote> tab, shown above, lets you save some additional details
   about this person's professional and business associations. All the input fields are free-form;
-  you may enter any kind of text data in each field. The small 
+  you may enter any kind of text data in each field. The small
   <guibutton><inlinemediaobject><imageobject><imagedata fileref="document-open.png" format="PNG"/></imageobject></inlinemediaobject></guibutton>
   button will open a file search dialog, making it easy to associate a filename with this person's
   <quote>Free/Busy</quote> schedule, if you wish.</para>
-  
-  <para>Notice that you should enter your business associate's phone as a telephone number under the 
+
+  <para>Notice that you should enter your business associate's phone as a telephone number under the
   <quote><link linkend="edit-contact-tab">Contact</link></quote> tab. Similarly, his office address is entered
-  via the <quote>Location</quote> tab, as described in <link linkend="edit-location-tab">the preceding section</link>.</para>    
-  
+  via the <quote>Location</quote> tab, as described in <link linkend="edit-location-tab">the preceding section</link>.</para>
+
   <para> </para> <!-- add more white space before next screenshot @dcb -->
   <para>
   <screenshot id="screenshot-personal-tab">
@@ -923,15 +923,15 @@
   </mediaobject>
   </screenshot>
   </para>
-      
+
   <para> </para> <!-- add more white space after screenshot @dcb -->
-  
+
   <para>Use this tab to store a few personal details: this person's birthday, his wedding anniversary, and
   the name of his partner, or significant other. Click one of the buttons (⪚, <guibutton><inlinemediaobject><imageobject>
   <imagedata fileref="view-calendar-birthday.png" format="PNG"/></imageobject></inlinemediaobject></guibutton> )
   to enter his date of birth, or his wedding anniversary.
   </para>
-  
+
   <para> </para> <!-- add more white space before next screenshot @dcb -->
   <para>
   <screenshot id="screenshot-notes-tab">
@@ -950,29 +950,29 @@
   </mediaobject>
   </screenshot>
   </para>
-      
+
   <para> </para> <!-- add more white space after screenshot @dcb -->
-  
+
   <para>The <quote>Notes</quote> tab provides a totally free-form input area in which
   you may enter any data you want to associate with this person.</para>
-      
-  </sect2>    
 
-  </sect1>  
+  </sect2>
+
+  </sect1>
 
   <sect1 id="edit-advanced-info">
   <title>The Tricky Stuff</title>
-  
+
   <para>&kaddressbook; provides a couple of more complex data storage features, in addition to the simple
   functions described in the preceding section.</para>
 
   <sect2 id="edit-custom-tab">
   <title>The Custom Fields Tab</title>
 
-  <para>Not happy with the wide array of data items that &kaddressbook; has already pre-programmed for 
-  you? Well, you're in luck. Someday -- maybe soon --you may utilize the <quote>Custom Fields</quote> dialog 
+  <para>Not happy with the wide array of data items that &kaddressbook; has already pre-programmed for
+  you? Well, you're in luck. Someday -- maybe soon --you may utilize the <quote>Custom Fields</quote> dialog
   shown below to define and populate as many additional data fields as you can possibly use.</para>
-  
+
   <para>
   <screenshot id="screenshot-custom-tab">
       <screeninfo>&kaddressbook;'s <quote>Custom Fields</quote> tab.</screeninfo>
@@ -990,22 +990,22 @@
   </mediaobject>
   </screenshot>
   </para>
-      
+
   <para> </para> <!-- add more white space after screenshot @dcb -->
-  
+
   <para>This is an experimental feature which doesn't yet do anything worth talking about. So I'm not
   going to say anything else about it.</para>
-  
+
   <para> </para> <!-- add more white space between sections @dcb -->
-  
+
   </sect2>
-  
+
   <sect2 id="edit-crypto-tab">
   <title>The Crypto Settings Tab</title>
-  
+
   <para>Need to send a confidential email message that ought not be read by prying eyes? &kaddressbook;
   provides a simple way for you to associate cryptographic keys with each person on your mailing list.</para>
-  
+
   <para>
   <screenshot id="screenshot-crypto-tab">
       <screeninfo>&kaddressbook;'s <quote>Crypto Settings</quote> tab.</screeninfo>
@@ -1023,18 +1023,18 @@
   </mediaobject>
   </screenshot>
   </para>
-      
+
   <para> </para> <!-- add more white space after screenshot @dcb -->
-  
+
 <variablelist>
     <varlistentry><term>Allowed Protocols</term><listitem><para>Choose which mode of encryption you wish to use when
-    sending a message to this person: <glossterm linkend="gloss-inline-pgp">Inline OpenPGP</glossterm>, <glossterm 
+    sending a message to this person: <glossterm linkend="gloss-inline-pgp">Inline OpenPGP</glossterm>, <glossterm
     linkend="gloss-open-pgp">OpenPGP/&MIME;</glossterm>, <glossterm linkend="gloss-mime"><acronym>S/MIME</acronym>
     </glossterm>, or <glossterm linkend="gloss-opaque"><acronym>S/MIME</acronym> Opaque</glossterm>.</para></listitem>
     </varlistentry>
 
     <varlistentry><term>Preferred OpenPGP Encryption Key:</term><listitem><para>Use the <guibutton> Change... </guibutton>
-    button to select from a list of available Open<glossterm linkend="gloss-pgp">PGP</glossterm> keys, if you have chosen OpenPGP 
+    button to select from a list of available Open<glossterm linkend="gloss-pgp">PGP</glossterm> keys, if you have chosen OpenPGP
     encryption. Use the <guibutton><inlinemediaobject><imageobject><imagedata fileref="edit-clear.png" format="PNG"/></imageobject>
     </inlinemediaobject></guibutton> button to clear a previously selected key.</para></listitem>
     </varlistentry>
@@ -1045,34 +1045,34 @@
     </imageobject></inlinemediaobject></guibutton> button to clear a previously selected key.</para></listitem>
     </varlistentry>
 
-    <varlistentry><term>Message Preference / Sign:</term><listitem><para>Use this drop-down box to specify when messages addressed to 
+    <varlistentry><term>Message Preference / Sign:</term><listitem><para>Use this drop-down box to specify when messages addressed to
     this person should bear your cryptographic signature: Never / Always / If Possible / Ask.</para></listitem>
     </varlistentry>
 
-    <varlistentry><term>Message Preference / Encrypt:</term><listitem><para>Use this drop-down box to specify when messages addressed to 
+    <varlistentry><term>Message Preference / Encrypt:</term><listitem><para>Use this drop-down box to specify when messages addressed to
     this person should be encrypted by using the selected protocol and key: Never / Always / If Possible / Ask.</para></listitem>
     </varlistentry>
-    
-</variablelist>  
-  
+
+</variablelist>
+
   </sect2>
 
   </sect1>
-  
+
 </chapter>
 
 <chapter id="commands">
 <title>Command Reference</title>
-    
+
   <sect1 id="menu-bar-items">
   <title>The Menu Bar</title>
-  
+
   <para>Here is a rundown of the seven menus appearing on &kaddressbook;'s Menubar.</para>
-  
+
 
   <sect2 id="the-file-menu">
   <title>The File Menu</title>
-  
+
   <para>
   <screenshot id="screenshot-file-menu">
       <screeninfo>A screenshot of &kaddressbook;'s <quote>File</quote> menu.</screeninfo>
@@ -1084,7 +1084,7 @@
         <phrase>A screenshot of &kaddressbook;'s <quote>File</quote> menu.</phrase>
     </textobject>
     <caption>
-      <para>&kaddressbook;'s <quote>File</quote> menu after clicking the 
+      <para>&kaddressbook;'s <quote>File</quote> menu after clicking the
       <menuchoice><guimenu>File</guimenu></menuchoice> button on the Menubar.</para>
     </caption>
   </mediaobject>
@@ -1093,78 +1093,78 @@
 
   <para> </para> <!-- add more white space after screenshot @dcb -->
 
-  <para>The <menuchoice><guimenu>File</guimenu></menuchoice> menu lets you access six main functions, three of which have several options.</para> 
+  <para>The <menuchoice><guimenu>File</guimenu></menuchoice> menu lets you access six main functions, three of which have several options.</para>
 
   <para> </para> <!-- add more white space @dcb -->
   <variablelist>
 
     <varlistentry>
     <term><menuchoice><shortcut><keycombo action="simul">&Ctrl;<keycap>N</keycap></keycombo></shortcut><guimenu>File</guimenu>
-    <guisubmenu>New  ></guisubmenu><guimenuitem><inlinemediaobject><imageobject><imagedata fileref="list-add.png" 
+    <guisubmenu>New  ></guisubmenu><guimenuitem><inlinemediaobject><imageobject><imagedata fileref="list-add.png"
     format="PNG"/></imageobject></inlinemediaobject>New Contact</guimenuitem></menuchoice></term>
-    <listitem><para>This has exactly the same effect as clicking the <guibutton>  + New Contact </guibutton> button 
+    <listitem><para>This has exactly the same effect as clicking the <guibutton>  + New Contact </guibutton> button
     on the Toolbar. See <link linkend="how-to-add-a-new-contact">chapter 2 above</link> for complete details.</para></listitem>
-    </varlistentry> 
-    
+    </varlistentry>
+
     <varlistentry>
     <term><menuchoice><shortcut><keycombo action="simul">&Ctrl;<keycap>G</keycap></keycombo></shortcut><guimenu>File</guimenu>
-    <guisubmenu>New  ></guisubmenu><guimenuitem><inlinemediaobject><imageobject><imagedata fileref="user-group-new.png" 
+    <guisubmenu>New  ></guisubmenu><guimenuitem><inlinemediaobject><imageobject><imagedata fileref="user-group-new.png"
     format="PNG"/></imageobject></inlinemediaobject>New Group</guimenuitem></menuchoice></term>
     <listitem><para>Opens a dialog in which you may define a new group, or mailing list. See  <link linkend="file-new-group">the appendix</link>
     for a detailed explanation of this function.</para></listitem>
     </varlistentry>
-    
+
     <varlistentry>
     <term><menuchoice><guimenu>File</guimenu><guisubmenu>New  ></guisubmenu><guimenuitem><inlinemediaobject><imageobject>
     <imagedata fileref="folder-new.png" format="PNG"/></imageobject></inlinemediaobject>Add Address Book</guimenuitem></menuchoice></term>
-    <listitem><para>This opens the <quote>Add Address Book</quote> dialog, which is fully documented in 
+    <listitem><para>This opens the <quote>Add Address Book</quote> dialog, which is fully documented in
      <link linkend="how-to-add-a-new-address-book">chapter 2 above</link>.</para></listitem>
     </varlistentry>
-    
+
     <varlistentry>
-    <term><menuchoice><guimenu>File</guimenu><guisubmenu>Import  ></guisubmenu><guimenuitem>Import from LDAP 
+    <term><menuchoice><guimenu>File</guimenu><guisubmenu>Import  ></guisubmenu><guimenuitem>Import from LDAP
     server ...</guimenuitem></menuchoice></term>
     <listitem><para>This function allows you to import data from an <acronym>LDAP</acronym> server. The server must be configured before
     you can use this function. See <link linkend="configure-ldap-server">the appendix</link> for full details.</para></listitem>
     </varlistentry>
-    
+
     <varlistentry>
     <term><menuchoice><guimenu>File</guimenu><guisubmenu>Import  ></guisubmenu><guimenuitem>Import CSV file ...</guimenuitem></menuchoice></term>
     <listitem><para>This function allows you to import contact data from a comma separated values (<acronym>csv</acronym>) file. A dialog ensues, in which
     you may associate each field in the input file with a named field in &kaddressbook;'s internal storage record. See <link linkend="import-csv-data">the
     appendix</link> for a more detailed explanation.</para></listitem>
     </varlistentry>
-    
+
     <varlistentry>
     <term><menuchoice><guimenu>File</guimenu><guisubmenu>Import  ></guisubmenu><guimenuitem>Import vCard ...</guimenuitem></menuchoice></term>
     <listitem><para>This function facilitates the importation of <acronym>vcf</acronym>, or vCard, data. All three versions of vCard are supported.
     You can learn more about the vCard formats <ulink url="https://en.wikipedia.org/wiki/VCard">at this web site</ulink>.</para></listitem>
     </varlistentry>
-    
+
     <varlistentry>
     <term><menuchoice><guimenu>File</guimenu><guisubmenu>Export  ></guisubmenu><guimenuitem>Export CSV file ...</guimenuitem></menuchoice></term>
     <listitem><para>This function allows you to export selected contact data as a Comma Separated Values (<acronym>csv</acronym>) file. There are 47
     fields in the output record. Please refer to <link linkend="export-csv-data">the appendix</link> for a list of those data fields.</para></listitem>
     </varlistentry>
-    
+
     <varlistentry>
     <term><menuchoice><guimenu>File</guimenu><guisubmenu>Export  ></guisubmenu><guimenuitem>Export vCard 4.0 ...</guimenuitem></menuchoice></term>
     <listitem><para>This function allows you to export selected contact data as a file in <acronym>vCard 4.0</acronym> format. See
     <ulink url="https://en.wikipedia.org/wiki/VCard">this Wikipedia article</ulink> for more information.</para></listitem>
     </varlistentry>
-    
+
     <varlistentry>
     <term><menuchoice><guimenu>File</guimenu><guisubmenu>Export  ></guisubmenu><guimenuitem>Export vCard 3.0 ...</guimenuitem></menuchoice></term>
     <listitem><para>This function allows you to export selected contact data as a file in <acronym>vCard 3.0</acronym> format. This
     format is similar to <acronym>vCard 4.0</acronym> format.</para></listitem>
-    </varlistentry>    
+    </varlistentry>
 
     <varlistentry>
     <term><menuchoice><guimenu>File</guimenu><guisubmenu>Export  ></guisubmenu><guimenuitem>Export vCard 2.1 ...</guimenuitem></menuchoice></term>
     <listitem><para>This function allows you to export selected contact data as a file in <acronym>vCard 2.1</acronym> format. This
     format is similar to <acronym>vCard 3.0</acronym> format.</para></listitem>
     </varlistentry>
- 
+
     <varlistentry>
     <term><menuchoice><shortcut><keycombo action="simul">&Ctrl;<keycap>P</keycap></keycombo></shortcut><guimenu>File</guimenu>
     <guisubmenu><inlinemediaobject><imageobject><imagedata fileref="document-print.png" format="PNG"/></imageobject>
@@ -1174,29 +1174,29 @@
     dialog below to set up the range of names and the print format before you select this function.</para></listitem>
     </varlistentry>
 
-    <varlistentry>    
+    <varlistentry>
     <term><menuchoice><guimenu>File</guimenu><guisubmenu><inlinemediaobject><imageobject><imagedata fileref="document-preview-archive.png" format="PNG"/>
     </imageobject></inlinemediaobject>Print Preview</guisubmenu></menuchoice></term>
     <listitem><para>Opens a print preview dialog, which also permits you to format the report, select which items to include, and
     specify a sort order, &etc; See  <link linkend="file-print-preview">the appendix</link> for further details.</para></listitem>
     </varlistentry>
-    
+
     <varlistentry>
     <term><menuchoice><shortcut><keycombo action="simul">&Ctrl;<keycap>Q</keycap></keycombo></shortcut><guimenu>File</guimenu>
     <guisubmenu><inlinemediaobject><imageobject><imagedata fileref="application-exit.png" format="PNG"/></imageobject>
     </inlinemediaobject>Quit</guisubmenu></menuchoice></term>
     <listitem><para>Closes the &kaddressbook; application.</para></listitem>
     </varlistentry>
- 
+
   </variablelist>
 
   <para> </para> <!-- add more white space between sections @dcb -->
-  
-  </sect2>  
+
+  </sect2>
 
   <sect2 id="the-edit-menu">
   <title>The Edit Menu</title>
-  
+
   <para>
   <screenshot id="screenshot-edit-menu">
       <screeninfo>A screenshot of &kaddressbook;'s <quote>Edit</quote> menu.</screeninfo>
@@ -1208,7 +1208,7 @@
         <phrase>A screenshot of &kaddressbook;'s <quote>Edit</quote> menu.</phrase>
     </textobject>
     <caption>
-      <para>&kaddressbook;'s <quote>Edit</quote> menu after clicking the 
+      <para>&kaddressbook;'s <quote>Edit</quote> menu after clicking the
       <menuchoice><guimenu>Edit</guimenu></menuchoice> button on the Menubar.</para>
     </caption>
   </mediaobject>
@@ -1216,34 +1216,34 @@
   </para>
 
   <para> </para> <!-- add more white space after screenshot @dcb -->
-  
+
   <para>The <menuchoice><guimenu>Edit</guimenu></menuchoice> menu lets you access eight main functions, two of which have multiple options.</para>
- 
-  <para> </para> <!-- add more white space @dcb --> 
+
+  <para> </para> <!-- add more white space @dcb -->
   <variablelist>
-      
+
     <varlistentry>
-    <term><menuchoice><guimenu>Edit</guimenu><guisubmenu><inlinemediaobject><imageobject><imagedata fileref="document-edit.png" 
+    <term><menuchoice><guimenu>Edit</guimenu><guisubmenu><inlinemediaobject><imageobject><imagedata fileref="document-edit.png"
     format="PNG"/></imageobject></inlinemediaobject>Edit Contact ...</guisubmenu></menuchoice></term>
-    <listitem><para>This has nearly the same effect as clicking the <guibutton> + New Contact </guibutton> button 
-    on the Toolbar. The difference is that this menu item allows you to edit a contact record that already exists, instead of creating 
+    <listitem><para>This has nearly the same effect as clicking the <guibutton> + New Contact </guibutton> button
+    on the Toolbar. The difference is that this menu item allows you to edit a contact record that already exists, instead of creating
     a brand new one. See <link linkend="how-to-add-a-new-contact">chapter 2 above</link> for complete details.</para></listitem>
     </varlistentry>
-    
+
     <varlistentry>
     <term><menuchoice><shortcut><keycombo action="simul">&Ctrl;<keycap>X</keycap></keycombo></shortcut><guimenu>Edit</guimenu><guisubmenu><inlinemediaobject>
     <imageobject><imagedata fileref="edit-cut.png" format="PNG"/></imageobject></inlinemediaobject>Cut Contact ...</guisubmenu></menuchoice></term>
-    <listitem><para>Performs a <quote>Cut</quote> operation on the selected contact. A copy of this contact, in 
-    <glossterm linkend="gloss-vcf"><acronym>vCard 3.0</acronym></glossterm> format, is placed on the clipboard. The 
+    <listitem><para>Performs a <quote>Cut</quote> operation on the selected contact. A copy of this contact, in
+    <glossterm linkend="gloss-vcf"><acronym>vCard 3.0</acronym></glossterm> format, is placed on the clipboard. The
     <quote>Cut</quote> will be completed when you <quote>Paste</quote> this contact somewhere.</para></listitem>
     </varlistentry>
-    
+
     <varlistentry>
-    <term><menuchoice><guimenu>Edit</guimenu><guisubmenu><inlinemediaobject><imageobject><imagedata fileref="edit-copy.png" 
+    <term><menuchoice><guimenu>Edit</guimenu><guisubmenu><inlinemediaobject><imageobject><imagedata fileref="edit-copy.png"
     format="PNG"/></imageobject></inlinemediaobject>Copy Contact ...</guisubmenu></menuchoice></term>
     <listitem><para>Places a copy of this contact on the clipboard, so you can paste it somewhere else.</para></listitem>
     </varlistentry>
-    
+
     <varlistentry>
     <term><menuchoice><shortcut><keycombo action="simul">&Ctrl;<keycap>V</keycap></keycombo></shortcut><guimenu>Edit</guimenu><guisubmenu><inlinemediaobject>
     <imageobject><imagedata fileref="edit-paste.png" format="PNG"/></imageobject></inlinemediaobject>Paste</guisubmenu></menuchoice></term>
@@ -1252,45 +1252,45 @@
     the contact information on the system's clipboard, you may also paste it somewhere else besides &kaddressbook; (⪚ into a
     text editor, or as a <acronym>vCard 3.0</acronym> file in your home folder).</para></listitem>
     </varlistentry>
-    
+
     <varlistentry>
     <term><menuchoice><guimenu>Edit</guimenu><guisubmenu><inlinemediaobject><imageobject><imagedata fileref="edit-copy.png" format="PNG"/></imageobject>
     </inlinemediaobject>Copy Contact To   ></guisubmenu><guimenuitem>(a variable list)</guimenuitem></menuchoice></term>
-    <listitem><para>Combines the <quote>Copy</quote> and <quote>Paste</quote> operations into a single click of the &LMB;. 
+    <listitem><para>Combines the <quote>Copy</quote> and <quote>Paste</quote> operations into a single click of the &LMB;.
     The list of destinations displayed depends on how many address books you have created.</para></listitem>
     </varlistentry>
-    
+
     <varlistentry>
     <term><menuchoice><guimenu>Edit</guimenu><guisubmenu><inlinemediaobject><imageobject><imagedata fileref="go-jump.png" format="PNG"/></imageobject>
     </inlinemediaobject>Move Contact To   ></guisubmenu><guimenuitem>(a variable list)</guimenuitem></menuchoice></term>
     <listitem><para>Works just like the <quote>Copy Contact To</quote> operation described above, except that it combines
     <quote>Cut</quote> and <quote>Paste</quote> into a single click of the &LMB;.</para></listitem>
     </varlistentry>
-    
+
     <varlistentry>
     <term><menuchoice><shortcut><keycombo action="press">∇</keycombo></shortcut><guimenu>Edit</guimenu><guisubmenu><inlinemediaobject><imageobject>
     <imagedata fileref="edit-delete.png" format="PNG"/></imageobject></inlinemediaobject>Delete Contact</guisubmenu></menuchoice></term>
     <listitem><para>Delete the selected contact from the current address book.</para></listitem>
     </varlistentry>
-    
+
     <varlistentry>
-    <term><menuchoice><guimenu>Edit</guimenu><guisubmenu><inlinemediaobject><imageobject><imagedata fileref="edit-delete.png" 
+    <term><menuchoice><guimenu>Edit</guimenu><guisubmenu><inlinemediaobject><imageobject><imagedata fileref="edit-delete.png"
     format="PNG"/></imageobject></inlinemediaobject>Delete Address Book</guisubmenu></menuchoice></term>
     <listitem><para>Delete the current address book. Be careful with this command -- you could lose some data!
     In theory, this function simply removes the symbolic link between &kaddressbook; and the associated <acronym>vCard</acronym>
-    file or directory (or the hyperlink to a <glossterm linkend="gloss-cloud">cloud-based service</glossterm>), and the real data will 
+    file or directory (or the hyperlink to a <glossterm linkend="gloss-cloud">cloud-based service</glossterm>), and the real data will
     not be altered. Still, it's probably wisest to make a backup copy of this address book somewhere before you delete it.</para></listitem>
     </varlistentry>
-    
-  </variablelist>  
-  
+
+  </variablelist>
+
   <para> </para> <!-- add more white space between sections @dcb -->
-  
+
   </sect2>
-  
-  <sect2 id="the-view-menu"> 
+
+  <sect2 id="the-view-menu">
   <title>The View Menu</title>
-  
+
   <para>
   <screenshot id="screenshot-view-menu">
       <screeninfo>A screenshot of &kaddressbook;'s <quote>View</quote> menu.</screeninfo>
@@ -1302,7 +1302,7 @@
         <phrase>A screenshot of &kaddressbook;'s <quote>View</quote> menu.</phrase>
     </textobject>
     <caption>
-      <para>&kaddressbook;'s <quote>View</quote> menu after clicking the 
+      <para>&kaddressbook;'s <quote>View</quote> menu after clicking the
       <menuchoice><guimenu>View</guimenu></menuchoice> button on the Menubar.</para>
     </caption>
   </mediaobject>
@@ -1310,57 +1310,57 @@
   </para>
 
   <para> </para> <!-- add more white space after screenshot @dcb -->
-  
+
   <para>The <menuchoice><guimenu>View</guimenu></menuchoice> menu lets you access four main functions, and one experimental
   feature which doesn't really do anything yet.</para>
-  
+
   <para> </para> <!-- add more white space @dcb -->
   <variablelist>
-      
+
     <varlistentry>
     <term><menuchoice><guimenu>View</guimenu><guisubmenu>Themes   ></guisubmenu></menuchoice></term>
     <listitem><para>This menu item doesn't really do anything. It will open a <quote>Themes</quote> dialog,
     but that dialog is broken in release 5.10.3.</para></listitem>
     </varlistentry>
-    
+
     <varlistentry>
     <term><menuchoice><shortcut><keycombo action="simul">&Ctrl;&Shift;<keycap>1</keycap></keycombo></shortcut>
-    <guimenu>View</guimenu><guisubmenu><inlinemediaobject><imageobject><imagedata fileref="draw-circle.png" 
+    <guimenu>View</guimenu><guisubmenu><inlinemediaobject><imageobject><imagedata fileref="draw-circle.png"
     format="PNG"/></imageobject></inlinemediaobject>Simple (one column)</guisubmenu></menuchoice></term>
-    <listitem><para>Changes the default three panel layout into a single column. For more details, see 
+    <listitem><para>Changes the default three panel layout into a single column. For more details, see
      <link linkend="view-change-columns">the appendix</link>.</para></listitem>
     </varlistentry>
-        
+
     <varlistentry>
     <term><menuchoice><shortcut><keycombo action="simul">&Ctrl;&Shift;<keycap>2</keycap></keycombo></shortcut>
-    <guimenu>View</guimenu><guisubmenu><inlinemediaobject><imageobject><imagedata fileref="draw-circle.png" 
+    <guimenu>View</guimenu><guisubmenu><inlinemediaobject><imageobject><imagedata fileref="draw-circle.png"
     format="PNG"/></imageobject></inlinemediaobject>Two columns</guisubmenu></menuchoice></term>
     <listitem><para>Changes the default three panel layout into two panels. For more details, see
      <link linkend="view-change-columns">the appendix</link>.</para></listitem>
     </varlistentry>
-    
+
     <varlistentry>
     <term><menuchoice><shortcut><keycombo action="simul">&Ctrl;&Shift;<keycap>3</keycap></keycombo></shortcut>
-    <guimenu>View</guimenu><guisubmenu><inlinemediaobject><imageobject><imagedata fileref="draw-circle.png" 
+    <guimenu>View</guimenu><guisubmenu><inlinemediaobject><imageobject><imagedata fileref="draw-circle.png"
     format="PNG"/></imageobject></inlinemediaobject>Three columns</guisubmenu></menuchoice></term>
     <listitem><para>Switches back to the default three panel layout.</para></listitem>
     </varlistentry>
-    
+
     <varlistentry>
-    <term><menuchoice><guimenu>View</guimenu><guisubmenu><inlinemediaobject><imageobject><imagedata fileref="draw-rectangle.png" 
+    <term><menuchoice><guimenu>View</guimenu><guisubmenu><inlinemediaobject><imageobject><imagedata fileref="draw-rectangle.png"
     format="PNG"/></imageobject></inlinemediaobject>Show QR Codes</guisubmenu></menuchoice></term>
     <listitem><para>Check this box to display contact information as a QR code. Uncheck it to suppress QR codes.</para></listitem>
     </varlistentry>
-    
+
   </variablelist>
 
   <para> </para> <!-- add more white space between sections @dcb -->
 
   </sect2>
-  
-  <sect2 id="the-action-menu"> 
+
+  <sect2 id="the-action-menu">
   <title>The Action Menu</title>
-  
+
   <para>
   <screenshot id="screenshot-action-menu">
       <screeninfo>A screenshot of &kaddressbook;'s <quote>Action</quote> menu.</screeninfo>
@@ -1372,7 +1372,7 @@
         <phrase>A screenshot of &kaddressbook;'s <quote>Action</quote> menu.</phrase>
     </textobject>
     <caption>
-      <para>&kaddressbook;'s <quote>Action</quote> menu after clicking the 
+      <para>&kaddressbook;'s <quote>Action</quote> menu after clicking the
       <menuchoice><guimenu>Action</guimenu></menuchoice> button on the Menubar.</para>
     </caption>
   </mediaobject>
@@ -1380,39 +1380,39 @@
   </para>
 
   <para> </para> <!-- add more white space after screenshot @dcb -->
-  
+
   <para>The <menuchoice><guimenu>Action</guimenu></menuchoice> menu lets you access two data transmission functions.</para>
 
-  <para> </para> <!-- add more white space @dcb -->  
+  <para> </para> <!-- add more white space @dcb -->
   <variablelist>
-      
+
     <varlistentry>
-    <term><menuchoice><guimenu>Action</guimenu><guisubmenu><inlinemediaobject><imageobject><imagedata fileref="mail-message-new.png" 
+    <term><menuchoice><guimenu>Action</guimenu><guisubmenu><inlinemediaobject><imageobject><imagedata fileref="mail-message-new.png"
     format="PNG"/></imageobject></inlinemediaobject>Send vCards...</guisubmenu></menuchoice></term>
     <listitem><para>This option is similar to <quote>Send an email...</quote>, below, except that after
     you select some contacts with &Ctrl; and your mouse, the message composition window will open with a
     blank list of addressees, and with files attached (the selected contacts, in vCard 3.0 format). This
     makes it easy to share selected &kaddressbook; information with your friends and business associates.</para></listitem>
     </varlistentry>
-    
+
     <varlistentry>
-    <term><menuchoice><guimenu>Action</guimenu><guisubmenu><inlinemediaobject><imageobject><imagedata fileref="mail-message-new.png" 
+    <term><menuchoice><guimenu>Action</guimenu><guisubmenu><inlinemediaobject><imageobject><imagedata fileref="mail-message-new.png"
     format="PNG"/></imageobject></inlinemediaobject>Send an email...</guisubmenu></menuchoice></term>
     <listitem><para>This option provides an alternate method for setting a new email message's recipient list.
-    Press &Ctrl; (or &Shift;) and select the people to whom you wish to send the new message, by using your &LMB;. 
-    Then click on <quote>Send an Email...</quote>; this will open a &kmail; composition window. All 
+    Press &Ctrl; (or &Shift;) and select the people to whom you wish to send the new message, by using your &LMB;.
+    Then click on <quote>Send an Email...</quote>; this will open a &kmail; composition window. All
     the selected contacts will be listed as <quote>To</quote> addressees.</para></listitem>
     </varlistentry>
-    
+
   </variablelist>
-  
+
   <para> </para> <!-- add more white space between sections @dcb -->
 
   </sect2>
-  
-  <sect2 id="the-tools-menu"> 
+
+  <sect2 id="the-tools-menu">
   <title>The Tools Menu</title>
-  
+
   <para>
   <screenshot id="screenshot-tools-menu">
       <screeninfo>A screenshot of &kaddressbook;'s <quote>Tools</quote> menu.</screeninfo>
@@ -1424,7 +1424,7 @@
         <phrase>A screenshot of &kaddressbook;'s <quote>Tools</quote> menu.</phrase>
     </textobject>
     <caption>
-      <para>&kaddressbook;'s <quote>Tools</quote> menu after clicking the 
+      <para>&kaddressbook;'s <quote>Tools</quote> menu after clicking the
       <menuchoice><guimenu>Tools</guimenu></menuchoice> button on the Menubar.</para>
     </caption>
   </mediaobject>
@@ -1432,34 +1432,34 @@
   </para>
 
   <para> </para> <!-- add more white space after screenshot @dcb -->
-  
+
   <para>The <menuchoice><guimenu>Tools</guimenu></menuchoice> menu lets you access two data management functions.</para>
-  
+
   <para> </para> <!-- add more white space @dcb -->
   <variablelist>
-    
+
     <varlistentry>
     <term><menuchoice><guimenu>Tools</guimenu><guisubmenu>Merge Contacts...</guisubmenu></menuchoice></term>
     <listitem><para>This tool allows you to merge the contents of two or more &kaddressbook; records. To activate it,
-    you must first select two or more contacts (hold &Ctrl; or &Shift; and left-click contacts to make your selection). 
-    A dialog box will appear, asking you to verify which contacts you wish to combine, and where the merged record 
+    you must first select two or more contacts (hold &Ctrl; or &Shift; and left-click contacts to make your selection).
+    A dialog box will appear, asking you to verify which contacts you wish to combine, and where the merged record
     should be saved. Click <quote>merge</quote> to complete the operation.</para></listitem>
     </varlistentry>
-      
+
     <varlistentry>
     <term><menuchoice><guimenu>Tools</guimenu><guisubmenu>Search Duplicate Contacts...</guisubmenu></menuchoice></term>
     <listitem><para>This tool will search one or more address books for duplicate entries, and offer you the option
     of merging any duplicate records it finds.</para></listitem>
     </varlistentry>
   </variablelist>
-  
+
   <para> </para> <!-- add more white space between sections @dcb -->
 
   </sect2>
-  
-  <sect2 id="the-settings-menu"> 
+
+  <sect2 id="the-settings-menu">
   <title>The Settings Menu</title>
-  
+
   <para>
   <screenshot id="screenshot-settings-menu">
       <screeninfo>A screenshot of &kaddressbook;'s <quote>Settings</quote> menu.</screeninfo>
@@ -1471,7 +1471,7 @@
         <phrase>A screenshot of &kaddressbook;'s <quote>Settings</quote> menu.</phrase>
     </textobject>
     <caption>
-      <para>&kaddressbook;'s <quote>Settings</quote> menu after clicking the 
+      <para>&kaddressbook;'s <quote>Settings</quote> menu after clicking the
       <menuchoice><guimenu>Settings</guimenu></menuchoice> button on the Menubar.</para>
     </caption>
   </mediaobject>
@@ -1479,60 +1479,60 @@
   </para>
 
   <para> </para> <!-- add more white space after screenshot @dcb -->
-    
+
   <para> </para> <!-- add more white space between sections @dcb -->
 
   <para>The <menuchoice><guimenu>Settings</guimenu></menuchoice> menu offers you five options for fine-tuning the
   way &kaddressbook; operates.</para>
- 
-  <para> </para> <!-- add more white space @dcb --> 
+
+  <para> </para> <!-- add more white space @dcb -->
   <variablelist>
-      
+
     <varlistentry>
-    <term><menuchoice><guimenu>Settings</guimenu><guisubmenu><inlinemediaobject><imageobject><imagedata fileref="draw-rectangle.png" 
-    format="PNG"/></imageobject></inlinemediaobject><inlinemediaobject><imageobject><imagedata fileref="show-menu.png" 
+    <term><menuchoice><guimenu>Settings</guimenu><guisubmenu><inlinemediaobject><imageobject><imagedata fileref="draw-rectangle.png"
+    format="PNG"/></imageobject></inlinemediaobject><inlinemediaobject><imageobject><imagedata fileref="show-menu.png"
     format="PNG"/></imageobject></inlinemediaobject>Show Menubar</guisubmenu></menuchoice>
     <keycombo action="simul">&Ctrl;<keycap>M</keycap></keycombo></term>
     <listitem><para>This option allows you to show or hide the Menubar.</para></listitem>
     </varlistentry>
 
     <varlistentry>
-    <term><menuchoice><guimenu>Settings</guimenu><guisubmenu><inlinemediaobject><imageobject><imagedata fileref="draw-rectangle.png" 
+    <term><menuchoice><guimenu>Settings</guimenu><guisubmenu><inlinemediaobject><imageobject><imagedata fileref="draw-rectangle.png"
     format="PNG"/></imageobject></inlinemediaobject>Show Toolbar</guisubmenu></menuchoice></term>
     <listitem><para>This option allows you to show or hide the Toolbar.</para></listitem>
     </varlistentry>
-    
+
     <varlistentry>
-    <term><menuchoice><guimenu>Settings</guimenu><guisubmenu><inlinemediaobject><imageobject><imagedata fileref="input-keyboard.png" 
+    <term><menuchoice><guimenu>Settings</guimenu><guisubmenu><inlinemediaobject><imageobject><imagedata fileref="input-keyboard.png"
     format="PNG"/></imageobject></inlinemediaobject>Configure Shortcuts...</guisubmenu></menuchoice></term>
     <listitem><para>This option allows you to customize the keyboard shortcuts available within &kaddressbook;.
     See <link linkend="settings-configure-shortcuts">the appendix</link> for more details.</para></listitem>
     </varlistentry>
-    
+
     <varlistentry>
-    <term><menuchoice><guimenu>Settings</guimenu><guisubmenu><inlinemediaobject><imageobject><imagedata fileref="configure.png" 
+    <term><menuchoice><guimenu>Settings</guimenu><guisubmenu><inlinemediaobject><imageobject><imagedata fileref="configure.png"
     format="PNG"/></imageobject></inlinemediaobject>Configure Toolbars...</guisubmenu></menuchoice></term>
     <listitem><para>This option allows you to customize the contents of &kaddressbook;'s Toolbar.
     See <link linkend="settings-configure-toolbars">the appendix</link> for more details.</para></listitem>
     </varlistentry>
 
     <varlistentry>
-    <term><menuchoice><guimenu>Settings</guimenu><guisubmenu><inlinemediaobject><imageobject><imagedata fileref="configure.png" 
+    <term><menuchoice><guimenu>Settings</guimenu><guisubmenu><inlinemediaobject><imageobject><imagedata fileref="configure.png"
     format="PNG"/></imageobject></inlinemediaobject>Configure &kaddressbook;...</guisubmenu></menuchoice>
     <keycombo action="simul">&Ctrl;&Shift;<keycap>,</keycap></keycombo></term>
     <listitem><para>This option allows you to configure several advanced &kaddressbook; options.
     See <link linkend="settings-configure-kaddressbook">the appendix</link> for more details.</para></listitem>
     </varlistentry>
- 
+
   </variablelist>
-  
+
   <para> </para> <!-- add more white space between sections @dcb -->
 
   </sect2>
-  
-  <sect2 id="the-help-menu"> 
+
+  <sect2 id="the-help-menu">
   <title>The Help Menu</title>
-  
+
   <para>
   <screenshot id="screenshot-help-menu">
       <screeninfo>A screenshot of &kaddressbook;'s <quote>Help</quote> menu.</screeninfo>
@@ -1544,7 +1544,7 @@
         <phrase>A screenshot of &kaddressbook;'s <quote>Help</quote> menu.</phrase>
     </textobject>
     <caption>
-      <para>&kaddressbook;'s <quote>Help</quote> menu after clicking the 
+      <para>&kaddressbook;'s <quote>Help</quote> menu after clicking the
       <menuchoice><guimenu>Help</guimenu></menuchoice> button on the Menubar.</para>
     </caption>
   </mediaobject>
@@ -1552,77 +1552,77 @@
   </para>
 
   <para> </para> <!-- add more white space after screenshot @dcb -->
-  
+
   <para>The <menuchoice><guimenu>Help</guimenu></menuchoice> menu offers seven options.</para>
-  
+
   <para> </para> <!-- add more white space @dcb -->
   <variablelist>
-      
+
     <varlistentry>
-    <term><menuchoice><guimenu>Help</guimenu><guisubmenu><inlinemediaobject><imageobject><imagedata fileref="system-help.png" 
+    <term><menuchoice><guimenu>Help</guimenu><guisubmenu><inlinemediaobject><imageobject><imagedata fileref="system-help.png"
     format="PNG"/></imageobject></inlinemediaobject>&kaddressbook; Handbook</guisubmenu></menuchoice>
     <keycombo action="press"><keycap>F1</keycap></keycombo></term>
-    <listitem><para>This option displays a copy of <quote>The &kaddressbook; Handbook</quote> via the 
+    <listitem><para>This option displays a copy of <quote>The &kaddressbook; Handbook</quote> via the
     &khelpcenter; utility program.</para></listitem>
     </varlistentry>
-    
+
     <varlistentry>
-    <term><menuchoice><guimenu>Help</guimenu><guisubmenu><inlinemediaobject><imageobject><imagedata fileref="help-about.png" 
+    <term><menuchoice><guimenu>Help</guimenu><guisubmenu><inlinemediaobject><imageobject><imagedata fileref="help-about.png"
     format="PNG"/></imageobject></inlinemediaobject>What's This?</guisubmenu></menuchoice><keycombo action="simul">&Shift;
     <keycap>F1</keycap></keycombo></term>
-    <listitem><para>This is &kaddressbook;'s built-in help tool. Left-click this option, then move your cursor and click on any 
+    <listitem><para>This is &kaddressbook;'s built-in help tool. Left-click this option, then move your cursor and click on any
     one of the first four items on the Toolbar. A brief description of that tool's function will be displayed.</para></listitem>
     </varlistentry>
-    
+
     <varlistentry>
-    <term><menuchoice><guimenu>Help</guimenu><guisubmenu><inlinemediaobject><imageobject><imagedata fileref="tools-report-bug.png" 
+    <term><menuchoice><guimenu>Help</guimenu><guisubmenu><inlinemediaobject><imageobject><imagedata fileref="tools-report-bug.png"
     format="PNG"/></imageobject></inlinemediaobject>Report Bug</guisubmenu></menuchoice></term>
-    <listitem><para>This option opens a dialog that helps you file a bug report at <ulink 
+    <listitem><para>This option opens a dialog that helps you file a bug report at <ulink
     url="https://bugs.kde.org/">bugs.kde.org</ulink>, &kde;'s main bug tracking page.</para></listitem>
     </varlistentry>
-    
+
     <varlistentry>
-    <term><menuchoice><guimenu>Help</guimenu><guisubmenu><inlinemediaobject><imageobject><imagedata fileref="application-x-ms-shortcut.png" 
+    <term><menuchoice><guimenu>Help</guimenu><guisubmenu><inlinemediaobject><imageobject><imagedata fileref="application-x-ms-shortcut.png"
     format="PNG"/></imageobject></inlinemediaobject>Donate</guisubmenu></menuchoice></term>
     <listitem><para>This opens a <ulink url="https://kde.org/community/donations/?app=kaddressbook">web
     page</ulink> in your browser, where you may donate money to support &kde;. We accept euros, dollars,
     rubles, sterling, yen, yuan, pesos, &etc;</para></listitem>
     </varlistentry>
-    
+
     <varlistentry>
-    <term><menuchoice><guimenu>Help</guimenu><guisubmenu><inlinemediaobject><imageobject><imagedata fileref="change-language.png" 
+    <term><menuchoice><guimenu>Help</guimenu><guisubmenu><inlinemediaobject><imageobject><imagedata fileref="change-language.png"
     format="PNG"/></imageobject></inlinemediaobject>Switch Application Language</guisubmenu></menuchoice></term>
-    <listitem><para>This option lets you change the language that is used to label the various menu items and built-in 
+    <listitem><para>This option lets you change the language that is used to label the various menu items and built-in
     help screens. You must quit &kaddressbook; and restart it before the new language takes effect.</para></listitem>
     </varlistentry>
-    
+
     <varlistentry>
-    <term><menuchoice><guimenu>Help</guimenu><guisubmenu><inlinemediaobject><imageobject><imagedata fileref="kaddressbook.png" 
+    <term><menuchoice><guimenu>Help</guimenu><guisubmenu><inlinemediaobject><imageobject><imagedata fileref="kaddressbook.png"
     format="PNG"/></imageobject></inlinemediaobject>About &kaddressbook;</guisubmenu></menuchoice></term>
     <listitem><para>Click on this item to learn which release of &kaddressbook; you're running, which libraries
     were used to compile / build the executable code, and who the lead &kde; programmer is.</para></listitem>
     </varlistentry>
-    
+
     <varlistentry>
-    <term><menuchoice><guimenu>Help</guimenu><guisubmenu><inlinemediaobject><imageobject><imagedata fileref="KDE_logo.png" 
+    <term><menuchoice><guimenu>Help</guimenu><guisubmenu><inlinemediaobject><imageobject><imagedata fileref="KDE_logo.png"
     format="PNG"/></imageobject></inlinemediaobject>About &kde;</guisubmenu></menuchoice></term>
     <listitem><para>This option displays information about &kde;. Be free!</para></listitem>
     </varlistentry>
-    
+
   </variablelist>
 
   </sect2>
-  
+
   </sect1>
-  
+
   <sect1 id="tool-bar-items">
   <title>The Tool Bar</title>
-  
+
   <para>There are five separate tools available on &kaddressbook;'s Toolbar: <quote>New Contact</quote>, <quote>New Group</quote>,
   <quote>Edit Contact</quote>, <quote>Search...</quote>, and a category filter. Here's a picture. (Note that I have only documented
   the default version of &kaddressbook;'s Toolbar. You may alter the Toolbar layout by using the <link linkend="the-settings-menu">
   <quote>Settings</quote></link> menu, if you so desire.)</para>
-  
+
   <para>
   <screenshot id="screenshot-tool-bar">
       <screeninfo>A closeup of &kaddressbook;'s Toolbar.</screeninfo>
@@ -1639,41 +1639,41 @@
   </mediaobject>
   </screenshot>
   </para>
-  
+
   <para> </para> <!-- add more white space after screenshot @dcb -->
-  
+
   <variablelist>
-      
+
     <varlistentry>
-    <term><guibutton><inlinemediaobject><imageobject><imagedata fileref="list-add.png" 
+    <term><guibutton><inlinemediaobject><imageobject><imagedata fileref="list-add.png"
     format="PNG"/></imageobject></inlinemediaobject>New Contact</guibutton></term>
     <listitem><para>This Toolbar button opens the <quote>Add New Contact</quote> dialog
     documented in <link linkend="edit-basic-info">chapter 4</link>, above.</para></listitem>
     </varlistentry>
-      
+
     <varlistentry>
-    <term><guibutton><inlinemediaobject><imageobject><imagedata fileref="user-group-new.png" 
+    <term><guibutton><inlinemediaobject><imageobject><imagedata fileref="user-group-new.png"
     format="PNG"/></imageobject></inlinemediaobject>New Group</guibutton></term>
     <listitem><para>This Toolbar button opens the <quote>Add New Group</quote> dialog
     documented in <link linkend="file-new-group">the appendix</link>.</para></listitem>
     </varlistentry>
-    
+
     <varlistentry>
-    <term><guibutton><inlinemediaobject><imageobject><imagedata fileref="document-edit.png" 
+    <term><guibutton><inlinemediaobject><imageobject><imagedata fileref="document-edit.png"
     format="PNG"/></imageobject></inlinemediaobject>Edit Contact</guibutton></term>
     <listitem><para>This Toolbar button opens the <quote>Edit Contact</quote> dialog
     documented in <link linkend="edit-basic-info">chapter 4</link>, above.</para></listitem>
     </varlistentry>
-      
+
     <varlistentry>
     <term>[ Search... <keycombo action="simul">&Alt;<keycap>Q</keycap></keycombo> ]</term>
     <listitem><para>This tool searches through all the contacts in selected address books as you type.
-    Pressing <keycombo>&Alt;<keycap>Q</keycap></keycombo> simply positions the cursor inside the 
-    <quote>Search...</quote> box. Be aware that this function searches the entirety of each contact 
-    record; a search for <quote>and</quote> may return not only Andy Brown and Andrew Jones, but also 
+    Pressing <keycombo>&Alt;<keycap>Q</keycap></keycombo> simply positions the cursor inside the
+    <quote>Search...</quote> box. Be aware that this function searches the entirety of each contact
+    record; a search for <quote>and</quote> may return not only Andy Brown and Andrew Jones, but also
     Bill Smith (who happens to work for Brown and Root Construction Company).</para></listitem>
     </varlistentry>
-    
+
   </variablelist>
 
   <para>
@@ -1694,9 +1694,9 @@
   </para>
 
   <para> </para> <!-- add more white space after screenshot @dcb -->
-  
+
   <variablelist>
-      
+
     <varlistentry>
     <term>[ (All) <inlinemediaobject><imageobject><imagedata fileref="edit-clear.png" format="PNG"/></imageobject></inlinemediaobject>
     <inlinemediaobject><imageobject><imagedata fileref="go-down.png" format="PNG"/></imageobject></inlinemediaobject>]</term>
@@ -1707,9 +1707,9 @@
     categories to <quote>None</quote>; the <guibutton><inlinemediaobject><imageobject><imagedata fileref="view-refresh.png" format="PNG"/>
     </imageobject></inlinemediaobject></guibutton> button will reset the selection criteria to <quote>All</quote>.</para></listitem>
     </varlistentry>
-    
-  </variablelist>  
-  
+
+  </variablelist>
+
   <para>
   <screenshot id="toolbar-filter">
       <screeninfo>A screenshot of &kaddressbook;'s <quote>Filter</quote> function.</screeninfo>
@@ -1726,19 +1726,19 @@
   </mediaobject>
   </screenshot>
   </para>
-     
+
   </sect1>
-  
+
   <sect1 id="context-menus">
   <title>The Context Menus</title>
-  
+
   <para>When you click the &RMB; anywhere inside the main Text Area, a context menu will appear, as illustrated below.
   The particular menu that appears depends on both the panel within which the right-click occurred and the particular data item that
   was selected, if any.</para>
-  
+
   <sect2 id="the-addressbook-panel">
   <title>The Address Book Context Menu</title>
-  
+
   <para>
   <screenshot id="addressbook-context-menu">
       <screeninfo>A screenshot of &kaddressbook;'s <quote>Address Book</quote> context menu.</screeninfo>
@@ -1755,61 +1755,61 @@
   </mediaobject>
   </screenshot>
   </para>
-  
+
   <para> </para> <!-- add more white space after screenshot @dcb -->
-  
+
   <variablelist>
-      
+
     <varlistentry>
-    <term><menuchoice><guimenu><inlinemediaobject><imageobject><imagedata fileref="folder-new.png" 
+    <term><menuchoice><guimenu><inlinemediaobject><imageobject><imagedata fileref="folder-new.png"
     format="PNG"/></imageobject></inlinemediaobject>Add Address Book Folder...</guimenu></menuchoice></term>
     <listitem><para>This context menu option does not perform a useful function in release 5.10.3.</para></listitem>
     </varlistentry>
-      
+
     <varlistentry>
-    <term><menuchoice><guimenu><inlinemediaobject><imageobject><imagedata fileref="edit-delete.png" 
+    <term><menuchoice><guimenu><inlinemediaobject><imageobject><imagedata fileref="edit-delete.png"
     format="PNG"/></imageobject></inlinemediaobject>Delete Address Book Folder</guimenu></menuchoice></term>
     <listitem><para>This context menu option does not perform a useful function in release 5.10.3.</para></listitem>
     </varlistentry>
-    
+
     <varlistentry>
-    <term><menuchoice><guimenu><inlinemediaobject><imageobject><imagedata fileref="folder-new.png" 
+    <term><menuchoice><guimenu><inlinemediaobject><imageobject><imagedata fileref="folder-new.png"
     format="PNG"/></imageobject></inlinemediaobject>Add Address Book...</guimenu></menuchoice></term>
     <listitem><para>This context menu option launches the <quote>Add Address Book</quote> dialog that is
     documented in <link linkend="how-to-add-a-new-address-book">chapter 2</link>, above.</para></listitem>
     </varlistentry>
-    
+
     <varlistentry>
-    <term><menuchoice><guimenu><inlinemediaobject><imageobject><imagedata fileref="edit-delete.png" 
+    <term><menuchoice><guimenu><inlinemediaobject><imageobject><imagedata fileref="edit-delete.png"
     format="PNG"/></imageobject></inlinemediaobject>Delete Address Book</guimenu></menuchoice></term>
-    <listitem><para>Choosing this context menu option will delete the selected address book. 
+    <listitem><para>Choosing this context menu option will delete the selected address book.
     Be careful!</para></listitem>
     </varlistentry>
-    
+
     <varlistentry>
     <term><menuchoice><shortcut><keycombo action="press"><keycap>F5</keycap></keycombo></shortcut><guimenu><inlinemediaobject>
-    <imageobject><imagedata fileref="view-refresh.png" format="PNG"/></imageobject></inlinemediaobject>Update Address Book 
+    <imageobject><imagedata fileref="view-refresh.png" format="PNG"/></imageobject></inlinemediaobject>Update Address Book
     Folder</guimenu></menuchoice></term>
     <listitem><para>This context menu option forces &kaddressbook; to reload the contact
     data associated with the selected address book.</para></listitem>
     </varlistentry>
-      
+
     <varlistentry>
-    <term><menuchoice><guimenu><inlinemediaobject><imageobject><imagedata fileref="configure.png" 
+    <term><menuchoice><guimenu><inlinemediaobject><imageobject><imagedata fileref="configure.png"
     format="PNG"/></imageobject></inlinemediaobject>Folder Properties...</guimenu></menuchoice></term>
-    <listitem><para>This context menu option displays summary information about the selected 
+    <listitem><para>This context menu option displays summary information about the selected
     address book.</para></listitem>
     </varlistentry>
-    
+
     <varlistentry>
-    <term><menuchoice><guimenu><inlinemediaobject><imageobject><imagedata fileref="configure.png" 
+    <term><menuchoice><guimenu><inlinemediaobject><imageobject><imagedata fileref="configure.png"
     format="PNG"/></imageobject></inlinemediaobject>Address Book Properties...</guimenu></menuchoice></term>
-    <listitem><para>This context menu option displays summary information about the selected 
+    <listitem><para>This context menu option displays summary information about the selected
     address book.</para></listitem>
     </varlistentry>
-      
+
     <varlistentry>
-    <term><menuchoice><guimenu><inlinemediaobject><imageobject><imagedata fileref="document-open.png" 
+    <term><menuchoice><guimenu><inlinemediaobject><imageobject><imagedata fileref="document-open.png"
     format="PNG"/></imageobject></inlinemediaobject>Serverside Subscription...</guimenu></menuchoice></term>
     <listitem><para>This context menu option may or may not perform a useful function in release 5.10.3; so
     far as I can tell, it is permanently grayed out. If you understand what it does, please let me know
@@ -1817,14 +1817,14 @@
     </varlistentry>
 
   </variablelist>
-  
+
   <para> </para> <!-- add more white space between sections @dcb -->
-  
+
   </sect2>
-  
+
   <sect2 id="the-contactslist-panel">
   <title>The List of Contacts Context Menu</title>
-  
+
   <para>
   <screenshot id="contactlist-context-menu">
       <screeninfo>A screenshot of &kaddressbook;'s <quote>Contact List</quote> context menu.</screeninfo>
@@ -1841,20 +1841,20 @@
   </mediaobject>
   </screenshot>
   </para>
-  
+
   <para> </para> <!-- add more white space after screenshot @dcb -->
-  
+
   <variablelist>
-  
+
     <varlistentry>
     <term><menuchoice><shortcut><keycombo action="simul">&Ctrl;<keycap>N</keycap></keycombo></shortcut>
     <guimenu><inlinemediaobject><imageobject><imagedata fileref="list-add.png" format="PNG"/>
     </imageobject></inlinemediaobject>New Contact</guimenu></menuchoice></term>
-    <listitem><para>Choosing this context menu option has exactly the same effect as clicking the 
-    <guibutton> + New Contact </guibutton> button on the Toolbar. See <link 
+    <listitem><para>Choosing this context menu option has exactly the same effect as clicking the
+    <guibutton> + New Contact </guibutton> button on the Toolbar. See <link
     linkend="how-to-add-a-new-contact">chapter 2 above</link> for complete details.</para></listitem>
-    </varlistentry> 
-    
+    </varlistentry>
+
     <varlistentry>
     <term><menuchoice><shortcut><keycombo action="simul">&Ctrl;<keycap>G</keycap></keycombo></shortcut>
     <guimenu><inlinemediaobject><imageobject><imagedata fileref="user-group-new.png" format="PNG"/>
@@ -1862,35 +1862,35 @@
     <listitem><para>Choosing this context menu option opens a dialog in which you may define a new group, or mailing
     list. See  <link linkend="file-new-group">the appendix</link> for a detailed explanation.</para></listitem>
     </varlistentry>
-    
+
     <varlistentry>
     <term><menuchoice><guimenu><inlinemediaobject><imageobject><imagedata fileref="document-edit.png" format="PNG"/>
     </imageobject></inlinemediaobject>Edit Contact ...</guimenu></menuchoice></term>
     <listitem><para>Choosing this context menu option has exactly the same effect as clicking the <guibutton><inlinemediaobject>
-    <imageobject><imagedata fileref="document-edit.png" format="PNG"/></imageobject></inlinemediaobject>Edit Contact...</guibutton> button 
+    <imageobject><imagedata fileref="document-edit.png" format="PNG"/></imageobject></inlinemediaobject>Edit Contact...</guibutton> button
     on the Toolbar. See <link linkend="how-to-add-a-new-contact">chapter 2 above</link> for complete details.</para></listitem>
     </varlistentry>
-    
+
     <varlistentry>
     <term><menuchoice><guimenu>Export  ></guimenu></menuchoice></term>
     <listitem><para>This context menu function allows you to export selected contact data in either <acronym>vCard</acronym> or
     <acronym>csv</acronym> format.</para></listitem>
     </varlistentry>
-    
+
     <varlistentry>
     <term><menuchoice><guimenu><inlinemediaobject><imageobject><imagedata fileref="edit-copy.png" format="PNG"/></imageobject>
     </inlinemediaobject>Copy Contact To   ></guimenu></menuchoice></term>
-    <listitem><para>This context menu choice lets you copy the selected contact(s) to a variable destination. The list of 
+    <listitem><para>This context menu choice lets you copy the selected contact(s) to a variable destination. The list of
     destinations displayed when this option is chosen depends on how many address books you have created.</para></listitem>
     </varlistentry>
-    
+
     <varlistentry>
     <term><menuchoice><guimenu><inlinemediaobject><imageobject><imagedata fileref="go-jump.png" format="PNG"/></imageobject>
     </inlinemediaobject>Move Contact To   ></guimenu></menuchoice></term>
     <listitem><para>Works just like the <quote>Copy Contact To</quote> operation described above, except that it deletes
     the source data, instead of creating an extra copy of it.</para></listitem>
     </varlistentry>
-    
+
     <varlistentry>
     <term><menuchoice><shortcut><keycombo action="simul">&Ctrl;<keycap>P</keycap></keycombo></shortcut><guimenu><inlinemediaobject>
     <imageobject><imagedata fileref="document-print.png" format="PNG"/></imageobject></inlinemediaobject>Print</guimenu></menuchoice></term>
@@ -1899,28 +1899,28 @@
     </menuchoice> dialog below to set up the range of names and the print format before you select this function.</para></listitem>
     </varlistentry>
 
-    <varlistentry>    
+    <varlistentry>
     <term><menuchoice><guimenu><inlinemediaobject><imageobject><imagedata fileref="document-preview-archive.png" format="PNG"/>
     </imageobject></inlinemediaobject>Print Preview</guimenu></menuchoice></term>
     <listitem><para>This context menu option opens a print preview dialog, which also permits you to format the report, select which items to
     include, and specify a sort order, &etc; See  <link linkend="file-print-preview">the appendix</link> for further details.</para></listitem>
     </varlistentry>
-    
+
     <varlistentry>
-    <term><menuchoice><shortcut><keycombo action="press">∇</keycombo></shortcut><guimenu><inlinemediaobject><imageobject><imagedata 
+    <term><menuchoice><shortcut><keycombo action="press">∇</keycombo></shortcut><guimenu><inlinemediaobject><imageobject><imagedata
     fileref="edit-delete.png" format="PNG"/></imageobject></inlinemediaobject>Delete Contact</guimenu></menuchoice></term>
     <listitem><para>Delete the selected contact(s) from the current address book.</para></listitem>
     </varlistentry>
-        
-  </variablelist>    
-  
+
+  </variablelist>
+
   <para> </para> <!-- add more white space between sections @dcb -->
-  
+
   </sect2>
-  
+
   <sect2 id="the-individualcontact-panel">
   <title>The Individual Contact Context Menu</title>
-  
+
   <para>
   <screenshot id="individualcontact-context-menu">
       <screeninfo>A screenshot of &kaddressbook;'s <quote>Individual Contact</quote> context menu.</screeninfo>
@@ -1937,22 +1937,22 @@
   </mediaobject>
   </screenshot>
   </para>
-  
+
   <para> </para> <!-- add more white space after screenshot @dcb -->
-  
-  <para>Depending on which data item you select, the caption in this context menu may vary. But in 
+
+  <para>Depending on which data item you select, the caption in this context menu may vary. But in
   every case, the function is the same: the selected data item is copied to the clipboard.</para>
-      
+
   </sect2>
-  
+
   </sect1>
-  
+
 </chapter>
 
 <glossary>
-   
+
 <!-- Note to proofreaders: I'm still building the glossary. @dcb2019223 -->
-    
+
   <glossentry id="gloss-aim">
   <glossterm><acronym>AIM</acronym></glossterm>
   <glossdef><para><acronym>AIM</acronym> stands for America Online Instant Messaging. AIM was an early leader in
@@ -1960,14 +1960,14 @@
   was discontinued in 2017, but fans have kept it running <ulink url="http://iwarg.ddns.net/aim/">at this
   web site</ulink>.</para></glossdef>
   </glossentry>
-  
+
   <glossentry id="gloss-akonadi">
   <glossterm>&akonadi;</glossterm>
-  <glossdef><para>An extensible cross-desktop storage service for &PIM; data and meta data providing 
-  concurrent read, write, and query access.    &akonadi; can be manipulated with the akonadictl 
+  <glossdef><para>An extensible cross-desktop storage service for &PIM; data and meta data providing
+  concurrent read, write, and query access.    &akonadi; can be manipulated with the akonadictl
   command: enter <quote>akonadictl --help</quote> in a console window to learn more.</para></glossdef>
   </glossentry>
-    
+
   <glossentry id="gloss-cloud">
   <glossterm>Cloud-based service</glossterm>
   <glossdef><para>Any provider of data storage and data processing resources residing in some
@@ -1976,17 +1976,17 @@
 
   <glossentry id="gloss-csv">
   <glossterm>.csv</glossterm>
-  <glossdef><para>A Comma Separated Values (or <filename class="extension">.csv</filename>) file is a 
-  plain text document in which each line, or record, is divided into fields by a specific separator character, 
-  usually a comma. The <filename class="extension">.csv</filename> format dates back to the early days 
+  <glossdef><para>A Comma Separated Values (or <filename class="extension">.csv</filename>) file is a
+  plain text document in which each line, or record, is divided into fields by a specific separator character,
+  usually a comma. The <filename class="extension">.csv</filename> format dates back to the early days
   of computing. It is still widely used, mainly because it is conceptually so simple.</para></glossdef>
-  </glossentry> 
-  
+  </glossentry>
+
   <glossentry id="gloss-dav">
   <glossterm><acronym>DAV</acronym></glossterm>
   <glossdef><para><acronym>DAV</acronym> stands for Distributed Authoring and Versioning, which exists in
-  several <quote>flavors</quote>, such as WebDAV (for creating pages on the internet), GroupDAV (for groupware, 
-  open source software authored by a group of collaborators), and CalDAV (calendar management for groups), 
+  several <quote>flavors</quote>, such as WebDAV (for creating pages on the internet), GroupDAV (for groupware,
+  open source software authored by a group of collaborators), and CalDAV (calendar management for groups),
   each one of which helps connect open source clients with open source servers.</para></glossdef>
   </glossentry>
 
@@ -1997,14 +1997,14 @@
   credentials. See <ulink url="https://en.wikipedia.org/wiki/Digest_access_authentication">this Wikipedia article</ulink>
   to learn more about it.</para></glossdef>
   </glossentry>
-  
+
   <glossentry id="gloss-ews">
   <glossterm><acronym>EWS</acronym></glossterm>
-  <glossdef><para><acronym>EWS</acronym> stands for Exchange Web Services,  &Microsoft;'s  set of 
+  <glossdef><para><acronym>EWS</acronym> stands for Exchange Web Services,  &Microsoft;'s  set of
   proprietary protocols for exchanging personal data between internet servers and end users, or clients.
     <glossterm linkend="gloss-kolab">Kolab</glossterm> provides similar functionality.</para></glossdef>
   </glossentry>
-  
+
   <glossentry id="gloss-gadu-gadu">
   <glossterm>Gadu-Gadu</glossterm>
   <glossdef><para>Gadu-Gadu (aka GG) is the most popular instant-messaging app in Poland.</para></glossdef>
@@ -2023,7 +2023,7 @@
   user's email address. It is usually displayed as an 80px X 80px graphic image. Since many bloggers use
   WordPress software, the Gravatar is widely available.</para></glossdef>
   </glossentry>
-  
+
   <glossentry id="gloss-gpws">
   <glossterm>GroupWise</glossterm>
   <glossdef><para>GroupWise Messenger is an instant messaging service sponsored by Micro Focus International
@@ -2033,7 +2033,7 @@
 
   <glossentry id="gloss-gssapi">
   <glossterm><acronym>GSSAPI</acronym></glossterm>
-  <glossdef><para><acronym>GSSAPI</acronym> stands for Generic Security Service Application Program Interface, 
+  <glossdef><para><acronym>GSSAPI</acronym> stands for Generic Security Service Application Program Interface,
   a sort of <quote>dictionary</quote> for the many security protocols in use on the internet. It consists of a
   program library and a set of standard subroutine calls that allow an internet client to determine which particular
   security protocol an internet service is using, and then to encode/decode the user's credentials appropriately.</para></glossdef>
@@ -2045,23 +2045,23 @@
   Seek You</quote>. It is one of the original IM platforms, first coming online in 1996. The software is available
   for download <ulink url="https://icq.com/linux/en">here</ulink>.</para></glossdef>
   </glossentry>
-  
+
   <glossentry id="gloss-imap">
   <glossterm>&IMAP;</glossterm>
-  <glossdef><para>&IMAP; stands for Internet Message Access Protocol, a widely 
-  available method for managing email messages. &IMAP; maintains and synchronizes local and remote 
-  copies of a set of messages -- in other words, the locally stored data for an &IMAP; account are 
+  <glossdef><para>&IMAP; stands for Internet Message Access Protocol, a widely
+  available method for managing email messages. &IMAP; maintains and synchronizes local and remote
+  copies of a set of messages -- in other words, the locally stored data for an &IMAP; account are
   a mirror image of the messages on the server.</para></glossdef>
   </glossentry>
-  
+
   <glossentry id="gloss-inline-pgp">
   <glossterm>Inline OpenPGP</glossterm>
-  <glossdef><para>Inline OpenPGP is an encryption protocol in which PGP signatures are directly 
+  <glossdef><para>Inline OpenPGP is an encryption protocol in which PGP signatures are directly
   embedded in the body of the email message. This protocol is deprecated because of technical
-  difficulties caused by the indiscriminate use of non-ASCII characters in plain-text email 
+  difficulties caused by the indiscriminate use of non-ASCII characters in plain-text email
   messages.</para></glossdef>
   </glossentry>
-  
+
   <glossentry id="gloss-irc">
   <glossterm>&irc;</glossterm>
   <glossdef><para>&irc; stands for Internet Relay Chat, an IM service that has its
@@ -2070,61 +2070,61 @@
   more popular. One larger remaining network is Libera Chat; it can be accessed <ulink
   url="https://web.libera.chat/">via this web site</ulink>.</para></glossdef>
   </glossentry>
-  
+
   <glossentry id="gloss-isdn">
   <glossterm><acronym>ISDN</acronym></glossterm>
   <glossdef><para><acronym>ISDN</acronym> stands for Integrated Services Data Network, the very first set of
   telecommunication standards that permitted the simultaneous transmission of analog voice signals and digital
   data signals over a switched network of copper wires (&ie; the old-style telephone system). <acronym>ISDN</acronym>
   was unavoidable in the early days of the Internet, but has lately been supplanted by more robust technologies
-  that permit unswitched connections over networks that utilize fiber optic cables, satellites, and very high 
-  frequency microwave transmitters / receivers. It is still widely used in a few industrial applications where 
+  that permit unswitched connections over networks that utilize fiber optic cables, satellites, and very high
+  frequency microwave transmitters / receivers. It is still widely used in a few industrial applications where
   a direct point-to-point connection is necessary, but is on the way out in the broader consumer market.</para></glossdef>
   </glossentry>
-  
+
   <glossentry id="gloss-jabber">
   <glossterm>Jabber</glossterm>
   <glossdef><para>Jabber is an instant-messaging service that relies on the <glossterm linkend="gloss-xmpp"><acronym>XMPP</acronym>
-  </glossterm> protocol. The original <quote>Jabber</quote> web site is no longer accepting new registrations, but the 
-  <acronym>XMPP</acronym> protocol is in widespread use. See <ulink url="https://xmpp.org/about/">this web site</ulink> 
+  </glossterm> protocol. The original <quote>Jabber</quote> web site is no longer accepting new registrations, but the
+  <acronym>XMPP</acronym> protocol is in widespread use. See <ulink url="https://xmpp.org/about/">this web site</ulink>
   for more information.</para></glossdef>
   </glossentry>
-  
+
   <glossentry id="gloss-kmail">
   <glossterm>&kmail;</glossterm>
   <glossdef><para>&kde;'s email management program. Provides a fully integrated environment
   for sending and receiving email messages from one (or more) email account(s), maintaining
   as many email identities as you want to have, organizing and archiving your old email
   messages, and managing your personal email encryption keys.</para></glossdef>
-  </glossentry> 
-  
+  </glossentry>
+
   <glossentry id="gloss-kolab">
   <glossterm>Kolab</glossterm>
-  <glossdef><para>Kolab Systems AG is a corporation headquartered in Zurich, Switzerland that 
-  provides both proprietary and open source software tools to facilitate collaboration among 
-  groups of people who share data, messages, and calendaring / scheduling resources via the 
+  <glossdef><para>Kolab Systems AG is a corporation headquartered in Zurich, Switzerland that
+  provides both proprietary and open source software tools to facilitate collaboration among
+  groups of people who share data, messages, and calendaring / scheduling resources via the
   internet.  <glossterm linkend="gloss-ews">EWS</glossterm>  provides similar, though
   wholly proprietary, software packages.</para></glossdef>
   </glossentry>
-  
+
   <glossentry id="gloss-ldap">
   <glossterm><acronym>LDAP</acronym></glossterm>
   <glossdef><para>The Lightweight Directory Access Protocol (or  <acronym>ldap</acronym>) is
-  a standard protocol, or method, for sharing some particular classes of information among the 
+  a standard protocol, or method, for sharing some particular classes of information among the
   many server computers that comprise the internet.</para></glossdef>
-  </glossentry> 
-  
+  </glossentry>
+
   <glossentry id="gloss-ldif">
   <glossterm>.ldif</glossterm>
-  <glossdef><para>An <glossterm linkend="gloss-ldap"><acronym>LDAP</acronym></glossterm> 
-  Data Interchange Format (or <filename class="extension">.ldif</filename>) file is a type 
-  of plain text file designed for exchanging directory information among the various servers 
+  <glossdef><para>An <glossterm linkend="gloss-ldap"><acronym>LDAP</acronym></glossterm>
+  Data Interchange Format (or <filename class="extension">.ldif</filename>) file is a type
+  of plain text file designed for exchanging directory information among the various servers
   in a distributed network.</para></glossdef>
-  </glossentry> 
+  </glossentry>
 
   <glossentry id="gloss-mnwhl">
   <glossterm>Meanwhile</glossterm>
-  <glossdef><para><quote>Meanwhile</quote> is open source software designed to communicate with IBM's 
+  <glossdef><para><quote>Meanwhile</quote> is open source software designed to communicate with IBM's
   <ulink url="https://en.wikipedia.org/wiki/IBM_Sametime"><quote>Sametime</quote></ulink> instant
   messaging software. See <ulink url="https://github.com/obriencj/meanwhile">this web site</ulink>
   if you want to learn more about it.</para></glossdef>
@@ -2138,39 +2138,39 @@
   email coding conventions supported nothing besides plain text (or encrypted) messages written with 7-bit
   ASCII code. Almost all contemporary email messages are &MIME; encoded.</para></glossdef>
   </glossentry>
-   
+
   <glossentry id="gloss-open-pgp">
   <glossterm>OpenPGP/&MIME;</glossterm>
-  <glossdef><para>OpenPGP/&MIME; refers to an encryption convention for <glossterm 
+  <glossdef><para>OpenPGP/&MIME; refers to an encryption convention for <glossterm
   linkend="gloss-acro-mime">&MIME;</glossterm> encoded email messages. A special set
   of &MIME; headers are wrapped around the PGP signature, allowing an email client
   program to conceal the signature when the message is displayed.</para></glossdef>
   </glossentry>
-  
+
   <glossentry id="gloss-group">
   <glossterm>Open-Xchange Groupware Server</glossterm>
-  <glossdef><para>Open-Xchange AG is a corporation headquartered in Cologne, Germany that 
-  provides both proprietary and open source software tools to facilitate collaboration among 
-  groups of people who share data, messages, and calendaring / scheduling resources via the 
+  <glossdef><para>Open-Xchange AG is a corporation headquartered in Cologne, Germany that
+  provides both proprietary and open source software tools to facilitate collaboration among
+  groups of people who share data, messages, and calendaring / scheduling resources via the
   internet.  <glossterm linkend="gloss-ews">EWS</glossterm>  and  <glossterm
   linkend="gloss-kolab">Kolab</glossterm> provide similar software packages.</para></glossdef>
   </glossentry>
-  
+
   <glossentry id="gloss-pcs">
   <glossterm><acronym>PCS</acronym></glossterm>
   <glossdef><para><acronym>PCS</acronym> stands for Personal Communication Service, which is basically
   a cell phone with some extra functionality built in. <acronym>PCS</acronym> phones operate on a
-  higher frequency band than traditional cell phones, which implies that they can provide more 
+  higher frequency band than traditional cell phones, which implies that they can provide more
   bandwidth than older cell phones.</para></glossdef>
   </glossentry>
-    
+
   <glossentry id="gloss-pgp">
   <glossterm><acronym>PGP</acronym></glossterm>
   <glossdef><para><acronym>PGP</acronym> stands for Pretty Good Privacy, a data-encryption program
   that was released by Philip Zimmerman in 1991. Most email encryption software in use today employs
   some variant of PGP to encrypt, decrypt, and cryptographically sign messages.</para></glossdef>
   </glossentry>
-    
+
   <glossentry id="gloss-pim">
   <glossterm>&PIM;</glossterm>
   <glossdef><para>&kde;'s Personal Information Management system, a suite of programs
@@ -2178,8 +2178,8 @@
    &kmail;,  &kaddressbook;,  &korganizer;,  &akregator;, and
    &akonadi;. Also used more generally to describe any system for managing personal
   information such as names, addresses, telephone numbers, &etc;</para></glossdef>
-  </glossentry>  
-  
+  </glossentry>
+
   <glossentry id="gloss-qrcode">
   <glossterm>QR Code</glossterm>
   <glossdef><para>QR Code stands for Quick Response Code, a two-dimensional barcode used to represent
@@ -2189,17 +2189,17 @@
 
   <glossentry id="gloss-sasl">
   <glossterm><acronym>SASL</acronym></glossterm>
-  <glossdef><para><acronym>SASL</acronym> stands for Simple Authentication and Security Layer, a framework for 
+  <glossdef><para><acronym>SASL</acronym> stands for Simple Authentication and Security Layer, a framework for
   client authentication (passwords and usernames) and data security (encrypted connections). It supports more than
   a dozen different protocols.</para></glossdef>
   </glossentry>
-  
+
   <glossentry id="gloss-mime">
   <glossterm><acronym>S/MIME</acronym></glossterm>
-  <glossdef><para><acronym>S/MIME</acronym> stands for Secure / Multipurpose Internet Mail Extensions, 
-  a standard cryptographic method for signing, encrypting, abd decrypting email messages. Unlike 
+  <glossdef><para><acronym>S/MIME</acronym> stands for Secure / Multipurpose Internet Mail Extensions,
+  a standard cryptographic method for signing, encrypting, abd decrypting email messages. Unlike
   <glossterm linkend="gloss-pgp"><acronym>PGP</acronym></glossterm>, which uses private keys, <acronym>S/MIME</acronym>
-  uses publicly published encryption keys certified by a Certificate Authority, such as <ulink 
+  uses publicly published encryption keys certified by a Certificate Authority, such as <ulink
   url="https://www.verisign.com/">Verisign</ulink>.</para></glossdef>
   </glossentry>
 
@@ -2210,7 +2210,7 @@
   but the entire contents of the message are rolled up into a single &MIME; object. (Most &MIME; encoded
   email messages consist of two or more separate &MIME; objects.)</para></glossdef>
   </glossentry>
- 
+
   <glossentry id="gloss-sms">
   <glossterm><acronym>SMS</acronym></glossterm>
   <glossdef><para><acronym>SMS</acronym> stands for Short Message Service, a text-messaging service built into
@@ -2229,25 +2229,25 @@
   <glossdef><para><acronym>TLS</acronym> stands for Transport Layer Security, a cryptographic protocol that is
   widely used to secure internet communications. Its primary function is to allow a client and a server to exchange
   enough information securely that they can set up a pair of encryption / decryption keys for use during the
-  rest of the internet session. <acronym>TLS</acronym> is the weakest link in the chain connecting a client program 
+  rest of the internet session. <acronym>TLS</acronym> is the weakest link in the chain connecting a client program
   to a secure (encrypted) internet service. It has been the target of several hacking exploits, and it has been
   revised several times in response to those attacks.</para></glossdef>
   </glossentry>
-  
+
   <glossentry id="gloss-vcf">
   <glossterm>.vcf</glossterm>
-  <glossdef><para>The Virtual (business) Card Format (or <filename class="extension">.vcf</filename>) 
+  <glossdef><para>The Virtual (business) Card Format (or <filename class="extension">.vcf</filename>)
   is a keyword-oriented data interchange format that has gone through several iterations (2.0,
-  2.1, 3.0,  &etc;) since its introduction  <emphasis>ca.</emphasis> 1990. The most recent 
+  2.1, 3.0,  &etc;) since its introduction  <emphasis>ca.</emphasis> 1990. The most recent
   version is vCard 4.0.</para></glossdef>
   </glossentry>
 
   <glossentry id="gloss-xmpp">
   <glossterm><acronym>XMPP</acronym></glossterm>
-  <glossdef><para><acronym>XMPP</acronym> stands for Extensible Messaging and Presence Protocol, the 
+  <glossdef><para><acronym>XMPP</acronym> stands for Extensible Messaging and Presence Protocol, the
   basic technological underpinning for the <quote>Jabber</quote> instant messaging service.</para></glossdef>
   </glossentry>
-  
+
   </glossary>
 
 &docbook-reference;
diff --git a/kontactplugin/CMakeLists.txt b/kontactplugin/CMakeLists.txt
index b724d4805..c5ef2511f 100644
--- a/kontactplugin/CMakeLists.txt
+++ b/kontactplugin/CMakeLists.txt
@@ -3,24 +3,30 @@
 include_directories(${kaddressbook_SOURCE_DIR})
 add_library(kontact_kaddressbookplugin MODULE)
 
-target_sources(kontact_kaddressbookplugin PRIVATE
-    kaddressbook_plugin.cpp
-    kaddressbook_plugin.h
+target_sources(
+    kontact_kaddressbookplugin
+    PRIVATE kaddressbook_plugin.cpp kaddressbook_plugin.h
 )
 ecm_qt_declare_logging_category(kontact_kaddressbookplugin HEADER kaddressbookplugin_debug.h IDENTIFIER KADDRESSBOOKPLUGIN_LOG CATEGORY_NAME org.kde.pim.kaddressbook_plugin
         DESCRIPTION "kaddressbook (kaddressbook kontact plugins)"
         OLD_CATEGORY_NAMES log_kaddressbook_plugin
         EXPORT KADDRESSBOOK
-   )
+)
 set(kontact_kaddressbook_interface_SRCS)
 qt_add_dbus_interfaces(kontact_kaddressbook_interface_SRCS ../src/org.kde.kaddressbook.xml)
-target_sources(kontact_kaddressbookplugin PRIVATE ${kontact_kaddressbook_interface_SRCS})
-
+target_sources(
+    kontact_kaddressbookplugin
+    PRIVATE ${kontact_kaddressbook_interface_SRCS}
+)
 
-target_link_libraries(kontact_kaddressbookplugin
+target_link_libraries(
+    kontact_kaddressbookplugin
     KF6::I18n
     KPim6::KontactInterface
     Qt::DBus
 )
 
-install(TARGETS kontact_kaddressbookplugin DESTINATION ${KDE_INSTALL_PLUGINDIR}/pim6/kontact)
+install(
+    TARGETS kontact_kaddressbookplugin
+    DESTINATION ${KDE_INSTALL_PLUGINDIR}/pim6/kontact
+)
diff --git a/readme-build-ftime.txt b/readme-build-ftime.txt
index 833cfa009..b931a1804 100644
--- a/readme-build-ftime.txt
+++ b/readme-build-ftime.txt
@@ -23,4 +23,3 @@ ClangBuildAnalyzer --analyze build-ftime.txt > analyze-build-ftime.txt
 
 
 see https://aras-p.info/blog/2019/09/28/Clang-Build-Analyzer/
-
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 247966146..55db408f6 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -1,13 +1,12 @@
 # SPDX-License-Identifier: CC0-1.0
 # SPDX-FileCopyrightText: none
-configure_file(kaddressbook-version.h.in ${CMAKE_CURRENT_BINARY_DIR}/kaddressbook-version.h @ONLY)
-
-
-
-include_directories(
-    ${CMAKE_CURRENT_SOURCE_DIR}/printing/
-   )
+configure_file(
+    kaddressbook-version.h.in
+    ${CMAKE_CURRENT_BINARY_DIR}/kaddressbook-version.h
+    @ONLY
+)
 
+include_directories(${CMAKE_CURRENT_SOURCE_DIR}/printing/)
 
 add_subdirectory(icons)
 add_subdirectory(printing)
@@ -16,93 +15,93 @@ add_subdirectory(importexport)
 
 add_library(kaddressbookprivate)
 
-
-target_sources(kaddressbookprivate PRIVATE
-    printing/detailled/detailledstyle.cpp
-    printing/mike/mikesstyle.cpp
-    printing/printingwizard.cpp
-    printing/printprogress.cpp
-    printing/printstyle.cpp
-    printing/ringbinder/ringbinderstyle.cpp
-    printing/compact/compactstyle.cpp
-    printing/grantlee/grantleeprintstyle.cpp
-    printing/stylepage.cpp
-    plugininterface/kaddressbookplugininterface.cpp
-    aboutdata.cpp
-    categoryfilterproxymodel.cpp
-    categoryselectwidget.cpp
-    contactinfoproxymodel.cpp
-    contactsorter.cpp
-    contactswitcher.cpp
-    globalcontactmodel.cpp
-    mainwidget.cpp
-    uistatesaver.cpp
-    manageshowcollectionproperties.cpp
-    modelcolumnmanager.cpp
-    stylecontactlistdelegate.cpp
-    widgets/quicksearchwidget.cpp
-    printing/detailled/detailledstyle.h
-    printing/mike/mikesstyle.h
-    printing/printingwizard.h
-    printing/printprogress.h
-    printing/printstyle.h
-    printing/ringbinder/ringbinderstyle.h
-    printing/compact/compactstyle.h
-    printing/grantlee/grantleeprintstyle.h
-    printing/stylepage.h
-    plugininterface/kaddressbookplugininterface.h
-    aboutdata.h
-    categoryfilterproxymodel.h
-    categoryselectwidget.h
-    contactinfoproxymodel.h
-    contactsorter.h
-    contactswitcher.h
-    globalcontactmodel.h
-    mainwidget.h
-    uistatesaver.h
-    manageshowcollectionproperties.h
-    modelcolumnmanager.h
-    stylecontactlistdelegate.h
-    widgets/quicksearchwidget.h
-    contactentitymimetypefiltermodel.h
-    contactentitymimetypefiltermodel.cpp
-
-    configuredialog.h
-    configuredialog.cpp
-    whatsnew/whatsnewtranslations.cpp
-    whatsnew/whatsnewtranslations.h
-
-   )
+target_sources(
+    kaddressbookprivate
+    PRIVATE
+        printing/detailed/detailledstyle.cpp
+        printing/mike/mikesstyle.cpp
+        printing/printingwizard.cpp
+        printing/printprogress.cpp
+        printing/printstyle.cpp
+        printing/ringbinder/ringbinderstyle.cpp
+        printing/compact/compactstyle.cpp
+        printing/grantlee/grantleeprintstyle.cpp
+        printing/stylepage.cpp
+        plugininterface/kaddressbookplugininterface.cpp
+        aboutdata.cpp
+        categoryfilterproxymodel.cpp
+        categoryselectwidget.cpp
+        contactinfoproxymodel.cpp
+        contactsorter.cpp
+        contactswitcher.cpp
+        globalcontactmodel.cpp
+        mainwidget.cpp
+        uistatesaver.cpp
+        manageshowcollectionproperties.cpp
+        modelcolumnmanager.cpp
+        stylecontactlistdelegate.cpp
+        widgets/quicksearchwidget.cpp
+        printing/detailed/detailledstyle.h
+        printing/mike/mikesstyle.h
+        printing/printingwizard.h
+        printing/printprogress.h
+        printing/printstyle.h
+        printing/ringbinder/ringbinderstyle.h
+        printing/compact/compactstyle.h
+        printing/grantlee/grantleeprintstyle.h
+        printing/stylepage.h
+        plugininterface/kaddressbookplugininterface.h
+        aboutdata.h
+        categoryfilterproxymodel.h
+        categoryselectwidget.h
+        contactinfoproxymodel.h
+        contactsorter.h
+        contactswitcher.h
+        globalcontactmodel.h
+        mainwidget.h
+        uistatesaver.h
+        manageshowcollectionproperties.h
+        modelcolumnmanager.h
+        stylecontactlistdelegate.h
+        widgets/quicksearchwidget.h
+        contactentitymimetypefiltermodel.h
+        contactentitymimetypefiltermodel.cpp
+        configuredialog.h
+        configuredialog.cpp
+        whatsnew/whatsnewtranslations.cpp
+        whatsnew/whatsnewtranslations.h
+)
 
 ki18n_wrap_ui(kaddressbookprivate
     printing/ringbinder/rbs_appearance.ui
-    printing/detailled/ds_appearance.ui
+    printing/detailed/ds_appearance.ui
     printing/compact/compactstyle.ui
-   )
-
+)
 
 if(TARGET KF6::UserFeedbackWidgets)
-    target_sources(kaddressbookprivate PRIVATE
-        userfeedback/userfeedbackmanager.cpp
-        userfeedback/kaddressbookuserfeedbackprovider.cpp
-        userfeedback/userfeedbackmanager.h
-        userfeedback/kaddressbookuserfeedbackprovider.h
-       )
+    target_sources(
+        kaddressbookprivate
+        PRIVATE
+            userfeedback/userfeedbackmanager.cpp
+            userfeedback/kaddressbookuserfeedbackprovider.cpp
+            userfeedback/userfeedbackmanager.h
+            userfeedback/kaddressbookuserfeedbackprovider.h
+    )
 endif()
 
 if(HAVE_ACTIVITY_SUPPORT)
-    target_sources(kaddressbookprivate PRIVATE
-        activities/activitiesmanager.h
-        activities/activitiesmanager.cpp
-
-        activities/ldapactivities.cpp
-        activities/ldapactivities.h
-
-        activities/accountactivities.h
-        activities/accountactivities.cpp
-   )
+    target_sources(
+        kaddressbookprivate
+        PRIVATE
+            activities/activitiesmanager.h
+            activities/activitiesmanager.cpp
+            activities/ldapactivities.cpp
+            activities/ldapactivities.h
+            activities/accountactivities.h
+            activities/accountactivities.cpp
+    )
     if(BUILD_TESTING)
-       add_subdirectory(activities/autotests)
+        add_subdirectory(activities/autotests)
     endif()
 endif()
 
@@ -110,13 +109,12 @@ ecm_qt_declare_logging_category(kaddressbookprivate HEADER kaddressbook_debug.h
         DESCRIPTION "kaddressbook (kaddressbook)"
         OLD_CATEGORY_NAMES log_kaddressbook
         EXPORT KADDRESSBOOK
-   )
+)
 
 ecm_qt_declare_logging_category(kaddressbookprivate HEADER kaddressbook_activities_debug.h IDENTIFIER KADDRESSBOOK_ACTIVITIES_LOG CATEGORY_NAME org.kde.pim.kaddressbook.activities
         DESCRIPTION "kaddressbook activities (kaddressbook)"
         EXPORT KADDRESSBOOK
-   )
-
+)
 
 qt_add_dbus_adaptor(kaddressbook_LIB_SRCS org.kde.kaddressbook.xml mainwidget.h MainWidget)
 target_sources(kaddressbookprivate PRIVATE ${kaddressbook_LIB_SRCS})
@@ -126,62 +124,75 @@ if(COMPILE_WITH_UNITY_CMAKE_SUPPORT)
     set_target_properties(kaddressbookprivate PROPERTIES UNITY_BUILD ON)
 endif()
 generate_export_header(kaddressbookprivate BASE_NAME kaddressbook)
-target_link_libraries(kaddressbookprivate
-    PUBLIC
-    KPim6::PimCommonAkonadi
+target_link_libraries(
+    kaddressbookprivate
+    PUBLIC KPim6::PimCommonAkonadi
     PRIVATE
-    KPim6AddressbookImportExport
-    KPim6::Libkdepim
-    KPim6::AkonadiCore
-    KF6::Contacts
-    KPim6::AkonadiContactWidgets
-    KF6::KCMUtils
-    KPim6::GrantleeTheme
-    KF6::Completion
-    KF6::XmlGui
-    KF6::JobWidgets
-    KF6::KIOWidgets
-    Qt::PrintSupport
-    KF6::I18n
-    KF6::ColorScheme
-   )
+        KPim6AddressbookImportExport
+        KPim6::Libkdepim
+        KPim6::AkonadiCore
+        KF6::Contacts
+        KPim6::AkonadiContactWidgets
+        KF6::KCMUtils
+        KPim6::GrantleeTheme
+        KF6::Completion
+        KF6::XmlGui
+        KF6::JobWidgets
+        KF6::KIOWidgets
+        Qt::PrintSupport
+        KF6::I18n
+        KF6::ColorScheme
+)
 if(TARGET KF6::UserFeedbackWidgets)
     target_link_libraries(kaddressbookprivate PRIVATE KF6::UserFeedbackWidgets)
 endif()
 
 if(HAVE_ACTIVITY_SUPPORT)
-    target_link_libraries(kaddressbookprivate
-        PRIVATE
-        KPim6::PimCommonActivities  KPim6::LdapCore
+    target_link_libraries(
+        kaddressbookprivate
+        PRIVATE KPim6::PimCommonActivities KPim6::LdapCore
     )
 endif()
 
 if(KPim6AkonadiSearch_FOUND)
-    target_link_libraries(kaddressbookprivate
-        PRIVATE
-        KPim6::AkonadiSearchDebug)
+    target_link_libraries(kaddressbookprivate PRIVATE KPim6::AkonadiSearchDebug)
 endif()
 
-target_include_directories(kaddressbookprivate PUBLIC "$<BUILD_INTERFACE:${kaddressbook_SOURCE_DIR};${kaddressbook_BINARY_DIR}>")
+target_include_directories(
+    kaddressbookprivate
+    PUBLIC
+        "$<BUILD_INTERFACE:${kaddressbook_SOURCE_DIR};${kaddressbook_BINARY_DIR}>"
+)
 
-set_target_properties(kaddressbookprivate PROPERTIES VERSION ${KDEPIM_LIB_VERSION} SOVERSION ${KDEPIM_LIB_SOVERSION})
-install(TARGETS kaddressbookprivate ${KDE_INSTALL_TARGETS_DEFAULT_ARGS} LIBRARY NAMELINK_SKIP)
+set_target_properties(
+    kaddressbookprivate
+    PROPERTIES VERSION ${KDEPIM_LIB_VERSION} SOVERSION ${KDEPIM_LIB_SOVERSION}
+)
+install(
+    TARGETS kaddressbookprivate ${KDE_INSTALL_TARGETS_DEFAULT_ARGS}
+    LIBRARY NAMELINK_SKIP
+)
 
 ########### next target ###############
 
 add_executable(kaddressbook)
-target_sources(kaddressbook PRIVATE
-    kaddressbook_debug.cpp
-    mainwindow.cpp
-    mainwindow.h
-    main.cpp
-    kaddressbook.qrc
-   )
+target_sources(
+    kaddressbook
+    PRIVATE
+        kaddressbook_debug.cpp
+        mainwindow.cpp
+        mainwindow.h
+        main.cpp
+        kaddressbook.qrc
+)
 if(TARGET KF6::IconThemes)
     target_link_libraries(kaddressbook KF6::IconThemes)
 endif()
 
-file(GLOB ICONS_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/icons/*-apps-kaddressbook.png")
+file(
+    GLOB ICONS_SRCS
+    "${CMAKE_CURRENT_SOURCE_DIR}/icons/*-apps-kaddressbook.png"
+)
 ecm_add_app_icon(kaddressbook ICONS ${ICONS_SRCS})
 if(COMPILE_WITH_UNITY_CMAKE_SUPPORT)
     set_target_properties(kaddressbook PROPERTIES UNITY_BUILD ON)
@@ -190,39 +201,55 @@ if(TARGET KF6::UserFeedbackWidgets)
     target_link_libraries(kaddressbook KF6::UserFeedbackWidgets)
 endif()
 
-target_link_libraries(kaddressbook
+target_link_libraries(
+    kaddressbook
     KF6::I18n
     KPim6::KontactInterface
     kaddressbookprivate
     KF6::Crash
-   )
+)
 
 install(TARGETS kaddressbook ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})
-install(PROGRAMS
-    data/org.kde.kaddressbook.desktop
-    data/kaddressbook-view.desktop
-    data/kaddressbook-importer.desktop
-    DESTINATION ${KDE_INSTALL_APPDIR})
-install(FILES data/org.kde.kaddressbook.appdata.xml DESTINATION ${KDE_INSTALL_METAINFODIR})
+install(
+    PROGRAMS
+        data/org.kde.kaddressbook.desktop
+        data/kaddressbook-view.desktop
+        data/kaddressbook-importer.desktop
+    DESTINATION ${KDE_INSTALL_APPDIR}
+)
+install(
+    FILES data/org.kde.kaddressbook.appdata.xml
+    DESTINATION ${KDE_INSTALL_METAINFODIR}
+)
 
 ####################################"
 add_library(kaddressbookpart MODULE)
 
-target_sources(kaddressbookpart PRIVATE kaddressbookpart.cpp kaddressbookpart.h kaddressbook_debug.cpp kaddressbook.qrc)
-target_link_libraries(kaddressbookpart  kaddressbookprivate KF6::I18n KF6::Parts)
+target_sources(
+    kaddressbookpart
+    PRIVATE
+        kaddressbookpart.cpp
+        kaddressbookpart.h
+        kaddressbook_debug.cpp
+        kaddressbook.qrc
+)
+target_link_libraries(kaddressbookpart kaddressbookprivate KF6::I18n KF6::Parts)
 install(TARGETS kaddressbookpart DESTINATION ${KDE_INSTALL_PLUGINDIR})
 
-install(FILES
-    viewertemplates/contact.html
-    viewertemplates/contact_embedded.html
-    viewertemplates/contact_row.html
-    viewertemplates/contactgroup.html
-    viewertemplates/contactgroup_embedded.html
-    viewertemplates/contactgroup_additionalfieldrow.html
-    viewertemplates/contactgroup_memberrow.html
-    viewertemplates/theme.desktop
+install(
+    FILES
+        viewertemplates/contact.html
+        viewertemplates/contact_embedded.html
+        viewertemplates/contact_row.html
+        viewertemplates/contactgroup.html
+        viewertemplates/contactgroup_embedded.html
+        viewertemplates/contactgroup_additionalfieldrow.html
+        viewertemplates/contactgroup_memberrow.html
+        viewertemplates/theme.desktop
     DESTINATION ${KDE_INSTALL_DATADIR}/kaddressbook/viewertemplates/default/
-   )
-
-install(DIRECTORY printing/grantlee/themes/ DESTINATION ${KDE_INSTALL_DATADIR}/kaddressbook/printing/themes/)
+)
 
+install(
+    DIRECTORY printing/grantlee/themes/
+    DESTINATION ${KDE_INSTALL_DATADIR}/kaddressbook/printing/themes/
+)
diff --git a/src/activities/autotests/CMakeLists.txt b/src/activities/autotests/CMakeLists.txt
index 0a60438b2..0957dfbdf 100644
--- a/src/activities/autotests/CMakeLists.txt
+++ b/src/activities/autotests/CMakeLists.txt
@@ -7,10 +7,12 @@ macro(add_kaddressbook_activities_test _source)
     add_executable(${_name} ${_test} ${ARGN} ${_name}.h)
     add_test(NAME ${_name} COMMAND ${_name})
     ecm_mark_as_test(${_name})
-    target_link_libraries(${_name} Qt::Test KPim6::PimCommonActivities kaddressbookprivate)
-    set_target_properties(${_name} PROPERTIES
-        DISABLE_PRECOMPILE_HEADERS ON
-   )
-
+    target_link_libraries(
+        ${_name}
+        Qt::Test
+        KPim6::PimCommonActivities
+        kaddressbookprivate
+    )
+    set_target_properties(${_name} PROPERTIES DISABLE_PRECOMPILE_HEADERS ON)
 endmacro()
 add_kaddressbook_activities_test(activitiesmanagertest.cpp)
diff --git a/src/configuration/CMakeLists.txt b/src/configuration/CMakeLists.txt
index 517cb699b..b70aaf87f 100644
--- a/src/configuration/CMakeLists.txt
+++ b/src/configuration/CMakeLists.txt
@@ -1,37 +1,43 @@
 add_library(kaddressbook_config_plugins MODULE)
 
-target_sources(kaddressbook_config_plugins PRIVATE
-    kaddressbook_config_plugins.cpp
-    kaddressbookconfigpluginlistwidget.cpp
-    kaddressbook_config_plugins.h
-    kaddressbookconfigpluginlistwidget.h
-   )
+target_sources(
+    kaddressbook_config_plugins
+    PRIVATE
+        kaddressbook_config_plugins.cpp
+        kaddressbookconfigpluginlistwidget.cpp
+        kaddressbook_config_plugins.h
+        kaddressbookconfigpluginlistwidget.h
+)
 
 ecm_qt_declare_logging_category(kaddressbook_config_plugins HEADER kaddressbook_configure_debug.h IDENTIFIER KADDRESSBOOK_CONFIGURE_LOG CATEGORY_NAME org.kde.pim.kaddressbook_configure
         DESCRIPTION "kaddressbook (configure)"
         EXPORT KADDRESSBOOK
-   )
-
-
+)
 
 if(COMPILE_WITH_UNITY_CMAKE_SUPPORT)
     set_target_properties(kaddressbook_config_plugins PROPERTIES UNITY_BUILD ON)
 endif()
-target_link_libraries(kaddressbook_config_plugins
+target_link_libraries(
+    kaddressbook_config_plugins
     KF6::KCMUtils
     KF6::I18n
     kaddressbookprivate
     KPim6AddressbookImportExport
-   )
+)
 
-install(TARGETS kaddressbook_config_plugins DESTINATION ${KDE_INSTALL_PLUGINDIR}/pim6/kcms/kaddressbook)
+install(
+    TARGETS kaddressbook_config_plugins
+    DESTINATION ${KDE_INSTALL_PLUGINDIR}/pim6/kcms/kaddressbook
+)
 
 if(HAVE_ACTIVITY_SUPPORT)
     add_library(kaddressbook_config_activities MODULE)
 
-    target_sources(kaddressbook_config_activities PRIVATE
-        kaddressbook_config_activities.cpp
-        kaddressbook_config_activities.h
+    target_sources(
+        kaddressbook_config_activities
+        PRIVATE
+            kaddressbook_config_activities.cpp
+            kaddressbook_config_activities.h
     )
 
     ecm_qt_declare_logging_category(kaddressbook_config_activities HEADER kaddressbook_configure_debug.h IDENTIFIER KADDRESSBOOK_CONFIGURE_LOG CATEGORY_NAME org.kde.pim.kaddressbook_configure
@@ -39,63 +45,74 @@ if(HAVE_ACTIVITY_SUPPORT)
         EXPORT KADDRESSBOOK
     )
 
-
     if(COMPILE_WITH_UNITY_CMAKE_SUPPORT)
-        set_target_properties(kaddressbook_config_activities PROPERTIES UNITY_BUILD ON)
+        set_target_properties(
+            kaddressbook_config_activities
+            PROPERTIES UNITY_BUILD ON
+        )
     endif()
-    target_link_libraries(kaddressbook_config_activities
+    target_link_libraries(
+        kaddressbook_config_activities
         KF6::KCMUtils
         KF6::I18n
         kaddressbookprivate
         KPim6::PimCommonActivities
     )
 
-    install(TARGETS kaddressbook_config_activities DESTINATION ${KDE_INSTALL_PLUGINDIR}/pim6/kcms/kaddressbook)
-
-endif()	
+    install(
+        TARGETS kaddressbook_config_activities
+        DESTINATION ${KDE_INSTALL_PLUGINDIR}/pim6/kcms/kaddressbook
+    )
+endif()
 
 ##################################################
 if(TARGET KF6::UserFeedbackWidgets)
     add_library(kaddressbook_config_userfeedback MODULE)
 
-    target_sources(kaddressbook_config_userfeedback PRIVATE
-        kaddressbook_config_userfeedback.cpp
-        kaddressbook_config_userfeedback.h
-       )
-
+    target_sources(
+        kaddressbook_config_userfeedback
+        PRIVATE
+            kaddressbook_config_userfeedback.cpp
+            kaddressbook_config_userfeedback.h
+    )
 
-    target_link_libraries(kaddressbook_config_userfeedback
+    target_link_libraries(
+        kaddressbook_config_userfeedback
         KF6::KCMUtils
         KF6::I18n
         kaddressbookprivate
         KF6::UserFeedbackWidgets
-       )
-
-    install(TARGETS kaddressbook_config_userfeedback DESTINATION ${KDE_INSTALL_PLUGINDIR}/pim6/kcms/kaddressbook)
+    )
 
+    install(
+        TARGETS kaddressbook_config_userfeedback
+        DESTINATION ${KDE_INSTALL_PLUGINDIR}/pim6/kcms/kaddressbook
+    )
 endif()
 ######################################################
 
 add_library(kaddressbook_config_ldap MODULE)
 
-target_sources(kaddressbook_config_ldap PRIVATE
-    kaddressbook_config_ldap.h
-    kaddressbook_config_ldap.cpp
-   )
+target_sources(
+    kaddressbook_config_ldap
+    PRIVATE kaddressbook_config_ldap.h kaddressbook_config_ldap.cpp
+)
 
 if(COMPILE_WITH_UNITY_CMAKE_SUPPORT)
     set_target_properties(kaddressbook_config_ldap PROPERTIES UNITY_BUILD ON)
 endif()
-target_link_libraries(kaddressbook_config_ldap
+target_link_libraries(
+    kaddressbook_config_ldap
     KF6::KCMUtils
     KF6::I18n
     kaddressbookprivate
     KPim6::LdapWidgets
-   )
+)
 
 if(TARGET KPim6::PimCommonActivities)
-target_link_libraries(kaddressbook_config_ldap
-    KPim6::PimCommonActivities
-    )
+    target_link_libraries(kaddressbook_config_ldap KPim6::PimCommonActivities)
 endif()
-install(TARGETS kaddressbook_config_ldap DESTINATION ${KDE_INSTALL_PLUGINDIR}/pim6/kcms/kaddressbook)
+install(
+    TARGETS kaddressbook_config_ldap
+    DESTINATION ${KDE_INSTALL_PLUGINDIR}/pim6/kcms/kaddressbook
+)
diff --git a/src/importexport/CMakeLists.txt b/src/importexport/CMakeLists.txt
index 5c4507d39..cf81f4292 100644
--- a/src/importexport/CMakeLists.txt
+++ b/src/importexport/CMakeLists.txt
@@ -7,25 +7,27 @@ ecm_setup_version(PROJECT VARIABLE_PREFIX KADDRESSBOOKIMPORTEXPORT
     SOVERSION 6
 )
 
-target_sources(KPim6AddressbookImportExport PRIVATE
-    contactfields.cpp
-    contactlist.cpp
-    contactselectiondialog.cpp
-    contactselectionwidget.cpp
-    exportselectionwidget.cpp
-    importexportengine.cpp
-    plugin.cpp
-    plugininterface.cpp
-    pluginmanager.cpp
-    contactfields.h
-    contactlist.h
-    contactselectiondialog.h
-    contactselectionwidget.h
-    exportselectionwidget.h
-    importexportengine.h
-    plugin.h
-    plugininterface.h
-    pluginmanager.h
+target_sources(
+    KPim6AddressbookImportExport
+    PRIVATE
+        contactfields.cpp
+        contactlist.cpp
+        contactselectiondialog.cpp
+        contactselectionwidget.cpp
+        exportselectionwidget.cpp
+        importexportengine.cpp
+        plugin.cpp
+        plugininterface.cpp
+        pluginmanager.cpp
+        contactfields.h
+        contactlist.h
+        contactselectiondialog.h
+        contactselectionwidget.h
+        exportselectionwidget.h
+        importexportengine.h
+        plugin.h
+        plugininterface.h
+        pluginmanager.h
 )
 
 ecm_qt_declare_logging_category(KPim6AddressbookImportExport
@@ -36,34 +38,41 @@ ecm_qt_declare_logging_category(KPim6AddressbookImportExport
     EXPORT KADDRESSBOOK
 )
 
-
 if(COMPILE_WITH_UNITY_CMAKE_SUPPORT)
-    set_target_properties(KPim6AddressbookImportExport PROPERTIES UNITY_BUILD ON)
+    set_target_properties(
+        KPim6AddressbookImportExport
+        PROPERTIES UNITY_BUILD ON
+    )
 endif()
 
-generate_export_header(KPim6AddressbookImportExport BASE_NAME kaddressbook_importexport)
-
-target_include_directories(KPim6AddressbookImportExport
-    INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR}/KPim6;${KDE_INSTALL_INCLUDEDIR}/KPim6/KAddressBookImportExport;${KDE_INSTALL_INCLUDEDIR}/KPim6/KAddressBookImportExport/kaddressbookimportexport>"
+generate_export_header(
+    KPim6AddressbookImportExport
+    BASE_NAME kaddressbook_importexport
 )
 
-target_link_libraries(KPim6AddressbookImportExport
-    PRIVATE
-    KF6::Contacts
-    KPim6::PimCommon
-    KF6::I18n
-    KPim6::AkonadiWidgets
+target_include_directories(
+    KPim6AddressbookImportExport
+    INTERFACE
+        "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR}/KPim6;${KDE_INSTALL_INCLUDEDIR}/KPim6/KAddressBookImportExport;${KDE_INSTALL_INCLUDEDIR}/KPim6/KAddressBookImportExport/kaddressbookimportexport>"
 )
 
-set_target_properties(KPim6AddressbookImportExport PROPERTIES
-    VERSION ${KDEPIM_LIB_VERSION}
-    SOVERSION ${KDEPIM_LIB_SOVERSION}
-    EXPORT_NAME AddressbookImportExport
+target_link_libraries(
+    KPim6AddressbookImportExport
+    PRIVATE KF6::Contacts KPim6::PimCommon KF6::I18n KPim6::AkonadiWidgets
 )
 
-install(TARGETS
+set_target_properties(
     KPim6AddressbookImportExport
-    EXPORT KPim6AddressbookImportExportTargets ${KDE_INSTALL_TARGETS_DEFAULT_ARGS}
+    PROPERTIES
+        VERSION ${KDEPIM_LIB_VERSION}
+        SOVERSION ${KDEPIM_LIB_SOVERSION}
+        EXPORT_NAME AddressbookImportExport
+)
+
+install(
+    TARGETS KPim6AddressbookImportExport
+    EXPORT KPim6AddressbookImportExportTargets
+    ${KDE_INSTALL_TARGETS_DEFAULT_ARGS}
 )
 
 ecm_generate_headers(KaddressbookImportExport_CamelCase_HEADERS
@@ -83,42 +92,49 @@ ecm_generate_headers(KaddressbookImportExport_CamelCase_HEADERS
 
 ######## CMake Config Files ##########
 
-set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KPim6AddressbookImportExport")
+set(CMAKECONFIG_INSTALL_DIR
+    "${KDE_INSTALL_CMAKEPACKAGEDIR}/KPim6AddressbookImportExport"
+)
 configure_package_config_file(
     "${CMAKE_CURRENT_SOURCE_DIR}/KPimAddressbookImportExportConfig.cmake.in"
     "${CMAKE_CURRENT_BINARY_DIR}/KPim6AddressbookImportExportConfig.cmake"
-    INSTALL_DESTINATION  ${CMAKECONFIG_INSTALL_DIR}
+    INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR}
 )
 
-install(FILES
-    "${CMAKE_CURRENT_BINARY_DIR}/KPim6AddressbookImportExportConfig.cmake"
-    "${CMAKE_CURRENT_BINARY_DIR}/KPim6AddressbookImportExportConfigVersion.cmake"
+install(
+    FILES
+        "${CMAKE_CURRENT_BINARY_DIR}/KPim6AddressbookImportExportConfig.cmake"
+        "${CMAKE_CURRENT_BINARY_DIR}/KPim6AddressbookImportExportConfigVersion.cmake"
     DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
     COMPONENT Devel
 )
 
-install(EXPORT KPim6AddressbookImportExportTargets
+install(
+    EXPORT KPim6AddressbookImportExportTargets
     DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
     FILE KPim6AddressbookImportExportTargets.cmake
     NAMESPACE KPim6::
 )
 
-install(FILES
-    ${CMAKE_CURRENT_BINARY_DIR}/kaddressbookimportexport_version.h
-    DESTINATION ${KDE_INSTALL_INCLUDEDIR}/KPim6/KAddressBookImportExport COMPONENT Devel
+install(
+    FILES ${CMAKE_CURRENT_BINARY_DIR}/kaddressbookimportexport_version.h
+    DESTINATION ${KDE_INSTALL_INCLUDEDIR}/KPim6/KAddressBookImportExport
+    COMPONENT Devel
 )
 
-install(FILES
-    ${KaddressbookImportExport_CamelCase_HEADERS}
-    DESTINATION ${KDE_INSTALL_INCLUDEDIR}/KPim6/KAddressBookImportExport/KAddressBookImportExport
+install(
+    FILES ${KaddressbookImportExport_CamelCase_HEADERS}
+    DESTINATION
+        ${KDE_INSTALL_INCLUDEDIR}/KPim6/KAddressBookImportExport/KAddressBookImportExport
     COMPONENT Devel
 )
 
-install(FILES
-    ${KaddressbookImportExport_HEADERS}
-    ${CMAKE_CURRENT_BINARY_DIR}/kaddressbook_importexport_export.h
-    contactfields.h
-    DESTINATION ${KDE_INSTALL_INCLUDEDIR}/KPim6/KAddressBookImportExport/kaddressbookimportexport
+install(
+    FILES
+        ${KaddressbookImportExport_HEADERS}
+        ${CMAKE_CURRENT_BINARY_DIR}/kaddressbook_importexport_export.h
+        contactfields.h
+    DESTINATION
+        ${KDE_INSTALL_INCLUDEDIR}/KPim6/KAddressBookImportExport/kaddressbookimportexport
     COMPONENT Devel
 )
-
diff --git a/src/printing/CMakeLists.txt b/src/printing/CMakeLists.txt
index f14ff6b87..b1ee606d9 100644
--- a/src/printing/CMakeLists.txt
+++ b/src/printing/CMakeLists.txt
@@ -1,2 +1 @@
 add_subdirectory(pictures)
-
diff --git a/src/printing/README b/src/printing/README
index 04b7d1f39..78b013c00 100644
--- a/src/printing/README
+++ b/src/printing/README
@@ -1,6 +1,6 @@
 This subdircetory implements the printing wizard that handles the
 different styles of printing provided by kaddressbook. To see how
-printing is handled, see printingwizard.h. 
+printing is handled, see printingwizard.h.
 
 Have a look at printstyle.h if you want to create your own print
 style.
diff --git a/src/printing/grantlee/README.themes b/src/printing/grantlee/README.themes
index 27292d7a4..0619ffb28 100644
--- a/src/printing/grantlee/README.themes
+++ b/src/printing/grantlee/README.themes
@@ -104,4 +104,3 @@ Element for geo:
 Element for crypto:
  - signaturePreference (QString)
  - cryptoPreference (QString)
-
diff --git a/src/printing/grantlee/themes/big-theme-example/theme.html b/src/printing/grantlee/themes/big-theme-example/theme.html
index e47b6ab91..cbebaf1d3 100644
--- a/src/printing/grantlee/themes/big-theme-example/theme.html
+++ b/src/printing/grantlee/themes/big-theme-example/theme.html
@@ -16,4 +16,3 @@
 {% endif %}
 
 </html>
-
diff --git a/src/printing/mike/mikesstyle.cpp b/src/printing/mike/mikesstyle.cpp
index 22e78c2c4..b82a3cd13 100644
--- a/src/printing/mike/mikesstyle.cpp
+++ b/src/printing/mike/mikesstyle.cpp
@@ -1,7 +1,7 @@
 /*
   This file is part of KAddressBook.
   SPDX-FileCopyrightText: 1996-2002 Mirko Boehm <mirko at kde.org>
-  SPDX-FileCopyrightText: 2002 Mike Pilone <mpilone at slac.com>
+  SPDX-FileCopyrightText: 2002 Mike Pilone <mpilone at slack.com>
   SPDX-FileCopyrightText: 2009 Tobias Koenig <tokoe at kde.org>
 
   SPDX-License-Identifier: GPL-2.0-or-later WITH Qt-Commercial-exception-1.0
diff --git a/src/printing/mike/mikesstyle.h b/src/printing/mike/mikesstyle.h
index 2b8039a79..876c5f5b3 100644
--- a/src/printing/mike/mikesstyle.h
+++ b/src/printing/mike/mikesstyle.h
@@ -1,7 +1,7 @@
 /*
   This file is part of KAddressBook.
   SPDX-FileCopyrightText: 1996-2002 Mirko Boehm <mirko at kde.org>
-  SPDX-FileCopyrightText: 2002 Mike Pilone <mpilone at slac.com>
+  SPDX-FileCopyrightText: 2002 Mike Pilone <mpilone at slack.com>
 
   SPDX-License-Identifier: GPL-2.0-or-later WITH Qt-Commercial-exception-1.0
 */
diff --git a/src/printing/pictures/CMakeLists.txt b/src/printing/pictures/CMakeLists.txt
index 480d97fbe..d48a9ade5 100644
--- a/src/printing/pictures/CMakeLists.txt
+++ b/src/printing/pictures/CMakeLists.txt
@@ -1,5 +1,8 @@
 install(
-  FILES detailed-style.png mike-style.png ringbinder-style.png compact-style.png
-  DESTINATION ${KDE_INSTALL_DATADIR}/kaddressbook/printing
+    FILES
+        detailed-style.png
+        mike-style.png
+        ringbinder-style.png
+        compact-style.png
+    DESTINATION ${KDE_INSTALL_DATADIR}/kaddressbook/printing
 )
-
diff --git a/src/settings/kaddressbook.kcfg b/src/settings/kaddressbook.kcfg
index d9814914b..de78eb210 100644
--- a/src/settings/kaddressbook.kcfg
+++ b/src/settings/kaddressbook.kcfg
@@ -55,7 +55,7 @@
       <label></label>
       <whatsthis></whatsthis>
     </entry>
- 
+
   </group>
   <group name="Activities">
     <entry name="EnabledActivities" type="Bool">
diff --git a/src/uistatesaver.h b/src/uistatesaver.h
index 74ecaf97a..1f92a0462 100644
--- a/src/uistatesaver.h
+++ b/src/uistatesaver.h
@@ -43,7 +43,7 @@ KADDRESSBOOK_EXPORT void saveState(QWidget *widget, KConfigGroup &config);
 /**
  * Restores the UI state of @p widget and all its sub-widgets from @p config.
  * @param widget The top-level widget which state should be restored.
- * @param config The config gorup the settings should be read from.
+ * @param config The config group the settings should be read from.
  */
 KADDRESSBOOK_EXPORT void restoreState(QWidget *widget, const KConfigGroup &config);
 }
diff --git a/src/viewertemplates/contact_embedded.html b/src/viewertemplates/contact_embedded.html
index de9f1dceb..ec81331be 100644
--- a/src/viewertemplates/contact_embedded.html
+++ b/src/viewertemplates/contact_embedded.html
@@ -56,7 +56,7 @@
           <td align="left" valign="top">{% icon imAddress.serviceIcon small %}</td>
       </tr>
       {% endfor %}
-      
+
       {% for website in contact.urls %}
       <tr>
         <td align="right" valign="top" width="30%"><b><font color="grey">{% i18n "Website" %}</font></b></td>



More information about the kde-doc-english mailing list