Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-cw
Commits
cec4ee86
Commit
cec4ee86
authored
Jun 27, 2008
by
Eric Pouech
Committed by
Alexandre Julliard
Jun 30, 2008
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
winhelp: Start implementing a prop sheet for all lookup needs.
parent
9c030d46
Hide whitespace changes
Inline
Side-by-side
Showing
27 changed files
with
94 additions
and
29 deletions
+94
-29
Bg.rc
programs/winhlp32/Bg.rc
+1
-0
Cs.rc
programs/winhlp32/Cs.rc
+1
-0
Da.rc
programs/winhlp32/Da.rc
+1
-0
De.rc
programs/winhlp32/De.rc
+1
-0
En.rc
programs/winhlp32/En.rc
+1
-0
Eo.rc
programs/winhlp32/Eo.rc
+1
-0
Es.rc
programs/winhlp32/Es.rc
+1
-0
Fi.rc
programs/winhlp32/Fi.rc
+1
-0
Fr.rc
programs/winhlp32/Fr.rc
+1
-0
Hu.rc
programs/winhlp32/Hu.rc
+1
-0
It.rc
programs/winhlp32/It.rc
+1
-0
Ko.rc
programs/winhlp32/Ko.rc
+1
-0
Makefile.in
programs/winhlp32/Makefile.in
+2
-1
Nl.rc
programs/winhlp32/Nl.rc
+1
-0
No.rc
programs/winhlp32/No.rc
+1
-0
Pl.rc
programs/winhlp32/Pl.rc
+1
-0
Pt.rc
programs/winhlp32/Pt.rc
+2
-0
Rm.rc
programs/winhlp32/Rm.rc
+1
-0
Ru.rc
programs/winhlp32/Ru.rc
+1
-0
Si.rc
programs/winhlp32/Si.rc
+1
-0
Sk.rc
programs/winhlp32/Sk.rc
+1
-0
Sv.rc
programs/winhlp32/Sv.rc
+1
-0
Tr.rc
programs/winhlp32/Tr.rc
+1
-0
Wa.rc
programs/winhlp32/Wa.rc
+1
-0
Zh.rc
programs/winhlp32/Zh.rc
+1
-0
winhelp.c
programs/winhlp32/winhelp.c
+66
-28
winhelp_res.h
programs/winhlp32/winhelp_res.h
+1
-0
No files found.
programs/winhlp32/Bg.rc
View file @
cec4ee86
...
...
@@ -82,4 +82,5 @@ STID_ALL_FILES, " (*.*)"
STID_HELP_FILES_HLP, " (*.hlp)"
STID_FILE_NOT_FOUND_s "Cannot find '%s'. Do you want to find this file yourself?"
STID_NO_RICHEDIT "Cannot find a richedit implementation... Aborting"
STID_PSH_INDEX, "Help topics: "
}
programs/winhlp32/Cs.rc
View file @
cec4ee86
...
...
@@ -87,4 +87,5 @@ STID_ALL_FILES, "Vechny soubory (*.*)"
STID_HELP_FILES_HLP, "Soubory npovdy (*.hlp)"
STID_FILE_NOT_FOUND_s "Cannot find '%s'. Do you want to find this file yourself?"
STID_NO_RICHEDIT "Cannot find a richedit implementation... Aborting"
STID_PSH_INDEX, "Help topics: "
}
programs/winhlp32/Da.rc
View file @
cec4ee86
...
...
@@ -94,4 +94,5 @@ STID_ALL_FILES, "Alle filer (*.*)"
STID_HELP_FILES_HLP, "Hjlpe filer (*.hlp)"
STID_FILE_NOT_FOUND_s "Kan ikke finde '%s'. Vil du selv finde filen?"
STID_NO_RICHEDIT "Kan ikke finde en 'richedit' implementering... Afbryder"
STID_PSH_INDEX, "Help topics: "
}
programs/winhlp32/De.rc
View file @
cec4ee86
...
...
@@ -94,6 +94,7 @@ STID_ALL_FILES, "Alle Dateien (*.*)"
STID_HELP_FILES_HLP, "Hilfe-Dateien (*.hlp)"
STID_FILE_NOT_FOUND_s "'%s' konnte nicht gefunden werden. Wollen Sie selber nach dieser Datei suchen?"
STID_NO_RICHEDIT "Die Richedit Implementation konnte nicht gefunden werden... Breche ab."
STID_PSH_INDEX, "Help topics: "
}
CONTEXT_MENU MENU LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL
...
...
programs/winhlp32/En.rc
View file @
cec4ee86
...
...
@@ -93,6 +93,7 @@ STID_ALL_FILES, "All files (*.*)"
STID_HELP_FILES_HLP, "Help files (*.hlp)"
STID_FILE_NOT_FOUND_s "Cannot find '%s'. Do you want to find this file yourself?"
STID_NO_RICHEDIT "Cannot find a richedit implementation... Aborting"
STID_PSH_INDEX, "Help topics: "
}
CONTEXT_MENU MENU LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT
...
...
programs/winhlp32/Eo.rc
View file @
cec4ee86
...
...
@@ -85,4 +85,5 @@ STID_ALL_FILES, "Tutaj dosieroj (*.*)"
STID_HELP_FILES_HLP, "Helpaj dosieroj (*.hlp)"
STID_FILE_NOT_FOUND_s "Cannot find '%s'. Do you want to find this file yourself?"
STID_NO_RICHEDIT "Cannot find a richedit implementation... Aborting"
STID_PSH_INDEX, "Help topics: "
}
programs/winhlp32/Es.rc
View file @
cec4ee86
...
...
@@ -84,4 +84,5 @@ STID_ALL_FILES, "Todos los archivos (*.*)"
STID_HELP_FILES_HLP, "Archivos de ayuda (*.hlp)"
STID_FILE_NOT_FOUND_s "Cannot find '%s'. Do you want to find this file yourself?"
STID_NO_RICHEDIT "Cannot find a richedit implementation... Aborting"
STID_PSH_INDEX, "Help topics: "
}
programs/winhlp32/Fi.rc
View file @
cec4ee86
...
...
@@ -85,4 +85,5 @@ STID_ALL_FILES, "Kaikki tiedostot (*.*)"
STID_HELP_FILES_HLP, "Ohjetiedostot (*.hlp)"
STID_FILE_NOT_FOUND_s "Cannot find '%s'. Do you want to find this file yourself?"
STID_NO_RICHEDIT "Cannot find a richedit implementation... Aborting"
STID_PSH_INDEX, "Help topics: "
}
programs/winhlp32/Fr.rc
View file @
cec4ee86
...
...
@@ -96,6 +96,7 @@ STID_ALL_FILES, "Tous fichiers (*.*)"
STID_HELP_FILES_HLP, "Fichiers d'aide (*.hlp)"
STID_FILE_NOT_FOUND_s "Impossible de trouver %s. Souhaitez-vous rechercher ce fichier vous-mme?"
STID_NO_RICHEDIT "La bibliothque RichEdit n'a pu tre localise... Abandon"
STID_PSH_INDEX, "Rubriques d'aide : "
}
CONTEXT_MENU MENU
...
...
programs/winhlp32/Hu.rc
View file @
cec4ee86
...
...
@@ -85,4 +85,5 @@ STID_ALL_FILES, "Minden fjl (*.*)"
STID_HELP_FILES_HLP, "Sg fjlok (*.hlp)"
STID_FILE_NOT_FOUND_s "Cannot find '%s'. Do you want to find this file yourself?"
STID_NO_RICHEDIT "Cannot find a richedit implementation... Aborting"
STID_PSH_INDEX, "Help topics: "
}
programs/winhlp32/It.rc
View file @
cec4ee86
...
...
@@ -84,4 +84,5 @@ STID_ALL_FILES, "Tutti i file (*.*)"
STID_HELP_FILES_HLP, "File della Guida (*.hlp)"
STID_FILE_NOT_FOUND_s "Cannot find '%s'. Do you want to find this file yourself?"
STID_NO_RICHEDIT "Cannot find a richedit implementation... Aborting"
STID_PSH_INDEX, "Help topics: "
}
programs/winhlp32/Ko.rc
View file @
cec4ee86
...
...
@@ -96,6 +96,7 @@ STID_ALL_FILES, "모든 파일 (*.*)"
STID_HELP_FILES_HLP, "도움말 파일 (*.hlp)"
STID_FILE_NOT_FOUND_s "%s을 찾을 수 없습니다'. 이 파일을 직접 찾겠습니까?"
STID_NO_RICHEDIT "richedit 구현을 찾을수 업습니다.. 취소중"
STID_PSH_INDEX, "Help topics: "
}
CONTEXT_MENU MENU LANGUAGE LANG_KOREAN, SUBLANG_NEUTRAL
...
...
programs/winhlp32/Makefile.in
View file @
cec4ee86
...
...
@@ -4,7 +4,8 @@ SRCDIR = @srcdir@
VPATH
=
@srcdir@
MODULE
=
winhlp32.exe
APPMODE
=
-mwindows
IMPORTS
=
comdlg32 shell32 user32 gdi32 kernel32
IMPORTS
=
user32 gdi32 kernel32
DELAYIMPORTS
=
shell32 comctl32 comdlg32
C_SRCS
=
\
callback.c
\
...
...
programs/winhlp32/Nl.rc
View file @
cec4ee86
...
...
@@ -93,6 +93,7 @@ STID_ALL_FILES, "Alle bestanden (*.*)"
STID_HELP_FILES_HLP, "Helpbestanden (*.hlp)"
STID_FILE_NOT_FOUND_s "Kan '%s' niet openen. Wilt u zelf dit bestand zoeken?"
STID_NO_RICHEDIT "Cannot find a richedit implementation... Aborting"
STID_PSH_INDEX, "Help topics: "
}
CONTEXT_MENU MENU LANGUAGE LANG_DUTCH, SUBLANG_NEUTRAL
...
...
programs/winhlp32/No.rc
View file @
cec4ee86
...
...
@@ -92,4 +92,5 @@ STID_ALL_FILES, "Alle filer (*.*)"
STID_HELP_FILES_HLP, "Hjelp-filer (*.hlp)"
STID_FILE_NOT_FOUND_s "Cannot find '%s'. Do you want to find this file yourself?"
STID_NO_RICHEDIT "Cannot find a richedit implementation... Aborting"
STID_PSH_INDEX, "Help topics: "
}
programs/winhlp32/Pl.rc
View file @
cec4ee86
...
...
@@ -94,6 +94,7 @@ STID_ALL_FILES, "Wszystkie pliki (*.*)"
STID_HELP_FILES_HLP, "Pliki pomocy (*.hlp)"
STID_FILE_NOT_FOUND_s "Nie znaleziono pliku '%s'. Czy chcesz poszuka tego pliku samodzielnie?"
STID_NO_RICHEDIT "Nie udao si znale moduu richedit... Wywietlenie pomocy nie jest moliwe"
STID_PSH_INDEX, "Help topics: "
}
...
...
programs/winhlp32/Pt.rc
View file @
cec4ee86
...
...
@@ -139,6 +139,7 @@ STID_ALL_FILES, "Todos os arquivos (*.*)"
STID_HELP_FILES_HLP, "Arquivos de ajuda (*.hlp)"
STID_FILE_NOT_FOUND_s "Cannot find '%s'. Do you want to find this file yourself?"
STID_NO_RICHEDIT "Cannot find a richedit implementation... Aborting"
STID_PSH_INDEX, "Help topics: "
}
LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE
...
...
@@ -159,4 +160,5 @@ STID_ALL_FILES, "Todos os ficheiros (*.*)"
STID_HELP_FILES_HLP, "Ficheiros de ajuda (*.hlp)"
STID_FILE_NOT_FOUND_s "No possvel encontrar '%s'. Deseja procurar este ficheiro voc mesmo?"
STID_NO_RICHEDIT "Cannot find a richedit implementation... Aborting"
STID_PSH_INDEX, "Help topics: "
}
programs/winhlp32/Rm.rc
View file @
cec4ee86
...
...
@@ -87,4 +87,5 @@ STID_ALL_FILES, "Tuot las datotecas (*.*)"
STID_HELP_FILES_HLP, "Datotecas d'ag�d (*.hlp)"
STID_FILE_NOT_FOUND_s "Cannot find '%s'. Do you want to find this file yourself?"
STID_NO_RICHEDIT "Cannot find a richedit implementation... Aborting"
STID_PSH_INDEX, "Help topics: "
}
programs/winhlp32/Ru.rc
View file @
cec4ee86
...
...
@@ -92,6 +92,7 @@ STID_ALL_FILES, " (*.*)"
STID_HELP_FILES_HLP, " (*.hlp)"
STID_FILE_NOT_FOUND_s " '%s'. ?"
STID_NO_RICHEDIT " richedit"
STID_PSH_INDEX, "Help topics: "
}
CONTEXT_MENU MENU LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
...
...
programs/winhlp32/Si.rc
View file @
cec4ee86
...
...
@@ -94,6 +94,7 @@ STID_ALL_FILES, "Vse datoteke (*.*)"
STID_HELP_FILES_HLP, "Datoteke s pomočjo (*.hlp)"
STID_FILE_NOT_FOUND_s "Ne najdem datoteke '%s'. Ali jo želite poiskati sami?"
STID_NO_RICHEDIT "Cannot find a richedit implementation... Aborting"
STID_PSH_INDEX, "Help topics: "
}
#pragma code_page(default)
programs/winhlp32/Sk.rc
View file @
cec4ee86
...
...
@@ -80,4 +80,5 @@ STID_ALL_FILES, "Vetky sbory (*.*)"
STID_HELP_FILES_HLP, "Sbory pomoci (*.hlp)"
STID_FILE_NOT_FOUND_s "Cannot find '%s'. Do you want to find this file yourself?"
STID_NO_RICHEDIT "Cannot find a richedit implementation... Aborting"
STID_PSH_INDEX, "Help topics: "
}
programs/winhlp32/Sv.rc
View file @
cec4ee86
...
...
@@ -85,4 +85,5 @@ STID_ALL_FILES, "Alla filer (*.*)"
STID_HELP_FILES_HLP, "Hjälpfiler (*.hlp)"
STID_FILE_NOT_FOUND_s "Kan inte hitta '%s'. Vill du söka efter denna fil?"
STID_NO_RICHEDIT "Cannot find a richedit implementation... Aborting"
STID_PSH_INDEX, "Help topics: "
}
programs/winhlp32/Tr.rc
View file @
cec4ee86
...
...
@@ -82,4 +82,5 @@ STID_ALL_FILES, "Tm dosyalar (*.*)"
STID_HELP_FILES_HLP, "Yardm dosyalar (*.hlp)"
STID_FILE_NOT_FOUND_s "Cannot find '%s'. Do you want to find this file yourself?"
STID_NO_RICHEDIT "Cannot find a richedit implementation... Aborting"
STID_PSH_INDEX, "Help topics: "
}
programs/winhlp32/Wa.rc
View file @
cec4ee86
...
...
@@ -87,6 +87,7 @@ STID_ALL_FILES, "Tos les fitchs (*.*)"
STID_HELP_FILES_HLP, "Fitchs d' aide (*.hlp)"
STID_FILE_NOT_FOUND_s "Cannot find '%s'. Do you want to find this file yourself?"
STID_NO_RICHEDIT "Cannot find a richedit implementation... Aborting"
STID_PSH_INDEX, "Help topics: "
}
#endif /* LANG_WALON */
programs/winhlp32/Zh.rc
View file @
cec4ee86
...
...
@@ -83,4 +83,5 @@ STID_ALL_FILES, "ļ (*.*)"
STID_HELP_FILES_HLP, "帮助文件 (*.hlp)"
STID_FILE_NOT_FOUND_s "Cannot find '%s'. Do you want to find this file yourself?"
STID_NO_RICHEDIT "Cannot find a richedit implementation... Aborting"
STID_PSH_INDEX, "Help topics: "
}
programs/winhlp32/winhelp.c
View file @
cec4ee86
...
...
@@ -27,6 +27,9 @@
#include <stdarg.h>
#include <stdlib.h>
#define NONAMELESSUNION
#define NONAMELESSSTRUCT
#include "windef.h"
#include "winbase.h"
#include "wingdi.h"
...
...
@@ -36,6 +39,7 @@
#include "winhelp_res.h"
#include "shellapi.h"
#include "richedit.h"
#include "commctrl.h"
#include "wine/debug.h"
...
...
@@ -1536,6 +1540,13 @@ static void cb_KWBTree(void *p, void **next, void *cookie)
*
next
=
(
char
*
)
p
+
strlen
((
char
*
)
p
)
+
7
;
}
struct
index_data
{
HLPFILE
*
hlpfile
;
BOOL
jump
;
ULONG
offset
;
};
/**************************************************************************
* WINHELP_IndexDlgProc
*
...
...
@@ -1546,23 +1557,24 @@ static void cb_KWBTree(void *p, void **next, void *cookie)
* >1: valid offset value +2.
* EndDialog itself can return 0 (error).
*/
INT_PTR
CALLBACK
WINHELP_
Search
DlgProc
(
HWND
hWnd
,
UINT
msg
,
WPARAM
wParam
,
LPARAM
lParam
)
INT_PTR
CALLBACK
WINHELP_
Index
DlgProc
(
HWND
hWnd
,
UINT
msg
,
WPARAM
wParam
,
LPARAM
lParam
)
{
static
HLPFILE
*
file
;
static
struct
index_data
*
id
;
int
sel
;
ULONG
offset
=
1
;
switch
(
msg
)
{
case
WM_INITDIALOG
:
file
=
(
HLPFILE
*
)
lParam
;
HLPFILE_BPTreeEnum
(
file
->
kwbtree
,
cb_KWBTree
,
id
=
(
struct
index_data
*
)((
PROPSHEETPAGE
*
)
lParam
)
->
lParam
;
HLPFILE_BPTreeEnum
(
id
->
hlp
file
->
kwbtree
,
cb_KWBTree
,
GetDlgItem
(
hWnd
,
IDC_INDEXLIST
));
id
->
jump
=
FALSE
;
id
->
offset
=
1
;
return
TRUE
;
case
WM_
COMMAND
:
switch
(
LOWORD
(
wParam
)
)
{
case
IDOK
:
case
WM_
NOTIFY
:
switch
(((
NMHDR
*
)
lParam
)
->
code
)
{
case
PSN_APPLY
:
sel
=
SendDlgItemMessage
(
hWnd
,
IDC_INDEXLIST
,
LB_GETCURSEL
,
0
,
0
);
if
(
sel
!=
LB_ERR
)
{
...
...
@@ -1575,24 +1587,25 @@ INT_PTR CALLBACK WINHELP_SearchDlgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARA
if
(
count
>
1
)
{
MessageBox
(
hWnd
,
"count > 1 not supported yet"
,
"Error"
,
MB_OK
|
MB_ICONSTOP
);
SetWindowLongPtr
(
hWnd
,
DWLP_MSGRESULT
,
PSNRET_INVALID
);
return
TRUE
;
}
offset
=
*
(
ULONG
*
)((
char
*
)
p
+
strlen
((
char
*
)
p
)
+
3
);
offset
=
*
(
long
*
)(
file
->
kwdata
+
offset
+
9
);
if
(
offset
==
0xFFFFFFFF
)
id
->
offset
=
*
(
ULONG
*
)((
char
*
)
p
+
strlen
((
char
*
)
p
)
+
3
);
id
->
offset
=
*
(
long
*
)(
id
->
hlpfile
->
kwdata
+
id
->
offset
+
9
);
if
(
id
->
offset
==
0xFFFFFFFF
)
{
MessageBox
(
hWnd
,
"macro keywords not supported yet"
,
"Error"
,
MB_OK
|
MB_ICONSTOP
);
SetWindowLongPtr
(
hWnd
,
DWLP_MSGRESULT
,
PSNRET_INVALID
);
return
TRUE
;
}
offset
+=
2
;
id
->
jump
=
TRUE
;
SetWindowLongPtr
(
hWnd
,
DWLP_MSGRESULT
,
PSNRET_NOERROR
);
}
/* Fall through */
case
IDCANCEL
:
EndDialog
(
hWnd
,
offset
);
return
TRUE
;
default:
break
;
return
FALSE
;
}
break
;
default:
break
;
}
...
...
@@ -1607,28 +1620,53 @@ INT_PTR CALLBACK WINHELP_SearchDlgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARA
*/
BOOL
WINHELP_CreateIndexWindow
(
void
)
{
int
ret
;
HLPFILE
*
hlpfile
;
HPROPSHEETPAGE
psPage
[
3
];
PROPSHEETPAGE
psp
;
PROPSHEETHEADER
psHead
;
struct
index_data
id
;
char
buf
[
256
];
if
(
Globals
.
active_win
&&
Globals
.
active_win
->
page
&&
Globals
.
active_win
->
page
->
file
)
hlpfile
=
Globals
.
active_win
->
page
->
file
;
id
.
hlpfile
=
Globals
.
active_win
->
page
->
file
;
else
return
FALSE
;
if
(
hlpfile
->
kwbtree
==
NULL
)
if
(
id
.
hlpfile
->
kwbtree
==
NULL
)
{
WINE_TRACE
(
"No index provided
\n
"
);
return
FALSE
;
}
ret
=
DialogBoxParam
(
Globals
.
hInstance
,
MAKEINTRESOURCE
(
IDD_INDEX
),
Globals
.
active_win
->
hMainWnd
,
WINHELP_SearchDlgProc
,
(
LPARAM
)
hlpfile
);
if
(
ret
>
1
)
InitCommonControls
();
id
.
jump
=
FALSE
;
memset
(
&
psp
,
0
,
sizeof
(
psp
));
psp
.
dwSize
=
sizeof
(
psp
);
psp
.
dwFlags
=
0
;
psp
.
hInstance
=
Globals
.
hInstance
;
psp
.
u
.
pszTemplate
=
MAKEINTRESOURCE
(
IDD_INDEX
);
psp
.
lParam
=
(
LPARAM
)
&
id
;
psp
.
pfnDlgProc
=
WINHELP_IndexDlgProc
;
psPage
[
0
]
=
CreatePropertySheetPage
(
&
psp
);
memset
(
&
psHead
,
0
,
sizeof
(
psHead
));
psHead
.
dwSize
=
sizeof
(
psHead
);
LoadString
(
Globals
.
hInstance
,
STID_PSH_INDEX
,
buf
,
sizeof
(
buf
));
strcat
(
buf
,
Globals
.
active_win
->
info
->
caption
);
psHead
.
pszCaption
=
buf
;
psHead
.
nPages
=
1
;
psHead
.
hwndParent
=
Globals
.
active_win
->
hMainWnd
;
psHead
.
u3
.
phpage
=
psPage
;
psHead
.
dwFlags
=
PSH_NOAPPLYNOW
;
PropertySheet
(
&
psHead
);
if
(
id
.
jump
)
{
ret
-=
2
;
WINE_TRACE
(
"got %d as an offset
\n
"
,
ret
);
WINHELP_OpenHelpWindow
(
HLPFILE_PageByOffset
,
hlpfile
,
ret
,
WINE_TRACE
(
"got %d as an offset
\n
"
,
id
.
offset
);
WINHELP_OpenHelpWindow
(
HLPFILE_PageByOffset
,
id
.
hlpfile
,
id
.
offset
,
Globals
.
active_win
->
info
,
SW_NORMAL
);
}
return
TRUE
;
...
...
programs/winhlp32/winhelp_res.h
View file @
cec4ee86
...
...
@@ -51,6 +51,7 @@
#define STID_DIALOG_TEST 0x12D
#define STID_FILE_NOT_FOUND_s 0x12E
#define STID_NO_RICHEDIT 0x12F
#define STID_PSH_INDEX 0x130
#define IDD_INDEX 0x150
#define IDC_INDEXLIST 0x151
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment