diff options
Diffstat (limited to 'UFileAssoc.pas')
| -rw-r--r-- | UFileAssoc.pas | 100 |
1 files changed, 50 insertions, 50 deletions
diff --git a/UFileAssoc.pas b/UFileAssoc.pas index a2d9573..3e14bf5 100644 --- a/UFileAssoc.pas +++ b/UFileAssoc.pas @@ -44,27 +44,7 @@ type TAssocAction = class const ConstFTAMetaDirectory = '<directory>'; ConstFTAMetaFile = '<file>'; -{$I 'pixmaps/emblem_symbolic_link_png.inc'} -{$I 'pixmaps/gnome_dev_cdrom_16_png.inc'} -{$I 'pixmaps/gnome_dev_floppy_16_png.inc'} -{$I 'pixmaps/gnome_dev_harddisk_16_png.inc'} -{$I 'pixmaps/gnome_dev_removable_usb_16_png.inc'} -{$I 'pixmaps/gnome_mime_application_zip_16_png.inc'} -{$I 'pixmaps/gnome_mime_x_directory_smb_share_16_png.inc'} -{$I 'pixmaps/stock_folder_16_png.inc'} -{$I 'pixmaps/stock_lock_16_png.inc'} -{$I 'pixmaps/stock_lock_48_png.inc'} -{$I 'pixmaps/stock_new_16_png.inc'} -{$I 'pixmaps/stock_up_one_dir_16_png.inc'} -{$I 'pixmaps/tuxcmd_16_png.inc'} -{$I 'pixmaps/tuxcmd_24_png.inc'} -{$I 'pixmaps/tuxcmd_32_png.inc'} -{$I 'pixmaps/tuxcmd_48_png.inc'} -{$I 'pixmaps/tuxcmd_64_png.inc'} -{$I 'pixmaps/tuxcmd_128_png.inc'} - - - +{$I 'resources/icons.inc'} var FolderIcon, FileIcon, UpDirIcon, SymLinkEmblem, FolderIconLnk, FileIconLnk, @@ -85,7 +65,7 @@ procedure AddDefaultItems(List: TList); implementation -uses GTKForms, UConfig, UCore; +uses lazglib2, lazgio2, GTKForms, UConfig, UCore; (********************************************************************************************************************************) @@ -124,62 +104,82 @@ begin end; (********************************************************************************************************************************) +function _g_bytes_new_static(data: Array of Byte; size: gsize): PGBytes; cdecl; external LazGLib2_library name 'g_bytes_new_static'; + + procedure LoadIcons; +var Resource: PGResource; + Bytes: PGBytes; + Error: PGError; begin + Error := nil; + Bytes := _g_bytes_new_static(gresource_icons, Length(gresource_icons)); + Resource := g_resource_new_from_data(Bytes, @Error); + if (Resource = nil) then begin + g_log('tuxcmd', [G_LOG_LEVEL_CRITICAL], 'Error reading icons resource: %s', [Error^.message]); + g_error_free(Error); + Exit; + end; + g_resources_register(Resource); + FolderIcon := TGDKPixbuf.Create(Application); -// FolderIcon.LoadFromInline(@stock_folder_16_png[1]); -// FolderIcon.ScaleSimple(ConfRowHeightReal, ConfRowHeightReal); + FolderIcon.LoadFromResource('/tuxcmd/icons/stock_folder_16_png.png'); + FolderIcon.ScaleSimple(ConfRowHeightReal, ConfRowHeightReal); FileIcon := TGDKPixbuf.Create(Application); -// FileIcon.LoadFromInline(@stock_new_16_png[1]); -// FileIcon.ScaleSimple(ConfRowHeightReal, ConfRowHeightReal); + FileIcon.LoadFromResource('/tuxcmd/icons/stock_new_16_png.png'); + FileIcon.ScaleSimple(ConfRowHeightReal, ConfRowHeightReal); UpDirIcon := TGDKPixbuf.Create(Application); -// UpDirIcon.LoadFromInline(@stock_up_one_dir_16_png[1]); -// UpDirIcon.ScaleSimple(ConfRowHeightReal, ConfRowHeightReal); + UpDirIcon.LoadFromResource('/tuxcmd/icons/stock_up_one_dir_16_png.png'); + UpDirIcon.ScaleSimple(ConfRowHeightReal, ConfRowHeightReal); SymLinkEmblem := TGDKPixbuf.Create(Application); -// SymLinkEmblem.LoadFromInline(@emblem_symbolic_link_png[1]); + SymLinkEmblem.LoadFromResource('/tuxcmd/icons/emblem_symbolic_link_png.png'); FolderIconLnk := TGDKPixbuf.Create(Application); -// FolderIconLnk.FPixbuf := FolderIcon.Copy; -// FolderIconLnk.CopyArea(SymLinkEmblem, 0, 0, SymLinkEmblem.Width, SymLinkEmblem.Height, FolderIconLnk.Width - SymLinkEmblem.Width, FolderIconLnk.Height - SymLinkEmblem.Height); + FolderIconLnk.FPixbuf := FolderIcon.Copy; + FolderIconLnk.CopyArea(SymLinkEmblem, 0, 0, SymLinkEmblem.Width, SymLinkEmblem.Height, FolderIconLnk.Width - SymLinkEmblem.Width, FolderIconLnk.Height - SymLinkEmblem.Height); FileIconLnk := TGDKPixbuf.Create(Application); -// FileIconLnk.FPixbuf := FileIcon.Copy; -// FileIconLnk.CopyArea(SymLinkEmblem, 0, 0, SymLinkEmblem.Width, SymLinkEmblem.Height, FileIconLnk.Width - SymLinkEmblem.Width, FileIconLnk.Height - SymLinkEmblem.Height); + FileIconLnk.FPixbuf := FileIcon.Copy; + FileIconLnk.CopyArea(SymLinkEmblem, 0, 0, SymLinkEmblem.Width, SymLinkEmblem.Height, FileIconLnk.Width - SymLinkEmblem.Width, FileIconLnk.Height - SymLinkEmblem.Height); FolderIconCached := FolderIcon; FileIconCached := FileIcon; FolderIconLnkCached := FolderIconLnk; FileIconLnkCached := FileIconLnk; MounterHDD := TGDKPixbuf.Create(Application); -// MounterHDD.LoadFromInline(@gnome_dev_harddisk_16_png[1]); + MounterHDD.LoadFromResource('/tuxcmd/icons/gnome_dev_harddisk_16_png.png'); MounterRemovable := TGDKPixbuf.Create(Application); -// MounterRemovable.LoadFromInline(@gnome_dev_removable_usb_16_png[1]); + MounterRemovable.LoadFromResource('/tuxcmd/icons/gnome_dev_removable_usb_16_png.png'); MounterFloppy := TGDKPixbuf.Create(Application); -// MounterFloppy.LoadFromInline(@gnome_dev_floppy_16_png[1]); + MounterFloppy.LoadFromResource('/tuxcmd/icons/gnome_dev_floppy_16_png.png'); MounterCD := TGDKPixbuf.Create(Application); -// MounterCD.LoadFromInline(@gnome_dev_cdrom_16_png[1]); + MounterCD.LoadFromResource('/tuxcmd/icons/gnome_dev_cdrom_16_png.png'); MounterNetwork := TGDKPixbuf.Create(Application); -// MounterNetwork.LoadFromInline(@gnome_mime_x_directory_smb_share_16_png[1]); + MounterNetwork.LoadFromResource('/tuxcmd/icons/gnome_mime_x_directory_smb_share_16_png.png'); StockLock16 := TGDKPixbuf.Create(Application); -// StockLock16.LoadFromInline(@stock_lock_16_png[1]); + StockLock16.LoadFromResource('/tuxcmd/icons/stock_lock_16_png.png'); StockLock48 := TGDKPixbuf.Create(Application); -// StockLock48.LoadFromInline(@stock_lock_48_png[1]); + StockLock48.LoadFromResource('/tuxcmd/icons/stock_lock_48_png.png'); ArchiveIcon := TGDKPixbuf.Create(Application); -// ArchiveIcon.LoadFromInline(@gnome_mime_application_zip_16_png[1]); -// ArchiveIcon.ScaleSimple(ConfRowHeightReal, ConfRowHeightReal); + ArchiveIcon.LoadFromResource('/tuxcmd/icons/gnome_mime_application_zip_16_png.png'); + ArchiveIcon.ScaleSimple(ConfRowHeightReal, ConfRowHeightReal); ArchiveIconLnk := TGDKPixbuf.Create(Application); -// ArchiveIconLnk.FPixbuf := ArchiveIcon.Copy; -// ArchiveIconLnk.CopyArea(SymLinkEmblem, 0, 0, SymLinkEmblem.Width, SymLinkEmblem.Height, FolderIconLnk.Width - SymLinkEmblem.Width, FolderIconLnk.Height - SymLinkEmblem.Height); + ArchiveIconLnk.FPixbuf := ArchiveIcon.Copy; + ArchiveIconLnk.CopyArea(SymLinkEmblem, 0, 0, SymLinkEmblem.Width, SymLinkEmblem.Height, FolderIconLnk.Width - SymLinkEmblem.Width, FolderIconLnk.Height - SymLinkEmblem.Height); AppIcon16 := TGDKPixbuf.Create(Application); -// AppIcon16.LoadFromInline(@tuxcmd_16_png[1]); + AppIcon16.LoadFromResource('/tuxcmd/icons/tuxcmd_16_png.png'); AppIcon24 := TGDKPixbuf.Create(Application); -// AppIcon24.LoadFromInline(@tuxcmd_24_png[1]); + AppIcon24.LoadFromResource('/tuxcmd/icons/tuxcmd_24_png.png'); AppIcon32 := TGDKPixbuf.Create(Application); -// AppIcon32.LoadFromInline(@tuxcmd_32_png[1]); + AppIcon32.LoadFromResource('/tuxcmd/icons/tuxcmd_32_png.png'); AppIcon48 := TGDKPixbuf.Create(Application); -// AppIcon48.LoadFromInline(@tuxcmd_48_png[1]); + AppIcon48.LoadFromResource('/tuxcmd/icons/tuxcmd_48_png.png'); AppIcon64 := TGDKPixbuf.Create(Application); -// AppIcon64.LoadFromInline(@tuxcmd_64_png[1]); + AppIcon64.LoadFromResource('/tuxcmd/icons/tuxcmd_64_png.png'); AppIcon128 := TGDKPixbuf.Create(Application); -// AppIcon128.LoadFromInline(@tuxcmd_128_png[1]); + AppIcon128.LoadFromResource('/tuxcmd/icons/tuxcmd_128_png.png'); + + g_resources_unregister(Resource); + g_resource_unref(Resource); + g_bytes_unref(Bytes); end; (********************************************************************************************************************************) |
