diff --git a/bitmaps/CMakeLists.txt b/bitmaps/CMakeLists.txt
index e567765090..5cd63f4484 100644
--- a/bitmaps/CMakeLists.txt
+++ b/bitmaps/CMakeLists.txt
@@ -138,6 +138,9 @@ set(BITMAP_SRCS
gbr_select_mode0.xpm
gbr_select_mode1.xpm
gbr_select_mode2.xpm
+ gerber_file.xpm
+ gerbview_drill_file.xpm
+ gerbview_clear_layers.xpm
general_deletions.xpm
general_ratsnet.xpm
GLabel2Label.xpm
@@ -273,7 +276,7 @@ set(BITMAP_SRCS
online_help.xpm
Open_Library.xpm
Open_Project.xpm
- open.xpm
+ open_document.xpm
options_all_tracks_and_vias.xpm
Options_All_Tracks.xpm
Options_All_Vias.xpm
diff --git a/bitmaps/gerber_file.xpm b/bitmaps/gerber_file.xpm
new file mode 100644
index 0000000000..ad7cfc5dc6
--- /dev/null
+++ b/bitmaps/gerber_file.xpm
@@ -0,0 +1,38 @@
+/* XPM */
+const char *gerber_file_xpm[] = {
+/* columns rows colors chars-per-pixel */
+"16 16 16 1",
+"* c #44640A",
+". c #FCFEFC",
+"= c #349104",
+"# c #899251",
+"& c #4C3A04",
+": c #BC0807",
+"; c #BC6644",
+"% c #474706",
+" c #BECC8E",
+"o c #D4E2BC",
+"O c #7CC250",
+"+ c #ABC079",
+"$ c #6C7434",
+"@ c #34B50B",
+"- c #BC9C6C",
+"X c #DCE6CC",
+/* pixels */
+" ",
+" ...X .... X... ",
+" ...o .... o... ",
+" O+",
+" + + @@O",
+" +##++@@@ ",
+" + $%%%%@@@+ ",
+" + #%%&*@@= ",
+"-;;;;%&%*@@=$ ",
+":::::&%%=@=%* ",
+"-;;;;%&%**%%$ ",
+" +%&%%%%+ ",
+" +$%%$+ ",
+" ...X .... X... ",
+" ...X .... o... ",
+" "
+};
diff --git a/bitmaps/gerbview_clear_layers.xpm b/bitmaps/gerbview_clear_layers.xpm
new file mode 100644
index 0000000000..6768a9ab8c
--- /dev/null
+++ b/bitmaps/gerbview_clear_layers.xpm
@@ -0,0 +1,38 @@
+/* XPM */
+const char *gerbview_clear_layers_xpm[] = {
+/* columns rows colors chars-per-pixel */
+"16 16 16 1",
+"* c #A02814",
+"@ c #CCC07C",
+"O c #B47B29",
+"+ c #B0AEAD",
+"X c #BCAF6C",
+": c #C2AE4E",
+"o c None",
+"% c #FCEA74",
+" c #B79059",
+"# c #F1DD50",
+"= c #EDD42D",
+"& c #B74031",
+"$ c #D7C451",
+"; c #98968E",
+". c #BD8E37",
+"- c #DBC31E",
+/* pixels */
+" .Xooooooooooooo",
+".O.ooooooo+ooooo",
+" .O oooooooooooo",
+"o.OO+@oooooooooo",
+"o+O.#@ooooooo+oo",
+"oX$%.&&ooooooooo",
+"o@O&&&.$oooooooo",
+"oo**O%#=$@oooooo",
+"ooo$###=-$@ooooo",
+"oooX====--@@oooo",
+"oooX===----#$+oo",
+"oo++---=--=$Xooo",
+"o++;:----$.;;++o",
+"o++;;$$-X:;;;;+o",
+"oo++;X ;;;;;++oo",
+"ooooo+o+++oooooo"
+};
diff --git a/bitmaps/gerbview_drill_file.xpm b/bitmaps/gerbview_drill_file.xpm
new file mode 100644
index 0000000000..713426af30
--- /dev/null
+++ b/bitmaps/gerbview_drill_file.xpm
@@ -0,0 +1,38 @@
+/* XPM */
+const char *gerbview_drill_file_xpm[] = {
+/* columns rows colors chars-per-pixel */
+"16 16 16 1",
+"- c #AC4706",
+"$ c #A68B79",
+"+ c #989898",
+"@ c #548E54",
+": c #97674C",
+"% c #3A3B3A",
+" c None",
+"o c #51B851",
+"= c #8F706A",
+". c #ABB485",
+"& c #504D4D",
+"; c #A1653C",
+"# c #3C911B",
+"* c #5C7A24",
+"X c #0FB30C",
+"O c #AEA9A2",
+/* pixels */
+" .XXXXXooo. ",
+" O +@X######XX ",
+"$%%%&@#******#X.",
+"&%%%&@X*******Xo",
+"&%%%&@X*******Xo",
+" $===@X*******XX",
+" +@X#######XX",
+" oXXXXXXXXXX",
+" ++ -;&&",
+" .+ O-;=:",
+" O .. $-;==",
+" O .. ;-;==",
+" .. O$$$=:",
+" .. +==",
+" O+ $=:",
+" +&&"
+};
diff --git a/bitmaps/open.xpm b/bitmaps/open.xpm
deleted file mode 100644
index 7324351ee5..0000000000
--- a/bitmaps/open.xpm
+++ /dev/null
@@ -1,88 +0,0 @@
-/* XPM */
-#ifndef XPMMAIN
-extern const char *open_xpm[];
-
-#else
-const char * open_xpm[] = {
-"16 16 64 1",
-" c None",
-". c #000000",
-"+ c #E4E5DF",
-"@ c #D5D6CB",
-"# c #D6D7CA",
-"$ c #A3A39D",
-"% c #F5F6F0",
-"& c #8D907B",
-"* c #92957E",
-"= c #90937D",
-"- c #979B84",
-"; c #6D705F",
-"> c #EAECDB",
-", c #8A8C7D",
-"' c #8E917B",
-") c #91947F",
-"! c #8B8E7A",
-"~ c #999B87",
-"{ c #919480",
-"] c #989B86",
-"^ c #B1B4A2",
-"/ c #A2A394",
-"( c #F7F7F7",
-"_ c #878A75",
-": c #666858",
-"< c #4B4D3F",
-"[ c #4D4F40",
-"} c #404135",
-"| c #424337",
-"1 c #434437",
-"2 c #404236",
-"3 c #3C3D32",
-"4 c #48493C",
-"5 c #1A1A16",
-"6 c #C6C6BE",
-"7 c #848672",
-"8 c #25261F",
-"9 c #F1F2E9",
-"0 c #DDE0C7",
-"a c #D6DABB",
-"b c #CDD2AC",
-"c c #C7CCA7",
-"d c #989C80",
-"e c #C6C7BE",
-"f c #5F6152",
-"g c #888980",
-"h c #A7AB8C",
-"i c #878A70",
-"j c #9FA19A",
-"k c #EFF0E5",
-"l c #9EA284",
-"m c #80817B",
-"n c #96968D",
-"o c #E3E5D1",
-"p c #83866D",
-"q c #97998D",
-"r c #EDEFE2",
-"s c #A2A688",
-"t c #767671",
-"u c #E7E9DA",
-"v c #D1D3BD",
-"w c #BBBF9D",
-"x c #989B80",
-"y c #6E715C",
-" ",
-" ",
-" .... ",
-" .+@#$. ",
-" .%&*=-;..... ",
-" .>,')!~{]{^/. ",
-" .(_:<[}||12345 ",
-" .67890abbbbbcd.",
-" .efg0bbbbbbbhi.",
-" .j8kabbbbbbbl. ",
-" .mnobbbbbbbbp. ",
-" .qrbbbbbbbbs. ",
-" .tuvwwwwwwxy. ",
-" ........... ",
-" ",
-" "};
-#endif
diff --git a/bitmaps/open_document.xpm b/bitmaps/open_document.xpm
new file mode 100644
index 0000000000..dca0509740
--- /dev/null
+++ b/bitmaps/open_document.xpm
@@ -0,0 +1,38 @@
+/* XPM */
+const char *open_document_xpm[] = {
+/* columns rows colors chars-per-pixel */
+"16 16 16 1",
+"= c #7EA7D2",
+"- c #546F9C",
+"% c #7C7A8C",
+"@ c #737372",
+"+ c #E1E3E1",
+" c None",
+". c #AEADAE",
+"# c #544A4C",
+"* c #7694C0",
+"O c #969799",
+"; c #4D84C3",
+"$ c #D0D0D0",
+"o c #888988",
+"& c #8188A6",
+": c #485983",
+"X c #A2A4A3",
+/* pixels */
+" . X ",
+"oOO.+XOOOOOOX+. ",
+"@##o+XXXOXXXX$. ",
+"ooo..@@@@@@@@$X ",
+"oo% .X...... .. ",
+"O@o OoooooooXO ",
+"OoX&*X*******&*&",
+"Oo.&===========*",
+"Oo *===========&",
+"OO$&===========&",
+"Xo.*=======*=**.",
+".o%===========& ",
+".O-*****;*;*;*& ",
+" @:;;;;;;;;;;-X ",
+".::::::::::::-. ",
+" ...X...X.... "
+};
diff --git a/bitmaps/sources/gerber_file.svg b/bitmaps/sources/gerber_file.svg
new file mode 100644
index 0000000000..2fcc806e40
--- /dev/null
+++ b/bitmaps/sources/gerber_file.svg
@@ -0,0 +1,373 @@
+
+
+
+
diff --git a/bitmaps/sources/gerbview_clear_layers.svg b/bitmaps/sources/gerbview_clear_layers.svg
new file mode 100644
index 0000000000..c095ab4042
--- /dev/null
+++ b/bitmaps/sources/gerbview_clear_layers.svg
@@ -0,0 +1,554 @@
+
+
+
+
diff --git a/bitmaps/sources/gerbview_drill_file.svg b/bitmaps/sources/gerbview_drill_file.svg
new file mode 100644
index 0000000000..b959105470
--- /dev/null
+++ b/bitmaps/sources/gerbview_drill_file.svg
@@ -0,0 +1,281 @@
+
+
+
+
diff --git a/bitmaps/sources/open_document.svg b/bitmaps/sources/open_document.svg
new file mode 100644
index 0000000000..039c72b01a
--- /dev/null
+++ b/bitmaps/sources/open_document.svg
@@ -0,0 +1,592 @@
+
+
+
+
diff --git a/cvpcb/menubar.cpp b/cvpcb/menubar.cpp
index 8e3b42a15a..1d9e203384 100644
--- a/cvpcb/menubar.cpp
+++ b/cvpcb/menubar.cpp
@@ -35,7 +35,7 @@ void CVPCB_MAINFRAME::ReCreateMenuBar()
item = new wxMenuItem( filesMenu, ID_LOAD_PROJECT,
_( "&Open" ),
_( "Open a net list file" ) );
- item->SetBitmap( open_xpm );
+ item->SetBitmap( open_document_xpm );
filesMenu->Append( item );
/* Open Recent submenu */
diff --git a/cvpcb/tool_cvpcb.cpp b/cvpcb/tool_cvpcb.cpp
index d145ee534d..5b1145dae8 100644
--- a/cvpcb/tool_cvpcb.cpp
+++ b/cvpcb/tool_cvpcb.cpp
@@ -23,7 +23,7 @@ void CVPCB_MAINFRAME::ReCreateHToolbar()
m_HToolBar = new WinEDA_Toolbar( TOOLBAR_MAIN, this, ID_H_TOOLBAR, TRUE );
m_HToolBar->AddTool( ID_CVPCB_READ_INPUT_NETLIST, wxEmptyString,
- wxBitmap( open_xpm ),
+ wxBitmap( open_document_xpm ),
_( "Open a net list file" ) );
m_HToolBar->AddTool( ID_CVPCB_SAVEQUITCVPCB, wxEmptyString,
diff --git a/eeschema/menubar.cpp b/eeschema/menubar.cpp
index ea01834368..63eb2dc474 100644
--- a/eeschema/menubar.cpp
+++ b/eeschema/menubar.cpp
@@ -52,7 +52,7 @@ void SCH_EDIT_FRAME::ReCreateMenuBar()
// Open
item = new wxMenuItem( filesMenu, ID_LOAD_PROJECT, _( "&Open\tCtrl+O" ),
_( "Open an existing schematic project" ) );
- item->SetBitmap( open_xpm );
+ item->SetBitmap( open_document_xpm );
filesMenu->Append( item );
// Open Recent submenu
diff --git a/eeschema/tool_sch.cpp b/eeschema/tool_sch.cpp
index e2febfee77..b5528e59b1 100644
--- a/eeschema/tool_sch.cpp
+++ b/eeschema/tool_sch.cpp
@@ -31,7 +31,7 @@ void SCH_EDIT_FRAME::ReCreateHToolbar()
m_HToolBar->AddTool( ID_NEW_PROJECT, wxEmptyString, wxBitmap( new_xpm ),
_( "New schematic project" ) );
- m_HToolBar->AddTool( ID_LOAD_PROJECT, wxEmptyString, wxBitmap( open_xpm ),
+ m_HToolBar->AddTool( ID_LOAD_PROJECT, wxEmptyString, wxBitmap( open_document_xpm ),
_( "Open schematic project" ) );
m_HToolBar->AddTool( ID_SAVE_PROJECT, wxEmptyString, wxBitmap( save_project_xpm ),
diff --git a/gerbview/menubar.cpp b/gerbview/menubar.cpp
index 0c4e13c791..e1270f7f96 100644
--- a/gerbview/menubar.cpp
+++ b/gerbview/menubar.cpp
@@ -32,17 +32,17 @@ void GERBVIEW_FRAME::ReCreateMenuBar( void )
ADD_MENUITEM_WITH_HELP( filesMenu, wxID_FILE, _( "Load &Gerber File" ),
_(
"Load a new Gerber file on the current layer. Previous data will be deleted" ),
- open_xpm );
+ gerber_file_xpm );
ADD_MENUITEM_WITH_HELP( filesMenu, ID_GERBVIEW_LOAD_DRILL_FILE,
_( "Load &EXCELLON Drill File" ),
_( "Load excellon drill file" ),
- open_xpm );
+ gerbview_drill_file_xpm );
ADD_MENUITEM_WITH_HELP( filesMenu, ID_GERBVIEW_LOAD_DCODE_FILE,
_( "Load &DCodes" ),
_( "Load D-Codes definition file" ),
- open_xpm );
+ open_document_xpm );
// Open Recent submenus
wxMenu* openRecentGbrMenu = new wxMenu();
@@ -64,7 +64,7 @@ void GERBVIEW_FRAME::ReCreateMenuBar( void )
ADD_MENUITEM_WITH_HELP( filesMenu, ID_GERBVIEW_ERASE_ALL,
_( "&Clear All" ),
_( "Clear all layers. All data will be deleted" ),
- delete_body_xpm );
+ gerbview_clear_layers_xpm );
filesMenu->AppendSeparator();
ADD_MENUITEM_WITH_HELP( filesMenu, ID_GERBVIEW_EXPORT_TO_PCBNEW,
diff --git a/gerbview/toolbars_gerber.cpp b/gerbview/toolbars_gerber.cpp
index f1826fa594..3fa8ecb086 100644
--- a/gerbview/toolbars_gerber.cpp
+++ b/gerbview/toolbars_gerber.cpp
@@ -35,12 +35,15 @@ void GERBVIEW_FRAME::ReCreateHToolbar( void )
m_HToolBar = new WinEDA_Toolbar( TOOLBAR_MAIN, this, ID_H_TOOLBAR, TRUE );
// Set up toolbar
- m_HToolBar->AddTool( ID_NEW_BOARD, wxEmptyString, wxBitmap( new_xpm ),
+ m_HToolBar->AddTool( ID_NEW_BOARD, wxEmptyString, wxBitmap( gerbview_clear_layers_xpm ),
_( "Erase all layers" ) );
- m_HToolBar->AddTool( wxID_FILE, wxEmptyString, wxBitmap( open_xpm ),
+ m_HToolBar->AddTool( wxID_FILE, wxEmptyString, wxBitmap( gerber_file_xpm ),
_( "Load a new Gerber file on the current layer. Previous data will be deleted" ) );
+ m_HToolBar->AddTool( ID_GERBVIEW_LOAD_DRILL_FILE, wxEmptyString, wxBitmap( gerbview_drill_file_xpm ),
+ _( "Load an excellon drill file on the current layer. Previous data will be deleted" ) );
+
m_HToolBar->AddSeparator();
m_HToolBar->AddTool( wxID_PRINT, wxEmptyString, wxBitmap( print_button ),
_( "Print layers" ) );
diff --git a/include/bitmaps.h b/include/bitmaps.h
index 408e6ee6b6..c111b6e31c 100644
--- a/include/bitmaps.h
+++ b/include/bitmaps.h
@@ -132,6 +132,9 @@ extern const char* footprint_text_xpm[];
extern const char* gbr_select_mode0_xpm[];
extern const char* gbr_select_mode1_xpm[];
extern const char* gbr_select_mode2_xpm[];
+extern const char* gerbview_drill_file_xpm[];
+extern const char* gerber_file_xpm[];
+extern const char* gerbview_clear_layers_xpm[];
extern const char* general_deletions_xpm[];
extern const char* general_ratsnet_xpm[];
extern const char* glabel2label_xpm[];
@@ -265,9 +268,9 @@ extern const char* new_xpm[];
extern const char* noconn_button[];
extern const char* normal_xpm[];
extern const char* online_help_xpm[];
+extern const char* open_document_xpm[];
extern const char* open_library_xpm[];
extern const char* open_project_xpm[];
-extern const char* open_xpm[];
extern const char* options_all_tracks_and_vias_xpm[];
extern const char* options_all_tracks_xpm[];
extern const char* options_all_vias_xpm[];
diff --git a/pcbnew/menubar_modedit.cpp b/pcbnew/menubar_modedit.cpp
index a74513b505..fd05c48338 100644
--- a/pcbnew/menubar_modedit.cpp
+++ b/pcbnew/menubar_modedit.cpp
@@ -70,7 +70,7 @@ void WinEDA_ModuleEditFrame::ReCreateMenuBar()
/* Append openSubmenu to fileMenu */
ADD_MENUITEM_WITH_HELP_AND_SUBMENU( fileMenu, openSubmenu, -1, _( "&Load Module" ),
- _( "Load a footprint module" ), open_xpm );
+ _( "Load a footprint module" ), open_document_xpm );
/* Save module */
item = new wxMenuItem( fileMenu, ID_MODEDIT_SAVE_LIBMODULE,
diff --git a/pcbnew/menubar_pcbframe.cpp b/pcbnew/menubar_pcbframe.cpp
index e2436943ae..b27b91e09c 100644
--- a/pcbnew/menubar_pcbframe.cpp
+++ b/pcbnew/menubar_pcbframe.cpp
@@ -48,7 +48,7 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
item = new wxMenuItem( filesMenu, ID_LOAD_FILE,
_( "&Open\tCtrl+O" ),
_( "Delete current board and load new board" ) );
- item->SetBitmap( open_xpm );
+ item->SetBitmap( open_document_xpm );
filesMenu->Append( item );
// Load Recent submenu
diff --git a/pcbnew/tool_pcb.cpp b/pcbnew/tool_pcb.cpp
index 46dd42e90f..d8538d0de3 100644
--- a/pcbnew/tool_pcb.cpp
+++ b/pcbnew/tool_pcb.cpp
@@ -193,7 +193,7 @@ void PCB_EDIT_FRAME::ReCreateHToolbar()
// Set up toolbar
m_HToolBar->AddTool( ID_NEW_BOARD, wxEmptyString, wxBitmap( new_xpm ),
_( "New board" ) );
- m_HToolBar->AddTool( ID_LOAD_FILE, wxEmptyString, wxBitmap( open_xpm ),
+ m_HToolBar->AddTool( ID_LOAD_FILE, wxEmptyString, wxBitmap( open_document_xpm ),
_( "Open existing board" ) );
m_HToolBar->AddTool( ID_SAVE_BOARD, wxEmptyString, wxBitmap( save_xpm ),
_( "Save board" ) );