Page 1 of 1

Získání unikátního identifikátoru zdroje (srcUID)

Posted: 18 Jan 2009, 18:35
by stepand76
srcUID se předává do metody ViewFile (při otevření vieweru) a lze je poté používat např. v metodách GetNextFileNameForViewer a GetPreviousFileNameForViewer (pro procházení mezi soubory mezi vieweru). Funguje to perfektně a prohlížecí pluginy toho plně využívají.

Chci udělat viewer, který by zobrazoval určité informace o souborech. Ale ne pro jeden typ souboru jak to dělají stávající viewery, ale nezávisle na typu souboru. Čili chtěl bych viewer otevřít jinou cestou než pomocí F3 či Files > View, ale např. příkazem z menu Plugins. To není problém, ale nezískám srcUID abych pak mohl snadno procházet mezi soubory.

Je nějaká cesta jak srcUID získat?

Posted: 22 Jan 2009, 13:15
by Petr Solin
Pridal jsem to do pripravovane 2.52 beta 1. Metoda CSalamanderGeneralAbstract::GetPanelEnumFilesParams vraci enumFilesSourceUID a enumFilesCurrentIndex.

Posted: 22 Jan 2009, 13:46
by stepand76
Díky. Bude nová verze SDK uvolněna už s 2.52 Beta1?

Posted: 22 Jan 2009, 14:21
by konelupy
Čili chtěl bych viewer otevřít jinou cestou než pomocí F3 či Files > View
Nebylo by dobré se zamyslet co delat v pripade ze budeme mit vice viewer pluginu na stejny typ souboru ?
otevrit seznam pluginu po F3 asi nebude to prave ze ?
prava mys se mi taky moc nezda

Posted: 22 Jan 2009, 14:59
by zarevak
V současnosti máme toto:
F3 - základní (specializovaný) plugin
Alt+F3 - alternativní plugin
Ctrl+Shift+F3 - seznam (menu) všech viewer pluginů

Osobně si většinou vystačím s F3 (pro náhled, který rozumí datům) a Alt+F3 (pro binární náhled obsahu souboru). Ctrl+Shift+F3 využiji vyjímečně, snad jen v případě špatného názvu souboru.

Toto řešení dostačuje dokud máme pro jeden typ souboru jeden základní viewer. Dokážu si představit situaci, že by třeba pro EXE soubory kromě současného PEVieweru a binárního Internal Vieweru přibyl třetí: Resource Viewer na způsob stařičkého Resource Hackeru.

Přídání menu pro F3 i Alt+F3 se bojím, protože by se tak koplikovala práce se Salamanderem. Mít jeden výchozí Viewer na F3 a druhý na Alt+F3 mne omezuje ve využití jen dvou různých. Ctrl+Shift+F3 je dosti krkolomná zkatka (ještě jsem se jí nenaučil).

Bláznívé nápady:
- přidat menu po F3/Alt-F3 - nelíbí, protože se otevře jen někdy (málo předvídatelné) a je třeba stisk klávesy navíc
- nechat jak je a další viewery otevírat přes Ctrl+Shift+F3 - nelíbí, protože Ctrl+Shift+F3 je krkolomné a ve výše uvedeném případě, PEViewer a Resource Viewer bych viděl jako pluginy s podobnou četností využití.
- v případě uvedeného příkladu odsunout Internal Viewer z Alt+F3 a tam dosadit druhý plugin - nelíbí, protože řeší jen dva specializované pluginy a odstraňuje "jistotu" binárního náhledu pomocí Alt+F3.
- otevřít všechny primární viewery zároveň - nelíbí... (jen bláznívý nápad)
- zneužít Ctrl+F3 (řazení) a Shift+F3 (otevřít složku v Exploreru) - nelíbí, mění zavedené postupy
- zavést nové klávesové zkratky pro další viewery (o tom je úvodní dotaz) - nelíbí, protože se musím učit Ctrl+Shift+Alt+Win+R pro otevření Resource Vieweru.
- zavést kombinované klávesové zkratky (byly na DOSu, jsou ve Vistual Studiu; např Ctrl+K, M). Pokud by se vytvořilo menu, které by mělo správně nastavené klávesové zkratky (podtržená písmenka), tak by to tak fungovalo... - nelíbí, protože buď nová klávesová zkratka nebo menu

Poznámka: Resource Viewer plugin je čistě fiktivní vytvořen jen pro potřeby tohoto příspěvku a jakákoliv shoda s jakýmkoliv skutečným software je čistě náhodná.

Posted: 22 Jan 2009, 15:11
by stepand76
zarevak wrote:Poznámka: Resource Viewer plugin je čistě fiktivní vytvořen jen pro potřeby tohoto příspěvku a jakákoliv shoda s jakýmkoliv skutečným software je čistě náhodná.
No tohle mě zajímá! Plugin pro procházení resources (jako FileSystem) možná časem přestane být fiktivní! Je to jedne z plánů, který chci zrealizovat. Kdyby se do toho někdo (zarevaku) snad chtěl pustit ať dá vědět. Byla by škoda kdyby dva dělali to samé...

