diff --git a/extensions/webmail/main.py b/extensions/webmail/main.py index 6dc90f303..75a341863 100644 --- a/extensions/webmail/main.py +++ b/extensions/webmail/main.py @@ -51,6 +51,9 @@ def init(): label=_("Default message display mode"), values=[("html", "html"), ("plain", "text")], help=_("The default mode used when displaying a message")) + parameters.register_user("MESSAGES_PER_PAGE", type="int", deflt=40, + label=_("Number of displayed emails per page"), + help=_("Sets the maximum number of messages displayed in a page")) def destroy(): events.unregister("UserMenuDisplay", menu) diff --git a/extensions/webmail/views.py b/extensions/webmail/views.py index 92378d5be..60eb9fece 100644 --- a/extensions/webmail/views.py +++ b/extensions/webmail/views.py @@ -54,8 +54,10 @@ def folder(request, name, updatenav=True): optparams["criteria"] = request.session["criteria"] else: optparams["reset"] = True + optparams["elems_per_page"] = int(parameters.get_user(request.user, "MESSAGES_PER_PAGE")) lst = ImapListing(request.user, request.session["password"], - baseurl=name, folder=name, order=order, **optparams) + baseurl=name, folder=name, order=order, + **optparams) page = lst.paginator.getpage(request.session["page"]) dico = {"folders" : __render_folders(lst.mbc, request),