Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in / Register
Toggle navigation
M
ModifyProject-Qt
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Qiu Chuntao
ModifyProject-Qt
Commits
44eff581
Commit
44eff581
authored
Oct 14, 2020
by
Qiu Chuntao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Optimize the code
parent
47efbeaf
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
236 additions
and
6 deletions
+236
-6
Qtsqlite.pro.user
Qtsqlite.pro.user
+210
-0
regist.cpp
regist.cpp
+2
-0
userwindow.cpp
userwindow.cpp
+24
-6
No files found.
Qtsqlite.pro.user
0 → 100644
View file @
44eff581
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 4.0.3, 2020-10-14T17:52:33. -->
<qtcreator>
<data>
<variable>
EnvironmentId
</variable>
<value
type=
"QByteArray"
>
{4bd6f313-c43d-4451-93d6-5bbfb3b42f0d}
</value>
</data>
<data>
<variable>
ProjectExplorer.Project.ActiveTarget
</variable>
<value
type=
"int"
>
0
</value>
</data>
<data>
<variable>
ProjectExplorer.Project.EditorSettings
</variable>
<valuemap
type=
"QVariantMap"
>
<value
type=
"bool"
key=
"EditorConfiguration.AutoIndent"
>
true
</value>
<value
type=
"bool"
key=
"EditorConfiguration.AutoSpacesForTabs"
>
false
</value>
<value
type=
"bool"
key=
"EditorConfiguration.CamelCaseNavigation"
>
true
</value>
<valuemap
type=
"QVariantMap"
key=
"EditorConfiguration.CodeStyle.0"
>
<value
type=
"QString"
key=
"language"
>
Cpp
</value>
<valuemap
type=
"QVariantMap"
key=
"value"
>
<value
type=
"QByteArray"
key=
"CurrentPreferences"
>
CppGlobal
</value>
</valuemap>
</valuemap>
<valuemap
type=
"QVariantMap"
key=
"EditorConfiguration.CodeStyle.1"
>
<value
type=
"QString"
key=
"language"
>
QmlJS
</value>
<valuemap
type=
"QVariantMap"
key=
"value"
>
<value
type=
"QByteArray"
key=
"CurrentPreferences"
>
QmlJSGlobal
</value>
</valuemap>
</valuemap>
<value
type=
"int"
key=
"EditorConfiguration.CodeStyle.Count"
>
2
</value>
<value
type=
"QByteArray"
key=
"EditorConfiguration.Codec"
>
UTF-8
</value>
<value
type=
"bool"
key=
"EditorConfiguration.ConstrainTooltips"
>
false
</value>
<value
type=
"int"
key=
"EditorConfiguration.IndentSize"
>
4
</value>
<value
type=
"bool"
key=
"EditorConfiguration.KeyboardTooltips"
>
false
</value>
<value
type=
"int"
key=
"EditorConfiguration.MarginColumn"
>
80
</value>
<value
type=
"bool"
key=
"EditorConfiguration.MouseHiding"
>
true
</value>
<value
type=
"bool"
key=
"EditorConfiguration.MouseNavigation"
>
true
</value>
<value
type=
"int"
key=
"EditorConfiguration.PaddingMode"
>
1
</value>
<value
type=
"bool"
key=
"EditorConfiguration.ScrollWheelZooming"
>
true
</value>
<value
type=
"bool"
key=
"EditorConfiguration.ShowMargin"
>
false
</value>
<value
type=
"int"
key=
"EditorConfiguration.SmartBackspaceBehavior"
>
0
</value>
<value
type=
"bool"
key=
"EditorConfiguration.SmartSelectionChanging"
>
true
</value>
<value
type=
"bool"
key=
"EditorConfiguration.SpacesForTabs"
>
true
</value>
<value
type=
"int"
key=
"EditorConfiguration.TabKeyBehavior"
>
0
</value>
<value
type=
"int"
key=
"EditorConfiguration.TabSize"
>
8
</value>
<value
type=
"bool"
key=
"EditorConfiguration.UseGlobal"
>
true
</value>
<value
type=
"int"
key=
"EditorConfiguration.Utf8BomBehavior"
>
1
</value>
<value
type=
"bool"
key=
"EditorConfiguration.addFinalNewLine"
>
true
</value>
<value
type=
"bool"
key=
"EditorConfiguration.cleanIndentation"
>
true
</value>
<value
type=
"bool"
key=
"EditorConfiguration.cleanWhitespace"
>
true
</value>
<value
type=
"bool"
key=
"EditorConfiguration.inEntireDocument"
>
false
</value>
</valuemap>
</data>
<data>
<variable>
ProjectExplorer.Project.PluginSettings
</variable>
<valuemap
type=
"QVariantMap"
/>
</data>
<data>
<variable>
ProjectExplorer.Project.Target.0
</variable>
<valuemap
type=
"QVariantMap"
>
<value
type=
"QString"
key=
"ProjectExplorer.ProjectConfiguration.DefaultDisplayName"
>
Desktop Qt 5.6.3 MSVC2015 32bit
</value>
<value
type=
"QString"
key=
"ProjectExplorer.ProjectConfiguration.DisplayName"
>
Desktop Qt 5.6.3 MSVC2015 32bit
</value>
<value
type=
"QString"
key=
"ProjectExplorer.ProjectConfiguration.Id"
>
qt.563.win32_msvc2015_kit
</value>
<value
type=
"int"
key=
"ProjectExplorer.Target.ActiveBuildConfiguration"
>
0
</value>
<value
type=
"int"
key=
"ProjectExplorer.Target.ActiveDeployConfiguration"
>
0
</value>
<value
type=
"int"
key=
"ProjectExplorer.Target.ActiveRunConfiguration"
>
0
</value>
<valuemap
type=
"QVariantMap"
key=
"ProjectExplorer.Target.BuildConfiguration.0"
>
<value
type=
"QString"
key=
"ProjectExplorer.BuildConfiguration.BuildDirectory"
></value>
<valuemap
type=
"QVariantMap"
key=
"ProjectExplorer.BuildConfiguration.BuildStepList.0"
>
<valuemap
type=
"QVariantMap"
key=
"ProjectExplorer.BuildStepList.Step.0"
>
<value
type=
"bool"
key=
"ProjectExplorer.BuildStep.Enabled"
>
true
</value>
<value
type=
"QString"
key=
"ProjectExplorer.ProjectConfiguration.DefaultDisplayName"
>
qmake
</value>
<value
type=
"QString"
key=
"ProjectExplorer.ProjectConfiguration.DisplayName"
></value>
<value
type=
"QString"
key=
"ProjectExplorer.ProjectConfiguration.Id"
>
QtProjectManager.QMakeBuildStep
</value>
<value
type=
"bool"
key=
"QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary"
>
true
</value>
<value
type=
"QString"
key=
"QtProjectManager.QMakeBuildStep.QMakeArguments"
></value>
<value
type=
"bool"
key=
"QtProjectManager.QMakeBuildStep.QMakeForced"
>
false
</value>
<value
type=
"bool"
key=
"QtProjectManager.QMakeBuildStep.SeparateDebugInfo"
>
false
</value>
<value
type=
"bool"
key=
"QtProjectManager.QMakeBuildStep.UseQtQuickCompiler"
>
false
</value>
</valuemap>
<valuemap
type=
"QVariantMap"
key=
"ProjectExplorer.BuildStepList.Step.1"
>
<value
type=
"bool"
key=
"ProjectExplorer.BuildStep.Enabled"
>
true
</value>
<value
type=
"QString"
key=
"ProjectExplorer.ProjectConfiguration.DefaultDisplayName"
>
Make
</value>
<value
type=
"QString"
key=
"ProjectExplorer.ProjectConfiguration.DisplayName"
></value>
<value
type=
"QString"
key=
"ProjectExplorer.ProjectConfiguration.Id"
>
Qt4ProjectManager.MakeStep
</value>
<valuelist
type=
"QVariantList"
key=
"Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments"
/>
<value
type=
"bool"
key=
"Qt4ProjectManager.MakeStep.Clean"
>
false
</value>
<value
type=
"QString"
key=
"Qt4ProjectManager.MakeStep.MakeArguments"
></value>
<value
type=
"QString"
key=
"Qt4ProjectManager.MakeStep.MakeCommand"
></value>
</valuemap>
<value
type=
"int"
key=
"ProjectExplorer.BuildStepList.StepsCount"
>
2
</value>
<value
type=
"QString"
key=
"ProjectExplorer.ProjectConfiguration.DefaultDisplayName"
>
构建
</value>
<value
type=
"QString"
key=
"ProjectExplorer.ProjectConfiguration.DisplayName"
></value>
<value
type=
"QString"
key=
"ProjectExplorer.ProjectConfiguration.Id"
>
ProjectExplorer.BuildSteps.Build
</value>
</valuemap>
<valuemap
type=
"QVariantMap"
key=
"ProjectExplorer.BuildConfiguration.BuildStepList.1"
>
<valuemap
type=
"QVariantMap"
key=
"ProjectExplorer.BuildStepList.Step.0"
>
<value
type=
"bool"
key=
"ProjectExplorer.BuildStep.Enabled"
>
true
</value>
<value
type=
"QString"
key=
"ProjectExplorer.ProjectConfiguration.DefaultDisplayName"
>
Make
</value>
<value
type=
"QString"
key=
"ProjectExplorer.ProjectConfiguration.DisplayName"
></value>
<value
type=
"QString"
key=
"ProjectExplorer.ProjectConfiguration.Id"
>
Qt4ProjectManager.MakeStep
</value>
<valuelist
type=
"QVariantList"
key=
"Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments"
/>
<value
type=
"bool"
key=
"Qt4ProjectManager.MakeStep.Clean"
>
true
</value>
<value
type=
"QString"
key=
"Qt4ProjectManager.MakeStep.MakeArguments"
>
clean
</value>
<value
type=
"QString"
key=
"Qt4ProjectManager.MakeStep.MakeCommand"
></value>
</valuemap>
<value
type=
"int"
key=
"ProjectExplorer.BuildStepList.StepsCount"
>
1
</value>
<value
type=
"QString"
key=
"ProjectExplorer.ProjectConfiguration.DefaultDisplayName"
>
清理
</value>
<value
type=
"QString"
key=
"ProjectExplorer.ProjectConfiguration.DisplayName"
></value>
<value
type=
"QString"
key=
"ProjectExplorer.ProjectConfiguration.Id"
>
ProjectExplorer.BuildSteps.Clean
</value>
</valuemap>
<value
type=
"int"
key=
"ProjectExplorer.BuildConfiguration.BuildStepListCount"
>
2
</value>
<value
type=
"bool"
key=
"ProjectExplorer.BuildConfiguration.ClearSystemEnvironment"
>
false
</value>
<valuelist
type=
"QVariantList"
key=
"ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"
/>
<value
type=
"QString"
key=
"ProjectExplorer.ProjectConfiguration.DefaultDisplayName"
>
Debug
</value>
<value
type=
"QString"
key=
"ProjectExplorer.ProjectConfiguration.DisplayName"
></value>
<value
type=
"QString"
key=
"ProjectExplorer.ProjectConfiguration.Id"
>
Qt4ProjectManager.Qt4BuildConfiguration
</value>
<value
type=
"int"
key=
"Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration"
>
2
</value>
<value
type=
"bool"
key=
"Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild"
>
true
</value>
</valuemap>
<value
type=
"int"
key=
"ProjectExplorer.Target.BuildConfigurationCount"
>
1
</value>
<valuemap
type=
"QVariantMap"
key=
"ProjectExplorer.Target.DeployConfiguration.0"
>
<valuemap
type=
"QVariantMap"
key=
"ProjectExplorer.BuildConfiguration.BuildStepList.0"
>
<value
type=
"int"
key=
"ProjectExplorer.BuildStepList.StepsCount"
>
0
</value>
<value
type=
"QString"
key=
"ProjectExplorer.ProjectConfiguration.DefaultDisplayName"
>
部署
</value>
<value
type=
"QString"
key=
"ProjectExplorer.ProjectConfiguration.DisplayName"
></value>
<value
type=
"QString"
key=
"ProjectExplorer.ProjectConfiguration.Id"
>
ProjectExplorer.BuildSteps.Deploy
</value>
</valuemap>
<value
type=
"int"
key=
"ProjectExplorer.BuildConfiguration.BuildStepListCount"
>
1
</value>
<value
type=
"QString"
key=
"ProjectExplorer.ProjectConfiguration.DefaultDisplayName"
>
在本地部署
</value>
<value
type=
"QString"
key=
"ProjectExplorer.ProjectConfiguration.DisplayName"
></value>
<value
type=
"QString"
key=
"ProjectExplorer.ProjectConfiguration.Id"
>
ProjectExplorer.DefaultDeployConfiguration
</value>
</valuemap>
<value
type=
"int"
key=
"ProjectExplorer.Target.DeployConfigurationCount"
>
1
</value>
<valuemap
type=
"QVariantMap"
key=
"ProjectExplorer.Target.PluginSettings"
/>
<valuemap
type=
"QVariantMap"
key=
"ProjectExplorer.Target.RunConfiguration.0"
>
<value
type=
"bool"
key=
"Analyzer.QmlProfiler.AggregateTraces"
>
false
</value>
<value
type=
"bool"
key=
"Analyzer.QmlProfiler.FlushEnabled"
>
false
</value>
<value
type=
"uint"
key=
"Analyzer.QmlProfiler.FlushInterval"
>
1000
</value>
<value
type=
"QString"
key=
"Analyzer.QmlProfiler.LastTraceFile"
></value>
<value
type=
"bool"
key=
"Analyzer.QmlProfiler.Settings.UseGlobalSettings"
>
true
</value>
<valuelist
type=
"QVariantList"
key=
"Analyzer.Valgrind.AddedSuppressionFiles"
/>
<value
type=
"bool"
key=
"Analyzer.Valgrind.Callgrind.CollectBusEvents"
>
false
</value>
<value
type=
"bool"
key=
"Analyzer.Valgrind.Callgrind.CollectSystime"
>
false
</value>
<value
type=
"bool"
key=
"Analyzer.Valgrind.Callgrind.EnableBranchSim"
>
false
</value>
<value
type=
"bool"
key=
"Analyzer.Valgrind.Callgrind.EnableCacheSim"
>
false
</value>
<value
type=
"bool"
key=
"Analyzer.Valgrind.Callgrind.EnableEventToolTips"
>
true
</value>
<value
type=
"double"
key=
"Analyzer.Valgrind.Callgrind.MinimumCostRatio"
>
0.01
</value>
<value
type=
"double"
key=
"Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio"
>
10
</value>
<value
type=
"bool"
key=
"Analyzer.Valgrind.FilterExternalIssues"
>
true
</value>
<value
type=
"int"
key=
"Analyzer.Valgrind.LeakCheckOnFinish"
>
1
</value>
<value
type=
"int"
key=
"Analyzer.Valgrind.NumCallers"
>
25
</value>
<valuelist
type=
"QVariantList"
key=
"Analyzer.Valgrind.RemovedSuppressionFiles"
/>
<value
type=
"int"
key=
"Analyzer.Valgrind.SelfModifyingCodeDetection"
>
1
</value>
<value
type=
"bool"
key=
"Analyzer.Valgrind.Settings.UseGlobalSettings"
>
true
</value>
<value
type=
"bool"
key=
"Analyzer.Valgrind.ShowReachable"
>
false
</value>
<value
type=
"bool"
key=
"Analyzer.Valgrind.TrackOrigins"
>
true
</value>
<value
type=
"QString"
key=
"Analyzer.Valgrind.ValgrindExecutable"
>
valgrind
</value>
<valuelist
type=
"QVariantList"
key=
"Analyzer.Valgrind.VisibleErrorKinds"
>
<value
type=
"int"
>
0
</value>
<value
type=
"int"
>
1
</value>
<value
type=
"int"
>
2
</value>
<value
type=
"int"
>
3
</value>
<value
type=
"int"
>
4
</value>
<value
type=
"int"
>
5
</value>
<value
type=
"int"
>
6
</value>
<value
type=
"int"
>
7
</value>
<value
type=
"int"
>
8
</value>
<value
type=
"int"
>
9
</value>
<value
type=
"int"
>
10
</value>
<value
type=
"int"
>
11
</value>
<value
type=
"int"
>
12
</value>
<value
type=
"int"
>
13
</value>
<value
type=
"int"
>
14
</value>
</valuelist>
<value
type=
"int"
key=
"PE.EnvironmentAspect.Base"
>
2
</value>
<valuelist
type=
"QVariantList"
key=
"PE.EnvironmentAspect.Changes"
/>
<value
type=
"QString"
key=
"ProjectExplorer.ProjectConfiguration.DefaultDisplayName"
>
Qtsqlite
</value>
<value
type=
"QString"
key=
"ProjectExplorer.ProjectConfiguration.DisplayName"
></value>
<value
type=
"QString"
key=
"ProjectExplorer.ProjectConfiguration.Id"
>
Qt4ProjectManager.Qt4RunConfiguration:E:/QT/QTfile/Qtsqlite/Qtsqlite.pro
</value>
<value
type=
"bool"
key=
"QmakeProjectManager.QmakeRunConfiguration.UseLibrarySearchPath"
>
true
</value>
<value
type=
"QString"
key=
"Qt4ProjectManager.Qt4RunConfiguration.CommandLineArguments"
></value>
<value
type=
"QString"
key=
"Qt4ProjectManager.Qt4RunConfiguration.ProFile"
>
Qtsqlite.pro
</value>
<value
type=
"bool"
key=
"Qt4ProjectManager.Qt4RunConfiguration.UseDyldImageSuffix"
>
false
</value>
<value
type=
"QString"
key=
"Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory"
></value>
<value
type=
"QString"
key=
"Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory.default"
>
E:/QT/QTfile/Qtsqlite
</value>
<value
type=
"uint"
key=
"RunConfiguration.QmlDebugServerPort"
>
3768
</value>
<value
type=
"bool"
key=
"RunConfiguration.UseCppDebugger"
>
false
</value>
<value
type=
"bool"
key=
"RunConfiguration.UseCppDebuggerAuto"
>
true
</value>
<value
type=
"bool"
key=
"RunConfiguration.UseMultiProcess"
>
false
</value>
<value
type=
"bool"
key=
"RunConfiguration.UseQmlDebugger"
>
false
</value>
<value
type=
"bool"
key=
"RunConfiguration.UseQmlDebuggerAuto"
>
true
</value>
</valuemap>
<value
type=
"int"
key=
"ProjectExplorer.Target.RunConfigurationCount"
>
1
</value>
</valuemap>
</data>
<data>
<variable>
ProjectExplorer.Project.TargetCount
</variable>
<value
type=
"int"
>
1
</value>
</data>
<data>
<variable>
ProjectExplorer.Project.Updater.FileVersion
</variable>
<value
type=
"int"
>
18
</value>
</data>
<data>
<variable>
Version
</variable>
<value
type=
"int"
>
18
</value>
</data>
</qtcreator>
regist.cpp
View file @
44eff581
...
...
@@ -34,6 +34,8 @@ void Regist::on_pushButton_clicked()
return
;
}
QMessageBox
::
about
(
this
,
"提示"
,
"注册成功"
);
this
->
parentWidget
()
->
show
();
this
->
hide
();
}
void
Regist
::
on_goback_clicked
()
...
...
userwindow.cpp
View file @
44eff581
...
...
@@ -46,8 +46,12 @@ void UserWindow::on_find_usr_clicked()
bool
ok
;
QString
text
=
QInputDialog
::
getText
(
this
,
tr
(
"查询"
),
tr
(
"查找用户"
),
QLineEdit
::
Normal
,
tr
(
"
请输入用户名
"
),
&
ok
);
tr
(
""
),
&
ok
);
if
(
ok
)
{
if
(
text
.
isEmpty
())
{
QMessageBox
::
warning
(
this
,
"提示"
,
"请输入需要查找的用户!"
,
QMessageBox
::
Ok
);
return
;
}
QString
str
=
QString
(
"SELECT * FROM user WHERE username = '%1'"
).
arg
(
text
);
QSqlQuery
query
(
QSqlDatabase
::
database
(
"HB"
));
if
(
!
query
.
exec
(
str
))
{
...
...
@@ -81,8 +85,12 @@ void UserWindow::on_delet_usr_clicked()
bool
ok
;
QString
text
=
QInputDialog
::
getText
(
this
,
tr
(
"删除用户"
),
tr
(
"查找用户"
),
QLineEdit
::
Normal
,
tr
(
"
请输入用户名
"
),
&
ok
);
tr
(
""
),
&
ok
);
if
(
ok
)
{
if
(
text
.
isEmpty
())
{
QMessageBox
::
warning
(
this
,
"提示"
,
"输入为空"
,
QMessageBox
::
Ok
);
return
;
}
QString
str
=
QString
(
"DELETE FROM user WHERE username = '%1'"
).
arg
(
text
);
QSqlQuery
sql_query
(
db
);
if
(
!
sql_query
.
exec
(
str
))
{
...
...
@@ -107,16 +115,23 @@ void UserWindow::on_updata_usr_clicked()
bool
ok
;
QString
text
=
QInputDialog
::
getText
(
this
,
tr
(
"修改用户信息"
),
tr
(
"查找用户"
),
QLineEdit
::
Normal
,
tr
(
"
请输入需要修改的用户
"
),
&
ok
);
tr
(
""
),
&
ok
);
if
(
ok
)
{
if
(
text
.
isEmpty
())
{
QMessageBox
::
warning
(
this
,
"提示"
,
"输入为空"
,
QMessageBox
::
Ok
);
return
;
}
int
ret
=
QMessageBox
::
question
(
this
,
tr
(
"修改选项"
),
"修改用户名/密码?(Yes-用户名|No-密码)"
,
QMessageBox
::
Yes
|
QMessageBox
::
No
|
QMessageBox
::
Cancel
);
if
(
ret
==
QMessageBox
::
Yes
)
{
QString
newname
=
QInputDialog
::
getText
(
this
,
tr
(
"提示"
),
tr
(
"修改用户名!"
),
QLineEdit
::
Normal
,
tr
(
"请输入要修改的用户名"
),
&
ok
);
tr
(
""
),
&
ok
);
if
(
newname
.
isEmpty
())
{
QMessageBox
::
warning
(
this
,
"提示"
,
"输入为空"
,
QMessageBox
::
Ok
);
return
;
}
QString
str
=
QString
(
"UPDATE user SET username = '%1' WHERE username = '%2'"
).
arg
(
newname
).
arg
(
text
);
QSqlQuery
sql_query
(
db
);
if
(
!
sql_query
.
exec
(
str
))
{
...
...
@@ -130,7 +145,10 @@ void UserWindow::on_updata_usr_clicked()
QString
newpassword
=
QInputDialog
::
getText
(
this
,
tr
(
"提示"
),
tr
(
"修改密码"
),
QLineEdit
::
Normal
,
tr
(
"请输入需要修改的密码"
),
&
ok
);
if
(
newpassword
.
isEmpty
())
{
QMessageBox
::
warning
(
this
,
"提示"
,
"输入为空"
,
QMessageBox
::
Ok
);
return
;
}
QString
str
=
QString
(
"UPDATE user SET password = '%1' WHERE username = '%2'"
).
arg
(
newpassword
).
arg
(
text
);
QSqlQuery
sql_query
(
db
);
if
(
!
sql_query
.
exec
(
str
))
{
...
...
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