Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
K
kicad-source-mirror
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Commits
Open sidebar
Elphel
kicad-source-mirror
Commits
b8a6c53b
Commit
b8a6c53b
authored
Oct 25, 2009
by
charras
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Some minor changes and enhancements
parent
e8cb60f9
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
164 additions
and
103 deletions
+164
-103
about_kicad.cpp
common/about_kicad.cpp
+1
-1
displlst.cpp
common/displlst.cpp
+18
-8
listboxes.cpp
cvpcb/listboxes.cpp
+3
-3
pinedit.cpp
eeschema/pinedit.cpp
+56
-15
tool_lib.cpp
eeschema/tool_lib.cpp
+1
-1
kicad.mo
internat/fr/kicad.mo
+0
-0
kicad.po
internat/fr/kicad.po
+61
-55
class_pad_draw_functions.cpp
pcbnew/class_pad_draw_functions.cpp
+16
-16
dialog_design_rules.cpp
pcbnew/dialog_design_rules.cpp
+1
-0
dialog_layers_setup.cpp
pcbnew/dialog_layers_setup.cpp
+5
-3
loadcmp.cpp
pcbnew/loadcmp.cpp
+2
-1
No files found.
common/about_kicad.cpp
View file @
b8a6c53b
...
@@ -8,7 +8,7 @@
...
@@ -8,7 +8,7 @@
#include "appl_wxstruct.h"
#include "appl_wxstruct.h"
#define BUILD_VERSION "(2009102
1
-unstable)"
#define BUILD_VERSION "(2009102
4
-unstable)"
#ifdef HAVE_SVN_VERSION
#ifdef HAVE_SVN_VERSION
...
...
common/displlst.cpp
View file @
b8a6c53b
...
@@ -97,15 +97,25 @@ WinEDAListBox::WinEDAListBox( WinEDA_DrawFrame* parent, const wxString& title,
...
@@ -97,15 +97,25 @@ WinEDAListBox::WinEDAListBox( WinEDA_DrawFrame* parent, const wxString& title,
{
{
Centre
();
Centre
();
}
}
else
// Ensure the window dialog is
on screen
:
else
// Ensure the window dialog is
inside the main window
:
{
{
wxPoint
pos
;
wxPoint
pos
=
dialog_position
;
m_Parent
->
GetPosition
(
&
pos
.
x
,
&
pos
.
y
);
wxPoint
maxpos
;
if
(
pos
.
x
<
0
)
maxpos
.
x
=
parent
->
GetPosition
().
x
+
parent
->
GetSize
().
x
;
pos
.
x
=
0
;
maxpos
.
y
=
parent
->
GetPosition
().
y
+
parent
->
GetSize
().
y
;
if
(
pos
.
y
<
0
)
wxPoint
endpoint
;
pos
.
y
=
0
;
endpoint
.
x
=
pos
.
x
+
GetSize
().
x
;
pos
.
x
+=
20
;
pos
.
y
+=
30
;
endpoint
.
y
=
pos
.
y
+
GetSize
().
y
;
if
(
endpoint
.
x
>
maxpos
.
x
)
pos
.
x
-=
endpoint
.
x
-
maxpos
.
x
;
if
(
endpoint
.
y
>
maxpos
.
y
)
pos
.
y
-=
endpoint
.
y
-
maxpos
.
y
;
if
(
pos
.
x
<
parent
->
GetPosition
().
x
)
pos
.
x
=
parent
->
GetPosition
().
x
;
if
(
pos
.
y
<
parent
->
GetPosition
().
y
)
pos
.
y
=
parent
->
GetPosition
().
y
;
Move
(
pos
);
Move
(
pos
);
}
}
}
}
...
...
cvpcb/listboxes.cpp
View file @
b8a6c53b
...
@@ -88,9 +88,9 @@ void WinEDA_CvpcbFrame::BuildCmpListBox()
...
@@ -88,9 +88,9 @@ void WinEDA_CvpcbFrame::BuildCmpListBox()
BOOST_FOREACH
(
COMPONENT
&
component
,
m_components
)
{
BOOST_FOREACH
(
COMPONENT
&
component
,
m_components
)
{
msg
.
Printf
(
CMP_FORMAT
,
m_ListCmp
->
GetCount
()
+
1
,
msg
.
Printf
(
CMP_FORMAT
,
m_ListCmp
->
GetCount
()
+
1
,
component
.
m_Reference
.
GetData
(
),
GetChars
(
component
.
m_Reference
),
component
.
m_Value
.
GetData
(
),
GetChars
(
component
.
m_Value
),
component
.
m_Module
.
GetData
(
)
);
GetChars
(
component
.
m_Module
)
);
m_ListCmp
->
m_ComponentList
.
Add
(
msg
);
m_ListCmp
->
m_ComponentList
.
Add
(
msg
);
}
}
...
...
eeschema/pinedit.cpp
View file @
b8a6c53b
...
@@ -23,7 +23,7 @@ static int CodeOrient[4] =
...
@@ -23,7 +23,7 @@ static int CodeOrient[4] =
#define NBSHAPES 7
#define NBSHAPES 7
static
wxString
shape_list
[
NBSHAPES
]
=
static
wxString
shape_list
[
NBSHAPES
]
=
{
{
_
(
"line"
),
_
(
"invert"
),
_
(
"clock"
),
_
(
"clock inv"
),
_
(
"line"
),
_
(
"invert"
),
_
(
"clock"
),
_
(
"clock inv"
),
_
(
"low in"
),
_
(
"low clock"
),
_
(
"low out"
)
_
(
"low in"
),
_
(
"low clock"
),
_
(
"low out"
)
};
};
...
@@ -572,10 +572,10 @@ void WinEDA_LibeditFrame::CreatePin( wxDC* DC )
...
@@ -572,10 +572,10 @@ void WinEDA_LibeditFrame::CreatePin( wxDC* DC )
if
(
g_EditPinByPinIsOn
==
false
)
if
(
g_EditPinByPinIsOn
==
false
)
CurrentPin
->
m_Flags
|=
IS_LINKED
;
CurrentPin
->
m_Flags
|=
IS_LINKED
;
CurrentPin
->
m_Pos
.
x
=
GetScreen
()
->
m_Curseur
.
x
;
CurrentPin
->
m_Pos
.
x
=
GetScreen
()
->
m_Curseur
.
x
;
CurrentPin
->
m_Pos
.
y
=
-
GetScreen
()
->
m_Curseur
.
y
;
CurrentPin
->
m_Pos
.
y
=
-
GetScreen
()
->
m_Curseur
.
y
;
CurrentPin
->
m_PinLen
=
LastPinSize
;
CurrentPin
->
m_PinLen
=
LastPinSize
;
CurrentPin
->
m_Orient
=
LastPinOrient
;
CurrentPin
->
m_Orient
=
LastPinOrient
;
CurrentPin
->
m_PinType
=
LastPinType
;
CurrentPin
->
m_PinType
=
LastPinType
;
CurrentPin
->
m_PinShape
=
LastPinShape
;
CurrentPin
->
m_PinShape
=
LastPinShape
;
CurrentPin
->
m_PinNameSize
=
LastPinNameSize
;
CurrentPin
->
m_PinNameSize
=
LastPinNameSize
;
...
@@ -931,13 +931,18 @@ bool sort_by_pin_number( const LIB_PIN* ref, const LIB_PIN* tst )
...
@@ -931,13 +931,18 @@ bool sort_by_pin_number( const LIB_PIN* ref, const LIB_PIN* tst )
}
}
/* Test for duplicate pins:
/* Test for duplicate pins and off grid pins:
* Pins are considered off grid when they are not on the 25 mils grid
* A grid smaller than 25 mils must be used only to build graphic shapes.
*/
*/
void
WinEDA_LibeditFrame
::
OnCheckComponent
(
wxCommandEvent
&
event
)
void
WinEDA_LibeditFrame
::
OnCheckComponent
(
wxCommandEvent
&
event
)
{
{
int
error
;
#define MIN_GRID_SIZE 25
int
dup_error
;
int
offgrid_error
;
LIB_PIN
*
Pin
;
LIB_PIN
*
Pin
;
wxString
msg
;
wxString
msg
;
wxString
aux_msg
;
if
(
m_component
==
NULL
)
if
(
m_component
==
NULL
)
return
;
return
;
...
@@ -962,13 +967,11 @@ void WinEDA_LibeditFrame::OnCheckComponent( wxCommandEvent& event )
...
@@ -962,13 +967,11 @@ void WinEDA_LibeditFrame::OnCheckComponent( wxCommandEvent& event )
sort
(
PinList
.
begin
(),
PinList
.
end
(),
sort_by_pin_number
);
sort
(
PinList
.
begin
(),
PinList
.
end
(),
sort_by_pin_number
);
// Test for duplicates:
// Test for duplicates:
error
=
0
;
dup_error
=
0
;
DIALOG_DISPLAY_HTML_TEXT_BASE
DIALOG_DISPLAY_HTML_TEXT_BASE
error_display
(
this
,
wxID_ANY
,
_
(
"Marker Info"
),
error_display
(
this
,
wxID_ANY
,
_
(
"Marker Info"
),
wxDefaultPosition
,
wxSize
(
750
,
600
)
);
wxDefaultPosition
,
wxSize
(
750
,
600
)
);
for
(
unsigned
ii
=
1
;
ii
<
PinList
.
size
();
ii
++
)
for
(
unsigned
ii
=
1
;
ii
<
PinList
.
size
();
ii
++
)
{
{
wxString
aux_msg
;
wxString
stringPinNum
,
stringCurrPinNum
;
wxString
stringPinNum
,
stringCurrPinNum
;
LIB_PIN
*
curr_pin
=
PinList
[
ii
];
LIB_PIN
*
curr_pin
=
PinList
[
ii
];
...
@@ -979,7 +982,7 @@ void WinEDA_LibeditFrame::OnCheckComponent( wxCommandEvent& event )
...
@@ -979,7 +982,7 @@ void WinEDA_LibeditFrame::OnCheckComponent( wxCommandEvent& event )
||
Pin
->
m_Unit
!=
curr_pin
->
m_Unit
)
||
Pin
->
m_Unit
!=
curr_pin
->
m_Unit
)
continue
;
continue
;
error
++
;
dup_
error
++
;
Pin
->
ReturnPinStringNum
(
stringPinNum
);
Pin
->
ReturnPinStringNum
(
stringPinNum
);
curr_pin
->
ReturnPinStringNum
(
stringCurrPinNum
);
curr_pin
->
ReturnPinStringNum
(
stringCurrPinNum
);
msg
.
Printf
(
_
(
msg
.
Printf
(
_
(
...
@@ -1007,12 +1010,50 @@ with pin %s \"%s\" at location <b>(%.3f, %.3f)</b>"
...
@@ -1007,12 +1010,50 @@ with pin %s \"%s\" at location <b>(%.3f, %.3f)</b>"
}
}
msg
+=
wxT
(
".<br>"
);
msg
+=
wxT
(
".<br>"
);
error_display
.
m_htmlWindow
->
AppendToPage
(
msg
);
}
// Test for off grid pins:
offgrid_error
=
0
;
for
(
unsigned
ii
=
0
;
ii
<
PinList
.
size
();
ii
++
)
{
Pin
=
PinList
[
ii
];
if
(
(
(
Pin
->
m_Pos
.
x
%
MIN_GRID_SIZE
)
==
0
)
&&
(
(
Pin
->
m_Pos
.
y
%
MIN_GRID_SIZE
)
==
0
)
)
continue
;
// A pin is foun here off grid
offgrid_error
++
;
wxString
stringPinNum
;
Pin
->
ReturnPinStringNum
(
stringPinNum
);
msg
.
Printf
(
_
(
"<b>Off grid pin %s</b>
\"
%s
\"
at location <b>(%.3f, %.3f)</b>"
),
GetChars
(
stringPinNum
),
GetChars
(
Pin
->
m_PinName
),
(
float
)
Pin
->
m_Pos
.
x
/
1000.0
,
(
float
)
-
Pin
->
m_Pos
.
y
/
1000.0
);
if
(
m_component
->
GetPartCount
()
>
1
)
{
aux_msg
.
Printf
(
_
(
" in part %c"
),
'A'
+
Pin
->
m_Unit
);
msg
+=
aux_msg
;
}
if
(
m_showDeMorgan
)
{
if
(
Pin
->
m_Convert
)
msg
+=
_
(
" of converted"
);
else
msg
+=
_
(
" of normal"
);
}
msg
+=
wxT
(
".<br>"
);
error_display
.
m_htmlWindow
->
AppendToPage
(
msg
);
error_display
.
m_htmlWindow
->
AppendToPage
(
msg
);
}
}
if
(
error
==
0
)
if
(
!
dup_error
&&
!
offgrid_error
)
DisplayInfoMessage
(
this
,
_
(
"No duplicate pins were found."
)
);
DisplayInfoMessage
(
this
,
_
(
"No off grid or duplicate pins were found."
)
);
else
else
error_display
.
ShowModal
();
error_display
.
ShowModal
();
}
}
eeschema/tool_lib.cpp
View file @
b8a6c53b
...
@@ -153,7 +153,7 @@ void WinEDA_LibeditFrame::ReCreateHToolbar()
...
@@ -153,7 +153,7 @@ void WinEDA_LibeditFrame::ReCreateHToolbar()
m_HToolBar
->
AddSeparator
();
m_HToolBar
->
AddSeparator
();
m_HToolBar
->
AddTool
(
ID_LIBEDIT_CHECK_PART
,
wxEmptyString
,
m_HToolBar
->
AddTool
(
ID_LIBEDIT_CHECK_PART
,
wxEmptyString
,
wxBitmap
(
erc_xpm
),
_
(
"Test for duplicate pins"
)
);
wxBitmap
(
erc_xpm
),
_
(
"Test for duplicate pins
and off grid pins
"
)
);
m_HToolBar
->
AddSeparator
();
m_HToolBar
->
AddSeparator
();
msg
=
AddHotkeyName
(
_
(
"Zoom in"
),
s_Libedit_Hokeys_Descr
,
HK_ZOOM_IN
);
msg
=
AddHotkeyName
(
_
(
"Zoom in"
),
s_Libedit_Hokeys_Descr
,
HK_ZOOM_IN
);
...
...
internat/fr/kicad.mo
View file @
b8a6c53b
No preview for this file type
internat/fr/kicad.po
View file @
b8a6c53b
...
@@ -2,8 +2,8 @@ msgid ""
...
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
msgstr ""
"Project-Id-Version: kicad\n"
"Project-Id-Version: kicad\n"
"Report-Msgid-Bugs-To: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-10-2
3 11:01
+0100\n"
"POT-Creation-Date: 2009-10-2
5 16:44
+0100\n"
"PO-Revision-Date: 2009-10-2
3 11:02
+0100\n"
"PO-Revision-Date: 2009-10-2
5 16:44
+0100\n"
"Last-Translator: \n"
"Last-Translator: \n"
"Language-Team: kicad team <jean-pierre.charras@ujf-grenoble.fr>\n"
"Language-Team: kicad team <jean-pierre.charras@ujf-grenoble.fr>\n"
"MIME-Version: 1.0\n"
"MIME-Version: 1.0\n"
...
@@ -221,7 +221,7 @@ msgid "Place Module"
...
@@ -221,7 +221,7 @@ msgid "Place Module"
msgstr "Place Module"
msgstr "Place Module"
#: pcbnew/loadcmp.cpp:234
#: pcbnew/loadcmp.cpp:234
#: pcbnew/loadcmp.cpp:38
6
#: pcbnew/loadcmp.cpp:38
7
#, c-format
#, c-format
msgid "PCB footprint library file <%s> not found in search paths."
msgid "PCB footprint library file <%s> not found in search paths."
msgstr "Librairie modules PCB %s non trouvée dans les chemins de recherche"
msgstr "Librairie modules PCB %s non trouvée dans les chemins de recherche"
...
@@ -229,8 +229,8 @@ msgstr "Librairie modules PCB %s non trouvée dans les chemins de recherche"
...
@@ -229,8 +229,8 @@ msgstr "Librairie modules PCB %s non trouvée dans les chemins de recherche"
#: pcbnew/loadcmp.cpp:236
#: pcbnew/loadcmp.cpp:236
#: pcbnew/loadcmp.cpp:248
#: pcbnew/loadcmp.cpp:248
#: pcbnew/loadcmp.cpp:264
#: pcbnew/loadcmp.cpp:264
#: pcbnew/loadcmp.cpp:38
8
#: pcbnew/loadcmp.cpp:38
9
#: pcbnew/loadcmp.cpp:42
4
#: pcbnew/loadcmp.cpp:42
5
msgid "Library Load Error"
msgid "Library Load Error"
msgstr "Erreur en Chargement de librairie"
msgstr "Erreur en Chargement de librairie"
...
@@ -245,7 +245,7 @@ msgid "Scan Lib: %s"
...
@@ -245,7 +245,7 @@ msgid "Scan Lib: %s"
msgstr "Examen Lib: %s"
msgstr "Examen Lib: %s"
#: pcbnew/loadcmp.cpp:262
#: pcbnew/loadcmp.cpp:262
#: pcbnew/loadcmp.cpp:42
2
#: pcbnew/loadcmp.cpp:42
3
#, c-format
#, c-format
msgid "<%s> is not a valid Kicad PCB footprint library file."
msgid "<%s> is not a valid Kicad PCB footprint library file."
msgstr "<%s> n'est pas un fichier librarire de modules Kicad PCB valide."
msgstr "<%s> n'est pas un fichier librarire de modules Kicad PCB valide."
...
@@ -255,16 +255,16 @@ msgstr "<%s> n'est pas un fichier librarire de modules Kicad PCB valide."
...
@@ -255,16 +255,16 @@ msgstr "<%s> n'est pas un fichier librarire de modules Kicad PCB valide."
msgid "Module <%s> not found"
msgid "Module <%s> not found"
msgstr "Module <%s> non trouvé"
msgstr "Module <%s> non trouvé"
#: pcbnew/loadcmp.cpp:41
3
#: pcbnew/loadcmp.cpp:41
4
msgid "Library "
msgid "Library "
msgstr "Librairie "
msgstr "Librairie "
#: pcbnew/loadcmp.cpp:41
3
#: pcbnew/loadcmp.cpp:41
4
msgid " loaded"
msgid " loaded"
msgstr " chargé"
msgstr " chargé"
#: pcbnew/loadcmp.cpp:48
4
#: pcbnew/loadcmp.cpp:48
5
#: pcbnew/loadcmp.cpp:63
6
#: pcbnew/loadcmp.cpp:63
7
#, c-format
#, c-format
msgid "Modules [%d items]"
msgid "Modules [%d items]"
msgstr "Modules [%d éléments]"
msgstr "Modules [%d éléments]"
...
@@ -2892,7 +2892,7 @@ msgstr "dimension"
...
@@ -2892,7 +2892,7 @@ msgstr "dimension"
#: pcbnew/edit_track_width.cpp:180
#: pcbnew/edit_track_width.cpp:180
#, c-format
#, c-format
msgid "Set tracks and vias sizes to the Netclass \"%s\"default value (entire NET \"%s\") ?"
msgid "Set tracks and vias sizes to the Netclass \"%s\"default value (entire NET \"%s\") ?"
msgstr ""
msgstr "
Ajuster pistes et vias sizes à la valeur de la Netclass \"%s\" (tout le NET \"%s\") ?
"
#: pcbnew/edit_track_width.cpp:232
#: pcbnew/edit_track_width.cpp:232
msgid "Set All Tracks and Vias to Netclass value"
msgid "Set All Tracks and Vias to Netclass value"
...
@@ -3504,7 +3504,7 @@ msgstr "&Options Couches"
...
@@ -3504,7 +3504,7 @@ msgstr "&Options Couches"
#: pcbnew/menubarpcb.cpp:224
#: pcbnew/menubarpcb.cpp:224
msgid "Enable and set properties of layers"
msgid "Enable and set properties of layers"
msgstr ""
msgstr "
Activer les couches et ajuster leur propriétés
"
#: pcbnew/menubarpcb.cpp:235
#: pcbnew/menubarpcb.cpp:235
msgid "Tracks and Vias"
msgid "Tracks and Vias"
...
@@ -4876,19 +4876,19 @@ msgstr "De "
...
@@ -4876,19 +4876,19 @@ msgstr "De "
msgid "Footprint library files:"
msgid "Footprint library files:"
msgstr "Fichiers Library Modules:"
msgstr "Fichiers Library Modules:"
#: pcbnew/dialog_pcbnew_config_libs_and_paths.cpp:2
36
#: pcbnew/dialog_pcbnew_config_libs_and_paths.cpp:2
27
msgid "Library already in use"
msgid "Library already in use"
msgstr "Librairie déjà en usage"
msgstr "Librairie déjà en usage"
#: pcbnew/dialog_pcbnew_config_libs_and_paths.cpp:24
9
#: pcbnew/dialog_pcbnew_config_libs_and_paths.cpp:24
0
msgid "Default Path for Libraries"
msgid "Default Path for Libraries"
msgstr "Chemin par Défaut des Librairies"
msgstr "Chemin par Défaut des Librairies"
#: pcbnew/dialog_pcbnew_config_libs_and_paths.cpp:2
84
#: pcbnew/dialog_pcbnew_config_libs_and_paths.cpp:2
75
msgid "Path already in use"
msgid "Path already in use"
msgstr "Chemin déjà en usage"
msgstr "Chemin déjà en usage"
#: pcbnew/dialog_pcbnew_config_libs_and_paths.cpp:3
23
#: pcbnew/dialog_pcbnew_config_libs_and_paths.cpp:3
14
msgid "Footprint document file:"
msgid "Footprint document file:"
msgstr "Documentation des Modules:"
msgstr "Documentation des Modules:"
...
@@ -5409,7 +5409,7 @@ msgid "No Net"
...
@@ -5409,7 +5409,7 @@ msgid "No Net"
msgstr "No Net"
msgstr "No Net"
#: pcbnew/dialog_copper_layers_setup.cpp:135
#: pcbnew/dialog_copper_layers_setup.cpp:135
#: pcbnew/dialog_design_rules.cpp:47
8
#: pcbnew/dialog_design_rules.cpp:47
9
msgid "Errors detected, Abort"
msgid "Errors detected, Abort"
msgstr "Erreurs detectées, Abandont"
msgstr "Erreurs detectées, Abandont"
...
@@ -5574,68 +5574,68 @@ msgstr "* (Tout)"
...
@@ -5574,68 +5574,68 @@ msgstr "* (Tout)"
msgid "Class"
msgid "Class"
msgstr "Classe"
msgstr "Classe"
#: pcbnew/dialog_design_rules.cpp:10
5
#: pcbnew/dialog_design_rules.cpp:10
6
msgid "<b>Current general settings:</b><br>"
msgid "<b>Current general settings:</b><br>"
msgstr "<b>Reglages généraux courants:</b><br>"
msgstr "<b>Reglages généraux courants:</b><br>"
#: pcbnew/dialog_design_rules.cpp:1
09
#: pcbnew/dialog_design_rules.cpp:1
10
#, c-format
#, c-format
msgid "Minimum value for tracks width: <b>%s</b><br>\n"
msgid "Minimum value for tracks width: <b>%s</b><br>\n"
msgstr "Valeur minimum pour la largeur de piste: <b>%s</b><br>\n"
msgstr "Valeur minimum pour la largeur de piste: <b>%s</b><br>\n"
#: pcbnew/dialog_design_rules.cpp:11
3
#: pcbnew/dialog_design_rules.cpp:11
4
#, c-format
#, c-format
msgid "Minimum value for vias diameter: <b>%s</b><br>\n"
msgid "Minimum value for vias diameter: <b>%s</b><br>\n"
msgstr "Valeur minimum pour le diamètre de via: <b>%s</b><br>\n"
msgstr "Valeur minimum pour le diamètre de via: <b>%s</b><br>\n"
#: pcbnew/dialog_design_rules.cpp:11
7
#: pcbnew/dialog_design_rules.cpp:11
8
#, c-format
#, c-format
msgid "Minimum value for microvias diameter: <b>%s</b><br>\n"
msgid "Minimum value for microvias diameter: <b>%s</b><br>\n"
msgstr "Valeur minimum pour le diamètre de microvia: <b>%s</b><br>\n"
msgstr "Valeur minimum pour le diamètre de microvia: <b>%s</b><br>\n"
#: pcbnew/dialog_design_rules.cpp:49
7
#: pcbnew/dialog_design_rules.cpp:49
8
msgid "New Net Class Name:"
msgid "New Net Class Name:"
msgstr "Nouveau Nom de Classe d'Equipotentielle:"
msgstr "Nouveau Nom de Classe d'Equipotentielle:"
#: pcbnew/dialog_design_rules.cpp:51
0
#: pcbnew/dialog_design_rules.cpp:51
1
msgid "This NetClass is already existing, cannot add it; Aborted"
msgid "This NetClass is already existing, cannot add it; Aborted"
msgstr "Cette NetClass existe déjà, et ne peut être ajoutée; Abandon"
msgstr "Cette NetClass existe déjà, et ne peut être ajoutée; Abandon"
#: pcbnew/dialog_design_rules.cpp:56
7
#: pcbnew/dialog_design_rules.cpp:56
8
msgid "The defaut Netclass cannot be removed"
msgid "The defaut Netclass cannot be removed"
msgstr "La Netclass Défault ne peut être supprimée"
msgstr "La Netclass Défault ne peut être supprimée"
#: pcbnew/dialog_design_rules.cpp:75
8
#: pcbnew/dialog_design_rules.cpp:75
9
#, c-format
#, c-format
msgid "%s: <b>Track Size</b> < <b>Min Track Size</b><br>"
msgid "%s: <b>Track Size</b> < <b>Min Track Size</b><br>"
msgstr "%s: <b>Largeur Piste</b> ≥ <b>Largeur Piste Minimum</b><br>"
msgstr "%s: <b>Largeur Piste</b> ≥ <b>Largeur Piste Minimum</b><br>"
#: pcbnew/dialog_design_rules.cpp:77
2
#: pcbnew/dialog_design_rules.cpp:77
3
#, c-format
#, c-format
msgid "%s: <b>Via Diameter</b> < <b>Minimun Via Diameter</b><br>"
msgid "%s: <b>Via Diameter</b> < <b>Minimun Via Diameter</b><br>"
msgstr "%s: <b>Diamètre Via</b> ≥ <b>Min. Diamètre Via</b><br>"
msgstr "%s: <b>Diamètre Via</b> ≥ <b>Min. Diamètre Via</b><br>"
#: pcbnew/dialog_design_rules.cpp:78
4
#: pcbnew/dialog_design_rules.cpp:78
5
#, c-format
#, c-format
msgid "%s: <b>Via Drill</b> ≥ <b>Via Dia</b><br>"
msgid "%s: <b>Via Drill</b> ≥ <b>Via Dia</b><br>"
msgstr "%s: <b>Perçage Via</b> ≥ <b>Diam Via</b><br>"
msgstr "%s: <b>Perçage Via</b> ≥ <b>Diam Via</b><br>"
#: pcbnew/dialog_design_rules.cpp:79
3
#: pcbnew/dialog_design_rules.cpp:79
4
#, c-format
#, c-format
msgid "%s: <b>Via Drill</b> < <b>Min Via Drill</b><br>"
msgid "%s: <b>Via Drill</b> < <b>Min Via Drill</b><br>"
msgstr "%s: <b>Perçage Via</b> < <b>Via Perçage Min</b><br>"
msgstr "%s: <b>Perçage Via</b> < <b>Via Perçage Min</b><br>"
#: pcbnew/dialog_design_rules.cpp:80
7
#: pcbnew/dialog_design_rules.cpp:80
8
#, c-format
#, c-format
msgid "%s: <b>MicroVia Diameter</b> < <b>MicroVia Min Diameter</b><br>"
msgid "%s: <b>MicroVia Diameter</b> < <b>MicroVia Min Diameter</b><br>"
msgstr "%s: <b>Diamètre MicroVia</b> < <b>Diamètre MicroVia Minimum</b><br>"
msgstr "%s: <b>Diamètre MicroVia</b> < <b>Diamètre MicroVia Minimum</b><br>"
#: pcbnew/dialog_design_rules.cpp:8
19
#: pcbnew/dialog_design_rules.cpp:8
20
#, c-format
#, c-format
msgid "%s: <b>MicroVia Drill</b> ≥ <b>MicroVia Dia</b><br>"
msgid "%s: <b>MicroVia Drill</b> ≥ <b>MicroVia Dia</b><br>"
msgstr "%s: <b>Perçage MicroVia</b> ≥ <b>Diam MicroVia</b><br>"
msgstr "%s: <b>Perçage MicroVia</b> ≥ <b>Diam MicroVia</b><br>"
#: pcbnew/dialog_design_rules.cpp:82
8
#: pcbnew/dialog_design_rules.cpp:82
9
#, c-format
#, c-format
msgid "%s: <b>MicroVia Drill</b> < <b>MicroVia Min Drill</b><br>"
msgid "%s: <b>MicroVia Drill</b> < <b>MicroVia Min Drill</b><br>"
msgstr "%s: <b>Perçage MicroVia</b> < <b>MicroVia Perçage Min</b><br>"
msgstr "%s: <b>Perçage MicroVia</b> < <b>MicroVia Perçage Min</b><br>"
...
@@ -5847,9 +5847,8 @@ msgid "Seg Layer"
...
@@ -5847,9 +5847,8 @@ msgid "Seg Layer"
msgstr "Couche Seg."
msgstr "Couche Seg."
#: pcbnew/dialog_print_for_modedit.cpp:242
#: pcbnew/dialog_print_for_modedit.cpp:242
#, fuzzy
msgid "Print Footprint"
msgid "Print Footprint"
msgstr "Module"
msgstr "
Imprimer
Module"
#: pcbnew/dialog_print_for_modedit_base.cpp:22
#: pcbnew/dialog_print_for_modedit_base.cpp:22
msgid "Scale 8"
msgid "Scale 8"
...
@@ -6995,35 +6994,43 @@ msgstr "Position occupée par une autre pin. Continuer ?"
...
@@ -6995,35 +6994,43 @@ msgstr "Position occupée par une autre pin. Continuer ?"
msgid "Initial pin position (%d, %d)"
msgid "Initial pin position (%d, %d)"
msgstr "Position initiane de la pin (%d, %d)"
msgstr "Position initiane de la pin (%d, %d)"
#: eeschema/pinedit.cpp:9
56
#: eeschema/pinedit.cpp:9
61
msgid "No pins!"
msgid "No pins!"
msgstr "Pas de Pins!"
msgstr "Pas de Pins!"
#: eeschema/pinedit.cpp:9
67
#: eeschema/pinedit.cpp:9
71
msgid "Marker Info"
msgid "Marker Info"
msgstr "Info Marqueur"
msgstr "Info Marqueur"
#: eeschema/pinedit.cpp:98
6
#: eeschema/pinedit.cpp:98
9
#, c-format
#, c-format
msgid "<b>Duplicate pin %s</b> \"%s\" at location <b>(%.3f, %.3f)</b> conflicts with pin %s \"%s\" at location <b>(%.3f, %.3f)</b>"
msgid "<b>Duplicate pin %s</b> \"%s\" at location <b>(%.3f, %.3f)</b> conflicts with pin %s \"%s\" at location <b>(%.3f, %.3f)</b>"
msgstr "<b>Pin dupliquée %s</b> \"%s\" en position <b>(%.3f, %.3f)</b> en conflit avec pin %s \"%s\" en position <b>(%.3f, %.3f)</b>"
msgstr "<b>Pin dupliquée %s</b> \"%s\" en position <b>(%.3f, %.3f)</b> en conflit avec pin %s \"%s\" en position <b>(%.3f, %.3f)</b>"
#: eeschema/pinedit.cpp:997
#: eeschema/pinedit.cpp:1000
#: eeschema/pinedit.cpp:1038
#, c-format
#, c-format
msgid " in part %c"
msgid " in part %c"
msgstr " en composant %c"
msgstr " en composant %c"
#: eeschema/pinedit.cpp:1004
#: eeschema/pinedit.cpp:1007
#: eeschema/pinedit.cpp:1045
msgid " of converted"
msgid " of converted"
msgstr " de converti"
msgstr " de converti"
#: eeschema/pinedit.cpp:1006
#: eeschema/pinedit.cpp:1009
#: eeschema/pinedit.cpp:1047
msgid " of normal"
msgid " of normal"
msgstr " de normal"
msgstr " de normal"
#: eeschema/pinedit.cpp:1015
#: eeschema/pinedit.cpp:1030
msgid "No duplicate pins were found."
#, c-format
msgstr "Pas de pins doublées trouvéées"
msgid "<b>Off grid pin %s</b> \"%s\" at location <b>(%.3f, %.3f)</b>"
msgstr ""
#: eeschema/pinedit.cpp:1055
msgid "No off grid or duplicate pins were found."
msgstr "Pas de pins doublées ou hors grille trouvées"
#: eeschema/eelayer.cpp:218
#: eeschema/eelayer.cpp:218
msgid "White"
msgid "White"
...
@@ -7155,7 +7162,7 @@ msgstr "Supprimer composant \"%s\" de la librairie \"%s\"?"
...
@@ -7155,7 +7162,7 @@ msgstr "Supprimer composant \"%s\" de la librairie \"%s\"?"
#: eeschema/libedit.cpp:442
#: eeschema/libedit.cpp:442
msgid "The component being deleted has been modified. All changes will be lost. Discard changes?"
msgid "The component being deleted has been modified. All changes will be lost. Discard changes?"
msgstr ""
msgstr "
Le composant à supprimer a été modifié. Tous les changements seront perdus. Ignorer les changements?
"
#: eeschema/libedit.cpp:497
#: eeschema/libedit.cpp:497
msgid ""
msgid ""
...
@@ -7204,9 +7211,9 @@ msgid "reference"
...
@@ -7204,9 +7211,9 @@ msgid "reference"
msgstr "référence"
msgstr "référence"
#: eeschema/class_libentry.cpp:332
#: eeschema/class_libentry.cpp:332
#,
fuzzy,
c-format
#, c-format
msgid "An attempt was made to remove the %s field from component %s in library %s."
msgid "An attempt was made to remove the %s field from component %s in library %s."
msgstr "
Alias <%s> non trouvé pour le component <%s> en librairie <%s>
."
msgstr "
Une tentative a été faite pour supprimer le champ %s du composant %s en librairie %s
."
#: eeschema/class_libentry.cpp:674
#: eeschema/class_libentry.cpp:674
msgid "file ended prematurely loading component draw element"
msgid "file ended prematurely loading component draw element"
...
@@ -7443,8 +7450,8 @@ msgid "Add and remove fields and edit field properties"
...
@@ -7443,8 +7450,8 @@ msgid "Add and remove fields and edit field properties"
msgstr "Ajouter, supprimer des champs et éditer leurs propriétés"
msgstr "Ajouter, supprimer des champs et éditer leurs propriétés"
#: eeschema/tool_lib.cpp:156
#: eeschema/tool_lib.cpp:156
msgid "Test for duplicate pins"
msgid "Test for duplicate pins
and off grid pins
"
msgstr "Test pins doublées"
msgstr "Test pins doublées
et hors grille
"
#: eeschema/tool_lib.cpp:179
#: eeschema/tool_lib.cpp:179
msgid "Show as \"De Morgan\" normal part"
msgid "Show as \"De Morgan\" normal part"
...
@@ -8041,7 +8048,7 @@ msgstr "Créer composant comme &symbole d'alimentation"
...
@@ -8041,7 +8048,7 @@ msgstr "Créer composant comme &symbole d'alimentation"
#: eeschema/dialog_lib_new_component_base.cpp:121
#: eeschema/dialog_lib_new_component_base.cpp:121
msgid "Parts in package locked (cannot be swapped)"
msgid "Parts in package locked (cannot be swapped)"
msgstr "Les parts du boitier sont verrou
lli
ées (ne peuvent pas être interchangées)"
msgstr "Les parts du boitier sont verrou
ill
ées (ne peuvent pas être interchangées)"
#: eeschema/dialog_lib_new_component_base.cpp:130
#: eeschema/dialog_lib_new_component_base.cpp:130
msgid "Global Pin Settings"
msgid "Global Pin Settings"
...
@@ -8614,19 +8621,19 @@ msgstr ""
...
@@ -8614,19 +8621,19 @@ msgstr ""
msgid "Doc Files"
msgid "Doc Files"
msgstr "Fichiers de Doc"
msgstr "Fichiers de Doc"
#: eeschema/edit_component_in_lib.cpp:4
57
#: eeschema/edit_component_in_lib.cpp:4
62
msgid "Ok to Delete FootprintFilter LIST"
msgid "Ok to Delete FootprintFilter LIST"
msgstr "Ok pour effacer la LISTE des filtres de modules"
msgstr "Ok pour effacer la LISTE des filtres de modules"
#: eeschema/edit_component_in_lib.cpp:48
0
#: eeschema/edit_component_in_lib.cpp:48
5
msgid "Add Footprint Filter"
msgid "Add Footprint Filter"
msgstr "Ajouter Filtre Modules"
msgstr "Ajouter Filtre Modules"
#: eeschema/edit_component_in_lib.cpp:48
0
#: eeschema/edit_component_in_lib.cpp:48
5
msgid "Footprint Filter"
msgid "Footprint Filter"
msgstr "Filtrage Modules"
msgstr "Filtrage Modules"
#: eeschema/edit_component_in_lib.cpp:49
3
#: eeschema/edit_component_in_lib.cpp:49
8
#, c-format
#, c-format
msgid "Foot print filter <%s> is already defined."
msgid "Foot print filter <%s> is already defined."
msgstr "Filtre de module <%s> déjà défini."
msgstr "Filtre de module <%s> déjà défini."
...
@@ -9862,12 +9869,11 @@ msgstr "&Epaisseur"
...
@@ -9862,12 +9869,11 @@ msgstr "&Epaisseur"
#: eeschema/dialog_lib_edit_draw_item_base.cpp:56
#: eeschema/dialog_lib_edit_draw_item_base.cpp:56
msgid "Apply changes to all &parts in component"
msgid "Apply changes to all &parts in component"
msgstr ""
msgstr "
Apliquer les changements à toutes les &parts du composant
"
#: eeschema/dialog_lib_edit_draw_item_base.cpp:68
#: eeschema/dialog_lib_edit_draw_item_base.cpp:68
#, fuzzy
msgid "Apply changes to all body &styles (DeMorgan)"
msgid "Apply changes to all body &styles (DeMorgan)"
msgstr "
Créer un composant avec une forme &alternative
(DeMorgan)"
msgstr "
Appliquer les changements à toutes les parts et &représentation
(DeMorgan)"
#: eeschema/dialog_lib_edit_draw_item_base.cpp:77
#: eeschema/dialog_lib_edit_draw_item_base.cpp:77
msgid "Fill Style"
msgid "Fill Style"
...
...
pcbnew/class_pad_draw_functions.cpp
View file @
b8a6c53b
...
@@ -266,16 +266,16 @@ void D_PAD::Draw( WinEDA_DrawPanel* panel, wxDC* DC, int draw_mode,
...
@@ -266,16 +266,16 @@ void D_PAD::Draw( WinEDA_DrawPanel* panel, wxDC* DC, int draw_mode,
if
(
fillpad
)
if
(
fillpad
)
{
{
GRFillCSegm
(
&
panel
->
m_ClipBox
,
DC
,
GRFillCSegm
(
&
panel
->
m_ClipBox
,
DC
,
ux0
+
delta_cx
+
mask_margin
,
uy0
+
delta_cy
+
mask_margin
,
ux0
+
delta_cx
,
uy0
+
delta_cy
,
ux0
-
delta_cx
-
mask_margin
,
uy0
-
delta_cy
-
mask_margin
,
ux0
-
delta_cx
,
uy0
-
delta_cy
,
rotdx
,
color
);
rotdx
+
mask_margin
,
color
);
}
}
else
else
{
{
GRCSegm
(
&
panel
->
m_ClipBox
,
DC
,
GRCSegm
(
&
panel
->
m_ClipBox
,
DC
,
ux0
+
delta_cx
+
mask_margin
,
uy0
+
delta_cy
+
mask_margin
,
ux0
+
delta_cx
,
uy0
+
delta_cy
,
ux0
-
delta_cx
-
mask_margin
,
uy0
-
delta_cy
-
mask_margin
,
ux0
-
delta_cx
,
uy0
-
delta_cy
,
rotdx
,
color
);
rotdx
+
mask_margin
,
color
);
}
}
/* Trace de la marge d'isolement */
/* Trace de la marge d'isolement */
...
@@ -293,20 +293,20 @@ void D_PAD::Draw( WinEDA_DrawPanel* panel, wxDC* DC, int draw_mode,
...
@@ -293,20 +293,20 @@ void D_PAD::Draw( WinEDA_DrawPanel* panel, wxDC* DC, int draw_mode,
case
PAD_TRAPEZOID
:
case
PAD_TRAPEZOID
:
{
{
int
ddx
,
ddy
;
int
ddx
,
ddy
;
ddx
=
(
m_DeltaSize
.
x
>>
1
)
+
mask_margin
;
ddx
=
(
m_DeltaSize
.
x
>>
1
);
ddy
=
(
m_DeltaSize
.
y
>>
1
)
+
mask_margin
;
/* demi dim dx et dy */
ddy
=
(
m_DeltaSize
.
y
>>
1
);
/* demi dim dx et dy */
coord
[
0
].
x
=
-
dx
-
ddy
;
coord
[
0
].
x
=
-
dx
-
ddy
-
mask_margin
;
coord
[
0
].
y
=
+
dy
+
ddx
;
coord
[
0
].
y
=
+
dy
+
ddx
+
mask_margin
;
coord
[
1
].
x
=
-
dx
+
ddy
;
coord
[
1
].
x
=
-
dx
+
ddy
-
mask_margin
;
coord
[
1
].
y
=
-
dy
-
ddx
;
coord
[
1
].
y
=
-
dy
-
ddx
-
mask_margin
;
coord
[
2
].
x
=
+
dx
-
ddy
;
coord
[
2
].
x
=
+
dx
-
ddy
+
mask_margin
;
coord
[
2
].
y
=
-
dy
+
ddx
;
coord
[
2
].
y
=
-
dy
+
ddx
-
mask_margin
;
coord
[
3
].
x
=
+
dx
+
ddy
;
coord
[
3
].
x
=
+
dx
+
ddy
+
mask_margin
;
coord
[
3
].
y
=
+
dy
-
ddx
;
coord
[
3
].
y
=
+
dy
-
ddx
+
mask_margin
;
for
(
ii
=
0
;
ii
<
4
;
ii
++
)
for
(
ii
=
0
;
ii
<
4
;
ii
++
)
{
{
...
...
pcbnew/dialog_design_rules.cpp
View file @
b8a6c53b
...
@@ -91,6 +91,7 @@ DIALOG_DESIGN_RULES::DIALOG_DESIGN_RULES( WinEDA_PcbFrame* parent ) :
...
@@ -91,6 +91,7 @@ DIALOG_DESIGN_RULES::DIALOG_DESIGN_RULES( WinEDA_PcbFrame* parent ) :
Layout
();
Layout
();
GetSizer
()
->
Fit
(
this
);
GetSizer
()
->
Fit
(
this
);
GetSizer
()
->
SetSizeHints
(
this
);
GetSizer
()
->
SetSizeHints
(
this
);
Center
();
}
}
...
...
pcbnew/dialog_layers_setup.cpp
View file @
b8a6c53b
...
@@ -258,7 +258,7 @@ void DialogLayerSetup::SetLayerType( int Layer, LAYER_T Type )
...
@@ -258,7 +258,7 @@ void DialogLayerSetup::SetLayerType( int Layer, LAYER_T Type )
}
}
//==============================================================================
//==============================================================================
// The layer mask for non-copper layers is obtained from the new
// The layer mask for non-copper layers is obtained from the new
// EDA_BoardDesignSettings::m*EnabledLayers, but for compatibility, the mask
// EDA_BoardDesignSettings::m*EnabledLayers, but for compatibility, the mask
// for the copper-layers is obtained from g_DesignSettings::m_CopperLayerCount
// for the copper-layers is obtained from g_DesignSettings::m_CopperLayerCount
...
@@ -445,7 +445,7 @@ DialogLayerSetup::DialogLayerSetup( WinEDA_PcbFrame* parent, const wxPoint& pos,
...
@@ -445,7 +445,7 @@ DialogLayerSetup::DialogLayerSetup( WinEDA_PcbFrame* parent, const wxPoint& pos,
// The copper layer names can be changed, we need a text control
// The copper layer names can be changed, we need a text control
m_LayerNameTextCtrl
[
Layer
]
=
new
wxTextCtrl
(
m_LayerNamePanel
[
Layer
],
ID_LAYERNAMES
+
Layer
,
GetLayerName
(
Layer
),
wxDefaultPosition
,
wxDefaultSize
,
0
/*|wxNO_BORDER*/
);
m_LayerNameTextCtrl
[
Layer
]
=
new
wxTextCtrl
(
m_LayerNamePanel
[
Layer
],
ID_LAYERNAMES
+
Layer
,
GetLayerName
(
Layer
),
wxDefaultPosition
,
wxDefaultSize
,
0
/*|wxNO_BORDER*/
);
m_LayerNameTextCtrl
[
Layer
]
->
SetMaxLength
(
20
);
m_LayerNameTextCtrl
[
Layer
]
->
SetMaxLength
(
20
);
#if CONTROL_BACKGROUND_COLORED
#if CONTROL_BACKGROUND_COLORED
m_LayerNameTextCtrl
[
Layer
]
->
SetBackgroundColour
(
GetRowColor
(
Layer
));
m_LayerNameTextCtrl
[
Layer
]
->
SetBackgroundColour
(
GetRowColor
(
Layer
));
...
@@ -659,6 +659,8 @@ DialogLayerSetup::DialogLayerSetup( WinEDA_PcbFrame* parent, const wxPoint& pos,
...
@@ -659,6 +659,8 @@ DialogLayerSetup::DialogLayerSetup( WinEDA_PcbFrame* parent, const wxPoint& pos,
m_LayerEnabledCheckBox
[
i
]
->
Connect
(
wxEVT_KILL_FOCUS
,
wxFocusEventHandler
(
DialogLayerSetup
::
OnLayerEnabledKillFocus
),
NULL
,
this
);
m_LayerEnabledCheckBox
[
i
]
->
Connect
(
wxEVT_KILL_FOCUS
,
wxFocusEventHandler
(
DialogLayerSetup
::
OnLayerEnabledKillFocus
),
NULL
,
this
);
m_LayerEnabledCheckBox
[
i
]
->
Connect
(
wxEVT_SET_FOCUS
,
wxFocusEventHandler
(
DialogLayerSetup
::
OnLayerEnabledSetFocus
),
NULL
,
this
);
m_LayerEnabledCheckBox
[
i
]
->
Connect
(
wxEVT_SET_FOCUS
,
wxFocusEventHandler
(
DialogLayerSetup
::
OnLayerEnabledSetFocus
),
NULL
,
this
);
}
}
Centre
();
}
}
//==============================================================================
//==============================================================================
...
@@ -994,7 +996,7 @@ void DialogLayerSetup::OnOKClick( wxCommandEvent& event )
...
@@ -994,7 +996,7 @@ void DialogLayerSetup::OnOKClick( wxCommandEvent& event )
if
(
m_LayersMask
>>
i
&
0x00000001
)
if
(
m_LayersMask
>>
i
&
0x00000001
)
NumberOfCopperLayers
++
;
NumberOfCopperLayers
++
;
}
}
m_Pcb
->
m_BoardSettings
->
m_CopperLayerCount
=
NumberOfCopperLayers
;
m_Pcb
->
m_BoardSettings
->
m_CopperLayerCount
=
NumberOfCopperLayers
;
m_Pcb
->
SetEnabledLayers
(
m_LayersMask
);
m_Pcb
->
SetEnabledLayers
(
m_LayersMask
);
...
...
pcbnew/loadcmp.cpp
View file @
b8a6c53b
...
@@ -362,7 +362,8 @@ wxString WinEDA_BasePcbFrame::Select_1_Module_From_List(
...
@@ -362,7 +362,8 @@ wxString WinEDA_BasePcbFrame::Select_1_Module_From_List(
WinEDAListBox
*
ListBox
=
new
WinEDAListBox
(
active_window
,
wxEmptyString
,
WinEDAListBox
*
ListBox
=
new
WinEDAListBox
(
active_window
,
wxEmptyString
,
NULL
,
OldName
,
DisplayCmpDoc
,
NULL
,
OldName
,
DisplayCmpDoc
,
wxColour
(
200
,
200
,
255
),
GetScreen
()
->
m_Curseur
);
wxColour
(
200
,
200
,
255
),
GetComponentDialogPosition
());
wxBeginBusyCursor
();
wxBeginBusyCursor
();
...
...
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