This is a multi-part message in MIME format. --------------090601030107060909040202 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Hi, everyone! As a first contribution to KDE, I decided to nail down a bug that has been bothering me the most. Now, for details. The original code seems to ignore entirely the workdays settings in the configuration and instead implements a logic, assuming Monday is first workday and workweek is always 5 days. Both aren't always true, of course. My patch solves these problems. The workday settings are read from the configuration and the code works correctly with any day as week start day in Regional Settings and any given selection of workdays in Korganizer's configuration. There is one minor issue, which I've yet to figure out. The "Work Week View" always insists on displaying consequent workdays, even when it contradicts user selection. For example, I select Monday, Tuesday, Thursday and Friday as workdays. The "Work Week View" will display Monday through Friday(including Wednesday) as work days. I know, my code doesn't cause these since I set mSelectedDays specifically to workdays selected in configuration. This is a minor issue though, and I'm hoping my patch will make it into the tree and the next stable release, because it almost completely solves a very annoying issue which makes korganizer unusable in some situations. I've attached the diff against the 3.5 branch tree. I tried to keep up with the coding style as much as possible. Please, post your feedback and ideas about the above mentioned issue. This is my first submission, so any newbie tips will be appreciated. Regards, Dmitry Kagan --------------090601030107060909040202 Content-Type: text/plain; name="korganizer.diff" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="korganizer.diff" SW5kZXg6IGtvcmdhbml6ZXIva29nbG9iYWxzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBrb3Jn YW5pemVyL2tvZ2xvYmFscy5jcHAJKHJldmlzaW9uIDYzNTcyMykKKysrIGtvcmdhbml6ZXIv a29nbG9iYWxzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTcyLDYgKzE3MiwxMSBAQAogICBy ZXR1cm4gIW5vbldvcmtEYXk7CiB9CiAKK2ludCBLT0dsb2JhbHM6OmdldFdvcmtXZWVrTWFz aygpCit7CisgIHJldHVybiBLT1ByZWZzOjppbnN0YW5jZSgpLT5tV29ya1dlZWtNYXNrOwor fQorCiB2b2lkIEtPR2xvYmFsczo6c2V0SG9saWRheXMoIEtIb2xpZGF5cyAqaCApCiB7CiAg IGRlbGV0ZSBtSG9saWRheXM7CkluZGV4OiBrb3JnYW5pemVyL2RhdGVuYXZpZ2F0b3IuY3Bw Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KLS0tIGtvcmdhbml6ZXIvZGF0ZW5hdmlnYXRvci5jcHAJKHJldmlz aW9uIDYzNTcyMykKKysrIGtvcmdhbml6ZXIvZGF0ZW5hdmlnYXRvci5jcHAJKHdvcmtpbmcg Y29weSkKQEAgLTEwMSw4ICsxMDEsNyBAQAogewogICBpbnQgZGF0ZUNvdW50ID0gbVNlbGVj dGVkRGF0ZXMuY291bnQoKTsKICAgYm9vbCB3ZWVrU3RhcnQgPSAoIHdlZWtEYXkgPT0gS0ds b2JhbDo6bG9jYWxlKCktPndlZWtTdGFydERheSgpICk7Ci0gIGlmICggd2Vla0RheSA9PSAx ICYmIGRhdGVDb3VudCA9PSA1ICkgc2VsZWN0V29ya1dlZWsoIGQgKTsKLSAgZWxzZSBpZiAo IHdlZWtTdGFydCAmJiBkYXRlQ291bnQgPT0gNyApIHNlbGVjdFdlZWsoIGQgKTsKKyAgaWYg KCB3ZWVrU3RhcnQgJiYgZGF0ZUNvdW50ID09IDcgKSBzZWxlY3RXZWVrKCBkICk7CiAgIGVs c2Ugc2VsZWN0RGF0ZXMoIGQsIGRhdGVDb3VudCApOwogfQogCkBAIC0xMzMsMTYgKzEzMiwy NiBAQAogCiB2b2lkIERhdGVOYXZpZ2F0b3I6OnNlbGVjdFdvcmtXZWVrKCBjb25zdCBRRGF0 ZSAmZCApCiB7CisgIGludCB3ZWVrU3RhcnQgPSBLR2xvYmFsOjpsb2NhbGUoKS0+d2Vla1N0 YXJ0RGF5KCk7CisgCiAgIGludCBkYXlPZldlZWsgPSBLT0dsb2JhbHM6OnNlbGYoKS0+Y2Fs ZW5kYXJTeXN0ZW0oKS0+ZGF5T2ZXZWVrKCBkICk7CiAKLSAgUURhdGUgZmlyc3REYXRlID0g ZC5hZGREYXlzKCAxIC0gZGF5T2ZXZWVrICk7CisgIFFEYXRlIGN1cnJlbnREYXRlID0gZC5h ZGREYXlzKCB3ZWVrU3RhcnQgLSBkYXlPZldlZWsgKTsKIAotICBpbnQgd2Vla1N0YXJ0ID0g S0dsb2JhbDo6bG9jYWxlKCktPndlZWtTdGFydERheSgpOwotICBpZiAoIHdlZWtTdGFydCAh PSAxICYmIGRheU9mV2VlayA+PSB3ZWVrU3RhcnQgKSB7Ci0gICAgZmlyc3REYXRlID0gZmly c3REYXRlLmFkZERheXMoIDcgKTsKKyAgaWYgKCB3ZWVrU3RhcnQgIT0gMSAmJiBkYXlPZldl ZWsgPCB3ZWVrU3RhcnQgKSB7CisgICAgY3VycmVudERhdGUgPSBjdXJyZW50RGF0ZS5hZGRE YXlzKCAtNyApOwogICB9CiAKLSAgc2VsZWN0RGF0ZXMoIGZpcnN0RGF0ZSwgNSApOworICBt U2VsZWN0ZWREYXRlcy5jbGVhcigpOworICBpbnQgbWFzayA9IEtPR2xvYmFsczo6c2VsZigp LT5nZXRXb3JrV2Vla01hc2soKTsKKworICBmb3IgKCBpbnQgaSA9IDA7IGkgPCA3OyArK2kg KSB7CisgICAgaWYoICgxPDwgKChpICsgd2Vla1N0YXJ0ICsgNikgJSA3KSkgJiAobWFzaykg KSB7CisJbVNlbGVjdGVkRGF0ZXMuYXBwZW5kKGN1cnJlbnREYXRlLmFkZERheXMoaSkpOwor ICAgIH0KKyAgfQorICAKKyAgZW1pdFNlbGVjdGVkKCk7CiB9CiAKIHZvaWQgRGF0ZU5hdmln YXRvcjo6c2VsZWN0VG9kYXkoKQpAQCAtMTUxLDggKzE2MCw3IEBACiAKICAgaW50IGRhdGVD b3VudCA9IG1TZWxlY3RlZERhdGVzLmNvdW50KCk7CiAKLSAgaWYgKCBkYXRlQ291bnQgPT0g NSApIHNlbGVjdFdvcmtXZWVrKCBkICk7Ci0gIGVsc2UgaWYgKCBkYXRlQ291bnQgPT0gNyAp IHNlbGVjdFdlZWsoIGQgKTsKKyAgaWYgKCBkYXRlQ291bnQgPT0gNyApIHNlbGVjdFdlZWso IGQgKTsKICAgZWxzZSBzZWxlY3REYXRlcyggZCwgZGF0ZUNvdW50ICk7CiB9CiAKSW5kZXg6 IGtvcmdhbml6ZXIva29nbG9iYWxzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0ga29yZ2FuaXplci9r b2dsb2JhbHMuaAkocmV2aXNpb24gNjM1NzIzKQorKysga29yZ2FuaXplci9rb2dsb2JhbHMu aAkod29ya2luZyBjb3B5KQpAQCAtNjEsNyArNjEsNyBAQAogCiAgICAgUVN0cmluZ0xpc3Qg aG9saWRheSggY29uc3QgUURhdGUgJiApOwogICAgIGJvb2wgaXNXb3JrRGF5KCBjb25zdCBR RGF0ZSAmICk7Ci0KKyAgICBpbnQgZ2V0V29ya1dlZWtNYXNrKCk7CiAgICAgLyoqCiAgICAg ICAgU2V0IHdoaWNoIGhvbGlkYXlzIHRoZSB1c2VyIHdhbnRzIHRvIHVzZS4KICAgICAgICBA cGFyYW0gaCBhIEtIb2xpZGF5cyBvYmplY3QgaW5pdGlhbGl6ZWQgd2l0aCB0aGUgZGVzaXJl ZCBsb2NhbGUuCkluZGV4OiBrb3JnYW5pemVyL2NhbGVuZGFydmlldy5jcHAKPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0ga29yZ2FuaXplci9jYWxlbmRhcnZpZXcuY3BwCShyZXZpc2lvbiA2MzU3MjMp CisrKyBrb3JnYW5pemVyL2NhbGVuZGFydmlldy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ5 NCw5ICs0OTQsOCBAQAogCiAgIGNvbmZpZy0+c2V0R3JvdXAoICJWaWV3cyIgKTsKICAgaW50 IGRhdGVDb3VudCA9IGNvbmZpZy0+cmVhZE51bUVudHJ5KCAiU2hvd25EYXRlc0NvdW50Iiwg NyApOwotICBpZiAoIGRhdGVDb3VudCA9PSA1ICkgbU5hdmlnYXRvci0+c2VsZWN0V29ya1dl ZWsoKTsKLSAgZWxzZSBpZiAoIGRhdGVDb3VudCA9PSA3ICkgbU5hdmlnYXRvci0+c2VsZWN0 V2VlaygpOwotICBlbHNlIG1OYXZpZ2F0b3ItPnNlbGVjdERhdGVzKCBkYXRlQ291bnQgKTsK KyAgaWYgKCBkYXRlQ291bnQgPT0gNyApIG1OYXZpZ2F0b3ItPnNlbGVjdFdlZWsoKTsKKyAg ZWxzZSBtTmF2aWdhdG9yLT5zZWxlY3REYXRlcyggbU5hdmlnYXRvci0+c2VsZWN0ZWREYXRl cygpLmZpcnN0KCksIGRhdGVDb3VudCApOwogfQogCiAK --------------090601030107060909040202 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ kde-pim mailing list kde-pim@kde.org https://mail.kde.org/mailman/listinfo/kde-pim kde-pim home page at http://pim.kde.org/ --------------090601030107060909040202--