+2007-10-15 [colin] 3.0.2cvs76
+
+ * src/edittags.c
+ * src/edittags.h
+ * src/filtering.c
+ * src/filtering.h
+ * src/importmutt.c
+ * src/importpine.c
+ * src/main.c
+ * src/messageview.c
+ * src/messageview.h
+ * src/mimeview.c
+ * src/mimeview.h
+ * src/pop.c
+ * src/pop.h
+ * src/prefs_common.c
+ * src/prefs_common.h
+ * src/prefs_customheader.c
+ * src/prefs_customheader.h
+ * src/prefs_display_header.c
+ * src/prefs_display_header.h
+ * src/prefs_filtering_action.c
+ * src/prefs_filtering_action.h
+ * src/prefs_folder_column.c
+ * src/prefs_folder_column.h
+ * src/prefs_folder_item.c
+ * src/prefs_folder_item.h
+ * src/prefs_gtk.c
+ * src/prefs_gtk.h
+ * src/prefs_logging.h
+ * src/prefs_matcher.c
+ * src/prefs_matcher.h
+ * src/prefs_summary_column.c
+ * src/prefs_summary_column.h
+ * src/prefs_summary_open.c
+ * src/procheader.c
+ * src/procheader.h
+ * src/procmime.c
+ * src/procmime.h
+ * src/recv.c
+ * src/recv.h
+ * src/sourcewindow.c
+ * src/sourcewindow.h
+ * src/summaryview.c
+ * src/summaryview.h
+ * src/textview.c
+ * src/textview.h
+ * src/toolbar.c
+ * src/toolbar.h
+ * src/common/mgutils.c
+ * src/common/mgutils.h
+ * src/common/nntp.c
+ * src/common/nntp.h
+ * src/common/prefs.c
+ * src/common/prefs.h
+ * src/common/socket.c
+ * src/common/socket.h
+ * src/common/stringtable.c
+ * src/common/stringtable.h
+ * src/common/template.c
+ * src/common/template.h
+ * src/common/uuencode.c
+ * src/common/uuencode.h
+ * src/gtk/gtkshruler.c
+ * src/gtk/gtkshruler.h
+ * src/gtk/menu.c
+ * src/gtk/menu.h
+ * src/gtk/progressdialog.c
+ * src/gtk/progressdialog.h
+ Remove/staticalize, the return of the revenge
+
2007-10-15 [colin] 3.0.2cvs75
* src/matcher.c
( cvs diff -u -r 1.179.2.192 -r 1.179.2.193 src/imap.c; cvs diff -u -r 1.2.2.3 -r 1.2.2.4 src/common/md5.c; cvs diff -u -r 1.1.4.2 -r 1.1.4.3 src/common/md5.h; cvs diff -u -r 1.1.4.5 -r 1.1.4.6 src/gtk/manage_window.c; cvs diff -u -r 1.1.4.6 -r 1.1.4.7 src/gtk/manage_window.h; ) > 3.0.2cvs73.patchset
( cvs diff -u -r 1.179.2.193 -r 1.179.2.194 src/imap.c; ) > 3.0.2cvs74.patchset
( cvs diff -u -r 1.75.2.50 -r 1.75.2.51 src/matcher.c; ) > 3.0.2cvs75.patchset
+( cvs diff -u -r 1.1.2.6 -r 1.1.2.7 src/edittags.c; cvs diff -u -r 1.1.2.3 -r 1.1.2.4 src/edittags.h; cvs diff -u -r 1.60.2.39 -r 1.60.2.40 src/filtering.c; cvs diff -u -r 1.21.2.15 -r 1.21.2.16 src/filtering.h; cvs diff -u -r 1.4.12.17 -r 1.4.12.18 src/importmutt.c; cvs diff -u -r 1.1.14.17 -r 1.1.14.18 src/importpine.c; cvs diff -u -r 1.115.2.172 -r 1.115.2.173 src/main.c; cvs diff -u -r 1.94.2.161 -r 1.94.2.162 src/messageview.c; cvs diff -u -r 1.19.2.17 -r 1.19.2.18 src/messageview.h; cvs diff -u -r 1.83.2.119 -r 1.83.2.120 src/mimeview.c; cvs diff -u -r 1.20.2.22 -r 1.20.2.23 src/mimeview.h; cvs diff -u -r 1.56.2.58 -r 1.56.2.59 src/pop.c; cvs diff -u -r 1.17.2.19 -r 1.17.2.20 src/pop.h; cvs diff -u -r 1.204.2.149 -r 1.204.2.150 src/prefs_common.c; cvs diff -u -r 1.103.2.95 -r 1.103.2.96 src/prefs_common.h; cvs diff -u -r 1.16.2.29 -r 1.16.2.30 src/prefs_customheader.c; cvs diff -u -r 1.2.16.5 -r 1.2.16.6 src/prefs_customheader.h; cvs diff -u -r 1.16.2.31 -r 1.16.2.32 src/prefs_display_header.c; cvs diff -u -r 1.1.16.5 -r 1.1.16.6 src/prefs_display_header.h; cvs diff -u -r 1.1.4.41 -r 1.1.4.42 src/prefs_filtering_action.c; cvs diff -u -r 1.1.4.4 -r 1.1.4.5 src/prefs_filtering_action.h; cvs diff -u -r 1.1.2.12 -r 1.1.2.13 src/prefs_folder_column.c; cvs diff -u -r 1.1.2.6 -r 1.1.2.7 src/prefs_folder_column.h; cvs diff -u -r 1.52.2.52 -r 1.52.2.53 src/prefs_folder_item.c; cvs diff -u -r 1.17.2.5 -r 1.17.2.6 src/prefs_folder_item.h; cvs diff -u -r 1.10.2.35 -r 1.10.2.36 src/prefs_gtk.c; cvs diff -u -r 1.5.2.15 -r 1.5.2.16 src/prefs_gtk.h; cvs diff -u -r 1.1.2.3 -r 1.1.2.4 src/prefs_logging.h; cvs diff -u -r 1.43.2.62 -r 1.43.2.63 src/prefs_matcher.c; cvs diff -u -r 1.4.2.7 -r 1.4.2.8 src/prefs_matcher.h; cvs diff -u -r 1.10.2.21 -r 1.10.2.22 src/prefs_summary_column.c; cvs diff -u -r 1.1.16.5 -r 1.1.16.6 src/prefs_summary_column.h; cvs diff -u -r 1.1.2.2 -r 1.1.2.3 src/prefs_summary_open.c; cvs diff -u -r 1.47.2.45 -r 1.47.2.46 src/procheader.c; cvs diff -u -r 1.11.2.9 -r 1.11.2.10 src/procheader.h; cvs diff -u -r 1.49.2.100 -r 1.49.2.101 src/procmime.c; cvs diff -u -r 1.17.2.20 -r 1.17.2.21 src/procmime.h; cvs diff -u -r 1.17.2.12 -r 1.17.2.13 src/recv.c; cvs diff -u -r 1.6.12.6 -r 1.6.12.7 src/recv.h; cvs diff -u -r 1.9.2.21 -r 1.9.2.22 src/sourcewindow.c; cvs diff -u -r 1.1.1.1.16.6 -r 1.1.1.1.16.7 src/sourcewindow.h; cvs diff -u -r 1.395.2.331 -r 1.395.2.332 src/summaryview.c; cvs diff -u -r 1.68.2.40 -r 1.68.2.41 src/summaryview.h; cvs diff -u -r 1.96.2.187 -r 1.96.2.188 src/textview.c; cvs diff -u -r 1.12.2.21 -r 1.12.2.22 src/textview.h; cvs diff -u -r 1.43.2.89 -r 1.43.2.90 src/toolbar.c; cvs diff -u -r 1.19.2.24 -r 1.19.2.25 src/toolbar.h; cvs diff -u -r 1.1.4.9 -r 1.1.4.10 src/common/mgutils.c; cvs diff -u -r 1.1.4.5 -r 1.1.4.6 src/common/mgutils.h; cvs diff -u -r 1.6.2.14 -r 1.6.2.15 src/common/nntp.c; cvs diff -u -r 1.4.2.5 -r 1.4.2.6 src/common/nntp.h; cvs diff -u -r 1.5.2.9 -r 1.5.2.10 src/common/prefs.c; cvs diff -u -r 1.3.2.5 -r 1.3.2.6 src/common/prefs.h; cvs diff -u -r 1.13.2.35 -r 1.13.2.36 src/common/socket.c; cvs diff -u -r 1.13.2.15 -r 1.13.2.16 src/common/socket.h; cvs diff -u -r 1.2.2.6 -r 1.2.2.7 src/common/stringtable.c; cvs diff -u -r 1.1.4.5 -r 1.1.4.6 src/common/stringtable.h; cvs diff -u -r 1.2.4.22 -r 1.2.4.23 src/common/template.c; cvs diff -u -r 1.1.4.6 -r 1.1.4.7 src/common/template.h; cvs diff -u -r 1.1.4.2 -r 1.1.4.3 src/common/uuencode.c; cvs diff -u -r 1.1.4.2 -r 1.1.4.3 src/common/uuencode.h; cvs diff -u -r 1.1.4.8 -r 1.1.4.9 src/gtk/gtkshruler.c; cvs diff -u -r 1.1.4.4 -r 1.1.4.5 src/gtk/gtkshruler.h; cvs diff -u -r 1.5.2.25 -r 1.5.2.26 src/gtk/menu.c; cvs diff -u -r 1.4.2.11 -r 1.4.2.12 src/gtk/menu.h; cvs diff -u -r 1.1.4.21 -r 1.1.4.22 src/gtk/progressdialog.c; cvs diff -u -r 1.1.4.11 -r 1.1.4.12 src/gtk/progressdialog.h; ) > 3.0.2cvs76.patchset
MICRO_VERSION=2
INTERFACE_AGE=0
BINARY_AGE=0
-EXTRA_VERSION=75
+EXTRA_VERSION=76
EXTRA_RELEASE=
EXTRA_GTK2_VERSION=
return name;
}
-/*
- * Return reference to longest entry in the specified linked list.
- * It is assumed that the list contains only gchar objects.
- * Enter: list List of gchar strings to examine.
- * Return: Reference to longest entry, or NULL if nothing found.
- */
-gchar *mgu_list_longest_entry( GList *list ) {
- GList *node;
- gchar *name = NULL;
- gint iLen = 0, iLenT = 0;
-
- node = list;
- while( node ) {
- if( name == NULL ) {
- name = node->data;
- iLen = strlen( name );
- }
- else {
- iLenT = strlen( node->data );
- if( iLenT > iLen ) {
- name = node->data;
- iLen = iLenT;
- }
- }
- node = g_list_next( node );
- }
- return name;
-}
-
/*
* Test whether string appears in list of strings, ignoring case. NULL or empty
* strings will be ignored.
void mgu_str_unescape ( gchar *str );
void mgu_str_ltc2space ( gchar *str, gchar chlead, gchar chtail );
gchar *mgu_slist_longest_entry ( GSList *list );
-gchar *mgu_list_longest_entry ( GList *list );
gboolean mgu_slist_test_unq_nc ( GSList *list, gchar *str );
gboolean mgu_list_test_unq_nc ( GList *list, gchar *str );
return NN_SUCCESS;
}
-gint nntp_article(NNTPSession *session, gint num, gchar **msgid)
-{
- return nntp_get_article(session, "ARTICLE", num, msgid);
-}
-
-gint nntp_body(NNTPSession *session, gint num, gchar **msgid)
-{
- return nntp_get_article(session, "BODY", num, msgid);
-}
-
-gint nntp_head(NNTPSession *session, gint num, gchar **msgid)
-{
- return nntp_get_article(session, "HEAD", num, msgid);
-}
-
-gint nntp_stat(NNTPSession *session, gint num, gchar **msgid)
-{
- return nntp_get_article(session, "STAT", num, msgid);
-}
-
-gint nntp_next(NNTPSession *session, gint *num, gchar **msgid)
-{
- gint ok;
- gint resp;
- gchar buf[NNTPBUFSIZE];
-
- ok = nntp_gen_command(session, buf, "NEXT");
-
- if (ok != NN_SUCCESS)
- return ok;
-
- if (sscanf(buf, "%d %d", &resp, num) != 2) {
- log_warning(LOG_PROTOCOL, _("protocol error: %s\n"), buf);
- return NN_PROTOCOL;
- }
-
- extract_parenthesis(buf, '<', '>');
- if (buf[0] == '\0') {
- log_warning(LOG_PROTOCOL, _("protocol error\n"));
- return NN_PROTOCOL;
- }
- *msgid = g_strdup(buf);
-
- return NN_SUCCESS;
-}
-
gint nntp_xover(NNTPSession *session, gint first, gint last)
{
gint ok;
return NN_SUCCESS;
}
-gint nntp_newgroups(NNTPSession *session)
-{
- return NN_SUCCESS;
-}
-
-gint nntp_newnews(NNTPSession *session)
-{
- return NN_SUCCESS;
-}
-
gint nntp_mode(NNTPSession *session, gboolean stream)
{
gint ok;
const gchar *cmd,
gint num,
gchar **msgid);
-gint nntp_article (NNTPSession *session,
- gint num,
- gchar **msgid);
-gint nntp_body (NNTPSession *session,
- gint num,
- gchar **msgid);
-gint nntp_head (NNTPSession *session,
- gint num,
- gchar **msgid);
-gint nntp_stat (NNTPSession *session,
- gint num,
- gchar **msgid);
-gint nntp_next (NNTPSession *session,
- gint *num,
- gchar **msgid);
gint nntp_xover (NNTPSession *session,
gint first,
gint last);
gint nntp_list (NNTPSession *session);
gint nntp_post (NNTPSession *session,
FILE *fp);
-gint nntp_newgroups (NNTPSession *session);
-gint nntp_newnews (NNTPSession *session);
gint nntp_mode (NNTPSession *sessio,
gboolean stream);
#include "prefs.h"
#include "utils.h"
+static gboolean prefs_is_readonly (const gchar *path);
+
/*!
*\brief Open preferences file for reading
*
/*!
*\brief Check if "path" is a file and readonly
*/
-gboolean prefs_is_readonly(const gchar * path)
+static gboolean prefs_is_readonly(const gchar * path)
{
if (path == NULL)
return TRUE;
PrefFile *prefs_write_open (const gchar *path);
gint prefs_file_close (PrefFile *pfile);
gint prefs_file_close_revert (PrefFile *pfile);
-gboolean prefs_is_readonly (const gchar *path);
gboolean prefs_rc_is_readonly (const gchar *rcfile);
gint prefs_set_block_label (PrefFile *pfile,
const gchar *block_label);
}
#endif /* !INET6 */
-
-/* Open a connection using an external program. May be useful when
- * you need to tunnel through a SOCKS or other firewall, or to
- * establish an IMAP-over-SSH connection. */
-/* TODO: Recreate this for sock_connect_thread() */
-SockInfo *sock_connect_cmd(const gchar *hostname, const gchar *tunnelcmd)
-{
-#ifdef G_OS_UNIX
- gint fd[2];
- int r;
-
- if ((r = socketpair(AF_UNIX, SOCK_STREAM, 0, fd)) == -1) {
- perror("socketpair");
- return NULL;
- }
- log_message(LOG_PROTOCOL, "launching tunnel command \"%s\"\n", tunnelcmd);
- if (fork() == 0) {
- close(fd[0]);
- close(0);
- close(1);
- dup(fd[1]); /* set onto stdin */
- dup(fd[1]);
- execlp("/bin/sh", "/bin/sh", "-c", tunnelcmd, NULL);
- }
-
- close(fd[1]);
- return sockinfo_from_fd(hostname, 0, fd[0]);
-#else
- /* We would need a special implementation for W32. */
- return NULL;
-#endif
-}
-
-
SockInfo *sock_connect(const gchar *hostname, gushort port)
{
#ifdef G_OS_WIN32
struct hostent *my_gethostbyname (const gchar *hostname);
SockInfo *sock_connect (const gchar *hostname, gushort port);
-SockInfo *sock_connect_cmd (const gchar *hostname, const gchar *tunnelcmd);
gint sock_connect_async (const gchar *hostname, gushort port,
SockConnectFunc func, gpointer data);
gint sock_connect_async_cancel (gint id);
return strtable;
}
-gchar *string_table_lookup_string(StringTable *table, const gchar *str)
-{
- StringEntry *entry;
-
- entry = g_hash_table_lookup(table->hash_table, str);
-
- if (entry) {
- return entry->string;
- } else {
- return NULL;
- }
-}
-
gchar *string_table_insert_string(StringTable *table, const gchar *str)
{
StringEntry *entry;
StringTable *string_table_new (void);
void string_table_free (StringTable *table);
-gchar *string_table_lookup_string (StringTable *table, const gchar *str);
gchar *string_table_insert_string (StringTable *table, const gchar *str);
void string_table_free_string (StringTable *table, const gchar *str);
g_free(tmpl);
}
-void template_clear_config(GSList *tmpl_list)
+static void template_clear_config(GSList *tmpl_list)
{
GSList *cur;
Template *tmpl;
} \
}
-void template_write_config(GSList *tmpl_list)
+static void template_write_config(GSList *tmpl_list)
{
const gchar *path;
GSList *cur;
};
void template_free (Template *tmpl);
-void template_clear_config (GSList *tmpl_list);
GSList *template_read_config (void);
-void template_write_config (GSList *tmpl_list);
GSList *template_get_config (void);
void template_set_config (GSList *tmpl_list);
'X', 'Y', 'Z', '[', '\\', ']', '^', '_'
};
-int touufrombits(unsigned char *out, const unsigned char *in, int inlen)
-{
- int len;
-
- if (inlen > 45) return -1;
- len = (inlen * 4 + 2) / 3 + 1;
- *out++ = uudigit[inlen];
-
- for (; inlen >= 3; inlen -= 3) {
- *out++ = uudigit[in[0] >> 2];
- *out++ = uudigit[((in[0] << 4) & 0x30) | (in[1] >> 4)];
- *out++ = uudigit[((in[1] << 2) & 0x3c) | (in[2] >> 6)];
- *out++ = uudigit[in[2] & 0x3f];
- in += 3;
- }
-
- if (inlen > 0) {
- *out++ = uudigit[(in[0] >> 2)];
- if (inlen == 1) {
- *out++ = uudigit[((in[0] << 4) & 0x30)];
- } else {
- *out++ = uudigit[(((in[0] << 4) & 0x30) | (in[1] >> 4))] ;
- *out++ = uudigit[((in[1] << 2) & 0x3c)];
- }
- }
- *out = '\0';
-
- return len;
-}
-
int fromuutobits(char *out, const char *in)
{
int len, outlen, inlen;
*
*/
-void touufrombits(unsigned char *, const unsigned char *, int);
int fromuutobits(char *, const char *);
#define X_UUENCODE_END_LINE '`'
return TRUE;
}
-gint prefs_tags_create_new(MainWindow *mainwin)
-{
- gchar *new_tag = input_dialog(_("New tag"),
- _("New tag name:"),
- "");
- gint id = -1;
- if (!new_tag || !(*new_tag))
- return -1;
-
- g_strstrip(new_tag);
- id = tags_get_id_for_str(new_tag);
- if (id != -1) {
- g_free(new_tag);
- return id;
- }
- id = tags_add_tag(new_tag);
- g_free(new_tag);
-
- tags_write_tags();
- return id;
-
-}
-
enum {
TAG_SELECTED,
TAG_SELECTED_INCONSISTENT,
#include "mainwindow.h"
void prefs_tags_open(MainWindow *mainwin);
-gint prefs_tags_create_new(MainWindow *mainwin);
void tag_apply_open(GSList *msglist);
#endif
return filtering_str;
}
-void prefs_filtering_free(GSList * prefs_filtering)
+static void prefs_filtering_free(GSList * prefs_filtering)
{
while (prefs_filtering != NULL) {
FilteringProp * filtering = (FilteringProp *)
void prefs_filtering_clear(void);
void prefs_filtering_clear_folder(Folder *folder);
-void prefs_filtering_free(GSList *prefs_filtering);
FilteringProp * filteringprop_copy(FilteringProp *src);
void filtering_move_and_copy_msgs(GSList *msglist);
}
}
}
-
-/* gtk_ruler_set_pos() - does not work yet, need to reimplement
- * gtk_ruler_draw_pos(). */
-void
-gtk_shruler_set_pos(GtkSHRuler * ruler, gfloat pos)
-{
- GtkRuler * ruler_;
- g_return_if_fail( ruler != NULL );
-
- ruler_ = GTK_RULER(ruler);
-
- if ( pos < ruler_->lower )
- pos = ruler_->lower;
- if ( pos > ruler_->upper )
- pos = ruler_->upper;
-
- ruler_->position = pos;
-
- /* Make sure the ruler has been allocated already */
- if ( ruler_->backing_store != NULL )
- gtk_ruler_draw_pos(ruler_);
-}
GType gtk_shruler_get_type (void);
GtkWidget* gtk_shruler_new (void);
-void gtk_shruler_set_pos (GtkSHRuler *ruler,
- gfloat pos);
-
#ifdef __cplusplus
}
return gtk_item_factory_get_widget(*factory, path);
}
-GtkWidget *popupmenu_create(GtkWidget *window, GtkItemFactoryEntry *entries,
- guint n_entries, const gchar *path, gpointer data)
-{
- GtkItemFactory *factory;
- GtkAccelGroup *accel_group;
-
- accel_group = gtk_accel_group_new();
- factory = gtk_item_factory_new(GTK_TYPE_MENU, path, accel_group);
- gtk_item_factory_set_translate_func(factory, menu_translate,
- NULL, NULL);
- gtk_item_factory_create_items(factory, n_entries, entries, data);
- gtk_window_add_accel_group(GTK_WINDOW (window), accel_group);
-
- return gtk_item_factory_get_widget(factory, path);
-}
-
gchar *menu_translate(const gchar *path, gpointer data)
{
gchar *retval;
return -1;
}
-gpointer menu_get_option_menu_active_user_data(GtkOptionMenu *optmenu)
-{
- GtkWidget *menu;
- GtkWidget *menuitem;
-
- menu = gtk_option_menu_get_menu(optmenu);
- menuitem = gtk_menu_get_active(GTK_MENU(menu));
-
- return g_object_get_data(G_OBJECT(menuitem), MENU_VAL_ID);
-}
-
static void connect_accel_change_signals(GtkWidget* widget, GtkWidget *wid2)
{
#if 0
}
}
}
-
-void menu_select_by_data(GtkMenu *menu, gpointer data)
-{
- GList *children, *cur;
- GtkWidget *select_item = NULL;
-
- g_return_if_fail(menu != NULL);
-
- children = gtk_container_get_children(GTK_CONTAINER(menu));
-
- for (cur = children; cur != NULL; cur = g_list_next(cur)) {
- GObject *child = G_OBJECT(cur->data);
-
- if (g_object_get_data(child, MENU_VAL_ID) == data) {
- select_item = GTK_WIDGET(child);
- }
- }
- if (select_item != NULL) {
- gtk_menu_shell_select_item(GTK_MENU_SHELL(menu), select_item);
- gtk_menu_shell_activate_item(GTK_MENU_SHELL(menu), select_item, FALSE);
- }
-
- g_list_free(children);
-}
const gchar *path,
GtkItemFactory **factory,
gpointer data);
-GtkWidget *popupmenu_create (GtkWidget *window,
- GtkItemFactoryEntry *entries,
- guint n_entries,
- const gchar *path,
- gpointer data);
gchar *menu_translate (const gchar *path, gpointer data);
void menu_set_sensitive (GtkItemFactory *ifactory,
const gchar *path,
gboolean sensitive);
-void menu_set_sensitive_all (GtkMenuShell *menu_shell,
- gboolean sensitive);
void menu_set_active (GtkItemFactory *ifactory,
const gchar *path,
gint menu_find_option_menu_index(GtkOptionMenu *optmenu,
gpointer data,
GCompareFunc func);
-
-gpointer menu_get_option_menu_active_user_data
- (GtkOptionMenu *optmenu);
+void menu_set_sensitive_all(GtkMenuShell *menu_shell, gboolean sensitive);
void menu_connect_identical_items(void);
-void menu_select_by_data (GtkMenu *menu,
- gpointer data);
-
#endif /* __MENU_H__ */
}
}
-/*!
- *\return gint Row where account was set
- */
-gint progress_dialog_list_set_account(ProgressDialog *progress,
- gint row,
- const gchar *account_name)
-{
- return progress_dialog_insert_account(progress, row, account_name,
- NULL, NULL);
-}
-
-/*!
- *\return gint Row where image was set
- */
-gint progress_dialog_list_set_image(ProgressDialog *progress,
- gint row,
- GdkPixbuf *image)
-{
- return progress_dialog_insert_account(progress, row, NULL,
- NULL, image);
-}
-
/*!
*\return gint Row where status was set
*/
* Use these functions to access the dialog list
*/
-gint progress_dialog_list_set_account (ProgressDialog *progress,
- gint row,
- const gchar *account_name);
-gint progress_dialog_list_set_image (ProgressDialog *progress,
- gint row,
- GdkPixbuf *image);
gint progress_dialog_list_set_status (ProgressDialog *progress,
gint row,
const gchar *status);
addrbook_free_book( abf );
}
+ mutt_free(mdf);
+
return retVal;
}
else {
addrbook_free_book( abf );
}
+ pine_free(pdf);
return retVal;
}
prefs_display_header_read_config();
/* prefs_filtering_read_config(); */
addressbook_read_file();
- renderer_read_config();
gtkut_widget_init();
stock_pixbuf_gdk(NULL, STOCK_PIXMAP_CLAWS_MAIL_ICON, &icon);
prefs_message_done();
prefs_other_done();
prefs_receive_done();
+ prefs_logging_done();
prefs_send_done();
tags_write_tags();
#ifdef USE_ASPELL
action_update_msgview_menu(ifactory, "/Tools/Actions", msgview);
}
-void messageview_add_toolbar(MessageView *msgview, GtkWidget *window)
+static void messageview_add_toolbar(MessageView *msgview, GtkWidget *window)
{
GtkWidget *handlebox;
GtkWidget *vbox;
}
}
-void messageview_quote_color_set(void)
-{
-}
-
-void messageview_set_font(MessageView *messageview)
-{
-}
-
TextView *messageview_get_current_textview(MessageView *messageview)
{
TextView *text = NULL;
void messageview_clear (MessageView *messageview);
void messageview_destroy (MessageView *messageview);
-void messageview_quote_color_set (void);
-void messageview_set_font (MessageView *messageview);
-
TextView *messageview_get_current_textview (MessageView *messageview);
MimeInfo *messageview_get_selected_mime_part (MessageView *messageview);
gboolean messageview_is_visible (MessageView *messageview);
void messageview_update_actions_menu (MessageView *msgview);
-void messageview_add_toolbar (MessageView *msgview,
- GtkWidget *vbox);
void messageview_reflect_prefs_pixmap_theme (void);
gchar *messageview_get_selection (MessageView *msgview);
}
static void check_signature_cb(GtkWidget *widget, gpointer user_data);
-void mimeview_check_signature(MimeView *mimeview);
+static void mimeview_check_signature(MimeView *mimeview);
static void display_full_info_cb(GtkWidget *widget, gpointer user_data);
static void update_signature_noticeview(MimeView *mimeview, MimeInfo *mimeinfo,
}
}
-void mimeview_check_signature(MimeView *mimeview)
+static void mimeview_check_signature(MimeView *mimeview)
{
check_signature_cb(NULL, mimeview);
}
MimeInfo *mimeview_get_selected_part (MimeView *mimeview);
-void mimeview_check_signature (MimeView *mimeview);
void mimeview_pass_key_press_event (MimeView *mimeview,
GdkEventKey *event);
static gint pop3_session_recv_data_finished (Session *session,
guchar *data,
guint len);
+static void pop3_get_uidl_table(PrefsAccount *ac_prefs, Pop3Session *session);
static gint pop3_greeting_recv(Pop3Session *session, const gchar *msg)
{
g_free(pop3_session->error_msg);
}
-void pop3_get_uidl_table(PrefsAccount *ac_prefs, Pop3Session *session)
+static void pop3_get_uidl_table(PrefsAccount *ac_prefs, Pop3Session *session)
{
GHashTable *table;
GHashTable *partial_recv_table;
#define IDLEN POPBUFSIZE
Session *pop3_session_new (PrefsAccount *account);
-void pop3_get_uidl_table (PrefsAccount *account, Pop3Session *session);
gint pop3_write_uidl_list (Pop3Session *session);
#endif /* __POP_H__ */
{NULL, NULL, NULL, P_OTHER, NULL, NULL, NULL}
};
-PrefsCommon *prefs_common_get(void)
-{
- return &prefs_common;
-}
-
/*
* Read history list from the specified history file
*/
void prefs_common_read_config (void);
void prefs_common_write_config (void);
void prefs_common_open (void);
-PrefsCommon *prefs_common_get (void);
void pref_get_unescaped_pref(gchar *out, const gchar *in);
void pref_get_escaped_pref(gchar *out, const gchar *in);
void pref_set_textview_from_pref(GtkTextView *textview, const gchar *txt);
fclose(fp);
}
-void prefs_custom_header_write_config(PrefsAccount *ac)
+static void prefs_custom_header_write_config(PrefsAccount *ac)
{
gchar *rcpath;
PrefFile *pfile;
#include "prefs_account.h"
void prefs_custom_header_read_config (PrefsAccount *ac);
-void prefs_custom_header_write_config (PrefsAccount *ac);
void prefs_custom_header_open (PrefsAccount *ac);
#endif /* __PREFS_CUSTOMHEADER_H__ */
fclose(fp);
}
-void prefs_display_header_write_config(void)
+static void prefs_display_header_write_config(void)
{
gchar *rcpath;
PrefFile *pfile;
#define __PREFS_DISPLAY_HEADER_H__
void prefs_display_header_read_config (void);
-void prefs_display_header_write_config (void);
void prefs_display_header_open (void);
#endif /* __PREFS_DISPLAY_HEADER_H__ */
gboolean currently_selected,
gpointer data);
+static void prefs_filtering_action_exec_info(void);
+
/*!
*\brief UI data for matcher dialog
*/
/*!
*\brief Show Execute action's info
*/
-void prefs_filtering_action_exec_info(void)
+static void prefs_filtering_action_exec_info(void)
{
description_window_create(&exec_desc_win);
}
void prefs_filtering_action_open (GSList *action_list,
PrefsFilteringActionSignal *cb);
-void prefs_filtering_action_exec_info (void);
#endif /* __PREFS_FILTER_H__ */
#include "gtkutils.h"
#include "utils.h"
+static void prefs_folder_column_set_config(FolderColumnState *state);
+
enum {
SUMCOL_NAME,
SUMCOL_TYPE,
return state;
}
-void prefs_folder_column_set_config(FolderColumnState *state)
+static void prefs_folder_column_set_config(FolderColumnState *state)
{
FolderColumnType type;
gint pos;
void prefs_folder_column_open(void);
FolderColumnState *prefs_folder_column_get_config(void);
-void prefs_folder_column_set_config(FolderColumnState *state);
#endif /* __PREFS_FOLDER_COLUMN_H__ */
string = (value); \
}
+static void prefs_folder_item_register_page (PrefsPage *page);
+static void prefs_folder_item_unregister_page (PrefsPage *page);
+
typedef struct _FolderItemGeneralPage FolderItemGeneralPage;
typedef struct _FolderItemComposePage FolderItemComposePage;
typedef struct _FolderItemTemplatesPage FolderItemTemplatesPage;
g_free (title);
}
-void prefs_folder_item_register_page(PrefsPage *page)
+static void prefs_folder_item_register_page(PrefsPage *page)
{
prefs_pages = g_slist_append(prefs_pages, page);
}
-void prefs_folder_item_unregister_page(PrefsPage *page)
+static void prefs_folder_item_unregister_page(PrefsPage *page)
{
prefs_pages = g_slist_remove(prefs_pages, page);
}
void prefs_folder_item_create(FolderView *folderview, FolderItem *item);
void prefs_folder_item_open (FolderItem *item);
-void prefs_folder_item_register_page (PrefsPage *page);
-void prefs_folder_item_unregister_page (PrefsPage *page);
#endif /* PREFS_FOLDER_ITEM_H */
static gboolean prefs_read_config_from_cache(PrefParam *param, const gchar *label,
const gchar *rcfile);
+static void prefs_config_parse_one_line(PrefParam *param,
+ const gchar *buf);
+
void prefs_read_config(PrefParam *param, const gchar *label,
const gchar *rcfile, const gchar *encoding)
{
fclose(fp);
}
-void prefs_config_parse_one_line(PrefParam *param, const gchar *buf)
+static void prefs_config_parse_one_line(PrefParam *param, const gchar *buf)
{
gint i;
gint name_len;
}
}
-void prefs_dialog_create(PrefsDialog *dialog)
-{
- GtkWidget *window;
- GtkWidget *vbox;
- GtkWidget *notebook;
-
- GtkWidget *confirm_area;
- GtkWidget *ok_btn;
- GtkWidget *cancel_btn;
- GtkWidget *apply_btn;
-
- g_return_if_fail(dialog != NULL);
-
- window = gtkut_window_new(GTK_WINDOW_TOPLEVEL, "prefs_gtk");
- gtk_container_set_border_width (GTK_CONTAINER (window), 8);
- gtk_window_set_position (GTK_WINDOW(window), GTK_WIN_POS_CENTER);
- gtk_window_set_modal (GTK_WINDOW (window), TRUE);
- gtk_window_set_resizable(GTK_WINDOW(window), TRUE);
-
- vbox = gtk_vbox_new (FALSE, 6);
- gtk_widget_show(vbox);
- gtk_container_add (GTK_CONTAINER (window), vbox);
-
- notebook = gtk_notebook_new ();
- gtk_widget_show(notebook);
- gtk_box_pack_start (GTK_BOX (vbox), notebook, TRUE, TRUE, 0);
- gtk_container_set_border_width (GTK_CONTAINER (notebook), 2);
- /* GTK_WIDGET_UNSET_FLAGS (notebook, GTK_CAN_FOCUS); */
- gtk_notebook_set_scrollable (GTK_NOTEBOOK (notebook), TRUE);
-
- gtk_notebook_popup_enable (GTK_NOTEBOOK (notebook));
-
- gtkut_stock_button_set_create(&confirm_area,
- &ok_btn, GTK_STOCK_OK,
- &cancel_btn, GTK_STOCK_CANCEL,
- &apply_btn, GTK_STOCK_APPLY);
- gtk_widget_show(confirm_area);
- gtk_box_pack_end (GTK_BOX(vbox), confirm_area, FALSE, FALSE, 0);
- gtk_widget_grab_default(ok_btn);
-
- dialog->window = window;
- dialog->notebook = notebook;
- dialog->ok_btn = ok_btn;
- dialog->cancel_btn = cancel_btn;
- dialog->apply_btn = apply_btn;
-}
-
-void prefs_dialog_destroy(PrefsDialog *dialog)
-{
- gtk_widget_destroy(dialog->window);
- dialog->window = NULL;
- dialog->notebook = NULL;
- dialog->ok_btn = NULL;
- dialog->cancel_btn = NULL;
- dialog->apply_btn = NULL;
-}
-
void prefs_button_toggled(GtkToggleButton *toggle_btn, GtkWidget *widget)
{
gboolean is_active;
const gchar *label,
const gchar *rcfile,
const gchar *encoding);
-void prefs_config_parse_one_line(PrefParam *param,
- const gchar *buf);
void prefs_write_config (PrefParam *param,
const gchar *label,
const gchar *rcfile);
void prefs_set_default (PrefParam *param);
void prefs_free (PrefParam *param);
-void prefs_dialog_create (PrefsDialog *dialog);
-void prefs_dialog_destroy (PrefsDialog *dialog);
-
void prefs_button_toggled (GtkToggleButton *toggle_btn,
GtkWidget *widget);
void prefs_button_toggled_reverse (GtkToggleButton *toggle_btn,
#define PREFS_LOGGING_H
void prefs_logging_init (void);
-void prefs_loggin_done (void);
+void prefs_logging_done (void);
#endif /* PREFS_LOGGING_H */
#include "matcher_parser.h"
#include "colorlabel.h"
+static void prefs_matcher_addressbook_select(void);
+static void prefs_matcher_test_info(void);
+
enum {
PREFS_MATCHER_COND,
PREFS_MATCHER_COND_VALID,
/*!
*\brief Show Test action's info
*/
-void prefs_matcher_test_info(void)
+static void prefs_matcher_test_info(void)
{
description_window_create(&test_desc_win);
}
-void prefs_matcher_addressbook_select(void)
+static void prefs_matcher_addressbook_select(void)
{
gchar *folderpath = NULL;
gboolean ret = FALSE;
void prefs_matcher_open (MatcherList *matchers,
PrefsMatcherSignal *cb);
-void prefs_matcher_test_info (void);
-void prefs_matcher_addressbook_select (void);
#endif /* __PREFS_FILTER_H__ */
#include "gtkutils.h"
#include "utils.h"
+static void prefs_summary_column_set_config(SummaryColumnState *state);
+
enum {
SUMCOL_NAME,
SUMCOL_TYPE,
return state;
}
-void prefs_summary_column_set_config(SummaryColumnState *state)
+static void prefs_summary_column_set_config(SummaryColumnState *state)
{
SummaryColumnType type;
gint pos;
void prefs_summary_column_open(void);
SummaryColumnState *prefs_summary_column_get_config(void);
-void prefs_summary_column_set_config(SummaryColumnState *state);
#endif /* __PREFS_SUMMARY_COLUMN_H__ */
N_("Do nothing")
};
-const gchar *prefs_summary_open_get_label(int act)
-{
- return gettext(action_name[act]);
-}
-
void prefs_summary_open_open(void)
{
int i = 0;
{"SC-Message-Size:",NULL, FALSE},
{NULL, NULL, FALSE}};
-HeaderEntry* procheader_get_headernames(gboolean full)
+static HeaderEntry* procheader_get_headernames(gboolean full)
{
return full ? hentry_full : hentry_short;
}
void procheader_header_array_destroy (GPtrArray *harray);
void procheader_header_free (Header *header);
-HeaderEntry* procheader_get_headernames (gboolean full);
-
void procheader_get_header_fields (FILE *fp,
HeaderEntry hentry[]);
MsgInfo *procheader_parse_file (const gchar *file,
return 0;
}
-struct ContentRenderer {
- char * content_type;
- char * renderer;
-};
-
-static GList * renderer_list = NULL;
-
-static struct ContentRenderer *
-content_renderer_new(char * content_type, char * renderer)
-{
- struct ContentRenderer * cr;
-
- cr = g_new(struct ContentRenderer, 1);
- if (cr == NULL)
- return NULL;
-
- cr->content_type = g_strdup(content_type);
- cr->renderer = g_strdup(renderer);
-
- return cr;
-}
-
-static void content_renderer_free(struct ContentRenderer * cr)
-{
- g_free(cr->content_type);
- g_free(cr->renderer);
- g_free(cr);
-}
-
-void renderer_read_config(void)
-{
- gchar buf[BUFFSIZE];
- FILE * f;
- gchar * rcpath;
-
- g_list_foreach(renderer_list, (GFunc) content_renderer_free, NULL);
- renderer_list = NULL;
-
- rcpath = g_strconcat(get_rc_dir(), G_DIR_SEPARATOR_S, RENDERER_RC, NULL);
- f = g_fopen(rcpath, "rb");
- g_free(rcpath);
-
- if (f == NULL)
- return;
-
- while (fgets(buf, BUFFSIZE, f)) {
- char * p;
- struct ContentRenderer * cr;
-
- strretchomp(buf);
- p = strchr(buf, ' ');
- if (p == NULL)
- continue;
- * p = 0;
-
- cr = content_renderer_new(buf, p + 1);
- if (cr == NULL)
- continue;
-
- renderer_list = g_list_append(renderer_list, cr);
- }
-
- fclose(f);
-}
-
-void renderer_write_config(void)
-{
- gchar * rcpath;
- PrefFile *pfile;
- GList * cur;
- int err = 0;
- rcpath = g_strconcat(get_rc_dir(), G_DIR_SEPARATOR_S, RENDERER_RC, NULL);
-
- if ((pfile = prefs_write_open(rcpath)) == NULL) {
- g_warning("failed to write configuration to file\n");
- g_free(rcpath);
- return;
- }
-
- g_free(rcpath);
-
- for (cur = renderer_list ; cur != NULL ; cur = cur->next) {
- struct ContentRenderer * renderer;
- renderer = cur->data;
- if (fprintf(pfile->fp, "%s %s\n", renderer->content_type,
- renderer->renderer) < 0) {
- err = TRUE;
- break;
- }
- }
-
- if (!err) {
- if (prefs_file_close(pfile) < 0) {
- g_warning("failed to write configuration to file\n");
- return;
- }
- } else {
- prefs_file_close_revert(pfile);
- }
-}
-
-FILE *procmime_get_text_content(MimeInfo *mimeinfo)
+static FILE *procmime_get_text_content(MimeInfo *mimeinfo)
{
FILE *tmpfp, *outfp;
const gchar *src_codeset;
gboolean conv_fail = FALSE;
gchar buf[BUFFSIZE];
gchar *str;
- struct ContentRenderer * renderer;
- GList * cur;
- gchar *tmpfile, *content_type;
+ gchar *tmpfile;
gboolean err = FALSE;
g_return_val_if_fail(mimeinfo != NULL, NULL);
? forced_charset :
procmime_mimeinfo_get_parameter(mimeinfo, "charset");
- renderer = NULL;
-
- content_type = procmime_get_content_type_str(mimeinfo->type,
- mimeinfo->subtype);
- for (cur = renderer_list ; cur != NULL ; cur = cur->next) {
- struct ContentRenderer * cr;
-
- cr = cur->data;
- if (g_ascii_strcasecmp(cr->content_type, content_type) == 0) {
- renderer = cr;
- break;
- }
- }
- g_free(content_type);
-
- if (renderer != NULL) {
- FILE * p;
- int oldout;
-
- oldout = dup(1);
-
- dup2(fileno(outfp), 1);
-
- p = popen(renderer->renderer, "w");
- if (p != NULL) {
- size_t count;
-
- while ((count =
- fread(buf, sizeof(char), sizeof(buf),
- tmpfp)) > 0) {
- if (fwrite(buf, sizeof(char), count, p) < count)
- err = TRUE;
- }
- pclose(p);
- }
-
- dup2(oldout, 1);
-/* CodeConverter seems to have no effect here */
- } else if (mimeinfo->type == MIMETYPE_TEXT && !g_ascii_strcasecmp(mimeinfo->subtype, "html")) {
+ if (mimeinfo->type == MIMETYPE_TEXT && !g_ascii_strcasecmp(mimeinfo->subtype, "html")) {
SC_HTMLParser *parser;
CodeConverter *conv;
return result;
}
-gboolean procmime_find_string_part(MimeInfo *mimeinfo, const gchar *filename,
+static gboolean procmime_find_string_part(MimeInfo *mimeinfo, const gchar *filename,
const gchar *str, StrFindFunc find_func)
{
FILE *outfp;
} \
}
-int procmime_write_mime_header(MimeInfo *mimeinfo, FILE *fp)
+static int procmime_write_mime_header(MimeInfo *mimeinfo, FILE *fp)
{
struct TypeTable *type_table;
ParametersData *pdata = g_new0(ParametersData, 1);
gboolean procmime_encode_content (MimeInfo *mimeinfo, EncodingType encoding);
gint procmime_get_part (const gchar *outfile,
MimeInfo *mimeinfo);
-FILE *procmime_get_text_content (MimeInfo *mimeinfo);
FILE *procmime_get_first_text_content (MsgInfo *msginfo);
FILE *procmime_get_first_encrypted_text_content
(MsgInfo *msginfo);
-gboolean procmime_find_string_part (MimeInfo *mimeinfo,
- const gchar *filename,
- const gchar *str,
- StrFindFunc find_func);
gboolean procmime_find_string (MsgInfo *msginfo,
const gchar *str,
StrFindFunc find_func);
gboolean procmime_msginfo_is_encrypted (MsgInfo *msginfo);
void renderer_read_config(void);
-void renderer_write_config(void);
gint procmime_write_mimeinfo(MimeInfo *mimeinfo, FILE *fp);
static RecvUIFunc recv_ui_func;
static gpointer recv_ui_func_data;
+static gint recv_write (SockInfo *sock,
+ FILE *fp);
gint recv_write_to_file(SockInfo *sock, const gchar *filename)
{
return 0;
}
-gint recv_write(SockInfo *sock, FILE *fp)
+static gint recv_write(SockInfo *sock, FILE *fp)
{
gchar buf[BUFFSIZE];
gint len;
gint recv_write_to_file (SockInfo *sock,
const gchar *filename);
-gint recv_write (SockInfo *sock,
- FILE *fp);
void recv_set_ui_func (RecvUIFunc func,
gpointer data);
static gboolean key_pressed (GtkWidget *widget,
GdkEventKey *event,
SourceWindow *sourcewin);
+static void source_window_append (SourceWindow *sourcewin,
+ const gchar *str);
+static void source_window_destroy (SourceWindow *sourcewin);
static void source_window_init()
{
gtk_widget_show_all(sourcewin->window);
}
-void source_window_destroy(SourceWindow *sourcewin)
+static void source_window_destroy(SourceWindow *sourcewin)
{
if (sourcewin->updating) {
debug_print("deferring destroy\n");
fclose(fp);
}
-void source_window_append(SourceWindow *sourcewin, const gchar *str)
+static void source_window_append(SourceWindow *sourcewin, const gchar *str)
{
GtkTextView *text = GTK_TEXT_VIEW(sourcewin->text);
GtkTextBuffer *buffer = gtk_text_view_get_buffer(text);
SourceWindow *source_window_create (void);
void source_window_show (SourceWindow *sourcewin);
-void source_window_destroy (SourceWindow *sourcewin);
void source_window_show_msg (SourceWindow *sourcewin,
MsgInfo *msginfo);
-void source_window_append (SourceWindow *sourcewin,
- const gchar *str);
#endif /* __SOURCEWINDOW_H__ */
static gboolean summary_update_msg (gpointer source, gpointer data);
static gboolean summary_update_folder_item_hook(gpointer source, gpointer data);
static gboolean summary_update_folder_hook(gpointer source, gpointer data);
+static void summary_set_colorlabel_color (GtkCTree *ctree,
+ GtkCTreeNode *node,
+ guint labelcolor);
+static void summary_thread_build(SummaryView *summaryview);
GtkTargetEntry summary_drag_types[2] =
{
/* thread functions */
-void summary_thread_build(SummaryView *summaryview)
+static void summary_thread_build(SummaryView *summaryview)
{
GtkCTree *ctree = GTK_CTREE(summaryview->ctree);
GtkCTreeNode *node;
gboolean display_msg,
gboolean do_refresh);
-void summary_thread_build (SummaryView *summaryview);
-
void summary_expand_threads (SummaryView *summaryview);
void summary_collapse_threads (SummaryView *summaryview);
void summary_toggle_ignore_thread (SummaryView *summaryview);
void summary_set_tag (SummaryView *summaryview,
gint tag_id,
GtkWidget *widget);
-void summary_set_colorlabel_color (GtkCTree *ctree,
- GtkCTreeNode *node,
- guint labelcolor);
void summary_set_column_order (SummaryView *summaryview);
prefs_common.textview_cursor_visible);
}
-void textview_show_message(TextView *textview, MimeInfo *mimeinfo,
- const gchar *file)
-{
- textview->loading = TRUE;
- textview->stop_loading = FALSE;
-
- textview_clear(textview);
-
- textview_add_parts(textview, mimeinfo);
-
- textview_set_position(textview, 0);
-
- textview->loading = FALSE;
- textview->stop_loading = FALSE;
-}
-
void textview_show_part(TextView *textview, MimeInfo *mimeinfo, FILE *fp)
{
START_TIMING("");
void textview_init (TextView *textview);
void textview_reflect_prefs (TextView *textview);
-void textview_show_message (TextView *textview,
- MimeInfo *mimeinfo,
- const gchar *file);
void textview_show_part (TextView *textview,
MimeInfo *mimeinfo,
FILE *fp);
#define TOOLBAR_ICON_TEXT "text"
#define TOOLBAR_ICON_ACTION "action"
+static void toolbar_init(Toolbar * toolbar);
static gboolean toolbar_is_duplicate (gint action,
ToolbarType source);
static void toolbar_parse_item (XMLFile *file,
toolbar_item);
}
-void toolbar_action_execute(GtkWidget *widget,
+static void toolbar_action_execute(GtkWidget *widget,
GSList *action_list,
gpointer data,
gint source)
/**
* Initialize toolbar structure
**/
-void toolbar_init(Toolbar * toolbar) {
+static void toolbar_init(Toolbar * toolbar)
+{
toolbar->toolbar = NULL;
toolbar->folders_btn = NULL;
};
-void toolbar_action_execute (GtkWidget *widget,
- GSList *action_list,
- gpointer data,
- gint source);
-
GList *toolbar_get_action_items (ToolbarType source);
void toolbar_save_config_file (ToolbarType source);
GtkWidget *handlebox_wid,
guint action);
void toolbar_destroy (Toolbar *toolbar);
-void toolbar_init (Toolbar *toolbar);
void toolbar_set_learn_button (Toolbar *toolbar,
LearnButtonType learn_btn_type);
const gchar *toolbar_get_short_text (int action);