Thumbnail plugin při selhání zamezí načtení ikony souboru

Hlášení chyb a problémů programu Altap Salamander. Buďte, prosím, ve svých popisech co nejpodrobnější a vytvořte pro každý incident nový příspěvek. Nevkládejte programem generovaná hlášení o pádu programu, pošlete je e-mailem.
User avatar
zarevak
Plugin Developer
Plugin Developer
Posts: 789
Joined: 04 Feb 2006, 16:49
Location: Prague, Czech Republic

Thumbnail plugin při selhání zamezí načtení ikony souboru

Post by zarevak »

Dobrý den,
při testování Explorer Thumbnails pluginu jsem narazil na drobný problém (AS 2.51): Pokud plugin nenačte náhled souboru (vrátí FALSE z CPluginInterfaceForThumbLoader::LoadThumbnail), tak Salamander zkusí (podle dokumentace) další pluginy, ale už nenačte případné ikony, pokud se žádnému pluginu náhled načíst nepodaří.
Petr Solin
ALTAP Staff
ALTAP Staff
Posts: 1112
Joined: 08 Dec 2005, 09:13
Location: Novy Bor, Czech Republic
Contact:

Post by Petr Solin »

Pokud se nepodari nacist thumbnail, v panelu zustava "staticka" ikona, ktera tam je i kvuli tomu, aby se melo co ukazat nez se thumbnail podari nacist. Ted je tedy asi problem v tom, ze se thumbnaily delaji pro vsechny soubory, tedy i pro ty, ze kterych se musi ikony nacist (treba .exe, .ico, atd.). Explorer Thumbnails plugin pro tyhle soubory thumbnail nevraci nebo to ma byt jen opatreni pro pripad, ze by z neznamych duvodu cteni thumbnailu selhalo?
User avatar
zarevak
Plugin Developer
Plugin Developer
Posts: 789
Joined: 04 Feb 2006, 16:49
Location: Prague, Czech Republic

Post by zarevak »

Jedná se o oba případy. Explorer Thumbnails se registruje jako Thumbnail plugin pro všechny typy souborů (nevím, kdo co má nainstalované a je možné, že může existovat Thumbnail Shell Extension i pro EXE soubory).

Pokud se však generování náhledu nepodaří (ať už proto, že je soubor poškozen nebo nepodporován), tak Explorer Thumbnails vrátí FALSE, čímž by měl umožnit načíst náhled dalším pluginům (podle dokumentace). Toto funguje krásně v případě Eroica Vieweru, který vytvoří náhledy pro dokumenty.

Bohužel pokud žádný plugin náhled nenačte (všechny s odpovidající registrací vrátí FALSE), tak by se měla načíst normální ikona souboru.

Pseudokód, který zkusí všechny možné pluginy (vím, že architektura je jiná, ale toto ukazuje myšlenku):

Code: Select all

GetThumbnail(filename)
{
  thumbnail = NULL;
  i = 0;
  while (thumbnail == NULL && (thumbnailplugin = GetThumbPluginForFile(filename, i) != NULL))
  {
    thumbnail = thumbnailplugin->GetThumbnail(filename);
    i++;
  }
  if (thumbnail == NULL) thumbnail = GetFileIcon(filename); //tenhle řádek v současnosti chybí
  return thumbnail;
}
Petr Solin
ALTAP Staff
ALTAP Staff
Posts: 1112
Joined: 08 Dec 2005, 09:13
Location: Novy Bor, Czech Republic
Contact:

Post by Petr Solin »

Chapu, casem na to mrknu. Nevidim to jako nic fatalniho, je tam staticka ikona, takze to v mnohych pripadech funguje uz ted.
User avatar
zarevak
Plugin Developer
Plugin Developer
Posts: 789
Joined: 04 Feb 2006, 16:49
Location: Prague, Czech Republic

Post by zarevak »

Nejdřív jsem pochopil "statické ikony" jako ikony, které nevyžadují žádné Shell Extension (např .txt). Ale koukám, že statické ikony jsou "simple icons", které mohu nastavit v konfiguraci Salamandera.

Narazil jsem na 4 "simple icons":
- neznámý typ souboru
- známý typ souboru
- spustitelný soubor
- soubor archivu

To nám trochu komplikuje situaci, protože zavádí celkem 4 úrovně ikon:
- simple icons (viz výše)
- file type icons (statické na základě přípony: .txt, .ini, ...) - nevyžadují žádné načítání obsahu; jsou použity v archivech
- self-containing icons (rozšíření předchozí: .ico, .cur, .exe, ...)
- content dependand icons (Shell Extension na základě obsahu dodá ikonu - .html po instalaci MS Office)
(+ pátá úroveň pro ikony s náhledem/samotné náhledy - viz vedlejší diskuze)

Zpět k tématu: Před načtením náhledů je Simple icons postačující (i když uvítal bych File type icons). Avšak pro soubory, pro které se náhled nepodařilo načíst, a na disku, kde je to povolené, by Salamander měl zobrazit stejné ikony jako v ostatních stylech panelu - tedy v případě .html i za použití Shell Extension.
Petr Solin
ALTAP Staff
ALTAP Staff
Posts: 1112
Joined: 08 Dec 2005, 09:13
Location: Novy Bor, Czech Republic
Contact:

Post by Petr Solin »

Jako "staticke" ikony jsem myslel ty, ktere nezavisi na obsahu souboru (pro vsechny soubory s jednou priponou jsou shodne). Tady komplikuje situaci to, ze i tyto ikony se musi nejdrive nacist do cache, a pak teprve se muzou ukazovat pri selhani thumbnaileru (pri selhani se neresi jejich nacitani ze systemu). Tedy prepnete na Tiles, pockejte az se nactou, a pak na Thumbnails a uvidite je tam.
Post Reply