Quantcast
Channel: Delphi – The Wiert Corner – irregular stream of stuff
Viewing all articles
Browse latest Browse all 1445

RAD Studio 10.2.2 Annoying New Features. Help? – Forum – Embarcadero Community

$
0
0

Does anybody know a shorter, more permanent solution for [WayBackRAD Studio 10.2.2 Annoying New Features. Help? – Forum – Embarcadero Community.

Especially the first one is very important to me.

Ever since Delphi introduced IDE layouts, it would remember the last one selected. With Delphi 10.2.2 Tokyo not so any more: it ALWAYS starts with an imposed “Startup Layout”. If you delete it, it re-appears.

I have a carefully named set of layouts that depends on the monitors I am using.

The workaround – every time I switch monitors, at least a few times a day, especially when moving between places, for instance for meetings – is this:

  1. Start Delphi 10.2.2 Tokyo
  2. Select the layout for that monitor
  3. Save it as “Startup layout”

Then each time I tweak a layout, I have to remember to save it both as “Startup layout” and as the actual named layout.

The really dumb thing is that RSP-20138 Can not define default Startup layout is classified as

“Jira-Quality Sync Service added a comment – 29/May/18 2:50 AM
Issue is reclassified as ‘New Feature'”

Via [WayBack1, WayBack2] So Embarcadero broke the “Default layout” (now always enforces a new “Standard Layout”) upon IDE startup in 10.2 Tokyo, and commented on the bug report … – Jeroen Wiert Pluimers – Google+ which has quite a few nice comments and links, including:

–jeroen

PS: on [WayBackDoes anybody know a shorter, more permanent solution for [WayBack] RAD Studio 10.2.2 Annoying New Features. Help? – Forum – Embarcadero Community. Espec… – Jeroen Wiert Pluimers – Google+, Thomas Mueller discusses a potential fix in GExperts:

he last one you selected is stored in HKCU\Software\Embarcadero\BDS\19.0\Session\DesktopName (Just looked it up).
So you could use some batch magic to read that and then overwrite the “Startyp Layout” with that one.

Another option would be to add the code to GExperts. It is started early enough to read the correct value from the registry and since it already has a delayed initialization in TGExperts.DoAfterIDEInitialized it can then change the desktop back to what is should be:

type
  TComboBoxHack = class(TComboBox)
  end;

procedure TGExperts.ForceDesktop;
var
  AppBuilder: TForm;
  cbDesktop: TComboBoxHack;
begin
  AppBuilder := TForm(Application.FindComponent('AppBuilder'));
  if not Assigned(AppBuilder) then
    Exit;
  cbDesktop := TComboBoxHack(AppBuilder.FindComponent('cbDesktop'));
  if not Assigned(cbDesktop) then
    Exit;
  cbDesktop.Text := FLastDesktopName; //<-- this was read from the registry
  cbDesktop.Click;
end;

Works fine in my test. But this does not overwrite the .dst file but instead selects the “correct” desktop. This has the advantage of not overwriting the file but the disadvantage that closing a project will switch back to the Startup Layout.

 


Viewing all articles
Browse latest Browse all 1445

Trending Articles