From 8eff8df94b4e3492745b1be706456a88e55effd1 Mon Sep 17 00:00:00 2001 From: dickelbeck Date: Tue, 19 Feb 2008 00:35:45 +0000 Subject: [PATCH] beautify --- common/common.cpp | 36 +- common/edaappl.cpp | 20 +- common/projet_config.cpp | 813 +++++++++++++++++++++------------------ pcbnew/pcbcfg.cpp | 289 +++++++------- 4 files changed, 613 insertions(+), 545 deletions(-) diff --git a/common/common.cpp b/common/common.cpp index 30c09a21ed..4310def7d2 100644 --- a/common/common.cpp +++ b/common/common.cpp @@ -277,10 +277,10 @@ wxString ReturnPcbLayerName( int layer_number, bool omitSpacePadding ) */ { -#if 0 && defined(DEBUG) +#if 1 && defined(DEBUG) // Dick: this code is working fine, but we have no place to store the layer names yet. - + const unsigned LAYER_LIMIT = 29; // @todo: these layer names should be configurable on a per project basis. @@ -288,17 +288,17 @@ wxString ReturnPcbLayerName( int layer_number, bool omitSpacePadding ) // deriving the file names from the "configured" layer names. // The main idea is to use a single array of names, and then remove // spaces on the fly from the names when writing to disk. - - -#if 1 // my specific layer names + + +#if 1 // my specific layer names static const wxString layer_name_list[] = { _( "H2 Bottom" ), _( "Power" ), _( "V2 Signal" ), _( "H1 Signal" ), - _( "Ground" ), _( "Inner L5 " ), _( "Inner L6 " ), _( "Inner L7 " ), - _( "Inner L8 " ), _( "Inner L9 " ), _( "Inner L10" ), _( "Inner L11" ), + _( "Ground" ), _( "Inner L5" ), _( "Inner L6" ), _( "Inner L7" ), + _( "Inner L8" ), _( "Inner L9" ), _( "Inner L10" ), _( "Inner L11" ), _( "Inner L12" ), _( "Inner L13" ), _( "Inner L14" ), _( "Component" ), _( "Adhes Cop" ), _( "Adhes Cmp" ), _( "SoldP Cop" ), _( "SoldP Cmp" ), - _( "SilkS Cop" ), _( "SilkS Cmp" ), _( "Mask Cop " ), _( "Mask Cmp " ), - _( "Drawings " ), _( "Comments " ), _( "Eco1 " ), _( "Eco2 " ), + _( "SilkS Cop" ), _( "SilkS Cmp" ), _( "Mask Cop" ), _( "Mask Cmp" ), + _( "Drawings " ), _( "Comments" ), _( "Eco1" ), _( "Eco2" ), _( "Edges Pcb" ), _( "BAD INDEX" ), }; #else @@ -319,22 +319,22 @@ wxString ReturnPcbLayerName( int layer_number, bool omitSpacePadding ) layer_number = LAYER_LIMIT; const wxString* p = &layer_name_list[layer_number]; - + if( omitSpacePadding ) { wxString ret = *p; // copy the string - + // modify the copy ret.Trim(); ret.Replace( wxT(" "), wxT("_") ); - + return ret; } else return *p; #else // long standing established code: - + static const wxString layer_name_list[] = { _( "Copper " ), _( "Inner L1 " ), _( "Inner L2 " ), _( "Inner L3 " ), _( "Inner L4 " ), _( "Inner L5 " ), _( "Inner L6 " ), _( "Inner L7 " ), @@ -346,7 +346,7 @@ wxString ReturnPcbLayerName( int layer_number, bool omitSpacePadding ) _( "Edges Pcb" ), _( "--- " ), _( "--- " ), _( "--- " ) }; - + // Same as layer_name_list, without space, not internationalized static const wxString layer_name_list_for_filename[] = { wxT( "Copper" ), wxT( "InnerL1" ), wxT( "InnerL2" ), wxT( "InnerL3" ), @@ -358,16 +358,16 @@ wxString ReturnPcbLayerName( int layer_number, bool omitSpacePadding ) wxT( "Drawings" ), wxT( "Comments" ), wxT( "Eco1" ), wxT( "Eco2" ), wxT( "EdgesPcb" ), wxT( "---" ), wxT( "---" ), wxT( "---" ) }; - + if( (unsigned) layer_number >= 31u ) layer_number = 31; - return omitSpacePadding ? + return omitSpacePadding ? layer_name_list_for_filename[layer_number] : layer_name_list[layer_number]; #endif - + } @@ -509,6 +509,6 @@ const wxString& valeur_param( int valeur, wxString& buf_texte ) { buf_texte.Printf( wxT( "%2.4f \"" ), valeur * 0.0001 ); } - + return buf_texte; } diff --git a/common/edaappl.cpp b/common/edaappl.cpp index 3ecdf1c3bd..0852585849 100644 --- a/common/edaappl.cpp +++ b/common/edaappl.cpp @@ -118,8 +118,8 @@ void WinEDA_App::InitEDA_Appl( const wxString& name ) /* Init kicad environment * the environment variable KICAD (if exists) gives the kicad path: - * something like set KICAD=d:\kicad - */ + * something like set KICAD=d:\kicad + */ m_Env_Defined = wxGetEnv( wxT( "KICAD" ), &m_KicadEnv ); if( m_Env_Defined ) // ensure m_KicadEnv ends by "/" { @@ -214,7 +214,7 @@ bool WinEDA_App::SetBinDir() if (str == NULL) return false; char *native_str = NULL; int len = CFStringGetMaximumSizeForEncoding(CFStringGetLength(str), - kCFStringEncodingUTF8) + 1; + kCFStringEncodingUTF8) + 1; native_str = new char[len]; CFStringGetCString(str, native_str, len, kCFStringEncodingUTF8); m_BinDir = CONV_FROM_UTF8(native_str); @@ -222,7 +222,7 @@ bool WinEDA_App::SetBinDir() #elif defined(__UNIX__) - // Under Linux, if argv[0] doesn't the complete path to the executable, + // Under Linux, if argv[0] doesn't the complete path to the executable, // it's necessary to obtain it using "which ". FILE* ftmp; @@ -270,7 +270,8 @@ void WinEDA_App::GetSettings() wxString Line, Ident; unsigned ii; - m_HelpSize.x = 500; m_HelpSize.y = 400; + m_HelpSize.x = 500; + m_HelpSize.y = 400; if( m_EDA_CommonConfig ) { @@ -285,8 +286,11 @@ void WinEDA_App::GetSettings() for( ii = 0; ii < 10; ii++ ) { - Ident = wxT( "LastProject" ); if( ii ) + Ident = wxT( "LastProject" ); + + if( ii ) Ident << ii; + if( m_EDA_Config->Read( Ident, &Line ) ) m_LastProject.Add( Line ); } @@ -299,6 +303,7 @@ void WinEDA_App::GetSettings() Line = m_EDA_Config->Read( wxT( "SdtFontType" ), wxEmptyString ); if( !Line.IsEmpty() ) g_StdFont->SetFaceName( Line ); + ii = m_EDA_Config->Read( wxT( "SdtFontStyle" ), wxFONTFAMILY_ROMAN ); g_StdFont->SetStyle( ii ); ii = m_EDA_Config->Read( wxT( "SdtFontWeight" ), wxNORMAL ); @@ -309,6 +314,7 @@ void WinEDA_App::GetSettings() Line = m_EDA_Config->Read( wxT( "MsgFontType" ), wxEmptyString ); if( !Line.IsEmpty() ) g_MsgFont->SetFaceName( Line ); + ii = m_EDA_Config->Read( wxT( "MsgFontStyle" ), wxFONTFAMILY_ROMAN ); g_MsgFont->SetStyle( ii ); ii = m_EDA_Config->Read( wxT( "MsgFontWeight" ), wxNORMAL ); @@ -318,6 +324,7 @@ void WinEDA_App::GetSettings() Line = m_EDA_Config->Read( wxT( "DialogFontType" ), wxEmptyString ); if( !Line.IsEmpty() ) g_DialogFont->SetFaceName( Line ); + ii = m_EDA_Config->Read( wxT( "DialogFontStyle" ), wxFONTFAMILY_ROMAN ); g_DialogFont->SetStyle( ii ); ii = m_EDA_Config->Read( wxT( "DialogFontWeight" ), wxNORMAL ); @@ -343,7 +350,6 @@ void WinEDA_App::SaveSettings() { unsigned int ii; - if( m_EDA_Config == NULL ) return; diff --git a/common/projet_config.cpp b/common/projet_config.cpp index c0a11d0189..7f3e02a863 100644 --- a/common/projet_config.cpp +++ b/common/projet_config.cpp @@ -1,6 +1,6 @@ - /**************************************************/ - /* projet_config : routines de trace du cartouche */ - /**************************************************/ +/**************************************************/ +/* projet_config : routines de trace du cartouche */ +/**************************************************/ #include "fctsys.h" #include "gr_basic.h" @@ -13,341 +13,386 @@ /*********************************************************************/ -static bool ReCreatePrjConfig(const wxString & local_config_filename, - const wxString & GroupName, bool ForceUseLocalConfig) +static bool ReCreatePrjConfig( const wxString& local_config_filename, + const wxString& GroupName, bool ForceUseLocalConfig ) /*********************************************************************/ + /* Cree ou recree la configuration locale de kicad (filename.pro) - initialise: - g_Prj_Config - g_Prj_Config_LocalFilename - g_Prj_Default_Config_FullFilename - return: - TRUE si config locale - FALSE si default config -*/ + * initialise: + * g_Prj_Config + * g_Prj_Config_LocalFilename + * g_Prj_Default_Config_FullFilename + * return: + * TRUE si config locale + * FALSE si default config + */ { - // free old config - if ( g_Prj_Config ) delete g_Prj_Config; - g_Prj_Config = NULL; - - // Init local Config filename - if ( local_config_filename.IsEmpty() ) g_Prj_Config_LocalFilename = wxT("kicad"); - else g_Prj_Config_LocalFilename = local_config_filename; + // free old config + if( g_Prj_Config ) + delete g_Prj_Config; + g_Prj_Config = NULL; - ChangeFileNameExt( g_Prj_Config_LocalFilename, g_Prj_Config_Filename_ext ); + // Init local Config filename + if( local_config_filename.IsEmpty() ) + g_Prj_Config_LocalFilename = wxT( "kicad" ); + else + g_Prj_Config_LocalFilename = local_config_filename; - // Init local config filename - if ( ForceUseLocalConfig || wxFileExists(g_Prj_Config_LocalFilename) ) - { - g_Prj_Default_Config_FullFilename.Empty(); - g_Prj_Config = new wxFileConfig(wxEmptyString, wxEmptyString, - g_Prj_Config_LocalFilename, wxEmptyString, - wxCONFIG_USE_RELATIVE_PATH); - g_Prj_Config->DontCreateOnDemand(); + ChangeFileNameExt( g_Prj_Config_LocalFilename, g_Prj_Config_Filename_ext ); - if ( ForceUseLocalConfig ) return TRUE; - - // Test de la bonne version du fichier (ou groupe) de configuration - int version = -1, def_version = 0; - g_Prj_Config->SetPath(GroupName); - version = g_Prj_Config->Read( wxT("version"), def_version); - g_Prj_Config->SetPath(UNIX_STRING_DIR_SEP); - if ( version > 0 ) return TRUE; - else delete g_Prj_Config; // Version incorrecte - } + // Init local config filename + if( ForceUseLocalConfig || wxFileExists( g_Prj_Config_LocalFilename ) ) + { + g_Prj_Default_Config_FullFilename.Empty(); + g_Prj_Config = new wxFileConfig( wxEmptyString, wxEmptyString, + g_Prj_Config_LocalFilename, wxEmptyString, + wxCONFIG_USE_RELATIVE_PATH ); + + g_Prj_Config->DontCreateOnDemand(); + + if( ForceUseLocalConfig ) + return TRUE; + + // Test de la bonne version du fichier (ou groupe) de configuration + int version = -1, def_version = 0; + g_Prj_Config->SetPath( GroupName ); + version = g_Prj_Config->Read( wxT( "version" ), def_version ); + g_Prj_Config->SetPath( UNIX_STRING_DIR_SEP ); + if( version > 0 ) + return TRUE; + else + delete g_Prj_Config; // Version incorrecte + } - // Fichier local non trouve ou invalide - g_Prj_Config_LocalFilename.Empty(); - g_Prj_Default_Config_FullFilename = - ReturnKicadDatasPath() + - wxT("template/kicad") + - g_Prj_Config_Filename_ext; - - // Recreate new config - g_Prj_Config = new wxFileConfig(wxEmptyString, wxEmptyString, - wxEmptyString, g_Prj_Default_Config_FullFilename, - wxCONFIG_USE_RELATIVE_PATH); - g_Prj_Config->DontCreateOnDemand(); + // Fichier local non trouve ou invalide + g_Prj_Config_LocalFilename.Empty(); + g_Prj_Default_Config_FullFilename = + ReturnKicadDatasPath() + + wxT( "template/kicad" ) + + g_Prj_Config_Filename_ext; - return FALSE; + // Recreate new config + g_Prj_Config = new wxFileConfig( wxEmptyString, wxEmptyString, + wxEmptyString, g_Prj_Default_Config_FullFilename, + wxCONFIG_USE_RELATIVE_PATH ); + + g_Prj_Config->DontCreateOnDemand(); + + return FALSE; } /***************************************************************************************/ -void WinEDA_App::WriteProjectConfig(const wxString & local_config_filename, - const wxString & GroupName, PARAM_CFG_BASE ** List) +void WinEDA_App::WriteProjectConfig( const wxString& local_config_filename, + const wxString& GroupName, PARAM_CFG_BASE** List ) /***************************************************************************************/ /* enregistrement de la config "projet"*/ { -const PARAM_CFG_BASE * pt_cfg; -wxString msg; - - ReCreatePrjConfig(local_config_filename, GroupName, - FORCE_LOCAL_CONFIG); - /* Write date ( surtout pour eviter bug de wxFileConfig - qui se trompe de rubrique si declaration [xx] en premiere ligne - (en fait si groupe vide) */ - g_Prj_Config->SetPath(UNIX_STRING_DIR_SEP); - msg = DateAndTime(); - g_Prj_Config->Write( wxT("update"), msg); - msg = GetAppName(); - g_Prj_Config->Write( wxT("last_client"), msg); + const PARAM_CFG_BASE* pt_cfg; + wxString msg; - /* ecriture de la configuration */ - g_Prj_Config->DeleteGroup(GroupName); // Erase all datas - g_Prj_Config->Flush(); + ReCreatePrjConfig( local_config_filename, GroupName, + FORCE_LOCAL_CONFIG ); - g_Prj_Config->SetPath(GroupName); - g_Prj_Config->Write( wxT("version"), CONFIG_VERSION); - g_Prj_Config->SetPath(UNIX_STRING_DIR_SEP); + /* Write date ( surtout pour eviter bug de wxFileConfig + * qui se trompe de rubrique si declaration [xx] en premiere ligne + * (en fait si groupe vide) */ + g_Prj_Config->SetPath( UNIX_STRING_DIR_SEP ); + msg = DateAndTime(); - for( ; *List != NULL ; List++) - { - pt_cfg = *List; - if ( pt_cfg->m_Group ) g_Prj_Config->SetPath(pt_cfg->m_Group); - else g_Prj_Config->SetPath(GroupName); + g_Prj_Config->Write( wxT( "update" ), msg ); + msg = GetAppName(); - switch( pt_cfg->m_Type ) - { - case PARAM_INT: - #undef PTCFG - #define PTCFG ((PARAM_CFG_INT *)pt_cfg) - if (PTCFG->m_Pt_param == NULL) break; - if ( pt_cfg->m_Setup) - m_EDA_Config->Write(pt_cfg->m_Ident, *PTCFG->m_Pt_param); - else - g_Prj_Config->Write(pt_cfg->m_Ident, *PTCFG->m_Pt_param); - break; + g_Prj_Config->Write( wxT( "last_client" ), msg ); - case PARAM_SETCOLOR: - #undef PTCFG - #define PTCFG ((PARAM_CFG_SETCOLOR *)pt_cfg) - if (PTCFG->m_Pt_param == NULL) break; - if ( pt_cfg->m_Setup) - m_EDA_Config->Write(pt_cfg->m_Ident, *PTCFG->m_Pt_param); - else - g_Prj_Config->Write(pt_cfg->m_Ident, *PTCFG->m_Pt_param); - break; + /* ecriture de la configuration */ + g_Prj_Config->DeleteGroup( GroupName ); // Erase all datas + g_Prj_Config->Flush(); - case PARAM_DOUBLE: - #undef PTCFG - #define PTCFG ((PARAM_CFG_DOUBLE *)pt_cfg) - if (PTCFG->m_Pt_param == NULL) break; - if ( pt_cfg->m_Setup) - m_EDA_Config->Write(pt_cfg->m_Ident, *PTCFG->m_Pt_param); - else - g_Prj_Config->Write(pt_cfg->m_Ident, *PTCFG->m_Pt_param); - break; + g_Prj_Config->SetPath( GroupName ); + g_Prj_Config->Write( wxT( "version" ), CONFIG_VERSION ); + g_Prj_Config->SetPath( UNIX_STRING_DIR_SEP ); - case PARAM_BOOL: - #undef PTCFG - #define PTCFG ((PARAM_CFG_BOOL *)pt_cfg) - if (PTCFG->m_Pt_param == NULL) break; - if ( pt_cfg->m_Setup) - m_EDA_Config->Write(pt_cfg->m_Ident, (int)*PTCFG->m_Pt_param); - else - g_Prj_Config->Write(pt_cfg->m_Ident, (int)*PTCFG->m_Pt_param); - break; + for( ; *List != NULL; List++ ) + { + pt_cfg = *List; + if( pt_cfg->m_Group ) + g_Prj_Config->SetPath( pt_cfg->m_Group ); + else + g_Prj_Config->SetPath( GroupName ); - case PARAM_WXSTRING: - #undef PTCFG - #define PTCFG ((PARAM_CFG_WXSTRING *)pt_cfg) - if (PTCFG->m_Pt_param == NULL) break; - if ( pt_cfg->m_Setup) - m_EDA_Config->Write(pt_cfg->m_Ident, *PTCFG->m_Pt_param); - else - g_Prj_Config->Write(pt_cfg->m_Ident, *PTCFG->m_Pt_param); - break; + switch( pt_cfg->m_Type ) + { + case PARAM_INT: + #undef PTCFG + #define PTCFG ( (PARAM_CFG_INT*) pt_cfg ) + if( PTCFG->m_Pt_param == NULL ) + break; - case PARAM_LIBNAME_LIST: - { - #undef PTCFG - #define PTCFG ((PARAM_CFG_LIBNAME_LIST *)pt_cfg) - if (PTCFG->m_Pt_param == NULL) break; - wxArrayString * libname_list = PTCFG->m_Pt_param; - if ( libname_list == NULL ) break; - unsigned indexlib = 0; - wxString cle_config; - for ( ; indexlib < libname_list->GetCount(); indexlib++ ) - { - cle_config = pt_cfg->m_Ident; - // We use indexlib+1 because first lib name is LibName1 - cle_config << (indexlib+1); - g_Prj_Config->Write(cle_config, libname_list->Item(indexlib)); - } - break; - } - - case PARAM_COMMAND_ERASE: // Erase all datas - if ( pt_cfg->m_Ident ) - { - m_EDA_Config->DeleteGroup(pt_cfg->m_Ident); - g_Prj_Config->DeleteGroup(pt_cfg->m_Ident); - } - break; - } - } - - g_Prj_Config->SetPath(UNIX_STRING_DIR_SEP); - delete g_Prj_Config; - g_Prj_Config = NULL; + if( pt_cfg->m_Setup ) + m_EDA_Config->Write( pt_cfg->m_Ident, *PTCFG->m_Pt_param ); + else + g_Prj_Config->Write( pt_cfg->m_Ident, *PTCFG->m_Pt_param ); + break; + + case PARAM_SETCOLOR: + #undef PTCFG + #define PTCFG ( (PARAM_CFG_SETCOLOR*) pt_cfg ) + if( PTCFG->m_Pt_param == NULL ) + break; + + if( pt_cfg->m_Setup ) + m_EDA_Config->Write( pt_cfg->m_Ident, *PTCFG->m_Pt_param ); + else + g_Prj_Config->Write( pt_cfg->m_Ident, *PTCFG->m_Pt_param ); + break; + + case PARAM_DOUBLE: + #undef PTCFG + #define PTCFG ( (PARAM_CFG_DOUBLE*) pt_cfg ) + if( PTCFG->m_Pt_param == NULL ) + break; + + if( pt_cfg->m_Setup ) + m_EDA_Config->Write( pt_cfg->m_Ident, *PTCFG->m_Pt_param ); + else + g_Prj_Config->Write( pt_cfg->m_Ident, *PTCFG->m_Pt_param ); + break; + + case PARAM_BOOL: + #undef PTCFG + #define PTCFG ( (PARAM_CFG_BOOL*) pt_cfg ) + if( PTCFG->m_Pt_param == NULL ) + break; + + if( pt_cfg->m_Setup ) + m_EDA_Config->Write( pt_cfg->m_Ident, (int) *PTCFG->m_Pt_param ); + else + g_Prj_Config->Write( pt_cfg->m_Ident, (int) *PTCFG->m_Pt_param ); + break; + + case PARAM_WXSTRING: + #undef PTCFG + #define PTCFG ( (PARAM_CFG_WXSTRING*) pt_cfg ) + if( PTCFG->m_Pt_param == NULL ) + break; + + if( pt_cfg->m_Setup ) + m_EDA_Config->Write( pt_cfg->m_Ident, *PTCFG->m_Pt_param ); + else + g_Prj_Config->Write( pt_cfg->m_Ident, *PTCFG->m_Pt_param ); + break; + + case PARAM_LIBNAME_LIST: + { + #undef PTCFG + #define PTCFG ( (PARAM_CFG_LIBNAME_LIST*) pt_cfg ) + if( PTCFG->m_Pt_param == NULL ) + break; + + wxArrayString* libname_list = PTCFG->m_Pt_param; + if( libname_list == NULL ) + break; + + unsigned indexlib = 0; + wxString cle_config; + for( ; indexlib < libname_list->GetCount(); indexlib++ ) + { + cle_config = pt_cfg->m_Ident; + + // We use indexlib+1 because first lib name is LibName1 + cle_config << (indexlib + 1); + g_Prj_Config->Write( cle_config, libname_list->Item( indexlib ) ); + } + + break; + } + + case PARAM_COMMAND_ERASE: // Erase all datas + if( pt_cfg->m_Ident ) + { + m_EDA_Config->DeleteGroup( pt_cfg->m_Ident ); + g_Prj_Config->DeleteGroup( pt_cfg->m_Ident ); + } + break; + } + } + + g_Prj_Config->SetPath( UNIX_STRING_DIR_SEP ); + delete g_Prj_Config; + g_Prj_Config = NULL; } /***************************************************************************************/ -bool WinEDA_App::ReadProjectConfig(const wxString & local_config_filename, - const wxString & GroupName, PARAM_CFG_BASE ** List, - bool Load_Only_if_New) +bool WinEDA_App::ReadProjectConfig( const wxString& local_config_filename, + const wxString& GroupName, PARAM_CFG_BASE** List, + bool Load_Only_if_New ) /***************************************************************************************/ + /* Lecture de la config "projet" - *** si Load_Only_if_New == TRUE, elle n'est lue que si elle - *** est differente de la config actuelle (dates differentes) - - return: - TRUE si lue. - Met a jour en plus: - g_EDA_Appl->m_CurrentOptionFileDateAndTime - g_EDA_Appl->m_CurrentOptionFile -*/ + *** si Load_Only_if_New == TRUE, elle n'est lue que si elle + *** est differente de la config actuelle (dates differentes) + * + * return: + * TRUE si lue. + * Met a jour en plus: + * g_EDA_Appl->m_CurrentOptionFileDateAndTime + * g_EDA_Appl->m_CurrentOptionFile + */ { -const PARAM_CFG_BASE * pt_cfg; -wxString timestamp; - - if ( List == NULL )return FALSE; + const PARAM_CFG_BASE* pt_cfg; + wxString timestamp; - ReCreatePrjConfig(local_config_filename, GroupName, FALSE); + if( List == NULL ) + return FALSE; - g_Prj_Config->SetPath(UNIX_STRING_DIR_SEP); - timestamp = g_Prj_Config->Read( wxT("update") ); - if ( Load_Only_if_New && ( !timestamp.IsEmpty() ) && - (timestamp == g_EDA_Appl->m_CurrentOptionFileDateAndTime) ) - { - return FALSE; - } - - g_EDA_Appl->m_CurrentOptionFileDateAndTime = timestamp; - - if ( ! g_Prj_Default_Config_FullFilename.IsEmpty() ) - g_EDA_Appl->m_CurrentOptionFile = g_Prj_Default_Config_FullFilename; - else - { - if ( wxPathOnly(g_Prj_Config_LocalFilename).IsEmpty() ) - g_EDA_Appl->m_CurrentOptionFile = - wxGetCwd() + STRING_DIR_SEP + g_Prj_Config_LocalFilename; - else - g_EDA_Appl->m_CurrentOptionFile = g_Prj_Config_LocalFilename; - } + ReCreatePrjConfig( local_config_filename, GroupName, FALSE ); - for( ; *List != NULL ; List++) - { - pt_cfg = *List; - if ( pt_cfg->m_Group ) g_Prj_Config->SetPath(pt_cfg->m_Group); - else g_Prj_Config->SetPath(GroupName); - switch( pt_cfg->m_Type ) - { - case PARAM_INT: - { - #undef PTCFG - #define PTCFG ((PARAM_CFG_INT *)pt_cfg) - int itmp; - if ( pt_cfg->m_Setup) - itmp = m_EDA_Config->Read(pt_cfg->m_Ident, PTCFG->m_Default ); - else - itmp = g_Prj_Config->Read(pt_cfg->m_Ident, PTCFG->m_Default ); - if( (itmp < PTCFG->m_Min) || (itmp > PTCFG->m_Max) ) - itmp = PTCFG->m_Default; - *PTCFG->m_Pt_param = itmp; - break; - } - - case PARAM_SETCOLOR: - { - #undef PTCFG - #define PTCFG ((PARAM_CFG_SETCOLOR *)pt_cfg) - int itmp; - if ( pt_cfg->m_Setup) - itmp = m_EDA_Config->Read(pt_cfg->m_Ident, PTCFG->m_Default ); - else - itmp = g_Prj_Config->Read(pt_cfg->m_Ident, PTCFG->m_Default ); - if( (itmp < 0) || (itmp > MAX_COLOR) ) - itmp = PTCFG->m_Default; - *PTCFG->m_Pt_param = itmp; - break; - } - - case PARAM_DOUBLE: - { - #undef PTCFG - #define PTCFG ((PARAM_CFG_DOUBLE *)pt_cfg) - double ftmp = 0; wxString msg; - if ( pt_cfg->m_Setup) - msg = m_EDA_Config->Read(pt_cfg->m_Ident, wxT("") ); - else - msg = g_Prj_Config->Read(pt_cfg->m_Ident, wxT("") ); - - if ( msg.IsEmpty() ) ftmp = PTCFG->m_Default; - else - { - msg.ToDouble(&ftmp); - if( (ftmp < PTCFG->m_Min) || (ftmp > PTCFG->m_Max) ) - ftmp = PTCFG->m_Default; - } - *PTCFG->m_Pt_param = ftmp; - break; - } - - case PARAM_BOOL: - { - #undef PTCFG - #define PTCFG ((PARAM_CFG_BOOL *)pt_cfg) - int itmp; - if ( pt_cfg->m_Setup) - itmp = m_EDA_Config->Read(pt_cfg->m_Ident, PTCFG->m_Default ); - else - itmp = g_Prj_Config->Read(pt_cfg->m_Ident, PTCFG->m_Default ); - *PTCFG->m_Pt_param = itmp ? TRUE : FALSE; - break; - } - - case PARAM_WXSTRING: - { - #undef PTCFG - #define PTCFG ((PARAM_CFG_WXSTRING *)pt_cfg) - if (PTCFG->m_Pt_param == NULL) break; - if ( pt_cfg->m_Setup) - *PTCFG->m_Pt_param = m_EDA_Config->Read(pt_cfg->m_Ident ); - else - *PTCFG->m_Pt_param = g_Prj_Config->Read(pt_cfg->m_Ident ); - break; - } + g_Prj_Config->SetPath( UNIX_STRING_DIR_SEP ); + timestamp = g_Prj_Config->Read( wxT( "update" ) ); + if( Load_Only_if_New && ( !timestamp.IsEmpty() ) + && (timestamp == g_EDA_Appl->m_CurrentOptionFileDateAndTime) ) + { + return FALSE; + } - case PARAM_LIBNAME_LIST: - { - #undef PTCFG - #define PTCFG ((PARAM_CFG_LIBNAME_LIST *)pt_cfg) - int indexlib = 1; // We start indexlib to 1 because first lib name is LibName1 - wxString libname, id_lib; - wxArrayString * libname_list = PTCFG->m_Pt_param; - while ( 1 ) - { - id_lib = pt_cfg->m_Ident; id_lib << indexlib; indexlib++; - libname = g_Prj_Config->Read(id_lib, wxT("") ); - if( libname.IsEmpty() ) break; - libname_list->Add(libname); - } - break; - } - - case PARAM_COMMAND_ERASE: - break; - } - } - - delete g_Prj_Config; - g_Prj_Config = NULL; - - return TRUE; + g_EDA_Appl->m_CurrentOptionFileDateAndTime = timestamp; + + if( !g_Prj_Default_Config_FullFilename.IsEmpty() ) + g_EDA_Appl->m_CurrentOptionFile = g_Prj_Default_Config_FullFilename; + else + { + if( wxPathOnly( g_Prj_Config_LocalFilename ).IsEmpty() ) + g_EDA_Appl->m_CurrentOptionFile = + wxGetCwd() + STRING_DIR_SEP + g_Prj_Config_LocalFilename; + else + g_EDA_Appl->m_CurrentOptionFile = g_Prj_Config_LocalFilename; + } + + for( ; *List != NULL; List++ ) + { + pt_cfg = *List; + if( pt_cfg->m_Group ) + g_Prj_Config->SetPath( pt_cfg->m_Group ); + else + g_Prj_Config->SetPath( GroupName ); + + switch( pt_cfg->m_Type ) + { + case PARAM_INT: + { + #undef PTCFG + #define PTCFG ( (PARAM_CFG_INT*) pt_cfg ) + int itmp; + if( pt_cfg->m_Setup ) + itmp = m_EDA_Config->Read( pt_cfg->m_Ident, PTCFG->m_Default ); + else + itmp = g_Prj_Config->Read( pt_cfg->m_Ident, PTCFG->m_Default ); + + if( (itmp < PTCFG->m_Min) || (itmp > PTCFG->m_Max) ) + itmp = PTCFG->m_Default; + + *PTCFG->m_Pt_param = itmp; + break; + } + + case PARAM_SETCOLOR: + { + #undef PTCFG + #define PTCFG ( (PARAM_CFG_SETCOLOR*) pt_cfg ) + int itmp; + if( pt_cfg->m_Setup ) + itmp = m_EDA_Config->Read( pt_cfg->m_Ident, PTCFG->m_Default ); + else + itmp = g_Prj_Config->Read( pt_cfg->m_Ident, PTCFG->m_Default ); + + if( (itmp < 0) || (itmp > MAX_COLOR) ) + itmp = PTCFG->m_Default; + + *PTCFG->m_Pt_param = itmp; + break; + } + + case PARAM_DOUBLE: + { + #undef PTCFG + #define PTCFG ( (PARAM_CFG_DOUBLE*) pt_cfg ) + double ftmp = 0; wxString msg; + if( pt_cfg->m_Setup ) + msg = m_EDA_Config->Read( pt_cfg->m_Ident, wxT( "" ) ); + else + msg = g_Prj_Config->Read( pt_cfg->m_Ident, wxT( "" ) ); + + if( msg.IsEmpty() ) + ftmp = PTCFG->m_Default; + else + { + msg.ToDouble( &ftmp ); + if( (ftmp < PTCFG->m_Min) || (ftmp > PTCFG->m_Max) ) + ftmp = PTCFG->m_Default; + } + *PTCFG->m_Pt_param = ftmp; + break; + } + + case PARAM_BOOL: + { + #undef PTCFG + #define PTCFG ( (PARAM_CFG_BOOL*) pt_cfg ) + int itmp; + if( pt_cfg->m_Setup ) + itmp = m_EDA_Config->Read( pt_cfg->m_Ident, PTCFG->m_Default ); + else + itmp = g_Prj_Config->Read( pt_cfg->m_Ident, PTCFG->m_Default ); + + *PTCFG->m_Pt_param = itmp ? TRUE : FALSE; + break; + } + + case PARAM_WXSTRING: + { + #undef PTCFG + #define PTCFG ( (PARAM_CFG_WXSTRING*) pt_cfg ) + if( PTCFG->m_Pt_param == NULL ) + break; + + if( pt_cfg->m_Setup ) + *PTCFG->m_Pt_param = m_EDA_Config->Read( pt_cfg->m_Ident ); + else + *PTCFG->m_Pt_param = g_Prj_Config->Read( pt_cfg->m_Ident ); + break; + } + + case PARAM_LIBNAME_LIST: + { + #undef PTCFG + #define PTCFG ( (PARAM_CFG_LIBNAME_LIST*) pt_cfg ) + int indexlib = 1; // We start indexlib to 1 because first lib name is LibName1 + wxString libname, id_lib; + wxArrayString* libname_list = PTCFG->m_Pt_param; + while( 1 ) + { + id_lib = pt_cfg->m_Ident; id_lib << indexlib; indexlib++; + libname = g_Prj_Config->Read( id_lib, wxT( "" ) ); + if( libname.IsEmpty() ) + break; + libname_list->Add( libname ); + } + + break; + } + + case PARAM_COMMAND_ERASE: + break; + } + } + + delete g_Prj_Config; + g_Prj_Config = NULL; + + return TRUE; } @@ -355,114 +400,124 @@ wxString timestamp; /* Constructeurs des descripteurs de structs de configuration */ /**************************************************************/ -PARAM_CFG_BASE::PARAM_CFG_BASE(const wxChar * ident, const paramcfg_id type, - const wxChar * group) +PARAM_CFG_BASE::PARAM_CFG_BASE( const wxChar* ident, const paramcfg_id type, + const wxChar* group ) { - m_Ident = ident; - m_Type = type; - m_Group = group; - m_Setup = FALSE; + m_Ident = ident; + m_Type = type; + m_Group = group; + m_Setup = FALSE; } -PARAM_CFG_INT::PARAM_CFG_INT(const wxChar * ident, int * ptparam, - int default_val, int min, int max, - const wxChar * group) - : PARAM_CFG_BASE(ident, PARAM_INT, group) +PARAM_CFG_INT::PARAM_CFG_INT( const wxChar* ident, int* ptparam, + int default_val, int min, int max, + const wxChar* group ) : + PARAM_CFG_BASE( ident, PARAM_INT, group ) { - m_Pt_param = ptparam; - m_Default = default_val; - m_Min = min; - m_Max = max; + m_Pt_param = ptparam; + m_Default = default_val; + m_Min = min; + m_Max = max; } -PARAM_CFG_INT::PARAM_CFG_INT(bool Insetup, const wxChar * ident, int * ptparam, - int default_val, int min, int max, - const wxChar * group) - : PARAM_CFG_BASE(ident, PARAM_INT, group) + +PARAM_CFG_INT::PARAM_CFG_INT( bool Insetup, const wxChar* ident, int* ptparam, + int default_val, int min, int max, + const wxChar* group ) : + PARAM_CFG_BASE( ident, PARAM_INT, group ) { - m_Pt_param = ptparam; - m_Default = default_val; - m_Min = min; - m_Max = max; - m_Setup = Insetup; + m_Pt_param = ptparam; + m_Default = default_val; + m_Min = min; + m_Max = max; + m_Setup = Insetup; } -PARAM_CFG_SETCOLOR::PARAM_CFG_SETCOLOR(const wxChar * ident, int * ptparam, - int default_val, const wxChar * group) - : PARAM_CFG_BASE(ident, PARAM_SETCOLOR, group) + +PARAM_CFG_SETCOLOR::PARAM_CFG_SETCOLOR( const wxChar* ident, int* ptparam, + int default_val, const wxChar* group ) : + PARAM_CFG_BASE( ident, PARAM_SETCOLOR, group ) { - m_Pt_param = ptparam; - m_Default = default_val; + m_Pt_param = ptparam; + m_Default = default_val; } -PARAM_CFG_SETCOLOR::PARAM_CFG_SETCOLOR(bool Insetup, const wxChar * ident, int * ptparam, - int default_val, const wxChar * group) - : PARAM_CFG_BASE(ident, PARAM_SETCOLOR, group) + +PARAM_CFG_SETCOLOR::PARAM_CFG_SETCOLOR( bool Insetup, const wxChar* ident, int* ptparam, + int default_val, const wxChar* group ) : + PARAM_CFG_BASE( ident, PARAM_SETCOLOR, group ) { - m_Pt_param = ptparam; - m_Default = default_val; - m_Setup = Insetup; + m_Pt_param = ptparam; + m_Default = default_val; + m_Setup = Insetup; } -PARAM_CFG_DOUBLE::PARAM_CFG_DOUBLE(const wxChar * ident, double * ptparam, - double default_val, double min , double max, - const wxChar * group) - : PARAM_CFG_BASE(ident, PARAM_DOUBLE, group) + +PARAM_CFG_DOUBLE::PARAM_CFG_DOUBLE( const wxChar* ident, double* ptparam, + double default_val, double min, double max, + const wxChar* group ) : + PARAM_CFG_BASE( ident, PARAM_DOUBLE, group ) { - m_Pt_param = ptparam; - m_Default = default_val; - m_Min = min; - m_Max = max; -} -PARAM_CFG_DOUBLE::PARAM_CFG_DOUBLE(bool Insetup, const wxChar * ident, double * ptparam, - double default_val, double min , double max, - const wxChar * group) - : PARAM_CFG_BASE(ident, PARAM_DOUBLE, group) -{ - m_Pt_param = ptparam; - m_Default = default_val; - m_Min = min; - m_Max = max; - m_Setup = Insetup; + m_Pt_param = ptparam; + m_Default = default_val; + m_Min = min; + m_Max = max; } -PARAM_CFG_BOOL::PARAM_CFG_BOOL(const wxChar * ident, bool * ptparam, - int default_val, const wxChar * group) - : PARAM_CFG_BASE(ident, PARAM_BOOL, group) + +PARAM_CFG_DOUBLE::PARAM_CFG_DOUBLE( bool Insetup, const wxChar* ident, double* ptparam, + double default_val, double min, double max, + const wxChar* group ) : + PARAM_CFG_BASE( ident, PARAM_DOUBLE, group ) { - m_Pt_param = ptparam; - m_Default = default_val ? TRUE : FALSE; + m_Pt_param = ptparam; + m_Default = default_val; + m_Min = min; + m_Max = max; + m_Setup = Insetup; } -PARAM_CFG_BOOL::PARAM_CFG_BOOL(bool Insetup, const wxChar * ident, bool * ptparam, - int default_val, const wxChar * group) - : PARAM_CFG_BASE(ident, PARAM_BOOL, group) + +PARAM_CFG_BOOL::PARAM_CFG_BOOL( const wxChar* ident, bool* ptparam, + int default_val, const wxChar* group ) : + PARAM_CFG_BASE( ident, PARAM_BOOL, group ) { - m_Pt_param = ptparam; - m_Default = default_val ? TRUE : FALSE; - m_Setup = Insetup; + m_Pt_param = ptparam; + m_Default = default_val ? TRUE : FALSE; } -PARAM_CFG_WXSTRING::PARAM_CFG_WXSTRING(const wxChar * ident, - wxString * ptparam, const wxChar * group) - : PARAM_CFG_BASE(ident, PARAM_WXSTRING, group) + +PARAM_CFG_BOOL::PARAM_CFG_BOOL( bool Insetup, const wxChar* ident, bool* ptparam, + int default_val, const wxChar* group ) : + PARAM_CFG_BASE( ident, PARAM_BOOL, group ) { - m_Pt_param = ptparam; + m_Pt_param = ptparam; + m_Default = default_val ? TRUE : FALSE; + m_Setup = Insetup; } -PARAM_CFG_WXSTRING::PARAM_CFG_WXSTRING(bool Insetup, const wxChar * ident, - wxString * ptparam, const wxChar * group) - : PARAM_CFG_BASE(ident, PARAM_WXSTRING, group) + +PARAM_CFG_WXSTRING::PARAM_CFG_WXSTRING( const wxChar* ident, + wxString* ptparam, const wxChar* group ) : + PARAM_CFG_BASE( ident, PARAM_WXSTRING, group ) { - m_Pt_param = ptparam; - m_Setup = Insetup; + m_Pt_param = ptparam; } -PARAM_CFG_LIBNAME_LIST::PARAM_CFG_LIBNAME_LIST(const wxChar * ident, - wxArrayString * ptparam, const wxChar * group) - : PARAM_CFG_BASE(ident, PARAM_LIBNAME_LIST, group) + +PARAM_CFG_WXSTRING::PARAM_CFG_WXSTRING( bool Insetup, const wxChar* ident, + wxString* ptparam, const wxChar* group ) : + PARAM_CFG_BASE( ident, PARAM_WXSTRING, group ) { - m_Pt_param = ptparam; + m_Pt_param = ptparam; + m_Setup = Insetup; } + +PARAM_CFG_LIBNAME_LIST::PARAM_CFG_LIBNAME_LIST( const wxChar* ident, + wxArrayString* ptparam, const wxChar* group ) : + PARAM_CFG_BASE( ident, PARAM_LIBNAME_LIST, group ) +{ + m_Pt_param = ptparam; +} diff --git a/pcbnew/pcbcfg.cpp b/pcbnew/pcbcfg.cpp index 405f3f8a08..8107c90c21 100644 --- a/pcbnew/pcbcfg.cpp +++ b/pcbnew/pcbcfg.cpp @@ -1,6 +1,6 @@ - /***********************************/ - /** pcbcfg() : configuration **/ - /***********************************/ +/***********************************/ +/** pcbcfg() : configuration **/ +/***********************************/ /* lit ou met a jour la configuration de PCBNEW */ @@ -21,193 +21,200 @@ /* Variables locales */ -#define HOTKEY_FILENAME wxT("pcbnew") +#define HOTKEY_FILENAME wxT( "pcbnew" ) /***********************************************************/ -void WinEDA_PcbFrame::Process_Config(wxCommandEvent& event) +void WinEDA_PcbFrame::Process_Config( wxCommandEvent& event ) /***********************************************************/ { -int id = event.GetId(); -wxPoint pos; -wxClientDC dc(DrawPanel); -wxString FullFileName; + int id = event.GetId(); + wxPoint pos; - DrawPanel->PrepareGraphicContext(&dc); + wxClientDC dc( DrawPanel ); - pos = GetPosition(); - pos.x += 20; pos.y += 20; + wxString FullFileName; - switch( id ) - { - case ID_COLORS_SETUP : - DisplayColorSetupFrame(this, pos); - break; + DrawPanel->PrepareGraphicContext( &dc ); - case ID_CONFIG_REQ : // Creation de la fenetre de configuration - InstallConfigFrame(pos); - break; + pos = GetPosition(); + pos.x += 20; + pos.y += 20; - case ID_PCB_TRACK_SIZE_SETUP: - case ID_PCB_LOOK_SETUP: - case ID_OPTIONS_SETUP: - case ID_PCB_DRAWINGS_WIDTHS_SETUP: - InstallPcbOptionsFrame(pos, &dc, id); - break; + switch( id ) + { + case ID_COLORS_SETUP: + DisplayColorSetupFrame( this, pos ); + break; - case ID_PCB_PAD_SETUP: - InstallPadOptionsFrame( NULL, NULL, pos); - break; + case ID_CONFIG_REQ: // Creation de la fenetre de configuration + InstallConfigFrame( pos ); + break; - case ID_CONFIG_SAVE: - Update_config(this); - break; + case ID_PCB_TRACK_SIZE_SETUP: + case ID_PCB_LOOK_SETUP: + case ID_OPTIONS_SETUP: + case ID_PCB_DRAWINGS_WIDTHS_SETUP: + InstallPcbOptionsFrame( pos, &dc, id ); + break; - case ID_CONFIG_READ: - FullFileName = GetScreen()->m_FileName.AfterLast('/'); - ChangeFileNameExt(FullFileName, g_Prj_Config_Filename_ext); - FullFileName = EDA_FileSelector(_("Read config file"), - wxPathOnly(GetScreen()->m_FileName),/* Chemin par defaut */ - FullFileName, /* nom fichier par defaut */ - g_Prj_Config_Filename_ext, /* extension par defaut */ - FullFileName, /* Masque d'affichage */ - this, - wxFD_OPEN, - TRUE /* ne change pas de repertoire courant */ - ); - if ( FullFileName.IsEmpty()) break; - if ( ! wxFileExists(FullFileName) ) - { - wxString msg; - msg.Printf(_("File %s not found"), FullFileName.GetData()); - DisplayError(this, msg); break; - } - Read_Config(FullFileName ); - break; + case ID_PCB_PAD_SETUP: + InstallPadOptionsFrame( NULL, NULL, pos ); + break; - case ID_PREFERENCES_CREATE_CONFIG_HOTKEYS: - FullFileName = ReturnHotkeyConfigFilePath( g_ConfigFileLocationChoice ); - FullFileName += HOTKEY_FILENAME; - FullFileName += DEFAULT_HOTKEY_FILENAME_EXT; - WriteHotkeyConfigFile(FullFileName, s_Pcbnew_Editor_Hokeys_Descr, true); - break; + case ID_CONFIG_SAVE: + Update_config( this ); + break; - case ID_PREFERENCES_READ_CONFIG_HOTKEYS: - Read_Hotkey_Config( this, true); - break; + case ID_CONFIG_READ: + FullFileName = GetScreen()->m_FileName.AfterLast( '/' ); + ChangeFileNameExt( FullFileName, g_Prj_Config_Filename_ext ); + FullFileName = EDA_FileSelector( _( "Read config file" ), + wxPathOnly( GetScreen()->m_FileName ), /* Chemin par defaut */ + FullFileName, /* nom fichier par defaut */ + g_Prj_Config_Filename_ext, /* extension par defaut */ + FullFileName, /* Masque d'affichage */ + this, + wxFD_OPEN, + TRUE /* ne change pas de repertoire courant */ + ); + if( FullFileName.IsEmpty() ) + break; + if( !wxFileExists( FullFileName ) ) + { + wxString msg; + msg.Printf( _( "File %s not found" ), FullFileName.GetData() ); + DisplayError( this, msg ); break; + } + Read_Config( FullFileName ); + break; - case ID_PREFERENCES_EDIT_CONFIG_HOTKEYS: - { - FullFileName = ReturnHotkeyConfigFilePath( g_ConfigFileLocationChoice ); - FullFileName += HOTKEY_FILENAME; - FullFileName += DEFAULT_HOTKEY_FILENAME_EXT; - wxString editorname = GetEditorName(); - if ( !editorname.IsEmpty() ) - ExecuteFile(this, editorname, FullFileName); - break; - } + case ID_PREFERENCES_CREATE_CONFIG_HOTKEYS: + FullFileName = ReturnHotkeyConfigFilePath( g_ConfigFileLocationChoice ); + FullFileName += HOTKEY_FILENAME; + FullFileName += DEFAULT_HOTKEY_FILENAME_EXT; + WriteHotkeyConfigFile( FullFileName, s_Pcbnew_Editor_Hokeys_Descr, true ); + break; - case ID_PREFERENCES_HOTKEY_PATH_IS_HOME: - case ID_PREFERENCES_HOTKEY_PATH_IS_KICAD: - HandleHotkeyConfigMenuSelection( this, id ); - break; + case ID_PREFERENCES_READ_CONFIG_HOTKEYS: + Read_Hotkey_Config( this, true ); + break; - case ID_PREFERENCES_HOTKEY_SHOW_CURRENT_LIST: // Display Current hotkey list for eeschema - DisplayHotkeyList( this, s_Board_Editor_Hokeys_Descr ); - break; + case ID_PREFERENCES_EDIT_CONFIG_HOTKEYS: + { + FullFileName = ReturnHotkeyConfigFilePath( g_ConfigFileLocationChoice ); + FullFileName += HOTKEY_FILENAME; + FullFileName += DEFAULT_HOTKEY_FILENAME_EXT; + wxString editorname = GetEditorName(); + if( !editorname.IsEmpty() ) + ExecuteFile( this, editorname, FullFileName ); + break; + } - default: - DisplayError(this, wxT("WinEDA_PcbFrame::Process_Config internal error")); - } + 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 eeschema + DisplayHotkeyList( this, s_Board_Editor_Hokeys_Descr ); + break; + + default: + DisplayError( this, wxT( "WinEDA_PcbFrame::Process_Config internal error" ) ); + } } /***************************************************************/ -bool Read_Hotkey_Config( WinEDA_DrawFrame * frame, bool verbose ) +bool Read_Hotkey_Config( WinEDA_DrawFrame* frame, bool verbose ) /***************************************************************/ + /* * Read the hotkey files config for pcbnew and module_edit -*/ + */ { - wxString FullFileName = ReturnHotkeyConfigFilePath( g_ConfigFileLocationChoice ); - FullFileName += HOTKEY_FILENAME; - FullFileName += DEFAULT_HOTKEY_FILENAME_EXT; - return frame->ReadHotkeyConfigFile(FullFileName, s_Pcbnew_Editor_Hokeys_Descr, verbose); + wxString FullFileName = ReturnHotkeyConfigFilePath( g_ConfigFileLocationChoice ); + + FullFileName += HOTKEY_FILENAME; + FullFileName += DEFAULT_HOTKEY_FILENAME_EXT; + return frame->ReadHotkeyConfigFile( FullFileName, s_Pcbnew_Editor_Hokeys_Descr, verbose ); } /**************************************************************************/ -bool Read_Config(const wxString & project_name) +bool Read_Config( const wxString& project_name ) /*************************************************************************/ + /* lit la configuration, si elle n'a pas deja ete lue - 1 - lit .pro - 2 - si non trouve lit /kicad.pro - 3 - si non trouve: init des variables aux valeurs par defaut - - Retourne TRUE si lu, FALSE si config non lue ou non modifiée -*/ + * 1 - lit .pro + * 2 - si non trouve lit /kicad.pro + * 3 - si non trouve: init des variables aux valeurs par defaut + * + * Retourne TRUE si lu, FALSE si config non lue ou non modifiée + */ { -wxString FullFileName; -int ii; + wxString FullFileName; + int ii; - g_Prj_Config_Filename_ext = wxT(".pro"); - FullFileName = project_name; - ChangeFileNameExt(FullFileName, g_Prj_Config_Filename_ext); + g_Prj_Config_Filename_ext = wxT( ".pro" ); + FullFileName = project_name; + ChangeFileNameExt( FullFileName, g_Prj_Config_Filename_ext ); - /* Init des valeurs par defaut */ - g_LibName_List.Clear(); + /* Init des valeurs par defaut */ + g_LibName_List.Clear(); - g_EDA_Appl->ReadProjectConfig( FullFileName, - GROUP, ParamCfgList, FALSE); + g_EDA_Appl->ReadProjectConfig( FullFileName, + GROUP, ParamCfgList, FALSE ); - /* Traitement des variables particulieres: */ + /* Traitement des variables particulieres: */ - SetRealLibraryPath( wxT("modules") ); + SetRealLibraryPath( wxT( "modules" ) ); - if (ScreenPcb) - { - ScreenPcb->m_Diviseur_Grille = Pcbdiv_grille; - ScreenPcb->m_UserGrid = g_UserGrid; - ScreenPcb->m_UserGridUnit = g_UserGrid_Unit; - } + if( ScreenPcb ) + { + ScreenPcb->m_Diviseur_Grille = Pcbdiv_grille; + ScreenPcb->m_UserGrid = g_UserGrid; + ScreenPcb->m_UserGridUnit = g_UserGrid_Unit; + } - g_DesignSettings.m_TrackWidthHistory[0] = g_DesignSettings.m_CurrentTrackWidth; - g_DesignSettings.m_ViaSizeHistory[0] = g_DesignSettings.m_CurrentViaSize; - for ( ii = 1; ii < HISTORY_NUMBER; ii++) - { - g_DesignSettings.m_TrackWidthHistory[ii] = 0; - g_DesignSettings.m_ViaSizeHistory[ii] = 0; - } + g_DesignSettings.m_TrackWidthHistory[0] = g_DesignSettings.m_CurrentTrackWidth; + g_DesignSettings.m_ViaSizeHistory[0] = g_DesignSettings.m_CurrentViaSize; + for( ii = 1; ii < HISTORY_NUMBER; ii++ ) + { + g_DesignSettings.m_TrackWidthHistory[ii] = 0; + g_DesignSettings.m_ViaSizeHistory[ii] = 0; + } - return TRUE; + return TRUE; } + /**********************************************************/ -void WinEDA_PcbFrame::Update_config(wxWindow * displayframe) +void WinEDA_PcbFrame::Update_config( wxWindow* displayframe ) /***********************************************************/ /* enregistrement de la config */ { -wxString FullFileName; -wxString mask; + wxString FullFileName; + wxString mask; - mask = wxT("*") + g_Prj_Config_Filename_ext; - FullFileName = GetScreen()->m_FileName.AfterLast('/'); - ChangeFileNameExt(FullFileName, g_Prj_Config_Filename_ext); + mask = wxT( "*" ) + g_Prj_Config_Filename_ext; + FullFileName = GetScreen()->m_FileName.AfterLast( '/' ); + ChangeFileNameExt( FullFileName, g_Prj_Config_Filename_ext ); - FullFileName = EDA_FileSelector(_("Save preferences"), - wxPathOnly(GetScreen()->m_FileName), /* Chemin par defaut */ - FullFileName, /* nom fichier par defaut */ - g_Prj_Config_Filename_ext, /* extension par defaut */ - mask, /* Masque d'affichage */ - displayframe, - wxFD_SAVE, - TRUE - ); - if ( FullFileName.IsEmpty() ) return; + FullFileName = EDA_FileSelector( _( "Save preferences" ), + wxPathOnly( GetScreen()->m_FileName ), /* Chemin par defaut */ + FullFileName, /* nom fichier par defaut */ + g_Prj_Config_Filename_ext, /* extension par defaut */ + mask, /* Masque d'affichage */ + displayframe, + wxFD_SAVE, + TRUE + ); + if( FullFileName.IsEmpty() ) + return; - Pcbdiv_grille = GetScreen()->m_Diviseur_Grille; + Pcbdiv_grille = GetScreen()->m_Diviseur_Grille; - /* ecriture de la configuration */ - g_EDA_Appl->WriteProjectConfig(FullFileName, wxT("/pcbnew"), ParamCfgList); + /* ecriture de la configuration */ + g_EDA_Appl->WriteProjectConfig( FullFileName, wxT( "/pcbnew" ), ParamCfgList ); } - -