Jinak mě Ctrl+Shift+F3 přijde dostatečné. Ještě by to možná mohlo respektovat příponu a nabízet pouze viewery, které mají danou příponu zaregistrovanou.

Posted: 22 Jan 2009, 15:26
by zarevak
stepand76 wrote:No tohle mě zajímá! Plugin pro procházení resources (jako FileSystem) možná časem přestane být fiktivní! Je to jedne z plánů, který chci zrealizovat. Kdyby se do toho někdo (zarevaku) snad chtěl pustit ať dá vědět. Byla by škoda kdyby dva dělali to samé...
Právě proto jsem to napsal 8) Takový plugin mi totiž trošku schází, ale zatím nemám v plánu ho realizovat a nevím o nikom, kdo jiný by na něm pracoval. Pokusím se najít své staré zdrojáky na procházení resources a podívám se na možnosti. Ale myslím, že brzy se k realizaci takového pluginu nedostanu.
stepand76 wrote:Jinak mě Ctrl+Shift+F3 přijde dostatečné. Ještě by to možná mohlo respektovat příponu a nabízet pouze viewery, které mají danou příponu zaregistrovanou.
Tady popíráš zrovna to, co jsem psal: Ctrl+Shift+F3 je velmi užitečné právě ve chvíli, kdy soubor má špatnou koncovku (nebo různě přejmenované XML soubory - manifesty, ...). V současnosti pokud vím ke kolizi viewer pluginů nedochází, takže k ničemu jinému Ctrl+Shift+F3 užitečné není. Teoreticky by se přiřazené pluginy mohly řadit v menu jako první a oddělovátkem (separator) oddělit od těch ostatních.

Posted: 22 Jan 2009, 15:29
by Jan Patera
konelupy wrote:
Čili chtěl bych viewer otevřít jinou cestou než pomocí F3 či Files > View
Nebylo by dobré se zamyslet co delat v pripade ze budeme mit vice viewer pluginu na stejny typ souboru ?
Mala poznamka, pokud typem rozumite vylozene priponu: uz ted se tak deje. Viewer ma moznost rici, ze danemu soubor nerozumi, a necha Salamandera pouzit dalsi viewer. Nakonec v nejhorsim pripade vse skonci u interniho vieweru.
Je mi ale jasne, ze to neresi pripad, kdy vice vieweru je schopno zobrazit ruzne veci z jednoho typu/pripony/formatu.

Posted: 22 Jan 2009, 15:45
by stepand76
zarevak wrote:Právě proto jsem to napsal 8) Takový plugin mi totiž trošku schází, ale zatím nemám v plánu ho realizovat a nevím o nikom, kdo jiný by na něm pracoval. Pokusím se najít své staré zdrojáky na procházení resources a podívám se na možnosti. Ale myslím, že brzy se k realizaci takového pluginu nedostanu.
OK. Dám vědět než se do toho pustím. Nějaké zdroje pro procházení resources mám...
zarevak wrote:Tady popíráš zrovna to, co jsem psal: Ctrl+Shift+F3 je velmi užitečné právě ve chvíli, kdy soubor má špatnou koncovku (nebo různě přejmenované XML soubory - manifesty, ...). V současnosti pokud vím ke kolizi viewer pluginů nedochází, takže k ničemu jinému Ctrl+Shift+F3 užitečné není. Teoreticky by se přiřazené pluginy mohly řadit v menu jako první a oddělovátkem (separator) oddělit od těch ostatních.
Máš pravdu, ale obecně to tak nemusí být. Klidně by se mohlo stát, že jeden soubor (se správnou příponou) zobrazí jeden plugin správně a druhý plugin ne. Ale uznávám, že je to okrajový případ.
Pak by se ti hodilo vybírat pouze mezi pluginy pro tu příponu. Jsem psal teď mi to vyhovuje, jen mi přijde škoda, že se zobrazí menu s hromadou pluginů a 9 z 10 jsou mi pro zobrazení souboru k ničemu. Možná další klávesová zkratka?

Posted: 22 Jan 2009, 16:41
by Ether
Kdyby se to někomu chtělo dělat v Delphi, tak nabízím odkaz na zdrojáky k práci s resources (MPL) od Colina Wilsona, autora XN Resource Editoru.

Posted: 22 Jan 2009, 17:33
by stepand76
ether wrote:Kdyby se to někomu chtělo dělat v Delphi, tak nabízím odkaz na zdrojáky k práci s resources (MPL) od Colina Wilsona, autora XN Resource Editoru.
Díky.