[evolution-data-server] Camel: Add 'Advanced Options' section to provider configuration



commit cc42c458588f6bfd7392f1e30ecadc53e0c02fa0
Author: Milan Crha <mcrha redhat com>
Date:   Tue Jun 28 15:15:39 2022 +0200

    Camel: Add 'Advanced Options' section to provider configuration
    
    This way the providers can define options, which are not shown by default,
    but which the user can access easily.

 src/camel/camel-enums.h                          |  3 +-
 src/camel/providers/imapx/camel-imapx-provider.c | 45 ++++++++++++++++--------
 src/camel/providers/imapx/camel-imapx-settings.c |  6 ++--
 src/camel/providers/imapx/camel-imapx-settings.h |  4 +--
 4 files changed, 37 insertions(+), 21 deletions(-)
---
diff --git a/src/camel/camel-enums.h b/src/camel/camel-enums.h
index 3a73c9db4..44e4eeaff 100644
--- a/src/camel/camel-enums.h
+++ b/src/camel/camel-enums.h
@@ -362,7 +362,8 @@ typedef enum {
        CAMEL_PROVIDER_CONF_LABEL,
        CAMEL_PROVIDER_CONF_HIDDEN,
        CAMEL_PROVIDER_CONF_OPTIONS,
-       CAMEL_PROVIDER_CONF_PLACEHOLDER
+       CAMEL_PROVIDER_CONF_PLACEHOLDER,
+       CAMEL_PROVIDER_CONF_ADVANCED_SECTION_START
 } CamelProviderConfType;
 
 /**
diff --git a/src/camel/providers/imapx/camel-imapx-provider.c 
b/src/camel/providers/imapx/camel-imapx-provider.c
index 2988784a5..e433193af 100644
--- a/src/camel/providers/imapx/camel-imapx-provider.c
+++ b/src/camel/providers/imapx/camel-imapx-provider.c
@@ -43,25 +43,10 @@ CamelProviderConfEntry imapx_conf_entries[] = {
        { CAMEL_PROVIDER_CONF_CHECKBOX, "use-idle", NULL,
          N_("_Listen for server change notifications"), "1" },
        { CAMEL_PROVIDER_CONF_SECTION_END },
-       { CAMEL_PROVIDER_CONF_SECTION_START, "cmdsection", NULL,
-         N_("Connection to Server") },
-       { CAMEL_PROVIDER_CONF_CHECKSPIN, "concurrent-connections", NULL,
-         N_("Numbe_r of concurrent connections to use"), "y:1:3:7" },
-       { CAMEL_PROVIDER_CONF_CHECKBOX, "full-update-on-metered-network", NULL,
-         N_("Enable full folder update on _metered network"), "1" },
-       { CAMEL_PROVIDER_CONF_CHECKBOX, "send-client-id", NULL,
-         N_("Send client I_D to the server"), "0" },
-       { CAMEL_PROVIDER_CONF_SECTION_END },
        { CAMEL_PROVIDER_CONF_SECTION_START, "folders", NULL,
          N_("Folders") },
        { CAMEL_PROVIDER_CONF_CHECKBOX, "use-subscriptions", NULL,
          N_("_Show only subscribed folders"), "0" },
-#if 0
-       { CAMEL_PROVIDER_CONF_CHECKBOX, "use-namespace", NULL,
-         N_("O_verride server-supplied folder namespace"), "0" },
-       { CAMEL_PROVIDER_CONF_ENTRY, "namespace", "use-namespace",
-         N_("Namespace:") },
-#endif
        { CAMEL_PROVIDER_CONF_SECTION_END },
        { CAMEL_PROVIDER_CONF_SECTION_START, "general", NULL, N_("Options") },
        { CAMEL_PROVIDER_CONF_CHECKBOX, "filter-all", NULL,
@@ -76,6 +61,36 @@ CamelProviderConfEntry imapx_conf_entries[] = {
          N_("Synchroni_ze remote mail locally in all folders"), "0" },
        { CAMEL_PROVIDER_CONF_PLACEHOLDER, "imapx-limit-by-age-placeholder", NULL },
        { CAMEL_PROVIDER_CONF_SECTION_END },
+       { CAMEL_PROVIDER_CONF_ADVANCED_SECTION_START, NULL, NULL, NULL },
+       { CAMEL_PROVIDER_CONF_CHECKSPIN, "concurrent-connections", NULL,
+         N_("Numbe_r of concurrent connections to use"), "y:1:3:7" },
+       { CAMEL_PROVIDER_CONF_CHECKBOX, "full-update-on-metered-network", NULL,
+         N_("Enable full folder update on _metered network"), "1" },
+       { CAMEL_PROVIDER_CONF_CHECKBOX, "send-client-id", NULL,
+         N_("Send client I_D to the server"), "0" },
+       { CAMEL_PROVIDER_CONF_CHECKBOX, "use-namespace", NULL,
+         N_("O_verride server-supplied folder namespace"), "0" },
+       { CAMEL_PROVIDER_CONF_ENTRY, "namespace", "use-namespace",
+         N_("Namespace:") },
+       { CAMEL_PROVIDER_CONF_CHECKBOX, "ignore-other-users-namespace", NULL,
+         N_("Ignore other users namespace"), "0" },
+       { CAMEL_PROVIDER_CONF_CHECKBOX, "ignore-shared-folders-namespace", NULL,
+         N_("Ignore shared folders namespace"), "0" },
+       { CAMEL_PROVIDER_CONF_CHECKBOX, "use-shell-command", NULL,
+         N_("Use shell command for connecting to the server"), "0" },
+       { CAMEL_PROVIDER_CONF_ENTRY, "shell-command", "use-shell-command",
+         N_("Command:"), "" },
+       { CAMEL_PROVIDER_CONF_CHECKBOX, "use-multi-fetch", NULL,
+         N_("Download large messages in chunks"), "0" },
+       { CAMEL_PROVIDER_CONF_OPTIONS, "fetch-order", NULL,
+         /* Translators: This constructs either "Fetch new messages in ascending order" or "Fetch new 
messages in descending order" */
+         N_("Fetch new messages in"), "ascending:ascending order:descending:descending order" },
+       { CAMEL_PROVIDER_CONF_HIDDEN, "$only_for_translation", NULL,
+         /* Translators: This constructs "Fetch new messages in ascending order" */
+         N_("ascending order"),
+         /* Translators: This constructs "Fetch new messages in descending order" */
+         N_("descending order") },
+       { CAMEL_PROVIDER_CONF_SECTION_END },
        { CAMEL_PROVIDER_CONF_END }
 };
 
