mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-18 19:19:24 +02:00
IDE: In TDiskDiffsDlg fix tab order, disable WantTabs in SynEdit, use OnSelectionChange instead of OnMouseUp (works with keyboard). Issue #28224, patch from Ondrej Pokorny
git-svn-id: trunk@49239 -
This commit is contained in:
parent
a837dfe757
commit
0e34a7e352
@ -11,7 +11,7 @@ object DiskDiffsDlg: TDiskDiffsDlg
|
|||||||
OnClose = FormClose
|
OnClose = FormClose
|
||||||
OnKeyDown = DiskDiffsDlgKeyDown
|
OnKeyDown = DiskDiffsDlgKeyDown
|
||||||
Position = poScreenCenter
|
Position = poScreenCenter
|
||||||
LCLVersion = '0.9.29'
|
LCLVersion = '1.5'
|
||||||
object FilesListBox: TListBox
|
object FilesListBox: TListBox
|
||||||
Left = 6
|
Left = 6
|
||||||
Height = 86
|
Height = 86
|
||||||
@ -21,14 +21,13 @@ object DiskDiffsDlg: TDiskDiffsDlg
|
|||||||
BorderSpacing.Left = 6
|
BorderSpacing.Left = 6
|
||||||
BorderSpacing.Top = 6
|
BorderSpacing.Top = 6
|
||||||
ItemHeight = 0
|
ItemHeight = 0
|
||||||
OnMouseUp = FilesListBoxMouseUp
|
OnSelectionChange = FilesListBoxSelectionChange
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
TopIndex = -1
|
|
||||||
end
|
end
|
||||||
inline DiffSynEdit: TSynEdit
|
inline DiffSynEdit: TSynEdit
|
||||||
AnchorSideBottom.Control = CheckDiskChangesWithLoadingCheckBox
|
AnchorSideBottom.Control = CheckDiskChangesWithLoadingCheckBox
|
||||||
Left = 6
|
Left = 6
|
||||||
Height = 182
|
Height = 193
|
||||||
Top = 97
|
Top = 97
|
||||||
Width = 588
|
Width = 588
|
||||||
Align = alTop
|
Align = alTop
|
||||||
@ -44,53 +43,27 @@ object DiskDiffsDlg: TDiskDiffsDlg
|
|||||||
TabOrder = 1
|
TabOrder = 1
|
||||||
BookMarkOptions.Xoffset = -18
|
BookMarkOptions.Xoffset = -18
|
||||||
Gutter.Visible = False
|
Gutter.Visible = False
|
||||||
Gutter.Width = 57
|
Gutter.Width = 59
|
||||||
Gutter.MouseActions = <
|
Gutter.MouseActions = <
|
||||||
item
|
item
|
||||||
Shift = []
|
|
||||||
ShiftMask = []
|
|
||||||
Button = mbLeft
|
|
||||||
ClickCount = ccAny
|
ClickCount = ccAny
|
||||||
ClickDir = cdDown
|
ClickDir = cdDown
|
||||||
Command = 13
|
Command = emcOnMainGutterClick
|
||||||
MoveCaret = False
|
|
||||||
Option = 0
|
|
||||||
Priority = 0
|
|
||||||
end
|
end
|
||||||
item
|
item
|
||||||
Shift = []
|
|
||||||
ShiftMask = []
|
|
||||||
Button = mbRight
|
Button = mbRight
|
||||||
ClickCount = ccSingle
|
Command = emcContextMenu
|
||||||
ClickDir = cdUp
|
|
||||||
Command = 12
|
|
||||||
MoveCaret = False
|
|
||||||
Option = 0
|
|
||||||
Priority = 0
|
|
||||||
end>
|
end>
|
||||||
RightGutter.Width = 0
|
RightGutter.Width = 0
|
||||||
RightGutter.MouseActions = <
|
RightGutter.MouseActions = <
|
||||||
item
|
item
|
||||||
Shift = []
|
|
||||||
ShiftMask = []
|
|
||||||
Button = mbLeft
|
|
||||||
ClickCount = ccAny
|
ClickCount = ccAny
|
||||||
ClickDir = cdDown
|
ClickDir = cdDown
|
||||||
Command = 13
|
Command = emcOnMainGutterClick
|
||||||
MoveCaret = False
|
|
||||||
Option = 0
|
|
||||||
Priority = 0
|
|
||||||
end
|
end
|
||||||
item
|
item
|
||||||
Shift = []
|
|
||||||
ShiftMask = []
|
|
||||||
Button = mbRight
|
Button = mbRight
|
||||||
ClickCount = ccSingle
|
Command = emcContextMenu
|
||||||
ClickDir = cdUp
|
|
||||||
Command = 12
|
|
||||||
MoveCaret = False
|
|
||||||
Option = 0
|
|
||||||
Priority = 0
|
|
||||||
end>
|
end>
|
||||||
Highlighter = SynDiffSyn1
|
Highlighter = SynDiffSyn1
|
||||||
Keystrokes = <
|
Keystrokes = <
|
||||||
@ -416,138 +389,104 @@ object DiskDiffsDlg: TDiskDiffsDlg
|
|||||||
end>
|
end>
|
||||||
MouseActions = <
|
MouseActions = <
|
||||||
item
|
item
|
||||||
Shift = []
|
|
||||||
ShiftMask = [ssShift, ssAlt]
|
ShiftMask = [ssShift, ssAlt]
|
||||||
Button = mbLeft
|
|
||||||
ClickCount = ccSingle
|
|
||||||
ClickDir = cdDown
|
ClickDir = cdDown
|
||||||
Command = 1
|
Command = emcStartSelections
|
||||||
MoveCaret = True
|
MoveCaret = True
|
||||||
Option = 0
|
|
||||||
Priority = 0
|
|
||||||
end
|
end
|
||||||
item
|
item
|
||||||
Shift = [ssShift]
|
Shift = [ssShift]
|
||||||
ShiftMask = [ssShift, ssAlt]
|
ShiftMask = [ssShift, ssAlt]
|
||||||
Button = mbLeft
|
|
||||||
ClickCount = ccSingle
|
|
||||||
ClickDir = cdDown
|
ClickDir = cdDown
|
||||||
Command = 1
|
Command = emcStartSelections
|
||||||
MoveCaret = True
|
MoveCaret = True
|
||||||
Option = 1
|
Option = 1
|
||||||
Priority = 0
|
|
||||||
end
|
end
|
||||||
item
|
item
|
||||||
Shift = [ssAlt]
|
Shift = [ssAlt]
|
||||||
ShiftMask = [ssShift, ssAlt]
|
ShiftMask = [ssShift, ssAlt]
|
||||||
Button = mbLeft
|
|
||||||
ClickCount = ccSingle
|
|
||||||
ClickDir = cdDown
|
ClickDir = cdDown
|
||||||
Command = 3
|
Command = emcStartColumnSelections
|
||||||
MoveCaret = True
|
MoveCaret = True
|
||||||
Option = 0
|
|
||||||
Priority = 0
|
|
||||||
end
|
end
|
||||||
item
|
item
|
||||||
Shift = [ssShift, ssAlt]
|
Shift = [ssShift, ssAlt]
|
||||||
ShiftMask = [ssShift, ssAlt]
|
ShiftMask = [ssShift, ssAlt]
|
||||||
Button = mbLeft
|
|
||||||
ClickCount = ccSingle
|
|
||||||
ClickDir = cdDown
|
ClickDir = cdDown
|
||||||
Command = 3
|
Command = emcStartColumnSelections
|
||||||
MoveCaret = True
|
MoveCaret = True
|
||||||
Option = 1
|
Option = 1
|
||||||
Priority = 0
|
|
||||||
end
|
end
|
||||||
item
|
item
|
||||||
Shift = []
|
|
||||||
ShiftMask = []
|
|
||||||
Button = mbRight
|
Button = mbRight
|
||||||
ClickCount = ccSingle
|
Command = emcContextMenu
|
||||||
ClickDir = cdUp
|
|
||||||
Command = 12
|
|
||||||
MoveCaret = False
|
|
||||||
Option = 0
|
|
||||||
Priority = 0
|
|
||||||
end
|
end
|
||||||
item
|
item
|
||||||
Shift = []
|
|
||||||
ShiftMask = []
|
|
||||||
Button = mbLeft
|
|
||||||
ClickCount = ccDouble
|
ClickCount = ccDouble
|
||||||
ClickDir = cdDown
|
ClickDir = cdDown
|
||||||
Command = 6
|
Command = emcSelectWord
|
||||||
MoveCaret = True
|
MoveCaret = True
|
||||||
Option = 0
|
|
||||||
Priority = 0
|
|
||||||
end
|
end
|
||||||
item
|
item
|
||||||
Shift = []
|
|
||||||
ShiftMask = []
|
|
||||||
Button = mbLeft
|
|
||||||
ClickCount = ccTriple
|
ClickCount = ccTriple
|
||||||
ClickDir = cdDown
|
ClickDir = cdDown
|
||||||
Command = 7
|
Command = emcSelectLine
|
||||||
MoveCaret = True
|
MoveCaret = True
|
||||||
Option = 0
|
|
||||||
Priority = 0
|
|
||||||
end
|
end
|
||||||
item
|
item
|
||||||
Shift = []
|
|
||||||
ShiftMask = []
|
|
||||||
Button = mbLeft
|
|
||||||
ClickCount = ccQuad
|
ClickCount = ccQuad
|
||||||
ClickDir = cdDown
|
ClickDir = cdDown
|
||||||
Command = 8
|
Command = emcSelectPara
|
||||||
MoveCaret = True
|
MoveCaret = True
|
||||||
Option = 0
|
|
||||||
Priority = 0
|
|
||||||
end
|
end
|
||||||
item
|
item
|
||||||
Shift = []
|
|
||||||
ShiftMask = []
|
|
||||||
Button = mbMiddle
|
Button = mbMiddle
|
||||||
ClickCount = ccSingle
|
|
||||||
ClickDir = cdDown
|
ClickDir = cdDown
|
||||||
Command = 10
|
Command = emcPasteSelection
|
||||||
MoveCaret = True
|
MoveCaret = True
|
||||||
Option = 0
|
|
||||||
Priority = 0
|
|
||||||
end
|
end
|
||||||
item
|
item
|
||||||
Shift = [ssCtrl]
|
Shift = [ssCtrl]
|
||||||
ShiftMask = [ssShift, ssAlt, ssCtrl]
|
ShiftMask = [ssShift, ssAlt, ssCtrl]
|
||||||
Button = mbLeft
|
Command = emcMouseLink
|
||||||
ClickCount = ccSingle
|
|
||||||
ClickDir = cdUp
|
|
||||||
Command = 11
|
|
||||||
MoveCaret = False
|
|
||||||
Option = 0
|
|
||||||
Priority = 0
|
|
||||||
end>
|
end>
|
||||||
|
MouseTextActions = <>
|
||||||
MouseSelActions = <
|
MouseSelActions = <
|
||||||
item
|
item
|
||||||
Shift = []
|
|
||||||
ShiftMask = []
|
|
||||||
Button = mbLeft
|
|
||||||
ClickCount = ccSingle
|
|
||||||
ClickDir = cdDown
|
ClickDir = cdDown
|
||||||
Command = 9
|
Command = emcStartDragMove
|
||||||
MoveCaret = False
|
|
||||||
Option = 0
|
|
||||||
Priority = 0
|
|
||||||
end>
|
end>
|
||||||
Lines.Strings = (
|
Lines.Strings = (
|
||||||
'DiffSynEdit'
|
'DiffSynEdit'
|
||||||
)
|
)
|
||||||
|
VisibleSpecialChars = [vscSpace, vscTabAtLast]
|
||||||
ReadOnly = True
|
ReadOnly = True
|
||||||
|
SelectedColor.BackPriority = 50
|
||||||
|
SelectedColor.ForePriority = 50
|
||||||
|
SelectedColor.FramePriority = 50
|
||||||
|
SelectedColor.BoldPriority = 50
|
||||||
|
SelectedColor.ItalicPriority = 50
|
||||||
|
SelectedColor.UnderlinePriority = 50
|
||||||
|
SelectedColor.StrikeOutPriority = 50
|
||||||
BracketHighlightStyle = sbhsBoth
|
BracketHighlightStyle = sbhsBoth
|
||||||
|
BracketMatchColor.Background = clNone
|
||||||
|
BracketMatchColor.Foreground = clNone
|
||||||
|
BracketMatchColor.Style = [fsBold]
|
||||||
|
FoldedCodeColor.Background = clNone
|
||||||
|
FoldedCodeColor.Foreground = clGray
|
||||||
|
FoldedCodeColor.FrameColor = clGray
|
||||||
|
MouseLinkColor.Background = clNone
|
||||||
|
MouseLinkColor.Foreground = clBlue
|
||||||
|
LineHighlightColor.Background = clNone
|
||||||
|
LineHighlightColor.Foreground = clNone
|
||||||
|
WantTabs = False
|
||||||
inline SynGutterPartList1: TSynGutterPartList
|
inline SynGutterPartList1: TSynGutterPartList
|
||||||
object SynGutterMarks1: TSynGutterMarks
|
object SynGutterMarks1: TSynGutterMarks
|
||||||
Width = 24
|
Width = 24
|
||||||
|
MouseActions = <>
|
||||||
end
|
end
|
||||||
object SynGutterLineNumber1: TSynGutterLineNumber
|
object SynGutterLineNumber1: TSynGutterLineNumber
|
||||||
Width = 17
|
Width = 19
|
||||||
MouseActions = <>
|
MouseActions = <>
|
||||||
MarkupInfo.Background = clBtnFace
|
MarkupInfo.Background = clBtnFace
|
||||||
MarkupInfo.Foreground = clNone
|
MarkupInfo.Foreground = clNone
|
||||||
@ -558,35 +497,28 @@ object DiskDiffsDlg: TDiskDiffsDlg
|
|||||||
end
|
end
|
||||||
object SynGutterChanges1: TSynGutterChanges
|
object SynGutterChanges1: TSynGutterChanges
|
||||||
Width = 4
|
Width = 4
|
||||||
|
MouseActions = <>
|
||||||
ModifiedColor = 59900
|
ModifiedColor = 59900
|
||||||
SavedColor = clGreen
|
SavedColor = clGreen
|
||||||
end
|
end
|
||||||
object SynGutterSeparator1: TSynGutterSeparator
|
object SynGutterSeparator1: TSynGutterSeparator
|
||||||
Width = 2
|
Width = 2
|
||||||
|
MouseActions = <>
|
||||||
|
MarkupInfo.Background = clWhite
|
||||||
|
MarkupInfo.Foreground = clGray
|
||||||
end
|
end
|
||||||
object SynGutterCodeFolding1: TSynGutterCodeFolding
|
object SynGutterCodeFolding1: TSynGutterCodeFolding
|
||||||
MouseActions = <
|
MouseActions = <
|
||||||
item
|
item
|
||||||
Shift = []
|
|
||||||
ShiftMask = []
|
|
||||||
Button = mbRight
|
Button = mbRight
|
||||||
ClickCount = ccSingle
|
Command = emcCodeFoldContextMenu
|
||||||
ClickDir = cdUp
|
|
||||||
Command = 16
|
|
||||||
MoveCaret = False
|
|
||||||
Option = 0
|
|
||||||
Priority = 0
|
|
||||||
end
|
end
|
||||||
item
|
item
|
||||||
Shift = []
|
|
||||||
ShiftMask = [ssShift]
|
ShiftMask = [ssShift]
|
||||||
Button = mbMiddle
|
Button = mbMiddle
|
||||||
ClickCount = ccAny
|
ClickCount = ccAny
|
||||||
ClickDir = cdDown
|
ClickDir = cdDown
|
||||||
Command = 14
|
Command = emcCodeFoldCollaps
|
||||||
MoveCaret = False
|
|
||||||
Option = 0
|
|
||||||
Priority = 0
|
|
||||||
end
|
end
|
||||||
item
|
item
|
||||||
Shift = [ssShift]
|
Shift = [ssShift]
|
||||||
@ -594,63 +526,39 @@ object DiskDiffsDlg: TDiskDiffsDlg
|
|||||||
Button = mbMiddle
|
Button = mbMiddle
|
||||||
ClickCount = ccAny
|
ClickCount = ccAny
|
||||||
ClickDir = cdDown
|
ClickDir = cdDown
|
||||||
Command = 14
|
Command = emcCodeFoldCollaps
|
||||||
MoveCaret = False
|
|
||||||
Option = 1
|
Option = 1
|
||||||
Priority = 0
|
|
||||||
end
|
end
|
||||||
item
|
item
|
||||||
Shift = []
|
|
||||||
ShiftMask = []
|
|
||||||
Button = mbLeft
|
|
||||||
ClickCount = ccAny
|
ClickCount = ccAny
|
||||||
ClickDir = cdDown
|
ClickDir = cdDown
|
||||||
Command = 0
|
Command = emcNone
|
||||||
MoveCaret = False
|
|
||||||
Option = 0
|
|
||||||
Priority = 0
|
|
||||||
end>
|
end>
|
||||||
MarkupInfo.Background = clNone
|
MarkupInfo.Background = clNone
|
||||||
MarkupInfo.Foreground = clGray
|
MarkupInfo.Foreground = clGray
|
||||||
MouseActionsExpanded = <
|
MouseActionsExpanded = <
|
||||||
item
|
item
|
||||||
Shift = []
|
|
||||||
ShiftMask = []
|
|
||||||
Button = mbLeft
|
|
||||||
ClickCount = ccAny
|
ClickCount = ccAny
|
||||||
ClickDir = cdDown
|
ClickDir = cdDown
|
||||||
Command = 14
|
Command = emcCodeFoldCollaps
|
||||||
MoveCaret = False
|
|
||||||
Option = 0
|
|
||||||
Priority = 0
|
|
||||||
end>
|
end>
|
||||||
MouseActionsCollapsed = <
|
MouseActionsCollapsed = <
|
||||||
item
|
item
|
||||||
Shift = [ssCtrl]
|
Shift = [ssCtrl]
|
||||||
ShiftMask = [ssCtrl]
|
ShiftMask = [ssCtrl]
|
||||||
Button = mbLeft
|
|
||||||
ClickCount = ccAny
|
ClickCount = ccAny
|
||||||
ClickDir = cdDown
|
ClickDir = cdDown
|
||||||
Command = 15
|
Command = emcCodeFoldExpand
|
||||||
MoveCaret = False
|
|
||||||
Option = 0
|
|
||||||
Priority = 0
|
|
||||||
end
|
end
|
||||||
item
|
item
|
||||||
Shift = []
|
|
||||||
ShiftMask = [ssCtrl]
|
ShiftMask = [ssCtrl]
|
||||||
Button = mbLeft
|
|
||||||
ClickCount = ccAny
|
ClickCount = ccAny
|
||||||
ClickDir = cdDown
|
ClickDir = cdDown
|
||||||
Command = 15
|
Command = emcCodeFoldExpand
|
||||||
MoveCaret = False
|
|
||||||
Option = 1
|
Option = 1
|
||||||
Priority = 0
|
|
||||||
end>
|
end>
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
inline SynRightGutterPartList1: TSynRightGutterPartList
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
object Splitter: TSplitter
|
object Splitter: TSplitter
|
||||||
Cursor = crVSplit
|
Cursor = crVSplit
|
||||||
@ -665,9 +573,9 @@ object DiskDiffsDlg: TDiskDiffsDlg
|
|||||||
AnchorSideLeft.Control = Owner
|
AnchorSideLeft.Control = Owner
|
||||||
AnchorSideBottom.Control = BtnPanel
|
AnchorSideBottom.Control = BtnPanel
|
||||||
Left = 6
|
Left = 6
|
||||||
Height = 22
|
Height = 17
|
||||||
Top = 285
|
Top = 296
|
||||||
Width = 302
|
Width = 216
|
||||||
Anchors = [akLeft, akBottom]
|
Anchors = [akLeft, akBottom]
|
||||||
BorderSpacing.Around = 6
|
BorderSpacing.Around = 6
|
||||||
Caption = 'CheckDiskChangesWithLoadingCheckBox'
|
Caption = 'CheckDiskChangesWithLoadingCheckBox'
|
||||||
@ -675,39 +583,39 @@ object DiskDiffsDlg: TDiskDiffsDlg
|
|||||||
end
|
end
|
||||||
object BtnPanel: TPanel
|
object BtnPanel: TPanel
|
||||||
Left = 0
|
Left = 0
|
||||||
Height = 41
|
Height = 35
|
||||||
Top = 313
|
Top = 319
|
||||||
Width = 600
|
Width = 600
|
||||||
Align = alBottom
|
Align = alBottom
|
||||||
AutoSize = True
|
AutoSize = True
|
||||||
BevelOuter = bvNone
|
BevelOuter = bvNone
|
||||||
ClientHeight = 41
|
ClientHeight = 35
|
||||||
ClientWidth = 600
|
ClientWidth = 600
|
||||||
TabOrder = 4
|
TabOrder = 4
|
||||||
object RevertAllButton: TButton
|
object RevertAllButton: TButton
|
||||||
Left = 472
|
Left = 492
|
||||||
Height = 29
|
Height = 23
|
||||||
Top = 6
|
Top = 6
|
||||||
Width = 122
|
Width = 102
|
||||||
Align = alRight
|
Align = alRight
|
||||||
AutoSize = True
|
AutoSize = True
|
||||||
BorderSpacing.Around = 6
|
BorderSpacing.Around = 6
|
||||||
Caption = 'RevertAllButton'
|
Caption = 'RevertAllButton'
|
||||||
Default = True
|
Default = True
|
||||||
ModalResult = 10
|
ModalResult = 10
|
||||||
TabOrder = 0
|
TabOrder = 1
|
||||||
end
|
end
|
||||||
object IgnoreDiskChangesButton: TButton
|
object IgnoreDiskChangesButton: TButton
|
||||||
Left = 278
|
Left = 335
|
||||||
Height = 29
|
Height = 23
|
||||||
Top = 6
|
Top = 6
|
||||||
Width = 188
|
Width = 151
|
||||||
Align = alRight
|
Align = alRight
|
||||||
AutoSize = True
|
AutoSize = True
|
||||||
BorderSpacing.Around = 6
|
BorderSpacing.Around = 6
|
||||||
Caption = 'IgnoreDiskChangesButton'
|
Caption = 'IgnoreDiskChangesButton'
|
||||||
ModalResult = 5
|
ModalResult = 5
|
||||||
TabOrder = 1
|
TabOrder = 0
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
object SynDiffSyn1: TSynDiffSyn
|
object SynDiffSyn1: TSynDiffSyn
|
||||||
|
@ -62,8 +62,7 @@ type
|
|||||||
SynDiffSyn1: TSynDiffSyn;
|
SynDiffSyn1: TSynDiffSyn;
|
||||||
procedure DiskDiffsDlgKeyDown(Sender: TObject; var Key: Word;
|
procedure DiskDiffsDlgKeyDown(Sender: TObject; var Key: Word;
|
||||||
{%H-}Shift: TShiftState);
|
{%H-}Shift: TShiftState);
|
||||||
procedure FilesListBoxMouseUp(Sender: TOBject; {%H-}Button: TMouseButton;
|
procedure FilesListBoxSelectionChange(Sender: TObject; User: boolean);
|
||||||
{%H-}Shift: TShiftState; {%H-}X, {%H-}Y: Integer);
|
|
||||||
procedure FormClose(Sender: TObject; var {%H-}CloseAction: TCloseAction);
|
procedure FormClose(Sender: TObject; var {%H-}CloseAction: TCloseAction);
|
||||||
private
|
private
|
||||||
FPackageList: TStringList;
|
FPackageList: TStringList;
|
||||||
@ -208,10 +207,11 @@ begin
|
|||||||
ModalResult := mrYesToAll;
|
ModalResult := mrYesToAll;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TDiskDiffsDlg.FilesListBoxMouseUp(Sender: TOBject;
|
procedure TDiskDiffsDlg.FilesListBoxSelectionChange(Sender: TObject;
|
||||||
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
|
User: boolean);
|
||||||
begin
|
begin
|
||||||
ShowDiff;
|
if User then
|
||||||
|
ShowDiff;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TDiskDiffsDlg.FormClose(Sender: TObject; var CloseAction: TCloseAction);
|
procedure TDiskDiffsDlg.FormClose(Sender: TObject; var CloseAction: TCloseAction);
|
||||||
|
Loading…
Reference in New Issue
Block a user