diff --git a/common/build_version.cpp b/common/build_version.cpp
index 4202ebfab1..67df2e32c7 100644
--- a/common/build_version.cpp
+++ b/common/build_version.cpp
@@ -7,9 +7,9 @@
#ifndef KICAD_BUILD_VERSION
#if defined KICAD_GOST
-# define KICAD_BUILD_VERSION "(2011-aug-04 GOST)"
+# define KICAD_BUILD_VERSION "(2011-oct-15 GOST)"
#else
-# define KICAD_BUILD_VERSION "(2011-aug-04)"
+# define KICAD_BUILD_VERSION "(2011-oct-15)"
#endif
#endif
diff --git a/cvpcb/menubar.cpp b/cvpcb/menubar.cpp
index 1d701b1c9c..0c2582048d 100644
--- a/cvpcb/menubar.cpp
+++ b/cvpcb/menubar.cpp
@@ -89,15 +89,10 @@ void CVPCB_MAINFRAME::ReCreateMenuBar()
// Menu Preferences:
wxMenu* preferencesMenu = new wxMenu;
- // Options (Preferences on WXMAC)
- AddMenuItem( preferencesMenu,
- wxID_PREFERENCES,
-#ifdef __WXMAC__
- _( "&Preferences..." ),
-#else
- _( "&Options" ),
-#endif // __WXMAC__
- _( "Set libraries and library search paths" ),
+ // Libraries to load
+ AddMenuItem( preferencesMenu, wxID_PREFERENCES,
+ _( "&Libraries" ),
+ _( "Set footprint libraries lo load and library search paths" ),
KiBitmap( config_xpm ) );
// Language submenu
diff --git a/eeschema/class_library.cpp b/eeschema/class_library.cpp
index 2bb9b0a3e2..64435ce70a 100644
--- a/eeschema/class_library.cpp
+++ b/eeschema/class_library.cpp
@@ -425,7 +425,7 @@ bool CMP_LIBRARY::Load( wxString& aErrorMsg )
if( !tkn.HasMoreTokens()
|| !tkn.GetNextToken().Upper().StartsWith(wxT( "EESCHEMA-LIB" ) ) )
{
- aErrorMsg = _( "The file is NOT an EESCHEMA library!" );
+ aErrorMsg = _( "The file is NOT an Eeschema library!" );
fclose( file );
return false;
}
diff --git a/eeschema/dialogs/dialog_plot_schematic_DXF.cpp b/eeschema/dialogs/dialog_plot_schematic_DXF.cpp
index 42a83546d8..6372aa65f3 100644
--- a/eeschema/dialogs/dialog_plot_schematic_DXF.cpp
+++ b/eeschema/dialogs/dialog_plot_schematic_DXF.cpp
@@ -231,7 +231,7 @@ void DIALOG_PLOT_SCHEMATIC_DXF::PlotOneSheetDXF( const wxString& FileName,
plotter->set_color_mode( m_plotColorOpt );
/* Init : */
- plotter->set_creator( wxT( "EESchema-DXF" ) );
+ plotter->set_creator( wxT( "Eeschema-DXF" ) );
plotter->set_filename( FileName );
plotter->start_plot( output_file );
diff --git a/eeschema/dialogs/dialog_plot_schematic_HPGL.cpp b/eeschema/dialogs/dialog_plot_schematic_HPGL.cpp
index 3ded186842..8b01fc672f 100644
--- a/eeschema/dialogs/dialog_plot_schematic_HPGL.cpp
+++ b/eeschema/dialogs/dialog_plot_schematic_HPGL.cpp
@@ -378,7 +378,7 @@ void DIALOG_PLOT_SCHEMATIC_HPGL::Plot_1_Page_HPGL( const wxString& FileName,
plotter->set_viewport( offset, plot_scale, 0 );
plotter->set_default_line_width( g_DrawDefaultLineThickness );
/* Init : */
- plotter->set_creator( wxT( "EESchema-HPGL" ) );
+ plotter->set_creator( wxT( "Eeschema-HPGL" ) );
plotter->set_filename( FileName );
plotter->set_pen_speed( g_HPGL_Pen_Descr.m_Pen_Speed );
plotter->set_pen_number( g_HPGL_Pen_Descr.m_Pen_Num );
diff --git a/eeschema/dialogs/dialog_plot_schematic_PS.cpp b/eeschema/dialogs/dialog_plot_schematic_PS.cpp
index 13c008690e..d8cad4095b 100644
--- a/eeschema/dialogs/dialog_plot_schematic_PS.cpp
+++ b/eeschema/dialogs/dialog_plot_schematic_PS.cpp
@@ -282,7 +282,7 @@ void DIALOG_PLOT_SCHEMATIC_PS::plotOneSheetPS( const wxString& FileName,
plotter->set_color_mode( m_plotColorOpt );
/* Init : */
- plotter->set_creator( wxT( "EESchema-PS" ) );
+ plotter->set_creator( wxT( "Eeschema-PS" ) );
plotter->set_filename( FileName );
plotter->start_plot( output_file );
diff --git a/eeschema/files-io.cpp b/eeschema/files-io.cpp
index c6dd1dc0be..143f4648bf 100644
--- a/eeschema/files-io.cpp
+++ b/eeschema/files-io.cpp
@@ -74,8 +74,9 @@ bool SCH_EDIT_FRAME::SaveEEFile( SCH_SCREEN* aScreen, int aSaveType, bool aCreat
if( !wxRenameFile( schematicFileName.GetFullPath(), backupFileName.GetFullPath() ) )
{
- DisplayError( this, _( "Could not save backup of file <" ) +
- schematicFileName.GetFullPath() + wxT( ">." ) );
+ msg.Printf(_( "Could not save backup of file <%s>" ),
+ GetChars( schematicFileName.GetFullPath() ) );
+ DisplayError( this, msg );
}
}
}
@@ -111,7 +112,8 @@ bool SCH_EDIT_FRAME::SaveEEFile( SCH_SCREEN* aScreen, int aSaveType, bool aCreat
if( ( f = wxFopen( schematicFileName.GetFullPath(), wxT( "wt" ) ) ) == NULL )
{
- msg = _( "Failed to create file " ) + schematicFileName.GetFullPath();
+ msg.Printf( _( "Failed to create file <%s>" ),
+ GetChars( schematicFileName.GetFullPath() ) );
DisplayError( this, msg );
return false;
}
diff --git a/eeschema/menubar.cpp b/eeschema/menubar.cpp
index e3ce40a5e6..abb5481fda 100644
--- a/eeschema/menubar.cpp
+++ b/eeschema/menubar.cpp
@@ -512,7 +512,7 @@ void SCH_EDIT_FRAME::ReCreateMenuBar()
_( "Open the \"Getting Started in KiCad\" guide for beginners" ),
KiBitmap( help_xpm ) );
- // About EESchema
+ // About Eeschema
helpMenu->AppendSeparator();
AddMenuItem( helpMenu,
wxID_ABOUT,
diff --git a/eeschema/sch_bus_entry.cpp b/eeschema/sch_bus_entry.cpp
index d2083ef5ef..e71c51df6d 100644
--- a/eeschema/sch_bus_entry.cpp
+++ b/eeschema/sch_bus_entry.cpp
@@ -107,7 +107,7 @@ bool SCH_BUS_ENTRY::Load( LINE_READER& aLine, wxString& aErrorMsg )
if( !aLine.ReadLine() || sscanf( (char*) aLine, "%d %d %d %d ", &m_Pos.x, &m_Pos.y,
&m_Size.x, &m_Size.y ) != 4 )
{
- aErrorMsg.Printf( wxT( "EESchema file bus entry load error at line %d" ),
+ aErrorMsg.Printf( wxT( "Eeschema file bus entry load error at line %d" ),
aLine.LineNumber() );
aErrorMsg << wxT( "\n" ) << FROM_UTF8( (char*) aLine );
return false;
diff --git a/gerbview/CMakeLists.txt b/gerbview/CMakeLists.txt
index 10c235b360..d267cbe848 100644
--- a/gerbview/CMakeLists.txt
+++ b/gerbview/CMakeLists.txt
@@ -5,6 +5,7 @@ add_definitions(-DGERBVIEW -DPCBNEW)
###
include_directories(${CMAKE_CURRENT_SOURCE_DIR}
${Boost_INCLUDE_DIR}
+ ./dialogs
../3d-viewer
../common
../cvpcb
@@ -18,6 +19,8 @@ set(DIALOGS_SRCS
dialogs/gerbview_dialog_display_options_frame_base.cpp
dialogs/gerbview_dialog_display_options_frame.cpp
dialogs/dialog_layers_select_to_pcb_base.cpp
+ dialogs/dialog_show_page_borders.cpp
+ dialogs/dialog_show_page_borders_base.cpp
dialogs/dialog_print_using_printer.cpp
dialogs/dialog_print_using_printer_base.cpp
)
diff --git a/gerbview/dialogs/dialog_show_page_borders.cpp b/gerbview/dialogs/dialog_show_page_borders.cpp
new file mode 100644
index 0000000000..8d3440ec2d
--- /dev/null
+++ b/gerbview/dialogs/dialog_show_page_borders.cpp
@@ -0,0 +1,84 @@
+/**
+ * @file dialog_show_page_borders.cpp
+ * Dialog to show/hide frame reference and select paper size for printing
+ */
+
+/*
+ * This program source code file is part of KiCad, a free EDA CAD application.
+ *
+ * Copyright (C) 2011 jean-pierre.charras@gipsa-lab.inpg.fr
+ * Copyright (C) 2007 KiCad Developers, see change_log.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
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, you may find one here:
+ * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
+ * or you may search the http://www.gnu.org website for the version 2 license,
+ * or you may write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+#include "fctsys.h"
+#include "common.h"
+
+#include "gerbview.h"
+#include "dialog_show_page_borders.h"
+
+DIALOG_PAGE_SHOW_PAGE_BORDERS::DIALOG_PAGE_SHOW_PAGE_BORDERS( GERBVIEW_FRAME *parent) :
+ DIALOG_PAGE_SHOW_PAGE_BORDERS_BASE( parent, wxID_ANY )
+{
+ m_Parent = parent;
+ SetFocus();
+
+ m_ShowPageLimits->SetSelection(0);
+ if( m_Parent->m_Draw_Sheet_Ref )
+ {
+ for( int ii = 1; g_GerberPageSizeList[ii] != NULL; ii++ )
+ {
+ if( m_Parent->GetScreen()->m_CurrentSheetDesc == g_GerberPageSizeList[ii] )
+ {
+ m_ShowPageLimits->SetSelection(ii);
+ break;
+ }
+ }
+ }
+
+ GetSizer()->Fit( this );
+ GetSizer()->SetSizeHints( this );
+ Center();
+ m_sdbSizer1OK->SetDefault();
+}
+
+
+void DIALOG_PAGE_SHOW_PAGE_BORDERS::OnCancelButtonClick( wxCommandEvent& event )
+{
+ EndModal( wxID_CANCEL );
+}
+
+
+void DIALOG_PAGE_SHOW_PAGE_BORDERS::OnOKBUttonClick( wxCommandEvent& event )
+{
+ m_Parent->m_DisplayPadFill = m_Parent->m_DisplayViaFill =
+ DisplayOpt.DisplayViaFill;
+ m_Parent->m_DisplayPcbTrackFill = DisplayOpt.DisplayPcbTrackFill;
+
+ int idx = m_ShowPageLimits->GetSelection();
+ if( idx > 0 )
+ m_Parent->m_Draw_Sheet_Ref = true;
+ else
+ m_Parent->m_Draw_Sheet_Ref = false;
+
+ m_Parent->GetScreen()->m_CurrentSheetDesc = g_GerberPageSizeList[idx];
+
+ EndModal( wxID_OK );
+}
+
diff --git a/gerbview/dialogs/dialog_show_page_borders.h b/gerbview/dialogs/dialog_show_page_borders.h
new file mode 100644
index 0000000000..4cf1e30b07
--- /dev/null
+++ b/gerbview/dialogs/dialog_show_page_borders.h
@@ -0,0 +1,47 @@
+/**
+ * @file dialog_show_page_borders.h
+ * Dialog to show/hide frame reference and select paper size for printing
+ */
+
+/*
+ * This program source code file is part of KiCad, a free EDA CAD application.
+ *
+ * Copyright (C) 2011 jean-pierre.charras@gipsa-lab.inpg.fr
+ * Copyright (C) 2007 KiCad Developers, see change_log.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
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, you may find one here:
+ * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
+ * or you may search the http://www.gnu.org website for the version 2 license,
+ * or you may write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+#include "dialog_show_page_borders_base.h"
+
+
+class DIALOG_PAGE_SHOW_PAGE_BORDERS : public DIALOG_PAGE_SHOW_PAGE_BORDERS_BASE
+{
+private:
+ GERBVIEW_FRAME* m_Parent;
+
+public:
+
+ DIALOG_PAGE_SHOW_PAGE_BORDERS( GERBVIEW_FRAME* parent );
+ ~DIALOG_PAGE_SHOW_PAGE_BORDERS() {};
+
+private:
+ void OnOKBUttonClick( wxCommandEvent& event );
+ void OnCancelButtonClick( wxCommandEvent& event );
+};
+
diff --git a/gerbview/dialogs/dialog_show_page_borders_base.cpp b/gerbview/dialogs/dialog_show_page_borders_base.cpp
new file mode 100644
index 0000000000..4db019d158
--- /dev/null
+++ b/gerbview/dialogs/dialog_show_page_borders_base.cpp
@@ -0,0 +1,60 @@
+///////////////////////////////////////////////////////////////////////////
+// C++ code generated with wxFormBuilder (version Jun 30 2011)
+// http://www.wxformbuilder.org/
+//
+// PLEASE DO "NOT" EDIT THIS FILE!
+///////////////////////////////////////////////////////////////////////////
+
+#include "dialog_show_page_borders_base.h"
+
+///////////////////////////////////////////////////////////////////////////
+
+DIALOG_PAGE_SHOW_PAGE_BORDERS_BASE::DIALOG_PAGE_SHOW_PAGE_BORDERS_BASE( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )
+{
+ this->SetSizeHints( wxDefaultSize, wxDefaultSize );
+
+ wxBoxSizer* bDialogSizer;
+ bDialogSizer = new wxBoxSizer( wxVERTICAL );
+
+ wxBoxSizer* bUpperSizer;
+ bUpperSizer = new wxBoxSizer( wxHORIZONTAL );
+
+ wxBoxSizer* bRightSizer;
+ bRightSizer = new wxBoxSizer( wxVERTICAL );
+
+ wxString m_ShowPageLimitsChoices[] = { _("Full size. Do not show page limits"), _("Full size"), _("Size A4"), _("Size A3"), _("Size A2"), _("Size A"), _("Size B"), _("Size C") };
+ int m_ShowPageLimitsNChoices = sizeof( m_ShowPageLimitsChoices ) / sizeof( wxString );
+ m_ShowPageLimits = new wxRadioBox( this, wxID_ANY, _("Show Page Limits:"), wxDefaultPosition, wxDefaultSize, m_ShowPageLimitsNChoices, m_ShowPageLimitsChoices, 1, wxRA_SPECIFY_COLS );
+ m_ShowPageLimits->SetSelection( 0 );
+ bRightSizer->Add( m_ShowPageLimits, 0, wxALL|wxEXPAND, 5 );
+
+ bUpperSizer->Add( bRightSizer, 1, wxEXPAND, 5 );
+
+ bDialogSizer->Add( bUpperSizer, 1, wxEXPAND, 5 );
+
+ m_staticline1 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
+ bDialogSizer->Add( m_staticline1, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 );
+
+ m_sdbSizer1 = new wxStdDialogButtonSizer();
+ m_sdbSizer1OK = new wxButton( this, wxID_OK );
+ m_sdbSizer1->AddButton( m_sdbSizer1OK );
+ m_sdbSizer1Cancel = new wxButton( this, wxID_CANCEL );
+ m_sdbSizer1->AddButton( m_sdbSizer1Cancel );
+ m_sdbSizer1->Realize();
+ bDialogSizer->Add( m_sdbSizer1, 0, wxEXPAND|wxALL, 5 );
+
+ this->SetSizer( bDialogSizer );
+ this->Layout();
+
+ // Connect Events
+ m_sdbSizer1Cancel->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PAGE_SHOW_PAGE_BORDERS_BASE::OnCancelButtonClick ), NULL, this );
+ m_sdbSizer1OK->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PAGE_SHOW_PAGE_BORDERS_BASE::OnOKBUttonClick ), NULL, this );
+}
+
+DIALOG_PAGE_SHOW_PAGE_BORDERS_BASE::~DIALOG_PAGE_SHOW_PAGE_BORDERS_BASE()
+{
+ // Disconnect Events
+ m_sdbSizer1Cancel->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PAGE_SHOW_PAGE_BORDERS_BASE::OnCancelButtonClick ), NULL, this );
+ m_sdbSizer1OK->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PAGE_SHOW_PAGE_BORDERS_BASE::OnOKBUttonClick ), NULL, this );
+
+}
diff --git a/gerbview/dialogs/dialog_show_page_borders_base.fbp b/gerbview/dialogs/dialog_show_page_borders_base.fbp
new file mode 100644
index 0000000000..a5235414bf
--- /dev/null
+++ b/gerbview/dialogs/dialog_show_page_borders_base.fbp
@@ -0,0 +1,352 @@
+
+
+
+
+
diff --git a/gerbview/dialogs/dialog_show_page_borders_base.h b/gerbview/dialogs/dialog_show_page_borders_base.h
new file mode 100644
index 0000000000..953ed08dc7
--- /dev/null
+++ b/gerbview/dialogs/dialog_show_page_borders_base.h
@@ -0,0 +1,54 @@
+///////////////////////////////////////////////////////////////////////////
+// C++ code generated with wxFormBuilder (version Jun 30 2011)
+// http://www.wxformbuilder.org/
+//
+// PLEASE DO "NOT" EDIT THIS FILE!
+///////////////////////////////////////////////////////////////////////////
+
+#ifndef __DIALOG_SHOW_PAGE_BORDERS_BASE_H__
+#define __DIALOG_SHOW_PAGE_BORDERS_BASE_H__
+
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+///////////////////////////////////////////////////////////////////////////
+
+
+///////////////////////////////////////////////////////////////////////////////
+/// Class DIALOG_PAGE_SHOW_PAGE_BORDERS_BASE
+///////////////////////////////////////////////////////////////////////////////
+class DIALOG_PAGE_SHOW_PAGE_BORDERS_BASE : public wxDialog
+{
+ private:
+
+ protected:
+ wxRadioBox* m_ShowPageLimits;
+ wxStaticLine* m_staticline1;
+ wxStdDialogButtonSizer* m_sdbSizer1;
+ wxButton* m_sdbSizer1OK;
+ wxButton* m_sdbSizer1Cancel;
+
+ // Virtual event handlers, overide them in your derived class
+ virtual void OnCancelButtonClick( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnOKBUttonClick( wxCommandEvent& event ) { event.Skip(); }
+
+
+ public:
+
+ DIALOG_PAGE_SHOW_PAGE_BORDERS_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Page Borders"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 263,254 ), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER );
+ ~DIALOG_PAGE_SHOW_PAGE_BORDERS_BASE();
+
+};
+
+#endif //__DIALOG_SHOW_PAGE_BORDERS_BASE_H__
diff --git a/gerbview/dialogs/gerbview_dialog_display_options_frame.cpp b/gerbview/dialogs/gerbview_dialog_display_options_frame.cpp
index ac7c28e7fb..acfc1f84dd 100644
--- a/gerbview/dialogs/gerbview_dialog_display_options_frame.cpp
+++ b/gerbview/dialogs/gerbview_dialog_display_options_frame.cpp
@@ -1,6 +1,6 @@
-/*
- * file gerbview_dialog_display_options_frame.cpp
- * Set the display options for GerbView
+/**
+ * @file gerbview_dialog_display_options_frame.cpp
+ * Set some display options for GerbView
*/
diff --git a/gerbview/events_called_functions.cpp b/gerbview/events_called_functions.cpp
index 03d546cb92..457341bddd 100644
--- a/gerbview/events_called_functions.cpp
+++ b/gerbview/events_called_functions.cpp
@@ -17,6 +17,7 @@
#include "dialog_helpers.h"
#include "class_DCodeSelectionbox.h"
#include "class_gerbview_layer_widget.h"
+#include "dialog_show_page_borders.h"
// Event table:
@@ -30,6 +31,7 @@ BEGIN_EVENT_TABLE( GERBVIEW_FRAME, PCB_BASE_FRAME )
EVT_TOOL( ID_GERBVIEW_LOAD_DRILL_FILE, GERBVIEW_FRAME::Files_io )
EVT_TOOL( ID_GERBVIEW_LOAD_DCODE_FILE, GERBVIEW_FRAME::Files_io )
EVT_TOOL( ID_NEW_BOARD, GERBVIEW_FRAME::Files_io )
+ EVT_TOOL( ID_GERBVIEW_SET_PAGE_BORDER, GERBVIEW_FRAME::Process_Special_Functions )
// Menu Files:
EVT_MENU( wxID_FILE, GERBVIEW_FRAME::Files_io )
@@ -150,6 +152,14 @@ void GERBVIEW_FRAME::Process_Special_Functions( wxCommandEvent& event )
switch( id )
{
+ case ID_GERBVIEW_SET_PAGE_BORDER:
+ {
+ DIALOG_PAGE_SHOW_PAGE_BORDERS dlg( this );
+ if (dlg.ShowModal() == wxID_OK )
+ DrawPanel->Refresh();
+ }
+ break;
+
case ID_GERBVIEW_GLOBAL_DELETE:
Erase_Current_Layer( true );
ClearMsgPanel();
diff --git a/gerbview/gerbview_id.h b/gerbview/gerbview_id.h
index 6a92e0112b..b958fe53ed 100644
--- a/gerbview/gerbview_id.h
+++ b/gerbview/gerbview_id.h
@@ -41,6 +41,7 @@ enum gerbview_ids
ID_TOOLBARH_GERBVIEW_SELECT_ACTIVE_LAYER,
ID_GERBVIEW_GLOBAL_DELETE,
ID_GERBVIEW_OPTIONS_SETUP,
+ ID_GERBVIEW_SET_PAGE_BORDER,
ID_TB_OPTIONS_SHOW_LAYERS_MANAGER_VERTICAL_TOOLBAR,
ID_TB_OPTIONS_SHOW_DCODES,
ID_TB_OPTIONS_SHOW_FLASHED_ITEMS_SKETCH,
diff --git a/gerbview/menubar.cpp b/gerbview/menubar.cpp
index 0d84e95bd6..fd2ce2a0b3 100644
--- a/gerbview/menubar.cpp
+++ b/gerbview/menubar.cpp
@@ -120,7 +120,7 @@ void GERBVIEW_FRAME::ReCreateMenuBar( void )
AddMenuItem( fileMenu,
wxID_EXIT,
_( "E&xit" ),
- _( "Quit Gerbview" ),
+ _( "Quit GerbView" ),
KiBitmap( exit_xpm ) );
// Menu for configuration and preferences
@@ -199,7 +199,7 @@ void GERBVIEW_FRAME::ReCreateMenuBar( void )
AddMenuItem( helpMenu,
wxID_HELP,
_( "&Contents" ),
- _( "Open the Gerbview handbook" ),
+ _( "Open the GerbView handbook" ),
KiBitmap( help_xpm ) );
// About GerbView
diff --git a/gerbview/toolbars_gerber.cpp b/gerbview/toolbars_gerber.cpp
index 49e153a6d1..e4734d1dd4 100644
--- a/gerbview/toolbars_gerber.cpp
+++ b/gerbview/toolbars_gerber.cpp
@@ -37,6 +37,10 @@ void GERBVIEW_FRAME::ReCreateHToolbar( void )
KiBitmap( gerbview_drill_file_xpm ),
_( "Load an excellon drill file on the current layer. Previous data will be deleted" ) );
+ m_HToolBar->AddSeparator();
+ m_HToolBar->AddTool( ID_GERBVIEW_SET_PAGE_BORDER, wxEmptyString, KiBitmap( sheetset_xpm ),
+ _( "Show/hide frame reference and select paper size for printing" ) );
+
m_HToolBar->AddSeparator();
m_HToolBar->AddTool( wxID_PRINT, wxEmptyString, KiBitmap( print_button_xpm ),
_( "Print layers" ) );
diff --git a/packaging/windows/nsis/install.nsi b/packaging/windows/nsis/install.nsi
index a52e0092a0..c605d82cb5 100644
--- a/packaging/windows/nsis/install.nsi
+++ b/packaging/windows/nsis/install.nsi
@@ -17,7 +17,7 @@
; General Product Description Definitions
!define PRODUCT_NAME "KiCad"
-!define PRODUCT_VERSION "2011.08.04"
+!define PRODUCT_VERSION "2011.10.15"
!define PRODUCT_WEB_SITE "http://iut-tice.ujf-grenoble.fr/kicad/"
!define SOURCEFORGE_WEB_SITE "http://kicad.sourceforge.net/"
!define COMPANY_NAME ""
diff --git a/pcbnew/librairi.cpp b/pcbnew/librairi.cpp
index 15e1c8afc1..96110b223e 100644
--- a/pcbnew/librairi.cpp
+++ b/pcbnew/librairi.cpp
@@ -228,8 +228,8 @@ void FOOTPRINT_EDIT_FRAME::Delete_Module_In_Library( const wxString& aLibname )
if( ( lib_module = wxFopen( oldFileName.GetFullPath(), wxT( "rt" ) ) ) == NULL )
{
wxString msg;
- msg.Printf( _( "Library %s not found" ), GetChars(oldFileName.GetFullPath() ) );
- DisplayError( this, msg );
+ msg.Printf( _( "Library <%s> not found" ), GetChars(oldFileName.GetFullPath() ) );
+ DisplayError( NULL, msg );
return;
}
@@ -241,9 +241,9 @@ void FOOTPRINT_EDIT_FRAME::Delete_Module_In_Library( const wxString& aLibname )
{
fclose( lib_module );
wxString msg;
- msg.Printf( _( "%s is not a valid footprint library file" ),
+ msg.Printf( _( "<%s> is not a valid footprint library file" ),
GetChars( oldFileName.GetFullPath() ) );
- DisplayError( this, msg );
+ DisplayError( NULL, msg );
return;
}
@@ -255,7 +255,7 @@ void FOOTPRINT_EDIT_FRAME::Delete_Module_In_Library( const wxString& aLibname )
{
fclose( lib_module );
msg.Printf( _( "Module [%s] not found" ), GetChars( CmpName ) );
- DisplayError( this, msg );
+ DisplayError( NULL, msg );
return;
}
@@ -266,9 +266,8 @@ void FOOTPRINT_EDIT_FRAME::Delete_Module_In_Library( const wxString& aLibname )
if( ( out_file = wxFopen( newFileName.GetFullPath(), wxT( "wt" ) ) ) == NULL )
{
fclose( lib_module );
- wxString msg;
- msg = _( "Unable to create " ) + newFileName.GetFullPath();
- DisplayError( this, msg );
+ msg.Printf( _( "Unable to create %s" ), GetChars( newFileName.GetFullPath() ) );
+ DisplayError( NULL, msg );
return;
}
@@ -328,16 +327,18 @@ void FOOTPRINT_EDIT_FRAME::Delete_Module_In_Library( const wxString& aLibname )
if( !wxRenameFile( oldFileName.GetFullPath(), backupFileName.GetFullPath() ) )
{
- DisplayError( this, _( "Could not create library back up file <" ) +
- backupFileName.GetFullName() + wxT( ">." ) );
+ msg.Printf( _( "Could not create library back up file <%s>." ),
+ GetChars( backupFileName.GetFullName() ) );
+ DisplayError( this, msg );
return;
}
/* The temporary file is renamed as the previous library. */
if( !wxRenameFile( newFileName.GetFullPath(), oldFileName.GetFullPath() ) )
{
- DisplayError( this, _( "Could not create temporary library file <" ) +
- oldFileName.GetFullName() + wxT( ">." ) );
+ msg.Printf( _("Could not create temporary library file <%s>."),
+ GetChars( oldFileName.GetFullName() ) );
+ DisplayError( this, msg );
return;
}
@@ -395,7 +396,8 @@ void PCB_BASE_FRAME::Archive_Modules( const wxString& LibName, bool NewModulesOn
if( ( lib_module = wxFopen( fileName, wxT( "w+t" ) ) ) == NULL )
{
- wxString msg = _( "Unable to create " ) + fileName;
+ wxString msg;
+ msg.Printf( _( "Unable to create <%s>" ), GetChars(fileName) );
DisplayError( this, msg );
return;
}
@@ -456,7 +458,7 @@ bool PCB_BASE_FRAME::Save_Module_In_Library( const wxString& aLibName,
if( !newFileName.FileExists( aLibName ) )
{
- msg.Printf( _( "Library %s not found." ), GetChars( aLibName ) );
+ msg.Printf( _( "Library <%s> not found." ), GetChars( aLibName ) );
DisplayError( this, msg );
return false;
}
@@ -493,7 +495,7 @@ bool PCB_BASE_FRAME::Save_Module_In_Library( const wxString& aLibName,
if( ( lib_module = wxFopen( aLibName, wxT( "rt" ) ) ) == NULL )
{
- msg.Printf( _( "Unable to open %s" ), GetChars( aLibName ) );
+ msg.Printf( _( "Unable to open <%s>" ), GetChars( aLibName ) );
DisplayError( this, msg );
return false;
}
@@ -504,7 +506,7 @@ bool PCB_BASE_FRAME::Save_Module_In_Library( const wxString& aLibName,
if( ! input_lib.IsLibrary() )
{
fclose( lib_module );
- msg.Printf( _( "File %s is not an Eeschema library" ), GetChars( aLibName ) );
+ msg.Printf( _( "File <%s> is not an Eeschema library" ), GetChars( aLibName ) );
DisplayError( this, msg );
return false;
}
@@ -537,7 +539,7 @@ bool PCB_BASE_FRAME::Save_Module_In_Library( const wxString& aLibName,
if( ( dest = wxFopen( newFileName.GetFullPath(), wxT( "w+t" ) ) ) == NULL )
{
fclose( lib_module );
- msg = _( "Unable to create " ) + newFileName.GetFullPath();
+ msg.Printf( _( "Unable to create <%s>" ), GetChars( newFileName.GetFullPath() ) );
DisplayError( this, msg );
return false;
}
@@ -622,22 +624,27 @@ bool PCB_BASE_FRAME::Save_Module_In_Library( const wxString& aLibName,
wxRemoveFile( oldFileName.GetFullPath() );
if( !wxRenameFile( aLibName, oldFileName.GetFullPath() ) )
- DisplayError( this, _( "Could not create library back up file <" ) +
- oldFileName.GetFullName() + wxT( ">." ) );
+ {
+ msg.Printf( _( "Could not create library back up file <%s>." ),
+ GetChars( oldFileName.GetFullName() ) );
+ DisplayError( this, msg );
+ }
/* The new library file is renamed */
if( !wxRenameFile( newFileName.GetFullPath(), aLibName ) )
{
- DisplayError( this, _( "Could not create temporary library file <" ) +
- aLibName + wxT( ">." ) );
+ msg.Printf( _( "Could not create temporary library file <%s>." ),
+ GetChars( aLibName ) );
+ DisplayError( this, msg );
return false;
}
if( aDisplayDialog )
{
- msg = _( "Component " ); msg += Name_Cmp;
- msg += module_exists ? _( " replaced in " ) : _( " added in " );
- msg += aLibName;
+ wxString fmt = module_exists ?
+ _( "Component [%s] replaced in <%s>" ) :
+ _( "Component [%s] added in <%s>" );
+ msg.Printf( fmt, GetChars( Name_Cmp ), GetChars( aLibName ) );
SetStatusText( msg );
}
@@ -753,7 +760,7 @@ int FOOTPRINT_EDIT_FRAME::CreateLibrary( const wxString& aLibName )
if( ( lib_module = wxFopen( fileName.GetFullPath(), wxT( "wt" ) ) ) == NULL )
{
- msg = _( "Unable to create " ) + fileName.GetFullPath();
+ msg.Printf( _( "Unable to create library <%s>" ), GetChars( fileName.GetFullPath() ) );
DisplayError( this, msg );
return -1;
}
diff --git a/pcbnew/menubar_pcbframe.cpp b/pcbnew/menubar_pcbframe.cpp
index 95d40e287f..f3f185840e 100644
--- a/pcbnew/menubar_pcbframe.cpp
+++ b/pcbnew/menubar_pcbframe.cpp
@@ -657,7 +657,7 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
// Contents
AddMenuItem( helpMenu, wxID_HELP,
_( "&Contents" ),
- _( "Open the pcbnew handbook" ),
+ _( "Open the Pcbnew handbook" ),
KiBitmap( online_help_xpm ) );
AddMenuItem( helpMenu, wxID_INDEX,
_( "&Getting Started in KiCad" ),
diff --git a/version.txt b/version.txt
index ade125777c..38ae813006 100644
--- a/version.txt
+++ b/version.txt
@@ -1,4 +1,4 @@
release version:
-2011 aug 04
+2011 oct 15
files (.zip,.tgz):
-kicad-2011-08-04
+kicad-2011-10-15