Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
K
kicad-source-mirror
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Commits
Open sidebar
Elphel
kicad-source-mirror
Commits
afb63f10
Commit
afb63f10
authored
May 30, 2010
by
jean-pierre charras
Browse files
Options
Browse Files
Download
Plain Diff
Pcbnew: Better dialog when starting pcbnew in a new project, when the .brd file does not exists.
fixed bugs 587175 and 587176
parents
4a11fb36
13ddd1b4
Changes
8
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
55 additions
and
11 deletions
+55
-11
edit_component_in_schematic.cpp
eeschema/edit_component_in_schematic.cpp
+1
-0
wxPcbStruct.h
include/wxPcbStruct.h
+4
-3
kicad.cpp
kicad/kicad.cpp
+1
-0
kicad.h
kicad/kicad.h
+2
-0
prjconfig.cpp
kicad/prjconfig.cpp
+11
-2
tree_project_frame.cpp
kicad/tree_project_frame.cpp
+1
-1
files.cpp
pcbnew/files.cpp
+13
-1
pcbnew.cpp
pcbnew/pcbnew.cpp
+22
-4
No files found.
eeschema/edit_component_in_schematic.cpp
View file @
afb63f10
...
...
@@ -369,6 +369,7 @@ void WinEDA_SchematicFrame::EditComponentFootprint( SCH_COMPONENT* Cmp, wxDC* DC
return
;
SCH_FIELD
*
TextField
=
Cmp
->
GetField
(
FOOTPRINT
);
message
=
TextField
->
m_Text
;
if
(
Get_Message
(
_
(
"Footprint"
),
_
(
"Component footprint"
),
message
,
this
)
)
return
;
// edition cancelled by user.
...
...
include/wxPcbStruct.h
View file @
afb63f10
...
...
@@ -496,18 +496,19 @@ public:
void
OnFileHistory
(
wxCommandEvent
&
event
);
void
Files_io
(
wxCommandEvent
&
event
);
/**
/**
Function LoadOnePcbFile
* Load a Kicad board (.brd) file.
*
* @param aFileName - File name including path. If empty, a file dialog will
* be displayed.
* @param aAppend - Append board file aFileName to the currently loaded file if true.
* Default = false.
* @param aForceFileDialog - Display the file open dialog even if aFullFileName is
* valid if true.
* valid if true
; Default = false
.
*
* @return False if file load fails or is cancelled by the user, otherwise true.
*/
bool
LoadOnePcbFile
(
const
wxString
&
aFileName
,
bool
aAppend
,
bool
LoadOnePcbFile
(
const
wxString
&
aFileName
,
bool
aAppend
=
false
,
bool
aForceFileDialog
=
false
);
...
...
kicad/kicad.cpp
View file @
afb63f10
...
...
@@ -24,6 +24,7 @@
#include "build_version.h"
const
wxString
g_KicadPrjFilenameExtension
(
wxT
(
".pro"
)
);
/* Import functions */
char
*
GetFileName
(
char
*
FullPathName
);
...
...
kicad/kicad.h
View file @
afb63f10
...
...
@@ -15,6 +15,8 @@
#include "wxstruct.h"
#include "appl_wxstruct.h"
extern
const
wxString
g_KicadPrjFilenameExtension
;
class
RIGHT_KM_FRAME
;
class
TREEPROJECTFILES
;
class
TREE_PROJECT_FRAME
;
...
...
kicad/prjconfig.cpp
View file @
afb63f10
...
...
@@ -27,7 +27,7 @@ void WinEDA_MainFrame::CreateNewProject( const wxString PrjFullFileName )
wxFileName
newProjectName
=
PrjFullFileName
;
/* Init default config filename */
filename
=
wxGetApp
().
FindLibraryPath
(
wxT
(
"kicad
.pro"
)
);
filename
=
wxGetApp
().
FindLibraryPath
(
wxT
(
"kicad
"
)
+
g_KicadPrjFilenameExtension
);
/* Check if file kicad.pro exist in template directory */
if
(
wxFileName
::
FileExists
(
filename
)
)
...
...
@@ -86,7 +86,16 @@ void WinEDA_MainFrame::OnLoadProject( wxCommandEvent& event )
m_ProjectFileName
=
dlg
.
GetPath
();
if
(
event
.
GetId
()
==
ID_NEW_PROJECT
)
{
// Ensure project filename extension is .pro
wxString
fullname
=
m_ProjectFileName
.
GetFullPath
();
if
(
!
fullname
.
EndsWith
(
g_KicadPrjFilenameExtension
)
)
{
fullname
+=
g_KicadPrjFilenameExtension
;
m_ProjectFileName
.
SetFullName
(
fullname
);
}
CreateNewProject
(
m_ProjectFileName
.
GetFullPath
()
);
}
SetLastProject
(
m_ProjectFileName
.
GetFullPath
()
);
}
...
...
@@ -98,7 +107,7 @@ void WinEDA_MainFrame::OnLoadProject( wxCommandEvent& event )
wxString
filename
=
m_ProjectFileName
.
GetFullName
();
wxString
nameless_prj
=
NAMELESS_PROJECT
;
nameless_prj
+=
wxT
(
".pro"
)
;
nameless_prj
+=
g_KicadPrjFilenameExtension
;
if
(
!
m_ProjectFileName
.
FileExists
()
&&
!
filename
.
IsSameAs
(
nameless_prj
))
{
DisplayError
(
this
,
_
(
"Kicad project file <"
)
+
...
...
kicad/tree_project_frame.cpp
View file @
afb63f10
...
...
@@ -24,7 +24,7 @@
/* Note about the tree project build process:
* Building the tree project can be *very* long if there are a lot of subdirectories
* in the working directory.
* Unfornately, this happens easily if the project file *.pro is in the home directory
* Unfor
tu
nately, this happens easily if the project file *.pro is in the home directory
* So the tree project is built "on demand":
* First the tree is built from the current directory and shows files and subdirs.
* > First level subdirs trees are built (i.e subdirs contents are not read)
...
...
pcbnew/files.cpp
View file @
afb63f10
...
...
@@ -27,7 +27,7 @@ void WinEDA_PcbFrame::OnFileHistory( wxCommandEvent& event )
{
DrawPanel
->
UnManageCursor
(
0
,
wxCURSOR_ARROW
);
::
wxSetWorkingDirectory
(
::
wxPathOnly
(
fn
)
);
LoadOnePcbFile
(
fn
,
false
);
LoadOnePcbFile
(
fn
);
ReCreateAuxiliaryToolbar
();
DrawPanel
->
MouseToCursorSchema
();
}
...
...
@@ -114,6 +114,18 @@ void WinEDA_PcbFrame::Files_io( wxCommandEvent& event )
}
/** Function WinEDA_PcbFrame::LoadOnePcbFile
* Load a Kicad board (.brd) file.
*
* @param aFileName - File name including path. If empty, a file dialog will
* be displayed.
* @param aAppend - Append board file aFileName to the currently loaded file if true.
* Default = false.
* @param aForceFileDialog - Display the file open dialog even if aFullFileName is
* valid if true; Default = false.
*
* @return False if file load fails or is cancelled by the user, otherwise true.
*/
bool
WinEDA_PcbFrame
::
LoadOnePcbFile
(
const
wxString
&
aFileName
,
bool
Append
,
bool
aForceFileDialog
)
{
...
...
pcbnew/pcbnew.cpp
View file @
afb63f10
...
...
@@ -154,13 +154,31 @@ Changing extension to .brd." ), GetChars( fn.GetFullPath() ) );
/* Load file specified in the command line. */
if
(
fn
.
IsOk
()
)
{
frame
->
LoadOnePcbFile
(
fn
.
GetFullPath
(),
FALSE
);
// update the layer names in the listbox
frame
->
ReCreateLayerBox
(
NULL
);
/* Note the first time Pcbnew is called after creating a new project
* the board file may not exists
* So we load settings only
*/
if
(
fn
.
FileExists
()
)
frame
->
LoadOnePcbFile
(
fn
.
GetFullPath
()
);
else
{
// File does not exists: prepare an empty board
wxSetWorkingDirectory
(
fn
.
GetPath
()
);
frame
->
GetScreen
()
->
m_FileName
=
fn
.
GetFullPath
();
frame
->
GetScreen
()
->
m_FileName
.
Replace
(
WIN_STRING_DIR_SEP
,
UNIX_STRING_DIR_SEP
);
frame
->
SetTitle
(
frame
->
GetScreen
()
->
m_FileName
);
frame
->
SetLastProject
(
frame
->
GetScreen
()
->
m_FileName
);
frame
->
OnModify
();
// Ready to save the new empty board
wxString
msg
;
msg
.
Printf
(
_
(
"File <%s> not existing
\n
This is normal for a new project"
),
GetChars
(
frame
->
GetScreen
()
->
m_FileName
)
);
wxMessageBox
(
msg
);
}
}
frame
->
LoadProjectSettings
(
fn
.
GetFullPath
()
);
// update the layer names in the listbox
frame
->
ReCreateLayerBox
(
NULL
);
/* For an obscure reason the focus is lost after loading a board file
* when starting (i.e. only at this point)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment