|
From: CORE C. L. <cor...@li...> - 2000-11-23 02:23:04
|
Core CVS committal
Author : rbdpngn
Project : core
Module : src
Modified Files:
account.c account.h callbacks.c callbacks.h main.c menus.c
message.h panes.c panes.h
Log Message:
Added a check for message status in the message list, reorganized a bit. Also added a couple fields to the account struct to track the number of new and total messages. Hopefully, I'll get the account pane to show the number of new and total messages tonight.
===================================================================
RCS file: /cvsroot/corem/core/src/account.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -3 -r1.9 -r1.10
--- account.c 2000/11/21 23:39:59 1.9
+++ account.c 2000/11/23 02:23:03 1.10
@@ -22,7 +22,9 @@
ret->address = NULL;
ret->server = NULL;
ret->path = NULL;
- ret->fp = NULL;
+ ret->fp = NULL;
+ ret->messages = 0;
+ ret->new_messages = 0;
return ret;
}
@@ -88,6 +90,42 @@
return TRUE;
}
+int account_get_num_messages(Account * ac)
+{
+ if (!ac)
+ return 0;
+
+ return ac->messages;
+}
+
+int account_set_num_messages(Account * ac, int num)
+{
+ if (!ac)
+ return FALSE;
+
+ ac->messages = num;
+
+ return TRUE;
+}
+
+int account_get_num_new_messages(Account * ac)
+{
+ if (!ac)
+ return 0;
+
+ return ac->new_messages;
+}
+
+int account_set_num_new_messages(Account * ac, int num)
+{
+ if (!ac)
+ return FALSE;
+
+ ac->new_messages = num;
+
+ return TRUE;
+}
+
char *account_get_name(Account * ac)
{
if (!ac)
@@ -259,7 +297,7 @@
return TRUE;
}
-Account *get_next_folder()
+Account *get_next_account()
{
struct stat file_stat;
struct dirent *dentry = NULL;
===================================================================
RCS file: /cvsroot/corem/core/src/account.h,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -3 -r1.7 -r1.8
--- account.h 2000/11/21 17:59:01 1.7
+++ account.h 2000/11/23 02:23:03 1.8
@@ -10,8 +10,10 @@
/* Folder specific info */
char *name; /* Name of the mailbox. */
AccountType type; /* Mailbox type. */
- char *path; /* Path to the local mailbox. */
- FILE *fp; /* Pointer to the local mbox file */
+ char *path; /* Path to the local mailbox. */
+ int messages; /* Number of messages in mailbox */
+ int new_messages; /* Number of new messages in mailbox */
+ FILE *fp; /* Pointer to the local mailbox file */
/* User specific info */
char *full_name; /* The full name of the user. */
@@ -53,11 +55,21 @@
/* Return a malloc()'d copy of the full name in account ac. */
char *account_get_full_name(Account * ac);
+/* Return the number of messages in the account */
+int account_get_num_messages(Account * ac);
+/* Set the number of messages to num */
+int account_set_num_messages(Account * ac, int num);
+
+/* Return the number of new messages in the account */
+int account_get_num_new_messages(Account * ac);
+/* Set the number of new messages to num */
+int account_set_num_new_messages(Account * ac, int num);
+
/* Read in the settings found in the file path, return an account structure */
Account *account_read(gchar * path);
int account_write(Account * acct);
/* Move through the various folders returning them one at a time */
-Account *get_next_folder(void);
+Account *get_next_account(void);
/* Reset the file pointer for the local mailbox */
int account_reset(Account * ac);
===================================================================
RCS file: /cvsroot/corem/core/src/callbacks.c,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -3 -r1.23 -r1.24
--- callbacks.c 2000/11/22 23:45:00 1.23
+++ callbacks.c 2000/11/23 02:23:03 1.24
@@ -15,101 +15,6 @@
GtkWidget *accounts_win_new;
extern GtkWidget *toolbar;
-/* The main account window */
-void create_account_window()
-{
- Account *mbox;
- GtkWidget *accounts_win;
- GtkWidget *main_vbox, *hbox;
- GtkCTreeNode *item;
- GtkWidget *hbutton_box;
- GtkWidget *button_new, *button_edit, *button_remove, *button_close;
- gchar **text = NULL;
- gchar *titles[] = { "Folder Name", "Full Name", "E-mail Address",
- "Mailbox Path", NULL
- };
-
- /* Window title */
- title = g_strdup_printf("Accounts");
-
- /* Create the account window */
- accounts_win = gtk_window_new(GTK_WINDOW_TOPLEVEL);
- /* Set title for the account window */
- gtk_window_set_title(GTK_WINDOW(accounts_win), title);
-
- /* Account window main vbox */
- main_vbox = gtk_vbox_new(FALSE, 0);
- gtk_container_set_border_width(GTK_CONTAINER(main_vbox), 0);
- gtk_container_add(GTK_CONTAINER(accounts_win), main_vbox);
-
- /* The clist for browsing accounts */
- ctree = gtk_clist_new_with_titles(4, titles);
- gtk_box_pack_start(GTK_BOX(main_vbox), ctree, TRUE, FALSE, 0);
- while ((mbox = get_next_folder())) {
- if (text[0])
- g_free(text[0]);
- if (text[1])
- g_free(text[1]);
- if (text[2])
- g_free(text[2]);
- if (text[3])
- g_free(text[3]);
-
- text = (char **) g_malloc(4 * sizeof(char *));
- text[0] = account_get_name(mbox);
- text[1] = g_strdup("Test 1");
- text[2] = g_strdup("Test 2");
- text[3] = g_strdup("Test 3");
-
- item = gtk_ctree_insert_node(GTK_CTREE(ctree),
- NULL, NULL, text, 0, NULL,
- NULL, NULL, NULL, FALSE,
- FALSE);
- gtk_ctree_node_set_row_data_full(GTK_CTREE(ctree), item,
- mbox,
- (GtkDestroyNotify)
- destroy_account);
- }
-
- hbox = gtk_hbox_new(FALSE, 0);
- gtk_box_pack_start(GTK_BOX(main_vbox), hbox, FALSE, FALSE, 0);
-
- /* The buttons at the bottom of the window */
- hbutton_box = gtk_hbutton_box_new();
- gtk_box_pack_start(GTK_BOX(hbox), hbutton_box, FALSE, FALSE, 0);
-
- /* New account button */
- button_new = gtk_button_new_with_label("New");
- gtk_widget_set_usize(GTK_WIDGET(button_new), 55, 22);
- gtk_signal_connect_object(GTK_OBJECT(button_new), "clicked",
- GTK_SIGNAL_FUNC
- (create_accounts_win_new_edit), NULL);
- gtk_container_add(GTK_CONTAINER(hbutton_box), button_new);
-
- /* Edit account button */
- button_edit = gtk_button_new_with_label("Edit");
- gtk_widget_set_usize(GTK_WIDGET(button_edit), 55, 22);
- gtk_signal_connect_object(GTK_OBJECT(button_edit), "clicked",
- GTK_SIGNAL_FUNC
- (create_accounts_win_new_edit), NULL);
- gtk_container_add(GTK_CONTAINER(hbutton_box), button_edit);
-
- /* Remove account button */
- button_remove = gtk_button_new_with_label("Remove");
- gtk_widget_set_usize(GTK_WIDGET(button_remove), 55, 22);
- gtk_container_add(GTK_CONTAINER(hbutton_box), button_remove);
-
- /* Close button */
- button_close = gtk_button_new_with_label("Close");
- gtk_signal_connect_object(GTK_OBJECT(button_close), "clicked",
- GTK_SIGNAL_FUNC(gtk_widget_destroy),
- GTK_OBJECT(accounts_win));
- gtk_container_add(GTK_CONTAINER(hbutton_box), button_close);
-
- /* Show all widgets in the accounts window */
- gtk_widget_show_all(accounts_win);
-}
-
/* The new/edit account window */
void create_accounts_win_new_edit()
{
@@ -511,7 +416,24 @@
}
if (config.ml_read == 1) {
- text[col] = g_strdup("");
+ found = find_header(head, "Status:");
+ if (found) {
+ text[col] = header_get_value(found);
+ if (strchr(text[col], 'R')) {
+ free(text[col]);
+ text[col] = g_strdup("Read");
+ }
+ else if (strchr(text[col], 'O')) {
+ free(text[col]);
+ text[col] = g_strdup("Unread");
+ }
+ else {
+ free(text[col]);
+ text[col] = g_strdup("New");
+ }
+ }
+ else
+ text[col] = g_strdup("New");
col++;
}
===================================================================
RCS file: /cvsroot/corem/core/src/callbacks.h,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -3 -r1.10 -r1.11
--- callbacks.h 2000/11/22 23:45:00 1.10
+++ callbacks.h 2000/11/23 02:23:03 1.11
@@ -56,9 +56,6 @@
/* Quit core funcion */
void core_main_quit(void);
-/* The main account window */
-void create_account_window();
-
/* The new/edit account window */
void create_accounts_win_new_edit(void);
===================================================================
RCS file: /cvsroot/corem/core/src/main.c,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -3 -r1.14 -r1.15
--- main.c 2000/11/23 01:08:37 1.14
+++ main.c 2000/11/23 02:23:03 1.15
@@ -95,15 +95,15 @@
- hpane = gtk_hpaned_new();
+ hpane = gtk_hpaned_new();
- {
- pane = core_create_folder_pane();
- gtk_paned_pack1(GTK_PANED(hpane), pane, TRUE, TRUE);
+ {
+ pane = core_create_folder_pane();
+ gtk_paned_pack1(GTK_PANED(hpane), pane, TRUE, TRUE);
- pane = core_create_mlist_pane();
- gtk_paned_pack2(GTK_PANED(hpane), pane, TRUE, TRUE);
- }
+ pane = core_create_mlist_pane();
+ gtk_paned_pack2(GTK_PANED(hpane), pane, TRUE, TRUE);
+ }
main_menu = create_main_menu();
gtk_container_set_border_width(GTK_CONTAINER(main_menu), 0);
===================================================================
RCS file: /cvsroot/corem/core/src/menus.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -3 -r1.8 -r1.9
--- menus.c 2000/11/23 01:08:37 1.8
+++ menus.c 2000/11/23 02:23:03 1.9
@@ -41,11 +41,12 @@
*viewmenu, *help, *helpmenu;
GtkWidget *quit, *accounts, *preferences, *themes, *themesmenu,
*toolbar, *toolbarmenu, *show, *text, *icons, *both, *about,
- *message_list, *message_listmenu, *mline_style, *mline_stylemenu,
- *mline_none, *mline_solid, *mline_dotted, *mline_tabbed, *folder_list,
- *folder_listmenu, *fline_style, *fline_stylemenu, *fline_none,
- *fline_solid, *fline_dotted, *fline_tabbed, *mpriority,
- *mread, *mattachment, *mscore, *mfrom, *msubject, *mdate, *mserver;
+ *message_list, *message_listmenu, *mline_style,
+ *mline_stylemenu, *mline_none, *mline_solid, *mline_dotted,
+ *mline_tabbed, *folder_list, *folder_listmenu, *fline_style,
+ *fline_stylemenu, *fline_none, *fline_solid, *fline_dotted,
+ *fline_tabbed, *mpriority, *mread, *mattachment, *mscore,
+ *mfrom, *msubject, *mdate, *mserver;
GSList *radio_buttons = NULL;
GSList *mline_radio = NULL;
GSList *fline_radio = NULL;
@@ -176,47 +177,64 @@
gtk_menu_append(GTK_MENU(message_listmenu), mline_style);
mline_stylemenu = gtk_menu_new();
- gtk_menu_item_set_submenu(GTK_MENU_ITEM(mline_style), mline_stylemenu);
+ gtk_menu_item_set_submenu(GTK_MENU_ITEM(mline_style),
+ mline_stylemenu);
- mline_none = gtk_radio_menu_item_new_with_label(mline_radio, "None");
- mline_radio = gtk_radio_menu_item_group(GTK_RADIO_MENU_ITEM(mline_none));
+ mline_none =
+ gtk_radio_menu_item_new_with_label(mline_radio, "None");
+ mline_radio =
+ gtk_radio_menu_item_group(GTK_RADIO_MENU_ITEM(mline_none));
gtk_signal_connect_object(GTK_OBJECT(mline_none), "toggled",
- GTK_SIGNAL_FUNC(mail_ctree_change_line_style),
- GINT_TO_POINTER(0));
+ GTK_SIGNAL_FUNC
+ (mail_ctree_change_line_style),
+ GINT_TO_POINTER(0));
gtk_menu_append(GTK_MENU(mline_stylemenu), mline_none);
+
+ mline_solid =
+ gtk_radio_menu_item_new_with_label(mline_radio, "Solid");
+ mline_radio =
+ gtk_radio_menu_item_group(GTK_RADIO_MENU_ITEM(mline_solid));
+ gtk_signal_connect_object(GTK_OBJECT(mline_solid), "toggled",
+ GTK_SIGNAL_FUNC
+ (mail_ctree_change_line_style),
+ GINT_TO_POINTER(1));
+ gtk_menu_append(GTK_MENU(mline_stylemenu), mline_solid);
+
+ mline_dotted =
+ gtk_radio_menu_item_new_with_label(mline_radio, "Dotted");
+ mline_radio =
+ gtk_radio_menu_item_group(GTK_RADIO_MENU_ITEM(mline_dotted));
+ gtk_signal_connect_object(GTK_OBJECT(mline_none), "toggled",
+ GTK_SIGNAL_FUNC
+ (mail_ctree_change_line_style),
+ GINT_TO_POINTER(2));
+ gtk_menu_append(GTK_MENU(mline_stylemenu), mline_dotted);
- mline_solid = gtk_radio_menu_item_new_with_label(mline_radio, "Solid");
- mline_radio = gtk_radio_menu_item_group(GTK_RADIO_MENU_ITEM(mline_solid));
- gtk_signal_connect_object(GTK_OBJECT(mline_solid), "toggled",
- GTK_SIGNAL_FUNC(mail_ctree_change_line_style),
- GINT_TO_POINTER(1));
- gtk_menu_append(GTK_MENU(mline_stylemenu), mline_solid);
-
- mline_dotted = gtk_radio_menu_item_new_with_label(mline_radio, "Dotted");
- mline_radio = gtk_radio_menu_item_group(GTK_RADIO_MENU_ITEM(mline_dotted));
- gtk_signal_connect_object(GTK_OBJECT(mline_none), "toggled",
- GTK_SIGNAL_FUNC(mail_ctree_change_line_style),
- GINT_TO_POINTER(2));
- gtk_menu_append(GTK_MENU(mline_stylemenu), mline_dotted);
-
- mline_tabbed = gtk_radio_menu_item_new_with_label(mline_radio, "Tabbed");
- mline_radio = gtk_radio_menu_item_group(GTK_RADIO_MENU_ITEM(mline_tabbed));
- gtk_signal_connect_object(GTK_OBJECT(mline_tabbed), "toggled",
- GTK_SIGNAL_FUNC(mail_ctree_change_line_style),
- GINT_TO_POINTER(3));
- gtk_menu_append(GTK_MENU(mline_stylemenu), mline_tabbed);
+ mline_tabbed =
+ gtk_radio_menu_item_new_with_label(mline_radio, "Tabbed");
+ mline_radio =
+ gtk_radio_menu_item_group(GTK_RADIO_MENU_ITEM(mline_tabbed));
+ gtk_signal_connect_object(GTK_OBJECT(mline_tabbed), "toggled",
+ GTK_SIGNAL_FUNC
+ (mail_ctree_change_line_style),
+ GINT_TO_POINTER(3));
+ gtk_menu_append(GTK_MENU(mline_stylemenu), mline_tabbed);
if (config.ml_linestyle == 0)
- gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(mline_none), TRUE);
+ gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM
+ (mline_none), TRUE);
- if (config.ml_linestyle == 1)
- gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(mline_solid), TRUE);
+ if (config.ml_linestyle == 1)
+ gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM
+ (mline_solid), TRUE);
- if (config.ml_linestyle == 2)
- gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(mline_dotted), TRUE);
+ if (config.ml_linestyle == 2)
+ gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM
+ (mline_dotted), TRUE);
- if (config.ml_linestyle == 3)
- gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(mline_tabbed), TRUE);
+ if (config.ml_linestyle == 3)
+ gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM
+ (mline_tabbed), TRUE);
mpriority = gtk_check_menu_item_new_with_label("Show Priority");
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(mpriority),
@@ -279,58 +297,75 @@
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM
(mserver), TRUE);
- folder_list = gtk_menu_item_new_with_label("Folder List");
- gtk_menu_append(GTK_MENU(viewmenu), folder_list);
+ folder_list = gtk_menu_item_new_with_label("Folder List");
+ gtk_menu_append(GTK_MENU(viewmenu), folder_list);
- folder_listmenu = gtk_menu_new();
- gtk_menu_item_set_submenu(GTK_MENU_ITEM(folder_list),
- folder_listmenu);
-
- fline_style = gtk_menu_item_new_with_label("Line Style");
- gtk_menu_append(GTK_MENU(folder_listmenu), fline_style);
-
- fline_stylemenu = gtk_menu_new();
- gtk_menu_item_set_submenu(GTK_MENU_ITEM(fline_style), fline_stylemenu);
-
- fline_none = gtk_radio_menu_item_new_with_label(fline_radio, "None");
- fline_radio = gtk_radio_menu_item_group(GTK_RADIO_MENU_ITEM(fline_none));
- gtk_signal_connect_object(GTK_OBJECT(fline_none), "toggled",
- GTK_SIGNAL_FUNC(folder_ctree_change_line_style),
- GINT_TO_POINTER(0));
- gtk_menu_append(GTK_MENU(fline_stylemenu), fline_none);
-
- fline_solid = gtk_radio_menu_item_new_with_label(fline_radio, "Solid");
- fline_radio = gtk_radio_menu_item_group(GTK_RADIO_MENU_ITEM(fline_solid));
- gtk_signal_connect_object(GTK_OBJECT(fline_solid), "toggled",
- GTK_SIGNAL_FUNC(folder_ctree_change_line_style),
- GINT_TO_POINTER(1));
- gtk_menu_append(GTK_MENU(fline_stylemenu), fline_solid);
-
- fline_dotted = gtk_radio_menu_item_new_with_label(fline_radio, "Dotted");
- fline_radio = gtk_radio_menu_item_group(GTK_RADIO_MENU_ITEM(fline_dotted));
- gtk_signal_connect_object(GTK_OBJECT(fline_none), "toggled",
- GTK_SIGNAL_FUNC(folder_ctree_change_line_style),
- GINT_TO_POINTER(2));
- gtk_menu_append(GTK_MENU(fline_stylemenu), fline_dotted);
-
- fline_tabbed = gtk_radio_menu_item_new_with_label(fline_radio, "Tabbed");
- fline_radio = gtk_radio_menu_item_group(GTK_RADIO_MENU_ITEM(fline_tabbed));
- gtk_signal_connect_object(GTK_OBJECT(fline_tabbed), "toggled",
- GTK_SIGNAL_FUNC(folder_ctree_change_line_style),
- GINT_TO_POINTER(3));
- gtk_menu_append(GTK_MENU(fline_stylemenu), fline_tabbed);
-
- if (config.fl_linestyle == 0)
- gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(fline_none), TRUE);
+ folder_listmenu = gtk_menu_new();
+ gtk_menu_item_set_submenu(GTK_MENU_ITEM(folder_list),
+ folder_listmenu);
+
+ fline_style = gtk_menu_item_new_with_label("Line Style");
+ gtk_menu_append(GTK_MENU(folder_listmenu), fline_style);
+
+ fline_stylemenu = gtk_menu_new();
+ gtk_menu_item_set_submenu(GTK_MENU_ITEM(fline_style),
+ fline_stylemenu);
+
+ fline_none =
+ gtk_radio_menu_item_new_with_label(fline_radio, "None");
+ fline_radio =
+ gtk_radio_menu_item_group(GTK_RADIO_MENU_ITEM(fline_none));
+ gtk_signal_connect_object(GTK_OBJECT(fline_none), "toggled",
+ GTK_SIGNAL_FUNC
+ (folder_ctree_change_line_style),
+ GINT_TO_POINTER(0));
+ gtk_menu_append(GTK_MENU(fline_stylemenu), fline_none);
- if (config.fl_linestyle == 1)
- gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(fline_solid), TRUE);
+ fline_solid =
+ gtk_radio_menu_item_new_with_label(fline_radio, "Solid");
+ fline_radio =
+ gtk_radio_menu_item_group(GTK_RADIO_MENU_ITEM(fline_solid));
+ gtk_signal_connect_object(GTK_OBJECT(fline_solid), "toggled",
+ GTK_SIGNAL_FUNC
+ (folder_ctree_change_line_style),
+ GINT_TO_POINTER(1));
+ gtk_menu_append(GTK_MENU(fline_stylemenu), fline_solid);
+
+ fline_dotted =
+ gtk_radio_menu_item_new_with_label(fline_radio, "Dotted");
+ fline_radio =
+ gtk_radio_menu_item_group(GTK_RADIO_MENU_ITEM(fline_dotted));
+ gtk_signal_connect_object(GTK_OBJECT(fline_none), "toggled",
+ GTK_SIGNAL_FUNC
+ (folder_ctree_change_line_style),
+ GINT_TO_POINTER(2));
+ gtk_menu_append(GTK_MENU(fline_stylemenu), fline_dotted);
+
+ fline_tabbed =
+ gtk_radio_menu_item_new_with_label(fline_radio, "Tabbed");
+ fline_radio =
+ gtk_radio_menu_item_group(GTK_RADIO_MENU_ITEM(fline_tabbed));
+ gtk_signal_connect_object(GTK_OBJECT(fline_tabbed), "toggled",
+ GTK_SIGNAL_FUNC
+ (folder_ctree_change_line_style),
+ GINT_TO_POINTER(3));
+ gtk_menu_append(GTK_MENU(fline_stylemenu), fline_tabbed);
+
+ if (config.fl_linestyle == 0)
+ gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM
+ (fline_none), TRUE);
- if (config.fl_linestyle == 2)
- gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(fline_dotted), TRUE);
+ if (config.fl_linestyle == 1)
+ gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM
+ (fline_solid), TRUE);
- if (config.fl_linestyle == 3)
- gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(fline_tabbed), TRUE);
+ if (config.fl_linestyle == 2)
+ gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM
+ (fline_dotted), TRUE);
+
+ if (config.fl_linestyle == 3)
+ gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM
+ (fline_tabbed), TRUE);
/********************************
* Help menu *
@@ -408,11 +443,14 @@
FALSE, FALSE, 0);
gtk_container_add(GTK_CONTAINER(menu_item),
hbox);
- gtk_signal_connect_object(GTK_OBJECT(menu_item),
- "activate",
- GTK_SIGNAL_FUNC
- (switch_theme),
- g_strdup(dent->d_name));
+ gtk_signal_connect_object(GTK_OBJECT
+ (menu_item),
+ "activate",
+ GTK_SIGNAL_FUNC
+ (switch_theme),
+ (gpointer)
+ g_strdup(dent->
+ d_name));
gtk_menu_append(GTK_MENU(menu), menu_item);
g_free(temp);
}
===================================================================
RCS file: /cvsroot/corem/core/src/message.h,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -3 -r1.1.1.1 -r1.2
--- message.h 2000/11/14 19:23:24 1.1.1.1
+++ message.h 2000/11/23 02:23:03 1.2
@@ -17,6 +17,7 @@
} MessageFlags;
#define SHOW_ALL (SHOW_ACCOUNT | SHOW_FROM | SHOW_TO | SHOW_CC | SHOW_BCC | SHOW_SUBJECT)
+#define is_new(m) (strchr(find_header(message_get_headers(m), "Status:", 'N')))
Message *new_message();
int destroy_message(Message * message);
===================================================================
RCS file: /cvsroot/corem/core/src/panes.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -3 -r1.10 -r1.11
--- panes.c 2000/11/23 01:08:37 1.10
+++ panes.c 2000/11/23 02:23:03 1.11
@@ -9,7 +9,9 @@
GtkWidget *folder_ctree;
extern GtkWidget *main_win;
extern GtkWidget *hpane;
+extern GtkWidget *ctree;
extern gchar *theme;
+extern gchar *title;
GtkWidget *core_create_folder_pane()
{
@@ -71,7 +73,7 @@
text, 0, cpixmap, cbitmap, opixmap,
obitmap, FALSE, TRUE);
- while ((mbox = get_next_folder())) {
+ while ((mbox = get_next_account())) {
if (text[0])
g_free(text[0]);
@@ -98,14 +100,18 @@
gtk_widget_set_usize(scroll, 12, 50);
gtk_widget_show_all(folder_ctree);
- if (config.ml_linestyle == 0)
- gtk_ctree_set_line_style(GTK_CTREE(folder_ctree), GTK_CTREE_LINES_NONE);
- if (config.ml_linestyle == 1)
- gtk_ctree_set_line_style(GTK_CTREE(folder_ctree), GTK_CTREE_LINES_SOLID);
- if (config.ml_linestyle == 2)
- gtk_ctree_set_line_style(GTK_CTREE(folder_ctree), GTK_CTREE_LINES_DOTTED);
- if (config.ml_linestyle == 3)
- gtk_ctree_set_line_style(GTK_CTREE(mail_ctree), GTK_CTREE_LINES_TABBED);
+ if (config.ml_linestyle == 0)
+ gtk_ctree_set_line_style(GTK_CTREE(folder_ctree),
+ GTK_CTREE_LINES_NONE);
+ if (config.ml_linestyle == 1)
+ gtk_ctree_set_line_style(GTK_CTREE(folder_ctree),
+ GTK_CTREE_LINES_SOLID);
+ if (config.ml_linestyle == 2)
+ gtk_ctree_set_line_style(GTK_CTREE(folder_ctree),
+ GTK_CTREE_LINES_DOTTED);
+ if (config.ml_linestyle == 3)
+ gtk_ctree_set_line_style(GTK_CTREE(mail_ctree),
+ GTK_CTREE_LINES_TABBED);
return (scroll);
}
@@ -202,7 +208,7 @@
if (config.ml_date == 1) {
gtk_clist_set_column_width(GTK_CLIST(mail_ctree), idate,
- 150);
+ 120);
}
if (config.ml_server == 1) {
@@ -227,7 +233,7 @@
gtk_clist_set_column_widget(GTK_CLIST(mail_ctree), iread,
read);
gtk_clist_set_column_width(GTK_CLIST(mail_ctree), iread,
- 8);
+ 38);
gtk_clist_set_column_auto_resize(GTK_CLIST(mail_ctree),
iread, FALSE);
gdk_bitmap_unref(bitmap);
@@ -280,17 +286,117 @@
gtk_container_add(GTK_CONTAINER(scroll), mail_ctree);
gtk_widget_show_all(mail_ctree);
if (config.ml_linestyle == 0)
- gtk_ctree_set_line_style(GTK_CTREE(mail_ctree), GTK_CTREE_LINES_NONE);
+ gtk_ctree_set_line_style(GTK_CTREE(mail_ctree),
+ GTK_CTREE_LINES_NONE);
if (config.ml_linestyle == 1)
- gtk_ctree_set_line_style(GTK_CTREE(mail_ctree), GTK_CTREE_LINES_SOLID);
+ gtk_ctree_set_line_style(GTK_CTREE(mail_ctree),
+ GTK_CTREE_LINES_SOLID);
if (config.ml_linestyle == 2)
- gtk_ctree_set_line_style(GTK_CTREE(mail_ctree), GTK_CTREE_LINES_DOTTED);
+ gtk_ctree_set_line_style(GTK_CTREE(mail_ctree),
+ GTK_CTREE_LINES_DOTTED);
if (config.ml_linestyle == 3)
- gtk_ctree_set_line_style(GTK_CTREE(mail_ctree), GTK_CTREE_LINES_TABBED);
+ gtk_ctree_set_line_style(GTK_CTREE(mail_ctree),
+ GTK_CTREE_LINES_TABBED);
return (scroll);
}
+/* The main account window */
+void create_account_window()
+{
+ Account *mbox;
+ GtkWidget *accounts_win;
+ GtkWidget *main_vbox, *hbox;
+ GtkCTreeNode *item;
+ GtkWidget *hbutton_box;
+ GtkWidget *button_new, *button_edit, *button_remove, *button_close;
+ gchar **text = NULL;
+ gchar *titles[] = { "Folder Name", "Full Name", "E-mail Address",
+ "Mailbox Path", NULL
+ };
+
+ /* Window title */
+ title = g_strdup_printf("Accounts");
+
+ /* Create the account window */
+ accounts_win = gtk_window_new(GTK_WINDOW_TOPLEVEL);
+ /* Set title for the account window */
+ gtk_window_set_title(GTK_WINDOW(accounts_win), title);
+
+ /* Account window main vbox */
+ main_vbox = gtk_vbox_new(FALSE, 0);
+ gtk_container_set_border_width(GTK_CONTAINER(main_vbox), 0);
+ gtk_container_add(GTK_CONTAINER(accounts_win), main_vbox);
+
+ /* The clist for browsing accounts */
+ ctree = gtk_clist_new_with_titles(4, titles);
+ gtk_box_pack_start(GTK_BOX(main_vbox), ctree, TRUE, FALSE, 0);
+ while ((mbox = get_next_account())) {
+ if (text[0])
+ g_free(text[0]);
+ if (text[1])
+ g_free(text[1]);
+ if (text[2])
+ g_free(text[2]);
+ if (text[3])
+ g_free(text[3]);
+
+ text = (char **) g_malloc(4 * sizeof(char *));
+ text[0] = account_get_name(mbox);
+ text[1] = g_strdup("Test 1");
+ text[2] = g_strdup("Test 2");
+ text[3] = g_strdup("Test 3");
+
+ item = gtk_ctree_insert_node(GTK_CTREE(ctree),
+ NULL, NULL, text, 0, NULL,
+ NULL, NULL, NULL, FALSE,
+ FALSE);
+ gtk_ctree_node_set_row_data_full(GTK_CTREE(ctree), item,
+ mbox,
+ (GtkDestroyNotify)
+ destroy_account);
+ }
+
+ hbox = gtk_hbox_new(FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(main_vbox), hbox, FALSE, FALSE, 0);
+
+ /* The buttons at the bottom of the window */
+ hbutton_box = gtk_hbutton_box_new();
+ gtk_box_pack_start(GTK_BOX(hbox), hbutton_box, FALSE, FALSE, 0);
+
+ /* New account button */
+ button_new = gtk_button_new_with_label("New");
+ gtk_widget_set_usize(GTK_WIDGET(button_new), 55, 22);
+ gtk_signal_connect_object(GTK_OBJECT(button_new), "clicked",
+ GTK_SIGNAL_FUNC
+ (create_accounts_win_new_edit), NULL);
+ gtk_container_add(GTK_CONTAINER(hbutton_box), button_new);
+
+ /* Edit account button */
+ button_edit = gtk_button_new_with_label("Edit");
+ gtk_widget_set_usize(GTK_WIDGET(button_edit), 55, 22);
+ gtk_signal_connect_object(GTK_OBJECT(button_edit), "clicked",
+ GTK_SIGNAL_FUNC
+ (create_accounts_win_new_edit), NULL);
+ gtk_container_add(GTK_CONTAINER(hbutton_box), button_edit);
+
+ /* Remove account button */
+ button_remove = gtk_button_new_with_label("Remove");
+ gtk_widget_set_usize(GTK_WIDGET(button_remove), 55, 22);
+ gtk_container_add(GTK_CONTAINER(hbutton_box), button_remove);
+
+ /* Close button */
+ button_close = gtk_button_new_with_label("Close");
+ gtk_signal_connect_object(GTK_OBJECT(button_close), "clicked",
+ GTK_SIGNAL_FUNC(gtk_widget_destroy),
+ GTK_OBJECT(accounts_win));
+ gtk_container_add(GTK_CONTAINER(hbutton_box), button_close);
+
+ /* Show all widgets in the accounts window */
+ gtk_widget_show_all(accounts_win);
+}
+
+
GtkWidget *core_create_message_pane(Message * message, MessageFlags mode)
{
GtkWidget *vbox;
@@ -497,47 +603,55 @@
void folder_ctree_change_line_style(gint type)
{
- if (type == 0) {
- config.fl_linestyle = 0;
- gtk_ctree_set_line_style(GTK_CTREE(folder_ctree), GTK_CTREE_LINES_NONE);
- }
-
- if (type == 1) {
- config.fl_linestyle = 1;
- gtk_ctree_set_line_style(GTK_CTREE(folder_ctree), GTK_CTREE_LINES_SOLID);
- }
-
- if (type == 2) {
- config.fl_linestyle = 2;
- gtk_ctree_set_line_style(GTK_CTREE(folder_ctree), GTK_CTREE_LINES_DOTTED);
- }
-
- if (type == 3) {
- config.fl_linestyle = 3;
- gtk_ctree_set_line_style(GTK_CTREE(folder_ctree), GTK_CTREE_LINES_TABBED);
- }
+ if (type == 0) {
+ config.fl_linestyle = 0;
+ gtk_ctree_set_line_style(GTK_CTREE(folder_ctree),
+ GTK_CTREE_LINES_NONE);
+ }
+
+ if (type == 1) {
+ config.fl_linestyle = 1;
+ gtk_ctree_set_line_style(GTK_CTREE(folder_ctree),
+ GTK_CTREE_LINES_SOLID);
+ }
+
+ if (type == 2) {
+ config.fl_linestyle = 2;
+ gtk_ctree_set_line_style(GTK_CTREE(folder_ctree),
+ GTK_CTREE_LINES_DOTTED);
+ }
+
+ if (type == 3) {
+ config.fl_linestyle = 3;
+ gtk_ctree_set_line_style(GTK_CTREE(folder_ctree),
+ GTK_CTREE_LINES_TABBED);
+ }
}
void mail_ctree_change_line_style(gint type)
{
- if (type == 0) {
- config.ml_linestyle = 0;
- gtk_ctree_set_line_style(GTK_CTREE(mail_ctree), GTK_CTREE_LINES_NONE);
- }
-
- if (type == 1) {
- config.ml_linestyle = 1;
- gtk_ctree_set_line_style(GTK_CTREE(mail_ctree), GTK_CTREE_LINES_SOLID);
- }
-
- if (type == 2) {
- config.ml_linestyle = 2;
- gtk_ctree_set_line_style(GTK_CTREE(mail_ctree), GTK_CTREE_LINES_DOTTED);
- }
-
- if (type == 3) {
- config.ml_linestyle = 3;
- gtk_ctree_set_line_style(GTK_CTREE(mail_ctree), GTK_CTREE_LINES_TABBED);
- }
+ if (type == 0) {
+ config.ml_linestyle = 0;
+ gtk_ctree_set_line_style(GTK_CTREE(mail_ctree),
+ GTK_CTREE_LINES_NONE);
+ }
+
+ if (type == 1) {
+ config.ml_linestyle = 1;
+ gtk_ctree_set_line_style(GTK_CTREE(mail_ctree),
+ GTK_CTREE_LINES_SOLID);
+ }
+
+ if (type == 2) {
+ config.ml_linestyle = 2;
+ gtk_ctree_set_line_style(GTK_CTREE(mail_ctree),
+ GTK_CTREE_LINES_DOTTED);
+ }
+
+ if (type == 3) {
+ config.ml_linestyle = 3;
+ gtk_ctree_set_line_style(GTK_CTREE(mail_ctree),
+ GTK_CTREE_LINES_TABBED);
+ }
}
===================================================================
RCS file: /cvsroot/corem/core/src/panes.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -3 -r1.4 -r1.5
--- panes.h 2000/11/23 01:08:37 1.4
+++ panes.h 2000/11/23 02:23:03 1.5
@@ -4,3 +4,6 @@
GtkWidget *core_create_fonts_page(GtkWidget * window);
void folder_ctree_change_line_style(gint type);
void mail_ctree_change_line_style(gint type);
+
+/* The main account window */
+void create_account_window();
|