High-DPI-Icons für die IDE

Für Dinge rund um die Unterstützung des offizielen Lazarusprojekts, wie Übersetzungsabsprachen und anderem.
Antworten
wp_xyz
Beiträge: 4864
Registriert: Fr 8. Apr 2011, 09:01

Re: High-DPI-Icons für die IDE

Beitrag von wp_xyz »

Super. Danke.

Benutzeravatar
Ally
Beiträge: 262
Registriert: Do 11. Jun 2009, 09:25
OS, Lazarus, FPC: Win und Lazarus Stable release
CPU-Target: x64

Re: High-DPI-Icons für die IDE

Beitrag von Ally »

Hallo wp_xyz,

hier die nächsten Icons für den Ordner Lazarus\images\components und die komplette, aktualisierte components_images_list.txt.
Werden die Icons unregisteredcomponent.png und default.png noch benötigt? und wenn ja wo?


Gruß Roland
Dateianhänge
2017-10-31 Lazarus-images-components.zip
(192.13 KiB) 173-mal heruntergeladen

wp_xyz
Beiträge: 4864
Registriert: Fr 8. Apr 2011, 09:01

Re: High-DPI-Icons für die IDE

Beitrag von wp_xyz »

Vielen Dank. Sind wieder sehr schön geworden. Ich habe alles gerade übertragen.

Mit dem Bild von unregisteredcomponent kann ich momentan nichts anfangen, aber das "default.png" wird verwendet, wenn man eine Komponente registriert, für die man (noch) kein eigenes Icon hat; das sollte irgendwann auf jeden Fall auch in den Größen "_150" und "_200" vorliegen.

Benutzeravatar
Ally
Beiträge: 262
Registriert: Do 11. Jun 2009, 09:25
OS, Lazarus, FPC: Win und Lazarus Stable release
CPU-Target: x64

Re: High-DPI-Icons für die IDE

Beitrag von Ally »

Hallo wp_xyz,

danke für die Info. default.png habe ich schon mal in allen Auflösungen gezeichnet. (kommt mit der nächsten Lieferung)
Jetzt habe ich noch tpicture.png entdeckt das ich nicht zuordnen kann.
Es ist zwar keine große Sache die Icons zu erstellen, aber warum sollte man sie irgendwo reinpacken wenn sie nicht benötigt werden.
Wie könnte man herausbekommen ob tpicture.png und unregisteredcomponent.png noch gebraucht werden?


Gruß Roland

wp_xyz
Beiträge: 4864
Registriert: Fr 8. Apr 2011, 09:01

Re: High-DPI-Icons für die IDE

Beitrag von wp_xyz »

Ich denke, die res-Datei ohne die beiden bauen und die IDE damit neu kompilieren. Dann müsste eigentlich ein Fehler auftreten, wenn die beiden Resourcen gebraucht, aber nicht gefunden werden. Das Problem ist aber, dass man hier aus dem Nichtauftreten eines Absturzes nicht schließen kann, dass alles in Ordnung ist, sondern umgekehrt nur aus dem Auftreten, dass die beiden benötigt wurden. Irgendwie sitzt man hier auf einer Zeitbombe, die vielleicht hochgeht, vielleicht auch nicht. Ich würde die Finger davon lassen und einfach keine HiRes-Versionen für die beiden erstellen.

Michl
Beiträge: 2505
Registriert: Di 19. Jun 2012, 12:54

Re: High-DPI-Icons für die IDE

Beitrag von Michl »

Ally hat geschrieben:Wie könnte man herausbekommen ob tpicture.png und unregisteredcomponent.png noch gebraucht werden?
Das ist eine Sache von ein paar Sekunden und geht recht einfach, in dem man in dem Quellcode von Lazarus danach sucht. Ich nutze dafür immer den Total Commander <Alt> + <F7>. In der Suchmaske Sourcedateien wählen (*.pas *.pp *.inc *.lfm) und nach einen Text suchen z.B. 'unregisteredcomponent'. Entweder per Total Commander Lister die gefundenen Dateien durchforsten oder sie markieren und per DragNDrop in der Lazarus IDE öffnen (in der Lazarus ebenfalls nochmal nach 'unregisteredcomponent' suchen und in dem Ergebnisfenster die Einträge ansehen).

Daher:
unregisteredcomponent.png wird benötigt in componentpalette.pas und in eduactionlaz Package.
tpicture.png wird mMn nicht mehr benötigt.

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection; 

