Dobrý den,
plánuji napsat další Unpacker plugin, jenže tyto archivy využívají obecné přípony DAT. Naštěstí je lze rozpoznat podle unikátního názvu souboru, takže je lze zacílit pomocí masky souborů. (Například maska: "backup_####_##_##*.dat" by odpovídala souboru "backup_2009_03_24_dokumenty.dat")
- AddCustomUnpacker umožňuje zadat masku podporovaných souborů, takže lze tento případ vyřešit.
- AddPanelArchiver však umožňuje zadat jen příponu názvu souboru, takže by byl v případě DAT přípony uživatel zmaten všudypřítomnými "archivy", které nejsou archivy.
Navrhuji:
1) AddPanelArchiver: změnit parametr extensions ze seznamu přípon na obvyklé masky jak je použito v AddCustomUnpacker (tento bod mne tlačí nejvíce... ostatní jsou méně důležité)
2) AddCustomUnpacker: odstranit přebytečný parametr title, který může být bez problémů automaticky vygenerován Salamanderem podobně jako se tomu děje u Panel Archiverů při použití AddPanelArchiver
Poznámky ke konfiguraci:
- Panelové Archivery jsou jedinným místem v konfiguraci, které nevyužívají masky. Editory, Viewery i Unpackery masky používají
- Je zvláštní, že zatímco způsob zadání přípon panel archiveru je docela přehledný a sjednocený s ostatními částmi konfigurace; zadání masek Unpackeru je jen v malém nepřehledném okénku
Současné deklarace:
// 'title' je nazev custom unpackeru pro uzivatele
// 'masks' jsou masky souboru archivu (hleda se podle nich cim rozpakovavat dany archiv, oddelovac je ';' (escape sekvence pro ';' je ";;") a pouzivaji se klasicky wildcards '*' a '?' plus '#' pro '0'..'9')
void WINAPI AddCustomUnpacker(const char *title, const char *masks, BOOL update);
// 'extensions' jsou pripony archivu, ktere se timto pluginem maji zpracovavat (oddelovac je ';' (zde nema ';' zadnou escape sekvenci) a pouziva se wildcard '#' pro '0'..'9')
void WINAPI AddPanelArchiver(const char *extensions, BOOL edit, BOOL updateExts);