Index: claws-mail-2.9.1/src/mainwindow.c =================================================================== --- claws-mail-2.9.1.orig/src/mainwindow.c 2007-04-25 07:40:10.000000000 +0100 +++ claws-mail-2.9.1/src/mainwindow.c 2007-04-25 10:26:40.000000000 +0100 @@ -189,9 +189,6 @@ static void toggle_statusbar_cb (MainWindow *mainwin, guint action, GtkWidget *widget); -static void set_layout_cb (MainWindow *mainwin, - guint action, - GtkWidget *widget); static void addressbook_open_cb (MainWindow *mainwin, guint action, @@ -538,94 +535,24 @@ {N_("/_Edit/_Search folder..."), "F", search_cb, 1, NULL}, {N_("/_Edit/_Quick search"), "slash", mainwindow_quicksearch, 0, NULL}, {N_("/_View"), NULL, NULL, 0, ""}, - {N_("/_View/Show or hi_de"), NULL, NULL, 0, ""}, - {N_("/_View/Show or hi_de/_Message view"), - "V", toggle_message_cb, 0, ""}, - {N_("/_View/Show or hi_de/_Toolbar"), - NULL, NULL, 0, ""}, - {N_("/_View/Show or hi_de/_Toolbar/Text _below icons"), - NULL, toggle_toolbar_cb, TOOLBAR_BOTH, ""}, - {N_("/_View/Show or hi_de/_Toolbar/Text be_side icons"), - NULL, toggle_toolbar_cb, TOOLBAR_BOTH_HORIZ, "/View/Show or hide/Toolbar/Text below icons"}, - {N_("/_View/Show or hi_de/_Toolbar/_Icons only"), - NULL, toggle_toolbar_cb, TOOLBAR_ICON, "/View/Show or hide/Toolbar/Text below icons"}, - {N_("/_View/Show or hi_de/_Toolbar/_Text only"), - NULL, toggle_toolbar_cb, TOOLBAR_TEXT, "/View/Show or hide/Toolbar/Text below icons"}, - {N_("/_View/Show or hi_de/_Toolbar/_Hide"), - NULL, toggle_toolbar_cb, TOOLBAR_NONE, "/View/Show or hide/Toolbar/Text below icons"}, - {N_("/_View/Show or hi_de/Status _bar"), - NULL, toggle_statusbar_cb, 0, ""}, {N_("/_View/Set displayed _columns"), NULL, NULL, 0, ""}, {N_("/_View/Set displayed _columns/in _Folder list..."), NULL, set_folder_display_item_cb, 0, NULL}, {N_("/_View/Set displayed _columns/in _Message list..."),NULL, set_summary_display_item_cb, 0, NULL}, {N_("/_View/---"), NULL, NULL, 0, ""}, - {N_("/_View/La_yout"), NULL, NULL, 0, ""}, - {N_("/_View/Layout/_Standard"), NULL, set_layout_cb, NORMAL_LAYOUT, ""}, - {N_("/_View/Layout/_Three columns"), NULL, set_layout_cb, VERTICAL_LAYOUT, "/View/Layout/Standard"}, - {N_("/_View/Layout/_Wide message"), NULL, set_layout_cb, WIDE_LAYOUT, "/View/Layout/Standard"}, - {N_("/_View/Layout/W_ide message list"),NULL, set_layout_cb, WIDE_MSGLIST_LAYOUT, "/View/Layout/Standard"}, - {N_("/_View/Layout/S_mall screen"), NULL, set_layout_cb, SMALL_LAYOUT, "/View/Layout/Standard"}, - {N_("/_View/---"), NULL, NULL, 0, ""}, {N_("/_View/_Sort"), NULL, NULL, 0, ""}, - {N_("/_View/_Sort/by _number"), NULL, sort_summary_cb, SORT_BY_NUMBER, ""}, - {N_("/_View/_Sort/by S_ize"), NULL, sort_summary_cb, SORT_BY_SIZE, "/View/Sort/by number"}, - {N_("/_View/_Sort/by _Date"), NULL, sort_summary_cb, SORT_BY_DATE, "/View/Sort/by number"}, - {N_("/_View/_Sort/by _From"), NULL, sort_summary_cb, SORT_BY_FROM, "/View/Sort/by number"}, - {N_("/_View/_Sort/by _To"), NULL, sort_summary_cb, SORT_BY_TO, "/View/Sort/by number"}, - {N_("/_View/_Sort/by S_ubject"), NULL, sort_summary_cb, SORT_BY_SUBJECT, "/View/Sort/by number"}, - {N_("/_View/_Sort/by _color label"), - NULL, sort_summary_cb, SORT_BY_LABEL, "/View/Sort/by number"}, - {N_("/_View/_Sort/by _mark"), NULL, sort_summary_cb, SORT_BY_MARK, "/View/Sort/by number"}, - {N_("/_View/_Sort/by _status"), NULL, sort_summary_cb, SORT_BY_STATUS, "/View/Sort/by number"}, - {N_("/_View/_Sort/by a_ttachment"), - NULL, sort_summary_cb, SORT_BY_MIME, "/View/Sort/by number"}, - {N_("/_View/_Sort/by score"), NULL, sort_summary_cb, SORT_BY_SCORE, "/View/Sort/by number"}, - {N_("/_View/_Sort/by locked"), NULL, sort_summary_cb, SORT_BY_LOCKED, "/View/Sort/by number"}, - {N_("/_View/_Sort/D_on't sort"), NULL, sort_summary_cb, SORT_BY_NONE, "/View/Sort/by number"}, + {N_("/_View/_Sort/by _Date"), NULL, sort_summary_cb, SORT_BY_DATE, ""}, + {N_("/_View/_Sort/by _From"), NULL, sort_summary_cb, SORT_BY_FROM, "/View/Sort/by Date"}, + {N_("/_View/_Sort/by _To"), NULL, sort_summary_cb, SORT_BY_TO, "/View/Sort/by Date"}, + {N_("/_View/_Sort/by S_ubject"), NULL, sort_summary_cb, SORT_BY_SUBJECT, "/View/Sort/by Date"}, {N_("/_View/_Sort/---"), NULL, NULL, 0, ""}, {N_("/_View/_Sort/Ascending"), NULL, sort_summary_type_cb, SORT_ASCENDING, ""}, {N_("/_View/_Sort/Descending"), NULL, sort_summary_type_cb, SORT_DESCENDING, "/View/Sort/Ascending"}, - {N_("/_View/_Sort/---"), NULL, NULL, 0, ""}, - {N_("/_View/_Sort/_Attract by subject"), - NULL, attract_by_subject_cb, 0, NULL}, {N_("/_View/Th_read view"), "T", thread_cb, 0, ""}, {N_("/_View/E_xpand all threads"), NULL, expand_threads_cb, 0, NULL}, {N_("/_View/Co_llapse all threads"), NULL, collapse_threads_cb, 0, NULL}, {N_("/_View/_Hide read messages"), NULL, hide_read_messages, 0, ""}, - {N_("/_View/---"), NULL, NULL, 0, ""}, - {N_("/_View/_Go to"), NULL, NULL, 0, ""}, - {N_("/_View/_Go to/_Previous message"), "P", prev_cb, 0, NULL}, - {N_("/_View/_Go to/_Next message"), "N", next_cb, 0, NULL}, - {N_("/_View/_Go to/---"), NULL, NULL, 0, ""}, - {N_("/_View/_Go to/P_revious unread message"), - "P", prev_unread_cb, 0, NULL}, - {N_("/_View/_Go to/N_ext unread message"), - "N", next_unread_cb, 0, NULL}, - {N_("/_View/_Go to/---"), NULL, NULL, 0, ""}, - {N_("/_View/_Go to/Previous ne_w message"), NULL, prev_new_cb, 0, NULL}, - {N_("/_View/_Go to/Ne_xt new message"), NULL, next_new_cb, 0, NULL}, - {N_("/_View/_Go to/---"), NULL, NULL, 0, ""}, - {N_("/_View/_Go to/Previous _marked message"), - NULL, prev_marked_cb, 0, NULL}, - {N_("/_View/_Go to/Next m_arked message"), - NULL, next_marked_cb, 0, NULL}, - {N_("/_View/_Go to/---"), NULL, NULL, 0, ""}, - {N_("/_View/_Go to/Previous _labeled message"), - NULL, prev_labeled_cb, 0, NULL}, - {N_("/_View/_Go to/Next la_beled message"), - NULL, next_labeled_cb, 0, NULL}, - {N_("/_View/_Go to/---"), NULL, NULL, 0, ""}, - {N_("/_View/_Go to/Last read message"), - NULL, last_read_cb, 0, NULL}, - {N_("/_View/_Go to/Parent message"), - "Up", parent_cb, 0, NULL}, - {N_("/_View/_Go to/---"), NULL, NULL, 0, ""}, - {N_("/_View/_Go to/Next unread _folder"), "G", goto_unread_folder_cb, 0, NULL}, - {N_("/_View/_Go to/_Other folder..."), "G", goto_folder_cb, 0, NULL}, - {N_("/_View/---"), NULL, NULL, 0, ""}, - #define ENC_SEPARATOR \ {N_("/_View/Character _encoding/---"), NULL, NULL, 0, ""} #define ENC_ACTION(action) \ @@ -742,7 +669,6 @@ #undef DEC_ACTION {N_("/_View/---"), NULL, NULL, 0, ""}, - {N_("/_View/Open in new _window"), "N", open_msg_cb, 0, NULL}, {N_("/_View/Mess_age source"), "U", view_source_cb, 0, NULL}, {N_("/_View/All headers"), "H", show_all_header_cb, 0, ""}, {N_("/_View/Quotes"), NULL, NULL, 0, ""}, @@ -1137,23 +1063,14 @@ gint i; guint n_menu_entries; - static GdkGeometry geometry; - debug_print("Creating main window...\n"); mainwin = g_new0(MainWindow, 1); /* main window */ window = gtkut_window_new(GTK_WINDOW_TOPLEVEL, "mainwindow"); - gtk_window_set_title(GTK_WINDOW(window), PROG_VERSION); + gtk_window_set_title(GTK_WINDOW(window), _("Mail")); gtk_window_set_resizable(GTK_WINDOW(window), TRUE); - if (!geometry.min_height) { - geometry.min_width = 320; - geometry.min_height = 200; - } - gtk_window_set_geometry_hints(GTK_WINDOW(window), NULL, &geometry, - GDK_HINT_MIN_SIZE); - g_signal_connect(G_OBJECT(window), "delete_event", G_CALLBACK(main_window_close_cb), mainwin); MANAGE_WINDOW_SIGNALS_CONNECT(window); @@ -1184,21 +1101,9 @@ /* gtk_widget_show(gtk_item_factory_get_item(ifactory,"/Message/Mailing-List")); main_create_mailing_list_menu (mainwin, NULL); */ - menu_set_sensitive(ifactory, "/Help/Manual", manual_available(MANUAL_MANUAL_LOCAL)); - - if (prefs_common.toolbar_detachable) { - handlebox = gtk_handle_box_new(); - gtk_widget_show(handlebox); - gtk_box_pack_start(GTK_BOX(vbox), handlebox, FALSE, FALSE, 0); - g_signal_connect(G_OBJECT(handlebox), "child_attached", - G_CALLBACK(toolbar_child_attached), mainwin); - g_signal_connect(G_OBJECT(handlebox), "child_detached", - G_CALLBACK(toolbar_child_detached), mainwin); - } else { - handlebox = gtk_hbox_new(FALSE, 0); - gtk_widget_show(handlebox); - gtk_box_pack_start(GTK_BOX(vbox), handlebox, FALSE, FALSE, 0); - } + handlebox = gtk_hbox_new(FALSE, 0); + gtk_widget_show(handlebox); + gtk_box_pack_start(GTK_BOX(vbox), handlebox, FALSE, FALSE, 0); /* link window to mainwin->window to avoid gdk warnings */ mainwin->window = window; @@ -1405,36 +1310,6 @@ (ifactory, "/View/Character encoding/Auto detect"); gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menuitem), TRUE); - switch (prefs_common.toolbar_style) { - case TOOLBAR_NONE: - menuitem = gtk_item_factory_get_item - (ifactory, "/View/Show or hide/Toolbar/Hide"); - break; - case TOOLBAR_ICON: - menuitem = gtk_item_factory_get_item - (ifactory, "/View/Show or hide/Toolbar/Icons only"); - break; - case TOOLBAR_TEXT: - menuitem = gtk_item_factory_get_item - (ifactory, "/View/Show or hide/Toolbar/Text only"); - break; - case TOOLBAR_BOTH: - menuitem = gtk_item_factory_get_item - (ifactory, "/View/Show or hide/Toolbar/Text below icons"); - break; - case TOOLBAR_BOTH_HORIZ: - menuitem = gtk_item_factory_get_item - (ifactory, - "/View/Show or hide/Toolbar/Text beside icons"); - } - gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menuitem), TRUE); - - gtk_widget_hide(mainwin->hbox_stat); - menuitem = gtk_item_factory_get_item - (ifactory, "/View/Show or hide/Status bar"); - gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menuitem), - prefs_common.show_statusbar); - /* set account selection menu */ ac_menu = gtk_item_factory_get_widget (ifactory, "/Configuration/Change current account"); @@ -2284,16 +2159,6 @@ {"/View/Expand all threads" , M_MSG_EXIST}, {"/View/Collapse all threads" , M_MSG_EXIST}, {"/View/Hide read messages" , M_HIDE_READ_MSG}, - {"/View/Go to/Previous message" , M_MSG_EXIST}, - {"/View/Go to/Next message" , M_MSG_EXIST}, - {"/View/Go to/Previous unread message" , M_MSG_EXIST}, - {"/View/Go to/Previous new message" , M_MSG_EXIST}, - {"/View/Go to/Previous marked message" , M_MSG_EXIST}, - {"/View/Go to/Previous labeled message", M_MSG_EXIST}, - {"/View/Go to/Next labeled message", M_MSG_EXIST}, - {"/View/Go to/Last read message" , M_SINGLE_TARGET_EXIST}, - {"/View/Go to/Parent message" , M_SINGLE_TARGET_EXIST}, - {"/View/Open in new window" , M_SINGLE_TARGET_EXIST}, {"/View/Message source" , M_SINGLE_TARGET_EXIST}, {"/View/All headers" , M_SINGLE_TARGET_EXIST}, {"/View/Quotes" , M_SINGLE_TARGET_EXIST}, @@ -2379,40 +2244,20 @@ gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menuitem), active); \ } - SET_CHECK_MENU_ACTIVE("/View/Show or hide/Message view", - messageview_is_visible(mainwin->messageview)); - summaryview = mainwin->summaryview; - menu_path = "/View/Sort/Don't sort"; + menu_path = "/View/Sort/by Date"; switch (summaryview->sort_key) { - case SORT_BY_NUMBER: - menu_path = "/View/Sort/by number"; break; - case SORT_BY_SIZE: - menu_path = "/View/Sort/by Size"; break; - case SORT_BY_DATE: - menu_path = "/View/Sort/by Date"; break; case SORT_BY_FROM: menu_path = "/View/Sort/by From"; break; case SORT_BY_TO: menu_path = "/View/Sort/by To"; break; case SORT_BY_SUBJECT: menu_path = "/View/Sort/by Subject"; break; - case SORT_BY_LABEL: - menu_path = "/View/Sort/by color label"; break; - case SORT_BY_MARK: - menu_path = "/View/Sort/by mark"; break; - case SORT_BY_STATUS: - menu_path = "/View/Sort/by status"; break; - case SORT_BY_MIME: - menu_path = "/View/Sort/by attachment"; break; - case SORT_BY_SCORE: - menu_path = "/View/Sort/by score"; break; - case SORT_BY_LOCKED: - menu_path = "/View/Sort/by locked"; break; case SORT_BY_NONE: + case SORT_BY_DATE: default: - menu_path = "/View/Sort/Don't sort"; break; + menu_path = "/View/Sort/by Date"; break; } SET_CHECK_MENU_ACTIVE(menu_path, TRUE); @@ -2735,8 +2580,6 @@ gtk_widget_destroy(mainwin->hpaned); } - menu_set_sensitive(ifactory, "/View/Show or hide/Message view", - (layout_mode != WIDE_MSGLIST_LAYOUT && layout_mode != SMALL_LAYOUT)); switch (layout_mode) { case VERTICAL_LAYOUT: case NORMAL_LAYOUT: @@ -2877,37 +2720,6 @@ prefs_common.layout_mode = layout_mode; - menuitem = gtk_item_factory_get_item - (ifactory, "/View/Show or hide/Message view"); - gtk_check_menu_item_set_active - (GTK_CHECK_MENU_ITEM(menuitem), - messageview_is_visible(mainwin->messageview)); - -#define SET_CHECK_MENU_ACTIVE(path, active) \ -{ \ - menuitem = gtk_item_factory_get_widget(ifactory, path); \ - gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menuitem), active); \ -} - - switch (prefs_common.layout_mode) { - case NORMAL_LAYOUT: - SET_CHECK_MENU_ACTIVE("/View/Layout/Standard", TRUE); - break; - case VERTICAL_LAYOUT: - SET_CHECK_MENU_ACTIVE("/View/Layout/Three columns", TRUE); - break; - case WIDE_LAYOUT: - SET_CHECK_MENU_ACTIVE("/View/Layout/Wide message", TRUE); - break; - case WIDE_MSGLIST_LAYOUT: - SET_CHECK_MENU_ACTIVE("/View/Layout/Wide message list", TRUE); - break; - case SMALL_LAYOUT: - SET_CHECK_MENU_ACTIVE("/View/Layout/Small screen", TRUE); - break; - } -#undef SET_CHECK_MENU_ACTIVE - if (folderwin) { g_signal_connect (G_OBJECT(folderwin), "size_allocate", @@ -3116,12 +2928,6 @@ summary_toggle_view(mainwin->summaryview); } -static void toggle_toolbar_cb(MainWindow *mainwin, guint action, - GtkWidget *widget) -{ - toolbar_toggle(action, mainwin); -} - static void main_window_reply_cb(MainWindow *mainwin, guint action, GtkWidget *widget) { Index: claws-mail-2.9.1/src/prefs_common.c =================================================================== --- claws-mail-2.9.1.orig/src/prefs_common.c 2007-04-25 07:40:10.000000000 +0100 +++ claws-mail-2.9.1/src/prefs_common.c 2007-04-25 07:42:17.000000000 +0100 @@ -262,7 +262,7 @@ {"default_reply_list", "TRUE", &prefs_common.default_reply_list, P_BOOL, NULL, NULL, NULL}, -#ifndef MAEMO +#if 0 {"show_ruler", "TRUE", &prefs_common.show_ruler, P_BOOL, NULL, NULL, NULL}, #else @@ -300,7 +300,7 @@ &prefs_common.normalfont_gtk1, P_STRING, NULL, NULL, NULL}, /* new fonts */ -#ifndef MAEMO +#if 0 {"widget_font_gtk2", NULL, &SPECIFIC_PREFS.widgetfont, P_STRING, NULL, NULL, NULL}, {"message_font_gtk2", "Monospace 9", @@ -416,7 +416,7 @@ {"enable_thread", "TRUE", &prefs_common.enable_thread, P_BOOL, NULL, NULL, NULL}, -#ifndef MAEMO +#if 0 {"toolbar_style", "3", &prefs_common.toolbar_style, P_ENUM, NULL, NULL, NULL}, #else @@ -544,7 +544,7 @@ {"folder_col_pos_total", "3", &prefs_common.folder_col_pos[F_COL_TOTAL], P_INT, NULL, NULL, NULL}, -#ifndef MAEMO +#if 0 {"folder_col_size_folder", "120", &prefs_common.folder_col_size[F_COL_FOLDER], P_INT, NULL, NULL, NULL}, {"folder_col_size_new", "32", @@ -702,7 +702,7 @@ &SPECIFIC_PREFS.mime_open_cmd, P_STRING, NULL, NULL, NULL}, /* Interface */ -#ifndef MAEMO +#if 0 {"layout_mode", "0", &prefs_common.layout_mode, P_INT, NULL, NULL, NULL}, #else Index: claws-mail-2.9.1/src/toolbar.c =================================================================== --- claws-mail-2.9.1.orig/src/toolbar.c 2007-04-25 07:40:10.000000000 +0100 +++ claws-mail-2.9.1/src/toolbar.c 2007-04-25 07:42:17.000000000 +0100 @@ -841,26 +841,17 @@ gtk_widget_hide(handlebox_wid); break; case TOOLBAR_ICON: - gtk_toolbar_set_style(GTK_TOOLBAR(toolbar_wid), - GTK_TOOLBAR_ICONS); - break; case TOOLBAR_TEXT: - gtk_toolbar_set_style(GTK_TOOLBAR(toolbar_wid), - GTK_TOOLBAR_TEXT); - break; case TOOLBAR_BOTH: - gtk_toolbar_set_style(GTK_TOOLBAR(toolbar_wid), - GTK_TOOLBAR_BOTH); - break; case TOOLBAR_BOTH_HORIZ: gtk_toolbar_set_style(GTK_TOOLBAR(toolbar_wid), - GTK_TOOLBAR_BOTH_HORIZ); + GTK_TOOLBAR_ICONS); break; default: return; } - prefs_common.toolbar_style = (ToolbarStyle)action; + prefs_common.toolbar_style = (ToolbarStyle)TOOLBAR_ICON; gtk_widget_set_size_request(handlebox_wid, 1, -1); if (prefs_common.toolbar_style != TOOLBAR_NONE) { @@ -1594,7 +1585,7 @@ gtk_container_add(GTK_CONTAINER(container), toolbar); gtk_container_set_border_width(GTK_CONTAINER(container), 2); gtk_toolbar_set_orientation(GTK_TOOLBAR(toolbar), GTK_ORIENTATION_HORIZONTAL); - gtk_toolbar_set_style(GTK_TOOLBAR(toolbar), GTK_TOOLBAR_BOTH); + gtk_toolbar_set_style(GTK_TOOLBAR(toolbar), GTK_TOOLBAR_ICONS); for (cur = toolbar_list; cur != NULL; cur = cur->next) { Index: claws-mail-2.9.1/src/gtk/prefswindow.c =================================================================== --- claws-mail-2.9.1.orig/src/gtk/prefswindow.c 2007-04-25 07:40:10.000000000 +0100 +++ claws-mail-2.9.1/src/gtk/prefswindow.c 2007-04-25 10:30:15.000000000 +0100 @@ -343,6 +343,10 @@ gint x = gdk_screen_width(); gint y = gdk_screen_height(); static GdkGeometry geometry; + gint col_count = g_slist_length (prefs_pages); + + if (col_count > 1) + col_count = 2; prefswindow = g_new0(PrefsWindow, 1); @@ -360,39 +364,52 @@ gtk_window_set_resizable (GTK_WINDOW(prefswindow->window), TRUE); gtk_container_set_border_width(GTK_CONTAINER(prefswindow->window), 4); - prefswindow->table1 = gtk_table_new(2, 2, FALSE); + prefswindow->table1 = gtk_table_new(col_count, col_count, FALSE); gtk_widget_show(prefswindow->table1); gtk_container_add(GTK_CONTAINER(prefswindow->window), prefswindow->table1); - prefswindow->scrolledwindow1 = gtk_scrolled_window_new(NULL, NULL); - gtk_widget_show(prefswindow->scrolledwindow1); - gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(prefswindow->scrolledwindow1), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); - gtk_table_attach(GTK_TABLE(prefswindow->table1), prefswindow->scrolledwindow1, 0, 1, 0, 1, GTK_FILL, GTK_FILL | GTK_EXPAND, 2, 2); - - prefswindow->tree_view = prefswindow_tree_view_create(prefswindow); - gtk_widget_show(prefswindow->tree_view); - gtk_container_add(GTK_CONTAINER(prefswindow->scrolledwindow1), - prefswindow->tree_view); - - prefswindow->frame = gtk_frame_new(NULL); - gtk_widget_show(prefswindow->frame); - gtk_frame_set_shadow_type(GTK_FRAME(prefswindow->frame), GTK_SHADOW_IN); - gtk_table_attach(GTK_TABLE(prefswindow->table1), prefswindow->frame, 1, 2, 0, 1, GTK_FILL | GTK_EXPAND, GTK_FILL | GTK_EXPAND, 2, 2); - - prefswindow->table2 = gtk_table_new(1, 2, FALSE); - gtk_widget_show(prefswindow->table2); - gtk_container_add(GTK_CONTAINER(prefswindow->frame), prefswindow->table2); - - prefswindow->labelframe = gtk_frame_new(NULL); - gtk_widget_show(prefswindow->labelframe); - gtk_frame_set_shadow_type(GTK_FRAME(prefswindow->labelframe), GTK_SHADOW_OUT); - gtk_table_attach(GTK_TABLE(prefswindow->table2), prefswindow->labelframe, 0, 1, 0, 1, GTK_FILL | GTK_EXPAND, GTK_FILL, 1, 1); - - prefswindow->pagelabel = gtk_label_new(""); - gtk_widget_show(prefswindow->pagelabel); - gtk_label_set_justify(GTK_LABEL(prefswindow->pagelabel), GTK_JUSTIFY_LEFT); - gtk_misc_set_alignment(GTK_MISC(prefswindow->pagelabel), 0, 0.0); - gtk_container_add(GTK_CONTAINER(prefswindow->labelframe), prefswindow->pagelabel); + if (col_count > 1) + { + prefswindow->scrolledwindow1 = gtk_scrolled_window_new(NULL, NULL); + gtk_widget_show(prefswindow->scrolledwindow1); + gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(prefswindow->scrolledwindow1), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); + gtk_table_attach(GTK_TABLE(prefswindow->table1), prefswindow->scrolledwindow1, 0, 1, 0, 1, GTK_FILL, GTK_FILL | GTK_EXPAND, 2, 2); + + prefswindow->tree_view = prefswindow_tree_view_create(prefswindow); + gtk_widget_show(prefswindow->tree_view); + gtk_container_add(GTK_CONTAINER(prefswindow->scrolledwindow1), + prefswindow->tree_view); + + prefswindow->frame = gtk_frame_new(NULL); + gtk_widget_show(prefswindow->frame); + gtk_frame_set_shadow_type(GTK_FRAME(prefswindow->frame), GTK_SHADOW_IN); + gtk_table_attach(GTK_TABLE(prefswindow->table1), prefswindow->frame, col_count - 1, col_count, 0, 1, GTK_FILL | GTK_EXPAND, GTK_FILL | GTK_EXPAND, 2, 2); + + prefswindow->table2 = gtk_table_new(1, 2, FALSE); + gtk_widget_show(prefswindow->table2); + gtk_container_add(GTK_CONTAINER(prefswindow->frame), prefswindow->table2); + } + else + { + prefswindow->table2 = gtk_table_new(1, 2, FALSE); + gtk_widget_show(prefswindow->table2); + gtk_table_attach(GTK_TABLE(prefswindow->table1), prefswindow->table2, 0, 1, 0, 1, GTK_FILL | GTK_EXPAND, GTK_FILL | GTK_EXPAND, 2, 2); + } + + + if (col_count > 1) + { + prefswindow->labelframe = gtk_frame_new(NULL); + gtk_widget_show(prefswindow->labelframe); + gtk_frame_set_shadow_type(GTK_FRAME(prefswindow->labelframe), GTK_SHADOW_OUT); + gtk_table_attach(GTK_TABLE(prefswindow->table2), prefswindow->labelframe, 0, 1, 0, 1, GTK_FILL | GTK_EXPAND, GTK_FILL, 1, 1); + + prefswindow->pagelabel = gtk_label_new(""); + gtk_widget_show(prefswindow->pagelabel); + gtk_label_set_justify(GTK_LABEL(prefswindow->pagelabel), GTK_JUSTIFY_LEFT); + gtk_misc_set_alignment(GTK_MISC(prefswindow->pagelabel), 0, 0.0); + gtk_container_add(GTK_CONTAINER(prefswindow->labelframe), prefswindow->pagelabel); + } prefswindow->scrolledwindow2 = gtk_scrolled_window_new(NULL, NULL); gtk_widget_show(prefswindow->scrolledwindow2); @@ -411,9 +428,38 @@ gtk_widget_show(prefswindow->empty_page); gtk_container_add(GTK_CONTAINER(prefswindow->notebook), prefswindow->empty_page); - prefswindow_build_tree(prefswindow->tree_view, prefs_pages); + if (col_count > 1) + { + prefswindow_build_tree(prefswindow->tree_view, prefs_pages); + + gtk_widget_grab_focus(prefswindow->tree_view); + } + else + { + PrefsPage * page = prefs_pages->data; + gint pagenum; + GtkAdjustment *adj; + + if (!page->page_open) + { + page->create_widget(page, + GTK_WINDOW(prefswindow->window), + prefswindow->data); + gtk_container_add(GTK_CONTAINER(prefswindow->notebook), + page->widget); + page->page_open = TRUE; + } + + pagenum = gtk_notebook_page_num(GTK_NOTEBOOK(prefswindow->notebook), + page->widget); + gtk_notebook_set_current_page(GTK_NOTEBOOK(prefswindow->notebook), + pagenum); - gtk_widget_grab_focus(prefswindow->tree_view); + adj = gtk_scrolled_window_get_vadjustment( + GTK_SCROLLED_WINDOW(prefswindow->scrolledwindow2)); + gtk_adjustment_set_value(adj, 0); + + } gtkut_stock_button_set_create(&prefswindow->confirm_area, &prefswindow->apply_btn, GTK_STOCK_APPLY, @@ -440,28 +486,6 @@ G_CALLBACK(prefswindow_key_pressed), &(prefswindow->window)); #endif - /* connect to callback only if we hhave non-NULL pointers to store size to */ - if (prefswindow->save_width && prefswindow->save_height) { - g_signal_connect(G_OBJECT(prefswindow->window), "size_allocate", - G_CALLBACK(prefs_size_allocate_cb), prefswindow); - } - - if (!geometry.min_height) { - - if (x < 800 && y < 600) { - geometry.min_width = 600; - geometry.min_height = 440; - } else { - geometry.min_width = 700; - geometry.min_height = 550; - } - } - gtk_window_set_geometry_hints(GTK_WINDOW(prefswindow->window), NULL, &geometry, - GDK_HINT_MIN_SIZE); - if (prefswindow->save_width && prefswindow->save_height) { - gtk_widget_set_size_request(prefswindow->window, *(prefswindow->save_width), - *(prefswindow->save_height)); - } gtk_widget_show(prefswindow->window); #ifdef MAEMO Index: claws-mail-2.9.1/src/compose.c =================================================================== --- claws-mail-2.9.1.orig/src/compose.c 2007-04-25 07:40:10.000000000 +0100 +++ claws-mail-2.9.1/src/compose.c 2007-04-25 10:18:13.000000000 +0100 @@ -352,9 +352,6 @@ /* callback functions */ -static gboolean compose_edit_size_alloc (GtkEditable *widget, - GtkAllocation *allocation, - GtkSHRuler *shruler); static void account_activated (GtkComboBox *optmenu, gpointer data); static void attach_selected (GtkTreeView *tree_view, @@ -439,9 +436,6 @@ guint action, GtkWidget *widget); -static void compose_toggle_ruler_cb (gpointer data, - guint action, - GtkWidget *widget); static void compose_toggle_sign_cb (gpointer data, guint action, GtkWidget *widget); @@ -788,7 +782,6 @@ ENC_ACTION(C_WINDOWS_874)}, {N_("/_Tools"), NULL, NULL, 0, ""}, - {N_("/_Tools/Show _ruler"), NULL, compose_toggle_ruler_cb, 0, ""}, {N_("/_Tools/_Address book"), "A", compose_address_cb , 0, NULL}, {N_("/_Tools/_Template"), NULL, NULL, 0, ""}, {N_("/_Tools/Actio_ns"), NULL, NULL, 0, ""}, @@ -2067,7 +2060,6 @@ menu_set_sensitive(ifactory, "/Message/Insert signature", FALSE); menu_set_sensitive(ifactory, "/Edit", FALSE); menu_set_sensitive(ifactory, "/Options", FALSE); - menu_set_sensitive(ifactory, "/Tools/Show ruler", FALSE); menu_set_sensitive(ifactory, "/Tools/Actions", FALSE); if (compose->toolbar->draft_btn) @@ -5684,7 +5676,7 @@ g_signal_connect(G_OBJECT(GTK_COMBO(combo)->entry), "grab_focus", G_CALLBACK(compose_grab_focus_cb), compose); gtk_widget_show(combo); - gtk_table_attach(GTK_TABLE(compose->header_table), combo, 0, 1, compose->header_nextrow, compose->header_nextrow+1, GTK_SHRINK, GTK_FILL, 0, 0); + gtk_table_attach(GTK_TABLE(compose->header_table), combo, 0, 1, compose->header_nextrow, compose->header_nextrow+1, GTK_FILL, GTK_FILL, 0, 0); if (compose->header_last) { const gchar *last_header_entry = gtk_entry_get_text(GTK_ENTRY(GTK_COMBO(compose->header_last->combo)->entry)); string = headers; @@ -5778,7 +5770,7 @@ static GtkWidget *compose_create_header(Compose *compose) { - GtkWidget *from_optmenu_hbox; + GtkWidget *from_optmenu; GtkWidget *header_scrolledwin; GtkWidget *header_table; @@ -5788,18 +5780,20 @@ header_scrolledwin = gtk_scrolled_window_new(NULL, NULL); gtk_widget_show(header_scrolledwin); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(header_scrolledwin), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); - header_table = gtk_table_new(2, 2, FALSE); + gtk_table_set_col_spacings (GTK_TABLE (header_table), BORDER_WIDTH); gtk_widget_show(header_table); gtk_container_set_border_width(GTK_CONTAINER(header_table), BORDER_WIDTH); gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(header_scrolledwin), header_table); - gtk_viewport_set_shadow_type(GTK_VIEWPORT(GTK_BIN(header_scrolledwin)->child), GTK_SHADOW_ETCHED_IN); + gtk_viewport_set_shadow_type(GTK_VIEWPORT(GTK_BIN(header_scrolledwin)->child), GTK_SHADOW_NONE); count = 0; /* option menu for selecting accounts */ - from_optmenu_hbox = compose_account_option_menu_create(compose); - gtk_table_attach(GTK_TABLE(header_table), from_optmenu_hbox, - 0, 2, count, count + 1, GTK_EXPAND | GTK_FILL, GTK_SHRINK, 0, 0); + from_optmenu = compose_account_option_menu_create(compose); + gtk_table_attach(GTK_TABLE(header_table), from_optmenu, + 0, 1, count, count + 1, GTK_FILL, GTK_FILL, 0, 0); + gtk_table_attach(GTK_TABLE(header_table), compose->from_name, + 1, 2, count, count + 1, GTK_EXPAND | GTK_FILL, GTK_FILL, 0, 0); count++; compose->header_table = header_table; @@ -6140,15 +6134,12 @@ GtkWidget *vbox2; GtkWidget *label; - GtkWidget *subject_hbox; - GtkWidget *subject_frame; + GtkWidget *edit_frame; GtkWidget *subject_entry; GtkWidget *subject; GtkWidget *paned; GtkWidget *edit_vbox; - GtkWidget *ruler_hbox; - GtkWidget *ruler; GtkWidget *scrolledwin; GtkWidget *text; GtkTextBuffer *buffer; @@ -6169,8 +6160,6 @@ GtkAspell * gtkaspell = NULL; #endif - static GdkGeometry geometry; - g_return_val_if_fail(account != NULL, NULL); debug_print("Creating compose window...\n"); @@ -6190,28 +6179,6 @@ window = gtkut_window_new(GTK_WINDOW_TOPLEVEL, "compose"); - gtk_window_set_resizable(GTK_WINDOW(window), TRUE); - gtk_widget_set_size_request(window, -1, prefs_common.compose_height); - - if (!geometry.max_width) { - geometry.max_width = gdk_screen_width(); - geometry.max_height = gdk_screen_height(); - } - - gtk_window_set_geometry_hints(GTK_WINDOW(window), NULL, - &geometry, GDK_HINT_MAX_SIZE); - if (!geometry.min_width) { - geometry.min_width = 600; - geometry.min_height = 480; - } - gtk_window_set_geometry_hints(GTK_WINDOW(window), NULL, - &geometry, GDK_HINT_MIN_SIZE); - -#ifndef MAEMO - if (compose_force_window_origin) - gtk_widget_set_uposition(window, prefs_common.compose_x, - prefs_common.compose_y); -#endif g_signal_connect(G_OBJECT(window), "delete_event", G_CALLBACK(compose_delete_cb), compose); MANAGE_WINDOW_SIGNALS_CONNECT(window); @@ -6227,11 +6194,7 @@ n_menu_entries, "", compose); gtk_box_pack_start(GTK_BOX(vbox), menubar, FALSE, TRUE, 0); - if (prefs_common.toolbar_detachable) { - handlebox = gtk_handle_box_new(); - } else { - handlebox = gtk_hbox_new(FALSE, 0); - } + handlebox = gtk_hbox_new(FALSE, 0); gtk_box_pack_start(GTK_BOX(vbox), handlebox, FALSE, FALSE, 0); gtk_widget_realize(handlebox); @@ -6244,7 +6207,6 @@ /* Notebook */ notebook = gtk_notebook_new(); - gtk_widget_set_size_request(notebook, -1, 130); gtk_widget_show(notebook); /* header labels and entries */ @@ -6258,18 +6220,10 @@ /* Others Tab */ gtk_notebook_append_page(GTK_NOTEBOOK(notebook), compose_create_others(compose), - gtk_label_new_with_mnemonic(_("Othe_rs"))); + gtk_label_new_with_mnemonic(_("Othe_r"))); /* Subject */ - subject_hbox = gtk_hbox_new(FALSE, 0); - gtk_widget_show(subject_hbox); - - subject_frame = gtk_frame_new(NULL); - gtk_frame_set_shadow_type(GTK_FRAME(subject_frame), GTK_SHADOW_NONE); - gtk_box_pack_start(GTK_BOX(subject_hbox), subject_frame, TRUE, TRUE, 0); - gtk_widget_show(subject_frame); - - subject = gtk_hbox_new(FALSE, HSPACING_NARROW); + subject = gtk_hbox_new(FALSE, BORDER_WIDTH); gtk_container_set_border_width(GTK_CONTAINER(subject), 0); gtk_widget_show(subject); @@ -6283,20 +6237,16 @@ G_CALLBACK(compose_grab_focus_cb), compose); gtk_widget_show(subject_entry); compose->subject_entry = subject_entry; - gtk_container_add(GTK_CONTAINER(subject_frame), subject); - edit_vbox = gtk_vbox_new(FALSE, 0); + edit_vbox = gtk_vbox_new(FALSE, BORDER_WIDTH); + gtk_container_set_border_width(GTK_CONTAINER(edit_vbox), BORDER_WIDTH); - gtk_box_pack_start(GTK_BOX(edit_vbox), subject_hbox, FALSE, FALSE, 0); + gtk_box_pack_start(GTK_BOX(edit_vbox), subject, FALSE, FALSE, 0); - /* ruler */ - ruler_hbox = gtk_hbox_new(FALSE, 0); - gtk_box_pack_start(GTK_BOX(edit_vbox), ruler_hbox, FALSE, FALSE, 0); - - ruler = gtk_shruler_new(); - gtk_ruler_set_range(GTK_RULER(ruler), 0.0, 100.0, 1.0, 100.0); - gtk_box_pack_start(GTK_BOX(ruler_hbox), ruler, TRUE, TRUE, - BORDER_WIDTH); + edit_frame = gtk_frame_new(NULL); + gtk_frame_set_shadow_type(GTK_FRAME(edit_frame), GTK_SHADOW_IN); + gtk_widget_show(edit_frame); + gtk_container_add(GTK_CONTAINER(edit_frame), edit_vbox); /* text widget */ scrolledwin = gtk_scrolled_window_new(NULL, NULL); @@ -6317,9 +6267,6 @@ gtk_container_add(GTK_CONTAINER(scrolledwin), text); - g_signal_connect_after(G_OBJECT(text), "size_allocate", - G_CALLBACK(compose_edit_size_alloc), - ruler); g_signal_connect(G_OBJECT(buffer), "changed", G_CALLBACK(compose_changed_cb), compose); g_signal_connect(G_OBJECT(text), "grab_focus", @@ -6363,7 +6310,7 @@ gtk_widget_set_size_request(edit_vbox, -1, mode == COMPOSE_NEW ? 250 : 230); #endif gtk_paned_add1(GTK_PANED(paned), notebook); - gtk_paned_add2(GTK_PANED(paned), edit_vbox); + gtk_paned_add2(GTK_PANED(paned), edit_frame); gtk_widget_show_all(paned); @@ -6408,8 +6355,6 @@ compose->notebook = notebook; compose->edit_vbox = edit_vbox; - compose->ruler_hbox = ruler_hbox; - compose->ruler = ruler; compose->scrolledwin = scrolledwin; compose->text = text; @@ -6531,13 +6476,6 @@ compose_list = g_list_append(compose_list, compose); - if (!prefs_common.show_ruler) - gtk_widget_hide(ruler_hbox); - - menuitem = gtk_item_factory_get_item(ifactory, "/Tools/Show ruler"); - gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menuitem), - prefs_common.show_ruler); - /* Priority */ compose->priority = PRIORITY_NORMAL; compose_update_priority_menu_item(compose); @@ -6568,7 +6506,6 @@ static GtkWidget *compose_account_option_menu_create(Compose *compose) { GList *accounts; - GtkWidget *hbox; GtkWidget *optmenu; GtkWidget *optmenubox; GtkListStore *menu; @@ -6584,7 +6521,6 @@ optmenu = gtkut_sc_combobox_create(optmenubox, FALSE); menu = GTK_LIST_STORE(gtk_combo_box_get_model(GTK_COMBO_BOX(optmenu))); - hbox = gtk_hbox_new(FALSE, 6); from_name = gtk_entry_new(); g_signal_connect_after(G_OBJECT(from_name), "grab_focus", @@ -6623,9 +6559,6 @@ G_CALLBACK(account_activated), compose); - gtk_box_pack_start(GTK_BOX(hbox), optmenubox, FALSE, FALSE, 0); - gtk_box_pack_start(GTK_BOX(hbox), from_name, TRUE, TRUE, 0); - gtk_tooltips_set_tip(compose->tooltips, optmenubox, _("Account to use for this email"), NULL); gtk_tooltips_set_tip(compose->tooltips, from_name, @@ -6633,7 +6566,7 @@ compose->from_name = from_name; - return hbox; + return optmenubox; } static void compose_set_priority_cb(gpointer data, @@ -7851,32 +7784,6 @@ /* callback functions */ -/* compose_edit_size_alloc() - called when resized. don't know whether Gtk - * includes "non-client" (windows-izm) in calculation, so this calculation - * may not be accurate. - */ -static gboolean compose_edit_size_alloc(GtkEditable *widget, - GtkAllocation *allocation, - GtkSHRuler *shruler) -{ - if (prefs_common.show_ruler) { - gint char_width = 0, char_height = 0; - gint line_width_in_chars; - - gtkut_get_font_size(GTK_WIDGET(widget), - &char_width, &char_height); - line_width_in_chars = - (allocation->width - allocation->x) / char_width; - - /* got the maximum */ - gtk_ruler_set_range(GTK_RULER(shruler), - 0.0, line_width_in_chars, 0, - /*line_width_in_chars*/ char_width); - } - - return TRUE; -} - static void account_activated(GtkComboBox *optmenu, gpointer data) { Compose *compose = (Compose *)data; @@ -9040,21 +8947,6 @@ compose_update_privacy_system_menu_item(compose, warn); } -static void compose_toggle_ruler_cb(gpointer data, guint action, - GtkWidget *widget) -{ - Compose *compose = (Compose *)data; - - if (GTK_CHECK_MENU_ITEM(widget)->active) { - gtk_widget_show(compose->ruler_hbox); - prefs_common.show_ruler = TRUE; - } else { - gtk_widget_hide(compose->ruler_hbox); - gtk_widget_queue_resize(compose->edit_vbox); - prefs_common.show_ruler = FALSE; - } -} - static void compose_attach_drag_received_cb (GtkWidget *widget, GdkDragContext *context, gint x, Index: claws-mail-2.9.1/src/folderview.c =================================================================== --- claws-mail-2.9.1.orig/src/folderview.c 2007-04-03 19:10:25.000000000 +0100 +++ claws-mail-2.9.1/src/folderview.c 2007-04-25 10:28:00.000000000 +0100 @@ -73,6 +73,11 @@ #define COL_FOLDER_WIDTH 150 #define COL_NUM_WIDTH 32 +/* added dummy column to stop the last column from + * resizing insanely in small screen view + */ +#define _N_FOLDER_COLS (N_FOLDER_COLS + 1) + static GList *folderview_list = NULL; static GtkStyle *normal_style; @@ -448,7 +453,7 @@ gint *col_pos; FolderColumnState *col_state; FolderColumnType type; - gchar *titles[N_FOLDER_COLS]; + gchar *titles[_N_FOLDER_COLS]; gint i; GtkWidget *scrolledwin = folderview->scrolledwin; @@ -471,8 +476,9 @@ titles[col_pos[F_COL_UNREAD]] = _("Unread"); /* TRANSLATORS: This in Number sign in American style */ titles[col_pos[F_COL_TOTAL]] = _("#"); + titles[F_COL_DUMMY] = ""; - ctree = gtk_sctree_new_with_titles(N_FOLDER_COLS, col_pos[F_COL_FOLDER], + ctree = gtk_sctree_new_with_titles(_N_FOLDER_COLS, col_pos[F_COL_FOLDER], titles); gtk_clist_set_selection_mode(GTK_CLIST(ctree), GTK_SELECTION_BROWSE); @@ -510,6 +516,9 @@ (GTK_CLIST(ctree), i, col_state[i].visible); } + GTK_WIDGET_UNSET_FLAGS(GTK_CLIST(ctree)->column[i].button, + GTK_CAN_FOCUS); + g_signal_connect(G_OBJECT(ctree), "key_press_event", G_CALLBACK(folderview_key_pressed), folderview); @@ -605,9 +614,6 @@ (GTK_SCROLLED_WINDOW(scrolledwin), GTK_POLICY_AUTOMATIC, prefs_common.folderview_vscrollbar_policy); - gtk_widget_set_size_request(scrolledwin, - prefs_common.folderview_width, - prefs_common.folderview_height); folderview->scrolledwin = scrolledwin; ctree = folderview_ctree_create(folderview); @@ -2268,7 +2274,7 @@ static void folderview_create_folder_node(FolderView *folderview, FolderItem *item) { GtkCTree *ctree = GTK_CTREE(folderview->ctree); - gchar *text[N_FOLDER_COLS] = {NULL, "0", "0", "0"}; + gchar *text[_N_FOLDER_COLS] = {NULL, "0", "0", "0", ""}; GtkCTreeNode *node, *parent_node; gint *col_pos = folderview->col_pos; FolderItemUpdateData hookdata; Index: claws-mail-2.9.1/src/folderview.h =================================================================== --- claws-mail-2.9.1.orig/src/folderview.h 2007-03-22 17:22:52.000000000 +0000 +++ claws-mail-2.9.1/src/folderview.h 2007-04-25 10:16:55.000000000 +0100 @@ -37,7 +37,8 @@ F_COL_FOLDER, F_COL_NEW, F_COL_UNREAD, - F_COL_TOTAL + F_COL_TOTAL, + F_COL_DUMMY } FolderColumnType; #define N_FOLDER_COLS 4