Page 1 of 1

SDK

Posted: 14 Mar 2006, 19:16
by PepaR
Ještě jsme se chtěl zeptat jak to bude s SDK? Vydate ji zaroveň s finalni verzi?

Re: SDK

Posted: 14 Mar 2006, 19:50
by Jan Rysavy
PepaR wrote:Ještě jsme se chtěl zeptat jak to bude s SDK? Vydate ji zaroveň s finalni verzi?
Bohužel ne. Na SDK je minimálně měsíc práce, který nemáme. Pokusíme se na SDK zapracovat, až dostaneme verzi 2.5 ven.

Posted: 14 Mar 2006, 21:28
by Hadez
Co vlastně bude součástí SDK? Na malé hraní by snad by stačilo sem vypsat prototypy funkcí :-)

Posted: 14 Mar 2006, 22:42
by Jan Rysavy
SDK je v podstatě jen balík .H souborů pro MS Visual C++. Dokumentace zatím neexistuje. Jednotlivé funkce mají komentáře, které jsou psány dost hutným stylem. Jejich přepis do angličtiny bude právě veliký kus práce, které se děsíme (jde tak o 500KB čistého textu). K SDK přibalíme několik pluginů jako příklady.

Pro dokumentaci našich obav přikládám malý "příklad":

Code: Select all

    // zmena cesty v panelu do pluginoveho FS, 'fsName' je jmeno FS (viz GetPluginFSName; nemusi
    // byt nutne z tohoto pluginu), 'fsUserPart' je cesta v ramci FS; pokud neni nova cesta v FS
    // dostupna, zkousi uspet se zkracenymi cestami (opakovane volani ChangePath a ListCurrentPath,
    // viz CPluginFSInterfaceAbstract); pokud jde o zmenu cesty v ramci aktualniho FS (viz
    // CPluginFSInterfaceAbstract::IsOurPath) a nepodari se od nove cesty nalezt pristupnou cestu,
    // zkusi najit pristupnou cestu jeste od puvodni (aktualni) cesty, a pokud zklame i ta,
    // zmeni cestu na root prvniho lokalniho fixed drivu (velka sance uspechu, panel nezustane prazdny);
    // 'panel' je jeden z PANEL_XXX; neni-li 'suggestedTopIndex' -1, bude nastaven jako top-index
    // v panelu (jen pro novou cestu, na zkracene (zmenene) ceste se nenastavuje); neni-li
    // 'suggestedFocusName' NULL, zkusi se nalezt (ignore-case) a vyfokusit polozka stejneho jmena
    // (jen pro novou cestu, na zkracene (zmenene) ceste se neprovadi); je-li 'forceUpdate' TRUE,
    // neoptimalizuje se (cesta se normalne vylistuje) pripad zmeny cesty na aktualni cestu v panelu
    // (bud nova cesta odpovida aktualni ceste rovnou nebo na ni byla hned prvnim ChangePath
    // zkracena); neni-li 'failReason' NULL, nastavuje se na jednu z konstant CHPPFR_XXX (informuje
    // o vysledku metody); vraci TRUE pokud se podarilo vylistovat pozadovanou cestu
    // (nezkracenou/nezmenenou)
    // POZNAMKA: pokud potrebujete, aby se FS cesta zkusila otevrit i v odpojenych FS, pouzijte metodu
    // ChangePanelPath (ChangePanelPathToPluginFS odpojene FS ignoruje - pracuje jen s FS otevrenym
    // v panelu nebo otevira nove FS);
    // omezeni: hlavni thread + mimo metody CPluginFSInterfaceAbstract a CPluginDataInterfaceAbstract
    // (hrozi napr. zavreni FS otevreneho v panelu - metode by mohl prestat existovat 'this')
    virtual BOOL WINAPI ChangePanelPathToPluginFS(int panel, const char *fsName, const char *fsUserPart,
                                                  int *failReason = NULL, int suggestedTopIndex = -1,
                                                  const char *suggestedFocusName = NULL,
                                                  BOOL forceUpdate = FALSE) = 0;

Posted: 15 Mar 2006, 11:43
by Datalog
A bylo by hodně drzé, poprosit Vás o zveřejnění těch header files a nějakou import library? :twisted:
Prostě jen tak, na hraní. Tedy, právě teď nemám moc času nazbyt, ale předpokládám, že než vyjde 2.5 full a pak SDK, tak to bude ještě dlooouho času na experimentování na vlastní riziko.

EDIT: Třeba i s omezením/nařízením, že takvý plugin se nesmí dostat ven. Nebo třeba pokud se dostane ven, tak musí mít interně hlídání na aktuální "beta" verzi a ve vyšší se nespustí - aby se zamezilo problémům se zpětnou kompatibilitou a nikdo Vás do něčeho takového nemohl tlačit.

Posted: 15 Mar 2006, 12:25
by Jan Rysavy
Knihovny .LIB nejsou třeba, vše je řešeno na úrovni abstraktních tříd, stejně jako například OLE.

