IDE/Application options/Save icon: Set default file extension for Linux also to ico. Option to save all images of the icon to individual files. Handle .cur files correctly. Issue #36828

This commit is contained in:
wp_xyz 2025-07-15 00:46:00 +02:00
parent 0da95ac806
commit 8f4c20a99e
26 changed files with 533 additions and 14 deletions

View File

@ -5,7 +5,7 @@ unit project_application_options;
interface
uses
Classes, SysUtils, Math,
Classes, SysUtils, Math, System.UITypes,
// LazUtils
FileUtil,
// LCL
@ -140,20 +140,14 @@ end;
constructor TProjectApplicationOptionsFrame.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
{$IFDEF MSWINDOWS}
SavePictureDialog1.DefaultExt := '.ico';
SavePictureDialog1.FilterIndex := 6;
{$ENDIF}
{$IFDEF DARWIN}
SavePictureDialog1.DefaultExt := '.icns';
SavePictureDialog1.FilterIndex := 7;
{$ENDIF}
{$IFDEF LINUX}
SavePictureDialog1.DefaultExt := '.png';
SavePictureDialog1.FilterIndex := 2;
{$ELSE}
SavePictureDialog1.DefaultExt := '.ico';
SavePictureDialog1.FilterIndex := 6;
{$ENDIF}
OpenPictureDialog1.DefaultExt := SavePictureDialog1.DefaultExt;
//OpenPictureDialog1.FilterIndex := SavePictureDialog1.FilterIndex;
end;
function TProjectApplicationOptionsFrame.HasIcon: Boolean;
@ -218,17 +212,66 @@ begin
end;
procedure TProjectApplicationOptionsFrame.SaveIconButtonClick(Sender: TObject);
var
ext: String;
procedure SaveAllImages;
var
savedCurrent: Integer;
fn: String;
pf: TPixelFormat;
w, h: Word;
i: Integer;
begin
savedCurrent := IconImage.Picture.Icon.Current;
try
fn := ChangeFileExt(SavePictureDialog1.FileName, '');
for i := 0 to IconImage.Picture.Icon.Count-1 do
begin
IconImage.Picture.Icon.Current := i;
IconImage.Picture.Icon.GetDescription(i, pf, h, w); // order h-w is correct
IconImage.Picture.SaveToFile(Format('%s_%dx%d.%s', [fn, w, h, ext]));
end;
finally
IconImage.Picture.Icon.Current := savedCurrent;
end;
end;
var
res: TModalResult;
selIdx: Integer;
info: String;
options: array[0..1] of string;
begin
if not HasIcon then
exit;
if SavePictureDialog1.Execute then
begin
ext := ExtractFileExt(SavePictureDialog1.FileName);
Delete(ext, 1, 1);
// Save as icon
try
IconImage.Picture.SaveToFile(SavePictureDialog1.FileName);
if SameText(ext, 'ico') or SameText(ext, 'icns') or SameText(ext, 'cur') then
IconImage.Picture.SaveToFile(SavePictureDialog1.FileName)
else
begin
// Save as another format allowing only a single image per file
info := lisMultipleImagesInfo + LineEnding + lisHowToProceed;
options[0] := lisSaveOnlyCurrentImageSize;
options[1] := lisSaveAllImageSizesToIndividualFiles;
res := TaskDlg(rsMtInformation, lisSaveIconToFile, info, tdiQuestion, [mbOK, mbCancel], options, selIdx);
if res = mrOK then
case selIdx of
0: IconImage.Picture.SaveToFile(SavePictureDialog1.FileName);
1: SaveAllImages;
end;
end;
except
on E: Exception do
IDEMessageDialog(rsMtError, E.Message, mtError, [mbCancel]);
end;
end;
end;
procedure TProjectApplicationOptionsFrame.UseAppBundleCheckBoxChange(

View File

@ -32,6 +32,15 @@ resourcestring
+'file %s of project %s%sError: %s';
lisProjMangUnableToWriteStateFileForProjectError = 'Unable to write state '
+'file for project %s%sError: %s';
// Save icon in application options
lisSaveIconToFile = 'Save icon to file';
lisMultipleImagesInfo = 'An icon can contain images at several sizes, ' +
'but the selected file format allows only a single image per file.';
lisHowToProceed = 'How to proceed?';
lisSaveOnlyCurrentImageSize = 'Save only current image size';
lisSaveAllImageSizesToIndividualFiles = 'Save all image sizes to individual files';
// package defs
lisPkgDefsNamespaces = 'Namespaces';
lisProjProjectSourceDirectoryMark = 'Project Source Directory Mark';

View File

@ -48,6 +48,14 @@ msgstr ""
msgid "File \"%s\" not found."
msgstr ""
#: ideprojectstrconsts.lishowtoproceed
msgid "How to proceed?"
msgstr ""
#: ideprojectstrconsts.lismultipleimagesinfo
msgid "An icon can contain images at several sizes, but the selected file format allows only a single image per file."
msgstr ""
#: ideprojectstrconsts.lispkgdefsnamespaces
msgid "Namespaces"
msgstr ""
@ -66,6 +74,18 @@ msgstr ""
msgid "Project Source Directory Mark"
msgstr ""
#: ideprojectstrconsts.lissaveallimagesizestoindividualfiles
msgid "Save all image sizes to individual files"
msgstr ""
#: ideprojectstrconsts.lissaveicontofile
msgid "Save icon to file"
msgstr ""
#: ideprojectstrconsts.lissaveonlycurrentimagesize
msgid "Save only current image size"
msgstr ""
#: ideprojectstrconsts.lisstrangelpifile
msgid "Strange lpi file"
msgstr ""

View File

@ -48,6 +48,14 @@ msgstr ""
msgid "File \"%s\" not found."
msgstr ""
#: ideprojectstrconsts.lishowtoproceed
msgid "How to proceed?"
msgstr ""
#: ideprojectstrconsts.lismultipleimagesinfo
msgid "An icon can contain images at several sizes, but the selected file format allows only a single image per file."
msgstr ""
#: ideprojectstrconsts.lispkgdefsnamespaces
msgid "Namespaces"
msgstr ""
@ -66,6 +74,18 @@ msgstr ""
msgid "Project Source Directory Mark"
msgstr ""
#: ideprojectstrconsts.lissaveallimagesizestoindividualfiles
msgid "Save all image sizes to individual files"
msgstr ""
#: ideprojectstrconsts.lissaveicontofile
msgid "Save icon to file"
msgstr ""
#: ideprojectstrconsts.lissaveonlycurrentimagesize
msgid "Save only current image size"
msgstr ""
#: ideprojectstrconsts.lisstrangelpifile
msgid "Strange lpi file"
msgstr ""

View File

@ -49,6 +49,14 @@ msgstr ""
msgid "File \"%s\" not found."
msgstr "No s'ha trobat el fitxer %s%s%s.%s"
#: ideprojectstrconsts.lishowtoproceed
msgid "How to proceed?"
msgstr ""
#: ideprojectstrconsts.lismultipleimagesinfo
msgid "An icon can contain images at several sizes, but the selected file format allows only a single image per file."
msgstr ""
#: ideprojectstrconsts.lispkgdefsnamespaces
msgid "Namespaces"
msgstr ""
@ -67,6 +75,18 @@ msgstr ""
msgid "Project Source Directory Mark"
msgstr ""
#: ideprojectstrconsts.lissaveallimagesizestoindividualfiles
msgid "Save all image sizes to individual files"
msgstr ""
#: ideprojectstrconsts.lissaveicontofile
msgid "Save icon to file"
msgstr ""
#: ideprojectstrconsts.lissaveonlycurrentimagesize
msgid "Save only current image size"
msgstr ""
#: ideprojectstrconsts.lisstrangelpifile
msgid "Strange lpi file"
msgstr ""

View File

@ -48,6 +48,14 @@ msgstr "Rozšířit prohledávanou cestu jednotek projektu s%s\"%s\"?"
msgid "File \"%s\" not found."
msgstr "Soubor \"%s\" nenalezen."
#: ideprojectstrconsts.lishowtoproceed
msgid "How to proceed?"
msgstr ""
#: ideprojectstrconsts.lismultipleimagesinfo
msgid "An icon can contain images at several sizes, but the selected file format allows only a single image per file."
msgstr ""
#: ideprojectstrconsts.lispkgdefsnamespaces
msgid "Namespaces"
msgstr "Jmenné prostory"
@ -66,6 +74,18 @@ msgstr "Nelze zapsat stavový soubor projektu %s%sChyba: %s"
msgid "Project Source Directory Mark"
msgstr "Značka zdrojového adresáře projektu"
#: ideprojectstrconsts.lissaveallimagesizestoindividualfiles
msgid "Save all image sizes to individual files"
msgstr ""
#: ideprojectstrconsts.lissaveicontofile
msgid "Save icon to file"
msgstr ""
#: ideprojectstrconsts.lissaveonlycurrentimagesize
msgid "Save only current image size"
msgstr ""
#: ideprojectstrconsts.lisstrangelpifile
msgid "Strange lpi file"
msgstr "Divný soubor lpi"

View File

@ -1,9 +1,15 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 3.6\n"
#: ideprojectstrconsts.dlgprojectoptions
msgid "Project Options"
@ -48,6 +54,14 @@ msgstr "Unit-Suchpfad des Projekts um%s\"%s\" erweitern?"
msgid "File \"%s\" not found."
msgstr "Datei \"%s\" nicht gefunden."
#: ideprojectstrconsts.lishowtoproceed
msgid "How to proceed?"
msgstr "Wie soll es weitergehen?"
#: ideprojectstrconsts.lismultipleimagesinfo
msgid "An icon can contain images at several sizes, but the selected file format allows only a single image per file."
msgstr "Ein Icon kann mehrere unterschiedlich große Bilder enthalten, aber das gewählte Dateiformat erlaubt nur ein einziges Bild pro Datei."
#: ideprojectstrconsts.lispkgdefsnamespaces
msgid "Namespaces"
msgstr "Namensräume"
@ -66,6 +80,18 @@ msgstr "Kann Statusdatei für das Projekt %s nicht schreiben%sFehler: %s"
msgid "Project Source Directory Mark"
msgstr "Projekt-Quellverzeichnismarke"
#: ideprojectstrconsts.lissaveallimagesizestoindividualfiles
msgid "Save all image sizes to individual files"
msgstr "Bilder aller Größen in Einzeldateien speichern"
#: ideprojectstrconsts.lissaveicontofile
msgid "Save icon to file"
msgstr "Icon in Datei speichern"
#: ideprojectstrconsts.lissaveonlycurrentimagesize
msgid "Save only current image size"
msgstr "Nur das Bild in der aktuellen Größe speichern"
#: ideprojectstrconsts.lisstrangelpifile
msgid "Strange lpi file"
msgstr "Sonderbare .lpi-Datei"
@ -93,4 +119,3 @@ msgstr "Kann die Projekt-Infodatei%s\"%s\"nicht schreiben.%sFehler: %s"
#, object-pascal-format
msgid "Unable to write the project session file%s\"%s\".%sError: %s"
msgstr "Kann die Projekt-Sitzungsdatei %s\"%s\" nicht schreiben.%sFehler: %s"

View File

@ -48,6 +48,14 @@ msgstr "¿Extender trayecto de búsqueda de unidades del proyecto con %s\"%s\"?"
msgid "File \"%s\" not found."
msgstr "No se encontró el archivo \"%s\"."
#: ideprojectstrconsts.lishowtoproceed
msgid "How to proceed?"
msgstr ""
#: ideprojectstrconsts.lismultipleimagesinfo
msgid "An icon can contain images at several sizes, but the selected file format allows only a single image per file."
msgstr ""
#: ideprojectstrconsts.lispkgdefsnamespaces
msgid "Namespaces"
msgstr "Namespaces"
@ -66,6 +74,18 @@ msgstr "No es posible escribir el archivo de estado para el proyecto %s%sError:
msgid "Project Source Directory Mark"
msgstr "Marca del directorio fuente del proyecto"
#: ideprojectstrconsts.lissaveallimagesizestoindividualfiles
msgid "Save all image sizes to individual files"
msgstr ""
#: ideprojectstrconsts.lissaveicontofile
msgid "Save icon to file"
msgstr ""
#: ideprojectstrconsts.lissaveonlycurrentimagesize
msgid "Save only current image size"
msgstr ""
#: ideprojectstrconsts.lisstrangelpifile
msgid "Strange lpi file"
msgstr "Archivo lpi extraño"

View File

@ -48,6 +48,14 @@ msgstr "Laajenna projektin käännösyksikköjen hakupolku tällä:%s\"%s\"?"
msgid "File \"%s\" not found."
msgstr "Tiedostoa \"%s\" ei löytynyt."
#: ideprojectstrconsts.lishowtoproceed
msgid "How to proceed?"
msgstr ""
#: ideprojectstrconsts.lismultipleimagesinfo
msgid "An icon can contain images at several sizes, but the selected file format allows only a single image per file."
msgstr ""
#: ideprojectstrconsts.lispkgdefsnamespaces
msgid "Namespaces"
msgstr "Nimiavaruudet"
@ -66,6 +74,18 @@ msgstr "Tilatiedon kirjoittaminen projektilta %s epäonnistui%sVirhe: %s"
msgid "Project Source Directory Mark"
msgstr "Projektin lähdehakemiston merkki"
#: ideprojectstrconsts.lissaveallimagesizestoindividualfiles
msgid "Save all image sizes to individual files"
msgstr ""
#: ideprojectstrconsts.lissaveicontofile
msgid "Save icon to file"
msgstr ""
#: ideprojectstrconsts.lissaveonlycurrentimagesize
msgid "Save only current image size"
msgstr ""
#: ideprojectstrconsts.lisstrangelpifile
msgid "Strange lpi file"
msgstr "Outo lpi-tiedosto"

View File

@ -48,6 +48,14 @@ msgstr "Faut-il étendre le chemin de recherche du projet avec %s\"%s\"?"
msgid "File \"%s\" not found."
msgstr "Fichier \"%s\" non trouvé."
#: ideprojectstrconsts.lishowtoproceed
msgid "How to proceed?"
msgstr ""
#: ideprojectstrconsts.lismultipleimagesinfo
msgid "An icon can contain images at several sizes, but the selected file format allows only a single image per file."
msgstr ""
#: ideprojectstrconsts.lispkgdefsnamespaces
msgid "Namespaces"
msgstr "Espaces de nommage"
@ -66,6 +74,18 @@ msgstr "Impossible d'écrire l'état du fichier pour le projet %s%sErreur : %s"
msgid "Project Source Directory Mark"
msgstr "Marque de répertoire du code source du projet"
#: ideprojectstrconsts.lissaveallimagesizestoindividualfiles
msgid "Save all image sizes to individual files"
msgstr ""
#: ideprojectstrconsts.lissaveicontofile
msgid "Save icon to file"
msgstr ""
#: ideprojectstrconsts.lissaveonlycurrentimagesize
msgid "Save only current image size"
msgstr ""
#: ideprojectstrconsts.lisstrangelpifile
msgid "Strange lpi file"
msgstr "Fichier .lpi inconnu"

View File

@ -54,6 +54,14 @@ msgstr ""
msgid "File \"%s\" not found."
msgstr "הקובץ s%s%s% לא נמצא"
#: ideprojectstrconsts.lishowtoproceed
msgid "How to proceed?"
msgstr ""
#: ideprojectstrconsts.lismultipleimagesinfo
msgid "An icon can contain images at several sizes, but the selected file format allows only a single image per file."
msgstr ""
#: ideprojectstrconsts.lispkgdefsnamespaces
msgid "Namespaces"
msgstr ""
@ -72,6 +80,18 @@ msgstr "לא יכול לכתוב את קובץ המצב של הפרוייקט s%
msgid "Project Source Directory Mark"
msgstr "סימן תיקיית קוד המקור של הפרויקט"
#: ideprojectstrconsts.lissaveallimagesizestoindividualfiles
msgid "Save all image sizes to individual files"
msgstr ""
#: ideprojectstrconsts.lissaveicontofile
msgid "Save icon to file"
msgstr ""
#: ideprojectstrconsts.lissaveonlycurrentimagesize
msgid "Save only current image size"
msgstr ""
#: ideprojectstrconsts.lisstrangelpifile
msgid "Strange lpi file"
msgstr "קובץ lpi מוזר"

View File

@ -48,6 +48,14 @@ msgstr "Kibővíti a projekt unit keresési útvonalát ezzel:%s\"%s\"?"
msgid "File \"%s\" not found."
msgstr "A(z) \"%s\" fájl nem található."
#: ideprojectstrconsts.lishowtoproceed
msgid "How to proceed?"
msgstr ""
#: ideprojectstrconsts.lismultipleimagesinfo
msgid "An icon can contain images at several sizes, but the selected file format allows only a single image per file."
msgstr ""
#: ideprojectstrconsts.lispkgdefsnamespaces
msgid "Namespaces"
msgstr "Névterek"
@ -66,6 +74,18 @@ msgstr "Állapotfájl írása a sikertelen a(z) %s projekthez%sHiba: %s"
msgid "Project Source Directory Mark"
msgstr "Projekt forráskönyvtár"
#: ideprojectstrconsts.lissaveallimagesizestoindividualfiles
msgid "Save all image sizes to individual files"
msgstr ""
#: ideprojectstrconsts.lissaveicontofile
msgid "Save icon to file"
msgstr ""
#: ideprojectstrconsts.lissaveonlycurrentimagesize
msgid "Save only current image size"
msgstr ""
#: ideprojectstrconsts.lisstrangelpifile
msgid "Strange lpi file"
msgstr "Furcsa lpi fájl"

View File

@ -49,6 +49,14 @@ msgstr ""
msgid "File \"%s\" not found."
msgstr "File %s%s%s tidak ditemukan.%s"
#: ideprojectstrconsts.lishowtoproceed
msgid "How to proceed?"
msgstr ""
#: ideprojectstrconsts.lismultipleimagesinfo
msgid "An icon can contain images at several sizes, but the selected file format allows only a single image per file."
msgstr ""
#: ideprojectstrconsts.lispkgdefsnamespaces
msgid "Namespaces"
msgstr ""
@ -67,6 +75,18 @@ msgstr "Tidak bisa menuliskan file kondisi untuk proyek %s%sKesalahanr: %s"
msgid "Project Source Directory Mark"
msgstr "Tanda Direktori Sumber Proyek"
#: ideprojectstrconsts.lissaveallimagesizestoindividualfiles
msgid "Save all image sizes to individual files"
msgstr ""
#: ideprojectstrconsts.lissaveicontofile
msgid "Save icon to file"
msgstr ""
#: ideprojectstrconsts.lissaveonlycurrentimagesize
msgid "Save only current image size"
msgstr ""
#: ideprojectstrconsts.lisstrangelpifile
msgid "Strange lpi file"
msgstr ""

View File

@ -48,6 +48,14 @@ msgstr "Estendere il percorso di ricerca delle unit del progetto con%s\"%s\"?"
msgid "File \"%s\" not found."
msgstr "File \"%s\" non trovato."
#: ideprojectstrconsts.lishowtoproceed
msgid "How to proceed?"
msgstr ""
#: ideprojectstrconsts.lismultipleimagesinfo
msgid "An icon can contain images at several sizes, but the selected file format allows only a single image per file."
msgstr ""
#: ideprojectstrconsts.lispkgdefsnamespaces
msgid "Namespaces"
msgstr ""
@ -66,6 +74,18 @@ msgstr "Non posso scrivere lo stato del progetto %s%s Errore: %s"
msgid "Project Source Directory Mark"
msgstr "Simbolo di cartella dei sorgenti di progetto"
#: ideprojectstrconsts.lissaveallimagesizestoindividualfiles
msgid "Save all image sizes to individual files"
msgstr ""
#: ideprojectstrconsts.lissaveicontofile
msgid "Save icon to file"
msgstr ""
#: ideprojectstrconsts.lissaveonlycurrentimagesize
msgid "Save only current image size"
msgstr ""
#: ideprojectstrconsts.lisstrangelpifile
msgid "Strange lpi file"
msgstr "File lpi sospetto"

View File

@ -48,6 +48,14 @@ msgstr "プロジェクトのユニット検索パスを%s\"%s\"に拡張しま
msgid "File \"%s\" not found."
msgstr "ファイル \"%s\"は見つかりません"
#: ideprojectstrconsts.lishowtoproceed
msgid "How to proceed?"
msgstr ""
#: ideprojectstrconsts.lismultipleimagesinfo
msgid "An icon can contain images at several sizes, but the selected file format allows only a single image per file."
msgstr ""
#: ideprojectstrconsts.lispkgdefsnamespaces
msgid "Namespaces"
msgstr ""
@ -66,6 +74,18 @@ msgstr "プロジェクト%sの状態ファイルに書き込めません。%s
msgid "Project Source Directory Mark"
msgstr "プロジェクトソースディレクトリマーク"
#: ideprojectstrconsts.lissaveallimagesizestoindividualfiles
msgid "Save all image sizes to individual files"
msgstr ""
#: ideprojectstrconsts.lissaveicontofile
msgid "Save icon to file"
msgstr ""
#: ideprojectstrconsts.lissaveonlycurrentimagesize
msgid "Save only current image size"
msgstr ""
#: ideprojectstrconsts.lisstrangelpifile
msgid "Strange lpi file"
msgstr "奇妙なlpiファイル"

View File

@ -48,6 +48,14 @@ msgstr "Paketo modulių paieškos kelią papildyti%s„%s“?"
msgid "File \"%s\" not found."
msgstr "Failas „%s“ nerastas."
#: ideprojectstrconsts.lishowtoproceed
msgid "How to proceed?"
msgstr ""
#: ideprojectstrconsts.lismultipleimagesinfo
msgid "An icon can contain images at several sizes, but the selected file format allows only a single image per file."
msgstr ""
#: ideprojectstrconsts.lispkgdefsnamespaces
msgid "Namespaces"
msgstr "Vardų erdvės"
@ -66,6 +74,18 @@ msgstr "Nepavyko rašyti į projektui %s priklausantį failą.%sKlaida: %s"
msgid "Project Source Directory Mark"
msgstr "Projekto pradinio aplanko žymė"
#: ideprojectstrconsts.lissaveallimagesizestoindividualfiles
msgid "Save all image sizes to individual files"
msgstr ""
#: ideprojectstrconsts.lissaveicontofile
msgid "Save icon to file"
msgstr ""
#: ideprojectstrconsts.lissaveonlycurrentimagesize
msgid "Save only current image size"
msgstr ""
#: ideprojectstrconsts.lisstrangelpifile
msgid "Strange lpi file"
msgstr "Keistas„.lpi“ failas"

View File

@ -49,6 +49,14 @@ msgstr ""
msgid "File \"%s\" not found."
msgstr "Bestand \"%s\" niet gevonden."
#: ideprojectstrconsts.lishowtoproceed
msgid "How to proceed?"
msgstr ""
#: ideprojectstrconsts.lismultipleimagesinfo
msgid "An icon can contain images at several sizes, but the selected file format allows only a single image per file."
msgstr ""
#: ideprojectstrconsts.lispkgdefsnamespaces
msgid "Namespaces"
msgstr ""
@ -67,6 +75,18 @@ msgstr "Kan het status bestand van project %s%s niet schrijven. Four %s"
msgid "Project Source Directory Mark"
msgstr "Project broncode directory merk"
#: ideprojectstrconsts.lissaveallimagesizestoindividualfiles
msgid "Save all image sizes to individual files"
msgstr ""
#: ideprojectstrconsts.lissaveicontofile
msgid "Save icon to file"
msgstr ""
#: ideprojectstrconsts.lissaveonlycurrentimagesize
msgid "Save only current image size"
msgstr ""
#: ideprojectstrconsts.lisstrangelpifile
msgid "Strange lpi file"
msgstr ""

View File

@ -48,6 +48,14 @@ msgstr ""
msgid "File \"%s\" not found."
msgstr "Nie znaleziono pliku \"%s\"."
#: ideprojectstrconsts.lishowtoproceed
msgid "How to proceed?"
msgstr ""
#: ideprojectstrconsts.lismultipleimagesinfo
msgid "An icon can contain images at several sizes, but the selected file format allows only a single image per file."
msgstr ""
#: ideprojectstrconsts.lispkgdefsnamespaces
msgid "Namespaces"
msgstr "Przestrzenie nazw"
@ -67,6 +75,18 @@ msgstr "Nie można zapisać pliku statusu \"%s\"%spakietu %s.%sBłąd: %s"
msgid "Project Source Directory Mark"
msgstr "Znacznik katalogu źródeł pakietu"
#: ideprojectstrconsts.lissaveallimagesizestoindividualfiles
msgid "Save all image sizes to individual files"
msgstr ""
#: ideprojectstrconsts.lissaveicontofile
msgid "Save icon to file"
msgstr ""
#: ideprojectstrconsts.lissaveonlycurrentimagesize
msgid "Save only current image size"
msgstr ""
#: ideprojectstrconsts.lisstrangelpifile
msgid "Strange lpi file"
msgstr "Dziwny plik lpi"

View File

@ -44,6 +44,14 @@ msgstr ""
msgid "File \"%s\" not found."
msgstr ""
#: ideprojectstrconsts.lishowtoproceed
msgid "How to proceed?"
msgstr ""
#: ideprojectstrconsts.lismultipleimagesinfo
msgid "An icon can contain images at several sizes, but the selected file format allows only a single image per file."
msgstr ""
#: ideprojectstrconsts.lispkgdefsnamespaces
msgid "Namespaces"
msgstr ""
@ -62,6 +70,18 @@ msgstr ""
msgid "Project Source Directory Mark"
msgstr ""
#: ideprojectstrconsts.lissaveallimagesizestoindividualfiles
msgid "Save all image sizes to individual files"
msgstr ""
#: ideprojectstrconsts.lissaveicontofile
msgid "Save icon to file"
msgstr ""
#: ideprojectstrconsts.lissaveonlycurrentimagesize
msgid "Save only current image size"
msgstr ""
#: ideprojectstrconsts.lisstrangelpifile
msgid "Strange lpi file"
msgstr ""

View File

@ -48,6 +48,14 @@ msgstr "Estender caminho de busca de unidade do projeto com%s\"%s\"?"
msgid "File \"%s\" not found."
msgstr "Arquivo \"%s\" não encontrado."
#: ideprojectstrconsts.lishowtoproceed
msgid "How to proceed?"
msgstr ""
#: ideprojectstrconsts.lismultipleimagesinfo
msgid "An icon can contain images at several sizes, but the selected file format allows only a single image per file."
msgstr ""
#: ideprojectstrconsts.lispkgdefsnamespaces
msgid "Namespaces"
msgstr "Espaços de nome"
@ -66,6 +74,18 @@ msgstr "Incapaz de escrever arquivo de estado para o projeto %s%sErro: %s"
msgid "Project Source Directory Mark"
msgstr "Marca do Diretório Fonte do Projeto"
#: ideprojectstrconsts.lissaveallimagesizestoindividualfiles
msgid "Save all image sizes to individual files"
msgstr ""
#: ideprojectstrconsts.lissaveicontofile
msgid "Save icon to file"
msgstr ""
#: ideprojectstrconsts.lissaveonlycurrentimagesize
msgid "Save only current image size"
msgstr ""
#: ideprojectstrconsts.lisstrangelpifile
msgid "Strange lpi file"
msgstr "Arquivo lpi estranho"

View File

@ -48,6 +48,14 @@ msgstr "Дополнить список путей поиска модулей
msgid "File \"%s\" not found."
msgstr "Файл \"%s\" не найден."
#: ideprojectstrconsts.lishowtoproceed
msgid "How to proceed?"
msgstr ""
#: ideprojectstrconsts.lismultipleimagesinfo
msgid "An icon can contain images at several sizes, but the selected file format allows only a single image per file."
msgstr ""
#: ideprojectstrconsts.lispkgdefsnamespaces
msgid "Namespaces"
msgstr "Пространства имён"
@ -66,6 +74,18 @@ msgstr "Невозможно записать файл состояния для
msgid "Project Source Directory Mark"
msgstr "Метка каталога с исходным кодом проекта"
#: ideprojectstrconsts.lissaveallimagesizestoindividualfiles
msgid "Save all image sizes to individual files"
msgstr ""
#: ideprojectstrconsts.lissaveicontofile
msgid "Save icon to file"
msgstr ""
#: ideprojectstrconsts.lissaveonlycurrentimagesize
msgid "Save only current image size"
msgstr ""
#: ideprojectstrconsts.lisstrangelpifile
msgid "Strange lpi file"
msgstr "Странный файл LPI"

View File

@ -48,6 +48,14 @@ msgstr ""
msgid "File \"%s\" not found."
msgstr "Súbor \"%s\" nenájdený."
#: ideprojectstrconsts.lishowtoproceed
msgid "How to proceed?"
msgstr ""
#: ideprojectstrconsts.lismultipleimagesinfo
msgid "An icon can contain images at several sizes, but the selected file format allows only a single image per file."
msgstr ""
#: ideprojectstrconsts.lispkgdefsnamespaces
msgid "Namespaces"
msgstr ""
@ -66,6 +74,18 @@ msgstr "Nemožno zapísať stavový súbor projektu %s%sChyba: %s"
msgid "Project Source Directory Mark"
msgstr "Značka zdrojového adresára projektu"
#: ideprojectstrconsts.lissaveallimagesizestoindividualfiles
msgid "Save all image sizes to individual files"
msgstr ""
#: ideprojectstrconsts.lissaveicontofile
msgid "Save icon to file"
msgstr ""
#: ideprojectstrconsts.lissaveonlycurrentimagesize
msgid "Save only current image size"
msgstr ""
#: ideprojectstrconsts.lisstrangelpifile
msgid "Strange lpi file"
msgstr ""

View File

@ -48,6 +48,14 @@ msgstr "Projenin birim arama yolunu %s ile genişlet\"%s\"?"
msgid "File \"%s\" not found."
msgstr "Dosya \"%s\" bulunamadı."
#: ideprojectstrconsts.lishowtoproceed
msgid "How to proceed?"
msgstr ""
#: ideprojectstrconsts.lismultipleimagesinfo
msgid "An icon can contain images at several sizes, but the selected file format allows only a single image per file."
msgstr ""
#: ideprojectstrconsts.lispkgdefsnamespaces
msgid "Namespaces"
msgstr "Alanadı"
@ -66,6 +74,18 @@ msgstr "%s%sHata: %s projesi için durum dosyası yazılamıyor"
msgid "Project Source Directory Mark"
msgstr "Proje Kaynak Dizini İşareti"
#: ideprojectstrconsts.lissaveallimagesizestoindividualfiles
msgid "Save all image sizes to individual files"
msgstr ""
#: ideprojectstrconsts.lissaveicontofile
msgid "Save icon to file"
msgstr ""
#: ideprojectstrconsts.lissaveonlycurrentimagesize
msgid "Save only current image size"
msgstr ""
#: ideprojectstrconsts.lisstrangelpifile
msgid "Strange lpi file"
msgstr "Garip lpi dosyası"

View File

@ -48,6 +48,14 @@ msgstr "Доповнити список шляхів пошуку модулів
msgid "File \"%s\" not found."
msgstr "Файл \"%s\" не знайдено."
#: ideprojectstrconsts.lishowtoproceed
msgid "How to proceed?"
msgstr ""
#: ideprojectstrconsts.lismultipleimagesinfo
msgid "An icon can contain images at several sizes, but the selected file format allows only a single image per file."
msgstr ""
#: ideprojectstrconsts.lispkgdefsnamespaces
msgid "Namespaces"
msgstr "Простори назв"
@ -66,6 +74,18 @@ msgstr "Неможливо записати файл стану у проєкт
msgid "Project Source Directory Mark"
msgstr "Мітка теки програмних файлів проєкту"
#: ideprojectstrconsts.lissaveallimagesizestoindividualfiles
msgid "Save all image sizes to individual files"
msgstr ""
#: ideprojectstrconsts.lissaveicontofile
msgid "Save icon to file"
msgstr ""
#: ideprojectstrconsts.lissaveonlycurrentimagesize
msgid "Save only current image size"
msgstr ""
#: ideprojectstrconsts.lisstrangelpifile
msgid "Strange lpi file"
msgstr "Дивний lpi файл"

View File

@ -51,6 +51,14 @@ msgstr "扩展项目单元搜索路径至%s\"%s\"?"
msgid "File \"%s\" not found."
msgstr "文件 \"%s\" 未找到。"
#: ideprojectstrconsts.lishowtoproceed
msgid "How to proceed?"
msgstr ""
#: ideprojectstrconsts.lismultipleimagesinfo
msgid "An icon can contain images at several sizes, but the selected file format allows only a single image per file."
msgstr ""
#: ideprojectstrconsts.lispkgdefsnamespaces
msgid "Namespaces"
msgstr "命名空间"
@ -69,6 +77,18 @@ msgstr "无法为项目 %s 写入状态文件 %s 错误: %s"
msgid "Project Source Directory Mark"
msgstr "项目源目录标记"
#: ideprojectstrconsts.lissaveallimagesizestoindividualfiles
msgid "Save all image sizes to individual files"
msgstr ""
#: ideprojectstrconsts.lissaveicontofile
msgid "Save icon to file"
msgstr ""
#: ideprojectstrconsts.lissaveonlycurrentimagesize
msgid "Save only current image size"
msgstr ""
#: ideprojectstrconsts.lisstrangelpifile
msgid "Strange lpi file"
msgstr "奇怪的 lpi 文件"

View File

@ -688,8 +688,10 @@ begin
if (Graphic is TCustomIcon) then
begin
// Save Icon as .ico or .icns
if SameText(FileExt, TIcon.GetFileExtensions) or SameText(FileExt, TIcnsIcon.GetFileExtensions) then
// Save Icon as .ico or .icns or .cur
if SameText(FileExt, TIcon.GetFileExtensions) or SameText(FileExt, TIcnsIcon.GetFileExtensions) or
SameText(FileExt, TCursorImage.GetFileExtensions)
then
TCustomIcon(Graphic).SaveToStream(Stream)
else
// Save current image of Icon as format given by FileExt