diff --git a/src/camel/providers/imapx/camel-imapx-settings.c 
b/src/camel/providers/imapx/camel-imapx-settings.c
index 702c52603..af1fc93fb 100644
--- a/src/camel/providers/imapx/camel-imapx-settings.c
+++ b/src/camel/providers/imapx/camel-imapx-settings.c
@@ -859,10 +859,10 @@ camel_imapx_settings_init (CamelIMAPXSettings *settings)
  *
  * Since: 3.20
  **/
-guint
+gboolean
 camel_imapx_settings_get_use_multi_fetch (CamelIMAPXSettings *settings)
 {
-       g_return_val_if_fail (CAMEL_IS_IMAPX_SETTINGS (settings), 0);
+       g_return_val_if_fail (CAMEL_IS_IMAPX_SETTINGS (settings), FALSE);
 
        return settings->priv->use_multi_fetch;
 }
@@ -878,7 +878,7 @@ camel_imapx_settings_get_use_multi_fetch (CamelIMAPXSettings *settings)
  **/
 void
 camel_imapx_settings_set_use_multi_fetch (CamelIMAPXSettings *settings,
-                                         guint use_multi_fetch)
+                                         gboolean use_multi_fetch)
 {
        g_return_if_fail (CAMEL_IS_IMAPX_SETTINGS (settings));
 
diff --git a/src/camel/providers/imapx/camel-imapx-settings.h 
b/src/camel/providers/imapx/camel-imapx-settings.h
index 1f1232388..a23a75a02 100644
--- a/src/camel/providers/imapx/camel-imapx-settings.h
+++ b/src/camel/providers/imapx/camel-imapx-settings.h
@@ -58,11 +58,11 @@ struct _CamelIMAPXSettingsClass {
 };
 
 GType          camel_imapx_settings_get_type   (void) G_GNUC_CONST;
-guint          camel_imapx_settings_get_use_multi_fetch
+gboolean       camel_imapx_settings_get_use_multi_fetch
                                                (CamelIMAPXSettings *settings);
 void           camel_imapx_settings_set_use_multi_fetch
                                                (CamelIMAPXSettings *settings,
-                                                guint use_multi_fetch);
+                                                gboolean use_multi_fetch);
 gboolean       camel_imapx_settings_get_check_all
                                                (CamelIMAPXSettings *settings);
 void           camel_imapx_settings_set_check_all


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]