aber: einer nur für KDE, ein weiterer bietet nur begrenzte Icons.
Ich möchte also auf alle Icons des derzeitigen GNOME Standard Themes zugreifen (d.h. wirklich alle).
in http://www.lazarusforum.de/viewtopic.php?f=16&t=1375 gabs den Vorschlag mit
Code: Alles auswählen
LoadStockPixmap(idButtonOk,MH);
Deswegen hab ich mich mal direkt an GTK2 dran gemacht und Folgendes gebastelt:
Code: Alles auswählen
uses gtk2;
{...}
function GetGTKIcon(const StockName: String; Size: TGtkIconSize): String;
var
icon: PGtkIconInfo;
theme: PGtkIconTheme;
begin
theme := gtk_icon_theme_get_default;
icon := gtk_icon_theme_lookup_icon(theme, PChar(StockName),
Size, GTK_ICON_LOOKUP_FORCE_SVG);
if icon <> nil then begin
Result := gtk_icon_info_get_filename(icon);
gtk_icon_info_free(icon);
end else
Result := '';
end;
// Aufruf sieht so aus
GetGTKIcon('gdm',GTK_ICON_SIZE_DIALOG);
Jetzt ein paar Fragen dazu: Ist es normal, dass immer (also wirklich immer) eine .png Datei zurückgegeben wird? Wovon ist die Größe des Icons abhängig?
Und: Ja, ich habe GTK_ICON_LOOKUP_FORCE_SVG angegeben (ich hab es auch mit ...NO_SVG ausprobiert) und verschiedene Werte aus TGtkIconSize verwendet. Ich bekomme jedoch immer die gleiche Größe zurück.
Mein Ziel wäre es also den Pfad zu dem entsprechenden SVG-Bild zu bekommen, damit ich mir das dann passend rendern kann (meinetwegen direkt in der passenden Größe).
Kann mir da jemand helfen?
MfG Socke