Commit 9414bf67 authored by CHARRAS's avatar CHARRAS

more work on hotkeys

parent 040e2cbf
...@@ -4,6 +4,17 @@ Started 2007-June-11 ...@@ -4,6 +4,17 @@ Started 2007-June-11
Please add newer entries at the top, list the date and your name with Please add newer entries at the top, list the date and your name with
email address. email address.
2007-aug-20 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
+ eeschema & pcbnew
modify hotkeys.cpp code (large modifications).
Added: common code in hotkeys_basic.cpp (in common) and hotkeys_basic.h (in include)
In the future, i hope hotkeys will be programmed by a config file
+ pcbnew
filename drc_dialog.prj changed to dialog_drc.prj
(according to the fulename dialog_drc.cpp and dialog_drc.h created by dialogblock from the .prj)
2007-Aug-19 UPDATE Dick Hollenbeck <dick@softplc.com> 2007-Aug-19 UPDATE Dick Hollenbeck <dick@softplc.com>
================================================================================ ================================================================================
......
...@@ -29,15 +29,13 @@ wxString HOSTNAME( wxT( "localhost" ) ); ...@@ -29,15 +29,13 @@ wxString HOSTNAME( wxT( "localhost" ) );
// buffers for read and write data in socket connections // buffers for read and write data in socket connections
#define IPC_BUF_SIZE 4096 #define IPC_BUF_SIZE 4096
char client_ipc_buffer[IPC_BUF_SIZE]; static char client_ipc_buffer[IPC_BUF_SIZE];
char server_ipc_buffer[IPC_BUF_SIZE]; static char server_ipc_buffer[IPC_BUF_SIZE];
wxServer* server; static wxServer* server;
void (*RemoteFct)(const char* cmd); void (*RemoteFct)(const char* cmd);
char buffcar[1024];
void SetupServerFunction( void (*remotefct)(const char* remotecmd) ) void SetupServerFunction( void (*remotefct)(const char* remotecmd) )
{ {
RemoteFct = remotefct; RemoteFct = remotefct;
......
/*********************/
/* hotkeys_basic.cpp */
/*********************/
/* Some functions to handle hotkeys in kicad
*/
#include "fctsys.h"
#include "common.h"
#include "hotkeys_basic.h"
/* Class to handle hotkey commnands. hotkeys have a default value
This class allows (for the future..) the real key code changed by user(from a key code list file, TODO)
*/
Ki_HotkeyInfo::Ki_HotkeyInfo(const wxChar * infomsg, int idcommand, int keycode)
{
m_KeyCode = keycode; // Key code (ascii value for ascii keys or wxWidgets code for function key
m_InfoMsg = infomsg; // info message.
m_Idcommand = idcommand; // internal id for the corresponding command (see hotkey_id_commnand list)
}
/****************************************************/
wxString ReturnKeyNameFromKeyCode(int keycode)
/****************************************************/
/*
* return the key name from the key code
* Only some wxWidgets key values are handled for function key
* @param key = key code (ascii value, or wxWidgets value for function keys)
* @return the key name in a wxString
*/
{
wxString keyname, modifier, fullkeyname;
if ( (keycode & GR_KB_CTRL) != 0 ) modifier << wxT("Ctrl ");
if ( (keycode & GR_KB_ALT) != 0 ) modifier << wxT("Alt ");
if ( (keycode & GR_KB_SHIFT) != 0 ) modifier << wxT("Shift ");
switch ( keycode)
{
default:
keycode &= ~(GR_KB_CTRL|GR_KB_ALT|GR_KB_SHIFT);
keyname.Printf(wxT("%c"), keycode);
break;
case WXK_ESCAPE:
keyname = wxT("Esc");
break;
case WXK_F1:
case WXK_F2:
case WXK_F3:
case WXK_F4:
case WXK_F5:
case WXK_F6:
case WXK_F7:
case WXK_F8:
case WXK_F9:
case WXK_F10:
case WXK_F11:
case WXK_F12:
keyname.Printf(wxT("F%d"), keycode - WXK_F1 + 1);
break;
case ' ':
keyname = wxT("space");
break;
case '\t':
keyname = wxT("Tab");
break;
case WXK_DELETE:
keyname = wxT("Delete");
break;
case WXK_BACK:
keyname = wxT("Backspace");
break;
case WXK_INSERT:
keyname = wxT("Insert");
break;
case WXK_END:
keyname = wxT("End");
break;
case WXK_PAGEUP:
keyname = wxT("Page Up");
break;
case WXK_PAGEDOWN:
keyname = wxT("Page Down");
break;
case WXK_ADD:
keyname = wxT("+");
break;
case WXK_SUBTRACT:
keyname = wxT("-");
break;
}
fullkeyname = modifier + keyname;
return fullkeyname;
}
/****************************************************************************/
void DisplayHotkeyList(WinEDA_DrawFrame * frame, Ki_HotkeyInfo ** List)
/*****************************************************************************/
/*
* Displays the current hotkey list
* @param frame = current open frame
* @param List = pointer to a Ki_HotkeyInfo list of commands
* @return none
*/
{
wxString keyname;
wxString msg = _("Current hotkey list:\n\n");
for ( ; * List != NULL; List++ )
{
Ki_HotkeyInfo * hk_decr = * List;
if ( hk_decr->m_InfoMsg.IsEmpty() ) break;
msg += _("key ");
keyname = ReturnKeyNameFromKeyCode(hk_decr->m_KeyCode);
msg += keyname + wxT(": ") + hk_decr->m_InfoMsg + wxT("\n");
}
DisplayInfo(frame, msg);
}
/******************************************************************/
int GetCommandCodeFromHotkey(int key, Ki_HotkeyInfo ** List)
/******************************************************************/
/*
* Return an id identifier fron a key code for OnHotKey() function
* @param key = key code (ascii value, or wxWidgets value for function keys
* @param List = pointer to a Ki_HotkeyInfo list of commands
* @return the corresponding function identifier from the Ki_HotkeyInfo List
*/
{
for ( ; * List != NULL; List++ )
{
Ki_HotkeyInfo * hk_decr = * List;
if ( hk_decr->m_KeyCode == key ) return hk_decr->m_Idcommand;
}
return 0;
}
...@@ -12,6 +12,7 @@ OBJECTS= \ ...@@ -12,6 +12,7 @@ OBJECTS= \
common_plot_functions.o\ common_plot_functions.o\
common_plotPS_functions.o\ common_plotPS_functions.o\
common_plotHPGL_functions.o\ common_plotHPGL_functions.o\
hotkeys_basic.o\
drawtxt.o \ drawtxt.o \
wxwineda.o \ wxwineda.o \
string.o \ string.o \
...@@ -43,6 +44,8 @@ gr_basic.o: gr_basic.cpp ../include/gr_basic.h $(DEPEND) ...@@ -43,6 +44,8 @@ gr_basic.o: gr_basic.cpp ../include/gr_basic.h $(DEPEND)
confirm.o: confirm.cpp $(COMMON) confirm.o: confirm.cpp $(COMMON)
hotkeys_basic.o: hotkeys_basic.cpp ../include/hotkeys_basic.h $(COMMON)
worksheet.o: worksheet.cpp ../include/worksheet.h $(COMMON) worksheet.o: worksheet.cpp ../include/worksheet.h $(COMMON)
selcolor.o: selcolor.cpp ../include/colors.h $(COMMON) selcolor.o: selcolor.cpp ../include/colors.h $(COMMON)
......
...@@ -3,8 +3,8 @@ ...@@ -3,8 +3,8 @@
/****************************************************************/ /****************************************************************/
/* /*
* Search a text (text, value, reference) withing e composent or * Search a text (text, value, reference) within a component or
* search a composant in libraries, a marker ..., * search a component in libraries, a marker ...,
* in current sheet or whole the project * in current sheet or whole the project
*/ */
#include "fctsys.h" #include "fctsys.h"
...@@ -40,7 +40,7 @@ void InstallFindFrame( WinEDA_SchematicFrame* parent, wxPoint& pos ) ...@@ -40,7 +40,7 @@ void InstallFindFrame( WinEDA_SchematicFrame* parent, wxPoint& pos )
void WinEDA_FindFrame::FindMarker( wxCommandEvent& event ) void WinEDA_FindFrame::FindMarker( wxCommandEvent& event )
/**************************************************************/ /**************************************************************/
/* Search de markers in whole the hierarchy. /* Search markers in whole hierarchy.
* Mouse cursor is put on the marker * Mouse cursor is put on the marker
* search the first marker, or next marker * search the first marker, or next marker
*/ */
...@@ -144,7 +144,7 @@ EDA_BaseStruct* WinEDA_SchematicFrame::FindMarker( int SearchType ) ...@@ -144,7 +144,7 @@ EDA_BaseStruct* WinEDA_SchematicFrame::FindMarker( int SearchType )
curpos.x -= m_CurrentScreen->m_StartVisu.x; curpos.x -= m_CurrentScreen->m_StartVisu.x;
curpos.y -= m_CurrentScreen->m_StartVisu.y; curpos.y -= m_CurrentScreen->m_StartVisu.y;
/* Il y a peut-etre necessite de recadrer le dessin: */ // reposition the window if the chosen marker is off screen.
if( (curpos.x <= 0) || (curpos.x >= size.x - 1) if( (curpos.x <= 0) || (curpos.x >= size.x - 1)
|| (curpos.y <= 0) || (curpos.y >= size.y) || force_recadre ) || (curpos.y <= 0) || (curpos.y >= size.y) || force_recadre )
{ {
...@@ -289,9 +289,9 @@ EDA_BaseStruct* WinEDA_SchematicFrame::FindSchematicItem( ...@@ -289,9 +289,9 @@ EDA_BaseStruct* WinEDA_SchematicFrame::FindSchematicItem(
break; break;
} }
if( NotFound == FALSE ) /* Element trouve */ if( NotFound == FALSE ) /* Item found ! */
{ {
if( FirstScreen == NULL ) /* 1er element trouve */ if( FirstScreen == NULL ) /* First Item found */
{ {
FirstScreen = Screen; FirstScreen = Screen;
firstpos = pos; firstpos = pos;
...@@ -340,9 +340,9 @@ EDA_BaseStruct* WinEDA_SchematicFrame::FindSchematicItem( ...@@ -340,9 +340,9 @@ EDA_BaseStruct* WinEDA_SchematicFrame::FindSchematicItem(
force_recadre = TRUE; force_recadre = TRUE;
} }
/* Si la struct localisee est du type DRAW_LIB_ITEM_STRUCT_TYPE, /* If the struct found is a DRAW_LIB_ITEM_STRUCT_TYPE type,
* Les coordonnes sont a recalculer en fonction de la matrice * coordinates must be computed according to its orientation matrix
* d'orientation */ */
if( Struct->m_StructType == DRAW_LIB_ITEM_STRUCT_TYPE ) if( Struct->m_StructType == DRAW_LIB_ITEM_STRUCT_TYPE )
{ {
EDA_SchComponentStruct* pSch = (EDA_SchComponentStruct*) Struct; EDA_SchComponentStruct* pSch = (EDA_SchComponentStruct*) Struct;
......
/***************/ /***************/
/* hotkeys.cpp */ /* hotkeys.cpp */
/***************/ /***************/
#include "fctsys.h" #include "fctsys.h"
...@@ -13,477 +13,314 @@ ...@@ -13,477 +13,314 @@
#include "id.h" #include "id.h"
#include "hotkeys_basic.h"
#include "protos.h" #include "protos.h"
enum hotkey_id_commnand { enum hotkey_id_commnand {
HK_NOT_FOUND = 0, HK_NOT_FOUND = 0,
HK_RESET_LOCAL_COORD, HK_RESET_LOCAL_COORD,
HK_HELP, HK_HELP,
HK_ZOOM_IN, HK_ZOOM_IN,
HK_ZOOM_OUT, HK_ZOOM_OUT,
HK_ZOOM_REDRAW, HK_ZOOM_REDRAW,
HK_ZOOM_CENTER, HK_ZOOM_CENTER,
HK_NEXT_SEARCH, HK_NEXT_SEARCH,
HK_DELETE, HK_DELETE,
HK_REPEAT_LAST, HK_REPEAT_LAST,
HK_MOVEBLOCK_TO_DRAGBLOCK, HK_MOVEBLOCK_TO_DRAGBLOCK,
HK_ROTATE_COMPONENT, HK_ROTATE_COMPONENT,
HK_MIRROR_X_COMPONENT, HK_MIRROR_X_COMPONENT,
HK_MIRROR_Y_COMPONENT, HK_MIRROR_Y_COMPONENT,
HK_ORIENT_NORMAL_COMPONENT, HK_ORIENT_NORMAL_COMPONENT,
HK_MOVE_COMPONENT, HK_MOVE_COMPONENT,
HK_ADD_NEW_COMPONENT, HK_ADD_NEW_COMPONENT,
HK_BEGIN_WIRE HK_BEGIN_WIRE
}; };
/* Class to handle hotkey commnands. hotkeys have a default value
* This class allows (for the future..) the real key code changed by user(from a key code list file, TODO)
*/
class Ki_HotkeyInfo
{
public:
int m_KeyCode; // Key code (ascii value for ascii keys or wxWidgets code for function key
wxString m_InfoMsg; // info message.
hotkey_id_commnand m_Idcommand; // internal id for the corresponding command (see hotkey_id_commnand list)
public:
Ki_HotkeyInfo( const wxChar* infomsg, hotkey_id_commnand idcommand, int keycode );
};
Ki_HotkeyInfo::Ki_HotkeyInfo( const wxChar* infomsg, hotkey_id_commnand idcommand, int keycode )
{
m_KeyCode = keycode; // Key code (ascii value for ascii keys or wxWidgets code for function key
m_InfoMsg = infomsg; // info message.
m_Idcommand = idcommand; // internal id for the corresponding command (see hotkey_id_commnand list)
}
/* local variables */ /* local variables */
/* Hotkey list: */ /* Hotkey list: */
static Ki_HotkeyInfo HkBeginWire( wxT( "begin Wire" ), HK_BEGIN_WIRE, 'W' ); static Ki_HotkeyInfo HkBeginWire(wxT("begin Wire"), HK_BEGIN_WIRE, 'W');
static Ki_HotkeyInfo HkAddComponent( wxT( "Add Component" ), HK_ADD_NEW_COMPONENT, 'A' ); static Ki_HotkeyInfo HkAddComponent(wxT("Add Component"), HK_ADD_NEW_COMPONENT, 'A');
static Ki_HotkeyInfo HkMirrorYComponent( wxT( "Mirror Y Component" ), HK_MIRROR_Y_COMPONENT, static Ki_HotkeyInfo HkMirrorYComponent(wxT("Mirror Y Component"), HK_MIRROR_Y_COMPONENT, 'Y');
'Y' ); static Ki_HotkeyInfo HkMirrorXComponent(wxT("Mirror X Component"), HK_MIRROR_X_COMPONENT, 'X');
static Ki_HotkeyInfo HkMirrorXComponent( wxT( "Mirror X Component" ), HK_MIRROR_X_COMPONENT, static Ki_HotkeyInfo HkOrientNormalComponent(wxT("Orient Normal Component"), HK_ORIENT_NORMAL_COMPONENT, 'N');
'X' ); static Ki_HotkeyInfo HkRotateComponent(wxT("Rotate Component"), HK_ROTATE_COMPONENT, 'R');
static Ki_HotkeyInfo HkOrientNormalComponent( wxT( "Orient Normal Component" ), static Ki_HotkeyInfo HkMoveComponent(wxT("Move Component"), HK_MOVE_COMPONENT, 'M');
HK_ORIENT_NORMAL_COMPONENT, 'N' ); static Ki_HotkeyInfo HkMove2Drag(wxT("Switch move block to drag block"), HK_MOVEBLOCK_TO_DRAGBLOCK, '\t');
static Ki_HotkeyInfo HkRotateComponent( wxT( "Rotate Component" ), HK_ROTATE_COMPONENT, 'R' ); static Ki_HotkeyInfo HkInsert(wxT("Repeat Last Item"), HK_REPEAT_LAST, WXK_INSERT);
static Ki_HotkeyInfo HkMoveComponent( wxT( "Move Component" ), HK_MOVE_COMPONENT, 'M' ); static Ki_HotkeyInfo HkDelete(wxT("Delete Item"), HK_DELETE, WXK_DELETE);
static Ki_HotkeyInfo HkMove2Drag( wxT( "Switch move block to drag block" ), static Ki_HotkeyInfo HkResetLocalCoord(wxT("Reset local coord."), HK_RESET_LOCAL_COORD, ' ');
HK_MOVEBLOCK_TO_DRAGBLOCK, '\t' ); static Ki_HotkeyInfo HkNextSearch(wxT("Next Search"), HK_NEXT_SEARCH, WXK_F5);
static Ki_HotkeyInfo HkInsert( wxT( "Repeat Last Item" ), HK_REPEAT_LAST, WXK_INSERT ); static Ki_HotkeyInfo HkZoomCenter(wxT("Zoom Center"), HK_ZOOM_CENTER, WXK_F4);
static Ki_HotkeyInfo HkDelete( wxT( "Delete Item" ), HK_DELETE, WXK_DELETE ); static Ki_HotkeyInfo HkZoomRedraw(wxT("Zoom Redraw"), HK_ZOOM_REDRAW, WXK_F3);
static Ki_HotkeyInfo HkResetLocalCoord( wxT( "Reset local coord." ), HK_RESET_LOCAL_COORD, ' ' ); static Ki_HotkeyInfo HkZoomOut(wxT("Zoom Out"), HK_ZOOM_OUT, WXK_F2);
static Ki_HotkeyInfo HkNextSearch( wxT( "Next Search" ), HK_NEXT_SEARCH, WXK_F5 ); static Ki_HotkeyInfo HkZoomIn(wxT("Zoom In"), HK_ZOOM_IN, WXK_F1);
static Ki_HotkeyInfo HkZoomCenter( wxT( "Zoom Center" ), HK_ZOOM_CENTER, WXK_F4 ); static Ki_HotkeyInfo HkHelp(wxT("Help: this message"), HK_HELP, '?');
static Ki_HotkeyInfo HkZoomRedraw( wxT( "Zoom Redraw" ), HK_ZOOM_REDRAW, WXK_F3 );
static Ki_HotkeyInfo HkZoomOut( wxT( "Zoom Out" ), HK_ZOOM_OUT, WXK_F2 );
static Ki_HotkeyInfo HkZoomIn( wxT( "Zoom In" ), HK_ZOOM_IN, WXK_F1 );
static Ki_HotkeyInfo HkHelp( wxT( "Help: this message" ), HK_HELP, '?' );
// List of hotkey descriptors for schematic // List of hotkey descriptors for schematic
static Ki_HotkeyInfo* s_Schematic_Hotkey_List[] = { static Ki_HotkeyInfo *s_Schematic_Hotkey_List[] = {
&HkHelp, &HkHelp,
&HkZoomIn, &HkZoomOut, &HkZoomRedraw, &HkZoomCenter, &HkZoomIn, &HkZoomOut, &HkZoomRedraw, &HkZoomCenter,
&HkNextSearch, &HkResetLocalCoord, &HkNextSearch, &HkResetLocalCoord,
&HkDelete, &HkInsert, &HkMove2Drag, &HkDelete, &HkInsert, &HkMove2Drag,
&HkMoveComponent, &HkAddComponent, &HkMoveComponent, &HkAddComponent,
&HkRotateComponent, &HkMirrorXComponent, &HkMirrorYComponent, &HkOrientNormalComponent, &HkRotateComponent, &HkMirrorXComponent, &HkMirrorYComponent, & HkOrientNormalComponent,
&HkBeginWire, &HkBeginWire,
NULL NULL
}; };
// Library editor: // Library editor:
static Ki_HotkeyInfo HkInsertPin( wxT( "Repeat Pin" ), HK_REPEAT_LAST, WXK_INSERT ); static Ki_HotkeyInfo HkInsertPin(wxT("Repeat Pin"), HK_REPEAT_LAST, WXK_INSERT);
// List of hotkey descriptors for libray editor // List of hotkey descriptors for libray editor
static Ki_HotkeyInfo* s_LibEdit_Hotkey_List[] = static Ki_HotkeyInfo *s_LibEdit_Hotkey_List[] =
{ {
&HkHelp, &HkHelp,
&HkZoomIn, &HkZoomOut, &HkZoomRedraw, &HkZoomCenter, &HkZoomIn, &HkZoomOut, &HkZoomRedraw, &HkZoomCenter,
&HkResetLocalCoord, &HkResetLocalCoord,
&HkInsertPin, &HkInsertPin,
NULL NULL
}; };
/****************************************************/
static wxString ReturnKeyNameFromKeyCode( int keycode )
/****************************************************/
/*
* return the key name from the key code
* Only some wxWidgets key values are handled for function key
* @param key = key code (ascii value, or wxWidgets value for function keys)
* @return the key name wxString
*/
{
wxString keyname, modifier, fullkeyname;
if( keycode & GR_KB_CTRL )
modifier << wxT( "Ctrl " );
if( keycode & GR_KB_ALT )
modifier << wxT( "Alt " );
if( keycode & GR_KB_SHIFT )
modifier << wxT( "Shift " );
keycode &= ~(GR_KB_CTRL | GR_KB_ALT | GR_KB_SHIFT);
switch( keycode )
{
default:
keyname.Printf( wxT( "%c" ), keycode );
break;
case WXK_F1:
case WXK_F2:
case WXK_F3:
case WXK_F4:
case WXK_F5:
case WXK_F6:
case WXK_F7:
case WXK_F8:
case WXK_F9:
case WXK_F10:
case WXK_F11:
case WXK_F12:
keyname.Printf( wxT( "F%d" ), keycode - WXK_F1 + 1 );
break;
case ' ':
keyname = wxT( "space" );
break;
case '\t':
keyname = wxT( "Tab" );
break;
case WXK_DELETE:
keyname = wxT( "Delete" );
break;
case WXK_INSERT:
keyname = wxT( "Insert" );
break;
}
fullkeyname = modifier + keyname;
return keyname;
}
/****************************************************************************/
static void DisplayHotkeyList( WinEDA_DrawFrame* frame, Ki_HotkeyInfo** List )
/*****************************************************************************/
/*
* Displays the current hotkey list
* @param frame = current open frame
* @param List = pointer to a Ki_HotkeyInfo list of commands
* @return none
*/
{
wxString keyname;
wxString msg = _( "Current hotkey list:\n\n" );
for( ; *List != NULL; List++ )
{
Ki_HotkeyInfo* hk_decr = *List;
if( hk_decr->m_InfoMsg.IsEmpty() )
break;
msg += _( "key " );
keyname = ReturnKeyNameFromKeyCode( hk_decr->m_KeyCode );
msg += keyname + wxT( ": " ) + hk_decr->m_InfoMsg + wxT( "\n" );
}
DisplayInfo( frame, msg );
}
/******************************************************************/
static int GetCommandCodeFromHotkey( int key, Ki_HotkeyInfo** List )
/******************************************************************/
/*
* Return an id identifier fron a key code for OnHotKey() function
* @param key = key code (ascii value, or wxWidgets value for function keys
* @param List = pointer to a Ki_HotkeyInfo list of commands
* @return the corresponding function identifier from the Ki_HotkeyInfo List
*/
{
for( ; *List != NULL; List++ )
{
Ki_HotkeyInfo* hk_decr = *List;
if( hk_decr->m_KeyCode == key )
return hk_decr->m_Idcommand;
}
return HK_NOT_FOUND;
}
/***********************************************************/ /***********************************************************/
void WinEDA_SchematicFrame::OnHotKey( wxDC* DC, int hotkey, void WinEDA_SchematicFrame::OnHotKey(wxDC * DC, int hotkey,
EDA_BaseStruct* DrawStruct ) EDA_BaseStruct * DrawStruct)
/***********************************************************/ /***********************************************************/
/* Hot keys. Some commands are relatives to the item under the mouse cursor /* Hot keys. Some commands are relatives to the item under the mouse cursor
* Commands are case insensitive Commands are case insensitive
* Zoom commands are not managed here Zoom commands are not managed here
*/ */
{ {
bool PopupOn = m_CurrentScreen->GetCurItem() bool PopupOn = m_CurrentScreen->GetCurItem() &&
&& m_CurrentScreen->GetCurItem()->m_Flags; m_CurrentScreen->GetCurItem()->m_Flags;
bool RefreshToolBar = FALSE; // We must refresh tool bar when the undo/redo tool state is modified bool RefreshToolBar = FALSE; // We must refresh tool bar when the undo/redo tool state is modified
if( hotkey == 0 ) if ( hotkey == 0 ) return;
return;
wxPoint MousePos = m_CurrentScreen->m_MousePosition;
wxPoint MousePos = m_CurrentScreen->m_MousePosition;
// Remap the control key Ctrl A (0x01) to GR_KB_CTRL + 'A' (easier to handle...)
/* Convert lower to upper case (the usual toupper function has problem with non ascii codes like function keys */ if ( (hotkey & GR_KB_CTRL) != 0 ) hotkey += 'A' - 1;
if( (hotkey >= 'a') && (hotkey <= 'z') ) /* Convert lower to upper case (the usual toupper function has problem with non ascii codes like function keys */
hotkey += 'A' - 'a'; if( (hotkey >= 'a') && (hotkey <= 'z') ) hotkey += 'A' - 'a';
// Search commnd from key : // Search command from key :
switch( GetCommandCodeFromHotkey( hotkey, s_Schematic_Hotkey_List ) ) int CommandCode = GetCommandCodeFromHotkey(hotkey, s_Schematic_Hotkey_List);
{ switch( CommandCode )
default: {
case HK_NOT_FOUND: default:
return; case HK_NOT_FOUND:
break; return;
break;
case HK_HELP: // Display Current hotkey list
DisplayHotkeyList( this, s_Schematic_Hotkey_List ); case HK_HELP: // Display Current hotkey list
break; DisplayHotkeyList(this, s_Schematic_Hotkey_List);
break;
case HK_ZOOM_IN:
case HK_ZOOM_OUT: case HK_ZOOM_IN:
case HK_ZOOM_REDRAW: case HK_ZOOM_OUT:
case HK_ZOOM_CENTER: case HK_ZOOM_REDRAW:
case HK_RESET_LOCAL_COORD: case HK_ZOOM_CENTER:
break; case HK_RESET_LOCAL_COORD:
break;
case HK_MOVEBLOCK_TO_DRAGBLOCK: // Switch to drag mode, when block moving
HandleBlockEndByPopUp( BLOCK_DRAG, DC ); case HK_MOVEBLOCK_TO_DRAGBLOCK: // Switch to drag mode, when block moving
break; HandleBlockEndByPopUp(BLOCK_DRAG, DC);
break;
case HK_DELETE:
if( PopupOn ) case HK_DELETE:
break; if ( PopupOn ) break;
RefreshToolBar = LocateAndDeleteItem( this, DC ); RefreshToolBar = LocateAndDeleteItem(this, DC);
m_CurrentScreen->SetModify(); m_CurrentScreen->SetModify();
m_CurrentScreen->SetCurItem( NULL ); m_CurrentScreen->SetCurItem( NULL);
TestDanglingEnds( m_CurrentScreen->EEDrawList, DC ); TestDanglingEnds(m_CurrentScreen->EEDrawList, DC);
break; break;
case HK_REPEAT_LAST: case HK_REPEAT_LAST:
if( g_ItemToRepeat && (g_ItemToRepeat->m_Flags == 0) ) if ( g_ItemToRepeat && (g_ItemToRepeat->m_Flags == 0) )
{ {
RepeatDrawItem( DC ); RepeatDrawItem(DC);
} }
else else wxBell();
wxBell(); break;
break;
case HK_NEXT_SEARCH :
case HK_NEXT_SEARCH: if ( g_LastSearchIsMarker ) WinEDA_SchematicFrame::FindMarker(1);
if( g_LastSearchIsMarker ) else FindSchematicItem(wxEmptyString, 2);
WinEDA_SchematicFrame::FindMarker( 1 ); break;
else
FindSchematicItem( wxEmptyString, 2 ); case HK_ADD_NEW_COMPONENT: // Add component
break; if ( DrawStruct && DrawStruct->m_Flags ) break;
// switch to m_ID_current_state = ID_COMPONENT_BUTT;
case HK_ADD_NEW_COMPONENT: // Add component if ( m_ID_current_state != ID_COMPONENT_BUTT ) SetToolID( ID_COMPONENT_BUTT, wxCURSOR_PENCIL, _("Add Component"));
if( DrawStruct && DrawStruct->m_Flags ) OnLeftClick(DC, MousePos);
break; break;
// switch to m_ID_current_state = ID_COMPONENT_BUTT; case HK_BEGIN_WIRE: // Add wire
if( m_ID_current_state != ID_COMPONENT_BUTT ) if ( DrawStruct ) // An item is selected. If edited and not a wire, a new command is not possible
SetToolID( ID_COMPONENT_BUTT, wxCURSOR_PENCIL, _( "Add Component" ) ); {
OnLeftClick( DC, MousePos ); if ( DrawStruct->m_Flags ) // Item selected and edition in progress
break; {
if (DrawStruct->m_StructType == DRAW_SEGMENT_STRUCT_TYPE )
case HK_BEGIN_WIRE: // Add wire {
if( DrawStruct ) // An item is selected. If edited and not a wire, a new command is not possible EDA_DrawLineStruct * segment = (EDA_DrawLineStruct *)DrawStruct;
{ if ( segment->m_Layer != LAYER_WIRE ) break;
if( DrawStruct->m_Flags ) // Item selected and edition in progress }
{ else break;
if( DrawStruct->m_StructType == DRAW_SEGMENT_STRUCT_TYPE ) }
{ }
EDA_DrawLineStruct* segment = (EDA_DrawLineStruct*) DrawStruct; // switch to m_ID_current_state = ID_WIRE_BUTT;
if( segment->m_Layer != LAYER_WIRE ) if ( m_ID_current_state != ID_WIRE_BUTT ) SetToolID( ID_WIRE_BUTT, wxCURSOR_PENCIL, _("Add Wire"));
break; OnLeftClick(DC, MousePos);
}
else
break;
}
}
// switch to m_ID_current_state = ID_WIRE_BUTT;
if( m_ID_current_state != ID_WIRE_BUTT )
SetToolID( ID_WIRE_BUTT, wxCURSOR_PENCIL, _( "Add Wire" ) );
OnLeftClick( DC, MousePos );
break;
case HK_ROTATE_COMPONENT: // Component Rotation
if( DrawStruct == NULL )
{
DrawStruct = PickStruct( GetScreen()->m_Curseur,
GetScreen()->EEDrawList, LIBITEM | TEXTITEM | LABELITEM );
if( DrawStruct == NULL )
break;
if( DrawStruct->m_StructType == DRAW_LIB_ITEM_STRUCT_TYPE )
DrawStruct = LocateSmallestComponent( GetScreen() );
if( DrawStruct == NULL )
break;
}
switch( DrawStruct->m_StructType )
{
case DRAW_LIB_ITEM_STRUCT_TYPE:
if( DrawStruct->m_Flags == 0 )
{
SaveCopyInUndoList( DrawStruct, IS_CHANGED );
RefreshToolBar = TRUE;
}
CmpRotationMiroir(
(EDA_SchComponentStruct*) DrawStruct, DC, CMP_ROTATE_COUNTERCLOCKWISE );
break; break;
case DRAW_TEXT_STRUCT_TYPE: case HK_ROTATE_COMPONENT: // Component Rotation
case DRAW_LABEL_STRUCT_TYPE: if ( DrawStruct == NULL )
case DRAW_GLOBAL_LABEL_STRUCT_TYPE: {
if( DrawStruct->m_Flags == 0 ) DrawStruct = PickStruct( GetScreen()->m_Curseur,
{ GetScreen()->EEDrawList, LIBITEM|TEXTITEM|LABELITEM );
SaveCopyInUndoList( DrawStruct, IS_CHANGED ); if ( DrawStruct == NULL ) break;
RefreshToolBar = TRUE; if ( DrawStruct->m_StructType == DRAW_LIB_ITEM_STRUCT_TYPE )
} DrawStruct = LocateSmallestComponent( GetScreen() );
ChangeTextOrient( (DrawTextStruct*) DrawStruct, DC ); if ( DrawStruct == NULL ) break;
break; }
} switch (DrawStruct->m_StructType)
{
break; case DRAW_LIB_ITEM_STRUCT_TYPE:
if ( DrawStruct->m_Flags == 0 )
case HK_MIRROR_Y_COMPONENT: // Mirror Y (Component) {
if( DrawStruct == NULL ) SaveCopyInUndoList(DrawStruct, IS_CHANGED);
DrawStruct = LocateSmallestComponent( GetScreen() ); RefreshToolBar = TRUE;
if( DrawStruct ) }
{
if( DrawStruct->m_Flags == 0 ) CmpRotationMiroir(
{ (EDA_SchComponentStruct *) DrawStruct, DC, CMP_ROTATE_COUNTERCLOCKWISE );
SaveCopyInUndoList( DrawStruct, IS_CHANGED ); break;
RefreshToolBar = TRUE;
} case DRAW_TEXT_STRUCT_TYPE:
CmpRotationMiroir( case DRAW_LABEL_STRUCT_TYPE:
(EDA_SchComponentStruct*) DrawStruct, DC, CMP_MIROIR_Y ); case DRAW_GLOBAL_LABEL_STRUCT_TYPE:
} if ( DrawStruct->m_Flags == 0 )
break; {
SaveCopyInUndoList(DrawStruct, IS_CHANGED);
case HK_MIRROR_X_COMPONENT: // Mirror X (Component) RefreshToolBar = TRUE;
if( DrawStruct == NULL ) }
DrawStruct = LocateSmallestComponent( GetScreen() ); ChangeTextOrient( (DrawTextStruct*)DrawStruct, DC);
if( DrawStruct ) break;
{ }
if( DrawStruct->m_Flags == 0 ) break;
{
SaveCopyInUndoList( DrawStruct, IS_CHANGED ); case HK_MIRROR_Y_COMPONENT: // Mirror Y (Component)
RefreshToolBar = TRUE; if ( DrawStruct == NULL )
} DrawStruct = LocateSmallestComponent( GetScreen() );
CmpRotationMiroir( if ( DrawStruct )
(EDA_SchComponentStruct*) DrawStruct, DC, CMP_MIROIR_X ); {
} if ( DrawStruct->m_Flags == 0 )
break; {
SaveCopyInUndoList(DrawStruct, IS_CHANGED);
case HK_ORIENT_NORMAL_COMPONENT: // Orient 0, no mirror (Component) RefreshToolBar = TRUE;
if( DrawStruct == NULL ) }
DrawStruct = LocateSmallestComponent( GetScreen() ); CmpRotationMiroir(
if( DrawStruct ) (EDA_SchComponentStruct *) DrawStruct, DC, CMP_MIROIR_Y );
{ }
if( DrawStruct->m_Flags == 0 ) break;
{
SaveCopyInUndoList( DrawStruct, IS_CHANGED ); case HK_MIRROR_X_COMPONENT: // Mirror X (Component)
RefreshToolBar = TRUE; if ( DrawStruct == NULL )
} DrawStruct = LocateSmallestComponent( GetScreen() );
CmpRotationMiroir( if ( DrawStruct )
(EDA_SchComponentStruct*) DrawStruct, DC, CMP_NORMAL ); {
TestDanglingEnds( m_CurrentScreen->EEDrawList, DC ); if ( DrawStruct->m_Flags == 0 )
} {
break; SaveCopyInUndoList(DrawStruct, IS_CHANGED);
RefreshToolBar = TRUE;
case HK_MOVE_COMPONENT: // Start move Component }
if( PopupOn ) CmpRotationMiroir(
break; (EDA_SchComponentStruct *) DrawStruct, DC, CMP_MIROIR_X );
if( DrawStruct == NULL ) }
DrawStruct = LocateSmallestComponent( GetScreen() ); break;
if( DrawStruct && (DrawStruct->m_Flags ==0) )
{ case HK_ORIENT_NORMAL_COMPONENT: // Orient 0, no mirror (Component)
m_CurrentScreen->SetCurItem( DrawStruct ); if ( DrawStruct == NULL )
Process_Move_Item( m_CurrentScreen->GetCurItem(), DC ); DrawStruct = LocateSmallestComponent( GetScreen() );
} if ( DrawStruct )
break; {
} if ( DrawStruct->m_Flags == 0 )
{
if( RefreshToolBar ) SaveCopyInUndoList(DrawStruct, IS_CHANGED);
SetToolbars(); RefreshToolBar = TRUE;
}
CmpRotationMiroir(
(EDA_SchComponentStruct *) DrawStruct, DC, CMP_NORMAL );
TestDanglingEnds(m_CurrentScreen->EEDrawList, DC);
}
break;
case HK_MOVE_COMPONENT: // Start move Component
if ( PopupOn ) break;
if ( DrawStruct == NULL )
DrawStruct = LocateSmallestComponent( GetScreen() );
if ( DrawStruct && (DrawStruct->m_Flags ==0) )
{
m_CurrentScreen->SetCurItem(DrawStruct);
Process_Move_Item(m_CurrentScreen->GetCurItem(), DC);
}
break;
}
if ( RefreshToolBar ) SetToolbars();
} }
/***********************************************************/ /***********************************************************/
void WinEDA_LibeditFrame::OnHotKey( wxDC* DC, int hotkey, void WinEDA_LibeditFrame::OnHotKey(wxDC * DC, int hotkey,
EDA_BaseStruct* DrawStruct ) EDA_BaseStruct * DrawStruct)
/***********************************************************/ /***********************************************************/
/* Hot keys for the component editot. Some commands are relatives to the item under the mouse cursor /* Hot keys for the component editot. Some commands are relatives to the item under the mouse cursor
* Commands are case insensitive Commands are case insensitive
* Zoom commands are not managed here Zoom commands are not managed here
*/ */
{ {
bool PopupOn = m_CurrentScreen->GetCurItem() bool RefreshToolBar = FALSE; // We must refresh tool bar when the undo/redo tool state is modified
&& m_CurrentScreen->GetCurItem()->m_Flags;
if ( hotkey == 0 ) return;
bool RefreshToolBar = FALSE; // We must refresh tool bar when the undo/redo tool state is modified
wxPoint MousePos = m_CurrentScreen->m_MousePosition;
if( hotkey == 0 )
return; /* Convert lower to upper case (the usual toupper function has problem with non ascii codes like function keys */
if( (hotkey >= 'a') && (hotkey <= 'z') ) hotkey += 'A' - 'a';
wxPoint MousePos = m_CurrentScreen->m_MousePosition; int CommandCode = GetCommandCodeFromHotkey(hotkey, s_LibEdit_Hotkey_List);
switch( CommandCode )
/* Convert lower to upper case (the usual toupper function has problem with non ascii codes like function keys */ {
if( (hotkey >= 'a') && (hotkey <= 'z') ) default:
hotkey += 'A' - 'a'; case HK_NOT_FOUND:
return;
switch( GetCommandCodeFromHotkey( hotkey, s_LibEdit_Hotkey_List ) ) break;
{
default: case HK_HELP: // Display Current hotkey list
case HK_NOT_FOUND: DisplayHotkeyList(this, s_LibEdit_Hotkey_List);
return; break;
break;
case HK_ZOOM_IN:
case HK_HELP: // Display Current hotkey list case HK_ZOOM_OUT:
DisplayHotkeyList( this, s_LibEdit_Hotkey_List ); case HK_ZOOM_REDRAW:
break; case HK_ZOOM_CENTER:
case HK_RESET_LOCAL_COORD:
case HK_ZOOM_IN: break;
case HK_ZOOM_OUT:
case HK_ZOOM_REDRAW: case HK_REPEAT_LAST:
case HK_ZOOM_CENTER: if ( LibItemToRepeat && (LibItemToRepeat->m_Flags == 0) &&
case HK_RESET_LOCAL_COORD: (LibItemToRepeat->m_StructType == COMPONENT_PIN_DRAW_TYPE) )
break; {
RepeatPinItem(DC, (LibDrawPin*) LibItemToRepeat);
case HK_REPEAT_LAST: }
if( LibItemToRepeat && (LibItemToRepeat->m_Flags == 0) else wxBell();
&& (LibItemToRepeat->m_StructType == COMPONENT_PIN_DRAW_TYPE) ) break;
{ }
RepeatPinItem( DC, (LibDrawPin*) LibItemToRepeat );
} if ( RefreshToolBar ) SetToolbars();
else
wxBell();
break;
}
if( RefreshToolBar )
SetToolbars();
} }
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
COMMON_GLOBL wxString g_BuildVersion COMMON_GLOBL wxString g_BuildVersion
#ifdef EDA_BASE #ifdef EDA_BASE
(wxT("(2007-08-09)")) (wxT("(2007-08-19)"))
#endif #endif
; ;
......
/*******************/
/* hotkeys_basic.h */
/*******************/
/* Some functions to handle hotkeys in kicad
*/
#ifndef HOTKEYS_BASIC_H
#define HOTKEYS_BASIC_H
/* Class to handle hotkey commnands. hotkeys have a default value
This class allows (for the future..) the real key code changed by user(from a key code list file, TODO)
*/
class Ki_HotkeyInfo
{
public:
int m_KeyCode; // Key code (ascii value for ascii keys or wxWidgets code for function key
wxString m_InfoMsg; // info message.
int m_Idcommand; // internal id for the corresponding command (see hotkey_id_commnand list)
public:
Ki_HotkeyInfo(const wxChar * infomsg, int idcommand, int keycode);
};
/* Functions:
*/
wxString ReturnKeyNameFromKeyCode(int keycode);
void DisplayHotkeyList(WinEDA_DrawFrame * frame, Ki_HotkeyInfo ** List);
int GetCommandCodeFromHotkey(int key, Ki_HotkeyInfo ** List);
#endif // HOTKEYS_BASIC_H
No preview for this file type
...@@ -2,7 +2,7 @@ msgid "" ...@@ -2,7 +2,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: kicad\n" "Project-Id-Version: kicad\n"
"POT-Creation-Date: \n" "POT-Creation-Date: \n"
"PO-Revision-Date: 2007-08-08 11:30+0100\n" "PO-Revision-Date: 2007-08-19 16:13+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"
...@@ -36,6 +36,108 @@ msgstr "Editer TOUTES Vias" ...@@ -36,6 +36,108 @@ msgstr "Editer TOUTES Vias"
msgid "Edit All Track Sizes" msgid "Edit All Track Sizes"
msgstr "Editer TOUTES Pistes" msgstr "Editer TOUTES Pistes"
#: pcbnew/ioascii.cpp:184
msgid "Error: Unexpected end of file !"
msgstr "Erreur: Fin de fichier inattendue !"
#: pcbnew/edit_track_width.cpp:85
msgid "Change track width (entire NET) ?"
msgstr "Change largeur piste ( NET complet) ?"
#: pcbnew/clean.cpp:163
msgid "Delete unconnected tracks:"
msgstr "Suppression Pistes non connectes"
#: pcbnew/clean.cpp:181
msgid "ViaDef"
msgstr "ViaDef"
#: pcbnew/clean.cpp:332
msgid "Clean Null Segments"
msgstr "Nettoyage segments nulls"
#: pcbnew/clean.cpp:420
msgid "Merging Segments:"
msgstr "Associe Segment"
#: pcbnew/clean.cpp:422
msgid "Merge"
msgstr "Merge"
#: pcbnew/clean.cpp:422
#: pcbnew/dialog_pad_edit.cpp:187
#: eeschema/dialog_erc.cpp:192
#: eeschema/dialog_erc.cpp:196
#: eeschema/dialog_edit_component_in_schematic.cpp:172
msgid "0"
msgstr "0"
#: pcbnew/clean.cpp:435
msgid "Merge: "
msgstr "Merge: "
#: pcbnew/clean.cpp:647
msgid "DRC Control:"
msgstr "Controle DRC:"
#: pcbnew/clean.cpp:652
msgid "NetCtr"
msgstr "NetCtr"
#: pcbnew/clean.cpp:886
msgid "Centre"
msgstr "Centre"
#: pcbnew/clean.cpp:886
msgid "0 "
msgstr "0"
#: pcbnew/clean.cpp:897
msgid "Pads: "
msgstr "Pastilles: "
#: pcbnew/clean.cpp:900
msgid "Max"
msgstr "Max"
#: pcbnew/clean.cpp:902
msgid "Segm"
msgstr "Segm"
#: pcbnew/loadcmp.cpp:94
msgid "Module name:"
msgstr "Nom module:"
#: pcbnew/loadcmp.cpp:201
#: eeschema/eelibs_read_libraryfiles.cpp:66
#, c-format
msgid "Library <%s> not found"
msgstr "Librairie %s non trouve"
#: pcbnew/loadcmp.cpp:206
#, c-format
msgid "Scan Lib: %s"
msgstr "Examen Lib: %s"
#: pcbnew/loadcmp.cpp:215
msgid "File is Not a library"
msgstr "Le fichier n'est pas une librairie eeschema"
#: pcbnew/loadcmp.cpp:277
#, c-format
msgid "Module <%s> not found"
msgstr "Module <%s> non trouv"
#: pcbnew/loadcmp.cpp:342
msgid "Library: "
msgstr "Librairie: "
#: pcbnew/loadcmp.cpp:401
#: pcbnew/loadcmp.cpp:534
#, c-format
msgid "Modules (%d items)"
msgstr "Modules (%d lments)"
#: pcbnew/edit.cpp:165 #: pcbnew/edit.cpp:165
msgid "Graphic not autorized on Copper layers" msgid "Graphic not autorized on Copper layers"
msgstr "Graphique non autoris sur couches cuivre" msgstr "Graphique non autoris sur couches cuivre"
...@@ -48,37 +150,37 @@ msgstr "Pistes sur couches cuivre seulement" ...@@ -48,37 +150,37 @@ msgstr "Pistes sur couches cuivre seulement"
msgid "Cotation not autorized on Copper layers" msgid "Cotation not autorized on Copper layers"
msgstr "Cotation non autorise sur couches cuivre" msgstr "Cotation non autorise sur couches cuivre"
#: pcbnew/edit.cpp:466 #: pcbnew/edit.cpp:489
#: pcbnew/editmod.cpp:43 #: pcbnew/editmod.cpp:43
msgid "Module Editor" msgid "Module Editor"
msgstr "Ouvrir Editeur de modules" msgstr "Ouvrir Editeur de modules"
#: pcbnew/edit.cpp:546 #: pcbnew/edit.cpp:569
msgid "Add Tracks" msgid "Add Tracks"
msgstr "Addition de pistes" msgstr "Addition de pistes"
#: pcbnew/edit.cpp:555 #: pcbnew/edit.cpp:578
#: pcbnew/tool_pcb.cpp:420 #: pcbnew/tool_pcb.cpp:420
msgid "Add Zones" msgid "Add Zones"
msgstr "Addition de Zones" msgstr "Addition de Zones"
#: pcbnew/edit.cpp:557 #: pcbnew/edit.cpp:580
msgid "Warning: Display Zone is OFF!!!" msgid "Warning: Display Zone is OFF!!!"
msgstr "Attention: Affichage zones dsactiv !!!" msgstr "Attention: Affichage zones dsactiv !!!"
#: pcbnew/edit.cpp:564 #: pcbnew/edit.cpp:587
msgid "Add Mire" msgid "Add Mire"
msgstr "Ajouter Mires de superposition" msgstr "Ajouter Mires de superposition"
#: pcbnew/edit.cpp:568 #: pcbnew/edit.cpp:591
msgid "Adjust Zero" msgid "Adjust Zero"
msgstr "Ajuster Zro" msgstr "Ajuster Zro"
#: pcbnew/edit.cpp:574 #: pcbnew/edit.cpp:597
msgid "Add Graphic" msgid "Add Graphic"
msgstr "Addition lments graphiques" msgstr "Addition lments graphiques"
#: pcbnew/edit.cpp:578 #: pcbnew/edit.cpp:601
#: pcbnew/tool_pcb.cpp:437 #: pcbnew/tool_pcb.cpp:437
#: pcbnew/tool_modedit.cpp:170 #: pcbnew/tool_modedit.cpp:170
#: eeschema/schedit.cpp:309 #: eeschema/schedit.cpp:309
...@@ -87,100 +189,30 @@ msgstr "Addition ...@@ -87,100 +189,30 @@ msgstr "Addition
msgid "Add Text" msgid "Add Text"
msgstr "Ajout de Texte" msgstr "Ajout de Texte"
#: pcbnew/edit.cpp:582 #: pcbnew/edit.cpp:605
msgid "Add Modules" msgid "Add Modules"
msgstr "Addition de Modules" msgstr "Addition de Modules"
#: pcbnew/edit.cpp:586 #: pcbnew/edit.cpp:609
#: pcbnew/tool_pcb.cpp:442 #: pcbnew/tool_pcb.cpp:442
msgid "Add Cotation" msgid "Add Cotation"
msgstr "Addition de Cotations" msgstr "Addition de Cotations"
#: pcbnew/edit.cpp:594 #: pcbnew/edit.cpp:617
msgid "Net Highlight" msgid "Net Highlight"
msgstr "Surbrillance des quipotentielles" msgstr "Surbrillance des quipotentielles"
#: pcbnew/edit.cpp:598 #: pcbnew/edit.cpp:621
msgid "Local Ratsnest" msgid "Local Ratsnest"
msgstr "Monter le chevelu gnral" msgstr "Monter le chevelu gnral"
#: pcbnew/edit.cpp:755 #: pcbnew/edit.cpp:778
#: pcbnew/modedit.cpp:327 #: pcbnew/modedit.cpp:327
#: eeschema/schedit.cpp:443 #: eeschema/schedit.cpp:443
#: eeschema/libframe.cpp:554 #: eeschema/libframe.cpp:554
msgid "Delete item" msgid "Delete item"
msgstr "Suppression d'lments" msgstr "Suppression d'lments"
#: pcbnew/edit_track_width.cpp:85
msgid "Change track width (entire NET) ?"
msgstr "Changelargeur piste ( NET complet) ?"
#: pcbnew/autoplac.cpp:104
msgid "Footprints NOT LOCKED will be moved"
msgstr "Les modules NON FIXES vont tre dplacs"
#: pcbnew/autoplac.cpp:109
msgid "Footprints NOT PLACED will be moved"
msgstr "Les modules NON PLACES vont tre dplacs"
#: pcbnew/autoplac.cpp:385
msgid "No edge PCB, Unknown board size!"
msgstr "Pas de contour PCB, la taille du PCB est inconnue!"
#: pcbnew/autoplac.cpp:406
msgid "Cols"
msgstr "Cols"
#: pcbnew/autoplac.cpp:408
msgid "Lines"
msgstr "Lignes"
#: pcbnew/autoplac.cpp:410
msgid "Cells."
msgstr "Cells."
#: pcbnew/autoplac.cpp:466
msgid "Loop"
msgstr "Itration"
#: pcbnew/autoplac.cpp:611
msgid "Ok to abort ?"
msgstr "Ok pour arrter ?"
#: pcbnew/loadcmp.cpp:94
msgid "Module name:"
msgstr "Nom module:"
#: pcbnew/loadcmp.cpp:201
#: eeschema/eelibs_read_libraryfiles.cpp:66
#, c-format
msgid "Library <%s> not found"
msgstr "Librairie %s non trouve"
#: pcbnew/loadcmp.cpp:206
#, c-format
msgid "Scan Lib: %s"
msgstr "Examen Lib: %s"
#: pcbnew/loadcmp.cpp:215
msgid "File is Not a library"
msgstr "Le fichier n'est pas une librairie eeschema"
#: pcbnew/loadcmp.cpp:277
#, c-format
msgid "Module <%s> not found"
msgstr "Module <%s> non trouv"
#: pcbnew/loadcmp.cpp:342
msgid "Library: "
msgstr "Librairie: "
#: pcbnew/loadcmp.cpp:401
#: pcbnew/loadcmp.cpp:534
#, c-format
msgid "Modules (%d items)"
msgstr "Modules (%d lments)"
#: pcbnew/pcbcfg.cpp:67 #: pcbnew/pcbcfg.cpp:67
#: eeschema/eeconfig.cpp:55 #: eeschema/eeconfig.cpp:55
#: cvpcb/menucfg.cpp:170 #: cvpcb/menucfg.cpp:170
...@@ -308,9 +340,44 @@ msgstr "Fichiers Librairies" ...@@ -308,9 +340,44 @@ msgstr "Fichiers Librairies"
msgid "Library exists! No Change" msgid "Library exists! No Change"
msgstr "Librairie existante! Pas de changement" msgstr "Librairie existante! Pas de changement"
#: pcbnew/ioascii.cpp:184 #: pcbnew/find.cpp:140
msgid "Error: Unexpected end of file !" msgid "Marker found"
msgstr "Erreur: Fin de fichier inattendue !" msgstr "Marqueur trouv"
#: pcbnew/find.cpp:142
#, c-format
msgid "<%s> Found"
msgstr "<%s> trouv"
#: pcbnew/find.cpp:150
msgid "Marker not found"
msgstr "Marqueur non trouv"
#: pcbnew/find.cpp:152
#, c-format
msgid "<%s> Not Found"
msgstr "<%s> Non trouv"
#: pcbnew/find.cpp:258
#: eeschema/dialog_find.cpp:107
msgid "Item to find:"
msgstr "Elment a chercher:"
#: pcbnew/find.cpp:279
msgid "Find Item"
msgstr "Chercher Item"
#: pcbnew/find.cpp:285
msgid "Find Next Item"
msgstr "Chercher Item Suivant"
#: pcbnew/find.cpp:294
msgid "Find Marker"
msgstr "Chercher Marqueur"
#: pcbnew/find.cpp:300
msgid "Find Next Marker"
msgstr "Marqueur Suivant"
#: pcbnew/librairi.cpp:47 #: pcbnew/librairi.cpp:47
msgid "Import Module:" msgid "Import Module:"
...@@ -365,7 +432,7 @@ msgstr "Librairie " ...@@ -365,7 +432,7 @@ msgstr "Librairie "
#: pcbnew/librairi.cpp:190 #: pcbnew/librairi.cpp:190
#: pcbnew/files.cpp:57 #: pcbnew/files.cpp:57
#: eeschema/libedit.cpp:113 #: eeschema/libedit.cpp:113
#: eeschema/find.cpp:423 #: eeschema/find.cpp:482
#: gerbview/dcode.cpp:260 #: gerbview/dcode.cpp:260
#: gerbview/readgerb.cpp:141 #: gerbview/readgerb.cpp:141
#: common/eda_doc.cpp:144 #: common/eda_doc.cpp:144
...@@ -385,8 +452,8 @@ msgstr "Module [%s] non trouv ...@@ -385,8 +452,8 @@ msgstr "Module [%s] non trouv
#: pcbnew/librairi.cpp:377 #: pcbnew/librairi.cpp:377
#: pcbnew/librairi.cpp:518 #: pcbnew/librairi.cpp:518
#: pcbnew/librairi.cpp:712 #: pcbnew/librairi.cpp:712
#: pcbnew/files.cpp:314
#: pcbnew/export_gencad.cpp:79 #: pcbnew/export_gencad.cpp:79
#: pcbnew/files.cpp:311
#: pcbnew/gen_modules_placefile.cpp:82 #: pcbnew/gen_modules_placefile.cpp:82
#: pcbnew/gen_modules_placefile.cpp:93 #: pcbnew/gen_modules_placefile.cpp:93
#: pcbnew/gen_modules_placefile.cpp:239 #: pcbnew/gen_modules_placefile.cpp:239
...@@ -514,7 +581,7 @@ msgstr " (pouce):" ...@@ -514,7 +581,7 @@ msgstr " (pouce):"
#: pcbnew/muonde.cpp:189 #: pcbnew/muonde.cpp:189
#: pcbnew/muonde.cpp:202 #: pcbnew/muonde.cpp:202
#: pcbnew/gen_self.h:226 #: pcbnew/gen_self.h:231
msgid "Incorrect number, abort" msgid "Incorrect number, abort"
msgstr "Nombre incorrect, arret" msgstr "Nombre incorrect, arret"
...@@ -528,7 +595,7 @@ msgstr "Formr complexe" ...@@ -528,7 +595,7 @@ msgstr "Formr complexe"
#: pcbnew/muonde.cpp:351 #: pcbnew/muonde.cpp:351
#: pcbnew/pcbtexte.cpp:113 #: pcbnew/pcbtexte.cpp:113
#: pcbnew/zones.cpp:873 #: pcbnew/zones.cpp:981
#: pcbnew/block.cpp:117 #: pcbnew/block.cpp:117
#: pcbnew/cotation.cpp:109 #: pcbnew/cotation.cpp:109
#: pcbnew/mirepcb.cpp:102 #: pcbnew/mirepcb.cpp:102
...@@ -551,11 +618,11 @@ msgstr "Ok" ...@@ -551,11 +618,11 @@ msgstr "Ok"
#: pcbnew/swap_layers.cpp:86 #: pcbnew/swap_layers.cpp:86
#: pcbnew/pcbpiste.cpp:87 #: pcbnew/pcbpiste.cpp:87
#: pcbnew/mirepcb.cpp:106 #: pcbnew/mirepcb.cpp:106
#: pcbnew/sel_layer.cpp:136
#: pcbnew/sel_layer.cpp:267
#: pcbnew/dialog_edit_module.cpp:124 #: pcbnew/dialog_edit_module.cpp:124
#: pcbnew/onrightclick.cpp:153 #: pcbnew/onrightclick.cpp:153
#: pcbnew/onrightclick.cpp:172 #: pcbnew/onrightclick.cpp:172
#: pcbnew/sel_layer.cpp:123
#: pcbnew/sel_layer.cpp:250
#: eeschema/libedit_onrightclick.cpp:68 #: eeschema/libedit_onrightclick.cpp:68
#: eeschema/libedit_onrightclick.cpp:83 #: eeschema/libedit_onrightclick.cpp:83
#: eeschema/optionsframe.cpp:155 #: eeschema/optionsframe.cpp:155
...@@ -646,66 +713,6 @@ msgstr "Gap (mm):" ...@@ -646,66 +713,6 @@ msgstr "Gap (mm):"
msgid "Gap (inch):" msgid "Gap (inch):"
msgstr "Gap (inch):" msgstr "Gap (inch):"
#: pcbnew/clean.cpp:152
msgid "Delete unconnected tracks:"
msgstr "Suppression Pistes non connectes"
#: pcbnew/clean.cpp:169
msgid "ViaDef"
msgstr "ViaDef"
#: pcbnew/clean.cpp:314
msgid "Clean Null Segments"
msgstr "Nettoyage segments nulls"
#: pcbnew/clean.cpp:396
msgid "Merging Segments:"
msgstr "Associe Segment"
#: pcbnew/clean.cpp:398
msgid "Merge"
msgstr "Merge"
#: pcbnew/clean.cpp:398
#: pcbnew/dialog_pad_edit.cpp:187
#: eeschema/dialog_erc.cpp:192
#: eeschema/dialog_erc.cpp:196
#: eeschema/dialog_edit_component_in_schematic.cpp:172
msgid "0"
msgstr "0"
#: pcbnew/clean.cpp:411
msgid "Merge: "
msgstr "Merge: "
#: pcbnew/clean.cpp:603
msgid "DRC Control:"
msgstr "Controle ERC:"
#: pcbnew/clean.cpp:607
msgid "NetCtr"
msgstr "NetCtr"
#: pcbnew/clean.cpp:815
msgid "Centre"
msgstr "Centre"
#: pcbnew/clean.cpp:815
msgid "0 "
msgstr "0"
#: pcbnew/clean.cpp:826
msgid "Pads: "
msgstr "Pastilles: "
#: pcbnew/clean.cpp:829
msgid "Max"
msgstr "Max"
#: pcbnew/clean.cpp:831
msgid "Segm"
msgstr "Segm"
#: pcbnew/gendrill.cpp:146 #: pcbnew/gendrill.cpp:146
msgid "Drill tools" msgid "Drill tools"
msgstr "Outils de perage" msgstr "Outils de perage"
...@@ -879,9 +886,9 @@ msgstr "Outils" ...@@ -879,9 +886,9 @@ msgstr "Outils"
#: pcbnew/gendrill.cpp:399 #: pcbnew/gendrill.cpp:399
#: pcbnew/gendrill.cpp:1008 #: pcbnew/gendrill.cpp:1008
#: pcbnew/gendrill.cpp:1521 #: pcbnew/gendrill.cpp:1521
#: pcbnew/class_pad.cpp:931
#: pcbnew/affiche.cpp:208 #: pcbnew/affiche.cpp:208
#: pcbnew/affiche.cpp:210 #: pcbnew/affiche.cpp:210
#: pcbnew/class_pad.cpp:935
msgid "Drill" msgid "Drill"
msgstr "Perage" msgstr "Perage"
...@@ -903,7 +910,6 @@ msgstr "" ...@@ -903,7 +910,6 @@ msgstr ""
"Le trac utilise des cercles pour quelques valeurs " "Le trac utilise des cercles pour quelques valeurs "
#: pcbnew/gendrill.cpp:1444 #: pcbnew/gendrill.cpp:1444
#: pcbnew/dialog_drc.cpp:347
msgid "Drill Report file" msgid "Drill Report file"
msgstr "Fichier rapport de perage:" msgstr "Fichier rapport de perage:"
...@@ -911,31 +917,123 @@ msgstr "Fichier rapport de per ...@@ -911,31 +917,123 @@ msgstr "Fichier rapport de per
msgid "Pcbnew is already running, Continue?" msgid "Pcbnew is already running, Continue?"
msgstr "Pcbnew est est cours d'excution. Continuer ?" msgstr "Pcbnew est est cours d'excution. Continuer ?"
#: pcbnew/pcbtexte.cpp:90 #: pcbnew/drc.cpp:78
msgid "TextPCB properties" msgid "Look for active routes\n"
msgstr "Proprits des textes PCB" msgstr "Recherche des chevelus actifs\n"
#: pcbnew/pcbtexte.cpp:122 #: pcbnew/drc.cpp:90
#: pcbnew/dialog_edit_mod_text.cpp:314 msgid "Unconnected found:\n"
#: eeschema/sheetlab.cpp:108 msgstr "Non connect trouv:\n"
#: common/confirm.cpp:131
msgid "Text:"
msgstr "Texte:"
#: pcbnew/pcbtexte.cpp:132 #: pcbnew/drc.cpp:95
#: pcbnew/dialog_edit_mod_text.cpp:204 #, c-format
#: pcbnew/cotation.cpp:133 msgid "%d > Pad %s (%s) @ %.4f,%.4f and "
#: pcbnew/affiche.cpp:50 msgstr "%d > Pad %s (%s) @ %.4f,%.4f et "
#: pcbnew/affiche.cpp:106
#: pcbnew/affiche.cpp:212 #: pcbnew/drc.cpp:106
#: pcbnew/affiche.cpp:248 #, c-format
#: pcbnew/affiche.cpp:279 msgid "Pad %s (%s) @ %.4f,%.4f\n"
#: pcbnew/mirepcb.cpp:116 msgstr "Pad %s (%s) @ %.4f,%.4f\n"
#: eeschema/dialog_cmp_graphic_properties.cpp:188
#: eeschema/affiche.cpp:147 #: pcbnew/drc.cpp:115
#: gerbview/affiche.cpp:46 #, c-format
#: gerbview/affiche.cpp:106 msgid "Active routes: %d\n"
msgid "Width" msgstr "Active routes: %d\n"
#: pcbnew/drc.cpp:117
msgid "OK! (No active routes)\n"
msgstr "OK! (Pas de chevelu actif)\n"
#: pcbnew/drc.cpp:168
#, c-format
msgid "** End Drc: %d errors **\n"
msgstr "** FinDrc: %d erreurs **\n"
#: pcbnew/drc.cpp:170
msgid "** End Drc: No Error **\n"
msgstr "** Fin Drc: Aucune Erreur **\n"
#: pcbnew/drc.cpp:178
#, c-format
msgid "Report file <%s> created\n"
msgstr "Fichier rapport <%s> cr\n"
#: pcbnew/drc.cpp:264
msgid "Tst Pad to Pad\n"
msgstr "Tst Pad to Pad\n"
#: pcbnew/drc.cpp:309
#: pcbnew/drc.cpp:382
msgid "SegmNb"
msgstr "SegmNb"
#: pcbnew/drc.cpp:310
msgid "Track Err"
msgstr "Err Pistes"
#: pcbnew/drc.cpp:314
msgid "Tst Tracks\n"
msgstr "Tst Pistes\n"
#: pcbnew/drc.cpp:344
#: pcbnew/drc.cpp:417
#: eeschema/eelayer.cpp:141
msgid "Netname"
msgstr "NetName"
#: pcbnew/drc.cpp:383
msgid "Zone Err"
msgstr "Err. Zone"
#: pcbnew/drc.cpp:386
msgid "Tst Zones\n"
msgstr "Test Zones\n"
#: pcbnew/drc.cpp:1323
#, c-format
msgid "%d Drc Err %d %s (net %s)and PAD %s (%s) net %s @ %d,%d\n"
msgstr "%d Err Drc %d %s (net %s) et PAD %s (%s) net %s @ %d,%d\n"
#: pcbnew/drc.cpp:1339
#, c-format
msgid "%d Err type %d: %s (net %s) and VIA (net %s) @ %d,%d\n"
msgstr "%d Err type %d: %s (net %s) et VIA (net %s) @ %d,%d\n"
#: pcbnew/drc.cpp:1354
#, c-format
msgid "%d Err type %d: %s (net %s) and track (net %s) @ %d,%d\n"
msgstr "%d Err type %d: %s (net %s) et piste (net %s) @ %d,%d\n"
#: pcbnew/drc.cpp:1408
#, c-format
msgid "%d Drc Err: PAD %s (%s) net %s @ %d,%d and PAD %s (%s) net %s @ %d,%d\n"
msgstr "%d Err Drc: PAD %s (%s) net %s @ %d,%d et PAD %s (%s) net %s @ %d,%d\n"
#: pcbnew/pcbtexte.cpp:90
msgid "TextPCB properties"
msgstr "Proprits des textes PCB"
#: pcbnew/pcbtexte.cpp:122
#: pcbnew/dialog_edit_mod_text.cpp:314
#: eeschema/sheetlab.cpp:108
#: common/confirm.cpp:131
msgid "Text:"
msgstr "Texte:"
#: pcbnew/pcbtexte.cpp:132
#: pcbnew/dialog_edit_mod_text.cpp:204
#: pcbnew/cotation.cpp:133
#: pcbnew/affiche.cpp:50
#: pcbnew/affiche.cpp:106
#: pcbnew/affiche.cpp:212
#: pcbnew/affiche.cpp:248
#: pcbnew/affiche.cpp:279
#: pcbnew/mirepcb.cpp:116
#: eeschema/dialog_cmp_graphic_properties.cpp:188
#: eeschema/affiche.cpp:147
#: gerbview/affiche.cpp:46
#: gerbview/affiche.cpp:106
msgid "Width"
msgstr "Epaisseur" msgstr "Epaisseur"
#: pcbnew/pcbtexte.cpp:136 #: pcbnew/pcbtexte.cpp:136
...@@ -988,6 +1086,157 @@ msgstr "Pas de memoire pour autoroutage" ...@@ -988,6 +1086,157 @@ msgstr "Pas de memoire pour autoroutage"
msgid "Place Cells" msgid "Place Cells"
msgstr "Place Cells" msgstr "Place Cells"
#: pcbnew/files.cpp:57
msgid "Recovery file "
msgstr "Fichier de secours "
#: pcbnew/files.cpp:63
msgid "Ok to load Recovery file "
msgstr "Ok pour charger le fichier de secours"
#: pcbnew/files.cpp:143
msgid "Board Modified: Continue ?"
msgstr "Circuit imprim modifi, Continuer ?"
#: pcbnew/files.cpp:161
#: pcbnew/files.cpp:263
msgid "Board files:"
msgstr "Fichiers C.I.:"
#: pcbnew/files.cpp:299
msgid "Warning: unable to create bakfile "
msgstr "Attention: Impossible de crer fichier backup "
#: pcbnew/files.cpp:335
msgid "Backup file: "
msgstr "Fichier backup: "
#: pcbnew/files.cpp:340
msgid "Write Board file: "
msgstr "Ecriture fichier CI: "
#: pcbnew/files.cpp:342
msgid "Failed to create "
msgstr "Impossible de crer fichier "
#: pcbnew/surbrill.cpp:35
#: pcbnew/pcbpiste.cpp:241
msgid "Filter for net names:"
msgstr "Filtre pour nets:"
#: pcbnew/surbrill.cpp:39
#: pcbnew/pcbpiste.cpp:244
msgid "List Nets"
msgstr "Liste quipots"
#: pcbnew/modules.cpp:81
msgid "Footprint name:"
msgstr "Nom Module: "
#: pcbnew/modules.cpp:281
#: pcbnew/onrightclick.cpp:640
msgid "Delete Module"
msgstr "Supprimer Module"
#: pcbnew/modules.cpp:282
msgid "Value "
msgstr "Valeur "
#: pcbnew/dialog_graphic_items_options.cpp:192
msgid "Graphics:"
msgstr "Elments graphiques;"
#: pcbnew/dialog_graphic_items_options.cpp:196
msgid "Graphic segm Width"
msgstr "Epaiss. segm graphique"
#: pcbnew/dialog_graphic_items_options.cpp:202
msgid "Board Edges Width"
msgstr "Epaiss. contour pcb"
#: pcbnew/dialog_graphic_items_options.cpp:208
msgid "Copper Text Width"
msgstr "Epaisseur Texte sur cuivre"
#: pcbnew/dialog_graphic_items_options.cpp:214
msgid "Text Size V"
msgstr "Hauteur texte"
#: pcbnew/dialog_graphic_items_options.cpp:220
msgid "Text Size H"
msgstr "Largeur texte"
#: pcbnew/dialog_graphic_items_options.cpp:228
msgid "Modules:"
msgstr "Modules: "
#: pcbnew/dialog_graphic_items_options.cpp:232
msgid "Edges Module Width"
msgstr "Epaiss. contor module"
#: pcbnew/dialog_graphic_items_options.cpp:238
msgid "Text Module Width"
msgstr "Epaisseur Texte Module"
#: pcbnew/dialog_graphic_items_options.cpp:244
msgid "Text Module Size V"
msgstr "Hauteur Texte Module"
#: pcbnew/dialog_graphic_items_options.cpp:250
msgid "Text Module Size H"
msgstr "Largeur Texte Module"
#: pcbnew/dialog_graphic_items_options.cpp:261
#: pcbnew/dialog_edit_mod_text.cpp:213
#: pcbnew/dialog_initpcb.cpp:161
#: pcbnew/dialog_track_options.cpp:181
#: pcbnew/dialog_display_options.cpp:280
#: pcbnew/set_grid.cpp:171
#: pcbnew/dialog_pad_edit.cpp:221
#: pcbnew/dialog_general_options.cpp:364
#: eeschema/symbtext.cpp:174
#: eeschema/dialog_options.cpp:274
#: eeschema/sheet.cpp:187
#: eeschema/dialog_edit_component_in_lib.cpp:218
#: eeschema/dialog_edit_label.cpp:176
#: eeschema/dialog_create_component.cpp:195
#: eeschema/dialog_edit_component_in_schematic.cpp:243
#: eeschema/dialog_cmp_graphic_properties.cpp:178
#: eeschema/pinedit-dialog.cpp:308
#: cvpcb/dialog_cvpcb_config.cpp:135
#: share/setpage.cpp:232
msgid "&OK"
msgstr "&OK"
#: pcbnew/dialog_graphic_items_options.cpp:265
#: pcbnew/dialog_edit_mod_text.cpp:217
#: pcbnew/dialog_initpcb.cpp:164
#: pcbnew/zones.cpp:216
#: pcbnew/dialog_track_options.cpp:185
#: pcbnew/dialog_display_options.cpp:284
#: pcbnew/set_grid.cpp:176
#: pcbnew/dialog_pad_edit.cpp:225
#: pcbnew/dialog_general_options.cpp:368
#: eeschema/symbtext.cpp:178
#: eeschema/dialog_options.cpp:278
#: eeschema/sheet.cpp:183
#: eeschema/dialog_edit_component_in_lib.cpp:214
#: eeschema/dialog_create_component.cpp:200
#: eeschema/dialog_cmp_graphic_properties.cpp:182
#: eeschema/pinedit-dialog.cpp:304
#: eeschema/plothpgl.cpp:274
#: share/setpage.cpp:237
msgid "&Cancel"
msgstr "&Annuler"
#: pcbnew/basepcbframe.cpp:94
msgid "3D Frame already opened"
msgstr "Fenetre 3D dj ouverte"
#: pcbnew/basepcbframe.cpp:97
msgid "3D Viewer"
msgstr "Visu 3D"
#: pcbnew/tool_pcb.cpp:50 #: pcbnew/tool_pcb.cpp:50
msgid "" msgid ""
"Show active layer selections\n" "Show active layer selections\n"
...@@ -1285,183 +1534,6 @@ msgstr "Grille perso" ...@@ -1285,183 +1534,6 @@ msgstr "Grille perso"
msgid "+/- to switch" msgid "+/- to switch"
msgstr "+/- pour commuter" msgstr "+/- pour commuter"
#: pcbnew/dialog_graphic_items_options.cpp:192
msgid "Graphics:"
msgstr "Elments graphiques;"
#: pcbnew/dialog_graphic_items_options.cpp:196
msgid "Graphic segm Width"
msgstr "Epaiss. segm graphique"
#: pcbnew/dialog_graphic_items_options.cpp:202
msgid "Board Edges Width"
msgstr "Epaiss. contour pcb"
#: pcbnew/dialog_graphic_items_options.cpp:208
msgid "Copper Text Width"
msgstr "Epaisseur Texte sur cuivre"
#: pcbnew/dialog_graphic_items_options.cpp:214
msgid "Text Size V"
msgstr "Hauteur texte"
#: pcbnew/dialog_graphic_items_options.cpp:220
msgid "Text Size H"
msgstr "Largeur texte"
#: pcbnew/dialog_graphic_items_options.cpp:228
msgid "Modules:"
msgstr "Modules: "
#: pcbnew/dialog_graphic_items_options.cpp:232
msgid "Edges Module Width"
msgstr "Epaiss. contor module"
#: pcbnew/dialog_graphic_items_options.cpp:238
msgid "Text Module Width"
msgstr "Epaisseur Texte Module"
#: pcbnew/dialog_graphic_items_options.cpp:244
msgid "Text Module Size V"
msgstr "Hauteur Texte Module"
#: pcbnew/dialog_graphic_items_options.cpp:250
msgid "Text Module Size H"
msgstr "Largeur Texte Module"
#: pcbnew/dialog_graphic_items_options.cpp:261
#: pcbnew/dialog_edit_mod_text.cpp:213
#: pcbnew/dialog_initpcb.cpp:161
#: pcbnew/dialog_track_options.cpp:181
#: pcbnew/dialog_display_options.cpp:280
#: pcbnew/set_grid.cpp:171
#: pcbnew/dialog_pad_edit.cpp:221
#: pcbnew/dialog_general_options.cpp:364
#: eeschema/symbtext.cpp:174
#: eeschema/dialog_options.cpp:274
#: eeschema/sheet.cpp:187
#: eeschema/dialog_edit_component_in_lib.cpp:218
#: eeschema/dialog_edit_label.cpp:176
#: eeschema/dialog_create_component.cpp:195
#: eeschema/dialog_edit_component_in_schematic.cpp:243
#: eeschema/dialog_cmp_graphic_properties.cpp:178
#: eeschema/pinedit-dialog.cpp:308
#: cvpcb/dialog_cvpcb_config.cpp:135
#: share/setpage.cpp:232
msgid "&OK"
msgstr "&OK"
#: pcbnew/dialog_graphic_items_options.cpp:265
#: pcbnew/zones.cpp:180
#: pcbnew/dialog_edit_mod_text.cpp:217
#: pcbnew/dialog_initpcb.cpp:164
#: pcbnew/dialog_track_options.cpp:185
#: pcbnew/dialog_display_options.cpp:284
#: pcbnew/set_grid.cpp:176
#: pcbnew/dialog_pad_edit.cpp:225
#: pcbnew/dialog_general_options.cpp:368
#: eeschema/symbtext.cpp:178
#: eeschema/dialog_options.cpp:278
#: eeschema/sheet.cpp:183
#: eeschema/dialog_edit_component_in_lib.cpp:214
#: eeschema/dialog_create_component.cpp:200
#: eeschema/dialog_cmp_graphic_properties.cpp:182
#: eeschema/pinedit-dialog.cpp:304
#: eeschema/plothpgl.cpp:274
#: share/setpage.cpp:237
msgid "&Cancel"
msgstr "&Annuler"
#: pcbnew/basepcbframe.cpp:94
msgid "3D Frame already opened"
msgstr "Fenetre 3D dj ouverte"
#: pcbnew/basepcbframe.cpp:97
msgid "3D Viewer"
msgstr "Visu 3D"
#: pcbnew/zones.cpp:136
#: pcbnew/zones.cpp:137
#: pcbnew/zones.cpp:138
#: pcbnew/zones.cpp:139
msgid "0.00000"
msgstr "0.00000"
#: pcbnew/zones.cpp:141
msgid "Grid size:"
msgstr "Dim Grille"
#: pcbnew/zones.cpp:144
msgid "Zone clearance value (mm):"
msgstr "Valeur isolation zone (mm):"
#: pcbnew/zones.cpp:156
msgid "Include Pads"
msgstr "Inclure Pads"
#: pcbnew/zones.cpp:157
msgid "Thermal"
msgstr "Thermique"
#: pcbnew/zones.cpp:158
msgid "Exclude Pads"
msgstr "Exclure Pads"
#: pcbnew/zones.cpp:160
msgid "Pad options:"
msgstr "Options pads"
#: pcbnew/zones.cpp:164
#: eeschema/dialog_options.cpp:257
#: eeschema/options.cpp:194
msgid "Any"
msgstr "Tout"
#: pcbnew/zones.cpp:165
msgid "H , V and 45 deg"
msgstr "H, V et 45 deg"
#: pcbnew/zones.cpp:167
msgid "Zone edges orient:"
msgstr "Direction contours zone:"
#: pcbnew/zones.cpp:175
msgid "Fill"
msgstr "Remplissage"
#: pcbnew/zones.cpp:184
msgid "Update Options"
msgstr "Maj Options"
#: pcbnew/zones.cpp:191
msgid "Zone clearance value:"
msgstr "Valeur isolation zone:"
#: pcbnew/zones.cpp:194
msgid "Grid :"
msgstr "Grille:"
#: pcbnew/zones.cpp:336
msgid "New zone segment width: "
msgstr "Nouvelle largeur des segments zone:"
#: pcbnew/zones.cpp:520
msgid "Zone: No net selected"
msgstr "Zone: Net non slectionn"
#: pcbnew/zones.cpp:562
msgid "Delete Current Zone Edges"
msgstr "Effacer contour zone courant"
#: pcbnew/zones.cpp:807
msgid "No Net"
msgstr "No Net"
#: pcbnew/zones.cpp:809
#: pcbnew/affiche.cpp:160
msgid "NetName"
msgstr "NetName"
#: pcbnew/via_edit.cpp:51 #: pcbnew/via_edit.cpp:51
msgid "Incorrect value for Via drill. No via drill change" msgid "Incorrect value for Via drill. No via drill change"
msgstr "Valeur incorrecte pour perage.Pas de changement pour la via" msgstr "Valeur incorrecte pour perage.Pas de changement pour la via"
...@@ -1550,6 +1622,26 @@ msgstr "Test Modules" ...@@ -1550,6 +1622,26 @@ msgstr "Test Modules"
msgid "Compile" msgid "Compile"
msgstr "Compile" msgstr "Compile"
#: pcbnew/controle.cpp:53
#, c-format
msgid "Locate module %s %s"
msgstr "Module localis %s %s"
#: pcbnew/controle.cpp:108
#, c-format
msgid "module %s not found"
msgstr "module %s non trouv"
#: pcbnew/controle.cpp:110
#, c-format
msgid "Pin %s (module %s) not found"
msgstr "Pin %s (module %s) non trouve"
#: pcbnew/controle.cpp:112
#, c-format
msgid "Locate Pin %s (module %s)"
msgstr "Pin localise %s (module %s)"
#: pcbnew/dialog_edit_mod_text.cpp:156 #: pcbnew/dialog_edit_mod_text.cpp:156
#, c-format #, c-format
msgid "Module %s (%s) orient %.1f" msgid "Module %s (%s) orient %.1f"
...@@ -1613,223 +1705,133 @@ msgstr "Effacer Textes" ...@@ -1613,223 +1705,133 @@ msgstr "Effacer Textes"
msgid "Delete Edges" msgid "Delete Edges"
msgstr "Effacements des contours" msgstr "Effacements des contours"
#: pcbnew/dialog_initpcb.cpp:121 #: pcbnew/dialog_initpcb.cpp:121
msgid "Delete Drawings" msgid "Delete Drawings"
msgstr "Effacement lments de trac" msgstr "Effacement lments de trac"
#: pcbnew/dialog_initpcb.cpp:125
msgid "Delete Modules"
msgstr "Effacement des Modules"
#: pcbnew/dialog_initpcb.cpp:129
msgid "Delete Tracks"
msgstr "Effacer Pistes"
#: pcbnew/dialog_initpcb.cpp:133
msgid "Delete Markers"
msgstr "Effacer Marqueurs"
#: pcbnew/dialog_initpcb.cpp:137
msgid "Clear Board"
msgstr "Effacement du C.I."
#: pcbnew/dialog_initpcb.cpp:144
msgid "Track Filter"
msgstr "Filtre Piste"
#: pcbnew/dialog_initpcb.cpp:148
msgid "Include AutoRouted Tracks"
msgstr "Inclure pistes autoroutes"
#: pcbnew/dialog_initpcb.cpp:152
msgid "Include Locked Tracks"
msgstr "Inclure pistes verrouilles"
#: pcbnew/drc.cpp:73
msgid "Look for active routes\n"
msgstr "Recherche des chevelus actifs\n"
#: pcbnew/drc.cpp:82
msgid "Unconnected found:\n"
msgstr "Non connect trouv:\n"
#: pcbnew/drc.cpp:87
#, c-format
msgid "%d > Pad %s (%s) @ %.4f,%.4f and "
msgstr "%d > Pad %s (%s) @ %.4f,%.4f et "
#: pcbnew/drc.cpp:96
#, c-format
msgid "Pad %s (%s) @ %.4f,%.4f\n"
msgstr "Pad %s (%s) @ %.4f,%.4f\n"
#: pcbnew/drc.cpp:102
#, c-format
msgid "Active routes: %d\n"
msgstr "Active routes: %d\n"
#: pcbnew/drc.cpp:103
msgid "OK! (No active routes)\n"
msgstr "OK! (Pas de chevelu actif)\n"
#: pcbnew/drc.cpp:146
#, c-format
msgid "** End Drc: %d errors **\n"
msgstr "** FinDrc: %d erreurs **\n"
#: pcbnew/drc.cpp:148
msgid "** End Drc: No Error **\n"
msgstr "** Fin Drc: Aucune Erreur **\n"
#: pcbnew/drc.cpp:155
#, c-format
msgid "Report file <%s> created\n"
msgstr "Fichier rapport <%s> cr\n"
#: pcbnew/drc.cpp:233 #: pcbnew/dialog_initpcb.cpp:125
msgid "Tst Pad to Pad\n" msgid "Delete Modules"
msgstr "Tst Pad to Pad\n" msgstr "Effacement des Modules"
#: pcbnew/drc.cpp:272 #: pcbnew/dialog_initpcb.cpp:129
#: pcbnew/drc.cpp:336 msgid "Delete Tracks"
msgid "SegmNb" msgstr "Effacer Pistes"
msgstr "SegmNb"
#: pcbnew/drc.cpp:273 #: pcbnew/dialog_initpcb.cpp:133
msgid "Track Err" msgid "Delete Markers"
msgstr "Err Pistes" msgstr "Effacer Marqueurs"
#: pcbnew/drc.cpp:276 #: pcbnew/dialog_initpcb.cpp:137
msgid "Tst Tracks\n" msgid "Clear Board"
msgstr "Tst Pistes\n" msgstr "Effacement du C.I."
#: pcbnew/drc.cpp:300 #: pcbnew/dialog_initpcb.cpp:144
#: pcbnew/drc.cpp:365 msgid "Track Filter"
#: eeschema/eelayer.cpp:141 msgstr "Filtre Piste"
msgid "Netname"
msgstr "NetName"
#: pcbnew/drc.cpp:337 #: pcbnew/dialog_initpcb.cpp:148
msgid "Zone Err" msgid "Include AutoRouted Tracks"
msgstr "Err. Zone" msgstr "Inclure pistes autoroutes"
#: pcbnew/drc.cpp:339 #: pcbnew/dialog_initpcb.cpp:152
msgid "Tst Zones\n" msgid "Include Locked Tracks"
msgstr "Test Zones\n" msgstr "Inclure pistes verrouilles"
#: pcbnew/drc.cpp:1165 #: pcbnew/zones.cpp:152
#, c-format #: pcbnew/zones.cpp:153
msgid "%d Drc Err %d %s (net %s)and PAD %s (%s) net %s @ %d,%d\n" #: pcbnew/zones.cpp:154
msgstr "%d Err Drc %d %s (net %s) et PAD %s (%s) net %s @ %d,%d\n" #: pcbnew/zones.cpp:155
msgid "0.00000"
msgstr "0.00000"
#: pcbnew/drc.cpp:1180 #: pcbnew/zones.cpp:159
#, c-format msgid "Grid size:"
msgid "%d Err type %d: %s (net %s) and VIA (net %s) @ %d,%d\n" msgstr "Dim Grille"
msgstr "%d Err type %d: %s (net %s) et VIA (net %s) @ %d,%d\n"
#: pcbnew/drc.cpp:1193 #: pcbnew/zones.cpp:164
#, c-format msgid "Zone clearance value (mm):"
msgid "%d Err type %d: %s (net %s) and track (net %s) @ %d,%d\n" msgstr "Valeur isolation zone (mm):"
msgstr "%d Err type %d: %s (net %s) et piste (net %s) @ %d,%d\n"
#: pcbnew/drc.cpp:1238 #: pcbnew/zones.cpp:181
#, c-format msgid "Include Pads"
msgid "%d Drc Err: PAD %s (%s) net %s @ %d,%d and PAD %s (%s) net %s @ %d,%d\n" msgstr "Inclure Pads"
msgstr "%d Err Drc: PAD %s (%s) net %s @ %d,%d et PAD %s (%s) net %s @ %d,%d\n"
#: pcbnew/controle.cpp:50 #: pcbnew/zones.cpp:182
#, c-format msgid "Thermal"
msgid "Locate module %s %s" msgstr "Thermique"
msgstr "Module localis %s %s"
#: pcbnew/controle.cpp:98 #: pcbnew/zones.cpp:183
#, c-format msgid "Exclude Pads"
msgid "module %s not found" msgstr "Exclure Pads"
msgstr "module %s non trouv"
#: pcbnew/controle.cpp:100 #: pcbnew/zones.cpp:187
#, c-format msgid "Pad options:"
msgid "Pin %s (module %s) not found" msgstr "Options pads"
msgstr "Pin %s (module %s) non trouve"
#: pcbnew/controle.cpp:102 #: pcbnew/zones.cpp:192
#, c-format #: eeschema/dialog_options.cpp:257
msgid "Locate Pin %s (module %s)" #: eeschema/options.cpp:194
msgstr "Pin localise %s (module %s)" msgid "Any"
msgstr "Tout"
#: pcbnew/class_pad.cpp:729 #: pcbnew/zones.cpp:193
msgid "Unknown Pad shape" msgid "H , V and 45 deg"
msgstr "Forme pad inconnue" msgstr "H, V et 45 deg"
#: pcbnew/class_pad.cpp:815 #: pcbnew/zones.cpp:197
#: pcbnew/affiche.cpp:76 msgid "Zone edges orient:"
#: pcbnew/affiche.cpp:266 msgstr "Direction contours zone:"
#: pcbnew/class_module.cpp:1136
#: cvpcb/setvisu.cpp:29
msgid "Module"
msgstr "Module"
#: pcbnew/class_pad.cpp:818 #: pcbnew/zones.cpp:209
msgid "RefP" msgid "Fill"
msgstr "RefP" msgstr "Remplissage"
#: pcbnew/class_pad.cpp:821 #: pcbnew/zones.cpp:222
msgid "Net" msgid "Update Options"
msgstr "Net" msgstr "Maj Options"
#: pcbnew/class_pad.cpp:904 #: pcbnew/zones.cpp:230
#: pcbnew/affiche.cpp:36 msgid "Zone clearance value:"
#: pcbnew/affiche.cpp:91 msgstr "Valeur isolation zone:"
#: pcbnew/affiche.cpp:95
#: pcbnew/affiche.cpp:195
#: pcbnew/affiche.cpp:244
#: pcbnew/dialog_edit_module.cpp:230
#: pcbnew/class_module.cpp:1110
#: pcbnew/sel_layer.cpp:109
#: gerbview/affiche.cpp:102
msgid "Layer"
msgstr "Couche"
#: pcbnew/class_pad.cpp:921 #: pcbnew/zones.cpp:233
#: pcbnew/affiche.cpp:53 msgid "Grid :"
#: pcbnew/affiche.cpp:109 msgstr "Grille:"
#: gerbview/affiche.cpp:49
msgid "H Size"
msgstr "Taille H"
#: pcbnew/class_pad.cpp:925 #: pcbnew/zones.cpp:398
#: pcbnew/affiche.cpp:56 msgid "New zone segment width: "
#: pcbnew/affiche.cpp:112 msgstr "Nouvelle largeur des segments zone:"
#: gerbview/affiche.cpp:52
msgid "V Size"
msgstr "Taille V"
#: pcbnew/class_pad.cpp:939 #: pcbnew/zones.cpp:598
msgid "Drill X / Y" msgid "Zone: No net selected"
msgstr "Perage X/Y" msgstr "Zone: Net non slectionn"
#: pcbnew/class_pad.cpp:950 #: pcbnew/zones.cpp:643
#: pcbnew/affiche.cpp:47 msgid "Delete Current Zone Edges"
#: pcbnew/affiche.cpp:103 msgstr "Effacer contour zone courant"
#: pcbnew/dialog_edit_module.cpp:238
#: pcbnew/class_module.cpp:1133
#: eeschema/affiche.cpp:101
#: gerbview/affiche.cpp:43
msgid "Orient"
msgstr "Orient"
#: pcbnew/class_pad.cpp:954 #: pcbnew/zones.cpp:911
msgid "X Pos" msgid "No Net"
msgstr "X Pos" msgstr "No Net"
#: pcbnew/class_pad.cpp:958 #: pcbnew/zones.cpp:913
msgid "Y pos" #: pcbnew/affiche.cpp:160
msgstr "Y pos" msgid "NetName"
msgstr "NetName"
#: pcbnew/export_gencad.cpp:66 #: pcbnew/export_gencad.cpp:66
msgid "GenCAD file:" msgid "GenCAD file:"
msgstr "Fichier GenCAD:" msgstr "Fichier GenCAD:"
#: pcbnew/hotkeys.cpp:174
#, c-format
msgid "Footprint %s found, but locked"
msgstr "Module %s trouv, mais verrouill"
#: pcbnew/hotkeys.cpp:327
msgid "Delete module?"
msgstr "Effacer Module?"
#: pcbnew/modedit_onclick.cpp:199 #: pcbnew/modedit_onclick.cpp:199
#: pcbnew/onrightclick.cpp:158 #: pcbnew/onrightclick.cpp:158
#: eeschema/libedit_onrightclick.cpp:73 #: eeschema/libedit_onrightclick.cpp:73
...@@ -2079,16 +2081,6 @@ msgstr "" ...@@ -2079,16 +2081,6 @@ msgstr ""
"Vous avez slectionn VIA borgne ou VIA enterre\n" "Vous avez slectionn VIA borgne ou VIA enterre\n"
"ATTENTION: Cette possibilit est EXPERIMENTALE!!! Accepter ?" "ATTENTION: Cette possibilit est EXPERIMENTALE!!! Accepter ?"
#: pcbnew/surbrill.cpp:34
#: pcbnew/pcbpiste.cpp:241
msgid "Filter for net names:"
msgstr "Filtre pour nets:"
#: pcbnew/surbrill.cpp:37
#: pcbnew/pcbpiste.cpp:244
msgid "List Nets"
msgstr "Liste quipots"
#: pcbnew/dialog_display_options.cpp:188 #: pcbnew/dialog_display_options.cpp:188
msgid "Tracks and vias" msgid "Tracks and vias"
msgstr "Pistes et vias" msgstr "Pistes et vias"
...@@ -2185,124 +2177,45 @@ msgid "Show Pad NoConnect" ...@@ -2185,124 +2177,45 @@ msgid "Show Pad NoConnect"
msgstr "Montrer non conn" msgstr "Montrer non conn"
#: pcbnew/dialog_display_options.cpp:268 #: pcbnew/dialog_display_options.cpp:268
#: gerbview/options.cpp:324 #: gerbview/options.cpp:324
msgid "Display other items:" msgid "Display other items:"
msgstr "Afficher autres lments" msgstr "Afficher autres lments"
#: pcbnew/dialog_display_options.cpp:272
#: pcbnew/affiche.cpp:43
#: pcbnew/affiche.cpp:87
#: eeschema/dialog_options.cpp:264
#: eeschema/options.cpp:202
#: gerbview/affiche.cpp:39
msgid "Yes"
msgstr "Oui"
#: pcbnew/dialog_display_options.cpp:273
#: pcbnew/affiche.cpp:42
#: pcbnew/affiche.cpp:86
#: eeschema/dialog_options.cpp:265
#: eeschema/options.cpp:202
#: gerbview/affiche.cpp:38
msgid "No"
msgstr "Non"
#: pcbnew/dialog_display_options.cpp:275
#: eeschema/dialog_options.cpp:267
#: eeschema/options.cpp:204
msgid "Show page limits"
msgstr " Afficher limites de page"
#: pcbnew/edgemod.cpp:212
msgid "New Width (1/10000\"):"
msgstr "Novelle largeur (1/10000\"):"
#: pcbnew/edgemod.cpp:217
msgid "Incorrect number, no change"
msgstr "Nombre incorrect, pas de changement"
#: pcbnew/reglage.cpp:124
msgid "Lib Modules:"
msgstr "Lib Modules:"
#: pcbnew/modules.cpp:74
msgid "Footprint name:"
msgstr "Nom Module: "
#: pcbnew/modules.cpp:262
#: pcbnew/onrightclick.cpp:640
msgid "Delete Module"
msgstr "Supprimer Module"
#: pcbnew/modules.cpp:263
msgid "Value "
msgstr "Valeur "
#: pcbnew/dialog_drc.cpp:141
#: eeschema/fieldedi.cpp:223
#: eeschema/dialog_erc.cpp:237
#: eeschema/dialog_edit_component_in_lib.cpp:166
#: eeschema/dialog_create_component.cpp:176
#: eeschema/libedpart.cpp:241
#: eeschema/dialog_edit_component_in_schematic.cpp:204
#: eeschema/editpart.cpp:204
#: eeschema/dialog_build_BOM.cpp:279
#: cvpcb/dialog_display_options.h:43
msgid "Options"
msgstr "Options"
#: pcbnew/dialog_drc.cpp:153
msgid "Test Drc:"
msgstr "Test Drc:"
#: pcbnew/dialog_drc.cpp:157
msgid "Include pad to pad test"
msgstr "Inclure test pad pad"
#: pcbnew/dialog_drc.cpp:161
msgid "Include unconnected"
msgstr "Inclure non connexions"
#: pcbnew/dialog_drc.cpp:165
#: pcbnew/block.cpp:136
msgid "Include zones"
msgstr "Inclure zones"
#: pcbnew/dialog_drc.cpp:169
msgid "Create Report file"
msgstr "Crer fichier rapport "
#: pcbnew/dialog_drc.cpp:182
msgid "Test Drc"
msgstr "Test Drc"
#: pcbnew/dialog_drc.cpp:186 #: pcbnew/dialog_display_options.cpp:272
msgid "Stop Drc" #: pcbnew/affiche.cpp:43
msgstr "Stop Drc" #: pcbnew/affiche.cpp:87
#: eeschema/dialog_options.cpp:264
#: eeschema/options.cpp:202
#: gerbview/affiche.cpp:39
msgid "Yes"
msgstr "Oui"
#: pcbnew/dialog_drc.cpp:193 #: pcbnew/dialog_display_options.cpp:273
msgid "Del Markers" #: pcbnew/affiche.cpp:42
msgstr "Supprimer Marqueurs" #: pcbnew/affiche.cpp:86
#: eeschema/dialog_options.cpp:265
#: eeschema/options.cpp:202
#: gerbview/affiche.cpp:38
msgid "No"
msgstr "Non"
#: pcbnew/dialog_drc.cpp:197 #: pcbnew/dialog_display_options.cpp:275
msgid "List Unconn" #: eeschema/dialog_options.cpp:267
msgstr "Liste Non Conn." #: eeschema/options.cpp:204
msgid "Show page limits"
msgstr " Afficher limites de page"
#: pcbnew/dialog_drc.cpp:204 #: pcbnew/edgemod.cpp:212
msgid "Report File" msgid "New Width (1/10000\"):"
msgstr "Fichier rapport" msgstr "Novelle largeur (1/10000\"):"
#: pcbnew/dialog_drc.cpp:208 #: pcbnew/edgemod.cpp:217
#: pcbnew/dialog_edit_module.cpp:375 msgid "Incorrect number, no change"
#: eeschema/dialog_eeschema_config.cpp:227 msgstr "Nombre incorrect, pas de changement"
msgid "Browse"
msgstr "Examiner"
#: pcbnew/dialog_drc.cpp:215 #: pcbnew/reglage.cpp:124
#: common/svg_print.cpp:232 msgid "Lib Modules:"
#: share/svg_print.cpp:232 msgstr "Lib Modules:"
msgid "Messages:"
msgstr "Messages:"
#: pcbnew/block.cpp:128 #: pcbnew/block.cpp:128
msgid "Include Modules" msgid "Include Modules"
...@@ -2312,6 +2225,11 @@ msgstr "Inclure Modules" ...@@ -2312,6 +2225,11 @@ msgstr "Inclure Modules"
msgid "Include tracks" msgid "Include tracks"
msgstr "Inclure Pistes" msgstr "Inclure Pistes"
#: pcbnew/block.cpp:136
#: pcbnew/dialog_drc.cpp:165
msgid "Include zones"
msgstr "Inclure zones"
#: pcbnew/block.cpp:141 #: pcbnew/block.cpp:141
msgid "Include Text on copper layers" msgid "Include Text on copper layers"
msgstr "Inclure Texte sur couches cuivre" msgstr "Inclure Texte sur couches cuivre"
...@@ -2480,6 +2398,38 @@ msgstr "Change Per ...@@ -2480,6 +2398,38 @@ msgstr "Change Per
msgid "Change Orient" msgid "Change Orient"
msgstr "Change Orientation" msgstr "Change Orientation"
#: pcbnew/autoplac.cpp:106
msgid "Footprints NOT LOCKED will be moved"
msgstr "Les modules NON FIXES vont tre dplacs"
#: pcbnew/autoplac.cpp:111
msgid "Footprints NOT PLACED will be moved"
msgstr "Les modules NON PLACES vont tre dplacs"
#: pcbnew/autoplac.cpp:402
msgid "No edge PCB, Unknown board size!"
msgstr "Pas de contour PCB, la taille du PCB est inconnue!"
#: pcbnew/autoplac.cpp:423
msgid "Cols"
msgstr "Cols"
#: pcbnew/autoplac.cpp:425
msgid "Lines"
msgstr "Lignes"
#: pcbnew/autoplac.cpp:427
msgid "Cells."
msgstr "Cells."
#: pcbnew/autoplac.cpp:488
msgid "Loop"
msgstr "Itration"
#: pcbnew/autoplac.cpp:642
msgid "Ok to abort ?"
msgstr "Ok pour arrter ?"
#: pcbnew/editmod.cpp:137 #: pcbnew/editmod.cpp:137
msgid "Text is REFERENCE!" msgid "Text is REFERENCE!"
msgstr "Le texte est la REFERENCE!" msgstr "Le texte est la REFERENCE!"
...@@ -2518,15 +2468,6 @@ msgstr "Effacement des Modules?" ...@@ -2518,15 +2468,6 @@ msgstr "Effacement des Modules?"
msgid "Delete Pcb Texts" msgid "Delete Pcb Texts"
msgstr "Effacer Textes Pcb" msgstr "Effacer Textes Pcb"
#: pcbnew/hotkeys.cpp:174
#, c-format
msgid "Footprint %s found, but locked"
msgstr "Module %s trouv, mais verrouill"
#: pcbnew/hotkeys.cpp:314
msgid "Delete module?"
msgstr "Effacer Module?"
#: pcbnew/cotation.cpp:88 #: pcbnew/cotation.cpp:88
msgid "Cotation properties" msgid "Cotation properties"
msgstr "Proprits des Cotations" msgstr "Proprits des Cotations"
...@@ -2562,6 +2503,43 @@ msgstr "COTATION" ...@@ -2562,6 +2503,43 @@ msgstr "COTATION"
msgid "PCB Text" msgid "PCB Text"
msgstr "Texte Pcb" msgstr "Texte Pcb"
#: pcbnew/affiche.cpp:36
#: pcbnew/affiche.cpp:91
#: pcbnew/affiche.cpp:95
#: pcbnew/affiche.cpp:195
#: pcbnew/affiche.cpp:244
#: pcbnew/sel_layer.cpp:121
#: pcbnew/class_pad.cpp:908
#: pcbnew/class_module.cpp:1112
#: pcbnew/dialog_edit_module.cpp:230
#: gerbview/affiche.cpp:102
msgid "Layer"
msgstr "Couche"
#: pcbnew/affiche.cpp:47
#: pcbnew/affiche.cpp:103
#: pcbnew/class_pad.cpp:954
#: pcbnew/class_module.cpp:1135
#: pcbnew/dialog_edit_module.cpp:238
#: eeschema/affiche.cpp:101
#: gerbview/affiche.cpp:43
msgid "Orient"
msgstr "Orient"
#: pcbnew/affiche.cpp:53
#: pcbnew/affiche.cpp:109
#: pcbnew/class_pad.cpp:925
#: gerbview/affiche.cpp:49
msgid "H Size"
msgstr "Taille H"
#: pcbnew/affiche.cpp:56
#: pcbnew/affiche.cpp:112
#: pcbnew/class_pad.cpp:929
#: gerbview/affiche.cpp:52
msgid "V Size"
msgstr "Taille V"
#: pcbnew/affiche.cpp:69 #: pcbnew/affiche.cpp:69
msgid "Ref." msgid "Ref."
msgstr "Ref." msgstr "Ref."
...@@ -2581,6 +2559,14 @@ msgstr "Valeur" ...@@ -2581,6 +2559,14 @@ msgstr "Valeur"
msgid "Text" msgid "Text"
msgstr "Texte" msgstr "Texte"
#: pcbnew/affiche.cpp:76
#: pcbnew/affiche.cpp:266
#: pcbnew/class_pad.cpp:819
#: pcbnew/class_module.cpp:1138
#: cvpcb/setvisu.cpp:29
msgid "Module"
msgstr "Module"
#: pcbnew/affiche.cpp:82 #: pcbnew/affiche.cpp:82
#: pcbnew/affiche.cpp:146 #: pcbnew/affiche.cpp:146
#: pcbnew/affiche.cpp:231 #: pcbnew/affiche.cpp:231
...@@ -2619,7 +2605,7 @@ msgid "Standard" ...@@ -2619,7 +2605,7 @@ msgid "Standard"
msgstr "Standard" msgstr "Standard"
#: pcbnew/affiche.cpp:182 #: pcbnew/affiche.cpp:182
#: pcbnew/class_module.cpp:1129 #: pcbnew/class_module.cpp:1131
msgid "Stat" msgid "Stat"
msgstr "Stat" msgstr "Stat"
...@@ -2640,7 +2626,7 @@ msgid "Seg" ...@@ -2640,7 +2626,7 @@ msgid "Seg"
msgstr "Seg" msgstr "Seg"
#: pcbnew/affiche.cpp:271 #: pcbnew/affiche.cpp:271
#: pcbnew/class_module.cpp:1106 #: pcbnew/class_module.cpp:1108
msgid "TimeStamp" msgid "TimeStamp"
msgstr "TimeStamp" msgstr "TimeStamp"
...@@ -2654,7 +2640,7 @@ msgstr "Couche Seg." ...@@ -2654,7 +2640,7 @@ msgstr "Couche Seg."
#: pcbnew/affiche.cpp:302 #: pcbnew/affiche.cpp:302
#: pcbnew/affiche.cpp:362 #: pcbnew/affiche.cpp:362
#: pcbnew/class_module.cpp:1121 #: pcbnew/class_module.cpp:1123
msgid "Pads" msgid "Pads"
msgstr "Pads" msgstr "Pads"
...@@ -2721,8 +2707,8 @@ msgstr "Couches" ...@@ -2721,8 +2707,8 @@ msgstr "Couches"
#: pcbnew/swap_layers.cpp:92 #: pcbnew/swap_layers.cpp:92
#: pcbnew/pcbpiste.cpp:93 #: pcbnew/pcbpiste.cpp:93
#: pcbnew/sel_layer.cpp:118 #: pcbnew/sel_layer.cpp:131
#: pcbnew/sel_layer.cpp:245 #: pcbnew/sel_layer.cpp:263
#: eeschema/optionsframe.cpp:151 #: eeschema/optionsframe.cpp:151
#: eeschema/options.cpp:110 #: eeschema/options.cpp:110
#: gerbview/select_layers_to_pcb.cpp:131 #: gerbview/select_layers_to_pcb.cpp:131
...@@ -2761,7 +2747,7 @@ msgid "Inches" ...@@ -2761,7 +2747,7 @@ msgid "Inches"
msgstr "Pouces" msgstr "Pouces"
#: pcbnew/set_grid.cpp:148 #: pcbnew/set_grid.cpp:148
#: share/drawframe.cpp:349 #: share/drawframe.cpp:376
msgid "mm" msgid "mm"
msgstr "mm" msgstr "mm"
...@@ -3016,38 +3002,21 @@ msgstr "Change module %s (%s) " ...@@ -3016,38 +3002,21 @@ msgstr "Change module %s (%s) "
msgid "Cmp files:" msgid "Cmp files:"
msgstr "Fichiers Cmp: " msgstr "Fichiers Cmp: "
#: pcbnew/files.cpp:57 #: pcbnew/sel_layer.cpp:81
msgid "Recovery file " msgid "Select Layer:"
msgstr "Fichier de secours " msgstr "Selection couche:"
#: pcbnew/files.cpp:63
msgid "Ok to load Recovery file "
msgstr "Ok pour charger le fichier de secours"
#: pcbnew/files.cpp:143
msgid "Board Modified: Continue ?"
msgstr "Circuit imprim modifi, Continuer ?"
#: pcbnew/files.cpp:161
#: pcbnew/files.cpp:261
msgid "Board files:"
msgstr "Fichiers C.I.:"
#: pcbnew/files.cpp:297
msgid "Warning: unable to create bakfile "
msgstr "Attention: Impossible de crer fichier backup "
#: pcbnew/files.cpp:329 #: pcbnew/sel_layer.cpp:215
msgid "Backup file: " msgid "Select Layer Pair:"
msgstr "Fichier backup: " msgstr "Selection paire de couches"
#: pcbnew/files.cpp:334 #: pcbnew/sel_layer.cpp:249
msgid "Write Board file: " msgid "Top Layer"
msgstr "Ecriture fichier CI: " msgstr "Couche Sup."
#: pcbnew/files.cpp:336 #: pcbnew/sel_layer.cpp:256
msgid "Failed to create " msgid "Bottom Layer"
msgstr "Impossible de crer fichier " msgstr "Couche Inf."
#: pcbnew/pcbplot.cpp:114 #: pcbnew/pcbplot.cpp:114
#: pcbnew/pcbplot.cpp:203 #: pcbnew/pcbplot.cpp:203
...@@ -3207,55 +3176,160 @@ msgstr "Per ...@@ -3207,55 +3176,160 @@ msgstr "Per
msgid "Pads Drill Opt" msgid "Pads Drill Opt"
msgstr "Options perage" msgstr "Options perage"
#: pcbnew/pcbplot.cpp:313 #: pcbnew/pcbplot.cpp:313
msgid "Auto scale" msgid "Auto scale"
msgstr "Ech. auto" msgstr "Ech. auto"
#: pcbnew/pcbplot.cpp:313
msgid "Scale 1"
msgstr "Echelle 1"
#: pcbnew/pcbplot.cpp:313
msgid "Scale 1.5"
msgstr "Echelle 1,5"
#: pcbnew/pcbplot.cpp:313
#: share/dialog_print.cpp:142
msgid "Scale 2"
msgstr "Echelle 2"
#: pcbnew/pcbplot.cpp:313
#: share/dialog_print.cpp:143
msgid "Scale 3"
msgstr "Echelle 3"
#: pcbnew/pcbplot.cpp:315
msgid "Scale Opt"
msgstr "Echelle"
#: pcbnew/pcbplot.cpp:321
msgid "Plot Mode"
msgstr "Mode de Trac"
#: pcbnew/pcbplot.cpp:328
msgid "Plot Mirror"
msgstr "Trac Miroir"
#: pcbnew/pcbplot.cpp:333
msgid "Vias on Mask"
msgstr "Vias sur masque"
#: pcbnew/pcbplot.cpp:336
msgid "Print/plot vias on mask layers. They are in this case not protected"
msgstr "Trace vias sur vernis pargne. Elles seront non protges"
#: pcbnew/pcbplot.cpp:340
msgid "Org = Centre"
msgstr "Org = Centre"
#: pcbnew/pcbplot.cpp:342
msgid "Draw origin ( 0,0 ) in sheet center"
msgstr "Origine des tracs au centre de la feuille"
#: pcbnew/class_pad.cpp:733
msgid "Unknown Pad shape"
msgstr "Forme pad inconnue"
#: pcbnew/class_pad.cpp:822
msgid "RefP"
msgstr "RefP"
#: pcbnew/class_pad.cpp:825
msgid "Net"
msgstr "Net"
#: pcbnew/class_pad.cpp:943
msgid "Drill X / Y"
msgstr "Perage X/Y"
#: pcbnew/class_pad.cpp:958
msgid "X Pos"
msgstr "X Pos"
#: pcbnew/class_pad.cpp:962
msgid "Y pos"
msgstr "Y pos"
#: pcbnew/dialog_drc.cpp:141
#: eeschema/fieldedi.cpp:223
#: eeschema/dialog_erc.cpp:237
#: eeschema/dialog_edit_component_in_lib.cpp:166
#: eeschema/dialog_create_component.cpp:176
#: eeschema/libedpart.cpp:241
#: eeschema/dialog_edit_component_in_schematic.cpp:204
#: eeschema/editpart.cpp:204
#: eeschema/dialog_build_BOM.cpp:279
#: cvpcb/dialog_display_options.h:44
msgid "Options"
msgstr "Options"
#: pcbnew/dialog_drc.cpp:153
msgid "Test Drc:"
msgstr "Test Drc:"
#: pcbnew/dialog_drc.cpp:157
msgid "Include pad to pad test"
msgstr "Inclure test pad pad"
#: pcbnew/dialog_drc.cpp:161
msgid "Include unconnected"
msgstr "Inclure non connexions"
#: pcbnew/dialog_drc.cpp:169
msgid "Create Report file"
msgstr "Crer fichier rapport "
#: pcbnew/dialog_drc.cpp:182
msgid "Test Drc"
msgstr "Test Drc"
#: pcbnew/pcbplot.cpp:313 #: pcbnew/dialog_drc.cpp:186
msgid "Scale 1" msgid "Stop Drc"
msgstr "Echelle 1" msgstr "Stop Drc"
#: pcbnew/pcbplot.cpp:313 #: pcbnew/dialog_drc.cpp:193
msgid "Scale 1.5" msgid "Del Markers"
msgstr "Echelle 1,5" msgstr "Supprimer Marqueurs"
#: pcbnew/pcbplot.cpp:313 #: pcbnew/dialog_drc.cpp:197
#: share/dialog_print.cpp:142 msgid "List Unconn"
msgid "Scale 2" msgstr "Liste Non Conn."
msgstr "Echelle 2"
#: pcbnew/pcbplot.cpp:313 #: pcbnew/dialog_drc.cpp:204
#: share/dialog_print.cpp:143 msgid "Report File"
msgid "Scale 3" msgstr "Fichier rapport"
msgstr "Echelle 3"
#: pcbnew/pcbplot.cpp:315 #: pcbnew/dialog_drc.cpp:208
msgid "Scale Opt" #: pcbnew/dialog_edit_module.cpp:375
msgstr "Echelle" #: eeschema/dialog_eeschema_config.cpp:227
msgid "Browse"
msgstr "Examiner"
#: pcbnew/pcbplot.cpp:321 #: pcbnew/dialog_drc.cpp:215
msgid "Plot Mode" #: common/svg_print.cpp:232
msgstr "Mode de Trac" #: share/svg_print.cpp:232
msgid "Messages:"
msgstr "Messages:"
#: pcbnew/pcbplot.cpp:328 #: pcbnew/dialog_drc.cpp:347
msgid "Plot Mirror" msgid "DRC Report file"
msgstr "Trac Miroir" msgstr "Fichier rapport de contrle DRC:"
#: pcbnew/pcbplot.cpp:333 #: pcbnew/class_module.cpp:1102
msgid "Vias on Mask" msgid "Last Change"
msgstr "Vias sur masque" msgstr "Last Change"
#: pcbnew/pcbplot.cpp:336 #: pcbnew/class_module.cpp:1141
msgid "Print/plot vias on mask layers. They are in this case not protected" msgid "3D-Shape"
msgstr "Trace vias sur vernis pargne. Elles seront non protges" msgstr "Forme 3D"
#: pcbnew/pcbplot.cpp:340 #: pcbnew/class_module.cpp:1145
msgid "Org = Centre" msgid "Doc: "
msgstr "Org = Centre" msgstr "Doc: "
#: pcbnew/pcbplot.cpp:342 #: pcbnew/class_module.cpp:1146
msgid "Draw origin ( 0,0 ) in sheet center" msgid "KeyW: "
msgstr "Origine des tracs au centre de la feuille" msgstr "KeyW: "
#: pcbnew/menubarpcb.cpp:41 #: pcbnew/menubarpcb.cpp:41
msgid "Load Board Ctrl-O" msgid "Load Board Ctrl-O"
...@@ -3458,7 +3532,7 @@ msgstr "Ajuster dims et taille des pistes et vias" ...@@ -3458,7 +3532,7 @@ msgstr "Ajuster dims et taille des pistes et vias"
#: pcbnew/menubarpcb.cpp:195 #: pcbnew/menubarpcb.cpp:195
#: pcbnew/menubarmodedit.cpp:50 #: pcbnew/menubarmodedit.cpp:50
#: pcbnew/set_grid.h:39 #: pcbnew/set_grid.h:40
msgid "User Grid Size" msgid "User Grid Size"
msgstr "Dim Grille utilisteur" msgstr "Dim Grille utilisteur"
...@@ -3468,7 +3542,7 @@ msgid "Adjust User Grid" ...@@ -3468,7 +3542,7 @@ msgid "Adjust User Grid"
msgstr "Ajuster Grille utilisateur" msgstr "Ajuster Grille utilisateur"
#: pcbnew/menubarpcb.cpp:200 #: pcbnew/menubarpcb.cpp:200
#: pcbnew/dialog_graphic_items_options.h:38 #: pcbnew/dialog_graphic_items_options.h:39
msgid "Texts and Drawings" msgid "Texts and Drawings"
msgstr "Textes et Tracs" msgstr "Textes et Tracs"
...@@ -4190,21 +4264,13 @@ msgstr "Effacer" ...@@ -4190,21 +4264,13 @@ msgstr "Effacer"
msgid "Pcb Text" msgid "Pcb Text"
msgstr "Texte Pcb" msgstr "Texte Pcb"
#: pcbnew/class_module.cpp:1100 #: pcbnew/move_or_drag_track.cpp:710
msgid "Last Change" msgid "Unable to drag this segment: too many segments connected"
msgstr "Last Change" msgstr "Impossible de drag ce segment: trop de segments connects"
#: pcbnew/class_module.cpp:1139
msgid "3D-Shape"
msgstr "Forme 3D"
#: pcbnew/class_module.cpp:1143
msgid "Doc: "
msgstr "Doc: "
#: pcbnew/class_module.cpp:1144 #: pcbnew/move_or_drag_track.cpp:763
msgid "KeyW: " msgid "Unable to drag this segment: two collinear segments"
msgstr "KeyW: " msgstr "Impossible de drag ce segment: 2 segments aligns"
#: pcbnew/netlist.cpp:95 #: pcbnew/netlist.cpp:95
#, c-format #, c-format
...@@ -4281,7 +4347,7 @@ msgid "Board modified, Save before exit ?" ...@@ -4281,7 +4347,7 @@ msgid "Board modified, Save before exit ?"
msgstr "Circuit Imprim modifie, Sauver avant de quitter ?" msgstr "Circuit Imprim modifie, Sauver avant de quitter ?"
#: pcbnew/pcbframe.cpp:254 #: pcbnew/pcbframe.cpp:254
#: eeschema/schframe.cpp:182 #: eeschema/schframe.cpp:185
#: cvpcb/cvframe.cpp:169 #: cvpcb/cvframe.cpp:169
#: common/confirm.cpp:109 #: common/confirm.cpp:109
msgid "Confirmation" msgid "Confirmation"
...@@ -4304,12 +4370,12 @@ msgid "Display Polar Coords" ...@@ -4304,12 +4370,12 @@ msgid "Display Polar Coords"
msgstr "Affichage coord Polaires" msgstr "Affichage coord Polaires"
#: pcbnew/pcbframe.cpp:361 #: pcbnew/pcbframe.cpp:361
#: eeschema/schframe.cpp:260 #: eeschema/schframe.cpp:263
msgid "Grid not show" msgid "Grid not show"
msgstr "Grille non montre" msgstr "Grille non montre"
#: pcbnew/pcbframe.cpp:361 #: pcbnew/pcbframe.cpp:361
#: eeschema/schframe.cpp:260 #: eeschema/schframe.cpp:263
msgid "Show Grid" msgid "Show Grid"
msgstr "Afficher grille" msgstr "Afficher grille"
...@@ -4378,22 +4444,6 @@ msgstr "Ne peut pas r ...@@ -4378,22 +4444,6 @@ msgstr "Ne peut pas r
msgid "Tracks" msgid "Tracks"
msgstr "Pistes" msgstr "Pistes"
#: pcbnew/sel_layer.cpp:75
msgid "Select Layer:"
msgstr "Selection couche:"
#: pcbnew/sel_layer.cpp:196
msgid "Select Layer Pair:"
msgstr "Selection paire de couches"
#: pcbnew/sel_layer.cpp:230
msgid "Top Layer"
msgstr "Couche Sup."
#: pcbnew/sel_layer.cpp:237
msgid "Bottom Layer"
msgstr "Couche Inf."
#: pcbnew/set_color.cpp:50 #: pcbnew/set_color.cpp:50
msgid "Copper Layers" msgid "Copper Layers"
msgstr "Couches Cuivre." msgstr "Couches Cuivre."
...@@ -4506,53 +4556,6 @@ msgstr "Infos:" ...@@ -4506,53 +4556,6 @@ msgstr "Infos:"
msgid "Sizes and Widths" msgid "Sizes and Widths"
msgstr "Dims. et Epaiss." msgstr "Dims. et Epaiss."
#: pcbnew/move_or_drag_track.cpp:640
msgid "Unable to drag this segment: too many segments connected"
msgstr "Impossible de drag ce segment: trop de segments connects"
#: pcbnew/move_or_drag_track.cpp:690
msgid "Unable to drag this segment: two collinear segments"
msgstr "Impossible de drag ce segment: 2 segments aligns"
#: pcbnew/find.cpp:130
msgid "Marker found"
msgstr "Marqueur trouv"
#: pcbnew/find.cpp:131
#, c-format
msgid "<%s> Found"
msgstr "<%s> trouv"
#: pcbnew/find.cpp:139
msgid "Marker not found"
msgstr "Marqueur non trouv"
#: pcbnew/find.cpp:140
#, c-format
msgid "<%s> Not Found"
msgstr "<%s> Non trouv"
#: pcbnew/find.cpp:232
#: eeschema/dialog_find.cpp:107
msgid "Item to find:"
msgstr "Elment a chercher:"
#: pcbnew/find.cpp:244
msgid "Find Item"
msgstr "Chercher Item"
#: pcbnew/find.cpp:249
msgid "Find Next Item"
msgstr "Chercher Item Suivant"
#: pcbnew/find.cpp:256
msgid "Find Marker"
msgstr "Chercher Marqueur"
#: pcbnew/find.cpp:260
msgid "Find Next Marker"
msgstr "Marqueur Suivant"
#: pcbnew/dialog_general_options.cpp:263 #: pcbnew/dialog_general_options.cpp:263
#: gerbview/options.cpp:181 #: gerbview/options.cpp:181
msgid "No Display" msgid "No Display"
...@@ -5289,7 +5292,7 @@ msgid "Add graphic text (comment)" ...@@ -5289,7 +5292,7 @@ msgid "Add graphic text (comment)"
msgstr "Addition de textes graphiques (commentaires)" msgstr "Addition de textes graphiques (commentaires)"
#: eeschema/tool_sch.cpp:263 #: eeschema/tool_sch.cpp:263
#: eeschema/schframe.cpp:270 #: eeschema/schframe.cpp:273
msgid "Show Hidden Pins" msgid "Show Hidden Pins"
msgstr "Force affichage des pins invisibles" msgstr "Force affichage des pins invisibles"
...@@ -5640,75 +5643,21 @@ msgstr "Incr ...@@ -5640,75 +5643,21 @@ msgstr "Incr
msgid "Default Label Size" msgid "Default Label Size"
msgstr "Taille Label par dfaut:" msgstr "Taille Label par dfaut:"
#: eeschema/netlist_control.cpp:98 #: eeschema/schframe.cpp:184
#: eeschema/netlist_control.cpp:252 msgid "Schematic modified, Save before exit ?"
#: gerbview/options.cpp:207 msgstr "Schematique modifie, Sauver avant de quitter ?"
msgid "Default format"
msgstr "Format par dfaut"
#: eeschema/netlist_control.cpp:112
msgid "&Browse Plugin"
msgstr "&Examen Plugins"
#: eeschema/netlist_control.cpp:117
msgid "&Netlist"
msgstr "&Netliste"
#: eeschema/netlist_control.cpp:181
#: eeschema/netlist_control.cpp:267
msgid "Netlist"
msgstr "Netliste"
#: eeschema/netlist_control.cpp:256
msgid "Use Net Names"
msgstr "Utiliser nom de net"
#: eeschema/netlist_control.cpp:256
msgid "Use Net Numbers"
msgstr "Utiliser numro de net"
#: eeschema/netlist_control.cpp:257
msgid "Netlist Options:"
msgstr "Options de netliste:"
#: eeschema/netlist_control.cpp:264
msgid "Simulator command:"
msgstr "Simulateur commande:"
#: eeschema/netlist_control.cpp:271
msgid "&Run Simulator"
msgstr "&Simulateur"
#: eeschema/netlist_control.cpp:303
msgid "Add Plugin"
msgstr "Ajouter Plugin"
#: eeschema/netlist_control.cpp:315
msgid "Netlist command:"
msgstr "Commande netliste:"
#: eeschema/netlist_control.cpp:319
#: share/setpage.cpp:262
msgid "Title:"
msgstr "Titre:"
#: eeschema/netlist_control.cpp:334
msgid "Plugin files:"
msgstr "Fichiers Plugins:"
#: eeschema/netlist_control.cpp:354 #: eeschema/schframe.cpp:273
msgid "" msgid "No show Hidden Pins"
"Now, you must choose a title for this netlist control page\n" msgstr "N'affichage pas les pins invisibles"
"and close the dialog box"
msgstr "Maitenant, vous devez choisir un titre pour cette page de controle de netliste"
#: eeschema/netlist_control.cpp:433 #: eeschema/schframe.cpp:276
msgid "Netlist files:" msgid "Draw lines at any direction"
msgstr "Fichiers Netlist:" msgstr "Tracer traits de direction quelconque"
#: eeschema/netlist_control.cpp:449 #: eeschema/schframe.cpp:277
msgid "Must be Annotated, Continue ?" msgid "Draw lines H, V or 45 deg only"
msgstr "Annotation ncessaire, continuer?" msgstr "Tracer traits H, V ou 45 deg seulement"
#: eeschema/dialog_erc.cpp:171 #: eeschema/dialog_erc.cpp:171
#: eeschema/dialog_erc.cpp:202 #: eeschema/dialog_erc.cpp:202
...@@ -5840,27 +5789,81 @@ msgstr " en librairie " ...@@ -5840,27 +5789,81 @@ msgstr " en librairie "
msgid "Delete old component ?" msgid "Delete old component ?"
msgstr "Supprimer ancien composant ?" msgstr "Supprimer ancien composant ?"
#: eeschema/libedit.cpp:391 #: eeschema/libedit.cpp:391
msgid " exists in library " msgid " exists in library "
msgstr " existe en librairie " msgstr " existe en librairie "
#: eeschema/libedit.cpp:558
msgid "Warning: No component to Save"
msgstr "Attention: pas de composant sauver"
#: eeschema/libedit.cpp:565
msgid "No Library specified"
msgstr "Pas de Librairie spcifie"
#: eeschema/libedit.cpp:576
#, c-format
msgid "Component %s exists, Change it ?"
msgstr "Le composant %s existe, Le changer ?"
#: eeschema/libedit.cpp:615
#, c-format
msgid "Component %s saved in %s"
msgstr "Composant %s sauv en %s"
#: eeschema/eeschema.cpp:56
msgid "Eeschema is already running, Continue?"
msgstr "Eeschema est est cours d'excution. Continuer ?"
#: eeschema/find.cpp:165
#, c-format
msgid "Marker %d found in %s"
msgstr "Marqueur %d trouv en %s "
#: eeschema/find.cpp:171
msgid "Marker Not Found"
msgstr "Marqueur non trouv"
#: eeschema/find.cpp:396
msgid " Found in "
msgstr " Trouv en "
#: eeschema/find.cpp:408
msgid " Not Found"
msgstr " Non trouv"
#: eeschema/find.cpp:440
#: eeschema/selpart.cpp:39
msgid "No libraries are loaded"
msgstr "Pas de librairies charges"
#: eeschema/find.cpp:467
#: eeschema/find.cpp:531
#: eeschema/find.cpp:546
msgid "Found "
msgstr "Trouv "
#: eeschema/libedit.cpp:558 #: eeschema/find.cpp:469
msgid "Warning: No component to Save" #: eeschema/find.cpp:532
msgstr "Attention: pas de composant sauver" #: eeschema/find.cpp:547
msgid " in lib "
msgstr " en libr. "
#: eeschema/libedit.cpp:565 #: eeschema/find.cpp:480
msgid "No Library specified" msgid " found only in cache"
msgstr "Pas de Librairie spcifie" msgstr "trouv seulement en cache"
#: eeschema/libedit.cpp:576 #: eeschema/find.cpp:483
#, c-format msgid ""
msgid "Component %s exists, Change it ?" "\n"
msgstr "Le composant %s existe, Le changer ?" "Explore All Libraries?"
msgstr ""
"\n"
"Explorer toutes les Librairies?"
#: eeschema/libedit.cpp:615 #: eeschema/find.cpp:489
#, c-format msgid "Nothing found"
msgid "Component %s saved in %s" msgstr " Rien trouv"
msgstr "Composant %s sauv en %s"
#: eeschema/schedit.cpp:277 #: eeschema/schedit.cpp:277
msgid "Push/Pop Hierarchy" msgid "Push/Pop Hierarchy"
...@@ -5871,6 +5874,7 @@ msgid "Add NoConnect Flag" ...@@ -5871,6 +5874,7 @@ msgid "Add NoConnect Flag"
msgstr "Ajoutde symboles de non connexion" msgstr "Ajoutde symboles de non connexion"
#: eeschema/schedit.cpp:285 #: eeschema/schedit.cpp:285
#: eeschema/hotkeys.cpp:294
msgid "Add Wire" msgid "Add Wire"
msgstr "Ajouter Fils" msgstr "Ajouter Fils"
...@@ -5911,6 +5915,7 @@ msgid "Import PinSheet" ...@@ -5911,6 +5915,7 @@ msgid "Import PinSheet"
msgstr "Importer Connecteur de hirarchie" msgstr "Importer Connecteur de hirarchie"
#: eeschema/schedit.cpp:333 #: eeschema/schedit.cpp:333
#: eeschema/hotkeys.cpp:276
msgid "Add Component" msgid "Add Component"
msgstr "Ajout Composant" msgstr "Ajout Composant"
...@@ -5975,8 +5980,78 @@ msgstr " Convert" ...@@ -5975,8 +5980,78 @@ msgstr " Convert"
msgid " Normal" msgid " Normal"
msgstr " Normal" msgstr " Normal"
#: eeschema/netlist_control.cpp:98
#: eeschema/netlist_control.cpp:252
#: gerbview/options.cpp:207
msgid "Default format"
msgstr "Format par dfaut"
#: eeschema/netlist_control.cpp:112
msgid "&Browse Plugin"
msgstr "&Examen Plugins"
#: eeschema/netlist_control.cpp:117
msgid "&Netlist"
msgstr "&Netliste"
#: eeschema/netlist_control.cpp:181
#: eeschema/netlist_control.cpp:267
msgid "Netlist"
msgstr "Netliste"
#: eeschema/netlist_control.cpp:256
msgid "Use Net Names"
msgstr "Utiliser nom de net"
#: eeschema/netlist_control.cpp:256
msgid "Use Net Numbers"
msgstr "Utiliser numro de net"
#: eeschema/netlist_control.cpp:257
msgid "Netlist Options:"
msgstr "Options de netliste:"
#: eeschema/netlist_control.cpp:264
msgid "Simulator command:"
msgstr "Simulateur commande:"
#: eeschema/netlist_control.cpp:271
msgid "&Run Simulator"
msgstr "&Simulateur"
#: eeschema/netlist_control.cpp:303
msgid "Add Plugin"
msgstr "Ajouter Plugin"
#: eeschema/netlist_control.cpp:315
msgid "Netlist command:"
msgstr "Commande netliste:"
#: eeschema/netlist_control.cpp:319
#: share/setpage.cpp:262
msgid "Title:"
msgstr "Titre:"
#: eeschema/netlist_control.cpp:334
msgid "Plugin files:"
msgstr "Fichiers Plugins:"
#: eeschema/netlist_control.cpp:354
msgid ""
"Now, you must choose a title for this netlist control page\n"
"and close the dialog box"
msgstr "Maitenant, vous devez choisir un titre pour cette page de controle de netliste"
#: eeschema/netlist_control.cpp:433
msgid "Netlist files:"
msgstr "Fichiers Netlist:"
#: eeschema/netlist_control.cpp:449
msgid "Must be Annotated, Continue ?"
msgstr "Annotation ncessaire, continuer?"
#: eeschema/genliste.cpp:101 #: eeschema/genliste.cpp:101
#: eeschema/dialog_build_BOM.h:58 #: eeschema/dialog_build_BOM.h:59
msgid "List of Material" msgid "List of Material"
msgstr "Liste du Matriel" msgstr "Liste du Matriel"
...@@ -6110,10 +6185,6 @@ msgstr "> %-28.28s Sheet %-7.7s (feuille %.2d) pos: %3.3f, %3.3f\n" ...@@ -6110,10 +6185,6 @@ msgstr "> %-28.28s Sheet %-7.7s (feuille %.2d) pos: %3.3f, %3.3f\n"
msgid "#End labels\n" msgid "#End labels\n"
msgstr "#End labels\n" msgstr "#End labels\n"
#: eeschema/eeschema.cpp:56
msgid "Eeschema is already running, Continue?"
msgstr "Eeschema est est cours d'excution. Continuer ?"
#: eeschema/edit_component_in_schematic.cpp:177 #: eeschema/edit_component_in_schematic.cpp:177
#: eeschema/edit_component_in_lib.cpp:477 #: eeschema/edit_component_in_lib.cpp:477
msgid "Field to edit" msgid "Field to edit"
...@@ -6833,7 +6904,7 @@ msgstr "(alias de " ...@@ -6833,7 +6904,7 @@ msgstr "(alias de "
#: eeschema/libedpart.cpp:203 #: eeschema/libedpart.cpp:203
#: eeschema/edit_component_in_lib.cpp:153 #: eeschema/edit_component_in_lib.cpp:153
#: eeschema/dialog_edit_component_in_lib.h:43 #: eeschema/dialog_edit_component_in_lib.h:44
msgid "Lib Component Properties" msgid "Lib Component Properties"
msgstr "Proprits du composant librairie" msgstr "Proprits du composant librairie"
...@@ -6982,22 +7053,6 @@ msgstr "Ok pour effacer la LISTE des filtres de modules" ...@@ -6982,22 +7053,6 @@ msgstr "Ok pour effacer la LISTE des filtres de modules"
msgid "New FootprintFilter:" msgid "New FootprintFilter:"
msgstr "Nouveau \"Filtre de Modules" msgstr "Nouveau \"Filtre de Modules"
#: eeschema/schframe.cpp:181
msgid "Schematic modified, Save before exit ?"
msgstr "Schematique modifie, Sauver avant de quitter ?"
#: eeschema/schframe.cpp:270
msgid "No show Hidden Pins"
msgstr "N'affichage pas les pins invisibles"
#: eeschema/schframe.cpp:273
msgid "Draw lines at any direction"
msgstr "Tracer traits de direction quelconque"
#: eeschema/schframe.cpp:274
msgid "Draw lines H, V or 45 deg only"
msgstr "Tracer traits H, V ou 45 deg seulement"
#: eeschema/dialog_edit_component_in_schematic.cpp:70 #: eeschema/dialog_edit_component_in_schematic.cpp:70
#: eeschema/editpart.cpp:153 #: eeschema/editpart.cpp:153
msgid "Component properties (Not found in lib)" msgid "Component properties (Not found in lib)"
...@@ -7187,11 +7242,6 @@ msgstr "Remplissage:" ...@@ -7187,11 +7242,6 @@ msgstr "Remplissage:"
msgid "No new text: no change" msgid "No new text: no change"
msgstr "Pas de nouveau texte: pas de changements" msgstr "Pas de nouveau texte: pas de changements"
#: eeschema/selpart.cpp:39
#: eeschema/find.cpp:388
msgid "No libraries are loaded"
msgstr "Pas de librairies charges"
#: eeschema/selpart.cpp:45 #: eeschema/selpart.cpp:45
msgid "Select Lib" msgid "Select Lib"
msgstr "Slection librairie" msgstr "Slection librairie"
...@@ -7202,7 +7252,7 @@ msgid "Select component (%d items)" ...@@ -7202,7 +7252,7 @@ msgid "Select component (%d items)"
msgstr "Selection composant (%d items)" msgstr "Selection composant (%d items)"
#: eeschema/editpart.cpp:136 #: eeschema/editpart.cpp:136
#: eeschema/dialog_edit_component_in_schematic.h:52 #: eeschema/dialog_edit_component_in_schematic.h:53
msgid "Component properties" msgid "Component properties"
msgstr "Proprits du composant" msgstr "Proprits du composant"
...@@ -7210,51 +7260,6 @@ msgstr "Propri ...@@ -7210,51 +7260,6 @@ msgstr "Propri
msgid "Mirror |" msgid "Mirror |"
msgstr "Miroir |" msgstr "Miroir |"
#: eeschema/find.cpp:153
#, c-format
msgid "Marker %d found in %s"
msgstr "Marqueur %d trouv en %s "
#: eeschema/find.cpp:160
msgid "Marker Not Found"
msgstr "Marqueur non trouv"
#: eeschema/find.cpp:351
msgid " Found in "
msgstr "Trouv en "
#: eeschema/find.cpp:358
msgid " Not Found"
msgstr " Non trouv"
#: eeschema/find.cpp:410
#: eeschema/find.cpp:467
#: eeschema/find.cpp:481
msgid "Found "
msgstr "Trouv "
#: eeschema/find.cpp:412
#: eeschema/find.cpp:468
#: eeschema/find.cpp:482
msgid " in lib "
msgstr " en libr. "
#: eeschema/find.cpp:422
msgid " found only in cache"
msgstr "trouv seulement en cache"
#: eeschema/find.cpp:424
msgid ""
"\n"
"Explore All Libraries?"
msgstr ""
"\n"
"Explorer toutes les Librairies?"
#: eeschema/find.cpp:429
msgid "Nothing found"
msgstr " Rien trouv"
#: eeschema/symbedit.cpp:51 #: eeschema/symbedit.cpp:51
msgid "Import symbol drawings:" msgid "Import symbol drawings:"
msgstr "Importer les symboles:" msgstr "Importer les symboles:"
...@@ -7393,6 +7398,18 @@ msgstr "Tout" ...@@ -7393,6 +7398,18 @@ msgstr "Tout"
msgid "default" msgid "default"
msgstr "Dfaut" msgstr "Dfaut"
#: eeschema/hotkeys.cpp:178
msgid ""
"Current hotkey list:\n"
"\n"
msgstr ""
"Liste des Hotkeys courantes:\n"
"\n"
#: eeschema/hotkeys.cpp:183
msgid "key "
msgstr "touche: "
#: eeschema/eeload.cpp:44 #: eeschema/eeload.cpp:44
msgid "Clear Schematic Hierarchy (modified!)?" msgid "Clear Schematic Hierarchy (modified!)?"
msgstr "Effacer la hirarchie schmatique (modifie!)?" msgstr "Effacer la hirarchie schmatique (modifie!)?"
...@@ -8102,7 +8119,7 @@ msgid "Module %s not found" ...@@ -8102,7 +8119,7 @@ msgid "Module %s not found"
msgstr "Module %s non trouv" msgstr "Module %s non trouv"
#: cvpcb/displayframe.cpp:113 #: cvpcb/displayframe.cpp:113
#: pcbnew/dialog_display_options.h:43 #: pcbnew/dialog_display_options.h:44
msgid "Display Options" msgid "Display Options"
msgstr "Options d'affichage" msgstr "Options d'affichage"
...@@ -8242,7 +8259,7 @@ msgid "Delete selections" ...@@ -8242,7 +8259,7 @@ msgid "Delete selections"
msgstr "Effacement des associations existantes" msgstr "Effacement des associations existantes"
#: cvpcb/cvframe.cpp:396 #: cvpcb/cvframe.cpp:396
#: share/drawframe.cpp:124 #: share/drawframe.cpp:128
msgid "font for dialog boxes" msgid "font for dialog boxes"
msgstr "fonte pour boites de dialogue" msgstr "fonte pour boites de dialogue"
...@@ -8251,17 +8268,17 @@ msgid "font for Lists" ...@@ -8251,17 +8268,17 @@ msgid "font for Lists"
msgstr "fonte pour listes" msgstr "fonte pour listes"
#: cvpcb/cvframe.cpp:400 #: cvpcb/cvframe.cpp:400
#: share/drawframe.cpp:128 #: share/drawframe.cpp:132
msgid "font for Status Line" msgid "font for Status Line"
msgstr "fonte pour Ligne d'tat" msgstr "fonte pour Ligne d'tat"
#: cvpcb/cvframe.cpp:403 #: cvpcb/cvframe.cpp:403
#: share/drawframe.cpp:131 #: share/drawframe.cpp:135
msgid "&Font selection" msgid "&Font selection"
msgstr "Slection Fonte" msgstr "Slection Fonte"
#: cvpcb/cvframe.cpp:404 #: cvpcb/cvframe.cpp:404
#: share/drawframe.cpp:132 #: share/drawframe.cpp:136
msgid "Choose font type and size for dialogs, infos and status box" msgid "Choose font type and size for dialogs, infos and status box"
msgstr "Choisir les fontes et leur taille pour les dialogues, infos et ligne d'tat" msgstr "Choisir les fontes et leur taille pour les dialogues, infos et ligne d'tat"
...@@ -8384,7 +8401,7 @@ msgid "You must choose a PDF viewer before use this option" ...@@ -8384,7 +8401,7 @@ msgid "You must choose a PDF viewer before use this option"
msgstr "Vous devez choisir un Visualisateur PDF avant d'utiliser cette option" msgstr "Vous devez choisir un Visualisateur PDF avant d'utiliser cette option"
#: kicad/preferences.cpp:97 #: kicad/preferences.cpp:97
#: common/gestfich.cpp:586 #: common/gestfich.cpp:628
msgid "Prefered Editor:" msgid "Prefered Editor:"
msgstr "Editeur prfr:" msgstr "Editeur prfr:"
...@@ -9210,6 +9227,10 @@ msgstr " erreur" ...@@ -9210,6 +9227,10 @@ msgstr " erreur"
msgid "Colors" msgid "Colors"
msgstr "Couleurs" msgstr "Couleurs"
#: common/gestfich.cpp:622
msgid "No default editor found, you must choose it"
msgstr "Pas d'diteur par dfaut trouv, vous devez en choisir un"
#: common/block_commande.cpp:55 #: common/block_commande.cpp:55
msgid "Block Move" msgid "Block Move"
msgstr "Move Bloc" msgstr "Move Bloc"
...@@ -9316,10 +9337,6 @@ msgstr "Cor ...@@ -9316,10 +9337,6 @@ msgstr "Cor
msgid "Language" msgid "Language"
msgstr "Langage" msgstr "Langage"
#: common/gestfich.cpp:581
msgid "No default editor found, you must choose it"
msgstr "Pas d'diteur par dfaut trouv, vous devez en choisir un"
#: common/common.cpp:44 #: common/common.cpp:44
msgid " (\"):" msgid " (\"):"
msgstr " (\"):" msgstr " (\"):"
...@@ -9546,18 +9563,6 @@ msgstr "Cr ...@@ -9546,18 +9563,6 @@ msgstr "Cr
msgid "Choose background color" msgid "Choose background color"
msgstr "Choix Couleur du fond" msgstr "Choix Couleur du fond"
#: share/drawframe.cpp:126
msgid "font for info display"
msgstr "fonte pour affichage infos"
#: share/drawframe.cpp:346
msgid "Inch"
msgstr "Pouce"
#: share/drawframe.cpp:352
msgid "??"
msgstr "??"
#: share/wxprint.cpp:146 #: share/wxprint.cpp:146
msgid "Error Init Printer info" msgid "Error Init Printer info"
msgstr "Erreur Init info imprimante" msgstr "Erreur Init info imprimante"
...@@ -9764,19 +9769,31 @@ msgstr "Redessin" ...@@ -9764,19 +9769,31 @@ msgstr "Redessin"
msgid "Grid Select" msgid "Grid Select"
msgstr "Slection Grille" msgstr "Slection Grille"
#: share/infospgm.cpp:46 #: share/drawframe.cpp:130
msgid "font for info display"
msgstr "fonte pour affichage infos"
#: share/drawframe.cpp:372
msgid "Inch"
msgstr "Pouce"
#: share/drawframe.cpp:380
msgid "??"
msgstr "??"
#: share/infospgm.cpp:48
msgid "Build Version:" msgid "Build Version:"
msgstr "Build Version:" msgstr "Build Version:"
#: share/infospgm.cpp:61 #: share/infospgm.cpp:63
msgid "Author:" msgid "Author:"
msgstr "Autheur:" msgstr "Autheur:"
#: share/infospgm.cpp:62 #: share/infospgm.cpp:64
msgid "Based on wxWidgets " msgid "Based on wxWidgets "
msgstr "Based on wxWidgets " msgstr "Based on wxWidgets "
#: share/infospgm.cpp:67 #: share/infospgm.cpp:69
msgid "" msgid ""
"\n" "\n"
"\n" "\n"
...@@ -9786,7 +9803,7 @@ msgstr "" ...@@ -9786,7 +9803,7 @@ msgstr ""
"\n" "\n"
"GPL Licence" "GPL Licence"
#: share/infospgm.cpp:68 #: share/infospgm.cpp:70
msgid "" msgid ""
"\n" "\n"
"\n" "\n"
...@@ -9796,121 +9813,121 @@ msgstr "" ...@@ -9796,121 +9813,121 @@ msgstr ""
"\n" "\n"
"Sites Web:\n" "Sites Web:\n"
#: pcbnew/zones.h:53 #: pcbnew/find.h:39
msgid "Fill Zones Options" msgid "Find"
msgstr "Options de remplissage de Zone" msgstr "Chercher"
#: pcbnew/dialog_edit_mod_text.h:43
msgid "TextMod properties"
msgstr "Proprits du Texte sur Module"
#: pcbnew/dialog_initpcb.h:38
msgid "Global Delete"
msgstr "Effacements Gnraux"
#: pcbnew/gen_self.h:213 #: pcbnew/gen_self.h:217
msgid "Length(inch):" msgid "Length(inch):"
msgstr "Longueur (pouces):" msgstr "Longueur (pouces):"
#: pcbnew/gen_self.h:219 #: pcbnew/gen_self.h:223
msgid "Length(mm):" msgid "Length(mm):"
msgstr "Long. (mm):" msgstr "Long. (mm):"
#: pcbnew/gen_self.h:234 #: pcbnew/gen_self.h:239
msgid "Requested length < minimum length" msgid "Requested length < minimum length"
msgstr "Longueur demande < longueur minimum" msgstr "Longueur demande < longueur minimum"
#: pcbnew/gen_self.h:254 #: pcbnew/gen_self.h:260
msgid "Unable to create line: Requested length is too big" msgid "Unable to create line: Requested length is too big"
msgstr "Incapable de crer la ligne: longueur demande trop grande" msgstr "Incapable de crer la ligne: longueur demande trop grande"
#: pcbnew/gen_self.h:265 #: pcbnew/gen_self.h:271
#, c-format #, c-format
msgid "Segm count = %d, Lenght = " msgid "Segm count = %d, Lenght = "
msgstr "Nbr segm = %d, Longueur = " msgstr "Nbr segm = %d, Longueur = "
#: pcbnew/find.h:38 #: pcbnew/dialog_edit_mod_text.h:44
msgid "Find" msgid "TextMod properties"
msgstr "Chercher" msgstr "Proprits du Texte sur Module"
#: pcbnew/dialog_drc.h:57
msgid "DRC Control"
msgstr "Controle ERC"
#: pcbnew/zones.h:54
msgid "Fill Zones Options"
msgstr "Options de remplissage de Zone"
#: pcbnew/dialog_pad_edit.h:43 #: pcbnew/dialog_pad_edit.h:44
msgid "Pad properties" msgid "Pad properties"
msgstr "Proprits des Pads" msgstr "Proprits des Pads"
#: pcbnew/dialog_track_options.h:42 #: pcbnew/dialog_track_options.h:43
msgid "Tracks and Vias Sizes" msgid "Tracks and Vias Sizes"
msgstr "Dims pistes et vias" msgstr "Dims pistes et vias"
#: pcbnew/dialog_setup_libs.h:43 #: pcbnew/dialog_setup_libs.h:44
#: eeschema/dialog_edit_label.h:40 #: eeschema/dialog_edit_label.h:41
#: eeschema/dialog_eeschema_config.h:50 #: eeschema/dialog_eeschema_config.h:51
#: cvpcb/dialog_cvpcb_config.h:39 #: cvpcb/dialog_cvpcb_config.h:40
msgid "Dialog" msgid "Dialog"
msgstr "Dialog" msgstr "Dialog"
#: pcbnew/dialog_netlist.h:40 #: pcbnew/dialog_netlist.h:41
msgid "Netlist: " msgid "Netlist: "
msgstr "Netliste: " msgstr "Netliste: "
#: pcbnew/dialog_general_options.h:44 #: pcbnew/cleaningoptions_dialog.h:49
#: eeschema/dialog_options.h:55
msgid "General Options"
msgstr "Options gnrales"
#: pcbnew/dialog_drc.h:56
msgid "DRC Control"
msgstr "Controle ERC"
#: pcbnew/win_eda_cleaningoptionsframe.h:50 #: pcbnew/win_eda_cleaningoptionsframe.h:50
#: pcbnew/cleaningoptions_dialog.h:48
msgid "Cleaning options" msgid "Cleaning options"
msgstr "Options de nettoyage" msgstr "Options de nettoyage"
#: eeschema/sheet.h:43 #: pcbnew/dialog_initpcb.h:39
msgid "Sheet properties" msgid "Global Delete"
msgstr "Proprits de la feuille" msgstr "Effacements Gnraux"
#: eeschema/symbtext.h:42 #: pcbnew/dialog_general_options.h:45
#: eeschema/dialog_options.h:56
msgid "General Options"
msgstr "Options gnrales"
#: eeschema/symbtext.h:43
msgid "Graphic text properties" msgid "Graphic text properties"
msgstr "Proprits du texte" msgstr "Proprits du texte"
#: eeschema/plotps.h:50 #: eeschema/plotps.h:51
msgid "EESchema Plot PS" msgid "EESchema Plot PS"
msgstr "EESchema Trac PS" msgstr "EESchema Trac PS"
#: eeschema/dialog_create_component.h:45 #: eeschema/pinedit-dialog.h:66
msgid "Component Creation"
msgstr "Creation Composant:"
#: eeschema/pinedit-dialog.h:65
msgid "Pin properties" msgid "Pin properties"
msgstr "Proprits des Pins" msgstr "Proprits des Pins"
#: eeschema/optionsframe.h:60 #: eeschema/dialog_find.h:40
#: eeschema/optionsframe.h:63 msgid "EESchema Locate"
msgid "optionsframe" msgstr "Recherche"
msgstr "optionsframe"
#: eeschema/plothpgl.h:45 #: eeschema/plothpgl.h:46
msgid "EESchema Plot HPGL" msgid "EESchema Plot HPGL"
msgstr "EESchema Trac HPGL" msgstr "EESchema Trac HPGL"
#: eeschema/dialog_cmp_graphic_properties.h:43 #: eeschema/optionsframe.h:60
msgid "Graphic shape properties" #: eeschema/optionsframe.h:63
msgstr "Proprits du dessin" msgid "optionsframe"
msgstr "optionsframe"
#: eeschema/dialog_find.h:39
msgid "EESchema Locate"
msgstr "Recherche"
#: eeschema/dialog_erc.h:57 #: eeschema/dialog_erc.h:58
msgid "EESchema Erc" msgid "EESchema Erc"
msgstr "EESchema Erc" msgstr "EESchema Erc"
#: eeschema/annotate_dialog.h:53 #: eeschema/annotate_dialog.h:54
msgid "EESchema Annotation" msgid "EESchema Annotation"
msgstr "Numrotation des composants" msgstr "Numrotation des composants"
#: eeschema/sheet.h:44
msgid "Sheet properties"
msgstr "Proprits de la feuille"
#: eeschema/dialog_create_component.h:46
msgid "Component Creation"
msgstr "Creation Composant:"
#: eeschema/dialog_cmp_graphic_properties.h:44
msgid "Graphic shape properties"
msgstr "Proprits du dessin"
#: gerbview/set_color.h:5 #: gerbview/set_color.h:5
msgid "Layers 1-16" msgid "Layers 1-16"
msgstr "Couches 1-16" msgstr "Couches 1-16"
...@@ -10056,15 +10073,15 @@ msgid "DCodes id." ...@@ -10056,15 +10073,15 @@ msgid "DCodes id."
msgstr "DCodes id." msgstr "DCodes id."
#: common/svg_print.h:45 #: common/svg_print.h:45
#: share/svg_print.h:50 #: share/svg_print.h:51
msgid "Create SVG file" msgid "Create SVG file"
msgstr "Crer Fichier SVG" msgstr "Crer Fichier SVG"
#: share/dialog_print.h:51
msgid "Print"
msgstr "Imprimer"
#: share/setpage.h:54 #: share/setpage.h:54
msgid "Page Settings" msgid "Page Settings"
msgstr "Ajustage opt Page" msgstr "Ajustage opt Page"
#: share/dialog_print.h:52
msgid "Print"
msgstr "Imprimer"
...@@ -91,14 +91,13 @@ void RemoteCommand( const char* cmdline ) ...@@ -91,14 +91,13 @@ void RemoteCommand( const char* cmdline )
if( pad ) if( pad )
netcode = pad->m_NetCode; netcode = pad->m_NetCode;
if( netcode > 0 ) if( netcode > 0 ) /* hightlighted the net selected net*/
{ {
/* effacement surbrillance ancienne */ if( g_HightLigt_Status ) /* erase the old hightlighted net */
if( g_HightLigt_Status )
frame->Hight_Light( &dc ); frame->Hight_Light( &dc );
g_HightLigth_NetCode = netcode; g_HightLigth_NetCode = netcode;
frame->Hight_Light( &dc ); frame->Hight_Light( &dc ); /* hightlighted the new one */
frame->DrawPanel->CursorOff( &dc ); frame->DrawPanel->CursorOff( &dc );
frame->GetScreen()->m_Curseur = pad->m_Pos; frame->GetScreen()->m_Curseur = pad->m_Pos;
...@@ -231,22 +230,6 @@ void WinEDA_BasePcbFrame::GeneralControle( wxDC* DC, wxPoint Mouse ) ...@@ -231,22 +230,6 @@ void WinEDA_BasePcbFrame::GeneralControle( wxDC* DC, wxPoint Mouse )
SwitchLayer( DC, CUIVRE_N ); SwitchLayer( DC, CUIVRE_N );
break; break;
case 'F' | GR_KB_CTRL:
case 'f' | GR_KB_CTRL:
DisplayOpt.DisplayPcbTrackFill ^= 1; DisplayOpt.DisplayPcbTrackFill &= 1;
GetScreen()->SetRefreshReq();
break;
case ' ': /* Mise a jour de l'origine des coord relatives */
GetScreen()->m_O_Curseur = GetScreen()->m_Curseur;
break;
case 'U' | GR_KB_CTRL:
case 'u' | GR_KB_CTRL:
g_UnitMetric = (g_UnitMetric == INCHES ) ? MILLIMETRE : INCHES;
break;
case EDA_PANNING_UP_KEY: case EDA_PANNING_UP_KEY:
OnZoom( ID_ZOOM_PANNING_UP ); OnZoom( ID_ZOOM_PANNING_UP );
curpos = m_CurrentScreen->m_Curseur; curpos = m_CurrentScreen->m_Curseur;
...@@ -401,6 +384,11 @@ void WinEDA_BasePcbFrame::GeneralControle( wxDC* DC, wxPoint Mouse ) ...@@ -401,6 +384,11 @@ void WinEDA_BasePcbFrame::GeneralControle( wxDC* DC, wxPoint Mouse )
} }
} }
if( hotkey )
{
OnHotKey( DC, hotkey, NULL );
}
if( GetScreen()->IsRefreshReq() ) if( GetScreen()->IsRefreshReq() )
{ {
RedrawActiveWindow( DC, TRUE ); RedrawActiveWindow( DC, TRUE );
...@@ -408,9 +396,4 @@ void WinEDA_BasePcbFrame::GeneralControle( wxDC* DC, wxPoint Mouse ) ...@@ -408,9 +396,4 @@ void WinEDA_BasePcbFrame::GeneralControle( wxDC* DC, wxPoint Mouse )
SetToolbars(); SetToolbars();
Affiche_Status_Box(); /* Affichage des coord curseur */ Affiche_Status_Box(); /* Affichage des coord curseur */
if( hotkey )
{
OnHotKey( DC, hotkey, NULL );
}
} }
...@@ -128,7 +128,7 @@ void WinEDA_DrcFrame::CreateControls() ...@@ -128,7 +128,7 @@ void WinEDA_DrcFrame::CreateControls()
SetFont(*g_DialogFont); SetFont(*g_DialogFont);
////@begin WinEDA_DrcFrame content construction ////@begin WinEDA_DrcFrame content construction
// Generated by DialogBlocks, 02/08/2007 10:11:17 (unregistered) // Generated by DialogBlocks, 20/08/2007 08:58:05 (unregistered)
WinEDA_DrcFrame* itemDialog1 = this; WinEDA_DrcFrame* itemDialog1 = this;
......
...@@ -52,8 +52,7 @@ class wxBoxSizer; ...@@ -52,8 +52,7 @@ class wxBoxSizer;
#define ID_BUTTON_BROWSE_RPT_FILE 10011 #define ID_BUTTON_BROWSE_RPT_FILE 10011
#define ID_TEXTCTRL_GET_RPT_FILENAME 10010 #define ID_TEXTCTRL_GET_RPT_FILENAME 10010
#define ID_TEXTCTRL 10001 #define ID_TEXTCTRL 10001
// #define SYMBOL_WINEDA_DRCFRAME_STYLE wxCAPTION|wxRESIZE_BORDER|wxSYSTEM_MENU|wxCLOSE_BOX #define SYMBOL_WINEDA_DRCFRAME_STYLE wxCAPTION|wxRESIZE_BORDER|wxSYSTEM_MENU|wxCLOSE_BOX
#define SYMBOL_WINEDA_DRCFRAME_STYLE wxCAPTION|wxSYSTEM_MENU|wxCLOSE_BOX
#define SYMBOL_WINEDA_DRCFRAME_TITLE _("DRC Control") #define SYMBOL_WINEDA_DRCFRAME_TITLE _("DRC Control")
#define SYMBOL_WINEDA_DRCFRAME_IDNAME ID_DIALOG #define SYMBOL_WINEDA_DRCFRAME_IDNAME ID_DIALOG
#define SYMBOL_WINEDA_DRCFRAME_SIZE wxSize(400, 300) #define SYMBOL_WINEDA_DRCFRAME_SIZE wxSize(400, 300)
......
...@@ -158,7 +158,7 @@ int WinEDA_PcbFrame::LoadOnePcbFile( const wxString& FullFileName, wxDC* DC, boo ...@@ -158,7 +158,7 @@ int WinEDA_PcbFrame::LoadOnePcbFile( const wxString& FullFileName, wxDC* DC, boo
{ {
msg = wxT( "*" ) + PcbExtBuffer; msg = wxT( "*" ) + PcbExtBuffer;
wxString FileName = wxString FileName =
EDA_FileSelector( _( "Board files:" ), EDA_FileSelector( _( "Load board files:" ),
wxEmptyString, /* Chemin par defaut */ wxEmptyString, /* Chemin par defaut */
GetScreen()->m_FileName, /* nom fichier par defaut */ GetScreen()->m_FileName, /* nom fichier par defaut */
PcbExtBuffer, /* extension par defaut */ PcbExtBuffer, /* extension par defaut */
...@@ -260,7 +260,7 @@ bool WinEDA_PcbFrame::SavePcbFile( const wxString& FileName ) ...@@ -260,7 +260,7 @@ bool WinEDA_PcbFrame::SavePcbFile( const wxString& FileName )
if( FileName == wxEmptyString ) if( FileName == wxEmptyString )
{ {
msg = wxT( "*" ) + PcbExtBuffer; msg = wxT( "*" ) + PcbExtBuffer;
FullFileName = EDA_FileSelector( _( "Board files:" ), FullFileName = EDA_FileSelector( _( "Save board files:" ),
wxEmptyString, /* Chemin par defaut */ wxEmptyString, /* Chemin par defaut */
GetScreen()->m_FileName, /* nom fichier par defaut */ GetScreen()->m_FileName, /* nom fichier par defaut */
PcbExtBuffer, /* extension par defaut */ PcbExtBuffer, /* extension par defaut */
......
...@@ -9,29 +9,92 @@ ...@@ -9,29 +9,92 @@
#include "common.h" #include "common.h"
#include "pcbnew.h" #include "pcbnew.h"
#include "id.h" #include "id.h"
#include "hotkeys_basic.h"
#include "protos.h" #include "protos.h"
/* Routines locales */ /* Routines locales */
/* variables externes */ enum hotkey_id_commnand {
HK_NOT_FOUND = 0,
HK_RESET_LOCAL_COORD,
HK_HELP,
HK_ZOOM_IN,
HK_ZOOM_OUT,
HK_ZOOM_REDRAW,
HK_ZOOM_CENTER,
HK_DELETE,
HK_BACK_SPACE,
HK_ROTATE_FOOTPRINT,
HK_MOVE_FOOTPRINT,
HK_DRAG_FOOTPRINT,
HK_FLIP_FOOTPRINT,
HK_LOCK_UNLOCK_FOOTPRINT,
HK_ADD_VIA, HK_END_TRACK,
HK_SAVE_BOARD, HK_LOAD_BOARD,
HK_SWITCH_UNITS, HK_SWITCH_TRACK_DISPLAY_MODE,
HK_FIND_ITEM
};
/* local variables */
/* Hotkey list: */
static Ki_HotkeyInfo HkSavefile(wxT("Save board"), HK_SAVE_BOARD, 'S' + GR_KB_CTRL);
static Ki_HotkeyInfo HkLoadfile(wxT("Load board"), HK_LOAD_BOARD, 'L' + GR_KB_CTRL);
static Ki_HotkeyInfo HkFindItem(wxT("Find Item"), HK_FIND_ITEM, 'F' + GR_KB_CTRL);
static Ki_HotkeyInfo HkBackspace(wxT("Delete track segment"), HK_BACK_SPACE, WXK_BACK);
static Ki_HotkeyInfo HkAddVia(wxT("Add Via"), HK_ADD_VIA, 'V');
static Ki_HotkeyInfo HkEndTrack(wxT("End Track"), HK_END_TRACK, WXK_END);
static Ki_HotkeyInfo HkFlipFootprint(wxT("Flip Footprint"), HK_FLIP_FOOTPRINT, 'F');
static Ki_HotkeyInfo HkRotateFootprint(wxT("Rotate Footprint"), HK_ROTATE_FOOTPRINT, 'R');
static Ki_HotkeyInfo HkMoveFootprint(wxT("Move Footprint"), HK_MOVE_FOOTPRINT, 'M');
static Ki_HotkeyInfo HkDragFootprint(wxT("Drag Footprint"), HK_DRAG_FOOTPRINT, 'G');
static Ki_HotkeyInfo HkLock_Unlock_Footprint(wxT("Lock/Unlock Footprint"), HK_LOCK_UNLOCK_FOOTPRINT, 'L');
static Ki_HotkeyInfo HkDelete(wxT("Delete Track or Footprint"), HK_DELETE, WXK_DELETE);
static Ki_HotkeyInfo HkResetLocalCoord(wxT("Reset local coord."), HK_RESET_LOCAL_COORD, ' ');
static Ki_HotkeyInfo HkZoomCenter(wxT("Zoom Center"), HK_ZOOM_CENTER, WXK_F4);
static Ki_HotkeyInfo HkZoomRedraw(wxT("Zoom Redraw"), HK_ZOOM_REDRAW, WXK_F3);
static Ki_HotkeyInfo HkZoomOut(wxT("Zoom Out"), HK_ZOOM_OUT, WXK_F2);
static Ki_HotkeyInfo HkZoomIn(wxT("Zoom In"), HK_ZOOM_IN, WXK_F1);
static Ki_HotkeyInfo HkHelp(wxT("Help: this message"), HK_HELP, '?');
static Ki_HotkeyInfo HkSwitchUnits(wxT("Switch Units"), HK_SWITCH_UNITS, 'U');
static Ki_HotkeyInfo HkTrackDisplayMode(wxT("Track Display Mode"), HK_SWITCH_TRACK_DISPLAY_MODE, 'F');
// List of hotkey descriptors for pcbnew
static Ki_HotkeyInfo *s_board_edit_Hotkey_List[] = {
&HkHelp,
&HkZoomIn, &HkZoomOut, &HkZoomRedraw, &HkZoomCenter,
&HkResetLocalCoord, &HkSwitchUnits, &HkTrackDisplayMode,
&HkDelete, &HkBackspace,
&HkAddVia, &HkEndTrack,
&HkMoveFootprint, &HkFlipFootprint,
&HkRotateFootprint, &HkDragFootprint,
&HkLock_Unlock_Footprint,
&HkSavefile, &HkLoadfile, &HkFindItem,
NULL
};
static Ki_HotkeyInfo *s_module_edit_Hotkey_List[] = {
&HkHelp,
&HkZoomIn, &HkZoomOut, &HkZoomRedraw, &HkZoomCenter,
&HkSwitchUnits, &HkResetLocalCoord,
&HkDelete, &HkBackspace,
NULL
};
/***********************************************************/ /***********************************************************/
void WinEDA_PcbFrame::OnHotKey( wxDC* DC, int hotkey, void WinEDA_PcbFrame::OnHotKey( wxDC* DC, int hotkey,
EDA_BaseStruct* DrawStruct ) EDA_BaseStruct* DrawStruct )
/***********************************************************/ /***********************************************************/
/* Hot keys. Some commands are relatives to the item under the mouse cursor
Commands are case insensitive
Zoom commands are not managed here
*/
/* Gestion des commandes rapides (Raccourcis claviers) concernant l'element
* sous le courseur souris
* Les majuscules/minuscules sont indifferenciees
* touche DELETE: Effacement (Module ou piste selon commande en cours)
* touche V: Place via en cours de trace de piste
* touche R: Rotation module
* touche S: Change couche module (Composant <-> Cuivre)
* touche M: Start Move module
* touche G: Start Drag module
*/
{ {
bool PopupOn = GetScreen()->GetCurItem() bool PopupOn = GetScreen()->GetCurItem()
&& GetScreen()->GetCurItem()->m_Flags; && GetScreen()->GetCurItem()->m_Flags;
...@@ -41,194 +104,216 @@ void WinEDA_PcbFrame::OnHotKey( wxDC* DC, int hotkey, ...@@ -41,194 +104,216 @@ void WinEDA_PcbFrame::OnHotKey( wxDC* DC, int hotkey,
if( hotkey == 0 ) if( hotkey == 0 )
return; return;
// code Ctrl A = 1, Ctr B = 2 ..., remapped, (more easy to understand in switch)
if( hotkey & GR_KB_CTRL )
hotkey += 'A' - 1;
MODULE* module = NULL; MODULE* module = NULL;
if( hotkey <= 0xFF ) // Remap the control key Ctrl A (0x01) to GR_KB_CTRL + 'A' (easier to handle...)
hotkey = toupper( hotkey ); if ( (hotkey & GR_KB_CTRL) != 0 ) hotkey += 'A' - 1;
/* Convert lower to upper case (the usual toupper function has problem with non ascii codes like function keys */
switch( hotkey ) if( (hotkey >= 'a') && (hotkey <= 'z') ) hotkey += 'A' - 'a';
{
case WXK_DELETE: int CommandCode = GetCommandCodeFromHotkey(hotkey, s_board_edit_Hotkey_List);
case WXK_NUMPAD_DELETE: switch( CommandCode )
OnHotkeyDeleteItem( DC, DrawStruct );
break;
case WXK_BACK:
if( m_ID_current_state == ID_TRACK_BUTT && GetScreen()->m_Active_Layer <= CMP_N )
{
bool ItemFree = (GetScreen()->GetCurItem() == NULL )
|| (GetScreen()->GetCurItem()->m_Flags == 0);
if( ItemFree )
{
// no track is currently being edited - select a segment and remove it.
DrawStruct = PcbGeneralLocateAndDisplay();
// don't let backspace delete modules!!
if( DrawStruct && (DrawStruct->m_StructType == TYPETRACK
|| DrawStruct->m_StructType == TYPEVIA) )
Delete_Segment( DC, (TRACK*) DrawStruct );
GetScreen()->SetModify();
}
else if( GetScreen()->GetCurItem()->m_StructType == TYPETRACK )
{
// then an element is being edited - remove the last segment.
GetScreen()->SetCurItem(
Delete_Segment( DC, (TRACK*) GetScreen()->GetCurItem() ) );
GetScreen()->SetModify();
}
}
break;
case WXK_END:
DrawPanel->MouseToCursorSchema();
End_Route( (TRACK*) (GetScreen()->GetCurItem()), DC );
break;
case 'F' + GR_KB_CTRL:
{
wxCommandEvent evt;
evt.SetId( ID_FIND_ITEMS );
Process_Special_Functions( evt );
}
break;
case 'O' + GR_KB_CTRL:
{ {
// try not to duplicate save, load code etc. default:
wxCommandEvent evt; case HK_NOT_FOUND:
evt.SetId( ID_LOAD_FILE ); return;
Files_io( evt ); break;
}
break; case HK_HELP: // Display Current hotkey list
DisplayHotkeyList(this, s_board_edit_Hotkey_List);
case 'S' + GR_KB_CTRL: break;
{
// try not to duplicate save, load code etc. case HK_ZOOM_IN:
wxCommandEvent evt; case HK_ZOOM_OUT:
evt.SetId( ID_SAVE_BOARD ); case HK_ZOOM_REDRAW:
Files_io( evt ); case HK_ZOOM_CENTER:
} break;
break;
case HK_RESET_LOCAL_COORD: /*Reset the relative coord */
case 'V': // Switch to alternate layer and Place a via if a track is in progress GetScreen()->m_O_Curseur = GetScreen()->m_Curseur;
if( m_ID_current_state != ID_TRACK_BUTT ) break;
return;
if( ItemFree )
{ case HK_SWITCH_UNITS:
Other_Layer_Route( NULL, DC ); g_UnitMetric = (g_UnitMetric == INCHES ) ? MILLIMETRE : INCHES;
break; break;
}
if( GetScreen()->GetCurItem()->m_StructType != TYPETRACK ) case HK_SWITCH_TRACK_DISPLAY_MODE:
return; DisplayOpt.DisplayPcbTrackFill ^= 1; DisplayOpt.DisplayPcbTrackFill &= 1;
if( (GetScreen()->GetCurItem()->m_Flags & IS_NEW) == 0 ) GetScreen()->SetRefreshReq();
return; break;
Other_Layer_Route( (TRACK*) GetScreen()->GetCurItem(), DC );
if( DisplayOpt.ContrastModeDisplay ) case HK_DELETE:
GetScreen()->SetRefreshReq(); OnHotkeyDeleteItem( DC, DrawStruct );
break; break;
// Footprint edition: case HK_BACK_SPACE:
case 'L': // toggle module "MODULE_is_LOCKED" status: if( m_ID_current_state == ID_TRACK_BUTT && GetScreen()->m_Active_Layer <= CMP_N )
// get any module, locked or not locked and toggle its locked status {
if( ItemFree ) bool ItemFree = (GetScreen()->GetCurItem() == NULL )
module = Locate_Prefered_Module( m_Pcb, CURSEUR_OFF_GRILLE | VISIBLE_ONLY ); || (GetScreen()->GetCurItem()->m_Flags == 0);
else if( GetScreen()->GetCurItem()->m_StructType == TYPEMODULE ) if( ItemFree )
module = (MODULE*) GetScreen()->GetCurItem(); {
if( module ) // no track is currently being edited - select a segment and remove it.
{ DrawStruct = PcbGeneralLocateAndDisplay();
GetScreen()->SetCurItem( module );
module->SetLocked( !module->IsLocked() ); // don't let backspace delete modules!!
module->Display_Infos( this ); if( DrawStruct && (DrawStruct->m_StructType == TYPETRACK
} || DrawStruct->m_StructType == TYPEVIA) )
break; Delete_Segment( DC, (TRACK*) DrawStruct );
GetScreen()->SetModify();
case 'G': // Start move (and drag) module }
case 'M': // Start move module else if( GetScreen()->GetCurItem()->m_StructType == TYPETRACK )
if( PopupOn ) {
break; // then an element is being edited - remove the last segment.
GetScreen()->SetCurItem(Delete_Segment( DC, (TRACK*) GetScreen()->GetCurItem() ) );
case 'R': // Rotation GetScreen()->SetModify();
case 'S': // move to other side }
if( ItemFree ) }
{ break;
module = Locate_Prefered_Module( m_Pcb,
CURSEUR_OFF_GRILLE | IGNORE_LOCKED | VISIBLE_ONLY case HK_END_TRACK:
#if defined (USE_MATCH_LAYER) DrawPanel->MouseToCursorSchema();
| MATCH_LAYER End_Route( (TRACK*) (GetScreen()->GetCurItem()), DC );
#endif break;
);
if( module == NULL ) // no footprint found case HK_FIND_ITEM:
{ {
module = Locate_Prefered_Module( m_Pcb, CURSEUR_OFF_GRILLE ); wxCommandEvent evt;
if( module ) evt.SetId( ID_FIND_ITEMS );
{ Process_Special_Functions( evt );
// a footprint is found, but locked or on an other layer }
if( module->IsLocked() ) break;
{
wxString msg; case HK_LOAD_BOARD:
{
msg.Printf( _("Footprint %s found, but locked"), // try not to duplicate save, load code etc.
module->m_Reference->m_Text.GetData() ); wxCommandEvent evt;
evt.SetId( ID_LOAD_FILE );
DisplayInfo( this, msg ); Files_io( evt );
} }
module = NULL; break;
}
} case HK_SAVE_BOARD:
} {
else if( GetScreen()->GetCurItem()->m_StructType == TYPEMODULE ) // try not to duplicate save, load code etc.
{ wxCommandEvent evt;
module = (MODULE*) GetScreen()->GetCurItem(); evt.SetId( ID_SAVE_BOARD );
Files_io( evt );
// @todo: might need to add a layer check in if() below }
if( (GetScreen()->GetCurItem()->m_Flags == 0) break;
&& module->IsLocked() )
module = NULL; // do not move, rotate ... it. case HK_ADD_VIA: // Switch to alternate layer and Place a via if a track is in progress
} if( m_ID_current_state != ID_TRACK_BUTT )
if( module == NULL ) return;
break; if( ItemFree )
{
/* I'd like to make sending to EESCHEMA edge triggered, but the Other_Layer_Route( NULL, DC );
simple mouse click on a module when the arrow icon is in play break;
does not set m_CurrentItem at this time, nor does a mouse click }
when the local ratsnest icon is in play set m_CurrentItem, and these if( GetScreen()->GetCurItem()->m_StructType != TYPETRACK )
actions also call SendMessageToEESCHEMA(). return;
if( GetScreen()->GetCurItem() != module ) if( (GetScreen()->GetCurItem()->m_Flags & IS_NEW) == 0 )
*/ return;
{ Other_Layer_Route( (TRACK*) GetScreen()->GetCurItem(), DC );
// Send the module via socket to EESCHEMA's search facility. if( DisplayOpt.ContrastModeDisplay )
SendMessageToEESCHEMA( module ); GetScreen()->SetRefreshReq();
break;
GetScreen()->SetCurItem( module );
} // Footprint edition:
case HK_LOCK_UNLOCK_FOOTPRINT: // toggle module "MODULE_is_LOCKED" status:
switch( hotkey ) // get any module, locked or not locked and toggle its locked status
{ if( ItemFree )
case 'R': // Rotation module = Locate_Prefered_Module( m_Pcb, CURSEUR_OFF_GRILLE | VISIBLE_ONLY );
Rotate_Module( DC, module, 900, TRUE ); else if( GetScreen()->GetCurItem()->m_StructType == TYPEMODULE )
break; module = (MODULE*) GetScreen()->GetCurItem();
if( module )
case 'S': // move to other side {
Change_Side_Module( module, DC ); GetScreen()->SetCurItem(module);
break; module->SetLocked( !module->IsLocked() );
module->Display_Infos( this );
case 'G': // Start move (and drag) module }
g_Drag_Pistes_On = TRUE; break;
// fall through case HK_DRAG_FOOTPRINT: // Start move (and drag) module
case HK_MOVE_FOOTPRINT: // Start move module
case 'M': // Start move module if( PopupOn )
StartMove_Module( module, DC ); break;
break;
} case HK_ROTATE_FOOTPRINT: // Rotation
case HK_FLIP_FOOTPRINT: // move to other side
module->Display_Infos( this ); if( ItemFree )
{
break; module = Locate_Prefered_Module( m_Pcb,
CURSEUR_OFF_GRILLE | IGNORE_LOCKED | VISIBLE_ONLY
#if defined (USE_MATCH_LAYER)
| MATCH_LAYER
#endif
);
if( module == NULL ) // no footprint found
{
module = Locate_Prefered_Module( m_Pcb, CURSEUR_OFF_GRILLE );
if( module )
{
// a footprint is found, but locked or on an other layer
if( module->IsLocked() )
{
wxString msg;
msg.Printf( _("Footprint %s found, but locked"),
module->m_Reference->m_Text.GetData() );
DisplayInfo( this, msg );
}
module = NULL;
}
}
}
else if( GetScreen()->GetCurItem()->m_StructType == TYPEMODULE )
{
module = (MODULE*) GetScreen()->GetCurItem();
// @todo: might need to add a layer check in if() below
if( (GetScreen()->GetCurItem()->m_Flags == 0)
&& module->IsLocked() )
module = NULL; // do not move, rotate ... it.
}
if( module == NULL )
break;
/* I'd like to make sending to EESCHEMA edge triggered, but the
simple mouse click on a module when the arrow icon is in play
does not set GetCurItem() at this time, nor does a mouse click
when the local ratsnest icon is in play set GetCurItem(), and these
actions also call SendMessageToEESCHEMA().
if( GetScreen()->GetCurItem() != module )
*/
{
// Send the module via socket to EESCHEMA's search facility.
SendMessageToEESCHEMA( module );
GetScreen()->SetCurItem(module);
}
switch( CommandCode )
{
case HK_ROTATE_FOOTPRINT: // Rotation
Rotate_Module( DC, module, 900, TRUE );
break;
case HK_FLIP_FOOTPRINT: // move to other side
Change_Side_Module( module, DC );
break;
case HK_DRAG_FOOTPRINT: // Start move (and drag) module
g_Drag_Pistes_On = TRUE;
// fall through
case HK_MOVE_FOOTPRINT: // Start move module
StartMove_Module( module, DC );
break;
}
module->Display_Infos( this );
break;
} }
} }
...@@ -243,41 +328,38 @@ void WinEDA_ModuleEditFrame::OnHotKey( wxDC* DC, int hotkey, ...@@ -243,41 +328,38 @@ void WinEDA_ModuleEditFrame::OnHotKey( wxDC* DC, int hotkey,
* Les majuscules/minuscules sont indifferenciees * Les majuscules/minuscules sont indifferenciees
*/ */
{ {
bool PopupOn = GetScreen()->GetCurItem()
&& GetScreen()->GetCurItem()->m_Flags;
if( hotkey == 0 ) if( hotkey == 0 )
return; return;
switch( hotkey ) /* Convert lower to upper case (the usual toupper function has problem with non ascii codes like function keys */
{ if( (hotkey >= 'a') && (hotkey <= 'z') ) hotkey += 'A' - 'a';
case WXK_DELETE:
case WXK_NUMPAD_DELETE:
if( PopupOn )
break;
break;
case 'r': // Rotation
case 'R':
break;
case 'y': // Mirror Y (drawlibpart) int CommandCode = GetCommandCodeFromHotkey(hotkey, s_module_edit_Hotkey_List);
case 'Y': switch( CommandCode )
break; {
default:
case 'x': // Mirror X (drawlibpart) case HK_NOT_FOUND:
case 'X': return;
break; break;
case 'n': case HK_HELP: // Display Current hotkey list
case 'N': // Orient 0, no mirror (drawlibpart) DisplayHotkeyList(this, s_module_edit_Hotkey_List);
break; break;
case 'm': case HK_RESET_LOCAL_COORD: /*Reset the relative coord */
case 'M': // Start move drawlibpart GetScreen()->m_O_Curseur = GetScreen()->m_Curseur;
if( PopupOn ) break;
break;
break;
case HK_SWITCH_UNITS:
g_UnitMetric = (g_UnitMetric == INCHES ) ? MILLIMETRE : INCHES;
break;
case HK_ZOOM_IN:
case HK_ZOOM_OUT:
case HK_ZOOM_REDRAW:
case HK_ZOOM_CENTER:
break;
} }
} }
...@@ -312,7 +394,7 @@ bool WinEDA_PcbFrame::OnHotkeyDeleteItem( wxDC* DC, EDA_BaseStruct* DrawStruct ) ...@@ -312,7 +394,7 @@ bool WinEDA_PcbFrame::OnHotkeyDeleteItem( wxDC* DC, EDA_BaseStruct* DrawStruct )
else if( GetScreen()->GetCurItem()->m_StructType == TYPETRACK ) else if( GetScreen()->GetCurItem()->m_StructType == TYPETRACK )
{ {
GetScreen()->SetCurItem( GetScreen()->SetCurItem(
Delete_Segment( DC, (TRACK*) GetScreen()->GetCurItem() )); Delete_Segment( DC, (TRACK*) GetScreen()->GetCurItem() ) );
GetScreen()->SetModify(); GetScreen()->SetModify();
return TRUE; return TRUE;
} }
...@@ -337,6 +419,6 @@ bool WinEDA_PcbFrame::OnHotkeyDeleteItem( wxDC* DC, EDA_BaseStruct* DrawStruct ) ...@@ -337,6 +419,6 @@ bool WinEDA_PcbFrame::OnHotkeyDeleteItem( wxDC* DC, EDA_BaseStruct* DrawStruct )
} }
GetScreen()->SetModify(); GetScreen()->SetModify();
GetScreen()->SetCurItem( NULL ); GetScreen()->SetCurItem(NULL);
return TRUE; return TRUE;
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment