GTK+ eigenes Programm am aktuellen IconTheme anpassen

Zur Vorstellung von Komponenten und Units für Lazarus
Antworten
DiBo33
Beiträge: 334
Registriert: Do 11. Okt 2007, 18:01

GTK+ eigenes Programm am aktuellen IconTheme anpassen

Beitrag von DiBo33 »

Hallo,

angeregt durch ein Thread von hier habe ich mal eine Unit gebastelt um sein Programm an das jeweilige GTK+ IconTheme anzupassen.

Benötigt wird hierzu OpBitmap von Theo.

Die Unit sollte relativ selbsterklärend sein.
Dateianhänge
Gtk2IconTheme.zip
Unit plus Beispiel Anwendung
(34.99 KiB) 90-mal heruntergeladen

DiBo33
Beiträge: 334
Registriert: Do 11. Okt 2007, 18:01

Beitrag von DiBo33 »

Achtung!
die Unit hatte noch leichte Memory-Probleme gerade wenn zu viele Icons in einer ImageList steckten.
Hier ist die vorläufige Endversion.

Gruß
Dateianhänge
Gtk2IconTheme.zip
(35.09 KiB) 84-mal heruntergeladen

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

Sag mal könntest du auch noch eine für GTK1 schreiben ?
Dann könnte ich sie in meine Datei Verwaltung Komponenten mit einbeziehen.
MFG
Michael Springwald

DiBo33
Beiträge: 334
Registriert: Do 11. Okt 2007, 18:01

Beitrag von DiBo33 »

Nein, für GTK1 ist mir dazu zuviel Aufwand nötig.

Targion
Beiträge: 688
Registriert: Mi 3. Okt 2007, 21:00
OS, Lazarus, FPC: Linux (L 0.9.29 FPC 2.4.2)
CPU-Target: x86_64

Beitrag von Targion »

@pluto: Warum kompilierst du dein Programm nicht mal testweise für GTK2 und schaust mal, ob es stabil läuft? Denn GTK1 ist nun wirklich veraltet und die Lazarus-Implementierung von GTk2 inzwischen nicht schlecht.

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

Das habe ich zwischendurch mal gemacht, aber mit GTK1 hatte ich einfach bessere Ergebnisse. Auch wenn mir GTk2 optisch besser gefällt. Wahrscheinlich macht es auch nur sinn mit der Lazarus Version 0.9.25 zu testen.
Die bei mir aber nicht so recht laufen möchte. Bei GTK2 hatte ich z.b. seltsame Probleme bei der PaintBox das da die CPU Last beim rüber Fahren der Maus oder so auf 100 % gestiegen ist. Kann sein das das inzwischen anders ist.

Sobald ich die Neue SVN Version von Lazarus Installieren kann und sie läuft werde ich es mal testen. Weil die neue Version von Lazarus gefällt mir eigentlich auch recht gut optisch gesehen.

DiBo33, wenn das so ist verstehe ich dich. Dann muss ich selbst mal bei Gelegenheit schauen was das für Anpassungen währen und wie aufwendig das ist, durch das XINE Projekt habe ich ja einiges von Lazarus gesehen in den Sorucen, und auch durch die GKT Tests die ich gemacht habe. Aber mal schauen.
MFG
Michael Springwald

Socke
Lazarusforum e. V.
Beiträge: 3158
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: GTK+ eigenes Programm am aktuellen IconTheme anpassen

Beitrag von Socke »

Ich hab mir selbst auch eine Funktion zum Laden von Icons mittels GTK+ gebastelt.
Das ganze ist oop (gelobt sei die class procedure). Mit nur einer Unit hat man somit Zugriff auf alle Icons (inkl. gtk-stock-icon-Namen; es wird kein Dateiname benötigt, nur der "Kurzname").

Was ich meiner Meinung nach eleganter gelöst habe, ist, dass die Icons direkt auf ein Bitmap "gezeichnet" werden. Dafür können keine eigenen Icons (bzw. Suchpfade) hinzugefügt werden.

MfG Socke
Dateianhänge
ugtkimage.pas
Icons laden mit GTK+
(7.35 KiB) 90-mal heruntergeladen
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

Targion
Beiträge: 688
Registriert: Mi 3. Okt 2007, 21:00
OS, Lazarus, FPC: Linux (L 0.9.29 FPC 2.4.2)
CPU-Target: x86_64

Re:

Beitrag von Targion »

pluto hat geschrieben:Wahrscheinlich macht es auch nur sinn mit der Lazarus Version 0.9.25 zu testen.

...oder mit Lazarus 0.9.27, da ist GTK2 auch schon Standard. In Lazarus 0.9.26 läuft GTK2 aber auch schon sehr gut.

Antworten