From 2585e8633c59f6f99afcdb9df4d17c15f14efbb7 Mon Sep 17 00:00:00 2001 From: Paul Mangan Date: Wed, 15 May 2002 07:47:34 +0000 Subject: [PATCH] sync with 0.7.6cvs4 --- ChangeLog | 16 ++++++- ChangeLog.claws | 5 +++ ChangeLog.jp | 16 ++++++- configure.in | 2 +- src/foldersel.c | 19 +++++++++ src/imap.c | 4 +- src/mainwindow.c | 104 ++++++++++++++++++++++++---------------------- src/messageview.c | 29 ++++++------- 8 files changed, 126 insertions(+), 69 deletions(-) diff --git a/ChangeLog b/ChangeLog index 418a65d31..8afc97668 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,17 @@ +2002-05-15 + + * src/imap.c: imap_create_folder(): keep trailing directory separator + to create a folder that contains sub folder. + +2002-05-14 + + * src/foldersel.c: sort tree with case insensitive. + * src/mainwindow.c: allsel_cb() + src/messageview.c: messageview_select_all(): fixed 'Select all' + on MIME view. + * src/mainwindow.c: removed common and account prefs button from + the toolbar. + 2002-05-13 * src/compose.c: compose_account_option_menu_create(): check if @@ -13,7 +27,7 @@ manual/en/*: updated the English manual. * faq/de/* faq/it/*: added German and Italian FAQ. - faq/en/* + * faq/en/* faq/es/* faq/fr/*: updated FAQs. * src/manual.[ch] diff --git a/ChangeLog.claws b/ChangeLog.claws index 945e3e697..f20d4e105 100644 --- a/ChangeLog.claws +++ b/ChangeLog.claws @@ -1,3 +1,8 @@ +2002-05-15 [paul] 0.7.5claws27 + + * sync with 0.7.6cvs4 + see ChangeLog 2002-05-14 and 2002-05-15 + 2002-05-14 [paul] 0.7.5claws26 * sync with 0.7.6cvs1 diff --git a/ChangeLog.jp b/ChangeLog.jp index 0eed192db..5739a147b 100644 --- a/ChangeLog.jp +++ b/ChangeLog.jp @@ -1,3 +1,17 @@ +2002-05-15 + + * src/imap.c: imap_create_folder(): ¥µ¥Ö¥Õ¥©¥ë¥À¤ò´Þ¤à¥Õ¥©¥ë¥À¤ò + ºîÀ®¤¹¤ë¤¿¤á¤ËËöÈø¤Î¥Ç¥£¥ì¥¯¥È¥ê¥»¥Ñ¥ì¡¼¥¿¤òÊݤĤ褦¤Ë¤·¤¿¡£ + +2002-05-14 + + * src/foldersel.c: ¥Ä¥ê¡¼¤òÂ羮ʸ»ú¤ò¶èÊ̤»¤º¤Ë¥½¡¼¥È¡£ + * src/mainwindow.c: allsel_cb() + src/messageview.c: messageview_select_all(): MIME ¥Ó¥å¡¼¤Ç¤Î + ¡Ö¤¹¤Ù¤ÆÁªÂò¡×¤ò½¤Àµ¡£ + * src/mainwindow.c: Á´ÈÌ¡¦¥¢¥«¥¦¥ó¥È¤ÎÀßÄê¥Ü¥¿¥ó¤ò¥Ä¡¼¥ë¥Ð¡¼¤«¤é + ºï½ü¡£ + 2002-05-13 * src/compose.c: compose_account_option_menu_create(): ac->name ¤¬ @@ -13,7 +27,7 @@ manual/en/*: ±Ñ¸ì¥Þ¥Ë¥å¥¢¥ë¤ò¹¹¿·¡£ * faq/de/* faq/it/*: ¥É¥¤¥Ä¸ì¤È¥¤¥¿¥ê¥¢¸ì¥Þ¥Ë¥å¥¢¥ë¤òÄɲᣠ- faq/en/* + * faq/en/* faq/es/* faq/fr/*: FAQ ¤ò¹¹¿·¡£ * src/manual.[ch] diff --git a/configure.in b/configure.in index bc65bfdd2..9e51f7fc5 100644 --- a/configure.in +++ b/configure.in @@ -8,7 +8,7 @@ MINOR_VERSION=7 MICRO_VERSION=5 INTERFACE_AGE=0 BINARY_AGE=0 -EXTRA_VERSION=claws26 +EXTRA_VERSION=claws27 VERSION=$MAJOR_VERSION.$MINOR_VERSION.$MICRO_VERSION$EXTRA_VERSION dnl set $target diff --git a/src/foldersel.c b/src/foldersel.c index 0af020f73..be3b84c20 100644 --- a/src/foldersel.c +++ b/src/foldersel.c @@ -86,6 +86,10 @@ static void key_pressed (GtkWidget *widget, GdkEventKey *event, gpointer data); +static gint foldersel_clist_compare (GtkCList *clist, + gconstpointer ptr1, + gconstpointer ptr2); + FolderItem *foldersel_folder_sel(Folder *cur_folder, FolderSelectionType type, const gchar *default_folder) @@ -170,6 +174,7 @@ static void foldersel_create(void) gtk_ctree_set_expander_style(GTK_CTREE(ctree), GTK_CTREE_EXPANDER_SQUARE); gtk_ctree_set_indent(GTK_CTREE(ctree), CTREE_INDENT); + gtk_clist_set_compare_func(GTK_CLIST(ctree), foldersel_clist_compare); GTK_WIDGET_UNSET_FLAGS(GTK_CLIST(ctree)->column[0].button, GTK_CAN_FOCUS); /* gtk_signal_connect(GTK_OBJECT(ctree), "tree_select_row", @@ -376,3 +381,17 @@ static void key_pressed(GtkWidget *widget, GdkEventKey *event, gpointer data) if (event && event->keyval == GDK_Escape) foldersel_cancel(NULL, NULL); } + +static gint foldersel_clist_compare(GtkCList *clist, + gconstpointer ptr1, gconstpointer ptr2) +{ + FolderItem *item1 = ((GtkCListRow *)ptr1)->data; + FolderItem *item2 = ((GtkCListRow *)ptr2)->data; + + if (!item1->name) + return (item2->name != NULL); + if (!item2->name) + return -1; + + return g_strcasecmp(item1->name, item2->name); +} diff --git a/src/imap.c b/src/imap.c index de06eb838..76319b792 100644 --- a/src/imap.c +++ b/src/imap.c @@ -1268,8 +1268,10 @@ FolderItem *imap_create_folder(Folder *folder, FolderItem *parent, } else dirpath = g_strdup(name); - strtailchomp(dirpath, '/'); + /* keep trailing directory separator to create a folder that contains + sub folder */ imap_path = imap_locale_to_modified_utf7(dirpath); + strtailchomp(dirpath, '/'); Xstrdup_a(new_name, name, {g_free(dirpath); return NULL;}); strtailchomp(new_name, '/'); separator = imap_get_path_separator(IMAP_FOLDER(folder), imap_path); diff --git a/src/mainwindow.c b/src/mainwindow.c index 902771e5a..e9dedbad7 100644 --- a/src/mainwindow.c +++ b/src/mainwindow.c @@ -169,9 +169,11 @@ static void toolbar_prefs_cb (GtkWidget *widget, static void toolbar_account_cb (GtkWidget *widget, gpointer data); +#if 0 static void toolbar_account_button_pressed (GtkWidget *widget, GdkEventButton *event, gpointer data); +#endif static void ac_label_button_pressed (GtkWidget *widget, GdkEventButton *event, gpointer data); @@ -1549,39 +1551,41 @@ void main_window_set_toolbar_sensitive(MainWindow *mainwin) { SensitiveCond state; gboolean sensitive; - gint i; + gint i = 0; struct { GtkWidget *widget; SensitiveCond cond; } entry[11]; - entry[0].widget = mainwin->get_btn; - entry[0].cond = M_HAVE_ACCOUNT|M_UNLOCKED; - entry[1].widget = mainwin->getall_btn; - entry[1].cond = M_HAVE_ACCOUNT|M_UNLOCKED; - entry[2].widget = mainwin->compose_news_btn; - entry[2].cond = M_HAVE_NEWS_ACCOUNT; - entry[3].widget = mainwin->reply_btn; - entry[3].cond = M_HAVE_ACCOUNT|M_SINGLE_TARGET_EXIST; - entry[4].widget = mainwin->replyall_btn; - entry[4].cond = M_HAVE_ACCOUNT|M_SINGLE_TARGET_EXIST; - entry[5].widget = mainwin->replysender_btn; - entry[5].cond = M_HAVE_ACCOUNT|M_SINGLE_TARGET_EXIST; - entry[6].widget = mainwin->fwd_btn; - entry[6].cond = M_HAVE_ACCOUNT|M_TARGET_EXIST; -/* entry[6].widget = mainwin->prefs_btn; - entry[6].cond = M_UNLOCKED; - entry[7].widget = mainwin->account_btn; - entry[7].cond = M_UNLOCKED; */ - entry[7].widget = mainwin->next_btn; - entry[7].cond = M_MSG_EXIST; - entry[8].widget = mainwin->delete_btn; - entry[8].cond = M_TARGET_EXIST|M_ALLOW_DELETE|M_UNLOCKED; - entry[9].widget = mainwin->exec_btn; - entry[9].cond = M_MSG_EXIST|M_EXEC|M_UNLOCKED; - entry[10].widget = NULL; - entry[10].cond = 0; +#define SET_WIDGET_COND(w, c) \ +{ \ + entry[i].widget = w; \ + entry[i].cond = c; \ + i++; \ +} + + SET_WIDGET_COND(mainwin->get_btn, M_HAVE_ACCOUNT|M_UNLOCKED); + SET_WIDGET_COND(mainwin->getall_btn, M_HAVE_ACCOUNT|M_UNLOCKED); + SET_WIDGET_COND(mainwin->compose_news_btn, M_HAVE_ACCOUNT); + SET_WIDGET_COND(mainwin->reply_btn, + M_HAVE_ACCOUNT|M_SINGLE_TARGET_EXIST); + SET_WIDGET_COND(mainwin->replyall_btn, + M_HAVE_ACCOUNT|M_SINGLE_TARGET_EXIST); + SET_WIDGET_COND(mainwin->replysender_btn, + M_HAVE_ACCOUNT|M_SINGLE_TARGET_EXIST); + SET_WIDGET_COND(mainwin->fwd_btn, M_HAVE_ACCOUNT|M_TARGET_EXIST); +#if 0 + SET_WIDGET_COND(mainwin->prefs_btn, M_UNLOCKED); + SET_WIDGET_COND(mainwin->account_btn, M_UNLOCKED); +#endif + SET_WIDGET_COND(mainwin->next_btn, M_MSG_EXIST); + SET_WIDGET_COND(mainwin->delete_btn, + M_TARGET_EXIST|M_ALLOW_DELETE|M_UNLOCKED); + SET_WIDGET_COND(mainwin->exec_btn, M_MSG_EXIST|M_EXEC|M_UNLOCKED); + SET_WIDGET_COND(NULL, 0); + +#undef SET_WIDGET_COND state = main_window_get_current_state(mainwin); @@ -1938,10 +1942,10 @@ static void main_window_toolbar_create(MainWindow *mainwin, GtkWidget *replysender_btn; GtkWidget *fwd_btn; GtkWidget *send_btn; - /* +#if 0 GtkWidget *prefs_btn; GtkWidget *account_btn; - */ +#endif GtkWidget *next_btn; GtkWidget *delete_btn; GtkWidget *exec_btn; @@ -2075,13 +2079,13 @@ static void main_window_toolbar_create(MainWindow *mainwin, toolbar_next_unread_cb, mainwin); - /* +#if 0 gtk_toolbar_append_space(GTK_TOOLBAR(toolbar)); icon_wid = stock_pixmap_widget(container, STOCK_PIXMAP_PREFERENCES); prefs_btn = gtk_toolbar_append_item(GTK_TOOLBAR(toolbar), _("Prefs"), - _("Common preference"), + _("Common preferences"), "Prefs", icon_wid, toolbar_prefs_cb, @@ -2097,7 +2101,7 @@ static void main_window_toolbar_create(MainWindow *mainwin, gtk_signal_connect(GTK_OBJECT(account_btn), "button_press_event", GTK_SIGNAL_FUNC(toolbar_account_button_pressed), mainwin); - */ +#endif gtk_signal_connect(GTK_OBJECT(reply_btn), "button_press_event", GTK_SIGNAL_FUNC(toolbar_reply_popup_cb), @@ -2116,23 +2120,23 @@ static void main_window_toolbar_create(MainWindow *mainwin, mainwin); - mainwin->toolbar = toolbar; - mainwin->get_btn = get_btn; - mainwin->getall_btn = getall_btn; - mainwin->compose_mail_btn = compose_mail_btn; - mainwin->compose_news_btn = compose_news_btn; - mainwin->reply_btn = reply_btn; - mainwin->replyall_btn = replyall_btn; - mainwin->replysender_btn = replysender_btn; - mainwin->fwd_btn = fwd_btn; - mainwin->send_btn = send_btn; - /* - mainwin->prefs_btn = prefs_btn; - mainwin->account_btn = account_btn; - */ - mainwin->next_btn = next_btn; - mainwin->delete_btn = delete_btn; - mainwin->exec_btn = exec_btn; + mainwin->toolbar = toolbar; + mainwin->get_btn = get_btn; + mainwin->getall_btn = getall_btn; + mainwin->compose_mail_btn = compose_mail_btn; + mainwin->compose_news_btn = compose_news_btn; + mainwin->reply_btn = reply_btn; + mainwin->replyall_btn = replyall_btn; + mainwin->replysender_btn = replysender_btn; + mainwin->fwd_btn = fwd_btn; + mainwin->send_btn = send_btn; + #if 0 + mainwin->prefs_btn = prefs_btn; + mainwin->account_btn = account_btn; + #endif + mainwin->next_btn = next_btn; + mainwin->delete_btn = delete_btn; + mainwin->exec_btn = exec_btn; gtk_widget_show_all(toolbar); } @@ -2358,6 +2362,7 @@ static void toolbar_account_cb (GtkWidget *widget, prefs_account_open_cb(mainwin, 0, NULL); } +#if 0 static void toolbar_account_button_pressed(GtkWidget *widget, GdkEventButton *event, gpointer data) @@ -2375,6 +2380,7 @@ static void toolbar_account_button_pressed(GtkWidget *widget, menu_button_position, widget, event->button, event->time); } +#endif static void ac_label_button_pressed(GtkWidget *widget, GdkEventButton *event, gpointer data) diff --git a/src/messageview.c b/src/messageview.c index 68f2515b6..72ab34eec 100644 --- a/src/messageview.c +++ b/src/messageview.c @@ -527,23 +527,20 @@ void messageview_copy_clipboard(MessageView *messageview) void messageview_select_all(MessageView *messageview) { - gint displaytype = /* force MVIEV_TEXT on first page */ - ((messageview->type == MVIEW_MIME) - && (gtk_notebook_get_current_page(GTK_NOTEBOOK( - messageview->mimeview->notebook)) > 0)) - ? MVIEW_MIME - : MVIEW_TEXT; - - switch (displaytype) { - case MVIEW_TEXT: - gtk_editable_select_region(GTK_EDITABLE(messageview->textview->text), 0, -1); - break; - case MVIEW_MIME: - if (messageview->mimeview->type == MIMEVIEW_TEXT) - gtk_editable_select_region(GTK_EDITABLE(messageview->mimeview->textview->text), 0, -1); - default: - break; + GtkWidget *text = NULL; + + if (messageview->type == MVIEW_TEXT) + text = messageview->textview->text; + else if (messageview->type == MVIEW_MIME) { + if (gtk_notebook_get_current_page + (GTK_NOTEBOOK(messageview->mimeview->notebook)) == 0) + text = messageview->textview->text; + else if (messageview->mimeview->type == MIMEVIEW_TEXT) + text = messageview->mimeview->textview->text; } + + if (text) + gtk_editable_select_region(GTK_EDITABLE(text), 0, -1); } void messageview_set_position(MessageView *messageview, gint pos) -- 2.25.1