Index: other/TODO.txt =================================================================== diff -u -N --- other/TODO.txt (revision 3e1186252ab31f63d86d86c4b0ff593cfffbefde) +++ other/TODO.txt (revision 0) @@ -1,1048 +0,0 @@ -CURRENT STATS: -- 20566 net code lines (only h, hpp, hxx, c, cpp, cxx files). -************************************************************************************************** -TODO: -- bug: problems with paths longer than MAX_PATH. Allow skipping files. -- bug: problems with saving folder shortcuts ;/ Sometimes they're saved sometimes not. -- BUG: explorer toolbar buttons Copy To & MoveTo does not check the operation type - (at me it does copying and someone reports that it moves) -- BUG: when moving data and in the dst directory some of the files exist and we skip copying - the files then program after moving should not delete the source files that has not - been copied (currently it erases every file in the src dir). -- BUG: some errors (ie. deleting files) does not allow user to skip or sth. -- ADD: when cancelling the task - ask if the user would like to keep the unfinished files. -- ADD: replace the shutdown after finished with executing programs/scripts/commands/... on a specific events (copying finished, copying started, all finished, ...). -- BUG: in custom copy dialog the arrows up/down in the count of copies edit disappears. -- BUG: problems with directories being locked by the program -- MOD: problems with detecting if the mapped drive is network one or local one. -- MOD?: change the file rating from size-based to filedate-based ? -- ADD: additonal options: delete, secure delete. -- MOD: change the way the help is being handled - f1, shift+f1, ... -- MOD: change the way the configuration items are added to the options dialog - they should be autmatically - added , so the registering properties would be the only step needed to view a new config option - - allow headers to be registered too. - - auto adding the config items to the options list -- BUG: program hangs up when trying to pause the task while the feedback dialog is being shown -- ADD: Log strings for main log file -- MOD: optimization of sending cfg property change notifications -- ADD: add new w32 based component as a replacement for lists in status dialog, miniview and options dlg -- ADD: program auto-update -- ADD: profiles handling in options dlg -- ADD: Log file - if the strings should begin with a [ms] -- MOD: change the way data is being kept in CPluginContainer - add the vector (ordering) -- ADD: dialog for managing plugins -- MOD: status i ministatus dialogs redesign. -- MOD: get rid of MFC -- MOD: obs�uga dodatkowych stream�w w NTFS - BackupRead/BackupWrite/BackupSeek(?) -- MOD: je�li rozpoczyna si� nowe zadanie i jest otwarty du�y status i nie jest zaznaczone �adne zadanie, - to nowe zadanie ma si� zaznaczy�. -- ADD: pe�na obs�uga windowego ctrl+z -- MOD: konfigurowalne nazwy nast�pnych kopii plik�w (czyli np. 'kopia (%c) %p') -- ADD: opcja cofania o bufor przy dokopiowywaniu (jak w SRECopy) -- ADD?MOD - optymalizacja dost�pu do no�nik�w danych (je�li co� korzysta z cd'ka, to inny w�tek nie powinien). -- ADVANCED: spr�bowa� zaimplementowa� samo 'core' kopiowania jako interfejs dost�pny z ka�dej aplikacji. - Trzeba si� zastanowi�, czy dialogi potwierdze� powinny si� pojawia� wewn�trz dllki z interfejsem, czy - w programie. To samo dotyczy dialog�w kopiowania... ??? - OG�LNE ZA�O�ENIA: - - ma umo�liwia� kopiowanie ca�ego dysku (np. kopiuj dysk C:\ na E:\ co spowoduje skopiowanie wszystkiego - z c na e) - - obs�uga wielku �cie�ek docelowych - kolejno/r�wnocze�nie - - ftp/net support - download/upload - - multistream read/write (konfigurowalna ilo�� stream�w)+multisource reading (wiele kopii tego samego �r�d�a) - - obs�uga skr�t�w - - pobieranie maksymalnej ilo�ci informacji ju� z dll'ki - - zaznaczanie (flag�) plik�w, kt�re z pewnych wzgl�d�w nie zosta�y przetworzone (do wykorzystania przy - ko�cowym kasowaniu/tworzeniu raportu) - - automatyczna korekacja wielko�ci pliku podczas kopiowania (z aktualizacj� wszystkich licznik�w) - - synchronizacja dw�ch lub wi�cej folder�w (jedno- lub wielostronnie) - - command-line/script support - - ograniczenie transferu - - zmiana �cie�ek �r�d�owych w locie - - rozpocz�cie przetwarzania ju� w momencie otrzymania cz�stkowych danych o operacji - np. wyszukiwanie - plik�w w momencie otrzymania pierwszej �cie�ki �r�d�owej) - - wy�adowanie danych po zako�czeniu operacji - - mo�liwo�� weryfikacji skopiowanych danych - - swobodna regulacja wielko�ci bufor�w w locie (w zale�no�ci od aktualnie przetwarzanej �cie�ki - �r�d�owej/docelowej) - - konkretne operacje (kopiowanie/przenoszenie/synchronizacja) tworzone na bazie skryptowej np. przenoszenie - = wyszukiwanie+kopiowanie+usuwanie - - ograniczenie ilo�ci jednocze�nie wykonywanych zada� (z mo�liwo�ci� prze��czenia aktywnego zadania - /niezale�nego wznowienia) - - rejestrowanie callback�w - info o zmianach status�w zada� (pojedynczych/zbiorowych) - - identyfikacja wolumin�w �r�d�owych przez jaki� rodzaj identyfikatora - - opcja wype�niania b��dnych obszar�w pliku np. zerami (je�li napotkano np. bad sektor) - - bezpieczna obs�uga save-state'�w - kody CRC (przeciwdzia�anie wychrzanianiu si� podczas �adowania save'a) - - konfigurowanie domy�lnej akcji dla kopiowa� -- ADD: jesli zabraknie miejsca na kopiowane pliki - ma sie pojawiac opcja zmiany folderu docelowego. -- CHANGE: spr�bowa� zmieni� wszystkie dialogi wyboru folderu na ten "porz�dny" -- VISUAL APPEARANCE: przeprowadzi� do�� radykalne zmiany wygl�du CStatusDlg - aktualnie jest do wy�wietlenia - za du�o danych, za� na dialogu jest za ma�o miejsca. Zmieni� widok zaawansowanych albo poprzez dorzucenie - tooltip�w do aktualnie istniej�cych kontrolek (�atwiejsze, ale zdecydowanie gorszy efekt), lub zamieni� - ca�� praw� stron� okna w jedn� wielk� w pe�ni konfigurowaln� list� (CListCtrl), kt�ra b�dzie wy�wietla� - tylko to, czego b�dize �yczy� sobie u�ytkownik (co� a'la w�a�ciwo�ci w Delphi ?) - - advanced view po prawej stronie bazowany na clistview lub czym� podobnym - - kolumny w CListView po lewej stronie statusu w pe�ni konfigurowalne -- FEATURE EXPAND: miniview zawiera na razie jedynie minimum danych - dane dodatkowe typu transfer, ..., - powinny zosta� pokazane w tooltipie(w pe�ni konfigurowalnym) od�wie�aj�cym si� razem z ca�ym miniview. -- ADV. FEATURE - u�ywanie skrypt�w do kopiowania, ew. obs�uga z linii polece�... -- FEATURE: uwzglednianie wszystkich zadan(tych z listy) przy obliczaniu miejsca wolnego. -- FEATURE: wykrywanie nowych wersji CH'a, auto-update -- FEATURE: linki w aboutboxie maj� by� linkami... -- FEATURE: je�li mo�liwe - zmieni� obs�ug� na unikod -- NEW FEATURE: obs�uga ftp'a ? -- BUG: podczas przenoszenia po sieci r�wnie� mo�na u�ywa� MoveFile (nie tylko lokalnie) - jak - okre�li� ? -- ADVANCED: kopiowanie b.malych plikow w b.duzych ilosciach trwa b.dlugo. gdyby udalo sie przetwarzac dane - na niskim poziomie (aby zachowac transfer nominalny dysku) byloby lepiej. - -DONE: -- poprawi� wy�wietlanie nazwy pliku �r�d�owego i �cie�ki docelowej na tzw. ellipsis - (tak aby by�y widoczne pocz�tki i ko�ce �cie�ki - patrz help lub codeguru-static controls) -- napisa� usuwanie folder�w dla ST_MOVE -- roz�o�y� ThrdProc na co� mniejszego - �atwiejszego do analizy -- napisa� kawa�ek kodu kopiuj�cego atrybuty pliku/folderu �r�d�owego -- napisa� obs�ug� b��d�w -- zmieni� obs�ug� CConfig - nie odczytywa� warto�ci za ka�dym razem z pliku -- zmiana w configu i nie tylko - interwa�y podawa� w ms zamiast w s -- przerobi� okno statusu na mniejsze z przyciskiem rozszerzaj�cym dialog o praw� stron� -- pokazywanie ilo�ci skopiowanych/przeniesionych megabajt�w (ile zosta�o) -- zabezpieczy� program przed wielokrotnym poklazywaniem okna statusu -- zmieni� texty operacji np. na Kopiowanie - b��d -- niech po�o�enie okna statusu b�dzie sta�e - w prawym dolnym rogu ekranu -- zabezpieczy� program przed uruchamianiem jego wielu kopii na jednym komputerze -- zaimplementowa� obs�ug� Auto-retry -- zoptymalizowa� wy�wietlanie post�pu w CStatusDlg - migotanie, CStaticFilespec 2krotnie zmienia - stan -- uwzgl�dni� przenoszenie w obr�bie jednej partycji - omin�� niepotrzebne wyszukiwanie, MoveFile, ... -- wrzuci� do ka�dego CTaska oznaczenie, z jakich dysk�w logicznych (a co za tym idzie r�wnie� - fizycznych) korzysta dane kopiowanie -- je�li plik zosta� ju� skopiowany (i zosta�y zmienione jego atrybuty (pliku docelowego)) - i nast�puje pr�ba ponownego kopiowania - na plik ze zmienionymi atrybutami (np. Read only) - pliki nie maj� by� nawet otwierane. -- FLAGA W KONFIGURACJI - je�li u�ytkownik chce (flaga) nale�y odtworzy� d�wi�k po zako�czeniu - kopiowania (string) i przy wyst�pieniu b��du -- FLAGA W KONFIGURACJI - czy chroni� pliki z atrybutami read-only przed usuni�ciem i nadpisaniem - (odno�nie SetFileAttributes przed skasowaniem pliku, przed kopiowaniem pliku) -- obs�uga auto-complete files w CustomCopy - tylko na �yczenie - FLAGA W KONFIGURACJI -- dodatkowa FLAGA W KONFIGURACJI oznaczaj�ca potrzeb� ustawiania atrybut�w -- zaimplementowa� ustawianie czasu dla skopiowanego w�a�nie pliku (dla katalogu si� nie da) - wg czasu �r�d�owego pliku - dodatkowa FLAGA W KONFIGURACJI okre�laj�ca konieczno�� kopiowania tych - atrybut�w -- spos�b na implementacj� 8/10 funkcji - (pauza/wzn�w, anuluj, usu�, restart) dla zaznaczenia - i wszystkich -- auto-retry nie powinno wznawia� zako�czonych element�w -- do poni�szego - zabezpieczy� przed wywalaniem si� programu - je�li wywalany element jest w�a�nie - zaznaczony w StatusDlg/listctrl i nast�pi par� innych czynnik�w - program si� wysypuje. - Dok�adnie w ApplyButtonsState, ... -- wywali� automatyczne wywalanie zako�czonych zada� z CStatusDlg - przenie�� do CMainFrame - - tylko na wyra�ne �yczenie u�ytkownika - FLAGA W KONFIGURACJI -- w tooltipie w trayu ma si� pojawia� og�lny post�p - tak samo jak w nag��wku okna statusu -- w onpopupshowstatus krzaczy si�, je�li podczas wy��czania aplikacji jest pokazane okno statusu -- porz�dna obs�uga CListCtrl - klikni�cie na danym elemencie nie b�dzie powodowa�o zaznaczenia - tylko na chwil�, obs�uga przycisk�w up/down, spacja (pause/resume), delete (delete) - - klawiatura -- w CListCtrl doda� (zamiast LP) "ikonki" oznaczaj�ce stan danego itemu (pauza, b��d, - processing, ...) -- zmieni� size'owanie dialogu statusu na zale�ne od wielko�ci czcionki -- do�o�y� edycj� konfiguracji z automatycznym od�wie�eniem (po zmianie ustawienia program ma - korzysta� z nowych ustawie�) - implementowa� auto restart programu po uruchomieniu - systemu (rejestr, okre�lenie �cie�ki do programu) -- zmniejszy� ilo�� danych przechowywanych w pami�ci podczas dzia�ania programu - relPath -- sprawdzi�, jak wygl�da sprawa transferu kompresji kompresji w stosunku do ci�gni�cia po sieci - - nie op�aca si� - dla filmu wsp. kompresji wynosi ok.99%, wi�c overhead spowodowany kompresj� - i dekompresj� jest zbyt du�y i nie op�aca si� (dla innych plik�w mo�e by� inaczej, ale to - zn�w oznacza dodatkowy overhead na wykrywanie rozszerze� plik�w, kt�re nadaj� si� do kompresji - , program zwi�ksza swoj� obj�to�� - konieczno�� obs�ugi sieci - TCP/IP, jest bardziej - zawodny...) -- poprawi� tzw open shared files -- w zwi�zku ze zmian� current indexu po zako�czonym kopiowaniu na wielko�� tablicy z plikami - poprawi� DeleteFiles tak, aby nie chrzani�a si� - aktualnie korzysta z current indexu - jako pierwszego elementu do usuni�cia -- poprawi� z�e zliczanie wielko�ci - foldery maj� wielko�� -- zrobi� co� z OnCopyData -- podczas kreacji MainFrame'a zarejestrowa� klas� okna z okre�lon� nazw� - - aby pewniej identyfikowa� okno -- autorejestracja .dll podczas uruchomienia (zapis do rejestru - HKCU\JFS Application Factory\Copy Handler\Registered=1 je�li zarejestrowano) -- dodatkowe komendy do shell context menu i drag&drop context menu - napisa� bibliotek� DLL - (tzw. in-process server) -- dodatkowy licznik czasu og�lnego i pozosta�ego -- poprawi�: je�li item w li�cie zada� traci focus, a po d�u�szej chwili go odzyskuje - transfer - mo�e si�ga� bardzo wysoko (kilkaset MB/s) - poprawi� aby wy�wietla� 0 -- po reloadzie danych z plik�w - powinny by� odczytywane r�wnie� ostatnie po�o�enia post�pu -- je�li transfer po pobraniu focusu przez item w li�cie zada� wynosi 0 - zmie� go na �redni - transfer, kt�ry wyst�powa� do tej pory (estetyka) -- b��d zliczania wielko�ci (podczas odczytu danych z pliku progressu nie jest update'owana - zmienna m_uhPosition w CTaskArray) -- poprawi� b��d wyst�puj�cy przy zamykaniu programu (mo�e procedura okna (AfxWndProc) ma co� - wsp�lnego -- poprawi� usuwanie zako�czonych zada� z listy nie usuwa wszystkich od razu (dziwne) - - dodatkowo wyst�puje Access Violation, je�li podczas usuwania wszystkich zako�czonych - by� zaznaczony jaki� element z listy (pojedyncze usuwanie tego nie powoduje) -- BUG: program wywali� si� raz przy usuwaniu element�w z listctrl w status dialogu - dok�adnie w - procedurze obs�ugi OnTimer, przy ApplyButtonsState - przy GetStatus - klasa CTask zosta�a - usuni�ta - poprawi� - wstawi� TRACE na we i wy OnTimer w StatusDlg i w CMainFrame na usuwanie - automatyczne element�w z tablicy (chyba te� timer) i zobaczy�, czy nachodz� na siebie - je�li - tak, zastosowa� blokowanie (jaki� bool ?), je�li nie - problem znika (sprawdzono - ok) -- wymy�li� co�, aby na zmian� selekcji w status li�cie natychmiast od�wie�a� si� status - - aktualnie od�wie�a si� co okre�lony interwa� oraz na l-click -- poprawi� zapis konfiguracji na "od razu" - inaczej na sypni�cie si� systemu konfiguracja - nie jest zapisywana -- dodatek - malutkie okno wywo�ywane z poziomu okna statusu (zamiast zmiany ikony w tray'u - na pasek post�pu oraz zamiast - oznaczy� sygna�ami wizualnymi rozpocz�cie i zako�czenie - kopiowania) - - pokazuj�ce progress bar dla ka�dego kopiowania (odpowiednim kolorem) oraz progress - dla wszystkiego - - OPCJE KONFIGURACJI - [mini view] - show filenames, show single tasks, - display refresh interval -- przer�bka miniview tak, aby nie u�ywa�o kontrolek CProgressCtrl (rysowanie r�czne) -- OPCJA konfiguracji - ograniczenie ilo�ci kopiowanych element�w -- zmieni� cmainframe tak, aby pokazywa� tylko jedno okno miniview -- przerobi� funkcje kontroluj�ce w�tek z CTask tak, aby nie nast�powa�o w nich zerowanie - - powinno si� ono odbywa� w w�tku (za tzw. oczekiwaniem) -- doda� dodatkowy kolor itemu w StatusDlg (np. szary) dla oczekiwania (niebieski) -- OPCJA konfiguracji - shutdown after copying all (sprawdzi�, czy ilo�� aktualnie przetwarzanych - operacji w ctaskarray != 0 oraz czy nie ma ju� operacji ze statusem ST_WAITING - je�li te - warunki s� spe�nione - wy��czamy sprz�t - (wymy�li� co� z ST_ERROR ??? - aktualnie poza kolejno�ci� - je�li error - - system zostanie wy��czony) -- poprawi� - je�li u�ytkownik zapu�ci kopiowanie, ale nie w��czy status dialogu - nie jest - od�wie�any czas kopiowania (i tym samym og�lny transfer) -- wy��czy� mo�liwo�� rezise'u miniview -- FLAGA - auto show miniview (po w��czeniu programu) -- FLAGA - autoukrywanie miniview je�li nie ma nic ciekawego do pokazania -- program zakleszcza si� na sekcji krytycznej - w�tek koliduje z funkcj� CMainFrame usuwaj�c� - zako�czone zadania - w�tek ustawia flag� zako�czenia, cmainframe wykrywaj�c zako�czenie - pr�buje zako�czy� w�tek i wszystko si� blokuje -- tymczasowo w cmainframe w oncopydata dorzuci� informowanie o otrzymanych z dll'ki pustych - stringach -- wywali� TEMP command z menu trayowego -- quick access listbox ma by� wype�niany danymi z quick acces file.ini z folderu, gdzie jest - uruchamiany program, lub z c:\windows ? -- zapis quick data na wyj�cie z formy CFolderDlg -- przer�bka okna wyboru folderu na 'bardzej' - do�o�y� dodatkowe "zak�adki" (domy�lne "filmy", - "instalki", ...), always on top, w nag��wku - list plik�w -- dodatek - okno dialogowe w kt�rym mo�na poda� �cie�k� �r�d�ow� i docelow� jako stringi - a nie tylko z explorera. Je�li oka�e si�, �e mo�na programu u�ywa� do ci�gni�cia - z NET'u - rozbudowa� dialog obs�uguj�cy, oraz napisa� co�, co pozwala� b�dzie ci�gn�� - pliki z NET'u wielostrumieniowo. Je�li *nie* - to nie. -- przechwytywanie ctrl-v, r-drag, i innych tego typu w explorerze - przekierowane do copy handlera - NIE MA PO CO - u�ytkownik musi mie� mo�liwo�� wyboru kopiowiania - explorer lub CH -- ulepszy� aboutbox'a -- uzupe�ni� dialog r�cznego podawania danych tak, aby akceptowa� maski plik�w, i wiele innych ... -- kopiowanie/przenoszenie z mask� (np. *.jpg), w�asciwie to chodzi o kopiownie 'specjalne' z duza - iloscia opcji :) - poprawka w onCopyData w CMainFrame - przechwyci� rodzaj kopiowania. - Je�li 'specjalne' - wy�wietl uzupe�niony dialog r�cznego podawania danych. -- GetSnapshot ma pobiera� r�wnie� mask� -- modyfikacja CCustomCopyDlg tak, aby uwzgl�dnia�o chceckboxy opcji specjalnych + ustawianie flag - specjalnych przy wychodzeniu z CCustomCopyDlg + modyfikacja string�w okre�laj�cych rodzaj - kopiowania -- dodatek - implementacja kopiowania danych do jednego folderu (modyfikacja przy okreslaniu - sciezki docelowej dla danego pliku - ju� podczas w�a�ciwego kopiowania - chyba w ProcessFiles) -- dodatek - implementacja kopiowania pustych plik�w - modyfikacja CustomCopyFile - kopiowanie - zawartosci tylko je�li flaga nie b�dzie podana -- usuwanie plik�w przy przenoszeniu ma by� realizowane w trakcie kopiowania (lub nie, je�li podamy - odpowiedni� flag�) -- wychrzania si� miniviewdlg podczas wychodzenia z programu - CMainFrame ju� nie istnieje, wiele - innych element�w te�, a podczas wychodzenia z tzw. Modal Loop nast�puje wychrzanienie - - spr�bowa� modeless dialogs -- poprawi� chrzani�c� si� czcionk� w CPropertyListCtrl - doda� Init (niekt�re np. OnCreate nie - s� w og�le wywo�ywane) -- zabezpieczy� modeless dialogs przed wielokrotnym w��czaniem (np. 30 okien statusu) -- zmieni� nieco tekst okre�laj�cy operacj� tak, aby wy�wietla� mask� -- dodatkowy przycisk ADVANCED - z list� funkcji zaawansowanych - zamiana cz�ci (np. pocz�tk�w) - �cie�ek �r�d�owych na inne stringi - np. je�li zmieni�a si� nazwa udzia�u siecowego w czasie - kopiowania nale�y zmieni� we wszystkich znalezionych plikach kawa�ek �cie�ki kt�ry okre�la - udzia� -- wy��czanie programu przy w��czonym oknie specjalnego kopiowania chrzani si� - parent skasowany - a dialog pr�buje wywo�a� CFrameWnd::OnCopyData -- upewni� si�, �e wszystkie wy�wietlane dialogi s� wy�wietlane na wierzchu wszystkich okien - bez stylu wndtopmost (za wyj�tkiem jednego) - chodzi zw�aszcza o dialog specjalnego kopiowania -- przerobi� okno miniview tak, aby nie miga�o przy w��czaniu, je�li pokazywanie nie jest potrzebne -- w zwi�zku z poprzedni� poprawk� pojawi� si� problem braku wndTopMost w przypadku pojawiania si� - okna miniview za spraw� pojawienia si� dodatkowych wpis�w w tablicy task�w (np.dane - z explorera) - poprawi� -beta4: -- czasem co� si� chrzani przy kopiowaniu danych (puste �cie�ki) - - poprawiono b��d CopyHandlerShellExt.dll - dane pobierane ze schowka (oraz z IDataObject) - by�y przesy�ane bez ko�cz�cego znaku '\0', przez co niekt�re kopiowania chrzani�y si� (puste - pliki) -- poprawiono w dll-ce wpisy do rejestru - aktualnie dll-ka jest rejestrowana pod 'Folder'-em, co - - pozwala u�ywa� opcji kopiowania r�wnie� dla moich dokument�w i innych specjalnych folder�w -beta 5: -- NEW FEATURE: dokopiowywanie powinno sprawdza� dat� pliku �r�d�owego i docelowego ???: - +===================+========================================+===================================+==============================+==============================+ - | WE | WY | 0 | 1 | 2 | - +-------------------+----------------------------------------+-----------------------------------+------------------------------+------------------------------+ -* |brak (folder/plik) | brak | b��d |Pomi�/czekaj/pon�w pr�b�* |Pomi�/czekaj/pon�w pr�b�* | - |brak (folder) | jest | pomi� |pomi� |pomi� | -* |brak (plik) | jest (odpowiada zapami�tanemu stanowi) | pomi� |pomi� |pomi�/kopiuj od nowa | -* |brak (plik) | jest (r�ne od zapami�tanego stanu) | b��d |pomi�/czekaj/pon�w pr�b�* |pomi�/czekaj/pon�w pr�b�* | -* |jest (folder/plik) | brak | kopiuj od nowa |kopiuj od nowa |kopiuj od nowa | - |jest (folder) | jest | pomi� |pomi� |pomi� | -* |jest (plik) | jest (odpowiada zapami�tanemu stanowi) | pomi� |pomi� |pomi�/kopiuj od nowa | -* |jest (plik) | jest (mniejszy od zapami�tanego stanu) | dokopiuj (kopiuj od nowa - flaga) |dokopiuj/pomi�/kopiuj od nowa*|dokopiuj/pomi�/kopiuj od nowa*| -* |jest (plik) | jest (wi�kszy od zapami�tanego stanu) | kopiuj od nowa |kopiuj od nowa |pomi�/kopiuj od nowa | - +===================+========================================+===================================+==============================+==============================+ - - rozbudowa� flag� wizualnych potwierdze� (nie zaimplementowan�) tak, aby akceptowa�a trzy - stopnie szczeg�owo�ci (ok) - - dodatkowe dwie FLAGI - czy dialogi potwierdze� maj� wybiera� okre�lon� opcj� po pewnym - czasie (bool) i odpowiednio czas oczekiwania (UINT) (ok) - - utworzy� dialog odpowiedzialny za wy�wietlanie potwierdze�: - - Pomi�/Pomi� wszystkie/czekaj/pon�w pr�b� (ok) - - dokopiuj/dokopiuj wszystkie/pomi�/pomi� wszystkie/kopiuj od nowa/kopiuj od nowa (wszystkie) (ok) - - pomi�/pomi� wszystkie/kopiuj od nowa/kopiuj od nowa (wszystkie) (ok) - - zastanowi� si� nad implementacj� Kopiuj od nowa wszystko, ... wszystko - czy b�dzie to flaga - wewn�trz CTask'a (*tak*) (i czy ew. b�dzie zapisywana (*nie*)), mo�e tylko lokalna flaga - dotycz�ca tylko aktualnego uruchomienia programu -- BUG: Czas wykonywania operacji przy >kilku operacjach jest pokazywany �le (warto�ci ujemne oraz - obejmuj�ce conajmniej par� lat (np 17000 dni) - pow�d - po przechwyceniu wyj�tku jest - wykonywany update czasu bez rozpatrywania, czy powinien by� wykonany -- BUG: ka�dy dialog u�ywa jednego identyfikatora timera - sprawdzi�, czy nie b�d� ze sob� - kolidowa� (prawdopodobnie b�d�) - nie chrzani� si� (dziwne) - na razie dzia�aj� -- BUG: oczekiwanie nie spe�nia ca�kowicie wymaga� - zajmuje za du�o czasu procesora (ka�de - oczekiwanie to w�tek, kt�ry u�ywa czasu (wprowadzono wi�c op�nienie 100 ms mi�dzy - sprawdzeniami flagi kill) - transfer mo�e spa�� np. 10-krotnie) i nie jest niezawodne - dla - ograniczenia do 1 kopiowania w��czaj� si� czasem 2. Poza tym bardzo cz�sto �aden nie chce si� - za��czy� (???). (poprawiono) -- BUG: zmiana opcji konfiguracji dot. usuwania zako�czonych zada� oraz tzw. autoretry on error - dzia�a dopiero po restarcie programu -- PERFORMANCE FIX: obs�uga wpisywania danych do CProgressListBox'a ma si� odbywa� na wska�nikach do - struktur danych, zamiast przepisywania za ka�dym razem danych ze struktury do tablicy -- FEATURE: do�o�y� w miniview troch� przycisk�w kontroluj�cych - pauza, resume, ... -beta6: -- ADDITION: doda� obs�ug� pause all, resume all, ... w miniview -- FEATURE: dopisa� klas� obs�uguj�c� bufor u�ywany do kopiowania (z operatorem void*, - unsigned char*, ...) tak, aby mo�na by�o bez problemu zmienia� typ alokacji (np. na - VirtualAlloc) -- PERFORMANCE FIX: poprawi� GetFileName i GetFileRoot w CFileInfo tak, aby nie wywo�ywa� dwa razy - _tsplitpath. -- CHANGE: zmiana wielko�ci bufora dla danego taska nie ma powodowa� bezsensownego wpisywania - warto�ci nowego bufora do edit'a w szczeg�ach okna statusu - ma by� od�wie�one po zmianie - tak, aby b��d podczas realokowania bufora (i tym samym jego odtworzenie do poprzedniej - warto�ci, lub alokowanie bezpiecznej warto�ci 64kB) powodowa� pokazanie prawid�owej warto�ci -- PERFORMANCE FIX: wywali� zb�dne resource - menu, string table, accel table -- USER EXPERIENCE: podczas kopiowania w CStatusDlg pokazuje si� chwilowy transfer - warto�� - transferu nie jest dok�adna - pomi�dzy kolejnymi update'ami nie jest mierzony czas, a jedynie - pobierana jest warto�� op�nienia timera od�wie�aj�cego - poprawi� -beta7: -- VISUAL APPEARANCE: wywali� 'Schowek' jako okre�lenie pliku (ok) -- BUG: u�ycie CFileInfo::Exist poci�gn�o za sob� brak wykrywania dysk�w - brak folderu dla c:\ - poprawi� (ok) -- OPTIMIZATION: zmieni� spos�b zapisu danych (nie progressu) w pami�ci (i jednocze�nie w pliku) - aktualnie dla ka�dego pojedynczego pliku zapisywana jest pe�na �cie�ka dost�pu (co przy - kopiowaniu 1000 plik�w spod �cie�ki c:\program files oznacza strat� ok.15kB miejsca). Zmieni� - tak, aby ka�dy plik zapisany w tablicy plik�w mia� odno�nik do �cie�ki znajduj�cej si� - w m_clipboard (ZMIANA FORMATU PLIK�W ATP i ATD). - - zmieni� sk�ad klas CFileInfo, CFileInfoArray, dopisa� CClipboardEntry i CClipboardArray (ok) - - dopisa� funkcj� wyszukuj�c� dla danego katalogu lub pliku substytut (zamienn� nazw� - np. - dla c:\windows -> c:\ zmieniamy 'windows' na np. 'kopia windows' lub co� w tym stylu) (ok) - - dopisa� w CFileInfo funkcj� GetDstPath(LPCTSTR dstFolder, iCopy) generuj�c� stringa z nazw� - elementu docelowego (do u�ycia bezpo�rednio w CreateFile) (ok) - - implementacja obs�ugi m_ucCurrentCopy w CTasku - CalcSize, CalcProcessed maj� zwraca� - odpowiednie warto�ci (powi�kszone o aktualn� ilo�� wykonanych ju� kopii), ilo�� plik�w - nie ma by� mno�ona - +FEATURE: kopiowanie w to samo miejsce ma zmienia� nazw� na Kopia (tylko przy drag&dropie?)+ - +FEATURE: dodatkowa opcja specjalnego kopiowania - robienie kilku kopii �r�d�a w miejscu - docelowym: - - doda� unsigned char'a w CTask'u oznaczaj�cego ilo�� kopii do wykonania (standardowo 1, - mo�na zmieni� w ccustomcopydlg) (+Store/Load w sekcji danych) (ok.) - - edit w oknie ccustomcopy okre�laj�ce ilo�� kopii + implementacja wpisu do ctask'a (ok) - - implementacja getstatusstring i getsnapshot w ctask'u tak, aby przy wi�kszej ilo�ci - kopii (>1) pokazywa�y odpowiedni string. (ok) -- SMALL BUG: podczas kopiowania plik�w bez zawarto�ci nie jest update'owany licznik wielko�ci - plik�w -- FEATURE: je�li podczas kopiowania naci�niemy pauz�, po czym wznowimy taska, oraz jest w��czona - opcja wizualnych potwierdze� b�dziemy zapytani o kontynuacj�. Nale�y to naprawi� poprzez - zapami�tanie indeksu pliku podczas w��czania pauzy i je�li b�dziemy rozpatrywa� dany index - to pomijamy wszelkie okna kopiowania (po restarcie programu pytanie b�dzie si� pojawia�). -- SMALL BUG: podczas sprawdzania atrybut�w pliku docelowego (aby por�wna� ze �r�d�owymi) nast�puje - b��dne odczytanie atrybut�w (na =0), przez co por�wnanie wypada niepomy�lnie i plik jest - kopiowany od nowa (g�upota - najpierw s� kasowane atrybuty, a p�niej odczytywane) -- GREAT BUG (tylko wersja Release): podczas kopiowania w konfiguracji Release (w Debugu nie !!!) - nast�puje b��dne kopiowanie plik�w (w te�cie kopiowania plik�w o wielko�ci 1B pliki docelowe - by�y puste). Prawdopodobnie ma to r�wnie� zwi�zek z b��dnym wy�wietlaniem transferu - i wielko�ci� danych wej�ciowych w stosunku do oczekiwanych (kopiowanie zako�czy�o si� - dok�adnie na 2500 %) - SIMPLE SOLUTION: okaza�o si�, �e program nie sprawdza�, czy pr�ba - pobrania danych dotycz�cych pliku wyj�ciowego (og�lnie czy istnieje) zako�czy�a si� sukcesem - Je�li nie zako�czy�a si� sukcesem - opis pliku zawiera� przypadkowe dane (m.in. wielko�� na - podstawie kt�rej program pr�bowa� przenie�� wska�nik pliku do jakiej� kosmicznej warto�ci) -- FEATURE: dorzuci� LOGI - lista dzia�a� podj�tych podczas kopiowania plik�w - nazwa taka jak - dla plik�w .atp i .atd, tylko z rozszerzeniem .log (lub .txt) - - dodatkowa opcja - tworzenie log�w - - dodatkowa opcja w CStatusDlg - ViewLogFile (pewnie gdzie� w szczeg�ach jako button) -- SMALL BUG: je�li program podczas kopiowania napotka ju� plik i zdecyduje si� go dokopiowa� - przesuwa wska�niki plik�w �r�d�owego i docelowego do warto�ci 'wielko�� pliku docelowego'. - Seek odbywa si� tylko na warto�ciach 32-bitowych, co ogranicza wielko�� pomini�tego kawa�ka - do 2GB - poprawi� na pe�n� 64-bitow� obs�ug�. -- APPEARANCE: po naci�ni�ciu w statusDlg jednego z przycisk�w pauza, wznowienie, ... nale�y - natychmiast od�wie�y� list� zada�, tak samo jak podczas usuwania zako�czonych zada�, - aby nikomu nie przysz�o do g�owy naciska� jakiego� przycisku i natychmiast innego tak aby - wychrzani� program -- VISUAL APPEARANCE: okre�lanie post�pu procentowego przy braku jakiejkolwiek wielko�ci - (size all == 0), lub przy tworzeniu pustych plik�w wyj�ciowych powinno okre�la� post�p - na podstawie indexu (a nie jak do tej pory albo ustawiano na 0 % albo na podstawie - wielko�ci plik�w wej�ciowych (II przypadek)) - niestety przerobienie wy�wietlania procent�w - dla ca�o�ci mija si� nieco z celem. Aby to zrobi�, za ka�dym sprawdzeniem procent�w trzebaby - przeszuka� wszystkie zadania z listy, sprawdzi� w ka�dym stopie� zaawansowania w stosunku - do innych zada�, ... co niepotrzebnie obci��y�oby procesor - mo�e kiedy� ... -- BUG ? - podczas kopiowania po sieci w oknie statusu w transferze pojawia si� co jaki� czas - co� w stylu 1#.J (lub co� podobnego) - DZIELENIE double PRZEZ 0 daje takie rezultaty -beta 8: -- SMALL BUG: podczas wyst�pienia b��du pokazywane jest operacja zako�czona pomy�lnie, - czy�by GetLastError() kasowa� kod b��du po pierwszym wywo�aniu i ka�de nast�pne - zwraca 0 ? (nie - OTF ze swoim CreateFile i SetFilePointer zmianiaj�) -- VISUAL APPEARANCE: okre�lanie chwilowego transferu powinno by� dok�adniejsze. Aktualnie jest - sprawdzany co okre�lony w opcjach interwa� czasu, ale r�nica czasu pomi�dzy ostatnim - od�wie�eniem statusu a aktualnym jest podawana w sekundach (za� w opcjach podaje si� - milisekundy), wi�c mo�e wynosi� 0. W takim przypdaku pobierany jest czas z opcji i przeliczany - transfer (przewa�nie �le, poniewa� mo�na poda� 1 ms op�nienia a w rzeczywisto�ci - minie np. 55 ms przez co wyliczony transfer wzro�nie 55 razy) - przerzuci� obliczanie - interwa�u na GetTickCount() zamiast time() (w milisekundach) -- SMALL BUG: Od�wie�anie statusu w StatusDlg odbywa si� przypadkowo za cz�sto (mo�e ma na to wp�yw - message wysy�any z ListView, kt�ry powoduje automatyczne od�wie�enie) - w�a�ciwie listview - nie mia� z tym nic wsp�lnego - winne by�y dwie opcje: automatyczne wznawianie i automatyczne - usuwanie zako�czonych, kt�re to wysy�a�y do StatusDlg message o update statusu - niestety - w przypadku Automatycznego usuwania nie by�o sprawdzane, czy co� usuni�to, a w przypadku - wznawiania - trzeba by�o do�o�y� parametr okre�laj�cy, czy wznawia� tylko itemy z b��dem - czy te� wszystkie mo�liwe. -beta 8a: -- BUG ?: Pojawi�y si� sygna�y, �e pod systemem Windows 98 nie dzia�a poprawnie dialog wyboru - folderu docelowego (a poza tym i tak nie jest w pe�ni sprawne - np. podanie adresu sieciowego - nie powoduje wyszukania, a tylko zaznaczenie otoczenia sieciowego) - teraz pod Win98 dzia�a, - ale tylko wyszukiwanie w obr�bie Mojego komputera, po sieci mija si� to z celem - przewa�nie - jest ona tak wolna, �e przywiesza�oby to komputer -- FEATURE: przerobi� wizualny interfejs u�ytkownika (niech to wygl�da profesjonalnie, ale niech - nie b�dzie przepakowane bitmapami i innym �mieciem) - dot. g�. przycisk�w w status dialogu. - Chwilowo nie wygl�da profesjonalnie i mam wra�enie, �e jeszcze d�ugo nie b�dzie (nie mam - zdolno�ci graficznych) - - na pocz�tek menu z alternatywnym rysowaniem (a'la XP) (ok) - - poprawi� wy�wietlanie przycisk�w w miniview (znikanie przy LButtonDown, zrobi� p�askie) (ok) - - wyp�aszczy� elementy GUI (listview w statusdialogu nie - g�upio wygl�da) (ok) -- FEATURE: w StatusDialogu do�o�y� co� w PD rogu - umieszczanie w PD rogu ekranu (mo�e w miniview - tez ? - chyba raczej nie) -- SMALL BUG: podczas w��czonego usuwania zako�czonych zada� (mo�e nie dlatego) program po - zako�czeniu kopiowania wysypuje si� - nie zawsze - (???) - pow�d: Autousuwanie zako�czonych - zada� wykrywa zako�czone zadanie poprzez sprawdzenie flagi ST_FINISHED. Niestety po ustawieniu - tej flagi w�tek wykonuje jeszcze par� operacji - m.in. zapis do pliku .log, odegranie d�wi�ku. -- VISUAL APPEARANCE: wywali� # przy nazwach plik�w do kopiowania (oznaczenie wyswietlania danych - z tablicy schowka zamiast z tablicy plik�w). -- VISUAL APPEAANCE: poprawi� wy�wietlanie tekstu w statusDlg - aktualnie jest za blisko brzegu -Initial release 1.0 (internal release #9): -- FEATURE: dorzuci� obs�ug� r�nych j�zyk�w (g��wnie angielskiego) - - wywali� wszystkie u�ywane stringi z kodu do STRING TABLE'a (niestety LoadString jest oko�o - 6 razy wolniejszy ni� zwyk�e przypisanie stringa, ale nie jest to warto�� du�a - (w debugu: 100000 przypisa� zajmuje ok. 222 ms, za� 100000 �adowa� string resource'a - ok 1450 ms, w po��czeniu z od�wie�aniem np. miniview co 55 ms daje to strat� ok 1.2 s na - ponad 1.5 godziny, wi�c nie warto wczytywa� tekstu wcze�niej do bufora). (ok) - - wrzuci� po dodatkowej kopii dialog�w, menu i string table'a jako j�zyk angielski (ok) - - przerobi� kod programu tak, aby wczytywa� zasoby (dialogi, menu...) poprzez FindResourceEx - i LoadResource, zamiast np. LoadMenu. (ok) - - przet�umaczy� wszystkie zasoby angielskie na angielski (ok) - - poprawi� OTF - funkcja u�ywana do prowadzenia LOG�w tak, aby wczytywa�a stringi wg aktualnie - ustawionego j�zyka (ok) -- BUG: w zwi�zku z dodawaniem obs�ugi j�zyk�w do optionsDlg nie jest dodawana opcja priorytetu -- VISUAL APPEARANCE: je�li wybrano jakie� zadanie w CStatusDlg, ale w konfiguracji wy��czyli�my - kreowanie log�w - przycisk poka� dziennik jest dalej aktywny, ale i tak nie mo�na nic zrobi� - - poprawi� stan w takim przypadku na disabled. -## internal release #10 ## -- BUG: poprawi� "kopia (33) ..." - ten string nie zosta� wrzucony do string table, tylko jest - w kodzie programu - wyrzuci� do ST, przerobi� funkcj� wykorzystuj�c� tak, aby z niego �adowa�a. -- OVERHEAD: funkcja GetConfig() w CTask'u u�ywa sekcji krytycznej, a nie powinna (wska�nik do - klasy z konfiguracj� jest ustawiany tylko raz, za� odczytywany cz�sto, co aktualnie powoduje - "blokowanie" na kr�tki czas wi�kszo�ci operacji na CTasku - wywali� sekcj� krytyczn�. -- OPTION: podczas ograniczania ilo�ci kopiowa� np. do 1 i w��czeniu kilku task�w - nie s� one - doliczane do og�lnej puli wielko�ci plik�w do skopiowania - flaga ma okre�la�, czy tak w�a�nie - ma sprawa wygl�da�, czy maj� by� przed blokowaniem zada� zliczane wielko�ci. -- DLL UPDATE: w�a�ciwie ju� w internal release #9 zmieni� si� spos�b dzia�ania DLL'ki - elementy - menu kontekstowego shella pojawiaj� si� tylko i wy��cznie je�li jest uruchomiony Copy handler - (wi��e si� to z odczytywaniem aktualnie ustawionego j�zyka w Copy handlerze). Usun��em r�wnie� - mo�liwo�� ponowienia pr�by kopiowania (je�li wcze�niej nie by�o uruchomionego CH). Nie ma to - teraz sensu - uruchomienie komendy menu kontekstowego jest mo�liwe tylko je�li jest uruchomiony - copy handler. -Version 1.01 (Internal release #11) -- BUG: pokazywanie dialogu z b��dem otwierania pliku �r�d�owego powoduje wychrzanienie si� - programu (w wersji debug pokazuje okno z dziwn� wielko�ci� znalezionego pliku �r�d�owego, za� - w Release po prostu wyst�puje nieprawid�owa operacja - poprawi�. -- STRANGE BUG ?: Na Duronie 800 z myszk� A4Tech'a podczas kopiowania danych po sieci przycina si� - kursor myszy. (zawsze m�wi�em �e nie ma to jak P100 :) ), na innych komputerach tego nie - zanotowano (tzn. na Celeronie 450 i Duronie 1000). - brak dost�pu do �rodowiska w kt�rym - program zwalnia - (???) - co� z sieci� - ustawienie bufora na 1kB usuwa problemy -- BUG: Custom Copy dialog nie wy�wietla tekstu w rodzaju operacji -- BUG: pod systemem Windows XP nie dzia�a poprawnie DLL'ka (pod NT i 2000 r�wnie�). Powodem jest - specyficzne przetwarzanie przez ni� zawarto�ci schowka (CF_HDROP). Nie stosuje ona - DragQueryFile, tylko zwyk�ego kopiowania zawarto�ci bloku pami�ci (HGLOBAL), przez co stringi - w formacie UNICODE nie s� przekszta�cane na posta� ANSI, tak jak to robi DragQueryFile. -- BUG: nie dzia�a pokazywanie log files'�w (teraz zn�w dzia�a, wprowadzi� wy�wietlanie b��du, - je�li ShellExecute zako�czy�o si� b��dem). -- BUG: nie zlokalizowany string w CStatusDlg::OnShowLogButton() - zmieni� -- FEATURE: W oknie wyboru folderu docelowego powinna pokazywa� si� pojemno�� dysku. -- APPEARANCE: je�li wyst�pi b��d kopiowania, nale�y odlicza� ustalony czas do automatycznego - wznowienia od momentu jego wyst�pienia, a nie jak dotychczas tak sobie (nie musi by� zbyt - dok�adne) -- FEATURE: Sprawdza�, czy jest wystarczaj�ca ilo�� miejsca na dysku na skopiowanie danej rzeczy, - wy�wietla� dialog w zale�no�ci od ustawie� wizualnych potwierdze� (Normal+) - - wywali� funkcje formatuj�ce wielko�� (xxx GB/kB/...) do globalnych funkcji dost�pnych dla - kilku r�nych miejsc w programie. (ok) - - dorzuci� dialog wy�wietlaj�cy info o braku miejsca - - pomija� sytuacj�, gdy co� jest przenoszone w obr�bie jednej partycji (nie trzeba, gdy� dla - takiego przenoszenia wielko�� plik�w ��cznie wynosi 0, wi�c nie zajmuje to miejsca). -- BUG: w explorerze jako opis komend z context menu pokazywane s� chi�skie (chyba) znaki zamiast - normalnych (kr�tko m�wi�c trzeba obs�u�y� osobno GCS_HELPTEXTA i GCS_HELPTEXTW). -1.01a (internal #12): -- poprawiono wsp�prac� z wersjami ANSI Windows (98/Me) -1.02 (internal #13): -- wprowadzono do programu wersj� 3.02 BCMenu (niestety, nie b�dzie w tej chwili cieniowania bitmap - w menu, bo jest ich troch� za ma�o, a po drugie itemy menu robi� si� troch� za wysokie - (pr�bowa�em to zmodyfikowa�, ale zmniejszaj�c wysoko�� itemu psuje si� efekt cieniowania). -- BUG: przenoszenie plik�w(nie folder�w) w obr�bie jednej partycji (MoveFile) powoduje - wy�wietlanie po zako�czeniu 0% post�pu, poniewa� wielko�ci plik�w nie s� doliczane do og�lej - puli wykonanych ju� zada�. (np.: 2/2 (0 B/59.00 MB)) (ok - je�li zwyk�e przenoszenie - - zerowanie zawarto�ci pliku (tylko jako dane, nie rzeczywi�cie). -- FEATURE: do�o�y� do programu kopiowanie z flag� FILE_FLAG_NOBUFFERING: - - przerobi� CDataBuffer tak, aby dla danej wielko�ci alokacji alokowa�o bufor o wielko�ci - b�d�cej najbli�sz� (w g�r�) wielokrotno�ci� 64kB. Napisa� makro, kt�ra zwraca najbli�sz� - warto�� zaokr�glon� w g�r� do najbli�szych 64kB. (ok) - - w CustomCopyFile do�o�y� seek na 4096 boundary, a na ko�cu obcinanie nadwy�ki (zaokr�glanie - do 4096 (najwi�ksza dozwolona wielko�� sektora)) (ok) - - opcje dostosowania - czy i dla jakich plik�w nie buforowa� (ok) -- FEATURE: w menu g��wnym programu wrzuci� item oznaczony jako 'monitoruj schowek' z check boxem -- OPTIMIZATION: w CConfig ka�da funkcja Get... stosuje sekcj� krytyczna w celu zabezpieczenia - danych. Nie jest to potrzebne (wr�cz zb�dne), gdy� mo�e lekko przyblokowywa� kopiowanie (gdy - np. okno statusu pr�buje u�yska� dost�p do jednej zmiennej - w�tek kopiuj�cy (je�li nie by� - pierwszy) zostanie na ma�� chwilk� zblokowany. Zostawi� sekcje krytyczne w funkcjach Set... - oraz w funkcjach Get..., kt�re zwracaj� CString'a. -- APPEARANCE: poprawi� tab order w niekt�rych oknach -1.03 (Internal #14): -- BUG: tekst w CStaticFilespec w trybie czeni wysokokontrastowej jest niewidzialny (czarny) - - poprawi� -- IMPROVEMENT: poprawi� obs�ug� FILE_FLAG_NO_BUFFERING tak, aby nie by� tworzony plik docelowy - o wielko�ci wi�kszej od �r�d�owego, a dopiero w p�niejszej fazie obcinany, ale tak aby - resztka pliku �r�d�owego, kt�ra nie zajmuje ca�ego sektora (czy klastra,...) by�a - dokopiowywana osobno. -- FEATURE: w g��wnym menu do�o�y� wy��czanie komputera po zako�czeniu kopiowania -- BUG: je�li jakie� pliki zostan� skopiowane do miejsca docelowego tak, �e po przerwaniu w po�owie - pozostanie na dysku docelowym mniej miejsca ni� wynosi CA�O�� kopiowanych plik�w powoduje, �e - pokazywany jest dialog braku miejsca na dysku, a nie powinien - poprawi� -- APPEARANCE: okna wizualnych potwierdze� s� do bani - przeprojektowa� (teraz dalej wygl�daj� do - bani, ale s� nieco lepsze ni� poprzednie) -- BUG: poprawi� chzanienie si� opcji ograniczania max ilo�ci operacji - w niekt�rych przypadkach - pomimo, �e w�tek kopiuj�cy dzia�a nie jest zwi�kszana ilo�� aktualnie przeprowadzanych - operacji. Zatem przerwanie dzia�ania w�tku w tym miejscu i wygenerowanie wyj�tku powoduje - zmniejszenie ilo�ci operacji o 1 (czyli do warto�ci ponad 4 mld - (unsigned long)(-1)) -- STRANGE BUG: kopiowanie jakiego� folderu (np. c:\windows) do innego katalogu, w kt�rym istnieje - ju� katalog o nazwie takiej jak kopiowana powoduje wygenerowanie b��du, �e katalog ju� - istnieje (a powinno po prostu pomin�� b��d i kontunuowa� kopiowanie) - nie zawsze - - teoretycznie zabezpieczona jest powy�sza sytuacja (kiedy pr�bujemy utworzy� istniej�cy ju� - folder, po prostu pomijamy tworzenie)(???) (#183 - prawdopodobnie odnosi si� tylko do folder�w - kopiowanych w obr�bie jednej partycji tak, �e jest u�ywane MoveFile zamiast CustomCopyFile). - (Nawet na pewno. Przenoszenie za pomoc� MoveFile jest wadliwe, za� MoveFileEx nie istnieje - na zwyk�ych Windowsach) - poprawiono poprzez sprawdzenie w fazie wyszukiwania plik�w, czy - istnieje plik/folder docelowy - je�li tak, to blokuje si� dzia�anie MoveFile i zamiast niego - wywo�ywana jest standardowa obs�uga - CustomCopyFile i Delete). -- BUG: przy w��czonym czarno-bia�ym schemacie kolor�w z wysokim kontrastem w miniview nie - pokazuj� si� napisy okre�laj�ce nazwy plik�w. -- BUG: poprawi� wy�wietlanie button�w w miniview - je�li w��czony jest jaki� du�y schemat ekranu - przyciski wystaj� poza okno - s� niewidoczne, poprawi� te� ich rysowanie. -- BUG: przy ustawieniu wi�kszego rozmiaru czcionki we w�a�ciwo�ciach ekranu (tzn. np 200% normy, - to tekst w opcjach i w miniview jest obci�ty, zmieni� kod rysuj�cy captiona dla miniview tak - aby u�ywa� czcionki przeznaczonej do rysowania captiona (a nie czcionki dialogu). Dodatkowo - w opcjach otwarcie combobox'a powoduje pokazanie troch� dziwnego widoku jego zawarto�ci. -- BUG: poprawiono z�e wykazywanie procent�w (a kto wie co jeszcze w zwi�zku z tym) wprowadzone - w poprzedniej wersji razem z FFNB (drugie przej�cie kopiowania pliku nie odczytywa�o ponownie - wielko�ci pliku docelowego i w zwi�zku z tym by�y kredki). -- APPEARANCE: kolejne poprawki tab orderu - -1.1 (Internal #15) -- BUG: poprawiono wsp�prac� programu z WinXP/NT/2000 - podczas odczytu resztki danych z pliku, - kt�ry nie by� wielokrotno�ci� czego� program wykazywa� b��d 'Nieprawid�owy parametr'. Pow�d - - odczyt wska�nika pliku dla pliku otwartego z flag� FFNB za pomoc� SetFilePointer (tak jak to - opisano w MSDNie) jest nierealny. -- APPEARANCE: header w listview w CStatusDlg nie jest rozmieszczany r�wnomiernie, je�li - zwi�kszy si� np. wielko�� czcionki (na 200 %) - cz�� miejsca jest nieu�ywana. -- UNIQUE: dorzuci� w kodzie programu informacj� o autorze (niezbyt �atw� do zdekodowania), kt�ra - b�dzie jednoznacznie identyfikowa�. -- BUG: pod WinXP program dziwnie zwalnia, a kopiuje z tak� pr�dko�ci�, �e a� strach (dla kopiowania - w obr�bie jednego dysku fizycznego) (ju� nie), je�li u�ywa si� wy��czonego buforowania dla - du�ych plik�w, to efekt zwalniania nie ma ju� miejsca. (Ale pauza, ... dalej chodzi dziwnie) -- BUG: ustawianie folderu tymczasowego - brak odpowiedniego do��czenia '\\' na ko�cu je�li nie ma -- FEATURE: w IDD_CUSTOM_COPY_DIALOG zmieni� atrybut listbox'a na multiselect, oraz przerobi� - usuwanie (mo�e co� jeszcze) -- VISUAL APPEARANCE: zmieni� wielko�ci bufor�w w menu wyboru - status dialog - do�o�y� 8MB - i jeszcze co� (512k) -- FEATURE: zrobi� co� w zwi�zku z kopiowaniem dysk-dysk; dysk-inny dysk, dysk lokalny-sie�, ... - tzw.autodetect buffer size (co ?) - wykrywa� typ kopiowania i odpowiednio ustawia� bufor - (wg DODATKOWYCH OPCJI okre�laj�cych wielko�� bufora dla kopiownia CD-dysk, siec-dysk, ...) - - zreorganizowa� konfiguracj� - wyrzuci� bufor z W�tku kopiuj�cego (ok) - - do�o�y� dodatkowe opcje w konfiguracji - buffer size for: (OK) - - kopiowanie w obr�bie jednego dysku fizycznego - - kopiowanie pomi�dzy dwoma r�nymi dyskami fizycznymi - - kopiowanie CD->dysk (w drug� stron� te�, ale normalnie si� nie da) - - kopiowanie sie�<->co� innego - - inny domy�lny bufor - - zmieni� spos�b przechowywania �cie�ki docelowej - klasa CDestPath, kt�ra b�dzie zawiera� - info o miejscu docelowym (numer dysku, typ �cie�ki(dysku), ...) (ok) - - zmieni� nieco CClipboardEntry tak, aby przechowywa�y r�wnie� info o dysku fizycznym, - z kt�rego pochodzi dana �cie�ka, typ dysku (sie�, ...), tak, aby odwo�ania w CFileInfo - po��czonego z CClipboardEntry powodowa�y odwo�anie w�a�nie do klasy CCE (jak np. - ustalanie numeru dysku na kt�rym znajduje si� dany plik). (dodatkowo poprawa konstruktora - kopiuj�cego - pomija podczas kopiowania m_bMove) (ok) - - zmodyfikowa� funkcj� getdrivetypeex - ma ona ustala� rodzaj podanej �cie�ki: (ok) - - je�li wykryto numer dysku (0...27?) wywo�a� GetDriveType (sie�, dysk, ...) - - je�li nie wykryto numeru dysku - za pomoc� PathIsUNC sprawdzi�, czy jest to sie�. Je�li - tak - wiadomo, je�li nie - rodzaj �cie�ki nieznany (bufor domy�lny) - - przenie�� obs�ug� CDataBuffer z \MODULES do katalogu programu i zmieni� - do�o�y� kilka - dodatkowych zmiennych - wielko�� bufora (dla kopiowania dysk-dysk, dysk-cd, ...) (ok) - - co� podobnego zrobi� w CTask'u - kilka r�nych wielko�ci bufor�w (+funkcje obs�uguj�ce), - update Serialize, zmieni� funkcj� Set(Get)BufferSizes. (ok) - - zmieni� okno podawania wielko�ci bufora tak, aby zawiera�o kilka wielko�ci bufora, razem - z mo�liwo�ci� podawania wielko�ci w kB i MB. (ok) - - zmieni� spos�b wy�wietlania wielko�ci bufora w CustomCopyDlg - zamiast jednego edita - waln�� tylko przycisk 'ustawienia bufora', lub opr�cz przycisku w edicie umie�ci� - wszystkie wielko�ci. Ustawienia bufora ma wywo�a� dialog wyboru bufora. (ok) - - poprawi� obs�ug� OnCopyData i OnPopupCustomCopy aby uwzgl�dnia�y wielko�� bufora ustawion� - w powy�szym dialogu. (ok) - - zmieni� obs�ug� wielko�ci bufora w CStatusDlg - zamiast menu ma by� wy�wietlany dialog - wyboru wielko�ci bufora (w�a�ciwie sze�ciu) - wywali� menu z zasob�w, obs�ug� z CStatusDlg - (OnCommand) (ok) -- FEATURE: w oknie wyboru wielko�ci bufor�w, je�li wielko�� bufora jest wielokrotno�ci� 1024 lub 1024*1024, - to pokazana wielko�� powinna by� w kB lub MB zamiast w B, dodatkowo nale�y zmodyfikowa� dialog tak, - aby mo�na by�o wskaza� kt�ry edit ma by� aktywny (wa�ne w konfiguracji i w CStatusDlg) -- FEATURE: zmodyfikowa� CStatusDlg tak, aby przesy�a�o do CBufferSizeDlg dane o aktualnie u�ywanym - indexie bufora (aby ten m�g� zaznaczy� go) -- BUG: Win2000 ma problemy z �adowaniem ikon z 16.8M kolor�w (pluje si� o stos i nadpisywanie - danych poza dozwolony obszar) - wina bibliotek WinNT5 lub struktury ikon (pod WinXP i Win98/Me - problem nie wyst�puje) - przerobiono ikony na 256 kolor�w z indexowaniem (zwi�kszy�y wielko�� - o ok. 100% - trudno) -- BUG: podanie zbyt wysokiego bufora (64MB) nie generuje wyj�tku a powoduje wygenerowanie - b��du (GetLastError) dopiero podczas odczytu - za ma�o zasob�w systemowych (#1450) - poprawiono - b��d odtwarzania bufora, je�li nowa wielko�� jest za du�a. -- FEATURE: w g��wnym menu programu do�o�y� opcje rejestracji/derejestracji dll'ki -- BUG: je�li pokazane jest okno miniview i w��czymy normalny status - ma�e okno powinno - zosta� ukryte - zas�ania cz�� widoku. -- FEATURE: w wyborze wielko�ci bufora powinna istnie� mo�liwo�� podawania wielko�ci w kB i MB - (w konfiguracji oraz w oknie wyboru custom buffer size) - jeszcze tylko konfig. -- FEATURE: w konfiguracji (w�a�ciwie wsz�dzie, gdzie jest potrzebne ustawianie �cie�ki - dost�pu) ustawianie �cie�ek powinno interpretowa� co� w stylu . Doda� funkcj� - ExpandPath, kt�ra zamieni co� na prawid�ow� �cie�k�: - - - GetWindowsDirectory - - - GetTempPath - - - GetSystemDirectory - - - CSIDL_APPDATA - - - CSIDL_DESKTOPDIRECTORY - - - CSIDL_PERSONAL - - Funkcja, ze wzgl�du na szybko�� dzia�a na razie tylko dla folderu docelowego - dla tymczasowych danych programu oraz dla nazw plik�w z d�wi�kami (jedyne 3 - �cie�ki w konfiguracji) - - Opcja jest traktowana jako zaawansowana, wi�c jest dost�pna tylko poprzez edycj� - r�czn� pliku .ini. - - zamieniona w powy�szy spos�b �cie�ka nie zawiera ko�cowego '\\', wi�c �cie�ka - podana za pomoc� powy�szych skr�t�w powinna mie� posta� np. \media\chord.wav -- BUG: wy��czanie programu trwa za d�ugo pod NT, 2000, XP - co� z cs'ami - spr�bowa� w p�tlach - wy��czaj�cych thready wrzuci� nieznaczne op�nienie (10-100 ms). - Zmieniono nieco obs�ug� - monitorowania schowka i wy��czania systemu po zako�czeniu koopiowa� (co przyspieszy�o wy��czanie - w�tku monitoruj�cego, w ka�dym punkcie programu, gdzie nast�powa�a pr�ba killni�cia taska - w while'u dodano op�nienie pomi�dzy sprawdzaniami ok. 10ms - przyspieszy�o to operacje pauzy, - anulowania, ... oraz w znacz�cy spos�b wy��czanie programu (w debugu z ok. 4s. na <1s.) -- FEATURE: poprawi� nieco estetyk� log'a - na pocz�tku threada ma by� dorzucone co� w stylu - nowa linia/------------ przed wypisaniem rozpocz�cia -- FEATURE FIX: aktualnie nie dzia�a wy��czanie autodetekcji bufora - je�li ta opcja jest wy��czona, - to program powinien korzysta� tylko z bufora domy�lnego. -- BUG: shutdown systemu nie dzia�a pod seri� NT -- FEATURE FIX: je�li zaznaczymy opcj� automatycznego shutdownu po zako�czeniu wszystkich zada� - a �adne zadanie nie jest uruchomione, to nast�puje automatyczne zamkni�cie systemu. Powinno - poczeka�, a� przynajmniej jedno z nich zostanie cho� troch� skopiowane. -- FEATURE: podczas zamykania systemu (z opcji automatycznego zamykania systemu po zako�czeniu - wszystkich zada�) powinien na jaki� czas pokaza� si� dialog z mo�liwo�ci� anulowania. - - Dodatkowe opcje - czas pokazywania okna oraz wyb�r rodzaju (force/nie force) -- VISUAL APPEARANCE: dodatkowe poprawki UI -- BUG: problem z wygaszaniem edit�w w CBufferDlg - w konfiguracji pojawiaj� si� zaciemnione - edity, mimo i� nie powinny - skleroza - zapomnia�em wpisa� bOnlyDefault w COptionsDlg - do nowo otwieranego CBufferDlg. -- BUG: pod Win2000 nie dzia�a poprawnie miniview - caption bar nie zmienia si� po klikni�ciu,..., - wi��e si� to z nieco odmiennym rysowaniem w 2000 i 9x - 2000 ma bardziaj zoptymalizowane - wykorzystanie grafiki -- FEATURE: je�li chcemy forsowa� kontynuowanie zadania, pomimo, i� przez to b�dzie przekroczona - max. ilo�� jednocze�nie wykonywanych zada� to powinno by� to mo�liwe. - - zmieni� nieco uk�ad przycisk�w w CStatusDlg tak, aby dla ST_WAITING by�a mo�liwo�� pauzowania - oraz wznowienia -- FEATURE FIX: wywali� napis NOT IMPLEMENTED z konfiguracji -- FEATURE FIX: zadania (przy ograniczeniu max ilo�ci jednocze�nie wykonywanych zada�) powinny - za��cza� si� w kolejno�ci, w jakiej zosta�y wpisane do tablicy. (???) - - do�o�y� dodatkow� flag� do CTaska zezwalaj�c� na kontynuacj� z WaitState (force || ta flaga) (ok) - - zmieni� funkcj� CanBegin tak, aby uwzgl�dnia�a flag� force oraz now� flag�, za� sprawdzanie - czy ilo�� aktualnie wykonywanych zada�wznowienie) - poprawi� -- BUG: je�li wyst�pi sytuacja typu read-only - program powinien wy�wietli� dodatkow� informacj� - o atrybucie read-only. (najlepiej przerobi� kod CProcessingException tak, aby od razu formatowa�o - stringa z opisem b��du - w zwi�zku z tym - zmiana formatu pliku .atp). - - przerobi� wszystkie throw new CPE oznaczaj�ce error na nowe - - do angielskiego strtable do�o�y� t�umaczone stringi z polskiego - - w CStatusDlg przerobi� wy�wietlanie b��du do edit'a zamiast CStaticFilespec (z mo�liwo�ci� - przewijania ...) - to jeszcze nie jest to, ale na razie nie mam pomys�u, wi�c musi zosta� -- BUG: poprawiono b��d zwi�zany z automatycznym wy��czeniem systemu po zako�czeniu kopiowania, - (oczywi�cie nie uwzgl�dni�em oczywistego przypadku zako�czenia zadania w spos�b normalny, - a jedynie poprzez naci�ni�cie pauzy, ...). -- BUG: je�li miniview jest ukryty (ale w��czony) i jest umiejscowiony w RB rogu, a zostanie zmieniona - rozdzielczo��, miniview po odkryciu pojawia sie na miejscu odpowiadaj�cemu starej rozdzielczosci - ekranu. Zmieni� - przy odkrywaniu miniview ma on by� automatycznie przesuwany do RB rogu. -- FEATURE: trzeba w jaki� spos�b da� u�ytkownikowi zna�, jakie pliki s� skojarzone z okre�lonym - zadaniem -- OPTIMIZATION: miniview korzysta z funkcji GetSnapshot, z kt�rej korzysta r�wnie� normalny - status (tylko �e on korzysta z wielu zmiennych, kt�re nie s� potrzebne w miniview). Zrobi� - GetMiniSnapshot() i struktur� TASK_MINI_DISPLAY_DATA. (Dzi�ki temu odpada ka�dorazowe - (std 5xsekund�) przetwarzanie �a�cuch�w znak�w (okre�lenie s�owne statusu), kopiowanie stringa - z opisem b��du i ponad 10 innych zmiennych) (w Debugu przyspieszy�o ok 15 razy z 750ms dla 10000 - wywo�a� GetSnapshot() do 50ms dla 10000 wywo�a� GetMiniSnapshot()) - w sumie jest to i tak - niezauwa�alne, ale zawsze powoduje mniejsze obci��enie pami�ci daj�c innym programom wi�ksz� - przepustowo��. -- BUG: najprawdopodobniej nie jest zapisywany stan bufora. Po zakonczeniu i przeladowaniu access - violation (getcurrentbufferindex korzysta z indexu cfileinfo spoza zakresu - nale�y - w takim przypadku skorzysta� z '0' zamiast ???) -1.10 Final (#16?) -- BUG: poprawi� detekcj� partycji le��cych na jednym dysku fizycznym - aktualnie partycje s� - wykrywane jako jeden dysk fizyczny tylko pod warunkiem, �e maj� t� sam� liter� dysku (musi - istnie�) oraz oba s� dyskami typu fixed - rozwiazanie troche dziwne - pod 9x i NT dziala - na innej zasadzie, nie wiem, czy dziala w 100% przypadkow - nie wiem, czy obsluguje poprawnie - SCSI, ... - u mnie dziala -- NEW FEATURE: doda� instalatora i deinstalatora do programu. Instalacja ma pozwala� na - rejestrowanie rozszerze� shella, kopiowanie readme, programu (required), naprawianie - instalacji (niestety nie), doinstalowywanie(niestety nie), za� deinstalacja - kompletne lub cz�ciowe - odinstalowywanie. -- VA: w aboutboxie dolozyc info o mailu - ok. -- REMOVE CODE: wywalono kod odpowiadaj�cy za automatyczne rejestrowanie dll'ki - dzi�ki temu nie b�dzie - zb�dnych wpis�w w rejestrze, a rejestracj� zajmie si� setup. -- SMALL BUG: je�li w opcjach ustawiona jest warto�� 1 przy reloadzie after restart, to zostanie to - uwzgl�dnione dopiero po otwarciu i zamkni�ciu okna konfiguracji - poprawi� (teraz przy odczytywaniu - konfiguracji r�wnie� b�dzie aplikowany stan). -1.11 (#20) -- NF: dodano opcj� pozwalaj�c� wybra� rodzaj progressu w miniview (p�ynny/kostkowy) - -1.12 (#21) beta 1 -- FE: w oknie wyboru �cie�ki docelowej (CFolderDlg) w listboxie quick access - podczas usuwania ma by� - zaznaczany kolejny item -- FEATURE EXPAND: w oknie zaawansowaniego kopiowania w miejscu podawania filtra (np. *.jpg) zaznaczy�, �e - mo�na u�ywa� wi�kszej ilo�ci filtr�w - np. *.jp*;*.bm*, oraz zastosowa� to w kodzie. Funkcja sprawdzaj�ca - czy plik zgadza si� z mask� jest zawarta gdzie� w �r�d�ach Visuala. Rozszerzy� te� mo�liwo�ci filtrowania: - np. wg daty, rozmiaru, atrybut�w (mo�e co� w stylu wyra�e� regularnych, czego� w stylu linuxowego (0-9). - (Wild.c)) - - wg daty(?), rozmiaru (?), atrybut�w (tri-state checks), maski (edit/combo) - - nowa klasa CFileFilter s�u��ca do sprawdzania, czy dany CFileInfo jest zgodny z zawart� mask�, dat�, ... (ok) - - doda� do typu daty dodatkowe wpisy (<=, <, =, >, >=) zamiast (przed, po) (ok) - - dopisa� reszt� kodu odpowiedzialn� za wy�wietlanie w lisctrl danych o filtrze - jeszcze data i atrybuty (ok) -- VA: po l-clicku na ikonie trayowej programu powinno nast�pi� pokazanie wszystkich pkazanych okien)-bringtofront -- CODE: zmieniono nieco obs�ug� dialog�w - teraz s� bazowane na CLanguageDialog, wi�c mo�na by�o pozby� - si� paru linii zb�dnego kodu -- BUG: je�li w czasie wy�wietlania okna wyboru wielko�ci bufor�w zadanie si� sko�czy - to po zamkni�ciu - okna bufor�w program si� wychrzania - po prostu sprawdzi�, czy po zamkni�ciu okna bufor�w dalej jest - zaznaczony dany item. -- FE: w dialogu statusu przy przycisku usu� doda� informacj� o anulowaniu zadania, je�li nie jest - w stanie pozwalaj�cym na normalne usuni�cie - pami�ta�, aby po zamkni�ciu dialogu sprawdzi�, czy - dany item jest dalej zaznaczony. -1.12 beta 2 (#22) -- DATA: napisa� od nowa (ca�kowicie) CListView wy�wietlaj�cy drzewo katalog�w, oraz od nowa dialog - CFolderDlg - niezale�ne od g��wnego projektu - - wywali� zb�dne pliki: - - ShellTree.h/cpp - - QuickAccessDlg.h/cpp - - FolderDlg.h/cpp - - NewFolderDlg.h/cpp - - co� si� wywala podczas kreowania dialogu wyboru folderu docelowego- zbada�... - wina dwukrotnego - wywo�ania InitControl w CDirTreeCtrl ?? - - do�o�y� opcje konfiguracyjne dla folder dialogu - to co w BROWSEDATASTRUCT + recent paths - - dodatkowa sekcja w konfigu - [Shortcuts] - b�dzie u�ywana w folder dialogu i w shell ext. -- BUG: nie dzia�a pod NTkiem ze wzgl�du na SHGetSpecialFolderPath - zamieni� zgodnie ze wzkaz�wkami - z codeguru (dodatkowo sprawdzi� eksporty). -1.12 beta3 (#23): -- BUG: poprawi� ma�y drobiazg - obs�uga dysk�w nieaktywnych (np. podmapowany dysk sieciowy ale nie pod��czony) - powoduje wy�wietlenie po kilka razy komunikatu systemowego 'w�� plyte do napedu' albo 'nie znaleziono - udzia�u sieciowego' -- BUG: okno wyboru folderu docelowego nie wy�wietla si� na wierzchu. -- ABOUT: dopisa� greetings dla Venkata Sundaram za modeless dialogs that behave like modal ??, jednocze�nie - wywali� Seloma Ofori, poniewa� ju� nie korzystam z jego kodu. -- BUG: poprawi� obs�ug� them�w - wywala si� w cfolderdialog w wersji debug, wi�c w release zrobi jeszcze - wi�ksze szkody -- CORRECTION: poprawi� wsp�prac� z win95 (nie osr) poprzez eliminacj� GetDiskFreeSpaceEx -- BUG: poprawi� polski tekst na polski a nie pl-en - teraz wygl�da dopiero g�upio -- OVERDATA: wywalic niepotrzebne texty z resource'�w - zaledwie kilka sztuk, ale zawsze - -1.12 beta 4 (#24) -- CHANGE: spr�bowa� zmieni� wpisy w structs.h - CConfig handling - zmieni� na makra pobieraj�ce set parametr�w - i zawieraj�ce odpowiednie funkcje (uda�o si�, ale aby standaryzacji sta�o si� zado�� nale�a�o zmiani� opcj� - automatyczny wyb�r wielko�ci bufora na u�ywaj tylko domy�lnego bufora) -- DEVELOPER NEED: po��czy� oba projekty (dll i program w jeden workspace), dodatkowo dorzuci� folder Common - gdzie b�d� si� znajdowa� wsp�dzielone pliki (np def. struktur u�ywanych do przesy�u danych mi�dzy programem - a dll'k�. - -1.12 beta 5 (#25) -- FEATURE EXPAND: dodatki w .dll - pobieranie danych z programu, wy�wietlenie odpowiednio skonfigurowanych - komend w explorers' context menus. - - *komendy - drag&drop: - - Kopiuj Copy Handlerem - - Przenie� Copy handlerem - - Kopiuj/Przenie� specjalnie Copy Handlerem - - *komendy - explorers' context menus: - - Wklej Copy Handlerem (folder&background) - - Wklej specjalnie Copy Handlerem (folder&background) - - Kopiuj do > (folder only&all files) - - Przenie� do > (folder only&all files) - - Kopiuj/przenie� specjalnie do > (folder only&all files) - - *opcje: - - po jednym checku dla ka�dej komendy - - check - kaskadowe menu - dla obu menu na raz - - check - czy pokazywa� wolne miejsce przy nazwie skr�tu - - uint - max. liczba skr�t�w do umieszczenia w menu - - *texty wypisywane w menu maj� by� pobierane za po�rednictwem WM_COPYDATA i innych message'y z aktualnie - uruchomionej instancji programu - - i tu zaczynaj� sie schodki - komunikacja exe->dll (z�o�ona - dynamiczna wielkosc danych, gdyz inaczej - trzeba by by�o zastosowa� bufory o kosmicznych wielko�ciach). - - *w ka�dym z podmenu '... >' nale�y zawrze� wszystkie (cho� to mo�e przesada) shortcuty pobrane z programu - - *struktura COPYDATASTRUCT::dwData : - - warto�� okre�la ID komendy wybranej z menu - paste/paste special/kopiuj do/przenie� do/kopiuj-przenie� - do specjanie - okre�lone podczas przekazywania danych z programu do dll'ki; dodatkowo w przypadku - paste i paste special najstarszy bit b�dzie zawiera� info o rodzaju wklejania - kopiowanie czy - przenoszenie - tak jak dotychczas. - - *przenie�� sprawdzanie wolnego miejsca w inne miejsce (once per initialize ?). - - *zmieni� measureItem tak aby uwzgl�dnia�o szeroko�� textu - skorzysta� z czcionki parenta - je�li si� - da - je�li nie - trzeba kombinowa� jak obliczy� szeroko�� textu. (NONCLIENTMETRICS) - - *wywali� wszystkie niepotrzebne texty z resource'�w dllki, jak r�wnie� do��czanie obs�ugi j�zyk�w -- BUG: wy�wietlanie komend w explorer.ctx.menu jest dziwne - czasem wszystko znika - efekt pami�ciowy - - w�a�ciwie moje niedopatrzenie - trzeba wyzerowa� m_bGroupFiles. -- CORRECTION: doprowadzi� do porz�dku przesy� danych program->DLL (pobieranie danych z konfiga a nie tylko - sta�ych/wymy�lonych). - - *dorzuci� dodatkowe texty do string table - nazwy komend -- CODE: wywali� z dllki otf'y - s� w sumie ca�kowicie niepotrzebne (teraz) -- FEATURE: dll'ka, a w�a�ciwie drag'n'drop handler (sk�adowa dllki) mo�e przechwytywa� domy�ln� operacj� z menu - (oznacza to jednocze�nie mo�liwo�� przechwycenia przeci�gania l-buttonem !!!) ale jest to sztuczka, o kt�rej - pisze i� 'nie wolno' - - wprowadzi� dodatkow� flag� w konfigu okre�laj�c� przechwytywanie kopiowania - - przyciski ctrl, alt i shift b�d� okre�la� domy�lny rodzaj operacji (odpowiednio kopiowanie, - kopiowanie/przenoszenie specjalne, przenoszenie), jako zamiennik alta mo�na zastosowa� ctrl+shift - - jedyny problem stanowi standardowa obs�uga (tzn. bez naci�nietego �adnego przycisku z klawiatury), nie - chodzi tu o problem z implementacj�, ale o wykrycie domy�lnej akcji jak� przyjmuje explorer - czasem - jest to kopiowanie, czasem przenoszenie, a czasem tworzenie skr�tu; aktualnie bez wzgl�du na to co - wy�wietli explorer, je�li nie naci�niemy �adnego buttona na klawiaturze domy�ln� akcj� b�dzie kopiowanie -- CHANGE: zmieni� numeracj� wersji dla programu i dllki - (major.minor.release.build) -- CHANGE: przenie�� recent paths do osobnej sekcji - b�d� si� odnosi� nie tylko do folder dialogu, ale tez - do dialog�w typu podaj parametry kopiowania/przenoszenia. - -1.12 beta 6 (release #26) -- OPTION: dodatkowa flaga w FileDialogu - czy pokazywa� dodatkowe okna shellowe - - *dodatkowa opcja konfiguracji - ignoreshelldialogs - - *dodatkowa flaga w BROWSESTRUCT - - *zaaplikowa� flag� w momencie wywo�ania okna - - *zaaplikowa� flag� do tree ctrl'a - - *zaaplikowa� przeniesienie flagi z dialogu do kontrolki - -1.12 beta 7 (release #27), (dll release #10) -- BUGS: sprawdzi� dzia�anie ::InsertMenuItem - jak zachowuje si� w w95 - wyst�puje b��d podczas dodawania - item�w do g��wnego explorerowego menu - sprawdzi� co zwraca GetLastError po wywo�aniu tej funkcji, - mo�e da si� temu zaradzi� - w sumie g�upio, �eby w explorer ctx menu nie pojawai�y si� �adne itemy, - pomimo, �e w d&d si� pojawiaj� - poprawiono poprzez zmian� na InsertMenu. Dzi�ki temu najprawdopodobniej - po W95 zaczn� si� wreszcie pokazywa� itemy w expl.ctx.menu - poprzednio te� by�o to zrealizowane na nie - do ko�ca dzia�aj�cych funkcjach, wi�c mo�e wreszcie zadzia�a. -- BUG INFO: przechwytywanie przeci�gania lewym przyciskiem dzia�a tylko na wybranych systemach - nie dzia�a na - w98, w95, za� dzia�a na pewno na w2000. Podobnie sprawa ma si� z ikonami przy skr�tach - rysowanie dzia�a - w w2000, nie dzia�a w NT4, W95, za� na W98 dzi��a po�owicznie - dzia�a dla wszystkich obiekt�w za wyj�tkiem - skr�t�w, dla kt�rych nie wyst�puje rysowanie. - -1.12 Final (release #28) -- ADDITION: w oknie CFolderDialog doda� obs�ug� buttona delete jako kasowania skr�tu -- CHANGE: zmieni� obs�ug� �cie�ki docelowej w dialogu 'podaj parametry kopiowania/przenoszenia' - combobox - zamiast edita, z kt�rego mo�na wybra� jedn� z poprzednio zatwierdzonych �cie�ek. -- FEATURE: dbl click w miniview ma rozwija� du�y status -- STD CHANGE: zmieni� pocz�tkow� �cie�k� dost�pu do plik�w tymczasowych z c:\ na \ co spowoduje zapis - danych w c:\windows\temp (zak�adaj�c ANSI Windows version i instalacj� w standardowym katalogu) -- FEATURE EXCHANGE: zmieni� obs�ug� dialogu konfiguracji - najlepiej full dynamika - sterowanie wszystkim - za pomoc� ustandaryzowanych makr tak, aby dodawanie kolejnych opcji konfiguracyjnych wymaga�o pojedynczych - linii kodu zamiast kilkunastu/kilkudzisi�ciu w kt�rych mog� pojawi� si� setki b��d�w (dodatkowo nie b�dzie - trzeba powi�ksza� resource'�w programu zn�w o kolejne kilogramy zwi�zane z dialog template'ami) - - na razie zast�pcze rozwi�zanie - rozbudowa aktualnie wykorzystywanej konfiguracji - - doda� obs�ug� skr�t�w i recent paths w oknie opcji - dodatkowe dialogi do obs�ugi tego i wykorzysta� - opcj� callbacka wy�wietlaj�cego dialogi do edycji - -1.13 (release #29) (dll release #11) -- CHANGE: zmieni� spos�b zapisywania danych tymczasowych - pliki zako�czone, kt�rych stan zosta� ju� zapisany - nie musz� by� zapisywane (tak samo spauzowane i cancelled). Dodatkowo przy zmianie priorytetu i buf sizes - wy��czonego zadania nale�y w��czy� jednokrotny zapis. -- BUG: poprawiono bug zwi�zany z wy�wietlaniem komend w menu 'Plik' explorera - wi�za� si� z poprawkami - wprowadzonymi w celu poprawy wsp�pracy ze starszymi wersjami Windows (prawdopodobnie wi��e si� to - z niemo�no�ci� wprowadzenia ID dla itemu menu, kt�ry zawiera submenu). - -1.13b (release #30) (dll release #12) -- BUG: poprawic angielski tekst menu kontekstowych - brak 'special'... -- BUG: eksperymentalna opcja przechwytywania l-mouse drag&drop powoduje przechwytywanie r�nie� ctrl+c/v. - Niestety dzia�anie jest zawsze takie samo (kopiowanie) bez wzgl�du na to, czy naci�ni�to ctrl+c czy ctrl+x - - poprawi� -- BUG: w dialogu statusu submenu z warto�ciami priorytetu jest wy�wietlane po angielsku (czy�by pomy�ka PL<->EN ?) - -1.13c (release #31) (dll release #13) -- ADDITION: doda� mo�liwo�� importowania �cie�ek z plik�w tekstowych - opcja importuj w dialogu custom copy dlg - -1.13d (release #32) (dll release #14) -- ADD: wykrywanie restartu explorera i autoumieszczanie nowej ikony w trayu (je�li zniknie) - -1.13e (release #33) (dll release #15) -- ADD: dodatkowa opcja do wyboru domy�lnej akcji podczas przeci�gania lewym buttonem mychy (aktualnie tylko - kopiuj) albo prawdziwe wykrywanie operacji pod kursorem -- ADD: opcja forsownego tworzenia katalog�w - wzgl�dem roota dysku �r�d�owego - -1.13f (release #34) (dll release #16) -- CHG: zmieni� rok w about-boxie na 2003 i wpis autorski z JFS na Ixen Gerthannes -- BUG: funkcja Kopiuj do (i pochodne) nie dzia�a - poprawi� -- ADD: regulacja priorytetu aplikacji - setpriorityclass -- CHANGE: zmieni� nieco obs�ug� threada z zadaniem - �adnej dynamicznej zmiany priorytetu przez wind� - - setthreadpriorityboost -- BUG!!!: program wychrzania si� je�li data+czas pliku mie�ci si� poza zakresem 1970...2038 -- BUG: przy obliczaniu wolnego miejsca wyst�puje b��d off by 1B. - -1.13g (release #35) (dll release #16) -- MOD: okna definiowania skr�t�w i �cie�ek docelowych - po pierwsze - powinno da� si� definiowa� kolejno�� - w jakiej pojawiaj� si� w menu kontekstowym -- MOD: je�li po kompresji programu UPX'em dzia�a pod XP'kiem manifest - skompresowa� exe'ka i dll'ke. - -1.13h (release #36) (dll release #16) -- BUG: b��dne wykrywanie identyczno�ci dysku pod RAIDem... - zbyt ma�y bufor na urz�dzenia - zwi�kszy� -- MOD: lekkie zmiany textu - np. w angielskim one disk zamiast OD -- BUG: w dialogu wyboru foldera docelowego niepoprawnie jest wykrywana obecno�� stacji/�cie�ki dost�pu - do dyskietki. - -1.13i (release #37) (dll release #16) -- MOD: poprawiono niekt�re okna dialogowe tak, aby wy�wietla�y si� w taskbarze -- BUG: w oknie wyboru folderu docelowego podczas wpisywania r�cznego �cie�ki dost�pu w comboboxex ilo�� - wprowadzonego textu zale�y od wielko�ci okna - poprawi�. -- NEW: added french language resources thanx to Julien xxx ? -- MOD: change string table entries to be sorted in sections - Sections: - - INTERNAL PLUGIN ENTRIES (5000) 0...4999 - - MAIN STRINGS - UNIVERSAL (1000) 5000...5999 - - FREE MSG BOX SECTION (1000) 6000...6999 - - LOG ENTRIES (1000) 7000...7999 - - CONFIG NAMES/DESCRIPTIONS (1000) 8000...8999 - - SHELL EXTENSION SECTION (1000) 9000...9999 - - RESERVED (3000) 10000...12999 - - DIALOG SECTION (500/dialog) 13000...??? - // DIALOG - Browse for folder dialog 13000...13499 - // DIALOG - Folder Dialog (wo resource template) 13500...13999 - // DIALOG - AboutBox dialog 14000-14499 - // DIALOG - Buffer size dialog 14500-14999 - // DIALOG - Custom copy dialog 15000-15499 - // DIALOG - IDD_FEEDBACK_DSTFILE_DIALOG 15500-15999 - // DIALOG - IDD_FEEDBACK_IGNOREWAITRETRY_DIALOG 16000-16499 - // DIALOG - IDD_FEEDBACK_NOTENOUGHPLACE_DIALOG 16500-16999 - // DIALOG - IDD_FEEDBACK_REPLACE_FILES_DIALOG 17000-17499 - // DIALOG - IDD_FEEDBACK_SMALL_REPLACE_FILES_DIALOG 17500-17999 - // DIALOG - Filter Dialog (IDD_FILTER_DIALOG) 18000-18499 - // DIALOG - MiniView 18500-18999 - // DIALOG - Options dialog 19000-19499 - // DIALOG - Recent paths editing (IDD_RECENTEDIT_DIALOG) 19500-19999 - // DIALOG - Replace Paths dialog 20000-20499 - // DIALOG - Shortcut edit dialog (IDD_SHORTCUTEDIT_DIALOG) 20500-20999 - // DIALOG - Shutdown dialog (IDD_SHUTDOWN_DIALOG) 21000-21499 - // DIALOG - Status dialog 21500-21999 - -1.20 (release #38) (dll release #17) -- ADD: Integrate v2 modules into v1: - * integrate config manager, res manager, log file, ... - * corrent some strings in string table - unneeded \r\n and incorrect formatting - * saving configuration in places where it should be saved -- ADD/MOD: introduce plugin-system - ie. with external languages handling -- PROJECT: copy the language dll into the right place in release builds -- OPT: optimized tray restart detection -- MOD: modify the about dialog to display version based on VERSION resource instad of static data entered - manually. -- PROJECT: change the program for building count-automodify of resources -- PROJECT: reorganize pleacement of readme's, todo's and other common files -- PROJECT: add a header for each file used in program - gnu gpl -- MOD: modify the about dialog to make it smaller (but to display more information). -- MOD: replace CStaticFilespec and CHyperlinkStatic to a new combined w32 component -- MOD: modify GetSizeSTring to get the kB strings from resources and not from code -- MOD: modify the CLanguageDialog - when dynamically changing language it calculates width and height of - a window&font bad way. -- MOD: correct the configuration work (+apply button) -- MOD: correct all dialogs to properly refresh after language has been changed. -- MOD: change all the comments to the english -- BUG: removed nasty gdi leak in staticex -- MOD: FRENCH - ABOUTBOX MODIFICATIONS, ADDITIONAL STRINGS INSERTED AT 5014 (GB, TB, PB) -- MOD: modify clanguagedialog or miniview to properly count the height of a new dialogs -- MOD: returning error code when (un)registering dll -- OPT: change RegisterShellExtDll and unregister funcs into one with a param. -- MOD: when there's no clipboard monitoring enabled the clipboard shouldn't be cleared from within dll -- BUG: there was a bug when using error Log functions -- CHANGE: zmieni� installera/uninstallera na co� 'bardziej' ? Albo poprawi� usuwanie dll'ki... -- BUG: when icon has been dbl-clicked more than once then status dialog appear more than once!!! - -1.25 (release #39) (dll release #17) -- BUG: corrected missing tooltip for page sponsor -- BUG: changed size of static texts components in status dialog - some letters were not visible. -- ADD: options dialog - option for html help file dir -- BUG: when in help mode (arrow with an '?') the hyperlinks in aboutbox are being activated - on clicking. -- OPT: add DisableThreadLibraryCalls to the dlls (look at func description). -- TEXT: - - ADDED: Main Menu->Help (command in menu to translate) - - ADDED: IDS_CFGHELPDIR_STRING, IDS_CFGHELPDIRCHOOSE_STRING, IDS_HELPERR_STRING - - ADDED: in Dialogs - Help buttons (IDC_HELP_BUTTON) - - STYLES: added many styles Help ID for controls with the help (and context help for dialogs) -- BUG: the entry in registry (run with system) does not have the '\\' before the program name. -- ADD: add the help files to the project - * when the help file is opened and the language changes - help file should be closed - * help is invoked for the progress bars in the status dialog - it shouldn't -- STRINGS: IDS_ABOUTVERSION_STRING, -- BUG: in folder dialog the shortcuts added to the list are not being saved - -1.26 (release #40) (dll release #18) -- MOD: add the new style to the static ex control - "use multiline", enable only if needed (about dlg) -- MOD: changed the style of the staticex control in the aboutbox (license note) (0x50000010 to 0x50000090) -- BUG: ctrl+drag causes bad explorer option to be selected. -- BUG: ctrl+V causes file to be copied even if there was ctrl+x before it (ctrl and drag problem) -- BUG: error updating header in task list (status dialog) -- MOD: languages has to be isolated to text-based files - * add config option - languages directory (added IDS_LANGUAGESFOLDER_STRING, IDS_LANGSFOLDERCHOOSE_STRING) - * mod config option - current language - has to be file(string)-based - * current language distinguishing by language file name - * interpreting path of type for language directory - * remove all references to a resource plugin - * modify the CIniFile to handle properly '#' signs (partial - read only support) - * interpretation on escape sequences - * modification of CLanguageDialog - * change loading the thanx text from resources (remove the IDS_ABTNOTHANX_STRING/14000 string - unused) - * help handling (name got from lng file) - * status dialog - resize controls to give the maximum size needed - * translation of \r, \n and \t -- BUG: selecting folder for use in options dialog doesn't append the '\\' to the path -- BUG: Drawing text in property listbox causes & to be trated as underline -- TEXT: change "" to " in string table in all languages -- BUG: thanks text is not being translated (\r\n\t) -- ADD: when not enough room dialog appears and in some moment there is enough place the dialog should - disappear with continue effect -- MOD: status dialog modification not worth mentioning -- TEXT: button id 1122 - erased text -- BUG: when no language is available - program displays info and then crashes -- MOD: change the names of the program and the of files to the 8.3 standard (changed strings 6001-6004) -- MOD: when selecting the new language - make it relative to a program dir (if possible) -- PROJECT: change the names of the build counter files to something shorter -- MOD: make help managing a bit simpler -- STRINGS: 14002, 14003 added, modified the external text-based string -- MOD: do sth with the translations/thanx stuff -- MOD: modify the documentation (history, options, mainmenu, thanx, [a]faq, keyword faq, added faq to index) - -1.27 (release #41) -- MOD: isolated the internal stuff of CWinApp to CAppHelper -- MOD: make the CLanguageDialog separate module for use in other applications - * remove replacing STATICEX with value 0x0086 - * replace MESSAGE MAP with WindowProc handling - - make the STATICEX change the value when needed -- MOD: many changes to exception modules C...Exception(Ex), macros support, ... -- MOD: added serialization support for CFileEx (with crc checking) - not used in program -- BUG: problem with copying folders with a dot as a first char of name -- MOD: changed stl to the stlPort from http://www.stlport.com \ No newline at end of file