From kmail-devel Wed Oct 31 22:44:32 2001 From: Ronen Tzur Date: Wed, 31 Oct 2001 22:44:32 +0000 To: kmail-devel Subject: Bug#32745: Refreshable folder-list in "move to" filter action X-MARC-Message: https://marc.info/?l=kmail-devel&m=100456862700692 MIME-Version: 1 Content-Type: multipart/mixed; boundary="--------------Boundary-00=_8UD3RI991OH7H3EA8EJ8" --------------Boundary-00=_8UD3RI991OH7H3EA8EJ8 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit Hello. This patch replaces the combo box in the "move to folder" filter action with a specialized widgets that is refreshed whenever the folder list changes. This means adding/removing/renaming/moving/whatever a folder automatically appears in the Configure Filters dialog box without having to close and re-open it. The patch adds two files to the source directory that implement the new widget (KMFolderComboBox), and also includes changes to the KMFilterActionWithFolder class to use the new widget instead of a plain QComboBox. Missing in the patch are modifications to Makefile.am to include the new kmfoldercombobox.cpp file. I have not tested it extensively, but it does seem to work. I'd appreciate any feedback. tzuk --------------Boundary-00=_8UD3RI991OH7H3EA8EJ8 Content-Type: text/x-diff; charset="iso-8859-1"; name="kmail-filter.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="kmail-filter.patch" ZGlmZiAtdSAtLW5ldy1maWxlIE9sZDMva21maWx0ZXJhY3Rpb24uY3BwIE5ldzMva21maWx0ZXJh Y3Rpb24uY3BwCi0tLSBPbGQzL2ttZmlsdGVyYWN0aW9uLmNwcAlUaHUgTm92ICAxIDAwOjM1OjMy IDIwMDEKKysrIE5ldzMva21maWx0ZXJhY3Rpb24uY3BwCVRodSBOb3YgIDEgMDA6MzU6MDIgMjAw MQpAQCAtMTcsNiArMTcsNyBAQAogI2luY2x1ZGUgImttaWRlbnRpdHkuaCIKICNpbmNsdWRlICJr ZmlsZWlvLmgiCiAjaW5jbHVkZSAia21mYXdpZGdldHMuaCIKKyNpbmNsdWRlICJrbWZvbGRlcmNv bWJvYm94LmgiCiAKICNpbmNsdWRlIDxrcmVnZXhwMy5oPgogI2luY2x1ZGUgPGtzdGRkaXJzLmg+ CkBAIC0yMDMsMzcgKzIwNCwyNSBAQAogCiBRV2lkZ2V0KiBLTUZpbHRlckFjdGlvbldpdGhGb2xk ZXI6OmNyZWF0ZVBhcmFtV2lkZ2V0KCBRV2lkZ2V0KiBwYXJlbnQgKSBjb25zdAogewotICBRU3Ry aW5nTGlzdCBuYW1lczsKLSAgUVZhbHVlTGlzdDxRR3VhcmRlZFB0cjxLTUZvbGRlcj4gPiBmb2xk ZXJzOwotICBrZXJuZWwtPmZvbGRlck1ncigpLT5jcmVhdGVJMThuRm9sZGVyTGlzdCggJm5hbWVz LCAmZm9sZGVycyApOwotCi0gIFFDb21ib0JveCAqY2IgPSBuZXcgUUNvbWJvQm94KCBGQUxTRSwg cGFyZW50ICk7Ci0gIGNiLT5pbnNlcnRTdHJpbmdMaXN0KCBuYW1lcyApOworICBLTUZvbGRlckNv bWJvQm94ICpjYiA9IG5ldyBLTUZvbGRlckNvbWJvQm94KCBGQUxTRSwgcGFyZW50ICk7CiAgIHNl dFBhcmFtV2lkZ2V0VmFsdWUoIGNiICk7CisgIFFPYmplY3Q6OmNvbm5lY3QoIGtlcm5lbC0+Zm9s ZGVyTWdyKCksIFNJR05BTChjaGFuZ2VkKCkpLCBjYiwgU0xPVChyZWZyZXNoRm9sZGVycygpKSAp OwogICByZXR1cm4gY2I7CiB9CiAKIHZvaWQgS01GaWx0ZXJBY3Rpb25XaXRoRm9sZGVyOjphcHBs eVBhcmFtV2lkZ2V0VmFsdWUoIFFXaWRnZXQqIHBhcmFtV2lkZ2V0ICkKIHsKLSAgUVN0cmluZ0xp c3QgbmFtZXM7Ci0gIFFWYWx1ZUxpc3Q8UUd1YXJkZWRQdHI8S01Gb2xkZXI+ID4gZm9sZGVyczsK LSAga2VybmVsLT5mb2xkZXJNZ3IoKS0+Y3JlYXRlRm9sZGVyTGlzdCggJm5hbWVzLCAmZm9sZGVy cyApOwotICAvLyBsZXQncyBob3BlIHRoYXQgUVZhbHVlTGlzdEl0ZXJhdG9yOjpvcGVyYXRvcioo UVZhbHVlTGlzdDo6ZW5kKCkpID09IE5VTEwuCi0gIG1Gb2xkZXIgPSAqZm9sZGVycy5hdCggKChR Q29tYm9Cb3gqKXBhcmFtV2lkZ2V0KS0+Y3VycmVudEl0ZW0oKSApOworICBtRm9sZGVyID0gKChL TUZvbGRlckNvbWJvQm94ICopcGFyYW1XaWRnZXQpLT5nZXRGb2xkZXIoKTsKIH0KIAogdm9pZCBL TUZpbHRlckFjdGlvbldpdGhGb2xkZXI6OnNldFBhcmFtV2lkZ2V0VmFsdWUoIFFXaWRnZXQqIHBh cmFtV2lkZ2V0ICkgY29uc3QKIHsKLSAgUVN0cmluZ0xpc3QgbmFtZXM7Ci0gIFFWYWx1ZUxpc3Q8 UUd1YXJkZWRQdHI8S01Gb2xkZXI+ID4gZm9sZGVyczsKLSAga2VybmVsLT5mb2xkZXJNZ3IoKS0+ Y3JlYXRlRm9sZGVyTGlzdCggJm5hbWVzLCAmZm9sZGVycyApOwotICBpbnQgaWR4ID0gZm9sZGVy cy5maW5kSW5kZXgoIG1Gb2xkZXIgKTsKLSAgKChRQ29tYm9Cb3gqKXBhcmFtV2lkZ2V0KS0+c2V0 Q3VycmVudEl0ZW0oIGlkeCA+PSAwID8gaWR4IDogMCApOworICAoKEtNRm9sZGVyQ29tYm9Cb3gg KilwYXJhbVdpZGdldCktPnNldEZvbGRlciggbUZvbGRlciApOwogfQogCiB2b2lkIEtNRmlsdGVy QWN0aW9uV2l0aEZvbGRlcjo6Y2xlYXJQYXJhbVdpZGdldCggUVdpZGdldCogcGFyYW1XaWRnZXQg KSBjb25zdAogewotICAoKFFDb21ib0JveCopcGFyYW1XaWRnZXQpLT5zZXRDdXJyZW50SXRlbSgg MCApOworICAoKEtNRm9sZGVyQ29tYm9Cb3ggKilwYXJhbVdpZGdldCktPnNldEZvbGRlciggMCAp OwogfQogCiB2b2lkIEtNRmlsdGVyQWN0aW9uV2l0aEZvbGRlcjo6YXJnc0Zyb21TdHJpbmcoIGNv bnN0IFFTdHJpbmcgYXJnc1N0ciApCmRpZmYgLXUgLS1uZXctZmlsZSBPbGQzL2ttZm9sZGVyY29t Ym9ib3guY3BwIE5ldzMva21mb2xkZXJjb21ib2JveC5jcHAKLS0tIE9sZDMva21mb2xkZXJjb21i b2JveC5jcHAJVGh1IEphbiAgMSAwMjowMDowMCAxOTcwCisrKyBOZXczL2ttZm9sZGVyY29tYm9i b3guY3BwCVRodSBOb3YgIDEgMDA6MzU6MTQgMjAwMQpAQCAtMCwwICsxLDY1IEBACisvKiBrbWFp bCBmb2xkZXItbGlzdCBjb21iby1ib3ggKi8KKworI2luY2x1ZGUgPHFjb21ib2JveC5oPgorI2lu Y2x1ZGUgPHFzdHJpbmdsaXN0Lmg+CisjaW5jbHVkZSA8cWd1YXJkZWRwdHIuaD4KKworI2luY2x1 ZGUgImttZm9sZGVyY29tYm9ib3guaCIKKyNpbmNsdWRlICJrbWtlcm5lbC5oIgorI2luY2x1ZGUg ImttZm9sZGVybWdyLmgiCisKKy8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworS01Gb2xkZXJDb21i b0JveDo6S01Gb2xkZXJDb21ib0JveCggUVdpZGdldCAqcGFyZW50ID0gMCwgY2hhciAqbmFtZSA9 IDAgKQorICA6IFFDb21ib0JveCggcGFyZW50LCBuYW1lICkKK3sKKyAgcmVmcmVzaEZvbGRlcnMo KTsKK30KKworS01Gb2xkZXJDb21ib0JveDo6S01Gb2xkZXJDb21ib0JveCggYm9vbCBydywgUVdp ZGdldCAqcGFyZW50ID0gMCwgY2hhciAqbmFtZSA9IDAgKQorICA6IFFDb21ib0JveCggcncsIHBh cmVudCwgbmFtZSApCit7CisgIHJlZnJlc2hGb2xkZXJzKCk7Cit9CisKKy8vLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KKwordm9pZCBLTUZvbGRlckNvbWJvQm94OjpyZWZyZXNoRm9sZGVycygpCit7Cisg IFFTdHJpbmdMaXN0IG5hbWVzOworICBRVmFsdWVMaXN0PFFHdWFyZGVkUHRyPEtNRm9sZGVyPiA+ IGZvbGRlcnM7CisgIGtlcm5lbC0+Zm9sZGVyTWdyKCktPmNyZWF0ZUkxOG5Gb2xkZXJMaXN0KCAm bmFtZXMsICZmb2xkZXJzICk7CisgIAorICB0aGlzLT5jbGVhcigpOworICBpbnNlcnRTdHJpbmdM aXN0KCBuYW1lcyApOworfQorCisvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK3ZvaWQgS01Gb2xk ZXJDb21ib0JveDo6c2V0Rm9sZGVyKCBLTUZvbGRlciAqYUZvbGRlciApCit7CisgIGludCBpZHgg PSAwOworICBpZiAoYUZvbGRlcikgeworICAgIFFTdHJpbmdMaXN0IG5hbWVzOworICAgIFFWYWx1 ZUxpc3Q8UUd1YXJkZWRQdHI8S01Gb2xkZXI+ID4gZm9sZGVyczsKKyAgICBrZXJuZWwtPmZvbGRl ck1ncigpLT5jcmVhdGVGb2xkZXJMaXN0KCAmbmFtZXMsICZmb2xkZXJzICk7CisgICAgaWR4ID0g Zm9sZGVycy5maW5kSW5kZXgoIGFGb2xkZXIgKTsKKyAgfQorICBzZXRDdXJyZW50SXRlbSggaWR4 ID49IDAgPyBpZHggOiAwICk7Cit9CisKKy8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworS01Gb2xk ZXIgKktNRm9sZGVyQ29tYm9Cb3g6OmdldEZvbGRlcigpCit7CisgIFFTdHJpbmdMaXN0IG5hbWVz OworICBRVmFsdWVMaXN0PFFHdWFyZGVkUHRyPEtNRm9sZGVyPiA+IGZvbGRlcnM7CisgIGtlcm5l bC0+Zm9sZGVyTWdyKCktPmNyZWF0ZUZvbGRlckxpc3QoICZuYW1lcywgJmZvbGRlcnMgKTsKKyAg Ly8gbGV0J3MgaG9wZSB0aGF0IFFWYWx1ZUxpc3RJdGVyYXRvcjo6b3BlcmF0b3IqKFFWYWx1ZUxp c3Q6OmVuZCgpKSA9PSBOVUxMLgorICBLTUZvbGRlciAqZm9sZGVyID0gKmZvbGRlcnMuYXQoIGN1 cnJlbnRJdGVtKCkgKTsKKyAgcmV0dXJuIGZvbGRlcjsKK30KKworLy8tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQorCisjaW5jbHVkZSAia21mb2xkZXJjb21ib2JveC5tb2MiCmRpZmYgLXUgLS1uZXctZmls ZSBPbGQzL2ttZm9sZGVyY29tYm9ib3guaCBOZXczL2ttZm9sZGVyY29tYm9ib3guaAotLS0gT2xk My9rbWZvbGRlcmNvbWJvYm94LmgJVGh1IEphbiAgMSAwMjowMDowMCAxOTcwCisrKyBOZXczL2tt Zm9sZGVyY29tYm9ib3guaAlUaHUgTm92ICAxIDAwOjM1OjE2IDIwMDEKQEAgLTAsMCArMSwyNiBA QAorLyoga21haWwgZm9sZGVyLWxpc3QgY29tYm8tYm94ICovCisKKyNpZm5kZWYgX19LTUZPTERF UkNPTUJPQk9YCisjZGVmaW5lIF9fS01GT0xERVJDT01CT0JPWAorCisjaW5jbHVkZSA8cWNvbWJv Ym94Lmg+CisKKyNpbmNsdWRlICJrbWZvbGRlci5oIgorCitjbGFzcyBLTUZvbGRlckNvbWJvQm94 IDogcHVibGljIFFDb21ib0JveAoreworICBRX09CSkVDVAorICAKK3B1YmxpYzoKKyAgS01Gb2xk ZXJDb21ib0JveCggUVdpZGdldCAqcGFyZW50ID0gMCwgY2hhciAqbmFtZSA9IDAgKTsKKyAgS01G b2xkZXJDb21ib0JveCggYm9vbCBydywgUVdpZGdldCAqcGFyZW50ID0gMCwgY2hhciAqbmFtZSA9 IDAgKTsKKyAgCisgIHZvaWQgc2V0Rm9sZGVyKCBLTUZvbGRlciAqYUZvbGRlciApOworICBLTUZv bGRlciAqZ2V0Rm9sZGVyKCk7CisKK3B1YmxpYyBzbG90czoKKyAgLyoqIFJlZnJlc2ggbGlzdCBv ZiBmb2xkZXJzIGluIHRoZSBjb21ib2JveC4gKi8KKyAgdm9pZCByZWZyZXNoRm9sZGVycygpOwor fTsKKworI2VuZGlmIC8qIF9fS01GT0xERVJDT01CT0JPWCAqLwo= --------------Boundary-00=_8UD3RI991OH7H3EA8EJ8-- _______________________________________________ kmail Developers mailing list kmail@mail.kde.org http://mail.kde.org/mailman/listinfo/kmail