View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000836 | Double Commander | Graphical user interface | public | 2014-02-16 22:11 | 2021-10-29 23:21 |
Reporter | vitaliyg | Assigned To | Alexx2000 | ||
Priority | normal | Severity | minor | Reproducibility | N/A |
Status | closed | Resolution | fixed | ||
Projection | none | ETA | none | ||
Product Version | 0.6.0 (trunk) | ||||
Target Version | 0.9.0 | Fixed in Version | 0.9.0 | ||
Summary | 0000836: [patch] Restore scroll position after file list refresh | ||||
Description | This patch is intended to resolve unexpected and annoying "scroll down"(focused file is scrolled to the last visible line) of files list after refresh, drag&drop to/from DC | ||||
Tags | No tags attached. | ||||
Attached Files | RestoreScrollPos.patch (11,106 bytes)
Index: src/fileviews/ucolumnsfileview.pas =================================================================== --- src/fileviews/ucolumnsfileview.pas (revision 5463) +++ src/fileviews/ucolumnsfileview.pas (working copy) @@ -142,7 +142,7 @@ procedure RedrawFile(FileIndex: PtrInt); override; procedure RedrawFile(DisplayFile: TDisplayFile); override; procedure RedrawFiles; override; - procedure SetActiveFile(FileIndex: PtrInt); override; + procedure SetActiveFile(FileIndex, aLastTopRowIndex: PtrInt); override; procedure SetSorting(const NewSortings: TFileSortings); override; procedure ShowRenameFileEdit(aFile: TFile); override; @@ -385,11 +385,13 @@ {$IF lcl_fullversion >= 093100} dgPanel.Options := dgPanel.Options - [goDontScrollPartCell]; {$ENDIF} - DoFileIndexChanged(aRow - dgPanel.FixedRows); + DoFileIndexChanged(aRow - dgPanel.FixedRows, dgPanel.TopRow); end; procedure TColumnsFileView.dgPanelTopLeftChanged(Sender: TObject); begin + if not FUpdatingActiveFile then + DoFileIndexChanged(dgPanel.Row - dgPanel.FixedRows, dgPanel.TopRow); Notify([fvnVisibleFilePropertiesChanged]); end; @@ -599,7 +601,8 @@ begin AVisibleRows := GetFullVisibleRows; if iRow < AVisibleRows.First then - TopRow := AVisibleRows.First; + TopRow := iRow + else if iRow > AVisibleRows.Last then TopRow := iRow - (AVisibleRows.Last - AVisibleRows.First); end; @@ -611,9 +614,11 @@ MakeVisible(dgPanel.Row); end; -procedure TColumnsFileView.SetActiveFile(FileIndex: PtrInt); +procedure TColumnsFileView.SetActiveFile(FileIndex, aLastTopRowIndex: PtrInt); begin dgPanel.Row := FileIndex + dgPanel.FixedRows; + if (aLastTopRowIndex <> -1) then + dgPanel.TopRow := aLastTopRowIndex; MakeVisible(dgPanel.Row); end; @@ -832,10 +837,10 @@ SetFilesDisplayItems; RedrawFiles; - if SetActiveFileNow(RequestedActiveFile) then + if SetActiveFileNow(RequestedActiveFile, FLastTopRowIndex) then RequestedActiveFile := '' // Requested file was not found, restore position to last active file. - else if not SetActiveFileNow(LastActiveFile) then + else if not SetActiveFileNow(LastActiveFile, FLastTopRowIndex) then // Make sure at least that the previously active file is still visible after displaying file list. MakeActiveVisible; Index: src/fileviews/ufileviewwithgrid.pas =================================================================== --- src/fileviews/ufileviewwithgrid.pas (revision 5463) +++ src/fileviews/ufileviewwithgrid.pas (working copy) @@ -76,7 +76,7 @@ procedure RedrawFile(FileIndex: PtrInt); override; procedure RedrawFile(DisplayFile: TDisplayFile); override; procedure RedrawFiles; override; - procedure SetActiveFile(FileIndex: PtrInt); override; + procedure SetActiveFile(FileIndex, aLastTopRowIndex: PtrInt); override; procedure DoFileUpdated(AFile: TDisplayFile; UpdatedProperties: TFilePropertiesTypes = []); override; procedure DoHandleKeyDown(var Key: Word; Shift: TShiftState); override; procedure UpdateInfoPanel; override; @@ -428,11 +428,11 @@ dgPanel.CalculateColumnWidth; SetFilesDisplayItems; - if SetActiveFileNow(RequestedActiveFile) then + if SetActiveFileNow(RequestedActiveFile, FLastTopRowIndex) then RequestedActiveFile := '' else // Requested file was not found, restore position to last active file. - SetActiveFileNow(LastActiveFile); + SetActiveFileNow(LastActiveFile, FLastTopRowIndex); Notify([fvnVisibleFilePropertiesChanged]); @@ -606,7 +606,7 @@ TabHeader.UpdateSorting(Sorting); end; -procedure TFileViewWithGrid.SetActiveFile(FileIndex: PtrInt); +procedure TFileViewWithGrid.SetActiveFile(FileIndex, aLastTopRowIndex: PtrInt); var ACol, ARow: Integer; begin @@ -652,7 +652,7 @@ procedure TFileViewWithGrid.dgPanelSelection(Sender: TObject; aCol, aRow: Integer); begin - DoFileIndexChanged(dgPanel.CellToIndex(aCol, aRow)); + DoFileIndexChanged(dgPanel.CellToIndex(aCol, aRow), dgPanel.TopRow); UpdateFooterDetails; end; Index: src/fileviews/ufileviewwithmainctrl.pas =================================================================== --- src/fileviews/ufileviewwithmainctrl.pas (revision 5463) +++ src/fileviews/ufileviewwithmainctrl.pas (working copy) @@ -585,7 +585,7 @@ case Button of mbRight: begin - SetActiveFile(FileIndex); + SetActiveFile(FileIndex, -1); if gMouseSelectionEnabled and (gMouseSelectionButton = 1) then begin @@ -627,7 +627,7 @@ end;//of mouse selection handler end; else - SetActiveFile(FileIndex); + SetActiveFile(FileIndex, -1); end; { Dragging } @@ -758,7 +758,7 @@ SelEndIndex := FMouseSelectionStartIndex; end; - SetActiveFile(FileIndex); + SetActiveFile(FileIndex, -1); MarkFiles(SelStartIndex, SelEndIndex, FMouseSelectionLastState); end; end; Index: src/fileviews/uorderedfileview.pas =================================================================== --- src/fileviews/uorderedfileview.pas (revision 5463) +++ src/fileviews/uorderedfileview.pas (working copy) @@ -54,7 +54,8 @@ protected lblFilter: TLabel; quickSearch: TfrmQuickSearch; - FLastActiveFileIndex: Integer; + FLastActiveFileIndex: PtrInt; + FLastTopRowIndex: PtrInt; FRangeSelecting: Boolean; FRangeSelectionStartIndex: Integer; FRangeSelectionEndIndex: Integer; @@ -63,7 +64,7 @@ procedure InvertActiveFile; procedure AfterChangePath; override; procedure CreateDefault(AOwner: TWinControl); override; - procedure DoFileIndexChanged(NewFileIndex: PtrInt); + procedure DoFileIndexChanged(NewFileIndex, TopRowIndex: PtrInt); procedure DoHandleKeyDown(var Key: Word; Shift: TShiftState); override; procedure DoHandleKeyDownWhenLoading(var Key: Word; Shift: TShiftState); override; procedure DoSelectionChanged; override; overload; @@ -89,13 +90,13 @@ SearchDirection: TQuickSearchDirection = qsdNone); procedure Selection(Key: Word; CurIndex: PtrInt); procedure SelectRange(FileIndex: PtrInt); - procedure SetActiveFile(FileIndex: PtrInt); overload; virtual; abstract; - procedure SetLastActiveFile(FileIndex: PtrInt); + procedure SetActiveFile(FileIndex, aLastTopRowIndex: PtrInt); overload; virtual; abstract; + procedure SetLastActiveFile(FileIndex, TopRowIndex: PtrInt); {en Sets a file as active if the file currently exists. @returns(@true if the file was found and selected.) } - function SetActiveFileNow(aFilePath: String): Boolean; + function SetActiveFileNow(aFilePath: String; aLastTopRowIndex: PtrInt): Boolean; public procedure CloneTo(AFileView: TFileView); override; @@ -158,7 +159,7 @@ if not (IsEmpty or IsLoadingFileList) then begin SetFocus; - SetActiveFile(0); + SetActiveFile(0, -1); end; end; @@ -167,7 +168,7 @@ if not (IsEmpty or IsLoadingFileList) then begin SetFocus; - SetActiveFile(FFiles.Count - 1); + SetActiveFile(FFiles.Count - 1, -1); end; end; @@ -209,9 +210,13 @@ pmOperationsCancel.Parent := Self; end; -procedure TOrderedFileView.DoFileIndexChanged(NewFileIndex: PtrInt); +procedure TOrderedFileView.DoFileIndexChanged(NewFileIndex, TopRowIndex: PtrInt); begin - if IsFileIndexInRange(NewFileIndex) and (FLastActiveFileIndex <> NewFileIndex) then + if IsFileIndexInRange(NewFileIndex) and + ( (FLastActiveFileIndex <> NewFileIndex) or + (FLastTopRowIndex <> TopRowIndex) + ) + then begin if not FRangeSelecting then begin @@ -223,7 +228,7 @@ if not FUpdatingActiveFile then begin - SetLastActiveFile(NewFileIndex); + SetLastActiveFile(NewFileIndex, TopRowIndex); if Assigned(OnChangeActiveFile) then OnChangeActiveFile(Self, FFiles[NewFileIndex].FSFile); @@ -582,7 +587,7 @@ if Result then begin - SetActiveFile(Index); + SetActiveFile(Index, -1); Exit; end; @@ -685,7 +690,7 @@ begin // First try to select the file in the current file list. // If not found save it for later selection (possibly after reload). - if SetActiveFileNow(aFilePath) then + if SetActiveFileNow(aFilePath, -1) then RequestedActiveFile := '' else RequestedActiveFile := aFilePath; @@ -692,50 +697,41 @@ end; end; -function TOrderedFileView.SetActiveFileNow(aFilePath: String): Boolean; +function TOrderedFileView.SetActiveFileNow(aFilePath: String; aLastTopRowIndex: PtrInt): Boolean; var Index: PtrInt; + PathIsAbsolute: Boolean; begin if aFilePath <> '' then // find correct cursor position in Panel (drawgrid) begin - if FileSource.GetPathType(aFilePath) = ptAbsolute then + PathIsAbsolute := FileSource.GetPathType(aFilePath) = ptAbsolute; + for Index := 0 to FFiles.Count - 1 do begin - for Index := 0 to FFiles.Count - 1 do + if PathIsAbsolute then + Result := (FFiles[Index].FSFile.FullPath = aFilePath) + else + Result := (FFiles[Index].FSFile.Name = aFilePath); + + if Result then begin - if FFiles[Index].FSFile.FullPath = aFilePath then - begin - FUpdatingActiveFile := True; - SetActiveFile(Index); - FUpdatingActiveFile := False; - SetLastActiveFile(Index); - Exit(True); - end; + FUpdatingActiveFile := True; + SetActiveFile(Index, aLastTopRowIndex); + FUpdatingActiveFile := False; + SetLastActiveFile(Index, aLastTopRowIndex); + Exit; end; - end - else - begin - for Index := 0 to FFiles.Count - 1 do - begin - if FFiles[Index].FSFile.Name = aFilePath then - begin - FUpdatingActiveFile := True; - SetActiveFile(Index); - FUpdatingActiveFile := False; - SetLastActiveFile(Index); - Exit(True); - end; - end; end; end; Result := False; end; -procedure TOrderedFileView.SetLastActiveFile(FileIndex: PtrInt); +procedure TOrderedFileView.SetLastActiveFile(FileIndex, TopRowIndex: PtrInt); begin if IsFileIndexInRange(FileIndex) then begin LastActiveFile := FFiles[FileIndex].FSFile.FullPath; FLastActiveFileIndex := FileIndex; + FLastTopRowIndex := TopRowIndex; end; end; Index: src/fviewoperations.pas =================================================================== --- src/fviewoperations.pas (revision 5463) +++ src/fviewoperations.pas (working copy) @@ -1,4 +1,4 @@ -unit fViewOperations; +unit fViewOperations; {$mode objfpc}{$H+} @@ -863,7 +863,7 @@ Pen.Style := psSolid; HalfSize := ExpandSignSize shr 1; - if ((ExpandSignSize and 1) = 0) then + if not Odd(ExpandSignSize) then dec(HalfSize); ALeft := MidX - HalfSize; ATop := MidY - HalfSize; patchDook.diff (9,326 bytes)
Index: src/fileviews/ucolumnsfileview.pas =================================================================== --- src/fileviews/ucolumnsfileview.pas (revision 8064) +++ src/fileviews/ucolumnsfileview.pas (working copy) @@ -164,7 +164,7 @@ procedure RedrawFile(FileIndex: PtrInt); override; procedure RedrawFile(DisplayFile: TDisplayFile); override; procedure RedrawFiles; override; - procedure SetActiveFile(FileIndex: PtrInt; ScrollTo: Boolean); override; + procedure SetActiveFile(FileIndex: PtrInt; ScrollTo: Boolean; aLastTopRowIndex: PtrInt = -1); override; procedure SetSorting(const NewSortings: TFileSortings); override; procedure ShowRenameFileEdit(aFile: TFile); override; procedure UpdateRenameFileEditPosition; override; @@ -416,11 +416,12 @@ {$IF lcl_fullversion >= 093100} dgPanel.Options := dgPanel.Options - [goDontScrollPartCell]; {$ENDIF} - DoFileIndexChanged(aRow - dgPanel.FixedRows); + DoFileIndexChanged(aRow - dgPanel.FixedRows, dgPanel.TopRow); end; procedure TColumnsFileView.dgPanelTopLeftChanged(Sender: TObject); begin + if not FUpdatingActiveFile then DoFileIndexChanged(dgPanel.Row - dgPanel.FixedRows, dgPanel.TopRow); Notify([fvnVisibleFilePropertiesChanged]); end; @@ -679,7 +680,7 @@ begin AVisibleRows := GetFullVisibleRows; if iRow < AVisibleRows.First then - TopRow := AVisibleRows.First; + TopRow := iRow; if iRow > AVisibleRows.Last then TopRow := iRow - (AVisibleRows.Last - AVisibleRows.First); end; @@ -691,12 +692,13 @@ MakeVisible(dgPanel.Row); end; -procedure TColumnsFileView.SetActiveFile(FileIndex: PtrInt; ScrollTo: Boolean); +procedure TColumnsFileView.SetActiveFile(FileIndex: PtrInt; ScrollTo: Boolean; aLastTopRowIndex: PtrInt = -1); begin if not ScrollTo then dgPanel.SetColRow(dgPanel.Col, FileIndex + dgPanel.FixedRows) else begin dgPanel.Row := FileIndex + dgPanel.FixedRows; + if (aLastTopRowIndex <> -1) then dgPanel.TopRow := aLastTopRowIndex; MakeVisible(dgPanel.Row); end; end; @@ -905,10 +907,10 @@ SetFilesDisplayItems; RedrawFiles; - if SetActiveFileNow(RequestedActiveFile) then + if SetActiveFileNow(RequestedActiveFile, FLastTopRowIndex) then RequestedActiveFile := '' // Requested file was not found, restore position to last active file. - else if not SetActiveFileNow(LastActiveFile) then + else if not SetActiveFileNow(LastActiveFile, FLastTopRowIndex) then // Make sure at least that the previously active file is still visible after displaying file list. MakeActiveVisible; Index: src/fileviews/ufileviewwithgrid.pas =================================================================== --- src/fileviews/ufileviewwithgrid.pas (revision 8064) +++ src/fileviews/ufileviewwithgrid.pas (working copy) @@ -83,7 +83,7 @@ procedure RedrawFile(FileIndex: PtrInt); override; procedure RedrawFile(DisplayFile: TDisplayFile); override; procedure RedrawFiles; override; - procedure SetActiveFile(FileIndex: PtrInt; ScrollTo: Boolean); override; + procedure SetActiveFile(FileIndex: PtrInt; ScrollTo: Boolean; aLastTopRowIndex: PtrInt = -1); override; procedure DoFileUpdated(AFile: TDisplayFile; UpdatedProperties: TFilePropertiesTypes = []); override; procedure DoHandleKeyDown(var Key: Word; Shift: TShiftState); override; procedure UpdateFlatFileName; override; @@ -524,11 +524,11 @@ dgPanel.CalculateColumnWidth; SetFilesDisplayItems; - if SetActiveFileNow(RequestedActiveFile) then + if SetActiveFileNow(RequestedActiveFile, FLastTopRowIndex) then RequestedActiveFile := '' else // Requested file was not found, restore position to last active file. - SetActiveFileNow(LastActiveFile); + SetActiveFileNow(LastActiveFile, FLastTopRowIndex); Notify([fvnVisibleFilePropertiesChanged]); @@ -703,7 +703,7 @@ TabHeader.UpdateSorting(Sorting); end; -procedure TFileViewWithGrid.SetActiveFile(FileIndex: PtrInt; ScrollTo: Boolean); +procedure TFileViewWithGrid.SetActiveFile(FileIndex: PtrInt; ScrollTo: Boolean; aLastTopRowIndex: PtrInt = -1); var ACol, ARow: Integer; begin @@ -756,7 +756,7 @@ procedure TFileViewWithGrid.dgPanelSelection(Sender: TObject; aCol, aRow: Integer); begin - DoFileIndexChanged(dgPanel.CellToIndex(aCol, aRow)); + DoFileIndexChanged(dgPanel.CellToIndex(aCol, aRow), dgPanel.TopRow); UpdateFooterDetails; end; Index: src/fileviews/uorderedfileview.pas =================================================================== --- src/fileviews/uorderedfileview.pas (revision 8064) +++ src/fileviews/uorderedfileview.pas (working copy) @@ -54,7 +54,8 @@ protected lblFilter: TLabel; quickSearch: TfrmQuickSearch; - FLastActiveFileIndex: Integer; + FLastActiveFileIndex: PtrInt; + FLastTopRowIndex: PtrInt; FRangeSelecting: Boolean; FRangeSelectionStartIndex: Integer; FRangeSelectionEndIndex: Integer; @@ -63,7 +64,7 @@ procedure InvertActiveFile; procedure AfterChangePath; override; procedure CreateDefault(AOwner: TWinControl); override; - procedure DoFileIndexChanged(NewFileIndex: PtrInt); + procedure DoFileIndexChanged(NewFileIndex, TopRowIndex: PtrInt); procedure DoHandleKeyDown(var Key: Word; Shift: TShiftState); override; procedure DoHandleKeyDownWhenLoading(var Key: Word; Shift: TShiftState); override; procedure DoSelectionChanged; override; overload; @@ -87,13 +88,13 @@ procedure SearchFile(SearchTerm,SeparatorCharset: String; SearchOptions: TQuickSearchOptions; InvertSelection: Boolean = False); procedure Selection(Key: Word; CurIndex: PtrInt); procedure SelectRange(FileIndex: PtrInt); - procedure SetActiveFile(FileIndex: PtrInt; ScrollTo: Boolean = True); overload; virtual; abstract; - procedure SetLastActiveFile(FileIndex: PtrInt); + procedure SetActiveFile(FileIndex: PtrInt; ScrollTo: Boolean = True; aLastTopRowIndex: PtrInt = -1); overload; virtual; abstract; + procedure SetLastActiveFile(FileIndex, TopRowIndex: PtrInt); {en Sets a file as active if the file currently exists. @returns(@true if the file was found and selected.) } - function SetActiveFileNow(aFilePath: String): Boolean; + function SetActiveFileNow(aFilePath: String; aLastTopRowIndex: PtrInt = -1): Boolean; public procedure CloneTo(AFileView: TFileView); override; @@ -210,9 +211,9 @@ pmOperationsCancel.Parent := Self; end; -procedure TOrderedFileView.DoFileIndexChanged(NewFileIndex: PtrInt); +procedure TOrderedFileView.DoFileIndexChanged(NewFileIndex, TopRowIndex: PtrInt); begin - if IsFileIndexInRange(NewFileIndex) and (FLastActiveFileIndex <> NewFileIndex) then + if IsFileIndexInRange(NewFileIndex) and ( (FLastActiveFileIndex <> NewFileIndex) or (FLastTopRowIndex <> TopRowIndex) ) then begin if not FRangeSelecting then begin @@ -224,8 +225,7 @@ if not FUpdatingActiveFile then begin - SetLastActiveFile(NewFileIndex); - + SetLastActiveFile(NewFileIndex, TopRowIndex); if Assigned(OnChangeActiveFile) then OnChangeActiveFile(Self, FFiles[NewFileIndex].FSFile); end; @@ -780,54 +780,45 @@ end; end; - -function TOrderedFileView.SetActiveFileNow(aFilePath: String): Boolean; - +function TOrderedFileView.SetActiveFileNow(aFilePath: String; aLastTopRowIndex: PtrInt = -1): Boolean; procedure SetUpdate(Index: PtrInt); begin FUpdatingActiveFile := True; - SetActiveFile(Index); + SetActiveFile(Index, True, aLastTopRowIndex); FUpdatingActiveFile := False; - SetLastActiveFile(Index); + SetLastActiveFile(Index, aLastTopRowIndex); end; var Index: PtrInt; + PathIsAbsolute: Boolean; begin if aFilePath <> '' then // find correct cursor position in Panel (drawgrid) begin - if FileSource.GetPathType(aFilePath) = ptAbsolute then - begin - for Index := 0 to FFiles.Count - 1 do - begin - if FFiles[Index].FSFile.FullPath = aFilePath then - begin - SetUpdate(Index); - Exit(True); - end; - end; - end - else + PathIsAbsolute := FileSource.GetPathType(aFilePath) = ptAbsolute; + for Index := 0 to FFiles.Count - 1 do begin - for Index := 0 to FFiles.Count - 1 do + if PathIsAbsolute then + Result := (FFiles[Index].FSFile.FullPath = aFilePath) + else + Result := (FFiles[Index].FSFile.Name = aFilePath); + if Result then begin - if FFiles[Index].FSFile.Name = aFilePath then - begin SetUpdate(Index); Exit(True); - end; end; end; end; Result := False; end; -procedure TOrderedFileView.SetLastActiveFile(FileIndex: PtrInt); +procedure TOrderedFileView.SetLastActiveFile(FileIndex, TopRowIndex: PtrInt); begin if IsFileIndexInRange(FileIndex) then begin LastActiveFile := FFiles[FileIndex].FSFile.FullPath; FLastActiveFileIndex := FileIndex; + FLastTopRowIndex := TopRowIndex; end; end; | ||||
Fixed in Revision | 8069 | ||||
Operating system | |||||
Widgetset | |||||
Architecture | |||||
|
This patch is buggy. It causes an error (list index out of bounds) when create new tab, Alt+Z, change directory etc. See for example: http://doublecmd.sourceforge.net/forum/viewtopic.php?f=10&t=2351 |
|
Hi, vitaliyg. Are you planning to finish this work? It would be great to see this fixed. |
|
Hi cordylus, maybe I'll find some time for this next week |
|
Thanks, I'll look forward to it. |
|
I rewrote vitaliyg patch. No buggs. Patch attached. |
|
It doesn't seem to be fixed at all, just tested on r8354. Windows XP here, if that matters. |
|
Переоткрываю, так как, по-моему, ошибка не исправлена. Возможно, я подразумеваю другую ошибку, своё видение этой проблемы описал здесь: https://doublecmd.sourceforge.io/forum/viewtopic.php?p=25024#p25024 Пока что мне вообще непонятно, что же исправлено в патче. |
|
В патче исправлена следующая ситуация: если длинный список файлов перемотать например в середину, установить курсор в средней части панели и нажать Ctrl+R то файл под курсором окажется внизу экрана. Легко повторить в версии 0.8.4. |
|
Предлагаю вышеописанную проблему оформить отдельным багом. |
Date Modified | Username | Field | Change |
---|---|---|---|
2014-02-16 22:11 | vitaliyg | New Issue | |
2014-02-16 22:11 | vitaliyg | File Added: RestoreScrollPos.patch | |
2014-05-06 20:47 | Alexx2000 | Fixed in Revision | => 5504 |
2014-05-06 20:47 | Alexx2000 | Assigned To | => Alexx2000 |
2014-05-06 20:47 | Alexx2000 | Status | new => resolved |
2014-05-06 20:47 | Alexx2000 | Resolution | open => fixed |
2014-05-06 20:47 | Alexx2000 | Fixed in Version | => 0.6.0 |
2014-05-06 20:47 | Alexx2000 | Target Version | => 0.6.0 |
2014-05-15 19:51 | Alexx2000 | Fixed in Revision | 5504 => |
2014-05-15 19:51 | Alexx2000 | Note Added: 0001257 | |
2014-05-15 19:51 | Alexx2000 | Status | resolved => feedback |
2014-05-15 19:51 | Alexx2000 | Resolution | fixed => reopened |
2014-05-15 19:51 | Alexx2000 | Fixed in Version | 0.6.0 => |
2014-05-15 19:51 | Alexx2000 | Target Version | 0.6.0 => |
2017-02-12 16:12 | cordylus | Note Added: 0002089 | |
2017-02-12 19:33 | vitaliyg | Note Added: 0002090 | |
2017-02-12 19:33 | vitaliyg | Status | feedback => assigned |
2017-02-12 19:34 | vitaliyg | Assigned To | Alexx2000 => vitaliyg |
2017-02-12 19:43 | cordylus | Note Added: 0002091 | |
2018-04-15 21:49 | Dook | File Added: patchDook.diff | |
2018-04-15 21:50 | Dook | Note Added: 0002567 | |
2018-04-22 16:24 | Alexx2000 | Fixed in Revision | => 8069 |
2018-04-22 16:24 | Alexx2000 | Assigned To | vitaliyg => Alexx2000 |
2018-04-22 16:24 | Alexx2000 | Status | assigned => resolved |
2018-04-22 16:24 | Alexx2000 | Resolution | reopened => fixed |
2018-04-22 16:24 | Alexx2000 | Target Version | => 0.9.0 |
2018-10-20 05:50 | cordylus | Note Added: 0002801 | |
2018-11-06 05:04 | cordylus | Note Added: 0002867 | |
2018-11-06 05:04 | cordylus | Status | resolved => assigned |
2018-11-06 05:04 | cordylus | Resolution | fixed => reopened |
2018-11-25 13:48 | Alexx2000 | Note Added: 0002942 | |
2018-12-10 09:01 | Alexx2000 | Note Added: 0002969 | |
2018-12-10 09:01 | Alexx2000 | Status | assigned => resolved |
2018-12-10 09:01 | Alexx2000 | Fixed in Version | => 0.9.0 |
2018-12-10 09:01 | Alexx2000 | Resolution | reopened => fixed |
2019-06-14 20:50 | cordylus | Relationship added | related to 0002301 |
2021-10-29 23:21 | Alexx2000 | Status | resolved => closed |