Nedokončené SDK se nám ven dávat nechce. Pokud byste někdo měl atraktivní nápad na plugin, není problém se dohodnout.

Posted: 16 Mar 2006, 00:04
by Datalog
Jan Rysavy wrote:Pokud byste někdo měl atraktivní nápad na plugin, není problém se dohodnout.
Což o to, nápad by byl, ale čas není :lol:

Hromadná změna data a času u souborů a adresářů (pozor, direktoráře nelze (nijak rozumně) u řady win9x). A to změna modified i created (resp. volitelně).
U adresářů měnit datum/čas na nejstarší či nejmladší datum/čas souboru či subadresáře.
U souborů měnit dle obsahu. Z exif, zip (nerekurzivně, zip v zipu už ne, žádný unpack, jen průchod) atd. (Napadá mne .pdf, .iso, ...).
A to vše rekurzivně, vždy celý strom, volitelně zda i soubory a pak (vše v jednom průchodu) i adresáře nebo jen adresáře.

Něco podobného jsem si již napsal, konzolová win32 aplikace. Není spolehlivá, občas blbne, ale pro domácí účely stačí. A občas uvažuji o GUI, IMHO pro plugin jak dělané.

Posted: 16 Mar 2006, 06:17
by Jan Rysavy
Jo, to je docela zajímavý kandidát.

Posted: 17 Mar 2006, 00:14
by mazy
datalog, to zni podobne jako vec, o kterou jsem zadal zde.

Posted: 17 Mar 2006, 01:21
by Datalog
mazy wrote:datalog, to zni podobne jako vec, o kterou jsem zadal zde.
Na ten návrh na touch jsem se už díval a řekl bych, že u mne je tomu právě naopak.

V mém případě původně šlo jen o časy/data u adresářů, takže se snažím na čas souboru vůbec nesahat - maximálně tak vrátit původní (exif, zip). O soubor se začnu zajímat jen když je to "container" pro další soubor(y) (resp. logické celky), které obsahují původní datum uvnitř. Dokonce, mám volbu časy/data souborů neměnit ani v případě "conatineru" a datum zapamatovat a použít jen pro adresáře.

Shrnuto, případný plugin budu koncipovat jako hromadné akce ovlivňující čas/datum určitých typů. Typem rozumím adresář, zip, arj, exif (tedy obrázky s rozšířením exif). Rozhodně ne individuální přístup k jednomu konkrétnímu souboru.

Posted: 28 Mar 2006, 20:27
by sodik
Jan Rysavy wrote: Pokud byste někdo měl atraktivní nápad na plugin, není problém se dohodnout.
Jedna z veci, co mi chyba, je browsovanie okolitych pocitacov. Ako pozeram, uz sa to chysta v roadmape.

Ale kedze s pouzitim windows funkcii je sem-tam problem (blokuju,sem-tam nefunguju,...), tak by bolo zaujimave spravit nejakym sposobom cachovane browsovanie (nieco take som si vsimol pri ftp, ale tak dlhodobejsie).

Moznostou je aj alternativny plugin, ako existuje aj v TC, ktory udajne nevyuziva windows funkcie, ale netbios ci co...(nemam skusenosti).

Majte sa.

SDK

Posted: 24 Apr 2006, 17:33
by konelupy
Nevim jak ostatni ale pro mne je SDK lepsi s komentarema v cestine i treba hutnyma nez v anglictine. Pokud by byly priklady tak metodou pokus - omyl
jsem obcas taky programoval - i v sebelepsim manualu byvaji spatne popsane funkce.
Napad na programy ? Napr. ted si hraju s Canon fotakem - takze prenos souboru z fotaku + nahledy (Canony neumeji pripojeni mass storage - tj. jako disk) , neco s EXIFem napr. trideni... to je asi v road mape.
Total commander to ma jako pluginy a kdyz branim Salamandr co vse umi tak tohle neumi :-(
Navic kdyz by melo vic lidi SDK tak ve foru si muzem poradit a dat i treba jednoduche priklady dohromady.
Proste napady jsou a protoze na to hrani taky neni moc casu tak by bylo dobre mit SDK co nejdrive at plugin stihneme naprogramovat treba ve stejnou dobu jako pujde 2.5 na trh.

Plugin pro CANON

Posted: 24 Apr 2006, 19:10
by PepaR
CANON a plugin pro Salamandra, výborný nápad!!!! něco takového už hodně dlouho postrádám a byl bych az top neskonale vděčný. Nu a k SDK, vzdyt ji nemusite prece zverejnovat, ale nabidnout na vyzadani opravdovym zajemcum a Ti budou vdecni za jakékoliv info.

Posted: 25 Apr 2006, 20:37
by Sigi
Taky jsem pro aktualni "hutne ceskou" verzi SDK.
Na foru by se mohla udelat sekce Programovani, a tam by se daly resit problemy a nejasnosti.
Ocenil bych napriklad plugin pro pristu k Symbian systemu v telefonech.