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!