Benutzeravatar
Ally
Beiträge: 262
Registriert: Do 11. Jun 2009, 09:25
OS, Lazarus, FPC: Win und Lazarus Stable release
CPU-Target: x64

Re: High-DPI-Icons für die IDE

Beitrag von Ally »

Hallo wp_xyz,

danke für die Infos.
Dann lass ich tpicture.png mal wie es ist. Die anderen Beiden sind fertig.


Hallo Michl,

danke fürs Suchen. Wenn man es mal genau weiß, kann man das Icon noch herausnehmen, der Ordner wäre dann aktuell und ballastfrei.


Gruß Roland

wp_xyz
Beiträge: 4864
Registriert: Fr 8. Apr 2011, 09:01

Re: High-DPI-Icons für die IDE

Beitrag von wp_xyz »

Ally, du hast in der letzten "Lieferung" die Icons der "Misc"-Palette aktualisiert. Darunter sind auch die der Edit-Button-Kombinationen (TEditButton, TDirectoryEdit, TDateEdit, TTimeEdit, TCalcEdit). Wenn man diese Controls aufs Formular klickt, haben sie in dem Button-Element ein anderes Icon als auf der Toolbar. Mich zumindest verwirrt das, denn ich weiß nie, welches Control nun auf dem Formular gelandet ist. Daher würde ich vorschlagen, auch die intern in den Buttons verwendeten Icons zu ändern. Könntest du zu diesen Paletten-Icons das Icon, das in dem Button gezeichnet ist, in den Größen 16x16, 24x24 und 32x32 separat zeichnen (d.h. du hast da ja eh schon). Dann würde ich suchen, wie sie genau in die Controls eingebunden werden, und das so anpassen, dass auch auf den Formular die neuen Icons verwendet werden.

Benutzeravatar
Ally
Beiträge: 262
Registriert: Do 11. Jun 2009, 09:25
OS, Lazarus, FPC: Win und Lazarus Stable release
CPU-Target: x64

Re: High-DPI-Icons für die IDE

Beitrag von Ally »

Hallo wp_xyz,

hier noch die "Restlieferung" für den Ordner Lazarus\images\components und die komplette, aktualisierte components_images_list.txt.
Dazu noch die Icons für den Reiter SQLdb und die entsprechende Liste.

Die Icons für TDirectoryEdit, TDateEdit, TTimeEdit und TCalcEdit nehme ich mir dann als nächstes vor.
TEditButton hat aber wohl kein eigenes Icon im Button. Man kann aber selbst eines einfügen.

Einen schönen Sonntag noch und viel Spaß beim einpflegen. Vielen Dank auch dafür.

Gruß Roland
Dateianhänge
2017-11-05 Lazarus-images-components.zip
(17.18 KiB) 170-mal heruntergeladen
2017-11-05 Lazarus-components-sqldb-design.zip
(314 KiB) 169-mal heruntergeladen

wp_xyz
Beiträge: 4864
Registriert: Fr 8. Apr 2011, 09:01

Re: High-DPI-Icons für die IDE

Beitrag von wp_xyz »

Danke. Wie immer sehr gut.

Ally hat geschrieben:TEditButton hat aber wohl kein eigenes Icon im Button. Man kann aber selbst eines einfügen.

Natürlich, da habe ich geschrieben ohne zu denken.

Benutzeravatar
Ally
Beiträge: 262
Registriert: Do 11. Jun 2009, 09:25
OS, Lazarus, FPC: Win und Lazarus Stable release
CPU-Target: x64

Re: High-DPI-Icons für die IDE

Beitrag von Ally »

Hallo wp_xyz,

hier die Icons für den Ordner Lazarus\lcl\images.
Dazu noch eine Frage: wie wird Glyph High-DPI fähig? - also weiß "Glyph" welches der Vorgabe-Icons bei welcher Auflösung angezeigt werden soll?
Und wie kann ich das beim Programmieren nutzen?

Gruß Roland
Dateianhänge
2017-11-07 Lazarus-lcl-images.zip
(35.3 KiB) 163-mal heruntergeladen

wp_xyz
Beiträge: 4864
Registriert: Fr 8. Apr 2011, 09:01

Re: High-DPI-Icons für die IDE

Beitrag von wp_xyz »

