Moin,
es ist ja möglich für verschiedene Arbeiten sich verschiedene Desktops zu erstellen und diese dann zu speichern.
Die Grundidee ist ja toll, aber die Umsetzung klappt leider nicht so.
Folgende Situation:
Desktop 1 (Code): Menübar von Lazarus ganz Oben volle Breite. Quelltexteditor volle Breite, Höhe was den restlichen Bildschirm. Unten das Nachrichtenfester.
Desktop 2 (Design): Menübar von Lazarus ganz Oben, Links in voller Bildschirmhöhe der Objektinspektor , Mitte das Formular, rechts Komponentenfenster.
Schaltet man jetzt zwischen den Desktops her, muß man zusätzlich noch mittels F12 zwischen Formular und Quelltext umschalten, obwohl man in den Desktops doch festgelegt hat, das mal das eine und mal das andere Fenster nur vorhanden sein soll.
Da müsste man noch etwas nacharbeiten. Nur wie gibt man sowas an das Entwicklerteam weiter? Besonders wenn man im englischen nicht so bewandert ist?
Bei der Gelegenheit, könnte man auch gleich die Möglichkeit schaffen, das man für Quelltext und Formular , Desktops definieren kann, die dann aktiv werden.
Gruß Heiko
[gelöst] 1.9: Desktops speichern und umschalten
- kralle
- Lazarusforum e. V.
- Beiträge: 1214
- Registriert: Mi 17. Mär 2010, 14:50
- OS, Lazarus, FPC: Manjaro Linux, Mint und Windows 10 ,Lazarus 4.99, FPC-Version: 3.3.1
- CPU-Target: 64Bit
- Wohnort: Bremerhaven
- Kontaktdaten:
[gelöst] 1.9: Desktops speichern und umschalten
OS: MX Linux, Linux Mint und Windows 10
FPC-Version: 3.3.1 , Lazarus 3.99
+ Delphi XE7SP1
FPC-Version: 3.3.1 , Lazarus 3.99
+ Delphi XE7SP1
Re: 1.9: Desktops speichern und umschalten
Generell ist der Bugtracker https://bugs.freepascal.org/view_all_bug_page.php der Anlaufpunkt.kralle hat geschrieben:Da müsste man noch etwas nacharbeiten. Nur wie gibt man sowas an das Entwicklerteam weiter?
Pro Bugeintrag sollte immer nur ein Fehler gemeldet werden. Ein gut nachstellbarer Fehler mit Schritt-für-Schritt-Anleitung wird oft sehr schnell gefixt.
Soweit man kann, sollte man Englisch verwenden (notfalls mit Hilfe eines Online-Translators). Wenn man sich nicht sicher ist, ob das Problem in Englisch klar genug herausgestellt wurde, kann man in der Beschreibung neben der englischen Variante einen deutschen Text schreiben. Einige Entwickler verstehen Deutsch.kralle hat geschrieben:Besonders wenn man im englischen nicht so bewandert ist?
Hier gilt das Gleiche, wie bei einem Fehler. Ein "Feature Request" kann ebenfalls im Bugtracker gemeldet werden. Je genauer dieses Feauture beschrieben, dessen Mehrwert herausgestellt wird, desto wahrscheinlicher ist es, daß sich ein Entwickler hinsetzt und versucht dies umzusetzen.kralle hat geschrieben:Bei der Gelegenheit, könnte man auch gleich die Möglichkeit schaffen, das man für Quelltext und Formular , Desktops definieren kann, die dann aktiv werden.
Patches sind eine weitere Möglichkeit, die man im Bugtracker einreichen kann. Gleicher Grundsatz, wie zuvor: Man sollte ganz genau beschreiben, warum dieser Patch benötigt wird, welchen Mehrwert er bringt, daß er gut getestet wurde und keinen anderen Code bricht.
Neben dem Bugtracker lesen alle aktiven Entwickler die Lazarus-Mailing-List https://lists.lazarus-ide.org/listinfo/lazarus. Allerdings ist diese für Bugs eher nicht geeignet (werden diese nicht sofort gefixt, werden sie auf lange Sicht vergessen). Für Feature Requests, besonders wenn man plant selber ein Feature einzuarbeiten (ob dieses dann auch von den Entwicklern eingepflegt wird - nicht daß man sich umsonst müht oder schon jemand daran arbeitet), ist die Mailing-List gut.
Code: Alles auswählen
type
TLiveSelection = (lsMoney, lsChilds, lsTime);
TLive = Array[0..1] of TLiveSelection;
- kralle
- Lazarusforum e. V.
- Beiträge: 1214
- Registriert: Mi 17. Mär 2010, 14:50
- OS, Lazarus, FPC: Manjaro Linux, Mint und Windows 10 ,Lazarus 4.99, FPC-Version: 3.3.1
- CPU-Target: 64Bit
- Wohnort: Bremerhaven
- Kontaktdaten:
Re: 1.9: Desktops speichern und umschalten
Ich habe das heute als "Feature Request" (ID 0032242) gemeldet.
Aber, ich soll das selber entwickeln und einen Patch zur Verfügung stellen.
a) keine Ahnung wie ich das programmieren soll
b) ein Patch würde ja nur für eie Version gelten.
Gruß Heiko
Aber, ich soll das selber entwickeln und einen Patch zur Verfügung stellen.
a) keine Ahnung wie ich das programmieren soll
b) ein Patch würde ja nur für eie Version gelten.
Gruß Heiko
OS: MX Linux, Linux Mint und Windows 10
FPC-Version: 3.3.1 , Lazarus 3.99
+ Delphi XE7SP1
FPC-Version: 3.3.1 , Lazarus 3.99
+ Delphi XE7SP1
- kralle
- Lazarusforum e. V.
- Beiträge: 1214
- Registriert: Mi 17. Mär 2010, 14:50
- OS, Lazarus, FPC: Manjaro Linux, Mint und Windows 10 ,Lazarus 4.99, FPC-Version: 3.3.1
- CPU-Target: 64Bit
- Wohnort: Bremerhaven
- Kontaktdaten:
Re: 1.9: Desktops speichern und umschalten
Moin.
Die Lösung ist gefunden.
Besser gesagt, pluto hat das quasi nebenbei beim 4. Norddeutschen Lazarustreffen viewtopic.php?f=66&t=16799, programmiert.
Laz-Version: 3.4 und 4.99
Die Lösung wird in die "main.pp" eingebunden.
Mein "main.pp" liegt z.B. hier: "/home/lazman/Downloads/fpcupdeluxe/fpcupdeluxe/lazarus/ide/"
Damit man die Funktion aber auch sieht, sollte man unter "Fenster / Desktops ...", mindestens zwei Desktops anlegen.
Umgeschaltet wird nur zwischen den beiden obersten Desktops.
Der oberste Desktop ist für den "Code-Editor" und darunter für den "Form-Designer".
Jetzt in der "main.pp" zu Zeile 3196 gehen und zwischen "procedure" und "TempDesktopOpt:=EnvironmentGuiOpts.Desktops.Find(DesktopName); "
diesen Code einfügen:
Die ganze Procedure sieht dann so aus:
Jetzt noch unter "Werkzeuge / Kompiliere Lazarus mit Profil: Normale IDE" ausführen und dann sollte auch bei das Umschalten funktionieren.
Zum Abschalten, im "Desktop-Manager" zweimal den gleichen Desktop nach oben schieben
Sollte es nach dem Kompilieren nicht funktionieren, hat Lazarus vielleicht eine alte "main.ppu" genutzt.
Dann in dem entsprechenden Verzeichnis bei Euch (bei mir ist es "/home/lazman/Downloads/fpcupdeluxe/fpcupdeluxe/lazarus/units/x86_64-linux/gtk2/")
die "main.ppu" und die "main.o" löschen, werden dann beim Kompilieren neu erstellt.
Man könnte das jetzt natürlich noch erweitern in dem man z.B. in den Optionen einen Punkt zum Aktivieren/Deaktivieren schafft und dort die Auswahl für die Desktops möglich macht.
Aber, ich wäre schon froh, wenn diese Variante dauerhaft Bestandteil der "main.pp" werden würde.
Gruß Kralle
Die Lösung ist gefunden.
Besser gesagt, pluto hat das quasi nebenbei beim 4. Norddeutschen Lazarustreffen viewtopic.php?f=66&t=16799, programmiert.
Laz-Version: 3.4 und 4.99
Die Lösung wird in die "main.pp" eingebunden.
Mein "main.pp" liegt z.B. hier: "/home/lazman/Downloads/fpcupdeluxe/fpcupdeluxe/lazarus/ide/"
Damit man die Funktion aber auch sieht, sollte man unter "Fenster / Desktops ...", mindestens zwei Desktops anlegen.
Umgeschaltet wird nur zwischen den beiden obersten Desktops.
Der oberste Desktop ist für den "Code-Editor" und darunter für den "Form-Designer".
Jetzt in der "main.pp" zu Zeile 3196 gehen und zwischen "procedure" und "TempDesktopOpt:=EnvironmentGuiOpts.Desktops.Find(DesktopName); "
diesen Code einfügen:
Code: Alles auswählen
// New Code
var
DesktopName:String;
TempDesktopOpt:TCustomDesktopOpt;
begin
DesktopName:=EnvironmentGuiOpts.ActiveDesktop.Name;
if DesktopName = EnvironmentGuiOpts.Desktops[0].Name then
begin
DesktopName:=EnvironmentGuiOpts.Desktops[1].Name;
end
else
begin
DesktopName:=EnvironmentGuiOpts.Desktops[0].Name;
end;
// Original Code
Code: Alles auswählen
procedure TMainIDE.mnuToggleFormUnitClicked(Sender: TObject);
// New Code
var
DesktopName:String;
TempDesktopOpt:TCustomDesktopOpt;
begin
DesktopName:=EnvironmentGuiOpts.ActiveDesktop.Name;
if DesktopName = EnvironmentGuiOpts.Desktops[0].Name then
begin
DesktopName:=EnvironmentGuiOpts.Desktops[1].Name;
end
else
begin
DesktopName:=EnvironmentGuiOpts.Desktops[0].Name;
end;
// Original Code
TempDesktopOpt:=EnvironmentGuiOpts.Desktops.Find(DesktopName);
if TempDesktopOpt is TDesktopOpt then
EnvironmentGuiOpts.UseDesktop( TempDesktopOpt as TDesktopOpt);
if IDETabMaster <> nil then
IDETabMaster.ToggleFormUnit
else
DoBringToFrontFormOrUnit;
end;
Zum Abschalten, im "Desktop-Manager" zweimal den gleichen Desktop nach oben schieben

Sollte es nach dem Kompilieren nicht funktionieren, hat Lazarus vielleicht eine alte "main.ppu" genutzt.
Dann in dem entsprechenden Verzeichnis bei Euch (bei mir ist es "/home/lazman/Downloads/fpcupdeluxe/fpcupdeluxe/lazarus/units/x86_64-linux/gtk2/")
die "main.ppu" und die "main.o" löschen, werden dann beim Kompilieren neu erstellt.
Man könnte das jetzt natürlich noch erweitern in dem man z.B. in den Optionen einen Punkt zum Aktivieren/Deaktivieren schafft und dort die Auswahl für die Desktops möglich macht.
Aber, ich wäre schon froh, wenn diese Variante dauerhaft Bestandteil der "main.pp" werden würde.
Gruß Kralle
OS: MX Linux, Linux Mint und Windows 10
FPC-Version: 3.3.1 , Lazarus 3.99
+ Delphi XE7SP1
FPC-Version: 3.3.1 , Lazarus 3.99
+ Delphi XE7SP1