diff --git a/common/about_kicad.cpp b/common/about_kicad.cpp index af22da8ddd..4b185c00ff 100644 --- a/common/about_kicad.cpp +++ b/common/about_kicad.cpp @@ -65,11 +65,13 @@ void InitKiCadAbout(wxAboutDialogInfo& info) #else description << (wxT(" 32 bits")); #endif + description << (wxT("\n with wxWidgets ")); + description << wxMAJOR_VERSION << wxT(".") << wxMINOR_VERSION << wxT(".") << wxRELEASE_NUMBER; description << wxT("\n\nWeb sites:\n"); description << wxT("http://iut-tice.ujf-grenoble.fr/kicad/" ); description << wxT("\n"); - description << wxT("http://kicad.sourceforge.net/" ); + description << wxT("http://kicad.sourceforge.net/" ); description << wxT("\n"); diff --git a/common/hotkeys_basic.cpp b/common/hotkeys_basic.cpp index b8623c7f76..b3edd3dbff 100644 --- a/common/hotkeys_basic.cpp +++ b/common/hotkeys_basic.cpp @@ -272,7 +272,7 @@ static int ReturnKeyCodeFromKeyName( const wxString& keyname ) { if( s_Hotkey_Name_List[ii].m_KeyCode == 0 ) // End of list reached break; - + if( keyname.CmpNoCase( s_Hotkey_Name_List[ii].m_Name ) == 0 ) { keycode = s_Hotkey_Name_List[ii].m_KeyCode; @@ -542,13 +542,13 @@ int WinEDA_BasicFrame::ReadHotkeyConfigFile( const wxString& /* Get the key name */ strtok( NULL, "\"\n\r" ); keyname = strtok( NULL, "\"\n\r" ); - + strtok( NULL, "\"\n\r" ); - + /* Get the command name */ fctname = strtok( NULL, "\"\n\r" ); msg = CONV_FROM_UTF8( fctname ); - + /* search the hotkey in current hotkey list */ for( Ki_HotkeyInfo** List = CurrentHotkeyList; *List != NULL; List++ ) { @@ -556,11 +556,11 @@ int WinEDA_BasicFrame::ReadHotkeyConfigFile( const wxString& if( hk_decr->m_InfoMsg == msg ) { msg = CONV_FROM_UTF8( keyname ); - + int code = ReturnKeyCodeFromKeyName( msg ); if( code ) hk_decr->m_KeyCode = code; - + break; } } @@ -576,7 +576,7 @@ wxString ReturnHotkeyConfigFilePath( int choice ) /****************************************************/ /* return the hotkey config file path - * @param choice : 0 = home, 1 = kicad/template + * @param choice : 0 = home, 1 = kicad/share/template */ { wxString path; @@ -584,11 +584,11 @@ wxString ReturnHotkeyConfigFilePath( int choice ) switch( choice ) { case 0: - path = DEFAULT_HOTKEY_FILENAME_PATH_IS_HOME; + path = wxGetHomeDir() + wxT( "/" ); break; case 1: - path = DEFAULT_HOTKEY_FILENAME_PATH_IS_KICAD; + path = ReturnKicadDatasPath() + wxT( "template/" ); break; default: diff --git a/eeschema/eeconfig.cpp b/eeschema/eeconfig.cpp index 37f42a92e3..3413db7f2d 100644 --- a/eeschema/eeconfig.cpp +++ b/eeschema/eeconfig.cpp @@ -93,6 +93,7 @@ void WinEDA_SchematicFrame::Process_Config( wxCommandEvent& event ) FullFileName = ReturnHotkeyConfigFilePath( g_ConfigFileLocationChoice ); FullFileName += HOTKEY_FILENAME; FullFileName += DEFAULT_HOTKEY_FILENAME_EXT; + AddDelimiterString(FullFileName); wxString editorname = GetEditorName(); if( !editorname.IsEmpty() ) ExecuteFile( this, editorname, FullFileName ); diff --git a/eeschema/plugins/makefile.gtk b/eeschema/plugins/makefile.gtk index 0a3a71cdcb..612be5f675 100644 --- a/eeschema/plugins/makefile.gtk +++ b/eeschema/plugins/makefile.gtk @@ -1,6 +1,6 @@ # File: makefile for eeschema, mingw -#used only to define (KICAD_BIN) and (LIBSTDC) : +#used only to define (KICAD_PLUGINS) : include ../../libs.linux all: netlist_form_pads-pcb @@ -11,7 +11,7 @@ deps: -include *.d netlist_form_pads-pcb: netlist_form_pads-pcb.cpp makefile.gtk - gcc -D__UNIX__ -Wall netlist_form_pads-pcb.cpp -o netlist_form_pads-pcb $(LIBSTDC) + g++ -D__UNIX__ -Wall netlist_form_pads-pcb.cpp -o netlist_form_pads-pcb install: netlist_form_pads-pcb mkdir -p $(KICAD_PLUGINS) diff --git a/gerbview/gerbview_config.cpp b/gerbview/gerbview_config.cpp index 5c03631b1d..78bf86cfef 100644 --- a/gerbview/gerbview_config.cpp +++ b/gerbview/gerbview_config.cpp @@ -71,11 +71,27 @@ void WinEDA_GerberFrame::Process_Config( wxCommandEvent& event ) Read_Hotkey_Config( this, true ); break; + case ID_PREFERENCES_EDIT_CONFIG_HOTKEYS: + { + FullFileName = ReturnHotkeyConfigFilePath( g_ConfigFileLocationChoice ); + FullFileName += HOTKEY_FILENAME; + FullFileName += DEFAULT_HOTKEY_FILENAME_EXT; + AddDelimiterString(FullFileName); + wxString editorname = GetEditorName(); + if( !editorname.IsEmpty() ) + ExecuteFile( this, editorname, FullFileName ); + } + break; + case ID_PREFERENCES_HOTKEY_PATH_IS_HOME: case ID_PREFERENCES_HOTKEY_PATH_IS_KICAD: HandleHotkeyConfigMenuSelection( this, id ); break; + case ID_PREFERENCES_HOTKEY_SHOW_CURRENT_LIST: // Display Current hotkey list for gerbview + DisplayHotkeyList( this, s_Gerbview_Hokeys_Descr ); + break; + default: DisplayError( this, wxT( "WinEDA_GerberFrame::Process_Config internal error" ) ); } diff --git a/include/build_version.h b/include/build_version.h index 1cc70a5328..445eef6001 100644 --- a/include/build_version.h +++ b/include/build_version.h @@ -9,7 +9,7 @@ COMMON_GLOBL wxString g_BuildVersion # include "config.h" (wxT(KICAD_SVN_VERSION)) # else - (wxT("(20080825)")) /* main program version */ + (wxT("(20080825-RC1)")) /* main program version */ # endif #endif ; @@ -20,7 +20,7 @@ COMMON_GLOBL wxString g_BuildAboutVersion # include "config.h" (wxT(KICAD_ABOUT_VERSION)) # else - (wxT("(20080811.r1188)")) /* svn date & rev (normally overridden) */ + (wxT("(20080825-RC1)")) /* svn date & rev (normally overridden) */ # endif #endif ; diff --git a/include/hotkeys_basic.h b/include/hotkeys_basic.h index cf589405de..b16454dcb3 100644 --- a/include/hotkeys_basic.h +++ b/include/hotkeys_basic.h @@ -14,10 +14,6 @@ #define DEFAULT_HOTKEY_FILENAME_EXT wxT( ".key" ) -/* define default path for config key file */ -#define DEFAULT_HOTKEY_FILENAME_PATH_IS_HOME wxGetHomeDir() + wxT( "/" ) -#define DEFAULT_HOTKEY_FILENAME_PATH_IS_KICAD g_EDA_Appl->m_BinDir + wxT( "../template/" ) - /* keyword idetifier in kicad config use ti store/retrieve path option */ #define HOTKEY_CFG_PATH_OPT wxT( "HotkeyPathOption" ) diff --git a/libs.linux b/libs.linux index fe4f67d33d..cd13143106 100644 --- a/libs.linux +++ b/libs.linux @@ -1,5 +1,6 @@ # -# Configuration for kicad build & install +# Configuration for kicad build & install if not using cmake +# and wxWidgets 2.8.8 # # You must comment or uncomment this line to disable/enable python support @@ -12,12 +13,12 @@ # non-standard location edit common/gestfich.ccp so it knows where to # load help/data/etc. files from. # Current supported PREFIXes are /usr and /usr/local (standard install for distributions) -# and /usr/local/kicad is used when STD_INSTALL = 0 or STD_INSTALL = 2 +# /usr/local/kicad is used when STD_INSTALL = 0, or STD_INSTALL = 2 # all kicad files will be in /usr/local/kicad -# STD_INSTALL = 2 is used only to make static link (only useful when kicad run on an other +# STD_INSTALL = 2 is used only to make static link (only useful when kicad run on an other # linux distribution than the distributions used to compil kicad. -STD_INSTALL = 1 +STD_INSTALL = 0 #******************************************* #******************************************* @@ -32,68 +33,57 @@ ifndef KICAD_STATIC_LINK KICAD_STATIC_LINK = 0 endif -ifeq ($(STD_INSTALL), 1) -PREFIX = /usr -KICAD_BIN = $(PREFIX)/bin -KICAD_PLUGINS = $(PREFIX)/lib/kicad/plugins -KICAD_DOCS=$(PREFIX)/share/doc/kicad -KICAD_DATA=$(PREFIX)/share/kicad -KICAD_MODULES=$(KICAD_DATA)/modules -KICAD_LIBRARY=$(KICAD_DATA)/library -KICAD_INTERNAT=$(KICAD_DATA)/internat -KICAD_TEMPLATE=$(KICAD_DATA)/template +ifeq ($(STD_INSTALL), 1) # Used to build linux distribs +PREFIX = /usr # (can also be /usr/local) +KICAD_BIN = $(PREFIX)/bin # Install main binaries here +KICAD_PLUGINS = $(KICAD_BIN) # Install other binaries here +KICAD_DOCS=$(PREFIX)/share/doc/kicad # Install doc files here +KICAD_DATA=$(PREFIX)/share/kicad # Install libraries and others files here -else +else # Install ALL files in /usr/local/kicad # when STD_INSTALL = 0 or STD_INSTALL = 2 -# STD_INSTALL = 2 is used by myself (JP Charras) to build a statically linked distribution intalled in /usr/local (with STD_INSTALL = 0) +# STD_INSTALL = 0 is used to build kicad intalled in /usr/local +# STD_INSTALL = 2 is used by myself (JP Charras) to build a statically linked distribution intalled in /usr/local PREFIX = /usr/local/kicad -KICAD_BIN = $(PREFIX)/linux +KICAD_BIN = $(PREFIX)/bin KICAD_PLUGINS = $(KICAD_BIN)/plugins KICAD_DOCS=$(PREFIX)/help -KICAD_DATA=$(PREFIX) +KICAD_DATA=$(PREFIX)/share +endif + KICAD_MODULES=$(KICAD_DATA)/modules KICAD_LIBRARY=$(KICAD_DATA)/library KICAD_INTERNAT=$(KICAD_DATA)/internat KICAD_TEMPLATE=$(KICAD_DATA)/template -endif - -# http://www.gnu.org/software/autoconf/manual/make/Catalogue-of-Rules.html#Catalogue-of-Rules -CXX = g++ +# define compil and link +LD = g++ SRCSUFF = .cpp OBJSUFF = .o FINAL = 1 -# turn on/OFF debugging for all executables, only tested without KICAD_PYTHON -DEBUG = 1 +# turn ON/OFF debugging for all executables, only tested without KICAD_PYTHON +DEBUG = 0 -# common CPPFLAGS to all components, further CPPFLAGS customization in +# common CPPFLAGS to all components, further CPPFLAGS customization in # directory specific makefile.gtk files. ifeq ($(DEBUG), 1) -WXXFLAGS := $(shell wx-config --debug --cxxflags) +WXXFLAGS := $(shell wx-config --debug --cxxflags) CPPFLAGS = -Wall -g3 -ggdb3 ${WXXFLAGS} -fno-strict-aliasing -DDEBUG -D_UNICODE LDFLAGS = -g3 -ggdb3 #-v else -WXXFLAGS := $(shell wx-config --cxxflags) +WXXFLAGS := $(shell wx-config --cxxflags) CPPFLAGS = -Wall -O2 ${WXXFLAGS} -fno-strict-aliasing -D_UNICODE LDFLAGS = -s #-v endif -# a command line define which affects pcbnew only, causing it to match current layer +# a command line define which affects pcbnew only, causing it to match current layer ifdef USE_MATCH_LAYER -CPPFLAGS += -DUSE_MATCH_LAYER -endif - - - -ifeq ($(KICAD_STATIC_LINK), 1) -LD = gcc -else -LD = g++ +CPPFLAGS += -DUSE_MATCH_LAYER endif ifdef KICAD_PYTHON @@ -105,70 +95,40 @@ PYLIBS+= -lboost_python-mt EXTRACPPFLAGS+=-I /usr/include/python$(PYTHON_VERSION) -DKICAD_PYTHON -fno-strict-aliasing endif -# path and version definition for wxWidgets and mesa libs +# mesa (free opengl library) libs MESALIBSPATH = /usr/local/lib + +#for static link: add wx gl lib +LIBVERSION=`wx-config --release` WXPATH = `wx-config --prefix`/lib PREFIX_WX_LIBS = lib`wx-config --basename` -SUFFIX_WX_LIBSTD = `wx-config --utility=` SUFFIX_WX_LIBGL = _gl-$(LIBVERSION).a -# Use static link for libstdc++.a (sometimes also libsupc++.a) -# locate libstdc++.a and copy it in kicad_dev/syslibs -ifeq ($(KICAD_STATIC_LINK), 1) -#define path for a copy of libstdc++.a or/and libsupc++.a: -LIBSTDC = ../syslibs/libstdc++.a -else -# Or Use static link for libsupc++ or libstdc++ (more easy!!) -LIBSTDC = #-lstdc++ is implied when using g++ to link -endif - - -LIBVERSION=`wx-config --release` -LIBREGEX=$(WXPATH)/libwxregexu-$(LIBVERSION).a - -# use link static for wxWidgets -ifeq ($(KICAD_STATIC_LINK), 1) -LIBS3D = $(WXPATH)/$(PREFIX_WX_LIBS)$(SUFFIX_WX_LIBGL)\ - $(MESALIBSPATH)/libGL.a $(MESALIBSPATH)/libGLU.a - -AUXLIB = -lXxf86vm -#AUXLIB = /usr/X11R6/lib/libXinerama.a - -WXSYSLIB= $(WXPATH)/$(PREFIX_WX_LIBS)-$(LIBVERSION).a \ - $(WXPATH)/libwxpng-$(LIBVERSION).a\ - $(WXPATH)/libwxjpeg-$(LIBVERSION).a\ - $(WXPATH)/libwxzlib-$(LIBVERSION).a\ - $(LIBREGEX)\ - $(AUXLIB)\ - -lgtk-x11-2.0 -lgdk-x11-2.0 \ - -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangoxft-1.0 -lpangox-1.0 -lgthread-2.0\ - -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -ldl\ - -lglib-2.0 -lpangoft2-1.0 -lSM\ - -L/usr/lib $(PYLIBS) - - -WXSYSLIB_WITH_GL= $(WXSYSLIB) $(LIBS3D) - -else - ifeq ($(DEBUG), 1) # debug wxWidgets WXSYSLIB= `wx-config --debug --libs std` -WXSYSLIB_WITH_GL= `wx-config --debug --libs std,gl` else # or use "standard command" for wxWidgets WXSYSLIB= `wx-config --libs std` +endif + +# use link static +ifeq ($(KICAD_STATIC_LINK), 1) +LIBS3D = $(WXPATH)/$(PREFIX_WX_LIBS)$(SUFFIX_WX_LIBGL) $(MESALIBSPATH)/libGL.a $(MESALIBSPATH)/libGLU.a +WXSYSLIB_WITH_GL= $(WXSYSLIB) $(LIBS3D) + +else +ifeq ($(DEBUG), 1) +WXSYSLIB_WITH_GL= `wx-config --debug --libs std,gl` +else WXSYSLIB_WITH_GL= `wx-config --libs std,gl` endif - endif -# attention � l'ordre des libairies +# attention a l'ordre des libairies LIBS = -L/usr/local/lib -L/usr/X11R6/lib\ - $(EXTRALIBS) $(WXSYSLIB)\ - $(LIBSTDC) $(PYLIBS) + $(EXTRALIBS) $(WXSYSLIB) $(PYLIBS) LIBS_WITH_GL = -L/usr/local/lib -L/usr/X11R6/lib\ - $(EXTRALIBS) $(WXSYSLIB_WITH_GL)\ - $(LIBSTDC) $(PYLIBS) + $(EXTRALIBS) $(WXSYSLIB_WITH_GL) $(PYLIBS) diff --git a/pcbnew/pcbcfg.cpp b/pcbnew/pcbcfg.cpp index 8107c90c21..465dd4b50a 100644 --- a/pcbnew/pcbcfg.cpp +++ b/pcbnew/pcbcfg.cpp @@ -104,6 +104,7 @@ void WinEDA_PcbFrame::Process_Config( wxCommandEvent& event ) FullFileName = ReturnHotkeyConfigFilePath( g_ConfigFileLocationChoice ); FullFileName += HOTKEY_FILENAME; FullFileName += DEFAULT_HOTKEY_FILENAME_EXT; + AddDelimiterString(FullFileName); wxString editorname = GetEditorName(); if( !editorname.IsEmpty() ) ExecuteFile( this, editorname, FullFileName );