From 535a28fa918319860c1709d8e7ac8c4c69284737 Mon Sep 17 00:00:00 2001 From: jerryjacobs Date: Sun, 14 Feb 2010 14:59:43 +0000 Subject: [PATCH] See CHANGELOG.txt --- CHANGELOG.txt | 15 ++ CTestConfig.cmake | 12 ++ Documentation/compiling/mac-osx.txt | 7 +- README.txt | 30 ++-- .../tools_to_build_newstroke-font}/AUTHOR.txt | 0 .../tools_to_build_newstroke-font}/README.txt | 0 .../charlist.txt | 0 .../tools_to_build_newstroke-font}/coord.txt | 0 .../font-cache.lib | 0 .../tools_to_build_newstroke-font}/font.brd | 0 .../tools_to_build_newstroke-font}/font.dcm | 0 .../tools_to_build_newstroke-font}/font.lib | 0 .../tools_to_build_newstroke-font}/font.pro | 0 .../tools_to_build_newstroke-font}/font.sch | 0 .../font_draft.sch | 0 .../font_draft1.lib | 0 .../fontconv.awk | 0 .../newstroke_font.h | 0 .../tools_to_build_newstroke-font}/symbol.dcm | 0 .../tools_to_build_newstroke-font}/symbol.lib | 0 .../symbols.sch | 0 .../tools_to_build_newstroke-font}/test.h | 0 .../testlist.txt | 0 kicad/CMakeLists.txt | 2 +- kicad/{buildmnu.cpp => menubar.cpp} | 162 ++++++++++-------- kicad/prjconfig.cpp | 39 +++-- 26 files changed, 159 insertions(+), 108 deletions(-) create mode 100644 CTestConfig.cmake rename {tools_to_build_newstroke-font => helpers/tools_to_build_newstroke-font}/AUTHOR.txt (100%) rename {tools_to_build_newstroke-font => helpers/tools_to_build_newstroke-font}/README.txt (100%) rename {tools_to_build_newstroke-font => helpers/tools_to_build_newstroke-font}/charlist.txt (100%) rename {tools_to_build_newstroke-font => helpers/tools_to_build_newstroke-font}/coord.txt (100%) rename {tools_to_build_newstroke-font => helpers/tools_to_build_newstroke-font}/font-cache.lib (100%) rename {tools_to_build_newstroke-font => helpers/tools_to_build_newstroke-font}/font.brd (100%) rename {tools_to_build_newstroke-font => helpers/tools_to_build_newstroke-font}/font.dcm (100%) rename {tools_to_build_newstroke-font => helpers/tools_to_build_newstroke-font}/font.lib (100%) rename {tools_to_build_newstroke-font => helpers/tools_to_build_newstroke-font}/font.pro (100%) rename {tools_to_build_newstroke-font => helpers/tools_to_build_newstroke-font}/font.sch (100%) rename {tools_to_build_newstroke-font => helpers/tools_to_build_newstroke-font}/font_draft.sch (100%) rename {tools_to_build_newstroke-font => helpers/tools_to_build_newstroke-font}/font_draft1.lib (100%) rename {tools_to_build_newstroke-font => helpers/tools_to_build_newstroke-font}/fontconv.awk (100%) rename {tools_to_build_newstroke-font => helpers/tools_to_build_newstroke-font}/newstroke_font.h (100%) rename {tools_to_build_newstroke-font => helpers/tools_to_build_newstroke-font}/symbol.dcm (100%) rename {tools_to_build_newstroke-font => helpers/tools_to_build_newstroke-font}/symbol.lib (100%) rename {tools_to_build_newstroke-font => helpers/tools_to_build_newstroke-font}/symbols.sch (100%) rename {tools_to_build_newstroke-font => helpers/tools_to_build_newstroke-font}/test.h (100%) rename {tools_to_build_newstroke-font => helpers/tools_to_build_newstroke-font}/testlist.txt (100%) rename kicad/{buildmnu.cpp => menubar.cpp} (75%) diff --git a/CHANGELOG.txt b/CHANGELOG.txt index 9ddfa31649..26db99cad5 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -4,6 +4,21 @@ KiCad ChangeLog 2010 Please add newer entries at the top, list the date and your name with email address. + +2010-Feb-14 UPDATE Jerry Jacobs +================================================================================ +++ KiCad + Check if project is noname.pro so we don't get a error if kicad is first run. + Removed double separator in file menu. + Moved recent project to submenu in Open recent. + +++ Common + Added CTest/CDash support file + Moved helper tool to helper subdirectory + +++ OSX + Update compiling doc + 2010-Feb-07 UPDATE Vesa Solonen ================================================================================ ++ all: diff --git a/CTestConfig.cmake b/CTestConfig.cmake new file mode 100644 index 0000000000..ca1c78ee57 --- /dev/null +++ b/CTestConfig.cmake @@ -0,0 +1,12 @@ +## +# KiCad CDash/CTest Support +# Run cmake, then ctest -D Experimental to push to cdash. +## +set(CTEST_PROJECT_NAME "KiCad") +set(CTEST_NIGHTLY_START_TIME "00:00:00 EST") + +set(CTEST_DROP_METHOD "http") +set(CTEST_DROP_SITE "my.cdash.org") +set(CTEST_DROP_LOCATION "/submit.php?project=KiCad") +set(CTEST_DROP_SITE_CDASH TRUE) + diff --git a/Documentation/compiling/mac-osx.txt b/Documentation/compiling/mac-osx.txt index e0cd0a2264..e26f194315 100644 --- a/Documentation/compiling/mac-osx.txt +++ b/Documentation/compiling/mac-osx.txt @@ -107,4 +107,9 @@ CMAKE_CXX_FLAGS = -D__ASSERTMACROS__ fixes this :-) configure:18585: gcc -isysroot /Developer/SDKs/MacOSX10.5.sdk/ -mmacosx-version-min=10.5 -o conftest -arch i386 -arch x86_64 -arch ppc -arch i386 -arch x86_64 -arch ppc conftest.c >&5 ld: warning: in /Developer/SDKs/MacOSX10.5.sdk//usr/lib/libSystem.dylib, missing required architecture ppc in file -Installing rosetta and xcode with all architectures fixes this "problem" \ No newline at end of file +Installing rosetta and xcode with all architectures fixes this "problem" + + +ld: warning: in /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks//QuickTime.framework/QuickTime, missing required architecture x86_64 in file + +You get this error because the QuickTime 10.6 framework is not build with 64bit support. This not a real issue for KiCad because we don't use it anyway. diff --git a/README.txt b/README.txt index 609cc267f7..5501d39c35 100644 --- a/README.txt +++ b/README.txt @@ -1,20 +1,20 @@ KiCad README ============ - -Please have a look at the other files, -for specific documentation like Compiling, GUI translation see the Documentation folder. +For specific documentation like Compiling, GUI translation, Old changelogs see the +Documentation subfolder. Files ----- -AUTHORS.txt - The authors, contributors, document writers and translators list -CHANGELOG.txt - This years changelog (see for previous years Documentation/changelogs) -CMakeList.txt - CMAKE build tool script -COPYRIGHT.txt - A copy of the GNU General Public License Version 2 -Doxyfile - Doxygen preferences -INSTALL.txt - The release (binairy) installation instructions -TODO.txt - Todo list -uncrustify.cfg - Uncrustify code formatting tool preferences -version.txt - The current stable released version +AUTHORS.txt - The authors, contributors, document writers and translators list +CHANGELOG.txt - This years changelog (see for previous years Documentation/changelogs) +CMakeList.txt - CMAKE build tool script +COPYRIGHT.txt - A copy of the GNU General Public License Version 2 +CTestConfig.txt - Support for CTest and CDash testing tools +Doxyfile - Doxygen preferences +INSTALL.txt - The release (binairy) installation instructions +TODO.txt - Todo list +uncrustify.cfg - Uncrustify code formatting tool preferences +version.txt - The current stable released version Subdirectories -------------- @@ -27,6 +27,7 @@ demos - Some demo examples Documentation - Misc documentation. Translating the GUI, old changelogs etcetera. eeschema - Sourcecode of the schematic editor gerbview - Sourcecode of the gerber viewer +helpers - Helper tools and utilities for development include - Interfaces to the common library internat - Internationalisation files kicad - Sourcecode of the project manager @@ -38,8 +39,3 @@ scripts - Helper scripts. For building, sourcecode packaging, font settin share - ? template - Project template(s) - - - - - diff --git a/tools_to_build_newstroke-font/AUTHOR.txt b/helpers/tools_to_build_newstroke-font/AUTHOR.txt similarity index 100% rename from tools_to_build_newstroke-font/AUTHOR.txt rename to helpers/tools_to_build_newstroke-font/AUTHOR.txt diff --git a/tools_to_build_newstroke-font/README.txt b/helpers/tools_to_build_newstroke-font/README.txt similarity index 100% rename from tools_to_build_newstroke-font/README.txt rename to helpers/tools_to_build_newstroke-font/README.txt diff --git a/tools_to_build_newstroke-font/charlist.txt b/helpers/tools_to_build_newstroke-font/charlist.txt similarity index 100% rename from tools_to_build_newstroke-font/charlist.txt rename to helpers/tools_to_build_newstroke-font/charlist.txt diff --git a/tools_to_build_newstroke-font/coord.txt b/helpers/tools_to_build_newstroke-font/coord.txt similarity index 100% rename from tools_to_build_newstroke-font/coord.txt rename to helpers/tools_to_build_newstroke-font/coord.txt diff --git a/tools_to_build_newstroke-font/font-cache.lib b/helpers/tools_to_build_newstroke-font/font-cache.lib similarity index 100% rename from tools_to_build_newstroke-font/font-cache.lib rename to helpers/tools_to_build_newstroke-font/font-cache.lib diff --git a/tools_to_build_newstroke-font/font.brd b/helpers/tools_to_build_newstroke-font/font.brd similarity index 100% rename from tools_to_build_newstroke-font/font.brd rename to helpers/tools_to_build_newstroke-font/font.brd diff --git a/tools_to_build_newstroke-font/font.dcm b/helpers/tools_to_build_newstroke-font/font.dcm similarity index 100% rename from tools_to_build_newstroke-font/font.dcm rename to helpers/tools_to_build_newstroke-font/font.dcm diff --git a/tools_to_build_newstroke-font/font.lib b/helpers/tools_to_build_newstroke-font/font.lib similarity index 100% rename from tools_to_build_newstroke-font/font.lib rename to helpers/tools_to_build_newstroke-font/font.lib diff --git a/tools_to_build_newstroke-font/font.pro b/helpers/tools_to_build_newstroke-font/font.pro similarity index 100% rename from tools_to_build_newstroke-font/font.pro rename to helpers/tools_to_build_newstroke-font/font.pro diff --git a/tools_to_build_newstroke-font/font.sch b/helpers/tools_to_build_newstroke-font/font.sch similarity index 100% rename from tools_to_build_newstroke-font/font.sch rename to helpers/tools_to_build_newstroke-font/font.sch diff --git a/tools_to_build_newstroke-font/font_draft.sch b/helpers/tools_to_build_newstroke-font/font_draft.sch similarity index 100% rename from tools_to_build_newstroke-font/font_draft.sch rename to helpers/tools_to_build_newstroke-font/font_draft.sch diff --git a/tools_to_build_newstroke-font/font_draft1.lib b/helpers/tools_to_build_newstroke-font/font_draft1.lib similarity index 100% rename from tools_to_build_newstroke-font/font_draft1.lib rename to helpers/tools_to_build_newstroke-font/font_draft1.lib diff --git a/tools_to_build_newstroke-font/fontconv.awk b/helpers/tools_to_build_newstroke-font/fontconv.awk similarity index 100% rename from tools_to_build_newstroke-font/fontconv.awk rename to helpers/tools_to_build_newstroke-font/fontconv.awk diff --git a/tools_to_build_newstroke-font/newstroke_font.h b/helpers/tools_to_build_newstroke-font/newstroke_font.h similarity index 100% rename from tools_to_build_newstroke-font/newstroke_font.h rename to helpers/tools_to_build_newstroke-font/newstroke_font.h diff --git a/tools_to_build_newstroke-font/symbol.dcm b/helpers/tools_to_build_newstroke-font/symbol.dcm similarity index 100% rename from tools_to_build_newstroke-font/symbol.dcm rename to helpers/tools_to_build_newstroke-font/symbol.dcm diff --git a/tools_to_build_newstroke-font/symbol.lib b/helpers/tools_to_build_newstroke-font/symbol.lib similarity index 100% rename from tools_to_build_newstroke-font/symbol.lib rename to helpers/tools_to_build_newstroke-font/symbol.lib diff --git a/tools_to_build_newstroke-font/symbols.sch b/helpers/tools_to_build_newstroke-font/symbols.sch similarity index 100% rename from tools_to_build_newstroke-font/symbols.sch rename to helpers/tools_to_build_newstroke-font/symbols.sch diff --git a/tools_to_build_newstroke-font/test.h b/helpers/tools_to_build_newstroke-font/test.h similarity index 100% rename from tools_to_build_newstroke-font/test.h rename to helpers/tools_to_build_newstroke-font/test.h diff --git a/tools_to_build_newstroke-font/testlist.txt b/helpers/tools_to_build_newstroke-font/testlist.txt similarity index 100% rename from tools_to_build_newstroke-font/testlist.txt rename to helpers/tools_to_build_newstroke-font/testlist.txt diff --git a/kicad/CMakeLists.txt b/kicad/CMakeLists.txt index 55505f19ba..1cac95b733 100644 --- a/kicad/CMakeLists.txt +++ b/kicad/CMakeLists.txt @@ -5,12 +5,12 @@ include_directories(${CMAKE_CURRENT_SOURCE_DIR} ) set(KICAD_SRCS - buildmnu.cpp commandframe.cpp files-io.cpp kicad.cpp kicad-python.cpp mainframe.cpp + menubar.cpp preferences.cpp prjconfig.cpp treeprj_datas.cpp diff --git a/kicad/buildmnu.cpp b/kicad/menubar.cpp similarity index 75% rename from kicad/buildmnu.cpp rename to kicad/menubar.cpp index a453cd27a9..6b6770d7c3 100644 --- a/kicad/buildmnu.cpp +++ b/kicad/menubar.cpp @@ -1,33 +1,30 @@ -/*****************************************************************************/ - /** - * @file buildmnu.cpp - * @brief TODO + * @file menubar.cpp + * @brief Project manager menubars and toolbars */ -/*****************************************************************************/ - #include "fctsys.h" #include "appl_wxstruct.h" #include "common.h" #include "kicad.h" #include "macros.h" -#include "bitmaps.h" // Common bitmaps +#include "bitmaps.h" - -/*****************************************************************************/ +/* Menubar and toolbar event table */ BEGIN_EVENT_TABLE( WinEDA_MainFrame, WinEDA_BasicFrame ) -/* Window events */ + /* Window events */ EVT_SIZE( WinEDA_MainFrame::OnSize ) EVT_CLOSE( WinEDA_MainFrame::OnCloseWindow ) -/* Sash drag events */ + + /* Sash drag events */ EVT_SASH_DRAGGED( ID_LEFT_FRAME, WinEDA_MainFrame::OnSashDrag ) -/* Toolbar events */ + + /* Toolbar events */ EVT_TOOL( ID_NEW_PROJECT, WinEDA_MainFrame::OnLoadProject ) EVT_TOOL( ID_LOAD_PROJECT, WinEDA_MainFrame::OnLoadProject ) EVT_TOOL( ID_SAVE_PROJECT, WinEDA_MainFrame::OnSaveProject ) EVT_TOOL( ID_SAVE_AND_ZIP_FILES, WinEDA_MainFrame::OnArchiveFiles ) -/* Menu events */ + /* Menu events */ EVT_MENU( ID_SAVE_PROJECT, WinEDA_MainFrame::OnSaveProject ) EVT_MENU( wxID_EXIT, WinEDA_MainFrame::OnExit ) EVT_MENU( ID_TO_EDITOR, WinEDA_MainFrame::OnOpenTextEditor ) @@ -47,13 +44,13 @@ BEGIN_EVENT_TABLE( WinEDA_MainFrame, WinEDA_BasicFrame ) EVT_MENU( ID_GENERAL_HELP, WinEDA_MainFrame::GetKicadHelp ) EVT_MENU( ID_KICAD_ABOUT, WinEDA_MainFrame::GetKicadAbout ) -/* Range menu events */ + /* Range menu events */ EVT_MENU_RANGE( ID_LANGUAGE_CHOICE, ID_LANGUAGE_CHOICE_END, WinEDA_MainFrame::SetLanguage ) EVT_MENU_RANGE( wxID_FILE1, wxID_FILE9, WinEDA_MainFrame::OnFileHistory ) -/* Button events */ + /* Button events */ EVT_BUTTON( ID_TO_PCB, WinEDA_MainFrame::OnRunPcbNew ) EVT_BUTTON( ID_TO_CVPCB, WinEDA_MainFrame::OnRunCvpcb ) EVT_BUTTON( ID_TO_EESCHEMA, WinEDA_MainFrame::OnRunEeschema ) @@ -72,61 +69,67 @@ END_EVENT_TABLE() /** - * @brief TODO + * @brief (Re)Create the menubar */ void WinEDA_MainFrame::ReCreateMenuBar() { wxMenuItem *item; wxMenuBar *menuBar = GetMenuBar(); - /* Destroy the existing menu bar so it can be rebuilt. This allows - * language changes of the menu text on the fly. */ + /** + * Destroy the existing menu bar so it can be rebuilt. This allows + * language changes of the menu text on the fly. + */ if( menuBar ) SetMenuBar( NULL ); - menuBar = new wxMenuBar(); - // Check if menubar is empty + /** + * Files menu + */ wxMenu* filesMenu = new wxMenu; - // Open project + /* Open */ item = new wxMenuItem( filesMenu, ID_LOAD_PROJECT, _( "&Open\tCtrl+O" ), _( "Open an existing project" ) ); item->SetBitmap( open_project_xpm ); filesMenu->Append( item ); - // New project + /* Open Recent submenu */ + wxMenu* openRecentMenu = new wxMenu(); + wxGetApp().m_fileHistory.AddFilesToMenu( openRecentMenu ); + ADD_MENUITEM_WITH_HELP_AND_SUBMENU( filesMenu, openRecentMenu, + -1, _( "Open &Recent" ), + _("Open a recent opened schematic project" ), + open_project_xpm ); + + /* New */ item = new wxMenuItem( filesMenu, ID_NEW_PROJECT, _( "&New\tCtrl+N" ), _( "Start a new project" ) ); item->SetBitmap( new_project_xpm ); filesMenu->Append( item ); - - // Save project + /* Save */ item = new wxMenuItem( filesMenu, ID_SAVE_PROJECT, _( "&Save\tCtrl+S" ), _( "Save current project" ) ); item->SetBitmap( save_project_xpm ); filesMenu->Append( item ); - // Separator + /* Separator */ filesMenu->AppendSeparator(); - - // Archive project + /* Archive */ item = new wxMenuItem( filesMenu, ID_SAVE_AND_ZIP_FILES, _( "&Archive" ), _( "Archive project files in zip archive" ) ); item->SetBitmap( zip_xpm ); filesMenu->Append( item ); - // Unarchive project + /* Unarchive */ item = new wxMenuItem( filesMenu, ID_READ_ZIP_ARCHIVE, _( "&Unarchive" ), _( "Unarchive project files from zip file" ) ); item->SetBitmap( unzip_xpm ); filesMenu->Append( item ); - // Separator - filesMenu->AppendSeparator(); - /* Quit on all platforms except WXMAC */ #if !defined( __WXMAC__ ) @@ -138,59 +141,61 @@ void WinEDA_MainFrame::ReCreateMenuBar() #endif /* !defined( __WXMAC__ ) */ - /* Add the file history */ - wxGetApp().m_fileHistory.AddFilesToMenu( filesMenu ); - /**********************************************************************/ + + /** + * Browse menu + */ wxMenu* browseMenu = new wxMenu(); - /**********************************************************************/ - // Editor + /* Text editor */ item = new wxMenuItem( browseMenu, ID_TO_EDITOR, _( "Text E&ditor" ), _( "Open prefered text editor" ) ); item->SetBitmap( editor_xpm ); browseMenu->Append( item ); - // Browse files + /* Browse files */ item = new wxMenuItem( browseMenu, ID_BROWSE_AN_SELECT_FILE, - _( "&Browse Files" ), - _( "Read or edit files with text editor" ) ); + _( "&View File" ), + _( "View, read or edit file with a text editor" ) ); item->SetBitmap( browse_files_xpm ); browseMenu->Append( item ); - /**********************************************************************/ - wxMenu* PreferencesMenu = new wxMenu; - /**********************************************************************/ - // Prefered text editor + + /** + * Preferences menu + */ + wxMenu* PreferencesMenu = new wxMenu; + + /* Text editor */ item = new wxMenuItem( PreferencesMenu, ID_SELECT_PREFERED_EDITOR, _( "&Text Editor" ), _( "Select your prefered text editor" ) ); item->SetBitmap( editor_xpm ); PreferencesMenu->Append( item ); - // Submenu Pdf Browser selection: system browser or user - // selected browser (and its name) - /**********************************************************************/ + /** + * PDF Viewer submenu + * System browser or user defined checkbox + */ wxMenu* SubMenuPdfBrowserChoice = new wxMenu; - /**********************************************************************/ - // Default PDF viewer + /* Default */ item = new wxMenuItem( SubMenuPdfBrowserChoice, ID_SELECT_DEFAULT_PDF_BROWSER, - _( "Default PDF Viewer" ), - _( "Use the default (system) PDF viewer used to browse datasheets" ), + _( "Default" ), + _( "Use system default PDF viewer used to browse datasheets" ), wxITEM_CHECK ); SETBITMAPS( datasheet_xpm ); SubMenuPdfBrowserChoice->Append( item ); SubMenuPdfBrowserChoice->Check( ID_SELECT_DEFAULT_PDF_BROWSER, wxGetApp().m_PdfBrowserIsDefault ); - - // Favourite PDF viewer + /* Favourite */ item = new wxMenuItem( SubMenuPdfBrowserChoice, ID_SELECT_PREFERED_PDF_BROWSER, - _( "Favourite PDF Viewer" ), + _( "Favourite" ), _( "Use your favourite PDF viewer used to browse datasheets" ), wxITEM_CHECK ); SETBITMAPS( preference_xpm ); @@ -199,35 +204,37 @@ void WinEDA_MainFrame::ReCreateMenuBar() SubMenuPdfBrowserChoice->Check( ID_SELECT_PREFERED_PDF_BROWSER, !wxGetApp().m_PdfBrowserIsDefault ); - + /* Append PDF Viewer submenu to preferences */ item = new wxMenuItem( SubMenuPdfBrowserChoice, ID_SELECT_PREFERED_PDF_BROWSER_NAME, - _( "Select Pdf Viewer" ), + _( "PDF Viewer" ), _( "Select your favourite PDF viewer used to browse datasheets" ) ); item->SetBitmap( datasheet_xpm ); SubMenuPdfBrowserChoice->Append( item ); ADD_MENUITEM_WITH_HELP_AND_SUBMENU( PreferencesMenu, SubMenuPdfBrowserChoice, - -1, _( "Pdf Viewer" ), - _( "Pdf viewer preferences" ), + -1, _( "PDF Viewer" ), + _( "PDF viewer preferences" ), datasheet_xpm ); PreferencesMenu->AppendSeparator(); wxGetApp().AddMenuLanguageList( PreferencesMenu ); - /**********************************************************************/ - wxMenu* helpMenu = new wxMenu; - /**********************************************************************/ - // Contents + /** + * Help menu + */ + wxMenu* helpMenu = new wxMenu; + + /* Contents */ item = new wxMenuItem( helpMenu, ID_GENERAL_HELP, _( "&Contents" ), _( "Open the kicad manual" ) ); item->SetBitmap( help_xpm ); helpMenu->Append( item ); - // About on all platforms except WXMAC */ + /* About on all platforms except WXMAC */ #if !defined( __WXMAC__ ) helpMenu->AppendSeparator(); @@ -238,58 +245,63 @@ void WinEDA_MainFrame::ReCreateMenuBar() #endif /* !defined( __WXMAC__ ) */ - // Append menus to menuBar + /** + * Create the menubar and append all submenus + */ menuBar->Append( filesMenu, _( "&File" ) ); menuBar->Append( browseMenu, _( "&Browse" ) ); menuBar->Append( PreferencesMenu, _( "&Preferences" ) ); menuBar->Append( helpMenu, _( "&Help" ) ); + /* Associate the menu bar with the frame */ SetMenuBar( menuBar ); } /** - * @brief TODO + * @brief (Re)Create the horizontal toolbar */ void WinEDA_MainFrame::RecreateBaseHToolbar() { - // Check if toolbar is not already set + /* Check if toolbar is not already created */ if( m_HToolBar != NULL ) return; - // Allocate memory for m_HToolBar + /* Allocate memory for m_HToolBar */ m_HToolBar = new WinEDA_Toolbar( TOOLBAR_MAIN, this, ID_H_TOOLBAR, TRUE ); - // Set up toolbar + /* New */ m_HToolBar->AddTool( ID_NEW_PROJECT, wxEmptyString, wxBitmap( new_project_xpm ), _( "Start a new project" ) ); - // Load project + /* Load */ m_HToolBar->AddTool( ID_LOAD_PROJECT, wxEmptyString, wxBitmap( open_project_xpm ), _( "Load existing project" ) ); - // Save project + /* Save */ m_HToolBar->AddTool( ID_SAVE_PROJECT, wxEmptyString, wxBitmap( save_project_xpm ), _( "Save current project" ) ); - // Separator + /* Separator */ m_HToolBar->AddSeparator(); - // Save and archive files + /* Archive */ m_HToolBar->AddTool( ID_SAVE_AND_ZIP_FILES, wxEmptyString, wxBitmap( zip_xpm ), - _( "Archive all project files" ) ); // Tooltip + _( "Archive all project files" ) ); - // Separator + /* Separator */ m_HToolBar->AddSeparator(); - // Refresh project tree + /* Refresh project tree */ m_HToolBar->AddTool( ID_PROJECT_TREE_REFRESH, wxEmptyString, wxBitmap( reload_xpm ), _( "Refresh project tree" ) ); - m_HToolBar->Realize(); // Create m_HToolBar + /* Create m_HToolBar */ + m_HToolBar->Realize(); } + diff --git a/kicad/prjconfig.cpp b/kicad/prjconfig.cpp index 7c74e587e9..638560f752 100644 --- a/kicad/prjconfig.cpp +++ b/kicad/prjconfig.cpp @@ -1,8 +1,7 @@ -/*************************************************************/ -/** prjconfig.cpp : load and save configuration (file *.pro) */ -/*************************************************************/ - - +/** + * @file prjconfig.cpp + * Load and save project configuration files (*.pro) + */ #ifdef KICAD_PYTHON #include #endif @@ -26,33 +25,41 @@ static const wxString BoardFileNameEntry( wxT( "BoardNm" ) ); void WinEDA_MainFrame::CreateNewProject( const wxString PrjFullFileName ) { - wxString tmp; + wxString filename; wxFileName newProjectName = PrjFullFileName; - // Init default config filename - tmp = wxGetApp().FindLibraryPath( wxT( "kicad.pro" ) ); + /* Init default config filename */ + filename = wxGetApp().FindLibraryPath( wxT( "kicad.pro" ) ); - if( !wxFileName::FileExists( tmp ) ) + /* Check if file kicad.pro exist in template directory */ + if( wxFileName::FileExists( filename ) ) { - DisplayInfoMessage( NULL, _( "Project template file not found " ) ); - return; + wxCopyFile( filename, PrjFullFileName ); } else { - wxCopyFile( tmp, PrjFullFileName ); + DisplayInfoMessage( NULL, _( "Project template file not found " ) ); + return; } + /* Init schematic filename */ m_SchematicRootFileName = wxFileName( newProjectName.GetName(), SchematicFileExtension ).GetFullName(); + /* Init pcb board filename */ m_BoardFileName = wxFileName( newProjectName.GetName(), BoardFileExtension ).GetFullName(); + /* Init project filename */ m_ProjectFileName = newProjectName; + + /* Write settings to project file */ wxGetApp().WriteProjectConfig( PrjFullFileName, GeneralGroupName, NULL ); } - +/** + * Loading a new project + */ void WinEDA_MainFrame::OnLoadProject( wxCommandEvent& event ) { int style; @@ -89,7 +96,10 @@ void WinEDA_MainFrame::OnLoadProject( wxCommandEvent& event ) wxLogDebug( wxT( "Loading Kicad project file: " ) + m_ProjectFileName.GetFullPath() ); - if( !m_ProjectFileName.FileExists() ) + /* Check if project file exists and if it is not noname.pro */ + wxString filename = m_ProjectFileName.GetFullName(); + + if( !m_ProjectFileName.FileExists() && !filename.IsSameAs(wxT("noname.pro"))) { DisplayError( this, _( "Kicad project file <" ) + m_ProjectFileName.GetFullPath() + _( "> not found" ) ); @@ -135,3 +145,4 @@ void WinEDA_MainFrame::OnSaveProject( wxCommandEvent& event ) wxGetApp().WriteProjectConfig( m_ProjectFileName.GetFullPath(), GeneralGroupName, NULL ); } +