summaryrefslogtreecommitdiff
path: root/Userland/Applications/Mail
AgeCommit message (Collapse)Author
2021-11-23LibCore+LibSystem: Move syscall wrappers from LibSystem to LibCoreAndreas Kling
With this change, System::foo() becomes Core::System::foo(). Since LibCore builds on other systems than SerenityOS, we now have to make sure that wrappers work with just a standard C library underneath.
2021-11-22Everywhere: Use Application::construct() with Main::Arguments directlyMustafa Quraish
Use the updated API everywhere we are currently manually passing in `arguments.argc` and `arguments.argv`.
2021-11-22Mail: Port to LibMainPascal Puffke
2021-11-08LibGfx: Use ErrorOr<T> for Bitmap::try_load_from_file()Andreas Kling
This was used in a lot of places, so this patch makes liberal use of ErrorOr<T>::release_value_but_fixme_should_propagate_errors().
2021-10-23AK+Everywhere: Make Base64 decoding fallibleBen Wiederhake
2021-09-01LibIMAP: Stop leaking a Core::Promise<bool> in IMAP::Client::connect()Andreas Kling
2021-08-28Mail: Add unveilLuke Wilde
2021-08-28Mail: Use LibConfig instead of Core::ConfigFileLuke Wilde
This also tightens the pledges.
2021-08-22Everywhere: Rename get in ConfigFile::get_for_{lib,app,system} to opennetworkException
This patch brings the ConfigFile helpers for opening lib, app and system configs more inline with the regular ConfigFile::open functions.
2021-08-19AK: Move FormatParser definition from header to implementation fileTimothy Flynn
This is primarily to be able to remove the GenericLexer include out of Format.h as well. A subsequent commit will add AK::Result to GenericLexer, which will cause naming conflicts with other structures named Result. This can be avoided (for now) by preventing nearly every file in the system from implicitly including GenericLexer. Other changes in this commit are to add the GenericLexer include to files where it is missing.
2021-08-06Everywhere: Replace Model::update() with Model::invalidate()sin-ack
Most of the models were just calling did_update anyway, which is pointless since it can be unified to the base Model class. Instead, code calling update() will now call invalidate(), which functions identically and is more obvious in what it does. Additionally, a default implementation is provided, which removes the need to add empty implementations of update() for each model subclass. Co-Authored-By: Ali Mohammad Pur <ali.mpfard@gmail.com>
2021-08-02Mail: Use GUI::PasswordInputDialog to ask for server passwordsAndreas Kling
2021-08-02Mail: Tweak vertical spacing & margins in main UI layoutAndreas Kling
2021-08-02Mail: Use Window::add_menu instead of Menubar::add_menusin-ack
Window::add_menu is the canonical way of adding menus to a window.
2021-08-01Applications: Remove unused header includesBrian Gianforcaro
2021-07-26Mail: Prompt for password if no password was savedTom
This allows the user to create a mail configuration without having to save the password in clear text (or any other form) to disk.
2021-07-24Mail: Make checking for headers in DataItem case insensitiveLuke
For example, the servers I tested this on sent "Subject" which matched what I was checking for. However, some servers can send "SUBJECT" which didn't match and would cause an assertion failure.
2021-07-24Mail: Add an e-mail application called MailLuke
This utilises LibIMAP and LibWeb to provide an e-mail client. The only way currently to connect to a server and login is with a config file. This config file should be stored in ~/.config/Mail.ini Here is an example config file: ``` [Connection] Server=email.example.com Port=993 TLS=true [User] Username=test@example.com Password=Example!1 ``` Since this is stored in plaintext and uses a less secure login method, I'd recommend not using this on your main accounts :^) This has been tested on Gmail and Outlook. For Gmail, you either have to generate an app password if you have 2FA enabled, or enable access from less secure apps in your account settings.