-rw-r--r-- | bin/kdepim/WhatsNew.txt | 4 | ||||
-rw-r--r-- | kmicromail/libetpan/mh/mailmh.c | 3 |
2 files changed, 5 insertions, 2 deletions
diff --git a/bin/kdepim/WhatsNew.txt b/bin/kdepim/WhatsNew.txt index 42b36f1..5864ce4 100644 --- a/bin/kdepim/WhatsNew.txt +++ b/bin/kdepim/WhatsNew.txt | |||
@@ -1,77 +1,77 @@ | |||
1 | Info about the changes in new versions of KDE-Pim/Pi | 1 | Info about the changes in new versions of KDE-Pim/Pi |
2 | 2 | ||
3 | ********** VERSION 1.9.20 ************ | 3 | ********** VERSION 1.9.20 ************ |
4 | 4 | ||
5 | KO/Pi: | 5 | KO/Pi: |
6 | Added for the "dislplay one day" agenda mode | 6 | Added for the "dislplay one day" agenda mode |
7 | info in the caption and in the day lables: | 7 | info in the caption and in the day lables: |
8 | Now it is displayed, if the selected day is from "day before yesterday" | 8 | Now it is displayed, if the selected day is from "day before yesterday" |
9 | to "day after tomorrow". | 9 | to "day after tomorrow". |
10 | Made it possible to delete a Todo, which has sub-todos. | 10 | Made it possible to delete a Todo, which has sub-todos. |
11 | Fixed two small problems in the todo view. | 11 | Fixed two small problems in the todo view. |
12 | Added missing German translation for filter edit and print dialog. | 12 | Added missing German translation for filter edit and print dialog. |
13 | Made search dialog closeable by cancel key. | 13 | Made search dialog closeable by cancel key. |
14 | 14 | ||
15 | Made it possible to select in the date picker the (ligt grey ) | 15 | Made it possible to select in the date picker the (ligt grey ) |
16 | dates of the prev./next month with the mouse. | 16 | dates of the prev./next month with the mouse. |
17 | 17 | ||
18 | OM/Pi: | 18 | OM/Pi: |
19 | "Delete mail" icon in main window now deletes all selected mails. | 19 | "Delete mail" icon in main window now deletes all selected mails. |
20 | Fixed the problem, that the state flag of imap mails was ignored. | 20 | Fixed the problem, that the state flag of imap mails was ignored. |
21 | Now mails with "FLAG_SEEN" on the imap server get no icon in the list view | 21 | Now mails with "FLAG_SEEN" on the imap server get no icon in the list view |
22 | to indecate that they are already seen. | 22 | to indecate that they are already seen. |
23 | Fixed the problem that the body of some mails was not displayed in the | 23 | Fixed the problem that the body of some mails was not displayed in the |
24 | mail viewer when fetching them from the imap server directly to read them. | 24 | mail viewer when fetching them from the imap server directly to read them. |
25 | Made it (configurable) possible to show the "To:" field in the list view. | 25 | Made it (configurable) possible to show the "To:" field in the list view. |
26 | Added to the mail viewer the option "View Source" to make it possible to see the raw mail data. | 26 | Added to the mail viewer the option "View Source" to make it possible to see the raw mail data. |
27 | Added a "Download Mail" button to the mail viewer to quickly download the viewed mail to the | 27 | Added a "Download Mail" button to the mail viewer to quickly download the viewed mail to the |
28 | local storage folder (specified in account setiings) of the account of the mail. | 28 | local storage folder (specified in account settings) of the account of the mail. |
29 | 29 | Removed some memory leaks in OM/Pi. | |
30 | 30 | ||
31 | 31 | ||
32 | ********** VERSION 1.9.19 ************ | 32 | ********** VERSION 1.9.19 ************ |
33 | 33 | ||
34 | Added a lot of missing translations to KA/Pi, | 34 | Added a lot of missing translations to KA/Pi, |
35 | Added some missing translations to KO/Pi and OM/Pi. | 35 | Added some missing translations to KO/Pi and OM/Pi. |
36 | 36 | ||
37 | Fixed some minor problems in KA/Pi + KO/Pi. | 37 | Fixed some minor problems in KA/Pi + KO/Pi. |
38 | 38 | ||
39 | Fixed a crash when closing PwM/Pi. | 39 | Fixed a crash when closing PwM/Pi. |
40 | Added German translation for PwM/Pi. | 40 | Added German translation for PwM/Pi. |
41 | 41 | ||
42 | Made view change and Month View update faster in KO/Pi. | 42 | Made view change and Month View update faster in KO/Pi. |
43 | 43 | ||
44 | 44 | ||
45 | ********** VERSION 1.9.18 ************ | 45 | ********** VERSION 1.9.18 ************ |
46 | 46 | ||
47 | FYI: The VERSION 1.9.17 was a testing release only. | 47 | FYI: The VERSION 1.9.17 was a testing release only. |
48 | Please read the changelog of VERSION 1.9.17 as well. | 48 | Please read the changelog of VERSION 1.9.17 as well. |
49 | 49 | ||
50 | Cleaned up the syncing config dialog. | 50 | Cleaned up the syncing config dialog. |
51 | Added sync config options for date range for events. | 51 | Added sync config options for date range for events. |
52 | Added sync config options for filters on incoming data. | 52 | Added sync config options for filters on incoming data. |
53 | Added sync config options for filters on outgoing data. | 53 | Added sync config options for filters on outgoing data. |
54 | Please read the updated SyncHowTo about the new filter settings. | 54 | Please read the updated SyncHowTo about the new filter settings. |
55 | These filter settings make it now possible to sync with shared | 55 | These filter settings make it now possible to sync with shared |
56 | calendars without writing back private or confidential data | 56 | calendars without writing back private or confidential data |
57 | (via the outgoing filters). | 57 | (via the outgoing filters). |
58 | To sync only with particular parts of a shared calendar, | 58 | To sync only with particular parts of a shared calendar, |
59 | the incoming filter settings can be used. | 59 | the incoming filter settings can be used. |
60 | An example can be found in the SyncHowTo. | 60 | An example can be found in the SyncHowTo. |
61 | Same for shared addressbooks. | 61 | Same for shared addressbooks. |
62 | 62 | ||
63 | Added a setting for the global kdepim data storage. | 63 | Added a setting for the global kdepim data storage. |
64 | Usually the data is stored in (yourhomedir/kdepim). | 64 | Usually the data is stored in (yourhomedir/kdepim). |
65 | Now you can set in the Global config dialog TAB, subTAB "Data storage path" | 65 | Now you can set in the Global config dialog TAB, subTAB "Data storage path" |
66 | a directory where all the kdepim data is stored. | 66 | a directory where all the kdepim data is stored. |
67 | That makes it easy to save all kdepim data on a SD card on the Z, for example. | 67 | That makes it easy to save all kdepim data on a SD card on the Z, for example. |
68 | 68 | ||
69 | KO/Pi: | 69 | KO/Pi: |
70 | The timeedit input has a pulldown list for times. | 70 | The timeedit input has a pulldown list for times. |
71 | If opened, this pulldown list should now has the right time highlighted. | 71 | If opened, this pulldown list should now has the right time highlighted. |
72 | Added the possibility to exclude events/todos/journals in a filter. | 72 | Added the possibility to exclude events/todos/journals in a filter. |
73 | You should exclude journals, if you do not want them to sync with a public calendar. | 73 | You should exclude journals, if you do not want them to sync with a public calendar. |
74 | 74 | ||
75 | KA/Pi: | 75 | KA/Pi: |
76 | Added the possibility to in/exclude public/private/confidential contacts to a filter. | 76 | Added the possibility to in/exclude public/private/confidential contacts to a filter. |
77 | If you have already defined filterrules in KA/Pi you have to adjust them all by setting the "include public/private/confidential" property manually. Sorry for that ... | 77 | If you have already defined filterrules in KA/Pi you have to adjust them all by setting the "include public/private/confidential" property manually. Sorry for that ... |
diff --git a/kmicromail/libetpan/mh/mailmh.c b/kmicromail/libetpan/mh/mailmh.c index 1087ce1..2d1f26d 100644 --- a/kmicromail/libetpan/mh/mailmh.c +++ b/kmicromail/libetpan/mh/mailmh.c | |||
@@ -876,96 +876,99 @@ int mailmh_folder_add_message_file(struct mailmh_folder * folder, | |||
876 | { | 876 | { |
877 | return mailmh_folder_add_message_file_uid(folder, fd, NULL); | 877 | return mailmh_folder_add_message_file_uid(folder, fd, NULL); |
878 | } | 878 | } |
879 | 879 | ||
880 | int mailmh_folder_remove_message(struct mailmh_folder * folder, | 880 | int mailmh_folder_remove_message(struct mailmh_folder * folder, |
881 | uint32_t index) | 881 | uint32_t index) |
882 | { | 882 | { |
883 | char * filename; | 883 | char * filename; |
884 | struct mailmh_msg_info * msg_info; | 884 | struct mailmh_msg_info * msg_info; |
885 | int res; | 885 | int res; |
886 | int r; | 886 | int r; |
887 | chashdatum key; | 887 | chashdatum key; |
888 | chashdatum data; | 888 | chashdatum data; |
889 | 889 | ||
890 | #if 0 | 890 | #if 0 |
891 | r = mailmh_folder_update(folder); | 891 | r = mailmh_folder_update(folder); |
892 | if (r != MAILMH_NO_ERROR) { | 892 | if (r != MAILMH_NO_ERROR) { |
893 | res = r; | 893 | res = r; |
894 | goto err; | 894 | goto err; |
895 | } | 895 | } |
896 | #endif | 896 | #endif |
897 | 897 | ||
898 | r = mailmh_folder_get_message_filename(folder, index, &filename); | 898 | r = mailmh_folder_get_message_filename(folder, index, &filename); |
899 | if (filename == NULL) { | 899 | if (filename == NULL) { |
900 | res = r; | 900 | res = r; |
901 | goto err; | 901 | goto err; |
902 | } | 902 | } |
903 | 903 | ||
904 | if (unlink(filename) == -1) { | 904 | if (unlink(filename) == -1) { |
905 | res = MAILMH_ERROR_FILE; | 905 | res = MAILMH_ERROR_FILE; |
906 | goto free; | 906 | goto free; |
907 | } | 907 | } |
908 | 908 | ||
909 | key.data = &index; | 909 | key.data = &index; |
910 | key.len = sizeof(index); | 910 | key.len = sizeof(index); |
911 | r = chash_get(folder->fl_msgs_hash, &key, &data); | 911 | r = chash_get(folder->fl_msgs_hash, &key, &data); |
912 | #if 0 | 912 | #if 0 |
913 | msg_info = cinthash_find(folder->fl_msgs_hash, index); | 913 | msg_info = cinthash_find(folder->fl_msgs_hash, index); |
914 | #endif | 914 | #endif |
915 | if (r == 0) { | 915 | if (r == 0) { |
916 | msg_info = data.data; | 916 | msg_info = data.data; |
917 | 917 | ||
918 | carray_delete_fast(folder->fl_msgs_tab, msg_info->msg_array_index); | 918 | carray_delete_fast(folder->fl_msgs_tab, msg_info->msg_array_index); |
919 | #if 0 | 919 | #if 0 |
920 | cinthash_remove(folder->fl_msgs_hash, index); | 920 | cinthash_remove(folder->fl_msgs_hash, index); |
921 | #endif | 921 | #endif |
922 | chash_delete(folder->fl_msgs_hash, &key, NULL); | 922 | chash_delete(folder->fl_msgs_hash, &key, NULL); |
923 | } | 923 | } |
924 | // LR | ||
925 | mailmh_msg_info_free( msg_info ); | ||
926 | free(filename); | ||
924 | 927 | ||
925 | return MAILMH_NO_ERROR; | 928 | return MAILMH_NO_ERROR; |
926 | 929 | ||
927 | free: | 930 | free: |
928 | free(filename); | 931 | free(filename); |
929 | err: | 932 | err: |
930 | return res; | 933 | return res; |
931 | } | 934 | } |
932 | 935 | ||
933 | 936 | ||
934 | int mailmh_folder_move_message(struct mailmh_folder * dest_folder, | 937 | int mailmh_folder_move_message(struct mailmh_folder * dest_folder, |
935 | struct mailmh_folder * src_folder, | 938 | struct mailmh_folder * src_folder, |
936 | uint32_t index) | 939 | uint32_t index) |
937 | { | 940 | { |
938 | int fd; | 941 | int fd; |
939 | char * filename; | 942 | char * filename; |
940 | int r; | 943 | int r; |
941 | 944 | ||
942 | #if 0 | 945 | #if 0 |
943 | r = mailmh_folder_update(dest_folder); | 946 | r = mailmh_folder_update(dest_folder); |
944 | if (r != MAILMH_NO_ERROR) | 947 | if (r != MAILMH_NO_ERROR) |
945 | return r; | 948 | return r; |
946 | r = mailmh_folder_update(src_folder); | 949 | r = mailmh_folder_update(src_folder); |
947 | if (r != MAILMH_NO_ERROR) | 950 | if (r != MAILMH_NO_ERROR) |
948 | return r; | 951 | return r; |
949 | #endif | 952 | #endif |
950 | 953 | ||
951 | /* move on the same filesystem */ | 954 | /* move on the same filesystem */ |
952 | r = mailmh_folder_get_message_filename(src_folder, index, &filename); | 955 | r = mailmh_folder_get_message_filename(src_folder, index, &filename); |
953 | if (r != MAILMH_NO_ERROR) | 956 | if (r != MAILMH_NO_ERROR) |
954 | return r; | 957 | return r; |
955 | 958 | ||
956 | r = mailmh_folder_alloc_msg(dest_folder, filename, &index); | 959 | r = mailmh_folder_alloc_msg(dest_folder, filename, &index); |
957 | free(filename); | 960 | free(filename); |
958 | if (r == MAILMH_NO_ERROR) | 961 | if (r == MAILMH_NO_ERROR) |
959 | return MAILMH_NO_ERROR; | 962 | return MAILMH_NO_ERROR; |
960 | 963 | ||
961 | /* move on the different filesystems */ | 964 | /* move on the different filesystems */ |
962 | r = mailmh_folder_get_message_fd(src_folder, index, O_RDONLY, &fd); | 965 | r = mailmh_folder_get_message_fd(src_folder, index, O_RDONLY, &fd); |
963 | if (r != MAILMH_NO_ERROR) | 966 | if (r != MAILMH_NO_ERROR) |
964 | return r; | 967 | return r; |
965 | 968 | ||
966 | r = mailmh_folder_add_message_file(dest_folder, fd); | 969 | r = mailmh_folder_add_message_file(dest_folder, fd); |
967 | if (r != MAILMH_NO_ERROR) { | 970 | if (r != MAILMH_NO_ERROR) { |
968 | close(fd); | 971 | close(fd); |
969 | return r; | 972 | return r; |
970 | } | 973 | } |
971 | 974 | ||