Danke für die Glyphs. Ich habe sie in lcl/images hochgeladen. Bei 96 ppi werden sie auch in die neu kompilierte IDE eingebaut, die höheren Auflösungen sind noch nicht implementiert. Ist schwieriger als gedacht, weil...
  • es noch keine Routine gibt, das entsprechende Icon aus der Resource zu laden (eher die leichtere Aufgabe, weil jedes dieser Controls den Namen der Resource mit der virtuellen Function GetDefaultGlyphName ermittelt, die bei den höheren Auflösungen nur den entsprechenden String "_150" und "_200" anhängen muss)
  • die Bitmaps durch Interpolation neu berechnet werden müssen, wenn die aktuelle Auflösung > 200% ist. Das muss auch dann geschehen, wenn es keine hochauflösende Versionen der Bilder gibt. Gehört wahrscheinlich zu TBitBtn, TSpeedBtn, evtl auch zu TToolButton, TImageList.
  • die TCustomEditButton-Nachfahren sowie noch ein Problem mit der Skalierung haben: Wenn man bei 150% ein TEditButton o.ä. aufs Formular klickt, ist der Button rechteckig, nicht quadratisch. Wenn man aber ein bei 100% erstelltes Formular mit einem solchen Control bei 150% lädt, ist der Button quadratisch.
Nachdem ich meinen Kopf zur Zeit in einem anderen Projekt habe, muss das etwas warten (oder jemand anderes löst das).

Benutzeravatar
Ally
Beiträge: 262
Registriert: Do 11. Jun 2009, 09:25
OS, Lazarus, FPC: Win und Lazarus Stable release
CPU-Target: x64

Re: High-DPI-Icons für die IDE

Beitrag von Ally »

Hallo wp_xyz,

das habe ich befürchtet. Naja, eins nach dem anderen.
Und dann muss ja auch noch eine Lösung gefunden werden, wie man in der IDE drei eigene Icons an Glyph übergeben kann.
Aber wie gesagt: eins nach dem anderen und vielleicht arbeitet ja auch schon jemand an der Lösung.

Gruß

Benutzeravatar
Ally
Beiträge: 262
Registriert: Do 11. Jun 2009, 09:25
OS, Lazarus, FPC: Win und Lazarus Stable release
CPU-Target: x64

Re: High-DPI-Icons für die IDE

Beitrag von Ally »

Hallo wp_xyz,

ich habe noch das Icon btnfiltercancel erstellt. (gehört zu ListFilterEdit)
An einigen anderen aus dem Ordner Lazarus\lcl\images habe ich noch kleine Verbesserungen vorgenommen.
Im Anhang nochmal das ganze Paket.

Gruß Roland
Dateianhänge
2017-11-12 Lazarus-lcl-images.zip
(43.63 KiB) 184-mal heruntergeladen

wp_xyz
Beiträge: 4864
Registriert: Fr 8. Apr 2011, 09:01

Re: High-DPI-Icons für die IDE

Beitrag von wp_xyz »

Vielen Dank mal wieder. Ich weiß gar nicht, wo btnfilercancel vorkommt, und den bei anderen ist mir nicht aufgefallen, was du geändert hast. Egal, ich habe alles hochgeladen.

Bei den Edit-Button-Combos auf Palette "Misc" fällt mir auf, das die Uhr im TTimeEdit sehr am unteren Rand klebt, v.a. bei 100% - siehe auch den beigefügten Screenshot, der im Bildbearbeitungsprogramm in der Größe verdoppelt und an den unteren Fensterrand geschoben wurde, so dass man die Größe der Dropdowns besser erkennt. Ich meine, dass TTimeEdit um 1 Pixel weniger hoch ist als TDateEdit, genauso wie TDirectoryEdit, das ebenfalls eine Unsymmetrie um 1 Pixel aufweist, die aber hier weniger störend ist. Auch bei den anderen Dropdowns ist die Höhe um 1 kleiner, aber ich denke, das ist ok, weil das eingebettete Icon schön mittig ist (1 Pixel mehr würde es wieder unsymmetrisch machen). Ich denke, es würde reichen, wenn das Dropdown von TTimeEdit um 1 Pixel höher wäre. Warum übrigens hat der Kalender von TDateEdit eine rote Titelzeile? (Nur so ne Frage...).
Dateianhänge
TimeEdit.png
TimeEdit.png (3.38 KiB) 4332 mal betrachtet

Antworten