Eechema: fix bug : when saving the schematic project, the lib cache was saved under the current sheet opened, not the root sheet.
Pcbnew: clamp default plot line width between 0.02 and 2 mm. the other bug (saving this parameter in internal units instead of mm is not fixed)
This commit is contained in:
parent
69b7c2a1b6
commit
6fcd9eb8a6
|
@ -68,6 +68,10 @@ static const wxChar* CommonConfigPath = wxT( "kicad_common" );
|
|||
// Default font size
|
||||
#define FONT_DEFAULT_SIZE 10 // Default font size.
|
||||
|
||||
// some key strings used to store parameters in config
|
||||
static wxString backgroundColorKey( wxT( "BackgroundColor" ) );
|
||||
static wxString showPageLimitsKey( wxT( "ShowPageLimits" ) );
|
||||
static wxString workingDirKey( wxT( "WorkingDir" ) ) ;
|
||||
static wxString languageCfgKey( wxT( "LanguageID" ) );
|
||||
|
||||
|
||||
|
@ -649,22 +653,23 @@ void EDA_APP::GetSettings( bool aReopenLastUsedDirectory )
|
|||
|
||||
m_fileHistory.Load( *m_settings );
|
||||
|
||||
m_settings->Read( wxT( "ShowPageLimits" ), &g_ShowPageLimits );
|
||||
m_settings->Read( showPageLimitsKey, &g_ShowPageLimits );
|
||||
|
||||
if( aReopenLastUsedDirectory )
|
||||
{
|
||||
if( m_settings->Read( wxT( "WorkingDir" ), &Line ) && wxDirExists( Line ) )
|
||||
if( m_settings->Read( workingDirKey, &Line ) && wxDirExists( Line ) )
|
||||
{
|
||||
wxSetWorkingDirectory( Line );
|
||||
}
|
||||
}
|
||||
|
||||
int draw_bg_color;
|
||||
|
||||
// FIXME OSX Mountain Lion (10.8)
|
||||
// Seems that Read doesn't found anything and ColorFromInt Asserts - I'm unable to reproduce on 10.7
|
||||
// In general terms i think is better have a failsafe BLACK default than an uninit variable
|
||||
m_settings->Read( wxT( "BgColor" ), &draw_bg_color , BLACK );
|
||||
// In general terms i think is better have a failsafe default than an uninit variable
|
||||
int draw_bg_color = (int)BLACK; // Default for all apps but Eeschema
|
||||
if( m_Id == APP_EESCHEMA_T )
|
||||
draw_bg_color = (int)WHITE; // Default for Eeschema
|
||||
m_settings->Read( backgroundColorKey, &draw_bg_color );
|
||||
g_DrawBgColor = ColorFromInt( draw_bg_color );
|
||||
|
||||
// Load per-user search paths from settings file
|
||||
|
@ -689,9 +694,9 @@ void EDA_APP::GetSettings( bool aReopenLastUsedDirectory )
|
|||
void EDA_APP::SaveSettings()
|
||||
{
|
||||
wxASSERT( m_settings != NULL );
|
||||
m_settings->Write( wxT( "ShowPageLimits" ), g_ShowPageLimits );
|
||||
m_settings->Write( wxT( "WorkingDir" ), wxGetCwd() );
|
||||
m_settings->Write( wxT( "BgColor" ), (long) g_DrawBgColor );
|
||||
m_settings->Write( showPageLimitsKey, g_ShowPageLimits );
|
||||
m_settings->Write( workingDirKey, wxGetCwd() );
|
||||
m_settings->Write( backgroundColorKey, (long) g_DrawBgColor );
|
||||
|
||||
// Save the file history list
|
||||
m_fileHistory.Save( *m_settings );
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
/*
|
||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||
*
|
||||
* Copyright (C) 2009 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com
|
||||
* Copyright (C) 2011 Wayne Stambaugh <stambaughw@verizon.net>
|
||||
* Copyright (C) 2013 Jean-Pierre Charras, jp.charras at wanadoo.fr
|
||||
* Copyright (C) 2013 Wayne Stambaugh <stambaughw@verizon.net>
|
||||
* Copyright (C) 2013 CERN (www.cern.ch)
|
||||
* Copyright (C) 1992-2011 KiCad Developers, see AUTHORS.txt for contributors.
|
||||
* Copyright (C) 1992-2013 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
|
||||
|
@ -55,11 +55,11 @@ bool SCH_EDIT_FRAME::SaveEEFile( SCH_SCREEN* aScreen, bool aSaveUnderNewName, bo
|
|||
if( aScreen == NULL )
|
||||
aScreen = GetScreen();
|
||||
|
||||
/* If no name exists in the window yet - save as new. */
|
||||
// If no name exists in the window yet - save as new.
|
||||
if( aScreen->GetFileName().IsEmpty() )
|
||||
aSaveUnderNewName = true;
|
||||
|
||||
/* Construct the name of the file to be saved */
|
||||
// Construct the name of the file to be saved
|
||||
schematicFileName = aScreen->GetFileName();
|
||||
|
||||
if( aSaveUnderNewName )
|
||||
|
@ -79,9 +79,10 @@ bool SCH_EDIT_FRAME::SaveEEFile( SCH_SCREEN* aScreen, bool aSaveUnderNewName, bo
|
|||
else
|
||||
{
|
||||
// Sheet file names are relative to the root sheet path which is the current
|
||||
// working directory. The IsWritable funtion expects the path to be set.
|
||||
// working directory. The IsWritable function expects the path to be set.
|
||||
if( schematicFileName.GetPath().IsEmpty() )
|
||||
schematicFileName.Assign( wxFileName::GetCwd(), schematicFileName.GetFullName() );
|
||||
schematicFileName.Assign( wxFileName::GetCwd(),
|
||||
schematicFileName.GetFullName() );
|
||||
}
|
||||
|
||||
if( !IsWritable( schematicFileName ) )
|
||||
|
@ -167,7 +168,7 @@ void SCH_EDIT_FRAME::Save_File( wxCommandEvent& event )
|
|||
case ID_SAVE_ONE_SHEET_UNDER_NEW_NAME:
|
||||
if( SaveEEFile( NULL, true ) )
|
||||
{
|
||||
CreateArchiveLibraryCacheFile();
|
||||
CreateArchiveLibraryCacheFile( true );
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
@ -468,7 +469,13 @@ void SCH_EDIT_FRAME::OnSaveProject( wxCommandEvent& aEvent )
|
|||
SCH_SCREENS ScreenList;
|
||||
|
||||
fn = g_RootSheet->GetFileName();
|
||||
tmp.AssignDir( fn.GetPath() );
|
||||
|
||||
// Ensure a path exists. if no path, assume the cwd is used
|
||||
// The IsWritable function expects the path to be set
|
||||
if( !fn.GetPath().IsEmpty() )
|
||||
tmp.AssignDir( fn.GetPath() );
|
||||
else
|
||||
tmp.AssignDir( wxGetCwd() );
|
||||
|
||||
if( !IsWritable( tmp ) )
|
||||
return;
|
||||
|
|
|
@ -44,9 +44,15 @@
|
|||
#include <wildcards_and_files_ext.h>
|
||||
|
||||
|
||||
bool SCH_EDIT_FRAME::CreateArchiveLibraryCacheFile()
|
||||
bool SCH_EDIT_FRAME::CreateArchiveLibraryCacheFile( bool aUseCurrentSheetFilename )
|
||||
{
|
||||
wxFileName fn = GetScreen()->GetFileName();
|
||||
wxFileName fn;
|
||||
|
||||
if( aUseCurrentSheetFilename )
|
||||
fn = GetScreen()->GetFileName();
|
||||
else
|
||||
fn = g_RootSheet->GetScreen()->GetFileName();
|
||||
|
||||
fn.SetName( fn.GetName() + wxT( "-cache" ) );
|
||||
fn.SetExt( SchematicLibraryFileExtension );
|
||||
|
||||
|
|
|
@ -1201,9 +1201,11 @@ public:
|
|||
* creates a library file with the name of the root document plus the '-cache' suffix,
|
||||
* That file will contain all components used in the current schematic.
|
||||
*
|
||||
* @return True if the file was written successfully.
|
||||
* @param aUseCurrentSheetFilename = false to use the root shhet filename
|
||||
* (default) or true to use the currently opened sheet.
|
||||
* @return true if the file was written successfully.
|
||||
*/
|
||||
bool CreateArchiveLibraryCacheFile( void );
|
||||
bool CreateArchiveLibraryCacheFile( bool aUseCurrentSheetFilename = false );
|
||||
|
||||
/**
|
||||
* Function CreateArchiveLibrary
|
||||
|
|
|
@ -31,8 +31,8 @@
|
|||
#include <convert_to_biu.h>
|
||||
|
||||
|
||||
#define PLOT_LINEWIDTH_MIN 0
|
||||
#define PLOT_LINEWIDTH_MAX (200*IU_PER_MILS)
|
||||
#define PLOT_LINEWIDTH_MIN (0.02*IU_PER_MM) // min value for default line thickness
|
||||
#define PLOT_LINEWIDTH_MAX (2*IU_PER_MM) // max value for default line thickness
|
||||
#define HPGL_PEN_DIAMETER_MIN 0
|
||||
#define HPGL_PEN_DIAMETER_MAX 100 // Unit = mil
|
||||
#define HPGL_PEN_SPEED_MIN 1 // this param is always in cm/s
|
||||
|
@ -40,15 +40,14 @@
|
|||
#define HPGL_PEN_NUMBER_MIN 1
|
||||
#define HPGL_PEN_NUMBER_MAX 16
|
||||
#define HPGL_PEN_OVERLAP_MIN 0
|
||||
#define HPGL_PEN_OVERLAP_MAX 50 // Unit = mil
|
||||
#define HPGL_PEN_OVERLAP_MAX 50 // Unit = mil
|
||||
|
||||
|
||||
/**
|
||||
* Default line thickness in PCnew units used to draw or plot items having a
|
||||
* default thickness line value (Frame references) (i.e. = 0 ).
|
||||
* 0 = single pixel line width.
|
||||
* Default line thickness in internal units used to draw or plot items using a
|
||||
* default thickness line value (Frame references)
|
||||
*/
|
||||
int g_DrawDefaultLineThickness = 6*IU_PER_MILS;
|
||||
int g_DrawDefaultLineThickness = (0.15*IU_PER_MM);
|
||||
|
||||
|
||||
using namespace PCBPLOTPARAMS_T;
|
||||
|
@ -114,7 +113,7 @@ PCB_PLOT_PARAMS::PCB_PLOT_PARAMS()
|
|||
m_textMode = PLOTTEXTMODE_DEFAULT;
|
||||
|
||||
// This parameter controls if the NPTH pads will be plotted or not
|
||||
// it is are "local" parameters
|
||||
// it is a "local" parameter
|
||||
m_skipNPTH_Pads = false;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue