Commit 9b99ac2a authored by jean-pierre charras's avatar jean-pierre charras

All: add 2 hotkeys to simulate a mouse left click (key return) and left dclick (key end)

parent 4eec9fd0
...@@ -175,7 +175,7 @@ void HOTKEYS_EDITOR_DIALOG::OnClickOnCell( wxGridEvent& event ) ...@@ -175,7 +175,7 @@ void HOTKEYS_EDITOR_DIALOG::OnClickOnCell( wxGridEvent& event )
/** OnRightClickOnCell /** OnRightClickOnCell
* If a cell is selected, display a list of keys for selection * If a cell is selected, display a list of keys for selection
* The list is restricted to keys that cannot be entered: * The list is restricted to keys that cannot be entered:
* tab, home ... because these keys have special functions in dialogs * tab, home, return ... because these keys have special functions in dialogs
*/ */
void HOTKEYS_EDITOR_DIALOG::OnRightClickOnCell( wxGridEvent& event ) void HOTKEYS_EDITOR_DIALOG::OnRightClickOnCell( wxGridEvent& event )
{ {
...@@ -186,8 +186,8 @@ void HOTKEYS_EDITOR_DIALOG::OnRightClickOnCell( wxGridEvent& event ) ...@@ -186,8 +186,8 @@ void HOTKEYS_EDITOR_DIALOG::OnRightClickOnCell( wxGridEvent& event )
return; return;
// Do not translate these key names. They are internally used. // Do not translate these key names. They are internally used.
//ee hotkeys_basic.cpp // See hotkeys_basic.cpp
#define C_COUNT 8 #define C_COUNT 9
wxString choices[C_COUNT] = wxString choices[C_COUNT] =
{ {
wxT("End") wxT("End")
...@@ -198,6 +198,7 @@ void HOTKEYS_EDITOR_DIALOG::OnRightClickOnCell( wxGridEvent& event ) ...@@ -198,6 +198,7 @@ void HOTKEYS_EDITOR_DIALOG::OnRightClickOnCell( wxGridEvent& event )
wxT("Space"), wxT("Space"),
wxT("Ctrl+Space"), wxT("Ctrl+Space"),
wxT("Alt+Space"), wxT("Alt+Space"),
wxT("Return")
}; };
wxString keyname = wxGetSingleChoice( _( "Special keys only. For others keys, use keyboard" ), wxString keyname = wxGetSingleChoice( _( "Special keys only. For others keys, use keyboard" ),
......
/*
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 1992-2014 KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, you may find one here:
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
* or you may search the http://www.gnu.org website for the version 2 license,
* or you may write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
#include <hotkey_grid_table.h> #include <hotkey_grid_table.h>
/* /*
......
...@@ -133,6 +133,8 @@ static struct hotkey_name_descr s_Hotkey_Name_List[] = ...@@ -133,6 +133,8 @@ static struct hotkey_name_descr s_Hotkey_Name_List[] =
{ wxT( "Left" ), WXK_LEFT }, { wxT( "Left" ), WXK_LEFT },
{ wxT( "Right" ), WXK_RIGHT }, { wxT( "Right" ), WXK_RIGHT },
{ wxT( "Return" ), WXK_RETURN },
{ wxT( "Space" ), WXK_SPACE }, { wxT( "Space" ), WXK_SPACE },
// Do not change this line: end of list // Do not change this line: end of list
......
...@@ -128,6 +128,10 @@ static EDA_HOTKEY HkRedo( wxT( "Redo" ), HK_REDO, GR_KB_SHIFT + GR_KB_CTRL + 'Z' ...@@ -128,6 +128,10 @@ static EDA_HOTKEY HkRedo( wxT( "Redo" ), HK_REDO, GR_KB_SHIFT + GR_KB_CTRL + 'Z'
(int) wxID_REDO ); (int) wxID_REDO );
#endif #endif
// mouse click command:
static EDA_HOTKEY HkMouseLeftClick( wxT( "Mouse Left Click" ), HK_LEFT_CLICK, WXK_RETURN, 0 );
static EDA_HOTKEY HkMouseLeftDClick( wxT( "Mouse Left DClick" ), HK_LEFT_DCLICK, WXK_END, 0 );
// Schematic editor // Schematic editor
static EDA_HOTKEY HkBeginWire( wxT( "Begin Wire" ), HK_BEGIN_WIRE, 'W', ID_WIRE_BUTT ); static EDA_HOTKEY HkBeginWire( wxT( "Begin Wire" ), HK_BEGIN_WIRE, 'W', ID_WIRE_BUTT );
static EDA_HOTKEY HkBeginBus( wxT( "Begin Bus" ), HK_BEGIN_BUS, 'B', ID_BUS_BUTT ); static EDA_HOTKEY HkBeginBus( wxT( "Begin Bus" ), HK_BEGIN_BUS, 'B', ID_BUS_BUTT );
...@@ -191,6 +195,8 @@ static EDA_HOTKEY HkDelete( wxT( "Delete Item" ), HK_DELETE, WXK_DELETE ); ...@@ -191,6 +195,8 @@ static EDA_HOTKEY HkDelete( wxT( "Delete Item" ), HK_DELETE, WXK_DELETE );
static EDA_HOTKEY HkFindItem( wxT( "Find Item" ), HK_FIND_ITEM, 'F' + GR_KB_CTRL, ID_FIND_ITEMS ); static EDA_HOTKEY HkFindItem( wxT( "Find Item" ), HK_FIND_ITEM, 'F' + GR_KB_CTRL, ID_FIND_ITEMS );
static EDA_HOTKEY HkFindNextItem( wxT( "Find Next Item" ), HK_FIND_NEXT_ITEM, WXK_F5, static EDA_HOTKEY HkFindNextItem( wxT( "Find Next Item" ), HK_FIND_NEXT_ITEM, WXK_F5,
wxEVT_COMMAND_FIND ); wxEVT_COMMAND_FIND );
static EDA_HOTKEY HkFindReplace( wxT( "Find and Replace" ), HK_FIND_REPLACE,
'F' + GR_KB_CTRL + GR_KB_ALT, wxID_REPLACE );
static EDA_HOTKEY HkFindNextDrcMarker( wxT( "Find Next DRC Marker" ), HK_FIND_NEXT_DRC_MARKER, static EDA_HOTKEY HkFindNextDrcMarker( wxT( "Find Next DRC Marker" ), HK_FIND_NEXT_DRC_MARKER,
WXK_F5 + GR_KB_SHIFT, EVT_COMMAND_FIND_DRC_MARKER ); WXK_F5 + GR_KB_SHIFT, EVT_COMMAND_FIND_DRC_MARKER );
...@@ -220,6 +226,8 @@ EDA_HOTKEY* s_Common_Hotkey_List[] = ...@@ -220,6 +226,8 @@ EDA_HOTKEY* s_Common_Hotkey_List[] =
&HkDrag, &HkDrag,
&HkUndo, &HkUndo,
&HkRedo, &HkRedo,
&HkMouseLeftClick,
&HkMouseLeftDClick,
NULL NULL
}; };
...@@ -231,6 +239,7 @@ EDA_HOTKEY* s_Schematic_Hotkey_List[] = ...@@ -231,6 +239,7 @@ EDA_HOTKEY* s_Schematic_Hotkey_List[] =
&HkFindItem, &HkFindItem,
&HkFindNextItem, &HkFindNextItem,
&HkFindNextDrcMarker, &HkFindNextDrcMarker,
&HkFindReplace,
&HkInsert, &HkInsert,
&HkMove2Drag, &HkMove2Drag,
&HkSaveBlock, &HkSaveBlock,
...@@ -361,6 +370,15 @@ void SCH_EDIT_FRAME::OnHotKey( wxDC* aDC, int aHotKey, const wxPoint& aPosition, ...@@ -361,6 +370,15 @@ void SCH_EDIT_FRAME::OnHotKey( wxDC* aDC, int aHotKey, const wxPoint& aPosition,
GetScreen()->m_O_Curseur = GetCrossHairPosition(); GetScreen()->m_O_Curseur = GetCrossHairPosition();
break; break;
case HK_LEFT_CLICK:
OnLeftClick( aDC, aPosition );
break;
case HK_LEFT_DCLICK: // Simulate a double left click: generate 2 events
OnLeftClick( aDC, aPosition );
OnLeftDClick( aDC, aPosition );
break;
case HK_ZOOM_IN: case HK_ZOOM_IN:
case HK_ZOOM_OUT: case HK_ZOOM_OUT:
case HK_ZOOM_REDRAW: case HK_ZOOM_REDRAW:
...@@ -395,6 +413,7 @@ void SCH_EDIT_FRAME::OnHotKey( wxDC* aDC, int aHotKey, const wxPoint& aPosition, ...@@ -395,6 +413,7 @@ void SCH_EDIT_FRAME::OnHotKey( wxDC* aDC, int aHotKey, const wxPoint& aPosition,
case HK_UNDO: case HK_UNDO:
case HK_REDO: case HK_REDO:
case HK_FIND_ITEM: case HK_FIND_ITEM:
case HK_FIND_REPLACE:
if( notBusy ) if( notBusy )
{ {
cmd.SetId( hotKey->m_IdMenuEvent ); cmd.SetId( hotKey->m_IdMenuEvent );
...@@ -558,6 +577,15 @@ void LIB_EDIT_FRAME::OnHotKey( wxDC* aDC, int aHotKey, const wxPoint& aPosition, ...@@ -558,6 +577,15 @@ void LIB_EDIT_FRAME::OnHotKey( wxDC* aDC, int aHotKey, const wxPoint& aPosition,
GetScreen()->m_O_Curseur = GetCrossHairPosition(); GetScreen()->m_O_Curseur = GetCrossHairPosition();
break; break;
case HK_LEFT_CLICK:
OnLeftClick( aDC, aPosition );
break;
case HK_LEFT_DCLICK: // Simulate a double left click: generate 2 events
OnLeftClick( aDC, aPosition );
OnLeftDClick( aDC, aPosition );
break;
case HK_ZOOM_IN: case HK_ZOOM_IN:
case HK_ZOOM_OUT: case HK_ZOOM_OUT:
case HK_ZOOM_REDRAW: case HK_ZOOM_REDRAW:
......
...@@ -13,6 +13,7 @@ enum hotkey_id_commnand { ...@@ -13,6 +13,7 @@ enum hotkey_id_commnand {
HK_FIND_NEXT_ITEM = HK_COMMON_END, HK_FIND_NEXT_ITEM = HK_COMMON_END,
HK_FIND_NEXT_DRC_MARKER, HK_FIND_NEXT_DRC_MARKER,
HK_FIND_ITEM, HK_FIND_ITEM,
HK_FIND_REPLACE,
HK_DELETE, HK_DELETE,
HK_REPEAT_LAST, HK_REPEAT_LAST,
HK_LIBEDIT_MOVE_GRAPHIC_ITEM, HK_LIBEDIT_MOVE_GRAPHIC_ITEM,
...@@ -48,7 +49,9 @@ enum hotkey_id_commnand { ...@@ -48,7 +49,9 @@ enum hotkey_id_commnand {
HK_ADD_NOCONN_FLAG, HK_ADD_NOCONN_FLAG,
HK_SAVE_LIB, HK_SAVE_LIB,
HK_SAVE_SCH, HK_SAVE_SCH,
HK_LOAD_SCH HK_LOAD_SCH,
HK_LEFT_CLICK,
HK_LEFT_DCLICK
}; };
// List of hotkey descriptors for Eeschema // List of hotkey descriptors for Eeschema
......
...@@ -213,7 +213,9 @@ void SCH_EDIT_FRAME::ReCreateMenuBar() ...@@ -213,7 +213,9 @@ void SCH_EDIT_FRAME::ReCreateMenuBar()
AddMenuItem( editMenu, ID_FIND_ITEMS, text, HELP_FIND, KiBitmap( find_xpm ) ); AddMenuItem( editMenu, ID_FIND_ITEMS, text, HELP_FIND, KiBitmap( find_xpm ) );
// Find/Replace // Find/Replace
AddMenuItem( editMenu, wxID_REPLACE, _( "Find and Re&place\tCtrl+Shift+F" ), HELP_REPLACE, text = AddHotkeyName( _( "Find and Re&place" ), s_Schematic_Hokeys_Descr,
HK_FIND_REPLACE );
AddMenuItem( editMenu, wxID_REPLACE, text, HELP_REPLACE,
KiBitmap( find_replace_xpm ) ); KiBitmap( find_replace_xpm ) );
// Import footprint association from the CvPcb cmp file: // Import footprint association from the CvPcb cmp file:
......
...@@ -55,8 +55,12 @@ ...@@ -55,8 +55,12 @@
* and see this list for some ascii keys (space ...) * and see this list for some ascii keys (space ...)
*/ */
/* local variables */ // Hotkey list:
/* Hotkey list: */
// mouse click command:
static EDA_HOTKEY HkMouseLeftClick( wxT( "Mouse Left Click" ), HK_LEFT_CLICK, WXK_RETURN, 0 );
static EDA_HOTKEY HkMouseLeftDClick( wxT( "Mouse Left DClick" ), HK_LEFT_DCLICK, WXK_END, 0 );
static EDA_HOTKEY HkResetLocalCoord( wxT( "Reset Local Coordinates" ), static EDA_HOTKEY HkResetLocalCoord( wxT( "Reset Local Coordinates" ),
HK_RESET_LOCAL_COORD, ' ' ); HK_RESET_LOCAL_COORD, ' ' );
static EDA_HOTKEY HkZoomAuto( wxT( "Zoom Auto" ), HK_ZOOM_AUTO, WXK_HOME, ID_ZOOM_PAGE ); static EDA_HOTKEY HkZoomAuto( wxT( "Zoom Auto" ), HK_ZOOM_AUTO, WXK_HOME, ID_ZOOM_PAGE );
...@@ -67,6 +71,7 @@ static EDA_HOTKEY HkZoomOut( wxT( "Zoom Out" ), HK_ZOOM_OUT, WXK_F2, ID_POPUP ...@@ -67,6 +71,7 @@ static EDA_HOTKEY HkZoomOut( wxT( "Zoom Out" ), HK_ZOOM_OUT, WXK_F2, ID_POPUP
static EDA_HOTKEY HkZoomIn( wxT( "Zoom In" ), HK_ZOOM_IN, WXK_F1, ID_POPUP_ZOOM_IN ); static EDA_HOTKEY HkZoomIn( wxT( "Zoom In" ), HK_ZOOM_IN, WXK_F1, ID_POPUP_ZOOM_IN );
static EDA_HOTKEY HkHelp( wxT( "Help (this window)" ), HK_HELP, '?' ); static EDA_HOTKEY HkHelp( wxT( "Help (this window)" ), HK_HELP, '?' );
static EDA_HOTKEY HkMoveItem( wxT( "Move Item" ), HK_MOVE_ITEM, 'M', ID_POPUP_ITEM_MOVE ); static EDA_HOTKEY HkMoveItem( wxT( "Move Item" ), HK_MOVE_ITEM, 'M', ID_POPUP_ITEM_MOVE );
static EDA_HOTKEY HkPlaceItem( wxT( "Place Item" ), HK_PLACE_ITEM, 'P', ID_POPUP_ITEM_PLACE );
static EDA_HOTKEY HkMoveStartPoint( wxT( "Move Start Point" ), HK_MOVE_START_POINT, 'S', static EDA_HOTKEY HkMoveStartPoint( wxT( "Move Start Point" ), HK_MOVE_START_POINT, 'S',
ID_POPUP_ITEM_MOVE_START_POINT ); ID_POPUP_ITEM_MOVE_START_POINT );
static EDA_HOTKEY HkMoveEndPoint( wxT( "Move End Point" ), HK_MOVE_END_POINT, 'E', static EDA_HOTKEY HkMoveEndPoint( wxT( "Move End Point" ), HK_MOVE_END_POINT, 'E',
...@@ -85,13 +90,17 @@ EDA_HOTKEY* s_Common_Hotkey_List[] = ...@@ -85,13 +90,17 @@ EDA_HOTKEY* s_Common_Hotkey_List[] =
&HkZoomIn, &HkZoomOut, &HkZoomRedraw, &HkZoomCenter, &HkZoomIn, &HkZoomOut, &HkZoomRedraw, &HkZoomCenter,
&HkZoomAuto, &HkResetLocalCoord, &HkZoomAuto, &HkResetLocalCoord,
&HkUndo, &HkRedo, &HkUndo, &HkRedo,
&HkMouseLeftClick,
&HkMouseLeftDClick,
NULL NULL
}; };
EDA_HOTKEY* s_PlEditor_Hotkey_List[] = EDA_HOTKEY* s_PlEditor_Hotkey_List[] =
{ {
&HkMoveItem, &HkMoveStartPoint, &HkMoveItem, &HkMoveStartPoint,
&HkMoveEndPoint, &HkDeleteItem, &HkMoveEndPoint,
&HkPlaceItem,
&HkDeleteItem,
NULL NULL
}; };
...@@ -142,6 +151,15 @@ void PL_EDITOR_FRAME::OnHotKey( wxDC* aDC, int aHotkeyCode, ...@@ -142,6 +151,15 @@ void PL_EDITOR_FRAME::OnHotKey( wxDC* aDC, int aHotkeyCode,
case HK_NOT_FOUND: case HK_NOT_FOUND:
return; return;
case HK_LEFT_CLICK:
OnLeftClick( aDC, aPosition );
break;
case HK_LEFT_DCLICK: // Simulate a double left click: generate 2 events
OnLeftClick( aDC, aPosition );
OnLeftDClick( aDC, aPosition );
break;
case HK_HELP: // Display Current hotkey list case HK_HELP: // Display Current hotkey list
DisplayHotkeyList( this, s_PlEditor_Hokeys_Descr ); DisplayHotkeyList( this, s_PlEditor_Hokeys_Descr );
break; break;
...@@ -208,6 +226,14 @@ void PL_EDITOR_FRAME::OnHotKey( wxDC* aDC, int aHotkeyCode, ...@@ -208,6 +226,14 @@ void PL_EDITOR_FRAME::OnHotKey( wxDC* aDC, int aHotkeyCode,
GetEventHandler()->ProcessEvent( cmd ); GetEventHandler()->ProcessEvent( cmd );
break; break;
case HK_PLACE_ITEM:
if( busy )
{
cmd.SetId( HK_Descr->m_IdMenuEvent );
GetEventHandler()->ProcessEvent( cmd );
}
break;
default: default:
wxMessageBox( wxT("Unknown hotkey") ); wxMessageBox( wxT("Unknown hotkey") );
return; return;
......
...@@ -39,7 +39,10 @@ enum hotkey_id_commnand { ...@@ -39,7 +39,10 @@ enum hotkey_id_commnand {
HK_MOVE_ITEM, HK_MOVE_ITEM,
HK_MOVE_START_POINT, HK_MOVE_START_POINT,
HK_MOVE_END_POINT, HK_MOVE_END_POINT,
HK_DELETE_ITEM HK_PLACE_ITEM,
HK_DELETE_ITEM,
HK_LEFT_CLICK,
HK_LEFT_DCLICK
}; };
// List of hotkey descriptors for PlEditor. // List of hotkey descriptors for PlEditor.
......
...@@ -108,7 +108,9 @@ bool PL_EDITOR_FRAME::OnRightClick( const wxPoint& aPosition, wxMenu* aPopMenu ) ...@@ -108,7 +108,9 @@ bool PL_EDITOR_FRAME::OnRightClick( const wxPoint& aPosition, wxMenu* aPopMenu )
} }
else // An item is currently in edit else // An item is currently in edit
{ {
AddMenuItem( aPopMenu, ID_POPUP_ITEM_PLACE, _( "Place" ), msg = AddHotkeyName( _( "Place Item" ), s_PlEditor_Hokeys_Descr,
HK_PLACE_ITEM );
AddMenuItem( aPopMenu, ID_POPUP_ITEM_PLACE, msg,
KiBitmap( move_xpm ) ); KiBitmap( move_xpm ) );
AddMenuItem( aPopMenu, ID_POPUP_ITEM_PLACE_CANCEL, _( "Cancel" ), AddMenuItem( aPopMenu, ID_POPUP_ITEM_PLACE_CANCEL, _( "Cancel" ),
KiBitmap( cancel_xpm ) ); KiBitmap( cancel_xpm ) );
......
...@@ -29,8 +29,14 @@ ...@@ -29,8 +29,14 @@
* and see this list for some ascii keys (space ...) * and see this list for some ascii keys (space ...)
*/ */
/* local variables */ // Hotkey list:
/* Hotkey list: */
// mouse click command:
static EDA_HOTKEY HkMouseLeftClick( wxT( "Mouse Left Click" ),
HK_LEFT_CLICK, WXK_RETURN, 0 );
static EDA_HOTKEY HkMouseLeftDClick( wxT( "Mouse Left DClick" ),
HK_LEFT_DCLICK, WXK_END, 0 );
static EDA_HOTKEY HkSwitch2CopperLayer( wxT( "Switch to Copper layer" ), static EDA_HOTKEY HkSwitch2CopperLayer( wxT( "Switch to Copper layer" ),
HK_SWITCH_LAYER_TO_COPPER, WXK_PAGEDOWN ); HK_SWITCH_LAYER_TO_COPPER, WXK_PAGEDOWN );
static EDA_HOTKEY HkSwitch2ComponentLayer( wxT( "Switch to Component layer" ), static EDA_HOTKEY HkSwitch2ComponentLayer( wxT( "Switch to Component layer" ),
...@@ -70,7 +76,6 @@ static EDA_HOTKEY HkSelLayerAndAddBlindBuriedVia( wxT( "Sel Layer and Add Blind/ ...@@ -70,7 +76,6 @@ static EDA_HOTKEY HkSelLayerAndAddBlindBuriedVia( wxT( "Sel Layer and Add Blind/
static EDA_HOTKEY HkSwitchTrackPosture( wxT( "Switch Track Posture" ), HK_SWITCH_TRACK_POSTURE, '/' ); static EDA_HOTKEY HkSwitchTrackPosture( wxT( "Switch Track Posture" ), HK_SWITCH_TRACK_POSTURE, '/' );
static EDA_HOTKEY HkDragTrackKeepSlope( wxT( "Drag track keep slope" ), HK_DRAG_TRACK_KEEP_SLOPE, 'D' ); static EDA_HOTKEY HkDragTrackKeepSlope( wxT( "Drag track keep slope" ), HK_DRAG_TRACK_KEEP_SLOPE, 'D' );
static EDA_HOTKEY HkPlaceItem( wxT( "Place Item" ), HK_PLACE_ITEM, 'P' ); static EDA_HOTKEY HkPlaceItem( wxT( "Place Item" ), HK_PLACE_ITEM, 'P' );
static EDA_HOTKEY HkEndTrack( wxT( "End Track" ), HK_END_TRACK, WXK_END );
static EDA_HOTKEY HkEditBoardItem( wxT( "Edit Item" ), HK_EDIT_ITEM, 'E' ); static EDA_HOTKEY HkEditBoardItem( wxT( "Edit Item" ), HK_EDIT_ITEM, 'E' );
static EDA_HOTKEY HkFlipItem( wxT( "Flip Item" ), HK_FLIP_ITEM, 'F' ); static EDA_HOTKEY HkFlipItem( wxT( "Flip Item" ), HK_FLIP_ITEM, 'F' );
static EDA_HOTKEY HkRotateItem( wxT( "Rotate Item" ), HK_ROTATE_ITEM, 'R' ); static EDA_HOTKEY HkRotateItem( wxT( "Rotate Item" ), HK_ROTATE_ITEM, 'R' );
...@@ -211,6 +216,8 @@ EDA_HOTKEY* common_Hotkey_List[] = ...@@ -211,6 +216,8 @@ EDA_HOTKEY* common_Hotkey_List[] =
&HkZoomRedraw, &HkZoomCenter, &HkZoomAuto, &HkZoomRedraw, &HkZoomCenter, &HkZoomAuto,
&HkSwitchUnits, &HkResetLocalCoord, &HkSetGridOrigin, &HkResetGridOrigin, &HkSwitchUnits, &HkResetLocalCoord, &HkSetGridOrigin, &HkResetGridOrigin,
&HkUndo, &HkRedo, &HkUndo, &HkRedo,
&HkMouseLeftClick,
&HkMouseLeftDClick,
NULL NULL
}; };
...@@ -225,7 +232,8 @@ EDA_HOTKEY* board_edit_Hotkey_List[] = ...@@ -225,7 +232,8 @@ EDA_HOTKEY* board_edit_Hotkey_List[] =
&HkSwitchTrackPosture, &HkSwitchTrackPosture,
&HkDragTrackKeepSlope, &HkDragTrackKeepSlope,
&HkPlaceItem, &HkCopyItem, &HkPlaceItem, &HkCopyItem,
&HkEndTrack, &HkMoveItem, &HkFlipItem, &HkMoveItem,
&HkFlipItem,
&HkRotateItem, &HkDragFootprint, &HkRotateItem, &HkDragFootprint,
&HkGetAndMoveFootprint, &HkLock_Unlock_Footprint, &HkSavefile, &HkSavefileAs, &HkGetAndMoveFootprint, &HkLock_Unlock_Footprint, &HkSavefile, &HkSavefileAs,
&HkLoadfile, &HkFindItem, &HkEditBoardItem, &HkLoadfile, &HkFindItem, &HkEditBoardItem,
......
...@@ -28,7 +28,6 @@ enum hotkey_id_commnand { ...@@ -28,7 +28,6 @@ enum hotkey_id_commnand {
HK_ADD_MICROVIA, HK_ADD_MICROVIA,
HK_SWITCH_TRACK_POSTURE, HK_SWITCH_TRACK_POSTURE,
HK_DRAG_TRACK_KEEP_SLOPE, HK_DRAG_TRACK_KEEP_SLOPE,
HK_END_TRACK,
HK_SAVE_BOARD, HK_SAVE_BOARD,
HK_SAVE_BOARD_AS, HK_SAVE_BOARD_AS,
HK_LOAD_BOARD, HK_LOAD_BOARD,
...@@ -90,6 +89,8 @@ enum hotkey_id_commnand { ...@@ -90,6 +89,8 @@ enum hotkey_id_commnand {
HK_CANVAS_DEFAULT, HK_CANVAS_DEFAULT,
HK_CANVAS_OPENGL, HK_CANVAS_OPENGL,
HK_CANVAS_CAIRO, HK_CANVAS_CAIRO,
HK_LEFT_CLICK,
HK_LEFT_DCLICK
}; };
// Full list of hotkey descriptors for board editor and footprint editor // Full list of hotkey descriptors for board editor and footprint editor
......
...@@ -161,6 +161,15 @@ void PCB_EDIT_FRAME::OnHotKey( wxDC* aDC, int aHotkeyCode, const wxPoint& aPosit ...@@ -161,6 +161,15 @@ void PCB_EDIT_FRAME::OnHotKey( wxDC* aDC, int aHotkeyCode, const wxPoint& aPosit
return; return;
break; break;
case HK_LEFT_CLICK:
OnLeftClick( aDC, aPosition );
break;
case HK_LEFT_DCLICK: // Simulate a double left click: generate 2 events
OnLeftClick( aDC, aPosition );
OnLeftDClick( aDC, aPosition );
break;
case HK_RECORD_MACROS_0: case HK_RECORD_MACROS_0:
case HK_RECORD_MACROS_1: case HK_RECORD_MACROS_1:
case HK_RECORD_MACROS_2: case HK_RECORD_MACROS_2:
...@@ -428,16 +437,6 @@ void PCB_EDIT_FRAME::OnHotKey( wxDC* aDC, int aHotkeyCode, const wxPoint& aPosit ...@@ -428,16 +437,6 @@ void PCB_EDIT_FRAME::OnHotKey( wxDC* aDC, int aHotkeyCode, const wxPoint& aPosit
break; break;
case HK_END_TRACK:
if( itemCurrentlyEdited && GetCurItem()->IsTrack() && GetCurItem()->IsNew() )
{
// A new track is in progress: call to End_Route()
m_canvas->MoveCursorToCrossHair();
End_Route( (TRACK*) GetCurItem(), aDC );
}
break;
case HK_GET_AND_MOVE_FOOTPRINT: case HK_GET_AND_MOVE_FOOTPRINT:
if( !itemCurrentlyEdited ) if( !itemCurrentlyEdited )
evt_type = ID_POPUP_PCB_GET_AND_MOVE_MODULE_REQUEST; evt_type = ID_POPUP_PCB_GET_AND_MOVE_MODULE_REQUEST;
......
...@@ -58,6 +58,15 @@ void FOOTPRINT_EDIT_FRAME::OnHotKey( wxDC* aDC, int aHotKey, const wxPoint& aPos ...@@ -58,6 +58,15 @@ void FOOTPRINT_EDIT_FRAME::OnHotKey( wxDC* aDC, int aHotKey, const wxPoint& aPos
GetScreen()->m_O_Curseur = GetCrossHairPosition(); GetScreen()->m_O_Curseur = GetCrossHairPosition();
break; break;
case HK_LEFT_CLICK:
OnLeftClick( aDC, aPosition );
break;
case HK_LEFT_DCLICK: // Simulate a double left click: generate 2 events
OnLeftClick( aDC, aPosition );
OnLeftDClick( aDC, aPosition );
break;
case HK_SET_GRID_ORIGIN: case HK_SET_GRID_ORIGIN:
SetGridOrigin( GetCrossHairPosition() ); SetGridOrigin( GetCrossHairPosition() );
m_canvas->Refresh(); m_canvas->Refresh();
......
...@@ -520,7 +520,7 @@ void PCB_EDIT_FRAME::createPopupMenuForTracks( TRACK* Track, wxMenu* PopMenu ) ...@@ -520,7 +520,7 @@ void PCB_EDIT_FRAME::createPopupMenuForTracks( TRACK* Track, wxMenu* PopMenu )
{ {
if( flags & IS_NEW ) if( flags & IS_NEW )
{ {
msg = AddHotkeyName( _( "End Track" ), g_Board_Editor_Hokeys_Descr, HK_END_TRACK ); msg = AddHotkeyName( _( "End Track" ), g_Board_Editor_Hokeys_Descr, HK_LEFT_DCLICK );
AddMenuItem( PopMenu, ID_POPUP_PCB_END_TRACK, msg, KiBitmap( checked_ok_xpm ) ); AddMenuItem( PopMenu, ID_POPUP_PCB_END_TRACK, msg, KiBitmap( checked_ok_xpm ) );
} }
......
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