[balsa] mailbox-pop3: Declare it final
- From: Peter Bloomfield <peterb src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [balsa] mailbox-pop3: Declare it final
- Date: Fri, 5 Jul 2019 22:51:23 +0000 (UTC)
commit 99cf02a027627de3a72e78f6e01af473087d0415
Author: Peter Bloomfield <PeterBloomfield bellsouth net>
Date: Fri Jul 5 18:49:32 2019 -0400
mailbox-pop3: Declare it final
Use G_DECLARE_FINAL_TYPE to declare LibBalsaMailboxPOP3, make it
private, and provide necessary getters and setters.
* libbalsa/mailbox_pop3.c
(libbalsa_mailbox_pop3_get_delete_from_server),
(libbalsa_mailbox_pop3_get_check),
(libbalsa_mailbox_pop3_get_filter),
(libbalsa_mailbox_pop3_get_filter_cmd),
(libbalsa_mailbox_pop3_get_disable_apop),
(libbalsa_mailbox_pop3_get_enable_pipe),
(libbalsa_mailbox_pop3_set_msg_size_limit),
(libbalsa_mailbox_pop3_set_check),
(libbalsa_mailbox_pop3_set_disable_apop),
(libbalsa_mailbox_pop3_set_delete_from_server),
(libbalsa_mailbox_pop3_set_filter),
(libbalsa_mailbox_pop3_set_filter_cmd),
(libbalsa_mailbox_pop3_set_enable_pipe):
* libbalsa/mailbox_pop3.h:
* libinit_balsa/assistant_page_user.c (create_pop3_mbx):
* src/mailbox-conf.c (update_pop_mailbox),
(create_pop_mailbox_dialog):
ChangeLog | 26 ++++++++++
libbalsa/mailbox_pop3.c | 101 ++++++++++++++++++++++++++++++++++++
libbalsa/mailbox_pop3.h | 62 +++++++++++-----------
libinit_balsa/assistant_page_user.c | 10 ++--
src/mailbox-conf.c | 25 +++++----
5 files changed, 176 insertions(+), 48 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index b94344ff5..10063e910 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,29 @@
+2019-07-05 Peter Bloomfield <pbloomfield bellsouth net>
+
+ mailbox-pop3: Declare it final
+
+ Use G_DECLARE_FINAL_TYPE to declare LibBalsaMailboxPOP3, make it
+ private, and provide necessary getters and setters.
+
+ * libbalsa/mailbox_pop3.c
+ (libbalsa_mailbox_pop3_get_delete_from_server),
+ (libbalsa_mailbox_pop3_get_check),
+ (libbalsa_mailbox_pop3_get_filter),
+ (libbalsa_mailbox_pop3_get_filter_cmd),
+ (libbalsa_mailbox_pop3_get_disable_apop),
+ (libbalsa_mailbox_pop3_get_enable_pipe),
+ (libbalsa_mailbox_pop3_set_msg_size_limit),
+ (libbalsa_mailbox_pop3_set_check),
+ (libbalsa_mailbox_pop3_set_disable_apop),
+ (libbalsa_mailbox_pop3_set_delete_from_server),
+ (libbalsa_mailbox_pop3_set_filter),
+ (libbalsa_mailbox_pop3_set_filter_cmd),
+ (libbalsa_mailbox_pop3_set_enable_pipe):
+ * libbalsa/mailbox_pop3.h:
+ * libinit_balsa/assistant_page_user.c (create_pop3_mbx):
+ * src/mailbox-conf.c (update_pop_mailbox),
+ (create_pop_mailbox_dialog):
+
2019-07-05 Peter Bloomfield <pbloomfield bellsouth net>
mailbox-imap: Declare it final
diff --git a/libbalsa/mailbox_pop3.c b/libbalsa/mailbox_pop3.c
index 06b810fdf..a270b2a3a 100644
--- a/libbalsa/mailbox_pop3.c
+++ b/libbalsa/mailbox_pop3.c
@@ -47,6 +47,20 @@ struct _LibBalsaMailboxPOP3Class {
void (*config_changed) (LibBalsaMailboxPOP3 *mailbox_pop3);
};
+struct _LibBalsaMailboxPOP3 {
+ LibBalsaMailboxRemote mailbox;
+
+ gboolean check;
+ gboolean delete_from_server;
+ gchar *filter_cmd;
+ LibBalsaMailbox *inbox;
+ gint msg_size_limit;
+ gboolean filter; /* filter through procmail/filter_cmd? */
+ gboolean disable_apop; /* Some servers claim to support it but
+ * they do not. */
+ gboolean enable_pipe; /* ditto */
+};
+
static void libbalsa_mailbox_pop3_finalize(GObject * object);
static gboolean libbalsa_mailbox_pop3_open(LibBalsaMailbox * mailbox,
@@ -763,9 +777,96 @@ libbalsa_mailbox_pop3_set_inbox(LibBalsaMailbox *mailbox,
mailbox_pop3->inbox=inbox;
}
+/*
+ * Getters
+ */
+
+gboolean
+libbalsa_mailbox_pop3_get_delete_from_server(LibBalsaMailboxPOP3 *mailbox_pop3)
+{
+ return mailbox_pop3->delete_from_server;
+}
+
+gboolean
+libbalsa_mailbox_pop3_get_check(LibBalsaMailboxPOP3 *mailbox_pop3)
+{
+ return mailbox_pop3->check;
+}
+
+gboolean
+libbalsa_mailbox_pop3_get_filter(LibBalsaMailboxPOP3 *mailbox_pop3)
+{
+ return mailbox_pop3->filter;
+}
+
+const gchar *
+libbalsa_mailbox_pop3_get_filter_cmd(LibBalsaMailboxPOP3 *mailbox_pop3)
+{
+ return mailbox_pop3->filter_cmd;
+}
+
+gboolean
+libbalsa_mailbox_pop3_get_disable_apop(LibBalsaMailboxPOP3 *mailbox_pop3)
+{
+ return mailbox_pop3->disable_apop;
+}
+
+gboolean
+libbalsa_mailbox_pop3_get_enable_pipe(LibBalsaMailboxPOP3 *mailbox_pop3)
+{
+ return mailbox_pop3->enable_pipe;
+ }
+
+/*
+ * Setters
+ */
+
void
libbalsa_mailbox_pop3_set_msg_size_limit(LibBalsaMailboxPOP3 *mailbox_pop3,
gint sz_limit)
{
mailbox_pop3->msg_size_limit = sz_limit;
}
+
+void
+libbalsa_mailbox_pop3_set_check(LibBalsaMailboxPOP3 *mailbox_pop3,
+ gboolean check)
+{
+ mailbox_pop3->check = check;
+}
+
+void
+libbalsa_mailbox_pop3_set_disable_apop(LibBalsaMailboxPOP3 *mailbox_pop3,
+ gboolean disable_apop)
+{
+ mailbox_pop3->disable_apop = disable_apop;
+}
+
+void
+libbalsa_mailbox_pop3_set_delete_from_server(LibBalsaMailboxPOP3 *mailbox_pop3,
+ gboolean delete_from_server)
+{
+ mailbox_pop3->delete_from_server = delete_from_server;
+}
+
+void
+libbalsa_mailbox_pop3_set_filter(LibBalsaMailboxPOP3 *mailbox_pop3,
+ gboolean filter)
+{
+ mailbox_pop3->filter = filter;
+}
+
+void
+libbalsa_mailbox_pop3_set_filter_cmd(LibBalsaMailboxPOP3 *mailbox_pop3,
+ const gchar * filter_cmd)
+{
+ g_free(mailbox_pop3->filter_cmd);
+ mailbox_pop3->filter_cmd = g_strdup(filter_cmd);
+}
+
+void
+libbalsa_mailbox_pop3_set_enable_pipe(LibBalsaMailboxPOP3 *mailbox_pop3,
+ gboolean enable_pipe)
+{
+ mailbox_pop3->enable_pipe = enable_pipe;
+}
diff --git a/libbalsa/mailbox_pop3.h b/libbalsa/mailbox_pop3.h
index 4c2ed7f7a..e3e3e6e0a 100644
--- a/libbalsa/mailbox_pop3.h
+++ b/libbalsa/mailbox_pop3.h
@@ -21,42 +21,44 @@
#ifndef __LIBBALSA_MAILBOX_POP3_H__
#define __LIBBALSA_MAILBOX_POP3_H__
-#define LIBBALSA_TYPE_MAILBOX_POP3 \
- (libbalsa_mailbox_pop3_get_type())
-#define LIBBALSA_MAILBOX_POP3(obj) \
- (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBBALSA_TYPE_MAILBOX_POP3, \
- LibBalsaMailboxPOP3))
-#define LIBBALSA_MAILBOX_POP3_CLASS(klass) \
- (G_TYPE_CHECK_CLASS_CAST ((klass), LIBBALSA_TYPE_MAILBOX_POP3, \
- LibBalsaMailboxPOP3Class))
-#define LIBBALSA_IS_MAILBOX_POP3(obj) \
- (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBBALSA_TYPE_MAILBOX_POP3))
-#define LIBBALSA_IS_MAILBOX_POP3_CLASS(klass) \
- (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBBALSA_TYPE_MAILBOX_POP3))
+#define LIBBALSA_TYPE_MAILBOX_POP3 (libbalsa_mailbox_pop3_get_type())
-GType libbalsa_mailbox_pop3_get_type(void);
-
-typedef struct _LibBalsaMailboxPOP3 LibBalsaMailboxPOP3;
-typedef struct _LibBalsaMailboxPOP3Class LibBalsaMailboxPOP3Class;
-
-struct _LibBalsaMailboxPOP3 {
- LibBalsaMailboxRemote mailbox;
-
- gboolean check;
- gboolean delete_from_server;
- gchar *filter_cmd;
- LibBalsaMailbox *inbox;
- gint msg_size_limit;
- gboolean filter; /* filter through procmail/filter_cmd? */
- gboolean disable_apop; /* Some servers claim to support it but
- * they do not. */
- gboolean enable_pipe; /* ditto */
-};
+G_DECLARE_FINAL_TYPE(LibBalsaMailboxPOP3,
+ libbalsa_mailbox_pop3,
+ LIBBALSA,
+ MAILBOX_POP3,
+ LibBalsaMailboxRemote)
LibBalsaMailboxPOP3 *libbalsa_mailbox_pop3_new(void);
void libbalsa_mailbox_pop3_set_inbox(LibBalsaMailbox *mailbox,
LibBalsaMailbox *inbox);
+
+/*
+ * Getters
+ */
+gboolean libbalsa_mailbox_pop3_get_delete_from_server(LibBalsaMailboxPOP3 *mailbox_pop3);
+gboolean libbalsa_mailbox_pop3_get_check(LibBalsaMailboxPOP3 *mailbox_pop3);
+gboolean libbalsa_mailbox_pop3_get_filter(LibBalsaMailboxPOP3 *mailbox_pop3);
+const gchar * libbalsa_mailbox_pop3_get_filter_cmd(LibBalsaMailboxPOP3 *mailbox_pop3);
+gboolean libbalsa_mailbox_pop3_get_disable_apop(LibBalsaMailboxPOP3 *mailbox_pop3);
+gboolean libbalsa_mailbox_pop3_get_enable_pipe(LibBalsaMailboxPOP3 *mailbox_pop3);
+
+/*
+ * Setters
+ */
void libbalsa_mailbox_pop3_set_msg_size_limit(LibBalsaMailboxPOP3 *mailbox,
gint sz_limit);
+void libbalsa_mailbox_pop3_set_check(LibBalsaMailboxPOP3 *mailbox_pop3,
+ gboolean check);
+void libbalsa_mailbox_pop3_set_disable_apop(LibBalsaMailboxPOP3 *mailbox_pop3,
+ gboolean disable_apop);
+void libbalsa_mailbox_pop3_set_delete_from_server(LibBalsaMailboxPOP3 *mailbox_pop3,
+ gboolean delete_from_server);
+void libbalsa_mailbox_pop3_set_filter(LibBalsaMailboxPOP3 *mailbox_pop3,
+ gboolean filter);
+void libbalsa_mailbox_pop3_set_filter_cmd(LibBalsaMailboxPOP3 *mailbox_pop3,
+ const gchar * filter_cmd);
+void libbalsa_mailbox_pop3_set_enable_pipe(LibBalsaMailboxPOP3 *mailbox_pop3,
+ gboolean enable_pipe);
#endif /* __LIBBALSA_MAILBOX_POP3_H__ */
diff --git a/libinit_balsa/assistant_page_user.c b/libinit_balsa/assistant_page_user.c
index 66b11f96f..da91ff084 100644
--- a/libinit_balsa/assistant_page_user.c
+++ b/libinit_balsa/assistant_page_user.c
@@ -211,11 +211,11 @@ create_pop3_mbx(const gchar *name, const gchar* host, gint security,
libbalsa_mailbox_set_name(mailbox, mailbox_name);
g_free(mailbox_name);
- mailbox_pop3->check = TRUE;
- mailbox_pop3->disable_apop = FALSE;
- mailbox_pop3->delete_from_server = TRUE;
- mailbox_pop3->filter = FALSE;
- mailbox_pop3->filter_cmd = g_strdup("procmail -f -");
+ libbalsa_mailbox_pop3_set_check(mailbox_pop3, TRUE);
+ libbalsa_mailbox_pop3_set_disable_apop(mailbox_pop3, FALSE);
+ libbalsa_mailbox_pop3_set_delete_from_server(mailbox_pop3, TRUE);
+ libbalsa_mailbox_pop3_set_filter(mailbox_pop3, FALSE);
+ libbalsa_mailbox_pop3_set_filter_cmd(mailbox_pop3, "procmail -f -");
return mailbox;
}
diff --git a/src/mailbox-conf.c b/src/mailbox-conf.c
index 94fc10944..874e3e5f6 100644
--- a/src/mailbox-conf.c
+++ b/src/mailbox-conf.c
@@ -501,15 +501,14 @@ update_pop_mailbox(MailboxConfWindow *mcw)
libbalsa_server_cfg_assign_server(mcw->mb_data.pop3.server_cfg, server);
libbalsa_server_config_changed(server);
- mailbox_pop3->check = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(mcw->mb_data.pop3.check));
- mailbox_pop3->delete_from_server = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON
(mcw->mb_data.pop3.delete_from_server));
- mailbox_pop3->filter = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(mcw->mb_data.pop3.filter));
- g_free(mailbox_pop3->filter_cmd);
- mailbox_pop3->filter_cmd = g_strdup(gtk_entry_get_text(GTK_ENTRY(mcw->mb_data.pop3.filter_cmd)));
+ libbalsa_mailbox_pop3_set_check(mailbox_pop3,
gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(mcw->mb_data.pop3.check)));
+ libbalsa_mailbox_pop3_set_delete_from_server(mailbox_pop3,
gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON (mcw->mb_data.pop3.delete_from_server)));
+ libbalsa_mailbox_pop3_set_filter(mailbox_pop3,
gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(mcw->mb_data.pop3.filter)));
+ libbalsa_mailbox_pop3_set_filter_cmd(mailbox_pop3,
gtk_entry_get_text(GTK_ENTRY(mcw->mb_data.pop3.filter_cmd)));
/* advanced settings */
- mailbox_pop3->disable_apop =
gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(mcw->mb_data.pop3.disable_apop));
- mailbox_pop3->enable_pipe =
gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(mcw->mb_data.pop3.enable_pipe));
+ libbalsa_mailbox_pop3_set_disable_apop(mailbox_pop3,
gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(mcw->mb_data.pop3.disable_apop)));
+ libbalsa_mailbox_pop3_set_enable_pipe(mailbox_pop3,
gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(mcw->mb_data.pop3.enable_pipe)));
}
/* conf_update_mailbox:
@@ -802,25 +801,25 @@ create_pop_mailbox_dialog(MailboxConfWindow *mcw)
/* toggle for deletion from server */
mcw->mb_data.pop3.delete_from_server = libbalsa_server_cfg_add_check(mcw->mb_data.pop3.server_cfg, TRUE,
- _("_Delete messages from server after download"), mailbox_pop3->delete_from_server, NULL, NULL);
+ _("_Delete messages from server after download"),
libbalsa_mailbox_pop3_get_delete_from_server(mailbox_pop3), NULL, NULL);
/* toggle for check */
mcw->mb_data.pop3.check = libbalsa_server_cfg_add_check(mcw->mb_data.pop3.server_cfg, TRUE, _("_Enable
check for new mail"),
- mailbox_pop3->check, NULL, NULL);
+ libbalsa_mailbox_pop3_get_check(mailbox_pop3), NULL, NULL);
/* Procmail */
mcw->mb_data.pop3.filter = libbalsa_server_cfg_add_check(mcw->mb_data.pop3.server_cfg, TRUE,
- _("_Filter messages through procmail"), mailbox_pop3->filter, G_CALLBACK(check_for_blank_fields),
mcw);
+ _("_Filter messages through procmail"), libbalsa_mailbox_pop3_get_filter(mailbox_pop3),
G_CALLBACK(check_for_blank_fields), mcw);
mcw->mb_data.pop3.filter_cmd = libbalsa_server_cfg_add_entry(mcw->mb_data.pop3.server_cfg, TRUE,
_("Fi_lter Command:"),
- mailbox_pop3->filter_cmd, G_CALLBACK(check_for_blank_fields), mcw);
+ libbalsa_mailbox_pop3_get_filter_cmd(mailbox_pop3), G_CALLBACK(check_for_blank_fields), mcw);
/* advanced - toggle for apop */
mcw->mb_data.pop3.disable_apop = libbalsa_server_cfg_add_check(mcw->mb_data.pop3.server_cfg, FALSE,
_("Disable _APOP"),
- mailbox_pop3->disable_apop, NULL, NULL);
+ libbalsa_mailbox_pop3_get_disable_apop(mailbox_pop3), NULL, NULL);
/* toggle for enabling pipeling */
mcw->mb_data.pop3.enable_pipe = libbalsa_server_cfg_add_check(mcw->mb_data.pop3.server_cfg, FALSE,
_("Overlap commands"),
- mailbox_pop3->enable_pipe, NULL, NULL);
+ libbalsa_mailbox_pop3_get_enable_pipe(mailbox_pop3), NULL, NULL);
/* initially call the check */
check_for_blank_fields(NULL, mcw);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]