Working on the interface
This commit is contained in:
parent
7fb95ee8bc
commit
19d477fbe3
|
@ -100,6 +100,20 @@ void account_delete(Account * account)
|
||||||
|
|
||||||
|
|
||||||
/* accessors */
|
/* accessors */
|
||||||
|
/* account_get_enabled */
|
||||||
|
int account_get_enabled(Account * account)
|
||||||
|
{
|
||||||
|
return account->enabled;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* account_set_disabled */
|
||||||
|
void account_set_enabled(Account * account, int enabled)
|
||||||
|
{
|
||||||
|
account->enabled = enabled ? 1 : 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* account_get_store */
|
/* account_get_store */
|
||||||
GtkListStore * account_get_store(Account * account, AccountFolder * folder)
|
GtkListStore * account_get_store(Account * account, AccountFolder * folder)
|
||||||
{
|
{
|
||||||
|
@ -220,19 +234,3 @@ int account_init(Account * account, GtkTreeStore * store, GtkTreeIter * parent)
|
||||||
return 0;
|
return 0;
|
||||||
return account->plugin->init(store, parent);
|
return account->plugin->init(store, parent);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* account_disable */
|
|
||||||
int account_disable(Account * account)
|
|
||||||
{
|
|
||||||
account->enabled = 0;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* account_enable */
|
|
||||||
int account_enable(Account * account)
|
|
||||||
{
|
|
||||||
account->enabled = 1;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
|
@ -100,7 +100,11 @@ Account * account_new(char const * type, char const * name);
|
||||||
void account_delete(Account * account);
|
void account_delete(Account * account);
|
||||||
|
|
||||||
/* accessors */
|
/* accessors */
|
||||||
|
int account_get_enabled(Account * account);
|
||||||
|
void account_set_enabled(Account * account, int enabled);
|
||||||
|
|
||||||
GtkListStore * account_get_store(Account * account, AccountFolder * folder);
|
GtkListStore * account_get_store(Account * account, AccountFolder * folder);
|
||||||
|
|
||||||
char const * account_get_title(Account * account);
|
char const * account_get_title(Account * account);
|
||||||
int account_set_title(Account * account, char const * title);
|
int account_set_title(Account * account, char const * title);
|
||||||
|
|
||||||
|
@ -110,7 +114,4 @@ int account_config_save(Account * account, Config * config);
|
||||||
int account_init(Account * account, GtkTreeStore * store, GtkTreeIter * parent);
|
int account_init(Account * account, GtkTreeStore * store, GtkTreeIter * parent);
|
||||||
int account_quit(Account * account);
|
int account_quit(Account * account);
|
||||||
|
|
||||||
int account_disable(Account * account);
|
|
||||||
int account_enable(Account * account);
|
|
||||||
|
|
||||||
#endif /* !MAILER_ACCOUNT_H */
|
#endif /* !MAILER_ACCOUNT_H */
|
||||||
|
|
|
@ -262,7 +262,7 @@ static void _preferences_set(Mailer * mailer)
|
||||||
{
|
{
|
||||||
char * p;
|
char * p;
|
||||||
|
|
||||||
if((p = config_get(mailer->config, "", "message_font")) == NULL)
|
if((p = mailer_get_config(mailer, "messages_font")) == NULL)
|
||||||
p = MAILER_MESSAGES_FONT;
|
p = MAILER_MESSAGES_FONT;
|
||||||
gtk_font_button_set_font_name(GTK_FONT_BUTTON(mailer->pr_messages_font),
|
gtk_font_button_set_font_name(GTK_FONT_BUTTON(mailer->pr_messages_font),
|
||||||
p);
|
p);
|
||||||
|
@ -497,9 +497,11 @@ static int _preferences_ok_accounts(Mailer * mailer)
|
||||||
{
|
{
|
||||||
if(enabled)
|
if(enabled)
|
||||||
continue;
|
continue;
|
||||||
|
#if 0 /* FIXME API+behaviour change here */
|
||||||
if(mailer_account_disable(mailer, account) == 0)
|
if(mailer_account_disable(mailer, account) == 0)
|
||||||
gtk_list_store_set(GTK_LIST_STORE(model), &iter,
|
gtk_list_store_set(GTK_LIST_STORE(model), &iter,
|
||||||
AC_ACTIVE, FALSE, -1);
|
AC_ACTIVE, FALSE, -1);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
else if(enabled && mailer_account_add(mailer, account) == 0)
|
else if(enabled && mailer_account_add(mailer, account) == 0)
|
||||||
gtk_list_store_set(GTK_LIST_STORE(model), &iter,
|
gtk_list_store_set(GTK_LIST_STORE(model), &iter,
|
||||||
|
@ -1232,19 +1234,41 @@ void on_compose_send(GtkWidget * widget, gpointer data)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* compose file menu */
|
void on_compose_attach(GtkWidget * widget, gpointer data)
|
||||||
void on_compose_file_send(GtkWidget * widget, gpointer data)
|
|
||||||
{
|
{
|
||||||
/* FIXME implement */
|
/* FIXME implement */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* compose file menu */
|
||||||
|
void on_compose_file_new(GtkWidget * widget, gpointer data)
|
||||||
|
{
|
||||||
|
Compose * c = data;
|
||||||
|
|
||||||
|
compose_new(c->mailer);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void on_compose_file_send(GtkWidget * widget, gpointer data)
|
||||||
|
{
|
||||||
|
Compose * c = data;
|
||||||
|
|
||||||
|
compose_send(c);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void on_compose_file_save(GtkWidget * widget, gpointer data)
|
void on_compose_file_save(GtkWidget * widget, gpointer data)
|
||||||
{
|
{
|
||||||
/* FIXME implement */
|
/* FIXME implement */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void on_compose_file_save_as(GtkWidget * widget, gpointer data)
|
||||||
|
{
|
||||||
|
/* FIXME implement */
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void on_compose_file_close(GtkWidget * widget, gpointer data)
|
void on_compose_file_close(GtkWidget * widget, gpointer data)
|
||||||
{
|
{
|
||||||
Compose * c = data;
|
Compose * c = data;
|
||||||
|
@ -1253,6 +1277,37 @@ void on_compose_file_close(GtkWidget * widget, gpointer data)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* compose_edit_menu */
|
||||||
|
void on_compose_edit_undo(GtkWidget * widget, gpointer data)
|
||||||
|
{
|
||||||
|
/* FIXME implement */
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void on_compose_edit_redo(GtkWidget * widget, gpointer data)
|
||||||
|
{
|
||||||
|
/* FIXME implement */
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void on_compose_edit_cut(GtkWidget * widget, gpointer data)
|
||||||
|
{
|
||||||
|
/* FIXME implement */
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void on_compose_edit_copy(GtkWidget * widget, gpointer data)
|
||||||
|
{
|
||||||
|
/* FIXME implement */
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void on_compose_edit_paste(GtkWidget * widget, gpointer data)
|
||||||
|
{
|
||||||
|
/* FIXME implement */
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* compose view menu */
|
/* compose view menu */
|
||||||
void on_compose_view_cc(GtkWidget * widget, gpointer data)
|
void on_compose_view_cc(GtkWidget * widget, gpointer data)
|
||||||
{
|
{
|
||||||
|
|
|
@ -73,12 +73,22 @@ void on_account_delete(GtkWidget * widget, gpointer data);
|
||||||
gboolean on_compose_closex(GtkWidget * widget, GdkEvent * event, gpointer data);
|
gboolean on_compose_closex(GtkWidget * widget, GdkEvent * event, gpointer data);
|
||||||
void on_compose_save(GtkWidget * widget, gpointer data);
|
void on_compose_save(GtkWidget * widget, gpointer data);
|
||||||
void on_compose_send(GtkWidget * widget, gpointer data);
|
void on_compose_send(GtkWidget * widget, gpointer data);
|
||||||
|
void on_compose_attach(GtkWidget * widget, gpointer data);
|
||||||
|
|
||||||
/* file menu */
|
/* file menu */
|
||||||
void on_compose_file_send(GtkWidget * widget, gpointer data);
|
void on_compose_file_new(GtkWidget * widget, gpointer data);
|
||||||
void on_compose_file_save(GtkWidget * widget, gpointer data);
|
void on_compose_file_save(GtkWidget * widget, gpointer data);
|
||||||
|
void on_compose_file_save_as(GtkWidget * widget, gpointer data);
|
||||||
|
void on_compose_file_send(GtkWidget * widget, gpointer data);
|
||||||
void on_compose_file_close(GtkWidget * widget, gpointer data);
|
void on_compose_file_close(GtkWidget * widget, gpointer data);
|
||||||
|
|
||||||
|
/* edit menu */
|
||||||
|
void on_compose_edit_undo(GtkWidget * widget, gpointer data);
|
||||||
|
void on_compose_edit_redo(GtkWidget * widget, gpointer data);
|
||||||
|
void on_compose_edit_cut(GtkWidget * widget, gpointer data);
|
||||||
|
void on_compose_edit_copy(GtkWidget * widget, gpointer data);
|
||||||
|
void on_compose_edit_paste(GtkWidget * widget, gpointer data);
|
||||||
|
|
||||||
/* view menu */
|
/* view menu */
|
||||||
void on_compose_view_cc(GtkWidget * widget, gpointer data);
|
void on_compose_view_cc(GtkWidget * widget, gpointer data);
|
||||||
void on_compose_view_bcc(GtkWidget * widget, gpointer data);
|
void on_compose_view_bcc(GtkWidget * widget, gpointer data);
|
||||||
|
|
|
@ -28,17 +28,34 @@
|
||||||
#include "compose.h"
|
#include "compose.h"
|
||||||
|
|
||||||
|
|
||||||
|
/* private */
|
||||||
/* constants */
|
/* constants */
|
||||||
static struct _menu _menu_file[] =
|
static struct _menu _menu_file[] =
|
||||||
{
|
{
|
||||||
{ "_Send", G_CALLBACK(on_compose_file_send), "stock_mail-send", 0 },
|
{ "_New message", G_CALLBACK(on_compose_file_new), "stock_mail-compose",
|
||||||
|
GDK_N },
|
||||||
{ "", NULL, NULL, 0 },
|
{ "", NULL, NULL, 0 },
|
||||||
{ "_Save", G_CALLBACK(on_compose_file_save), GTK_STOCK_SAVE, GDK_S },
|
{ "_Save", G_CALLBACK(on_compose_file_save), GTK_STOCK_SAVE, GDK_S },
|
||||||
|
{ "Save _as...", G_CALLBACK(on_compose_file_save_as), GTK_STOCK_SAVE_AS,
|
||||||
|
0 },
|
||||||
|
{ "", NULL, NULL, 0 },
|
||||||
|
{ "_Send", G_CALLBACK(on_compose_file_send), "stock_mail-send", 0 },
|
||||||
{ "", NULL, NULL, 0 },
|
{ "", NULL, NULL, 0 },
|
||||||
{ "_Close", G_CALLBACK(on_compose_file_close), GTK_STOCK_CLOSE, GDK_W },
|
{ "_Close", G_CALLBACK(on_compose_file_close), GTK_STOCK_CLOSE, GDK_W },
|
||||||
{ NULL, NULL, NULL, 0 }
|
{ NULL, NULL, NULL, 0 }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct _menu _menu_edit[] =
|
||||||
|
{
|
||||||
|
{ "_Undo", G_CALLBACK(on_compose_edit_undo), "stock_undo", GDK_Z },
|
||||||
|
{ "_Redo", G_CALLBACK(on_compose_edit_redo), "stock_redo", GDK_Y },
|
||||||
|
{ "", NULL, NULL, 0 },
|
||||||
|
{ "_Cut", G_CALLBACK(on_compose_edit_cut), GTK_STOCK_CUT, GDK_X },
|
||||||
|
{ "_Copy", G_CALLBACK(on_compose_edit_copy), GTK_STOCK_COPY, GDK_C },
|
||||||
|
{ "_Paste", G_CALLBACK(on_compose_edit_paste), GTK_STOCK_PASTE, GDK_P },
|
||||||
|
{ NULL, NULL, NULL, 0 }
|
||||||
|
};
|
||||||
|
|
||||||
static struct _menu _menu_view[] =
|
static struct _menu _menu_view[] =
|
||||||
{
|
{
|
||||||
/* FIXME CC and BCC should be toggle menu entries */
|
/* FIXME CC and BCC should be toggle menu entries */
|
||||||
|
@ -60,6 +77,7 @@ static struct _menu _menu_help[] =
|
||||||
static struct _menubar _compose_menubar[] =
|
static struct _menubar _compose_menubar[] =
|
||||||
{
|
{
|
||||||
{ "_File", _menu_file },
|
{ "_File", _menu_file },
|
||||||
|
{ "_Edit", _menu_edit },
|
||||||
{ "_View", _menu_view },
|
{ "_View", _menu_view },
|
||||||
{ "_Help", _menu_help },
|
{ "_Help", _menu_help },
|
||||||
{ NULL, NULL }
|
{ NULL, NULL }
|
||||||
|
@ -70,11 +88,16 @@ static struct _toolbar _compose_toolbar[] =
|
||||||
{ "Send", G_CALLBACK(on_compose_send), "stock_mail-send" },
|
{ "Send", G_CALLBACK(on_compose_send), "stock_mail-send" },
|
||||||
{ "", NULL, NULL },
|
{ "", NULL, NULL },
|
||||||
{ "Save", G_CALLBACK(on_compose_save), GTK_STOCK_SAVE },
|
{ "Save", G_CALLBACK(on_compose_save), GTK_STOCK_SAVE },
|
||||||
|
{ "", NULL, NULL },
|
||||||
|
{ "Attach", G_CALLBACK(on_compose_attach), "stock_attach" },
|
||||||
{ NULL, NULL, NULL }
|
{ NULL, NULL, NULL }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/* public */
|
||||||
/* compose_new */
|
/* compose_new */
|
||||||
|
static GtkWidget * _new_text_view(Mailer * mailer);
|
||||||
|
|
||||||
Compose * compose_new(Mailer * mailer)
|
Compose * compose_new(Mailer * mailer)
|
||||||
{
|
{
|
||||||
Compose * compose;
|
Compose * compose;
|
||||||
|
@ -83,7 +106,6 @@ Compose * compose_new(Mailer * mailer)
|
||||||
GtkToolItem * toolitem;
|
GtkToolItem * toolitem;
|
||||||
GtkSizeGroup * group;
|
GtkSizeGroup * group;
|
||||||
GtkWidget * widget;
|
GtkWidget * widget;
|
||||||
PangoFontDescription * desc;
|
|
||||||
|
|
||||||
if((compose = malloc(sizeof(*compose))) == NULL)
|
if((compose = malloc(sizeof(*compose))) == NULL)
|
||||||
{
|
{
|
||||||
|
@ -169,11 +191,8 @@ Compose * compose_new(Mailer * mailer)
|
||||||
gtk_container_add(GTK_CONTAINER(toolitem), compose->subject);
|
gtk_container_add(GTK_CONTAINER(toolitem), compose->subject);
|
||||||
gtk_toolbar_insert(GTK_TOOLBAR(toolbar), toolitem, -1);
|
gtk_toolbar_insert(GTK_TOOLBAR(toolbar), toolitem, -1);
|
||||||
gtk_box_pack_start(GTK_BOX(vbox), toolbar, FALSE, FALSE, 0);
|
gtk_box_pack_start(GTK_BOX(vbox), toolbar, FALSE, FALSE, 0);
|
||||||
compose->view = gtk_text_view_new();
|
/* view */
|
||||||
desc = pango_font_description_new();
|
compose->view = _new_text_view(mailer);
|
||||||
pango_font_description_set_family(desc, "monospace");
|
|
||||||
gtk_widget_modify_font(compose->view, desc);
|
|
||||||
pango_font_description_free(desc);
|
|
||||||
widget = gtk_scrolled_window_new(NULL, NULL);
|
widget = gtk_scrolled_window_new(NULL, NULL);
|
||||||
gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(widget),
|
gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(widget),
|
||||||
GTK_SHADOW_ETCHED_IN);
|
GTK_SHADOW_ETCHED_IN);
|
||||||
|
@ -192,6 +211,42 @@ Compose * compose_new(Mailer * mailer)
|
||||||
return compose;
|
return compose;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static GtkWidget * _new_text_view(Mailer * mailer)
|
||||||
|
{
|
||||||
|
GtkWidget * textview;
|
||||||
|
PangoFontDescription * desc;
|
||||||
|
char const * homedir;
|
||||||
|
char * filename;
|
||||||
|
gchar * buf;
|
||||||
|
size_t cnt;
|
||||||
|
GtkTextBuffer * buffer;
|
||||||
|
static char const signature[] = "/.signature";
|
||||||
|
static char const prefix[] = "\n-- \n";
|
||||||
|
|
||||||
|
textview = gtk_text_view_new();
|
||||||
|
/* font */
|
||||||
|
desc = pango_font_description_from_string(mailer_get_config(mailer,
|
||||||
|
"messages_font"));
|
||||||
|
gtk_widget_modify_font(textview, desc);
|
||||||
|
pango_font_description_free(desc);
|
||||||
|
/* signature */
|
||||||
|
if((homedir = getenv("HOME")) == NULL)
|
||||||
|
return textview;
|
||||||
|
if((filename = malloc(strlen(homedir) + sizeof(signature))) == NULL)
|
||||||
|
return textview;
|
||||||
|
sprintf(filename, "%s%s", homedir, signature);
|
||||||
|
if(g_file_get_contents(filename, &buf, &cnt, NULL) != TRUE)
|
||||||
|
{
|
||||||
|
free(filename);
|
||||||
|
return textview;
|
||||||
|
}
|
||||||
|
free(filename);
|
||||||
|
buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(textview));
|
||||||
|
gtk_text_buffer_set_text(buffer, prefix, sizeof(prefix) - 1);
|
||||||
|
gtk_text_buffer_insert_at_cursor(buffer, buf, cnt);
|
||||||
|
return textview;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* compose_delete */
|
/* compose_delete */
|
||||||
void compose_delete(Compose * compose)
|
void compose_delete(Compose * compose)
|
||||||
|
@ -201,6 +256,13 @@ void compose_delete(Compose * compose)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* accessors */
|
||||||
|
Mailer * compose_get_mailer(Compose * compose)
|
||||||
|
{
|
||||||
|
return compose->mailer;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* useful */
|
/* useful */
|
||||||
/* compose_save */
|
/* compose_save */
|
||||||
void compose_save(Compose * compose)
|
void compose_save(Compose * compose)
|
||||||
|
|
|
@ -55,6 +55,9 @@ typedef struct _Compose
|
||||||
Compose * compose_new(Mailer * mailer);
|
Compose * compose_new(Mailer * mailer);
|
||||||
void compose_delete(Compose * compose);
|
void compose_delete(Compose * compose);
|
||||||
|
|
||||||
|
/* accessors */
|
||||||
|
Mailer * compose_get_mailer(Compose * compose); /* XXX ugly */
|
||||||
|
|
||||||
/* useful */
|
/* useful */
|
||||||
void compose_save(Compose * compose);
|
void compose_save(Compose * compose);
|
||||||
void compose_send(Compose * compose);
|
void compose_send(Compose * compose);
|
||||||
|
|
33
src/mailer.c
33
src/mailer.c
|
@ -309,8 +309,9 @@ static GtkWidget * _new_folders_view(Mailer * mailer)
|
||||||
GtkCellRenderer * renderer;
|
GtkCellRenderer * renderer;
|
||||||
GtkTreeSelection * treesel;
|
GtkTreeSelection * treesel;
|
||||||
|
|
||||||
model = gtk_tree_store_new(MF_COL_COUNT, G_TYPE_POINTER, G_TYPE_POINTER,
|
model = gtk_tree_store_new(MF_COL_COUNT, G_TYPE_POINTER, G_TYPE_BOOLEAN,
|
||||||
GDK_TYPE_PIXBUF, G_TYPE_STRING);
|
G_TYPE_BOOLEAN, G_TYPE_POINTER, GDK_TYPE_PIXBUF,
|
||||||
|
G_TYPE_STRING);
|
||||||
widget = gtk_tree_view_new_with_model(GTK_TREE_MODEL(model));
|
widget = gtk_tree_view_new_with_model(GTK_TREE_MODEL(model));
|
||||||
g_object_unref(model);
|
g_object_unref(model);
|
||||||
renderer = gtk_cell_renderer_pixbuf_new();
|
renderer = gtk_cell_renderer_pixbuf_new();
|
||||||
|
@ -453,16 +454,23 @@ void mailer_delete(Mailer * mailer)
|
||||||
|
|
||||||
|
|
||||||
/* accessors */
|
/* accessors */
|
||||||
|
/* mailer_get_config */
|
||||||
|
char const * mailer_get_config(Mailer * mailer, char const * variable)
|
||||||
|
{
|
||||||
|
return config_get(mailer->config, "", variable);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* mailer_get_config_filename */
|
/* mailer_get_config_filename */
|
||||||
char * mailer_get_config_filename(Mailer * mailer)
|
char * mailer_get_config_filename(Mailer * mailer)
|
||||||
/* FIXME consider replacing with mailer_save_config() */
|
/* FIXME consider replacing with mailer_save_config() */
|
||||||
{
|
{
|
||||||
char * homedir;
|
char const * homedir;
|
||||||
char * filename;
|
char * filename;
|
||||||
|
|
||||||
if((homedir = getenv("HOME")) == NULL)
|
if((homedir = getenv("HOME")) == NULL)
|
||||||
return NULL;
|
return NULL;
|
||||||
if((filename = malloc(strlen(homedir) + strlen(MAILER_CONFIG_FILE) + 2))
|
if((filename = malloc(strlen(homedir) + sizeof(MAILER_CONFIG_FILE) + 1))
|
||||||
== NULL)
|
== NULL)
|
||||||
return NULL;
|
return NULL;
|
||||||
sprintf(filename, "%s/%s", homedir, MAILER_CONFIG_FILE);
|
sprintf(filename, "%s/%s", homedir, MAILER_CONFIG_FILE);
|
||||||
|
@ -502,8 +510,8 @@ int mailer_account_add(Mailer * mailer, Account * account)
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
fprintf(stderr, "DEBUG: mailer_account_add(%p)\n", account);
|
fprintf(stderr, "DEBUG: mailer_account_add(%p)\n", account);
|
||||||
#endif
|
#endif
|
||||||
if((p = realloc(mailer->account, sizeof(*p) * (mailer->account_cnt + 1)))
|
if((p = realloc(mailer->account, sizeof(*p) * (mailer->account_cnt
|
||||||
== NULL)
|
+ 1))) == NULL)
|
||||||
return mailer_error(mailer, "realloc", FALSE);
|
return mailer_error(mailer, "realloc", FALSE);
|
||||||
mailer->account = p;
|
mailer->account = p;
|
||||||
mailer->account[mailer->account_cnt] = account;
|
mailer->account[mailer->account_cnt] = account;
|
||||||
|
@ -513,14 +521,16 @@ int mailer_account_add(Mailer * mailer, Account * account)
|
||||||
pixbuf = gtk_icon_theme_load_icon(theme, "stock_mail-accounts", 16, 0,
|
pixbuf = gtk_icon_theme_load_icon(theme, "stock_mail-accounts", 16, 0,
|
||||||
NULL);
|
NULL);
|
||||||
gtk_tree_store_set(GTK_TREE_STORE(model), &iter, MF_COL_ACCOUNT,
|
gtk_tree_store_set(GTK_TREE_STORE(model), &iter, MF_COL_ACCOUNT,
|
||||||
account, MF_COL_FOLDER, NULL, MF_COL_ICON, pixbuf,
|
account, MF_COL_ENABLED, account_get_enabled(account),
|
||||||
MF_COL_NAME, account->title, -1);
|
MF_COL_DELETE, FALSE, MF_COL_FOLDER, NULL, MF_COL_ICON,
|
||||||
|
pixbuf, MF_COL_NAME, account->title, -1);
|
||||||
account_init(account, GTK_TREE_STORE(model), &iter);
|
account_init(account, GTK_TREE_STORE(model), &iter);
|
||||||
mailer->account_cnt++;
|
mailer->account_cnt++;
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#if 0 /* FIXME deprecate? */
|
||||||
/* mailer_account_disable */
|
/* mailer_account_disable */
|
||||||
int mailer_account_disable(Mailer * mailer, Account * account)
|
int mailer_account_disable(Mailer * mailer, Account * account)
|
||||||
{
|
{
|
||||||
|
@ -531,7 +541,8 @@ int mailer_account_disable(Mailer * mailer, Account * account)
|
||||||
break;
|
break;
|
||||||
if(i == mailer->account_cnt)
|
if(i == mailer->account_cnt)
|
||||||
return 1;
|
return 1;
|
||||||
return account_disable(account);
|
account_set_enabled(account, 0);
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -545,5 +556,7 @@ int mailer_account_enable(Mailer * mailer, Account * account)
|
||||||
break;
|
break;
|
||||||
if(i == mailer->account_cnt)
|
if(i == mailer->account_cnt)
|
||||||
return 1;
|
return 1;
|
||||||
return account_enable(account);
|
account_set_enabled(account, 1);
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
|
@ -43,7 +43,8 @@
|
||||||
/* types */
|
/* types */
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
MF_COL_ACCOUNT = 0, MF_COL_FOLDER, MF_COL_ICON, MF_COL_NAME
|
MF_COL_ACCOUNT = 0, MF_COL_ENABLED, MF_COL_DELETE, MF_COL_FOLDER,
|
||||||
|
MF_COL_ICON, MF_COL_NAME
|
||||||
};
|
};
|
||||||
# define MF_COL_LAST MF_COL_NAME
|
# define MF_COL_LAST MF_COL_NAME
|
||||||
# define MF_COL_COUNT (MF_COL_LAST + 1)
|
# define MF_COL_COUNT (MF_COL_LAST + 1)
|
||||||
|
@ -92,14 +93,17 @@ Mailer * mailer_new(void);
|
||||||
void mailer_delete(Mailer * mailer);
|
void mailer_delete(Mailer * mailer);
|
||||||
|
|
||||||
/* accessors */
|
/* accessors */
|
||||||
|
char const * mailer_get_config(Mailer * mailer, char const * variable);
|
||||||
char * mailer_get_config_filename(Mailer * mailer);
|
char * mailer_get_config_filename(Mailer * mailer);
|
||||||
|
|
||||||
/* useful */
|
/* useful */
|
||||||
int mailer_error(Mailer * mailer, char const * message, int ret);
|
int mailer_error(Mailer * mailer, char const * message, int ret);
|
||||||
|
|
||||||
int mailer_account_add(Mailer * mailer, Account * account);
|
int mailer_account_add(Mailer * mailer, Account * account);
|
||||||
|
#if 0 /* FIXME deprecate? */
|
||||||
int mailer_account_disable(Mailer * mailer, Account * account);
|
int mailer_account_disable(Mailer * mailer, Account * account);
|
||||||
int mailer_account_enable(Mailer * mailer, Account * account);
|
int mailer_account_enable(Mailer * mailer, Account * account);
|
||||||
|
#endif
|
||||||
/* FIXME implement
|
/* FIXME implement
|
||||||
int mailer_account_remove(Mailer * mailer, Account * account); */
|
int mailer_account_remove(Mailer * mailer, Account * account); */
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user