Page 1 of 1
Vybraná položka po přesunu (F6) označených souborů...
Posted: 09 Jul 2007, 03:09
by zarevak
Dobrý den,
nevím, do jaké části fóra toto zařadit - zda se jedná o chybu nebo vlastnost nebo něco jiného....
Pokud mám složku obsahující několik položek a označím (
select) tři po sobě jdoucí (pomocí klávesy Insert), skončí kurzor (
focus) na položce
za seznamem označených souborů a po dokončení přesunu (F6) označených položek zůstane kurzor na stejné položce.
Příklad:
jedna
dve
tri
ctyri << kurzor zde
pet
Po přesunu:
ctyri << kurzor zde
pet
Pokud však označím (
select) tři po sobě jdoucí položky, přesunu kurzor (
focus) na druhou označenou a provedu přesun (F6), tak se kurzor po dokončení přesunu přesune na položku
o dvě za seznam položek...
Příklad:
jedna
dve << kurzor zde
tri
ctyri
pet
Po přesunu:
ctyri
pet << kurzor zde a nechápu proč
Očekával bych, že se kurzor vždy přesune za první neoznačenou zbylou položku v seznamu
- při označení
jedna,
tri a
ctyri a kurzoru na
jedna se po přesunu kurzor přesune na položku
dve
- při označení
jedna,
tri a
ctyri a kurzoru na
tri se po přesunu kurzor přesune na položku
pet
Posted: 11 Jul 2007, 16:22
by Jan Rysavy
Současné chování je postavené čistě na indexech. Salamander nehodnotí, které soubory zmizely, pouze se pokouší dodržet "TopIndex" (hloupě neodrolovat na začátek seznamu) a dále držet "FocusIndex", tedy zachovat focus na X-té položce. Pokud X-tá položka neexistuje (změnil se počet položek), zadrhne se na focus na začátku nebo konci seznamu.
To myslím vysvětluje oba popsané případy.
Posted: 12 Jul 2007, 22:50
by zarevak
Jan Rysavy wrote:Salamander nehodnotí, které soubory zmizely, pouze se pokouší dodržet "TopIndex" a "FocusIndex", tedy zachovat focus na X-té položce. Pokud X-tá položka neexistuje (změnil se počet položek), zadrhne se na focus na začátku nebo konci seznamu.
To myslím vysvětluje oba popsané případy.
Indexy vysvětlují druhý případ, kdy kurzor je na položce s indexem 2 (indexace od 1) a po skončení práce zůstává na položce 2 (a uživateli se zdá, že přeskočil položku
ctyri s indexem 1).
V prvním případě však kurzor skočí na index 1, přestože původně byl na indexu 4 (nejde o návrat na začátek, protože Salamnder toto udělá, přestože jsou před tím další souboru v příkladu s indexy 0 a méně) -
vypadá to, že Salamander ještě kontroluje existenci původně vybrané (focus) položky.

Pokud je kurzor na položce, která nezmizí, tak se Salamander zachová správně a kurzorem na této položce zůstane

Pokud je kurzor na položce, která zmizí, Salamander kurzor přesune na pro uživatele dopředu nespecifikovatelnou položku
Test:
1) Vyrobte si složku s desítkami položek a druhou pomocnou prázdnou složku.
2) Označte každou druhou položku v první složce.
A: 3) kurzorem se přesuňte na jakoukoliv neoznačenou položku a přesuňte označené soubory do druhé složky. Kurzor, ať byl kdekoliv zůstane na stejné položce.
B: 3) kurzorem se přesuňte na jakoukoliv označenou položku a přesuňte označené položky do druhé složky - zkuste si předem tipnout, na jaké položce kurzor skončí (skončí na stejném místě na obrazovce, ale položka bude totálně nepředvídatelná)
Z vlákna se tedy stal jednoznačný Feature Request: Ať kurzor vždy skončí blízko původně vybrané (focus) položky (jak popsáno v prvním příspěvku)
Posted: 13 Jul 2007, 06:08
by Jan Rysavy
Aha, pravda. To co jsem popsal platí pouze v případě, že zmizí focused položka. Pokud focused položka zůstane, priroritně ji Salamander zvolí. To vysvětluje případ jedna.
Otázkou je, jak požadavek řešit. Jakmile obdržíme nový listing, nemáme již k dispozici ten starý. Pouze si pamatujeme jméno staré focused položky, TopIndex a FocusIndex. Jak tedy dohledat nejbližší položku, pokud ta focused zmizela?
Posted: 13 Jul 2007, 11:56
by zarevak
Jan Rysavy wrote:Otázkou je, jak požadavek řešit. Jakmile obdržíme nový listing, nemáme již k dispozici ten starý. Pouze si pamatujeme jméno staré focused položky, TopIndex a FocusIndex. Jak tedy dohledat nejbližší položku, pokud ta focused zmizela?
Pokud předpokládáme, že původní seznam byl seřazený (v Salamanderu snad vždy pravda) a nový seznam bude seřazený (taky vždy pravda) stejným způsobem (tady možná drobný zádrhel...), tak můžeme zkusit nenalezenou položku virtuálně zařadit do nového seznamu a vybrat položku za ní. Potřeba však bude udržet kromě názvu i všechny parametry potřebné pro vybrané řazení.
Posted: 13 Jul 2007, 15:24
by Jan Rysavy
To by šlo!