Jump to content

Leaderboard


Popular Content

Showing content with the highest reputation on 06/01/22 in all areas

  1. Remy Lebeau

    Indy OAuth authentication over SASL

    FYI, this morning I checked in a new 'sasl-oauth' branch in Indy's repo, which includes a new 'IdSASLOAuth.pas' unit for SASL classes for OAUTH10A, OAUTHBEARER, and XOAUTH2 for TIdDICT, TIdPOP3, TIdSMTP, and TIdIMAP4. They are still a work in progress (ie, no parsing of response JSON yet), and you are responsible for obtaining the OAuth tokens externally (ie, over HTTP), but once you have the tokens then you can use these SASLs to login to the DICT/POP3/SMTP/IMAP servers.
  2. aehimself

    Problem with column names in dbgrid

    I wanted to do this for a really long time so I started to extract the core improvements of Delphi's TDBGrid into a separate component. This includes: - New public BeginUpdate / EndUpdate methods, which can disconnect the dataset and keep the previous image on the component. This is useful if you are doing opens / posts / anything in a background thread but don't want to show emptiness until - Automatic and manual fitting of columns which considers the column and the content width but won't let a column be wider than half it's size - Vertical scrollbar now works properly, not only 3 positions and is not visible when not needed - Grid properly handles mouse wheel scrolling - Content is shown as the scrollbar is dragged (not only updating when the mouse is released) - If there is no connected dataset or it is not active, the two empty cells won't be shown - Every second row has a slightly different background, out-of-focus selection is now drawn with a separate shade of grey, so you can see that the grid is not in focus. This considers VCL styles. - If TitleClick or TitleHotTrack is enabled, the cursor changes to a hand instead of the pointers It might get more updates later on when I see what code can be generally used from my heavily customized one. Feel free to grab it / check how things were done. Tried to put comments everywhere.
  3. imperyal

    Sending Email via GMail Using OAuth 2.0 via Indy

    I ended up creating a TCustomAuthenticator descendent class for this. It implements a OAuth2 Authenticator: - Allows authorization via externel browser - Uses PKCE flow for added security - Generates new tokens when they expire (using the refresh token) In the repository there's a Demo app too. Feel free to use it if you like: delphi-google-oauth2 repo
  4. sjordi

    ListView styled/platform bug?

    Bug case opened https://quality.embarcadero.com/browse/RSP-38354
  5. David Millington

    Parnassus Bookmarks for Delphi 11 Alexandria?

    Glad you find this useful! The stack bookmarks are enormously powerful simply because of toggling... they're a good example of building a feature where the key functionality is less than you envisaged. I thought a stack of bookmarks, so you can go backwards by popping one off the stack would be very useful, but 90% of the value is in a stack of one item 😄 FWIW the shortcut Shift+Esc may be useful to you: it drops a stack/caret bookmark and jumps back, in one go. So you can easily toggle between any two locations (across units, ie over editor tabs) that way. Drop a caret (Ctrl+Shift+B), go somewhere, press Shit+Escape and it'll drop a caret and go back to (picking up) the first, then Shift-Escape again and it'll drop a caret and go back to the other...
  6. David Millington

    Parnassus Bookmarks for Delphi 11 Alexandria?

    An error restarting indicates a bug in the GetIt code, since the plugins are installed via GetIt and aren't active (aren't loaded) until the restart. Not fully. They are part of the standard IDE build, but are still separate DLLs (not BPLs.) Both plugins use a powerful editor API for all their drawing which is located in CoreEditor.bpl, which I built, and which is what allows them to figure out what's onscreen, where, at what line, etc. We're planning to build an API like this into the IDE, and then move the plugins to use our inbuilt API, at which point they'll be fully integrated. Ultimately we would like that API to be public, part of the ToolsAPI. Bookmarks and Navigator obviously benefit from it, but other tools like GExperts and CnPack also draw in the editor. We have to be careful since we don't necessarily want doing this taken lightly, but making an API available is a better choice than plugins writing code to hack in the same functionality.
×