Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
C
core
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
LibreOffice
core
Commits
4012390e
Kaydet (Commit)
4012390e
authored
Ara 22, 2015
tarafından
Noel Grandin
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
loplugin:unusedfields in cui
Change-Id: I7a1092708881d1d43debf0217a5401c5b65838a5
üst
a008a234
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
16 additions
and
52 deletions
+16
-52
colorpicker.cxx
cui/source/dialogs/colorpicker.cxx
+4
-6
dlgfact.cxx
cui/source/factory/dlgfact.cxx
+3
-5
dlgfact.hxx
cui/source/factory/dlgfact.hxx
+1
-3
border.hxx
cui/source/inc/border.hxx
+0
-2
cfg.hxx
cui/source/inc/cfg.hxx
+0
-5
insdlg.hxx
cui/source/inc/insdlg.hxx
+0
-3
optdict.hxx
cui/source/inc/optdict.hxx
+2
-11
optdict.cxx
cui/source/options/optdict.cxx
+3
-10
optlingu.cxx
cui/source/options/optlingu.cxx
+2
-3
personalization.hxx
cui/source/options/personalization.hxx
+0
-1
svxdlg.hxx
include/svx/svxdlg.hxx
+1
-3
No files found.
cui/source/dialogs/colorpicker.cxx
Dosyayı görüntüle @
4012390e
...
@@ -1522,7 +1522,7 @@ class ColorPicker : protected ::comphelper::OBaseMutex, // Struct for right i
...
@@ -1522,7 +1522,7 @@ class ColorPicker : protected ::comphelper::OBaseMutex, // Struct for right i
public
ColorPickerBase
public
ColorPickerBase
{
{
public
:
public
:
explicit
ColorPicker
(
Reference
<
XComponentContext
>
const
&
xContext
);
explicit
ColorPicker
();
// XInitialization
// XInitialization
virtual
void
SAL_CALL
initialize
(
const
Sequence
<
Any
>&
aArguments
)
throw
(
Exception
,
RuntimeException
,
std
::
exception
)
override
;
virtual
void
SAL_CALL
initialize
(
const
Sequence
<
Any
>&
aArguments
)
throw
(
Exception
,
RuntimeException
,
std
::
exception
)
override
;
...
@@ -1541,7 +1541,6 @@ public:
...
@@ -1541,7 +1541,6 @@ public:
virtual
sal_Int16
SAL_CALL
execute
(
)
throw
(
RuntimeException
,
std
::
exception
)
override
;
virtual
sal_Int16
SAL_CALL
execute
(
)
throw
(
RuntimeException
,
std
::
exception
)
override
;
private
:
private
:
Reference
<
XComponentContext
>
mxContext
;
OUString
msTitle
;
OUString
msTitle
;
const
OUString
msColorKey
;
const
OUString
msColorKey
;
const
OUString
msModeKey
;
const
OUString
msModeKey
;
...
@@ -1555,9 +1554,9 @@ OUString SAL_CALL ColorPicker_getImplementationName()
...
@@ -1555,9 +1554,9 @@ OUString SAL_CALL ColorPicker_getImplementationName()
return
OUString
(
"com.sun.star.cui.ColorPicker"
);
return
OUString
(
"com.sun.star.cui.ColorPicker"
);
}
}
Reference
<
XInterface
>
SAL_CALL
ColorPicker_createInstance
(
Reference
<
XComponentContext
>
const
&
xContext
)
Reference
<
XInterface
>
SAL_CALL
ColorPicker_createInstance
(
Reference
<
XComponentContext
>
const
&
)
{
{
return
static_cast
<
XWeak
*>
(
new
ColorPicker
(
xContext
)
);
return
static_cast
<
XWeak
*>
(
new
ColorPicker
);
}
}
Sequence
<
OUString
>
SAL_CALL
ColorPicker_getSupportedServiceNames
()
throw
(
RuntimeException
)
Sequence
<
OUString
>
SAL_CALL
ColorPicker_getSupportedServiceNames
()
throw
(
RuntimeException
)
...
@@ -1566,9 +1565,8 @@ Sequence< OUString > SAL_CALL ColorPicker_getSupportedServiceNames() throw( Runt
...
@@ -1566,9 +1565,8 @@ Sequence< OUString > SAL_CALL ColorPicker_getSupportedServiceNames() throw( Runt
return
seq
;
return
seq
;
}
}
ColorPicker
::
ColorPicker
(
Reference
<
XComponentContext
>
const
&
xContext
)
ColorPicker
::
ColorPicker
()
:
ColorPickerBase
(
m_aMutex
)
:
ColorPickerBase
(
m_aMutex
)
,
mxContext
(
xContext
)
,
msColorKey
(
"Color"
)
,
msColorKey
(
"Color"
)
,
msModeKey
(
"Mode"
)
,
msModeKey
(
"Mode"
)
,
mnColor
(
0
)
,
mnColor
(
0
)
...
...
cui/source/factory/dlgfact.cxx
Dosyayı görüntüle @
4012390e
...
@@ -1174,23 +1174,21 @@ AbstractFmInputRecordNoDialog * AbstractDialogFactory_Impl::CreateFmInputRecordN
...
@@ -1174,23 +1174,21 @@ AbstractFmInputRecordNoDialog * AbstractDialogFactory_Impl::CreateFmInputRecordN
return
new
AbstractFmInputRecordNoDialog_Impl
(
pDlg
);
return
new
AbstractFmInputRecordNoDialog_Impl
(
pDlg
);
}
}
AbstractSvxNewDictionaryDialog
*
AbstractDialogFactory_Impl
::
CreateSvxNewDictionaryDialog
(
vcl
::
Window
*
pParent
,
AbstractSvxNewDictionaryDialog
*
AbstractDialogFactory_Impl
::
CreateSvxNewDictionaryDialog
(
vcl
::
Window
*
pParent
)
::
Reference
<
css
::
linguistic2
::
XSpellChecker1
>
&
xSpl
)
{
{
VclPtrInstance
<
SvxNewDictionaryDialog
>
pDlg
(
pParent
,
xSpl
);
VclPtrInstance
<
SvxNewDictionaryDialog
>
pDlg
(
pParent
);
return
new
AbstractSvxNewDictionaryDialog_Impl
(
pDlg
);
return
new
AbstractSvxNewDictionaryDialog_Impl
(
pDlg
);
}
}
VclAbstractDialog
*
AbstractDialogFactory_Impl
::
CreateSvxEditDictionaryDialog
(
vcl
::
Window
*
pParent
,
VclAbstractDialog
*
AbstractDialogFactory_Impl
::
CreateSvxEditDictionaryDialog
(
vcl
::
Window
*
pParent
,
const
OUString
&
rName
,
const
OUString
&
rName
,
::
Reference
<
css
::
linguistic2
::
XSpellChecker1
>
&
xSpl
,
sal_uInt32
nResId
)
sal_uInt32
nResId
)
{
{
Dialog
*
pDlg
=
nullptr
;
Dialog
*
pDlg
=
nullptr
;
switch
(
nResId
)
switch
(
nResId
)
{
{
case
RID_SFXDLG_EDITDICT
:
case
RID_SFXDLG_EDITDICT
:
pDlg
=
VclPtr
<
SvxEditDictionaryDialog
>::
Create
(
pParent
,
rName
,
xSpl
);
pDlg
=
VclPtr
<
SvxEditDictionaryDialog
>::
Create
(
pParent
,
rName
);
break
;
break
;
default
:
default
:
break
;
break
;
...
...
cui/source/factory/dlgfact.hxx
Dosyayı görüntüle @
4012390e
...
@@ -586,11 +586,9 @@ public:
...
@@ -586,11 +586,9 @@ public:
const
SfxItemSet
&
rOptionsSet
,
const
SfxItemSet
&
rOptionsSet
,
sal_Int32
nInitialFlags
)
override
;
sal_Int32
nInitialFlags
)
override
;
virtual
AbstractFmInputRecordNoDialog
*
CreateFmInputRecordNoDialog
(
vcl
::
Window
*
pParent
)
override
;
virtual
AbstractFmInputRecordNoDialog
*
CreateFmInputRecordNoDialog
(
vcl
::
Window
*
pParent
)
override
;
virtual
AbstractSvxNewDictionaryDialog
*
CreateSvxNewDictionaryDialog
(
vcl
::
Window
*
pParent
,
virtual
AbstractSvxNewDictionaryDialog
*
CreateSvxNewDictionaryDialog
(
vcl
::
Window
*
pParent
)
override
;
css
::
uno
::
Reference
<
css
::
linguistic2
::
XSpellChecker1
>
&
xSpl
)
override
;
virtual
VclAbstractDialog
*
CreateSvxEditDictionaryDialog
(
vcl
::
Window
*
pParent
,
virtual
VclAbstractDialog
*
CreateSvxEditDictionaryDialog
(
vcl
::
Window
*
pParent
,
const
OUString
&
rName
,
const
OUString
&
rName
,
css
::
uno
::
Reference
<
css
::
linguistic2
::
XSpellChecker1
>
&
xSpl
,
sal_uInt32
nResId
)
override
;
sal_uInt32
nResId
)
override
;
virtual
AbstractSvxNameDialog
*
CreateSvxNameDialog
(
vcl
::
Window
*
pParent
,
virtual
AbstractSvxNameDialog
*
CreateSvxNameDialog
(
vcl
::
Window
*
pParent
,
const
OUString
&
rName
,
const
OUString
&
rDesc
)
override
;
const
OUString
&
rName
,
const
OUString
&
rDesc
)
override
;
...
...
cui/source/inc/border.hxx
Dosyayı görüntüle @
4012390e
...
@@ -100,9 +100,7 @@ private:
...
@@ -100,9 +100,7 @@ private:
VclPtr
<
CheckBox
>
m_pMergeAdjacentBordersCB
;
VclPtr
<
CheckBox
>
m_pMergeAdjacentBordersCB
;
VclPtr
<
CheckBox
>
m_pRemoveAdjcentCellBordersCB
;
VclPtr
<
CheckBox
>
m_pRemoveAdjcentCellBordersCB
;
ImageList
aShadowImgLstH
;
ImageList
aShadowImgLst
;
ImageList
aShadowImgLst
;
ImageList
aBorderImgLstH
;
ImageList
aBorderImgLst
;
ImageList
aBorderImgLst
;
long
nMinValue
;
///< minimum distance
long
nMinValue
;
///< minimum distance
...
...
cui/source/inc/cfg.hxx
Dosyayı görüntüle @
4012390e
...
@@ -668,11 +668,6 @@ public:
...
@@ -668,11 +668,6 @@ public:
}
}
};
};
struct
SvxIconSelectorToolBoxItem
{
Image
aImg
;
};
class
SvxIconSelectorDialog
:
public
ModalDialog
class
SvxIconSelectorDialog
:
public
ModalDialog
{
{
private
:
private
:
...
...
cui/source/inc/insdlg.hxx
Dosyayı görüntüle @
4012390e
...
@@ -98,10 +98,7 @@ class SvInsertPlugInDialog : public InsertObjectDialog_Impl
...
@@ -98,10 +98,7 @@ class SvInsertPlugInDialog : public InsertObjectDialog_Impl
{
{
private
:
private
:
VclPtr
<
Edit
>
m_pEdFileurl
;
VclPtr
<
Edit
>
m_pEdFileurl
;
VclPtr
<
PushButton
>
m_pBtnFileurl
;
VclPtr
<
VclMultiLineEdit
>
m_pEdPluginsOptions
;
VclPtr
<
VclMultiLineEdit
>
m_pEdPluginsOptions
;
INetURLObject
*
m_pURL
;
OUString
m_aCommands
;
DECL_LINK_TYPED
(
BrowseHdl
,
Button
*
,
void
);
DECL_LINK_TYPED
(
BrowseHdl
,
Button
*
,
void
);
...
...
cui/source/inc/optdict.hxx
Dosyayı görüntüle @
4012390e
...
@@ -54,8 +54,6 @@ private:
...
@@ -54,8 +54,6 @@ private:
VclPtr
<
SvxLanguageBox
>
pLanguageLB
;
VclPtr
<
SvxLanguageBox
>
pLanguageLB
;
VclPtr
<
CheckBox
>
pExceptBtn
;
VclPtr
<
CheckBox
>
pExceptBtn
;
VclPtr
<
OKButton
>
pOKBtn
;
VclPtr
<
OKButton
>
pOKBtn
;
css
::
uno
::
Reference
<
css
::
linguistic2
::
XSpellChecker1
>
xSpell
;
css
::
uno
::
Reference
<
css
::
uno
::
Reference
<
css
::
linguistic2
::
XDictionary
>
xNewDic
;
css
::
linguistic2
::
XDictionary
>
xNewDic
;
...
@@ -63,9 +61,7 @@ private:
...
@@ -63,9 +61,7 @@ private:
DECL_LINK_TYPED
(
ModifyHdl_Impl
,
Edit
&
,
void
);
DECL_LINK_TYPED
(
ModifyHdl_Impl
,
Edit
&
,
void
);
public
:
public
:
SvxNewDictionaryDialog
(
vcl
::
Window
*
pParent
,
SvxNewDictionaryDialog
(
vcl
::
Window
*
pParent
);
css
::
uno
::
Reference
<
css
::
linguistic2
::
XSpellChecker1
>
&
xSpl
);
virtual
~
SvxNewDictionaryDialog
();
virtual
~
SvxNewDictionaryDialog
();
virtual
void
dispose
()
override
;
virtual
void
dispose
()
override
;
...
@@ -115,13 +111,10 @@ private:
...
@@ -115,13 +111,10 @@ private:
OUString
sModify
;
OUString
sModify
;
OUString
sNew
;
OUString
sNew
;
DecorationView
aDecoView
;
css
::
uno
::
Sequence
<
css
::
uno
::
Sequence
<
css
::
uno
::
Reference
<
css
::
uno
::
Reference
<
css
::
linguistic2
::
XDictionary
>
>
aDics
;
//! snapshot copy to work on
css
::
linguistic2
::
XDictionary
>
>
aDics
;
//! snapshot copy to work on
css
::
uno
::
Reference
<
css
::
linguistic2
::
XSpellChecker1
>
xSpell
;
short
nOld
;
short
nOld
;
long
nWidth
;
long
nWidth
;
...
@@ -149,9 +142,7 @@ private:
...
@@ -149,9 +142,7 @@ private:
public
:
public
:
SvxEditDictionaryDialog
(
vcl
::
Window
*
pParent
,
SvxEditDictionaryDialog
(
vcl
::
Window
*
pParent
,
const
OUString
&
rName
,
const
OUString
&
rName
);
css
::
uno
::
Reference
<
css
::
linguistic2
::
XSpellChecker1
>
&
xSpl
);
virtual
~
SvxEditDictionaryDialog
();
virtual
~
SvxEditDictionaryDialog
();
virtual
void
dispose
()
override
;
virtual
void
dispose
()
override
;
};
};
...
...
cui/source/options/optdict.cxx
Dosyayı görüntüle @
4012390e
...
@@ -97,12 +97,8 @@ static CDE_RESULT cmpDicEntry_Impl( const OUString &rText1, const OUString &rTex
...
@@ -97,12 +97,8 @@ static CDE_RESULT cmpDicEntry_Impl( const OUString &rText1, const OUString &rTex
// class SvxNewDictionaryDialog -------------------------------------------
// class SvxNewDictionaryDialog -------------------------------------------
SvxNewDictionaryDialog
::
SvxNewDictionaryDialog
(
vcl
::
Window
*
pParent
,
SvxNewDictionaryDialog
::
SvxNewDictionaryDialog
(
vcl
::
Window
*
pParent
)
:
Reference
<
XSpellChecker1
>
&
xSpl
)
:
ModalDialog
(
pParent
,
"OptNewDictionaryDialog"
,
"cui/ui/optnewdictionarydialog.ui"
)
ModalDialog
(
pParent
,
"OptNewDictionaryDialog"
,
"cui/ui/optnewdictionarydialog.ui"
),
xSpell
(
xSpl
)
{
{
get
(
pNameEdit
,
"nameedit"
);
get
(
pNameEdit
,
"nameedit"
);
get
(
pLanguageLB
,
"language"
);
get
(
pLanguageLB
,
"language"
);
...
@@ -219,14 +215,11 @@ VCL_BUILDER_FACTORY_ARGS(SvxDictEdit, WB_LEFT|WB_VCENTER|WB_BORDER|WB_3DLOOK)
...
@@ -219,14 +215,11 @@ VCL_BUILDER_FACTORY_ARGS(SvxDictEdit, WB_LEFT|WB_VCENTER|WB_BORDER|WB_3DLOOK)
SvxEditDictionaryDialog
::
SvxEditDictionaryDialog
(
SvxEditDictionaryDialog
::
SvxEditDictionaryDialog
(
vcl
::
Window
*
pParent
,
vcl
::
Window
*
pParent
,
const
OUString
&
rName
,
const
OUString
&
rName
)
:
Reference
<
XSpellChecker1
>
&
xSpl
)
:
ModalDialog
(
pParent
,
"EditDictionaryDialog"
,
"cui/ui/editdictionarydialog.ui"
),
ModalDialog
(
pParent
,
"EditDictionaryDialog"
,
"cui/ui/editdictionarydialog.ui"
),
sModify
(
CUI_RESSTR
(
STR_MODIFY
)),
sModify
(
CUI_RESSTR
(
STR_MODIFY
)),
aDecoView
(
this
),
xSpell
(
xSpl
),
nOld
(
NOACTDICT
),
nOld
(
NOACTDICT
),
bFirstSelect
(
true
),
bFirstSelect
(
true
),
bDoNothing
(
false
),
bDoNothing
(
false
),
...
...
cui/source/options/optlingu.cxx
Dosyayı görüntüle @
4012390e
...
@@ -1613,11 +1613,10 @@ IMPL_LINK_TYPED( SvxLinguTabPage, ClickHdl_Impl, Button *, pBtn, void )
...
@@ -1613,11 +1613,10 @@ IMPL_LINK_TYPED( SvxLinguTabPage, ClickHdl_Impl, Button *, pBtn, void )
}
}
else
if
(
m_pLinguDicsNewPB
==
pBtn
)
else
if
(
m_pLinguDicsNewPB
==
pBtn
)
{
{
uno
::
Reference
<
XSpellChecker1
>
xSpellChecker1
;
SvxAbstractDialogFactory
*
pFact
=
SvxAbstractDialogFactory
::
Create
();
SvxAbstractDialogFactory
*
pFact
=
SvxAbstractDialogFactory
::
Create
();
if
(
pFact
)
if
(
pFact
)
{
{
std
::
unique_ptr
<
AbstractSvxNewDictionaryDialog
>
aDlg
(
pFact
->
CreateSvxNewDictionaryDialog
(
this
,
xSpellChecker1
));
std
::
unique_ptr
<
AbstractSvxNewDictionaryDialog
>
aDlg
(
pFact
->
CreateSvxNewDictionaryDialog
(
this
));
DBG_ASSERT
(
aDlg
,
"Dialog creation failed!"
);
DBG_ASSERT
(
aDlg
,
"Dialog creation failed!"
);
uno
::
Reference
<
XDictionary
>
xNewDic
;
uno
::
Reference
<
XDictionary
>
xNewDic
;
if
(
aDlg
->
Execute
()
==
RET_OK
)
if
(
aDlg
->
Execute
()
==
RET_OK
)
...
@@ -1652,7 +1651,7 @@ IMPL_LINK_TYPED( SvxLinguTabPage, ClickHdl_Impl, Button *, pBtn, void )
...
@@ -1652,7 +1651,7 @@ IMPL_LINK_TYPED( SvxLinguTabPage, ClickHdl_Impl, Button *, pBtn, void )
SvxAbstractDialogFactory
*
pFact
=
SvxAbstractDialogFactory
::
Create
();
SvxAbstractDialogFactory
*
pFact
=
SvxAbstractDialogFactory
::
Create
();
if
(
pFact
)
if
(
pFact
)
{
{
std
::
unique_ptr
<
VclAbstractDialog
>
aDlg
(
pFact
->
CreateSvxEditDictionaryDialog
(
this
,
xDic
->
getName
(),
xSpellChecker1
,
RID_SFXDLG_EDITDICT
));
std
::
unique_ptr
<
VclAbstractDialog
>
aDlg
(
pFact
->
CreateSvxEditDictionaryDialog
(
this
,
xDic
->
getName
(),
RID_SFXDLG_EDITDICT
));
DBG_ASSERT
(
aDlg
,
"Dialog creation failed!"
);
DBG_ASSERT
(
aDlg
,
"Dialog creation failed!"
);
aDlg
->
Execute
();
aDlg
->
Execute
();
}
}
...
...
cui/source/options/personalization.hxx
Dosyayı görüntüle @
4012390e
...
@@ -39,7 +39,6 @@ private:
...
@@ -39,7 +39,6 @@ private:
std
::
vector
<
OUString
>
m_vExtensionPersonaSettings
;
std
::
vector
<
OUString
>
m_vExtensionPersonaSettings
;
public
:
public
:
::
rtl
::
Reference
<
SearchAndParseThread
>
m_rApplyThread
;
SvxPersonalizationTabPage
(
vcl
::
Window
*
pParent
,
const
SfxItemSet
&
rSet
);
SvxPersonalizationTabPage
(
vcl
::
Window
*
pParent
,
const
SfxItemSet
&
rSet
);
virtual
~
SvxPersonalizationTabPage
();
virtual
~
SvxPersonalizationTabPage
();
virtual
void
dispose
()
override
;
virtual
void
dispose
()
override
;
...
...
include/svx/svxdlg.hxx
Dosyayı görüntüle @
4012390e
...
@@ -343,11 +343,9 @@ public:
...
@@ -343,11 +343,9 @@ public:
const
SfxItemSet
&
rOptionsSet
,
const
SfxItemSet
&
rOptionsSet
,
sal_Int32
nInitialFlags
)
=
0
;
sal_Int32
nInitialFlags
)
=
0
;
virtual
AbstractFmInputRecordNoDialog
*
CreateFmInputRecordNoDialog
(
vcl
::
Window
*
pParent
)
=
0
;
virtual
AbstractFmInputRecordNoDialog
*
CreateFmInputRecordNoDialog
(
vcl
::
Window
*
pParent
)
=
0
;
virtual
AbstractSvxNewDictionaryDialog
*
CreateSvxNewDictionaryDialog
(
vcl
::
Window
*
pParent
,
virtual
AbstractSvxNewDictionaryDialog
*
CreateSvxNewDictionaryDialog
(
vcl
::
Window
*
pParent
)
=
0
;
css
::
uno
::
Reference
<
css
::
linguistic2
::
XSpellChecker1
>
&
xSpl
)
=
0
;
virtual
VclAbstractDialog
*
CreateSvxEditDictionaryDialog
(
vcl
::
Window
*
pParent
,
virtual
VclAbstractDialog
*
CreateSvxEditDictionaryDialog
(
vcl
::
Window
*
pParent
,
const
OUString
&
rName
,
const
OUString
&
rName
,
css
::
uno
::
Reference
<
css
::
linguistic2
::
XSpellChecker1
>
&
xSpl
,
sal_uInt32
nResId
)
=
0
;
sal_uInt32
nResId
)
=
0
;
virtual
AbstractSvxNameDialog
*
CreateSvxNameDialog
(
vcl
::
Window
*
pParent
,
virtual
AbstractSvxNameDialog
*
CreateSvxNameDialog
(
vcl
::
Window
*
pParent
,
const
OUString
&
rName
,
const
OUString
&
rDesc
)
=
0
;
const
OUString
&
rName
,
const
OUString
&
rDesc
)
=
0
;
...
...
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