diff --git a/change_log.txt b/change_log.txt index 1ef15bd181..48bab6a39a 100644 --- a/change_log.txt +++ b/change_log.txt @@ -5,6 +5,21 @@ Started 2007-June-11 Please add newer entries at the top, list the date and your name with email address. +2008-Feb-21 UPDATE Jean-Pierre Charras +================================================================================ ++eeschema + added : full text conversion between text, label, global label and hierarchical label + some problems fixed: + - annotation incorrectly cleared. + - reference not copied in component copy. + - incorrect redo when changing the chip name in component edition + + bugs not fixed + - undo/redo problems when changing a text type between text, label, global label and hierarchical label + - incorrect annotation in complex hierarchy with multi parts per package (duplicates created). + + + 2008-Feb-20 UPDATE Jean-Pierre Charras ================================================================================ +eeschema diff --git a/eeschema/component_class.cpp b/eeschema/component_class.cpp index e2b434c145..534ace6ef5 100644 --- a/eeschema/component_class.cpp +++ b/eeschema/component_class.cpp @@ -17,7 +17,7 @@ #include "macros.h" #include -WX_DEFINE_OBJARRAY(ArrayOfSheetLists); +WX_DEFINE_OBJARRAY( ArrayOfSheetLists ); /***************************/ /* class DrawPartStruct */ /* class EDA_SchComponentStruct */ @@ -28,8 +28,8 @@ DrawPartStruct::DrawPartStruct( KICAD_T struct_type, const wxPoint& pos ) : EDA_BaseStruct( struct_type ) /***********************************************************************************/ { - m_Layer = 0; - m_Pos = pos; + m_Layer = 0; + m_Pos = pos; m_TimeStamp = 0; } @@ -52,128 +52,145 @@ const wxString& ReturnDefaultFieldName( int aFieldNdx ) { // avoid unnecessarily copying wxStrings at runtime. static const wxString FieldDefaultNameList[] = { - _( "Ref" ), /* Reference of part, i.e. "IC21" */ - _( "Value" ), /* Value of part, i.e. "3.3K" */ - _( "Footprint" ), /* Footprint, used by cvpcb or pcbnew, i.e. "16DIP300" */ - _( "Sheet" ), /* for components which are a schematic file, schematic file name, i.e. "cnt16.sch" */ - wxString(_( "Field" ))+wxT("1"), - wxString(_( "Field" ))+wxT("2"), - wxString(_( "Field" ))+wxT("3"), - wxString(_( "Field" ))+wxT("4"), - wxString(_( "Field" ))+wxT("5"), - wxString(_( "Field" ))+wxT("6"), - wxString(_( "Field" ))+wxT("7"), - wxString(_( "Field" ))+wxT("8"), + _( "Ref" ), /* Reference of part, i.e. "IC21" */ + _( "Value" ), /* Value of part, i.e. "3.3K" */ + _( "Footprint" ), /* Footprint, used by cvpcb or pcbnew, i.e. "16DIP300" */ + _( "Sheet" ), /* for components which are a schematic file, schematic file name, i.e. "cnt16.sch" */ + wxString( _( "Field" ) ) + wxT( "1" ), + wxString( _( "Field" ) ) + wxT( "2" ), + wxString( _( "Field" ) ) + wxT( "3" ), + wxString( _( "Field" ) ) + wxT( "4" ), + wxString( _( "Field" ) ) + wxT( "5" ), + wxString( _( "Field" ) ) + wxT( "6" ), + wxString( _( "Field" ) ) + wxT( "7" ), + wxString( _( "Field" ) ) + wxT( "8" ), wxT( "badFieldNdx!" ) // error, and "sentinel" value }; - + if( (unsigned) aFieldNdx > FIELD8 ) // catches < 0 also - aFieldNdx = FIELD8+1; // return the sentinel text - + aFieldNdx = FIELD8 + 1; // return the sentinel text + return FieldDefaultNameList[aFieldNdx]; } /****************************************************************/ -const wxString& EDA_SchComponentStruct::ReturnFieldName( int aFieldNdx ) const +const wxString& EDA_SchComponentStruct::ReturnFieldName( int aFieldNdx ) const /****************************************************************/ /* Return the Field name from its index (REFERENCE, VALUE ..) */ { // avoid unnecessarily copying wxStrings. - + if( aFieldNdx < FIELD1 || m_Field[aFieldNdx].m_Name.IsEmpty() ) return ReturnDefaultFieldName( aFieldNdx ); - + return m_Field[aFieldNdx].m_Name; } -/************************************/ -wxString EDA_SchComponentStruct::GetPath(DrawSheetList* sheet) -/************************************/ + +/****************************************************************/ +wxString EDA_SchComponentStruct::GetPath( DrawSheetList* sheet ) +/****************************************************************/ { - wxString str; - str.Printf(_("%8.8lX"), m_TimeStamp ); - return sheet->Path() + str; + wxString str; + + str.Printf( wxT( "%8.8lX" ), m_TimeStamp ); + return sheet->Path() + str; } -/************************************/ + +/********************************************************************/ const wxString EDA_SchComponentStruct::GetRef( DrawSheetList* sheet ) -/************************************/ +/********************************************************************/ { - wxString path = GetPath( sheet ); - unsigned int i; - for(i=0; i 1000)) { - //move it to a reasonable position.. - m_Field[REFERENCE].m_Pos = m_Pos; - m_Field[REFERENCE].m_Pos.x += 50; //a slight offset.. - m_Field[REFERENCE].m_Pos.y += 50; - } - m_Field[REFERENCE].m_Text = ref; //for drawing. + //check to see if it is already there before inserting it + wxString path = GetPath( sheet ); + + printf( "SetRef path: %s ref: %s\n", + CONV_TO_UTF8( path ), + CONV_TO_UTF8( ref ) ); + unsigned int i; + bool notInArray = true; + for( i = 0; i 1000) ) + { + //move it to a reasonable position.. + m_Field[REFERENCE].m_Pos = m_Pos; + m_Field[REFERENCE].m_Pos.x += 50; //a slight offset.. + m_Field[REFERENCE].m_Pos.y += 50; + } + m_Field[REFERENCE].m_Text = ref; //for drawing. } -/************************************/ + +/**************************************/ void EDA_SchComponentStruct::ClearRefs() -/************************************/ +/**************************************/ { - m_Paths.Empty(); - m_References.Empty(); + m_Paths.Empty(); + m_References.Empty(); } - + + const wxString& EDA_SchComponentStruct::GetFieldValue( int aFieldNdx ) const { - // avoid unnecessarily copying wxStrings. - static const wxString myEmpty = wxEmptyString; - - if( (unsigned) aFieldNdx > FIELD8 || m_Field[aFieldNdx].m_Text.IsEmpty() ) + // avoid unnecessarily copying wxStrings. + static const wxString myEmpty = wxEmptyString; + + if( (unsigned) aFieldNdx > FIELD8 || m_Field[aFieldNdx].m_Text.IsEmpty() ) return myEmpty; - + return m_Field[aFieldNdx].m_Text; } @@ -186,10 +203,11 @@ EDA_SchComponentStruct::EDA_SchComponentStruct( const wxPoint& pos ) : int ii; m_Multi = 0; /* In multi unit chip - which unit to draw. */ + //m_FlagControlMulti = 0; - m_UsedOnSheets.Clear(); + m_UsedOnSheets.Clear(); m_Convert = 0; /* Gestion des mutiples representations (conversion De Morgan) */ - + /* The rotation/mirror transformation matrix. pos normal*/ m_Transform[0][0] = 1; m_Transform[0][1] = 0; @@ -209,14 +227,14 @@ EDA_SchComponentStruct::EDA_SchComponentStruct( const wxPoint& pos ) : m_Field[REFERENCE].m_Layer = LAYER_REFERENCEPART; m_PinIsDangling = NULL; - - m_PrefixString = wxString(_("U")); + + m_PrefixString = wxString( _( "U" ) ); } -/**********************************************************************/ +/************************************************/ EDA_Rect EDA_SchComponentStruct::GetBoundaryBox() -/**********************************************************************/ +/************************************************/ { EDA_LibComponentStruct* Entry = FindLibPart( m_ChipName.GetData(), wxEmptyString, FIND_ROOT ); EDA_Rect BoundaryBox; @@ -230,7 +248,7 @@ EDA_Rect EDA_SchComponentStruct::GetBoundaryBox() // We must reverse Y values, because matrix orientation // suppose Y axis normal for the library items coordinates, - // m_Transform reverse Y values, but BoundaryBox ais already reversed! + // m_Transform reverse Y values, but BoundaryBox is already reversed! y0 = -BoundaryBox.GetY(); ym = -BoundaryBox.GetBottom(); } @@ -254,7 +272,7 @@ EDA_Rect EDA_SchComponentStruct::GetBoundaryBox() EXCHG( x2, x1 ); if( y2 < y1 ) EXCHG( y2, y1 ); - + BoundaryBox.SetX( x1 ); BoundaryBox.SetY( y1 ); BoundaryBox.SetWidth( x2 - x1 ); BoundaryBox.SetHeight( y2 - y1 ); @@ -262,6 +280,8 @@ EDA_Rect EDA_SchComponentStruct::GetBoundaryBox() BoundaryBox.Offset( m_Pos ); return BoundaryBox; } + + /**************************************************************************/ void PartTextStruct::SwapData( PartTextStruct* copyitem ) /**************************************************************************/ @@ -295,6 +315,7 @@ void EDA_SchComponentStruct::SwapData( EDA_SchComponentStruct* copyitem ) * swap data between this and copyitem */ { + EXCHG( m_ChipName, copyitem->m_ChipName ); EXCHG( m_Pos, copyitem->m_Pos ); EXCHG( m_Multi, copyitem->m_Multi ); EXCHG( m_Convert, copyitem->m_Convert ); @@ -320,13 +341,13 @@ void EDA_SchComponentStruct::Place( WinEDA_DrawFrame* frame, wxDC* DC ) { /* restore old values and save new ones */ SwapData( (EDA_SchComponentStruct*) g_ItemToUndoCopy ); - + /* save in undo list */ ( (WinEDA_SchematicFrame*) frame )->SaveCopyInUndoList( this, IS_CHANGED ); - + /* restore new values */ SwapData( (EDA_SchComponentStruct*) g_ItemToUndoCopy ); - + SAFE_DELETE( g_ItemToUndoCopy ); } @@ -341,14 +362,20 @@ void EDA_SchComponentStruct::ClearAnnotation() /* Suppress annotation ( i.i IC23 changed to IC? and part reset to 1) */ { - wxString defRef = m_PrefixString; - defRef.Append( _("?") ); - m_References.Empty(); - unsigned int i; - for(i=0; i< m_Paths.GetCount(); i++){ - m_References.Add(defRef); - } + wxString defRef = m_PrefixString; + while( defRef.Last() == '?' ) + defRef.RemoveLast(); + + defRef.Append( wxT( "?" ) ); + m_References.Empty(); + unsigned int i; + for( i = 0; i< m_Paths.GetCount(); i++ ) + { + m_References.Add( defRef ); + } + + m_Field[REFERENCE].m_Text = defRef; //for drawing. EDA_LibComponentStruct* Entry; Entry = FindLibPart( m_ChipName.GetData(), wxEmptyString, FIND_ROOT ); @@ -367,8 +394,10 @@ EDA_SchComponentStruct* EDA_SchComponentStruct::GenCopy() new_item->m_Multi = m_Multi; new_item->m_ChipName = m_ChipName; + new_item->m_PrefixString = m_PrefixString; + //new_item->m_FlagControlMulti = m_FlagControlMulti; - new_item->m_UsedOnSheets = m_UsedOnSheets; + new_item->m_UsedOnSheets = m_UsedOnSheets; new_item->m_Convert = m_Convert; new_item->m_Transform[0][0] = m_Transform[0][0]; new_item->m_Transform[0][1] = m_Transform[0][1]; @@ -499,15 +528,15 @@ void EDA_SchComponentStruct::SetRotationMiroir( int type_rotate ) } if( Transform ) - {/* The new matrix transform is the old matrix transform modified by the - * requested transformation, which is the TempMat transform (rot, mirror ..) - * in order to have (in term of matrix transform): - * transform coord = new_m_Transform * coord - * where transform coord is the coord modified by new_m_Transform from the initial - * value coord. - * new_m_Transform is computed (from old_m_Transform and TempMat) to have: - * transform coord = old_m_Transform * coord * TempMat - */ + { /* The new matrix transform is the old matrix transform modified by the + * requested transformation, which is the TempMat transform (rot, mirror ..) + * in order to have (in term of matrix transform): + * transform coord = new_m_Transform * coord + * where transform coord is the coord modified by new_m_Transform from the initial + * value coord. + * new_m_Transform is computed (from old_m_Transform and TempMat) to have: + * transform coord = old_m_Transform * coord * TempMat + */ int NewMatrix[2][2]; NewMatrix[0][0] = m_Transform[0][0] * TempMat[0][0] + @@ -612,12 +641,12 @@ wxPoint EDA_SchComponentStruct::GetScreenCoord( const wxPoint& coord ) } +#if defined (DEBUG) -#if defined(DEBUG) /** * Function Show * is used to output the object tree, currently for debugging only. - * @param nestLevel An aid to prettier tree indenting, and is the level + * @param nestLevel An aid to prettier tree indenting, and is the level * of nesting of this object within the overall tree. * @param os The ostream& to output to. */ @@ -625,35 +654,36 @@ void EDA_SchComponentStruct::Show( int nestLevel, std::ostream& os ) { // for now, make it look like XML: NestedSpace( nestLevel, os ) << '<' << GetClass().Lower().mb_str() << - " ref=\"" << ReturnFieldName(0) << '"' << - " chipName=\"" << m_ChipName.mb_str() << '"' << - m_Pos << - " layer=\"" << m_Layer << '"' << - "/>\n"; + " ref=\"" << ReturnFieldName( 0 ) << '"' << + " chipName=\"" << m_ChipName.mb_str() << '"' << + m_Pos << + " layer=\"" << m_Layer << '"' << + "/>\n"; - // skip the reference, it's been output already. - for( int i=1; i\n"; + NestedSpace( nestLevel + 1, os ) << "\n"; } - } - + } + NestedSpace( nestLevel, os ) << "\n"; } + + #endif - - /***************************************************************************/ PartTextStruct::PartTextStruct( const wxPoint& pos, const wxString& text ) : - EDA_BaseStruct( DRAW_PART_TEXT_STRUCT_TYPE ), EDA_TextStruct( text ) + EDA_BaseStruct( DRAW_PART_TEXT_STRUCT_TYPE ) + , EDA_TextStruct( text ) /***************************************************************************/ { m_Pos = pos; @@ -708,7 +738,7 @@ EDA_Rect PartTextStruct::GetBoundaryBox() /* return * EDA_Rect contains the real (user coordinates) boundary box for a text field, * according to the component position, rotation, mirror ... - * + * */ { EDA_Rect BoundaryBox; diff --git a/eeschema/edit_label.cpp b/eeschema/edit_label.cpp index 2138b20ea7..abc0099822 100644 --- a/eeschema/edit_label.cpp +++ b/eeschema/edit_label.cpp @@ -117,7 +117,7 @@ void WinEDA_SchematicFrame::EditSchematicText( DrawTextStruct* TextStruct, wxDC* DC ) /*************************************************************************/ -/* Edit the properties of the text (Label, Gloab label, graphic text).. ) +/* Edit the properties of the text (Label, Global label, graphic text).. ) * pointed by "TextStruct" */ { @@ -330,7 +330,7 @@ void WinEDA_SchematicFrame::ConvertTextType( DrawTextStruct* Text, /*****************************************************************************/ /* Routine to change a text type to an other one (GraphicText, label or Glabel). - * A new test, label or global label is created from the old text. + * A new test, label or hierarchical or global label is created from the old text. * the old text is deleted */ { @@ -389,10 +389,10 @@ void WinEDA_SchematicFrame::ConvertTextType( DrawTextStruct* Text, { DrawPanel->ForceCloseManageCurseur( DrawPanel, DC ); } - if( (flags & IS_NEW) == 0 ) // Delete old text and save it in undo list + if( (flags & IS_NEW) == 0 ) // Remove old text from current list and save it in undo list { Text->m_Flags = 0; - DeleteStruct( DrawPanel, DC, Text ); + DeleteStruct( DrawPanel, DC, Text ); // old text is really saved in undo list GetScreen()->SetCurItem( NULL ); g_ItemToRepeat = NULL; } diff --git a/eeschema/onrightclick.cpp b/eeschema/onrightclick.cpp index a14cb6d55d..8aab6201eb 100644 --- a/eeschema/onrightclick.cpp +++ b/eeschema/onrightclick.cpp @@ -380,6 +380,8 @@ void AddMenusForGLabel( wxMenu* PopMenu, DrawGlobalLabelStruct* GLabel ) _( "Change to Label" ), glabel2label_xpm ); ADD_MENUITEM( menu_change_type, ID_POPUP_SCH_CHANGE_TYPE_TEXT_TO_COMMENT, _( "Change to Text" ), glabel2text_xpm ); + ADD_MENUITEM( menu_change_type, ID_POPUP_SCH_CHANGE_TYPE_TEXT_TO_HLABEL, + _( "Change to Hierarchical Label" ), label2glabel_xpm ); ADD_MENUITEM_WITH_SUBMENU( PopMenu, menu_change_type, ID_POPUP_SCH_CHANGE_TYPE_TEXT, _( "Change Type" ), gl_change_xpm ); } @@ -402,6 +404,8 @@ void AddMenusForHLabel( wxMenu* PopMenu, DrawHierLabelStruct* HLabel ) _( "Change to Label" ), glabel2label_xpm ); ADD_MENUITEM( menu_change_type, ID_POPUP_SCH_CHANGE_TYPE_TEXT_TO_COMMENT, _( "Change to Text" ), glabel2text_xpm ); + ADD_MENUITEM( menu_change_type, ID_POPUP_SCH_CHANGE_TYPE_TEXT_TO_GLABEL, + _( "Change to Global label" ), label2glabel_xpm ); ADD_MENUITEM_WITH_SUBMENU( PopMenu, menu_change_type, ID_POPUP_SCH_CHANGE_TYPE_TEXT, _( "Change Type" ), gl_change_xpm ); } @@ -424,9 +428,11 @@ void AddMenusForLabel( wxMenu* PopMenu, DrawLabelStruct* Label ) // add menu change type text (to label, glabel, text): ADD_MENUITEM( menu_change_type, ID_POPUP_SCH_CHANGE_TYPE_TEXT_TO_GLABEL, - _( "Change to Glabel" ), label2glabel_xpm ); + _( "Change to Global label" ), label2glabel_xpm ); ADD_MENUITEM( menu_change_type, ID_POPUP_SCH_CHANGE_TYPE_TEXT_TO_COMMENT, _( "Change to Text" ), label2text_xpm ); + ADD_MENUITEM( menu_change_type, ID_POPUP_SCH_CHANGE_TYPE_TEXT_TO_HLABEL, + _( "Change to Hierarchical Label" ), label2glabel_xpm ); ADD_MENUITEM_WITH_SUBMENU( PopMenu, menu_change_type, ID_POPUP_SCH_CHANGE_TYPE_TEXT, _( "Change Type" ), gl_change_xpm ); } @@ -450,6 +456,8 @@ void AddMenusForText( wxMenu* PopMenu, DrawTextStruct* Text ) // add menu change type text (to label, glabel, text): ADD_MENUITEM( menu_change_type, ID_POPUP_SCH_CHANGE_TYPE_TEXT_TO_LABEL, _( "Change to Label" ), label2text_xpm ); + ADD_MENUITEM( menu_change_type, ID_POPUP_SCH_CHANGE_TYPE_TEXT_TO_HLABEL, + _( "Change to Hierarchical Label" ), label2glabel_xpm ); ADD_MENUITEM( menu_change_type, ID_POPUP_SCH_CHANGE_TYPE_TEXT_TO_GLABEL, _( "Change to Glabel" ), label2glabel_xpm ); ADD_MENUITEM_WITH_SUBMENU( PopMenu, menu_change_type, diff --git a/eeschema/schedit.cpp b/eeschema/schedit.cpp index 015f107d04..af7e81445f 100644 --- a/eeschema/schedit.cpp +++ b/eeschema/schedit.cpp @@ -42,6 +42,7 @@ void WinEDA_SchematicFrame::Process_Special_Functions( wxCommandEvent& event ) case ID_POPUP_SCH_EDIT_TEXT: case ID_POPUP_SCH_CHANGE_TYPE_TEXT_TO_LABEL: case ID_POPUP_SCH_CHANGE_TYPE_TEXT_TO_GLABEL: + case ID_POPUP_SCH_CHANGE_TYPE_TEXT_TO_HLABEL: case ID_POPUP_SCH_CHANGE_TYPE_TEXT_TO_COMMENT: case ID_POPUP_SCH_SET_SHAPE_TEXT: case ID_POPUP_SCH_ROTATE_TEXT: @@ -395,6 +396,12 @@ void WinEDA_SchematicFrame::Process_Special_Functions( wxCommandEvent& event ) &dc, DRAW_GLOBAL_LABEL_STRUCT_TYPE ); break; + case ID_POPUP_SCH_CHANGE_TYPE_TEXT_TO_HLABEL: + DrawPanel->MouseToCursorSchema(); + ConvertTextType( (DrawTextStruct*) GetScreen()->GetCurItem(), + &dc, DRAW_HIER_LABEL_STRUCT_TYPE ); + break; + case ID_POPUP_SCH_CHANGE_TYPE_TEXT_TO_COMMENT: DrawPanel->MouseToCursorSchema(); ConvertTextType( (DrawTextStruct*) GetScreen()->GetCurItem(), @@ -403,7 +410,7 @@ void WinEDA_SchematicFrame::Process_Special_Functions( wxCommandEvent& event ) case ID_POPUP_SCH_SET_SHAPE_TEXT: - // Non utilis� + // Not used break; case ID_POPUP_SCH_ROTATE_FIELD: diff --git a/include/build_version.h b/include/build_version.h index 9e59a15d4b..b1286fa49d 100644 --- a/include/build_version.h +++ b/include/build_version.h @@ -5,7 +5,7 @@ COMMON_GLOBL wxString g_BuildVersion #ifdef EDA_BASE - (wxT("(2008-02-13)")) + (wxT("(2008-02-20)")) #endif ; diff --git a/include/id.h b/include/id.h index 56e1ff1b57..80a6f5a420 100644 --- a/include/id.h +++ b/include/id.h @@ -355,7 +355,7 @@ enum main_id { ID_POPUP_SCH_ADD_JUNCTION, ID_POPUP_SCH_ADD_LABEL, ID_POPUP_SCH_ADD_GLABEL, - ID_POPUP_SCH_UNUSED0, + ID_POPUP_SCH_CHANGE_TYPE_TEXT_TO_HLABEL, ID_POPUP_SCH_UNUSED1, ID_POPUP_SCH_UNUSED2, ID_POPUP_SCH_UNUSED3, diff --git a/internat/fr/kicad.mo b/internat/fr/kicad.mo index c0320082b4..686802efca 100644 Binary files a/internat/fr/kicad.mo and b/internat/fr/kicad.mo differ diff --git a/internat/fr/kicad.po b/internat/fr/kicad.po index 240bc3aa51..eb1e80a068 100644 --- a/internat/fr/kicad.po +++ b/internat/fr/kicad.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: kicad\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2008-02-20 20:29+0100\n" +"PO-Revision-Date: 2008-02-21 07:51+0100\n" "Last-Translator: \n" "Language-Team: kicad team \n" "MIME-Version: 1.0\n" @@ -3633,9 +3633,8 @@ msgid "Apply" msgstr "Appliquer" #: pcbnew/specctra_import.cpp:74 -#, fuzzy msgid "Merge Specctra Session file:" -msgstr "Fichier Specctra DSN" +msgstr "Fichier Specctra Session à Fusionner:" #: pcbnew/specctra_import.cpp:100 msgid "BOARD may be corrupted, do not save it." @@ -3643,17 +3642,17 @@ msgstr "Le PCB peut #: pcbnew/specctra_import.cpp:102 msgid "Fix problem and try again." -msgstr "" +msgstr "Fixer le problème et recommencer." #: pcbnew/specctra_import.cpp:116 msgid "Session file imported and merged OK." -msgstr "" +msgstr "Fichier Session importé et fusionné correctement." #: pcbnew/specctra_import.cpp:182 #: pcbnew/specctra_import.cpp:290 #, c-format msgid "Session file uses invalid layer id \"%s\"" -msgstr "" +msgstr "Le Fichier Session utilise une couche invalide n° \"%s\"" #: pcbnew/specctra_import.cpp:232 msgid "Session via padstack has no shapes" @@ -4434,9 +4433,8 @@ msgid "Last Change" msgstr "Last Change" #: pcbnew/class_module.cpp:1076 -#, fuzzy msgid "Netlist path" -msgstr "Netliste: " +msgstr "Chemin Netliste " #: pcbnew/class_module.cpp:1110 msgid "3D-Shape" @@ -4575,14 +4573,14 @@ msgid "%s not found" msgstr "%s non trouvé" #: pcbnew/cross-probing.cpp:111 -#, fuzzy, c-format +#, c-format msgid "%s pin %s not found" -msgstr " fichier %s non trouvé" +msgstr "%s pin %s non trouvée" #: pcbnew/cross-probing.cpp:113 -#, fuzzy, c-format +#, c-format msgid "%s pin %s found" -msgstr " non trouvé" +msgstr "%s pin %s trouvée" #: pcbnew/specctra_export.cpp:64 msgid "Specctra DSN file:" @@ -4604,7 +4602,7 @@ msgstr "Le composant avec valeur \"%s\" a une r #: pcbnew/specctra_export.cpp:728 #, c-format msgid "Multiple components have identical reference IDs of \"%s\"." -msgstr "" +msgstr "Multiple composants ont une reference identique \"%s\"." #: pcbnew/class_drawsegment.cpp:161 msgid "Shape" @@ -5607,9 +5605,9 @@ msgid "Warning HLabel %s not connected to SheetLabel" msgstr "Attention HLabel %s non connecté a SheetLabel" #: eeschema/erc.cpp:562 -#, fuzzy, c-format +#, c-format msgid "Warning SheetLabel %s not connected to HLabel" -msgstr "Warning SheetLabel %s non connecté a GLabel" +msgstr "Warning SheetLabel %s non connecté a HLabel" #: eeschema/erc.cpp:576 #, c-format @@ -5645,22 +5643,21 @@ msgid "ERC control" msgstr "Controle ERC" #: eeschema/erc.cpp:742 -#, fuzzy msgid "" "\n" "***** Sheet Root\n" msgstr "" "\n" -"***** feuille %d (%s)\n" +"***** Feuillet Racine\n" #: eeschema/erc.cpp:745 -#, fuzzy, c-format +#, c-format msgid "" "\n" "***** Sheet %s\n" msgstr "" "\n" -"***** feuille %d (%s)\n" +"***** Feuille %s\n" #: eeschema/erc.cpp:762 #, c-format @@ -6119,14 +6116,14 @@ msgstr "" "#Cmp ( ordre = Valeur )" #: eeschema/dialog_build_BOM.cpp:1315 -#, fuzzy, c-format +#, c-format msgid "> %-28.28s %s (Sheet %s) pos: %3.3f, %3.3f\n" -msgstr "> %-28.28s Global (feuille %.2d) pos: %3.3f, %3.3f\n" +msgstr "> %-28.28s %s (Feuille %s) pos: %3.3f, %3.3f\n" #: eeschema/dialog_build_BOM.cpp:1335 -#, fuzzy, c-format +#, c-format msgid "> %-28.28s Sheet %-7.7s (Sheet %s) pos: %3.3f, %3.3f\n" -msgstr "> %-28.28s Sheet %-7.7s (feuille %.2d) pos: %3.3f, %3.3f\n" +msgstr "> %-28.28s Sheet %-7.7s (Feuillet %s) pos: %3.3f, %3.3f\n" #: eeschema/dialog_build_BOM.cpp:1349 msgid "#End labels\n" @@ -6834,7 +6831,7 @@ msgstr "Visualisateur des librairies" #: eeschema/sheet.cpp:162 msgid "Filename (will be created upon save if it does not already exist):" -msgstr "" +msgstr "Nom Fichier (sera crée à la sauvegarde si il n'existe pas déjà):" #: eeschema/sheet.cpp:174 msgid "Sheetname:" @@ -7099,26 +7096,22 @@ msgid "Place the bus to bus entry" msgstr "Addition d'entrées de bus (type bus vers bus)" #: eeschema/menubar.cpp:254 -#, fuzzy msgid "No connect flag" -msgstr "Addition de symboles de non connexion" +msgstr "Symbole de Non Connexion" #: eeschema/menubar.cpp:255 #: eeschema/tool_sch.cpp:189 -#, fuzzy msgid "Place the no connect flag" -msgstr "Addition de symboles de non connexion" +msgstr "Placer le symbole de non connexion" #: eeschema/menubar.cpp:264 -#, fuzzy msgid "Net name" -msgstr "NetName" +msgstr "Net Name" #: eeschema/menubar.cpp:265 #: eeschema/tool_sch.cpp:193 -#, fuzzy msgid "Place the net name" -msgstr "Place Feuille" +msgstr "Placer le nom de net" #: eeschema/menubar.cpp:272 msgid "Global label" @@ -7126,7 +7119,7 @@ msgstr "Label Global" #: eeschema/menubar.cpp:273 msgid "Place the global label. Warning: all global labels with the same name are connected in whole hierarchy" -msgstr "" +msgstr "Placerun label global. Attention: tous les labels globaux avec le même nom sont connectés dans toute la hierarchie" #: eeschema/menubar.cpp:282 #: eeschema/eelayer.h:85 @@ -7215,9 +7208,8 @@ msgid "&Edit" msgstr "&Editer" #: eeschema/menubar.cpp:407 -#, fuzzy msgid "&View" -msgstr "&ViewLogic" +msgstr "&Voir" #: eeschema/menubar.cpp:408 msgid "&Place" @@ -10562,7 +10554,6 @@ msgid "SheetLabel (Pin Sheet)" msgstr "Supprimer Connecteur de hiérarchie" #: eeschema/eelayer.h:195 -#, fuzzy msgid "Hierarchical Label" msgstr "Label Hiérarchique"