7
mirror of https://gitlab.com/kicad/code/kicad.git synced 2025-04-14 17:19:35 +00:00

PCM implementation

This commit is contained in:
qu1ck 2020-10-26 03:54:36 -07:00 committed by Seth Hillbrand
parent 4937cd537b
commit 0f7c0e3872
63 changed files with 9429 additions and 110 deletions

View File

@ -146,12 +146,17 @@ option( KICAD_GAL_PROFILE
"Enable profiling info for GAL"
OFF )
option( KICAD_PCM
"Build Plugin and Content Manager"
OFF )
cmake_dependent_option( KICAD_WIN32_INSTALL_PDBS
"Installs debug pdb to the bin folder, DO NOT USE (NOR REQUIRED) FOR DEBUGGING THE SOURCE ON MSVC. This is purely for release building.
MSVC can find the PDBs without this."
OFF "WIN32"
OFF )
# Global setting: exports are explicit
set( CMAKE_CXX_VISIBILITY_PRESET "hidden" )
set( CMAKE_VISIBILITY_INLINES_HIDDEN ON )
@ -881,7 +886,7 @@ set( wxWidgets_REQ_VERSION ${WXPYTHON_WXVERSION} )
# See line 49 of CMakeModules/FindwxWidgets.cmake
set( wxWidgets_CONFIG_OPTIONS ${wxWidgets_CONFIG_OPTIONS} --static=no )
find_package( wxWidgets ${wxWidgets_REQ_VERSION} COMPONENTS gl aui adv html core net base propgrid xml stc REQUIRED )
find_package( wxWidgets ${wxWidgets_REQ_VERSION} COMPONENTS gl aui adv html core net base propgrid xml stc richtext REQUIRED )
# Include wxWidgets macros.
include( ${wxWidgets_USE_FILE} )

View File

@ -36,6 +36,7 @@ string( REGEX MATCH
if( CMAKE_MATCH_COUNT EQUAL 2 )
# Match slot 0 is the full string, so we want slots 1 & 2
set( KICAD_MAJOR_MINOR_VERSION "${CMAKE_MATCH_1}.${CMAKE_MATCH_2}" )
set( KICAD_MAJOR_MINOR_VERSION_TUPLE "{ ${CMAKE_MATCH_1}, ${CMAKE_MATCH_2} }" )
set( KICAD_MAJOR_VERSION "${CMAKE_MATCH_1}" )
set( KICAD_WIN32_RC_FILEVER_STR "${CMAKE_MATCH_1}.${CMAKE_MATCH_2}.0.0\\0" )
set( KICAD_WIN32_RC_FILEVER "${CMAKE_MATCH_1}, ${CMAKE_MATCH_2}, 0, 0" )
@ -54,14 +55,15 @@ set( _wvh_new_version_text
#ifndef __KICAD_VERSION_H__
#define __KICAD_VERSION_H__
#define KICAD_VERSION_FULL \"${KICAD_VERSION_FULL}\"
#define KICAD_SEMANTIC_VERSION \"${KICAD_SEMANTIC_VERSION}\"
#define KICAD_MAJOR_VERSION \"${KICAD_MAJOR_VERSION}\"
#define KICAD_MAJOR_MINOR_VERSION \"${KICAD_MAJOR_MINOR_VERSION}\"
#define KICAD_WIN32_RC_PRODVER ${KICAD_WIN32_RC_PRODVER}
#define KICAD_WIN32_RC_PRODVER_STR \"${KICAD_WIN32_RC_PRODVER_STR}\"
#define KICAD_WIN32_RC_FILEVER ${KICAD_WIN32_RC_FILEVER}
#define KICAD_WIN32_RC_FILEVER_STR \"${KICAD_WIN32_RC_FILEVER_STR}\"
#define KICAD_VERSION_FULL \"${KICAD_VERSION_FULL}\"
#define KICAD_SEMANTIC_VERSION \"${KICAD_SEMANTIC_VERSION}\"
#define KICAD_MAJOR_VERSION \"${KICAD_MAJOR_VERSION}\"
#define KICAD_MAJOR_MINOR_VERSION \"${KICAD_MAJOR_MINOR_VERSION}\"
#define KICAD_MAJOR_MINOR_VERSION_TUPLE ${KICAD_MAJOR_MINOR_VERSION_TUPLE}
#define KICAD_WIN32_RC_PRODVER ${KICAD_WIN32_RC_PRODVER}
#define KICAD_WIN32_RC_PRODVER_STR \"${KICAD_WIN32_RC_PRODVER_STR}\"
#define KICAD_WIN32_RC_FILEVER ${KICAD_WIN32_RC_FILEVER}
#define KICAD_WIN32_RC_FILEVER_STR \"${KICAD_WIN32_RC_FILEVER_STR}\"
#endif /* __KICAD_VERSION_H__ */
" )

View File

@ -280,6 +280,7 @@ set( BMAPS_MID
icon_cvpcb_24
icon_footprint_browser
icon_gerbview_24
icon_pcm_24
import3d
image
import_brd_file
@ -529,6 +530,7 @@ set( BMAPS_BIG
icon_bitmap2component
icon_pagelayout_editor
icon_pcbcalculator
icon_pcm
reannotate_down_left
reannotate_down_right
reannotate_left_down

View File

@ -0,0 +1,71 @@
/* Do not modify this file, it was automatically generated by the
* PNG2cpp CMake script, using a *.png file as input.
*/
#include <bitmaps_png/bitmaps_list.h>
static const unsigned char png[] = {
0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52,
0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18, 0x08, 0x06, 0x00, 0x00, 0x00, 0xe0, 0x77, 0x3d,
0xf8, 0x00, 0x00, 0x03, 0x64, 0x49, 0x44, 0x41, 0x54, 0x48, 0xc7, 0xed, 0x95, 0x5b, 0x68, 0x13,
0x69, 0x18, 0x86, 0x83, 0x87, 0x8b, 0x15, 0xc5, 0x3b, 0xbd, 0xd8, 0x2b, 0xf1, 0x42, 0x30, 0x21,
0xad, 0x8d, 0xa6, 0x93, 0x49, 0x67, 0xfe, 0xff, 0x9f, 0xcc, 0x24, 0x99, 0x26, 0x69, 0x26, 0x87,
0x31, 0xa1, 0xa7, 0xb8, 0x45, 0xc4, 0x43, 0x15, 0x8a, 0xf5, 0x5c, 0xb4, 0xa5, 0xe0, 0xc6, 0x43,
0xab, 0xa2, 0x6e, 0xd4, 0x56, 0x42, 0x77, 0xdb, 0x0a, 0x5a, 0x5b, 0x0f, 0xc8, 0xba, 0x74, 0xad,
0x4a, 0xf1, 0x78, 0x51, 0xa5, 0x55, 0x44, 0xf0, 0x6c, 0x35, 0xb5, 0x9a, 0x63, 0x4d, 0x4a, 0x8d,
0x9b, 0xdf, 0xa4, 0x50, 0x4d, 0x51, 0xb4, 0x6b, 0x7b, 0xa7, 0x1f, 0x3c, 0x17, 0x03, 0xf3, 0xbd,
0x0f, 0x7c, 0x33, 0xf0, 0x4a, 0x24, 0x63, 0x98, 0x8c, 0x0c, 0xd5, 0xaf, 0x40, 0x0d, 0xaa, 0x58,
0x80, 0x1e, 0x24, 0x79, 0x44, 0x93, 0xd0, 0x2d, 0x97, 0xd3, 0x73, 0x24, 0xe3, 0x19, 0x95, 0x4a,
0xf5, 0x0b, 0xa1, 0xd4, 0xb8, 0x54, 0xd9, 0xf0, 0xb1, 0xcd, 0xa0, 0x79, 0xd3, 0x5c, 0x6b, 0x7d,
0xdf, 0x77, 0xb9, 0x10, 0xbf, 0xea, 0x2c, 0xc2, 0x67, 0x0f, 0xd9, 0x12, 0xcb, 0x0a, 0x74, 0x3e,
0x94, 0x83, 0xee, 0x93, 0x04, 0xdc, 0x20, 0x93, 0x65, 0xcf, 0x1e, 0x53, 0xa8, 0x28, 0x8a, 0x93,
0xb3, 0xb2, 0xa0, 0x5e, 0x4d, 0x72, 0x5d, 0xa6, 0x5c, 0xa1, 0xaf, 0x6e, 0x6f, 0xc5, 0x60, 0x73,
0x5d, 0xf5, 0x3b, 0x97, 0xd3, 0xe1, 0xcf, 0xb7, 0x99, 0x02, 0xc7, 0x6a, 0xac, 0x71, 0xdf, 0xa5,
0x22, 0x1c, 0xbc, 0x56, 0x3c, 0x4c, 0x6f, 0x47, 0x21, 0x6e, 0xda, 0x2d, 0xc4, 0x0b, 0x2c, 0xac,
0x8f, 0x83, 0x4c, 0x37, 0xa1, 0x84, 0x4b, 0xe7, 0xcd, 0x53, 0xcf, 0xf8, 0x2c, 0x78, 0xfe, 0x7c,
0xb5, 0x94, 0x83, 0xa8, 0x5e, 0xcf, 0x30, 0x4f, 0xb6, 0x97, 0x1b, 0x03, 0x55, 0x6b, 0x8c, 0x51,
0x33, 0xaf, 0x0d, 0x97, 0x97, 0xba, 0x82, 0xd7, 0xce, 0x1f, 0xc0, 0xb1, 0x67, 0xad, 0xb8, 0xb7,
0xbb, 0x09, 0x1f, 0xde, 0xb3, 0x29, 0x66, 0x31, 0x99, 0xc3, 0xa5, 0x25, 0xe6, 0xc0, 0xbf, 0xde,
0xc5, 0x09, 0xff, 0x95, 0x4f, 0xb2, 0x27, 0xed, 0x85, 0xd8, 0xfb, 0xbb, 0x10, 0xb3, 0xf0, 0xec,
0x4b, 0x0e, 0xc2, 0x4e, 0x45, 0x26, 0x25, 0x28, 0x14, 0x8a, 0xa9, 0x92, 0xcc, 0x0c, 0x2a, 0x64,
0xe1, 0x99, 0xc8, 0xb9, 0x43, 0xf6, 0x8f, 0x2f, 0x8f, 0xd0, 0xd5, 0xe2, 0xc4, 0x5b, 0xd7, 0x98,
0x5e, 0x1b, 0xb4, 0xfa, 0xc8, 0xf6, 0x8a, 0xd2, 0xe8, 0xfd, 0xeb, 0x5e, 0x3c, 0xf8, 0xbc, 0x0d,
0xdf, 0xbd, 0x52, 0x8f, 0x77, 0x56, 0x96, 0x05, 0x05, 0xa3, 0x31, 0x5c, 0xb1, 0x5a, 0x18, 0xb8,
0x79, 0xdc, 0x31, 0x6a, 0xef, 0x7c, 0x9d, 0x88, 0x45, 0x93, 0x66, 0x20, 0x99, 0x1d, 0x93, 0xe8,
0x10, 0xe8, 0xf3, 0x56, 0xa2, 0x77, 0xbf, 0xd9, 0xe0, 0x1b, 0xb3, 0x0e, 0x85, 0x3d, 0x55, 0xe6,
0xa1, 0x87, 0xff, 0x14, 0x8c, 0x5a, 0xe8, 0x4f, 0xde, 0xfd, 0x8c, 0xc7, 0xfe, 0x5f, 0x89, 0x43,
0x1f, 0x72, 0x08, 0xa6, 0x70, 0xa3, 0x67, 0x5b, 0xbc, 0xff, 0xde, 0x31, 0x1c, 0x7d, 0xda, 0x8a,
0x3b, 0xda, 0x6a, 0x13, 0x2b, 0x97, 0x16, 0x07, 0xf2, 0x78, 0x3e, 0xb2, 0xca, 0x95, 0x1b, 0x15,
0x4d, 0x6c, 0xb0, 0xc4, 0xc1, 0x05, 0x5b, 0xf7, 0x9b, 0x12, 0x46, 0x2d, 0xf2, 0x49, 0x78, 0x04,
0x7c, 0x3d, 0xcd, 0x2c, 0x4e, 0x71, 0xc3, 0xcb, 0xe2, 0x03, 0x1b, 0x99, 0x21, 0xa7, 0x11, 0xf8,
0xad, 0xb9, 0x4c, 0xa4, 0xc1, 0x2d, 0xc4, 0x53, 0x77, 0x4e, 0x97, 0xa5, 0x4e, 0x71, 0xa4, 0xda,
0x32, 0x68, 0x33, 0x68, 0xc3, 0x25, 0xf9, 0xf6, 0xd0, 0x8e, 0xca, 0xb2, 0xf8, 0x92, 0xc2, 0x82,
0xa0, 0xd3, 0x2e, 0x86, 0x38, 0xa4, 0x8f, 0x3e, 0xfc, 0xdb, 0x8e, 0x7d, 0x17, 0xc5, 0x61, 0x3e,
0x13, 0xa4, 0x73, 0xf5, 0x28, 0x8b, 0xf7, 0xac, 0x43, 0x51, 0x41, 0x07, 0xc2, 0xc5, 0x56, 0x4d,
0xa4, 0xb9, 0xc6, 0x92, 0x48, 0xff, 0x8b, 0x56, 0x14, 0xe9, 0xfd, 0x06, 0x16, 0x0d, 0x90, 0x04,
0x3b, 0xf4, 0xa2, 0xa7, 0x71, 0xf8, 0x74, 0xf9, 0x76, 0x8b, 0x7f, 0x24, 0xfc, 0x9b, 0x82, 0x74,
0x2e, 0xfc, 0xa1, 0xc1, 0x95, 0xcb, 0x61, 0x84, 0x03, 0xe0, 0xad, 0x16, 0xa1, 0xb7, 0xee, 0x72,
0xfd, 0xc0, 0xad, 0x16, 0xeb, 0x70, 0x48, 0x1e, 0x6f, 0x88, 0xa4, 0xc2, 0xc7, 0x25, 0x18, 0xe1,
0xe0, 0x26, 0x84, 0x1b, 0xdc, 0x46, 0x9c, 0x1e, 0x92, 0x12, 0xa4, 0xbe, 0xc5, 0xa5, 0x33, 0xfb,
0x12, 0x56, 0x43, 0x6e, 0x68, 0xc2, 0x05, 0x1a, 0xc0, 0xc5, 0xec, 0xe6, 0xbc, 0xa0, 0x7b, 0xbd,
0x39, 0xd4, 0xd3, 0x66, 0xc3, 0x13, 0x2e, 0xb8, 0x7d, 0xd2, 0x3a, 0xea, 0x79, 0xc2, 0x05, 0x5f,
0xe3, 0xa7, 0xe0, 0x47, 0x11, 0xa8, 0xb3, 0xa9, 0xc0, 0xd9, 0x5a, 0xcd, 0x84, 0x0b, 0x3a, 0xff,
0x12, 0xb0, 0x3a, 0x1b, 0x04, 0x25, 0x72, 0x39, 0x95, 0x45, 0x93, 0xf4, 0x69, 0x3d, 0xa2, 0x5e,
0x78, 0x36, 0x33, 0x43, 0x5d, 0x7f, 0x7e, 0xbf, 0xe0, 0x59, 0xbb, 0x88, 0x1b, 0x77, 0x1a, 0xe3,
0x79, 0x3a, 0xd4, 0xaf, 0x85, 0xb0, 0x5d, 0x2a, 0xa5, 0x94, 0x1f, 0x4b, 0x47, 0xa1, 0x60, 0x67,
0xe6, 0x10, 0xf4, 0x16, 0x40, 0xd2, 0x4f, 0xd7, 0x2e, 0x41, 0xe1, 0x0e, 0x8f, 0x66, 0xcc, 0x82,
0x3b, 0xa7, 0x6c, 0x78, 0xd7, 0x06, 0x3e, 0xc2, 0xd2, 0xe0, 0x25, 0x45, 0x82, 0x1a, 0xb9, 0x9c,
0x9c, 0xf5, 0xb5, 0xe6, 0x9c, 0x94, 0x99, 0x09, 0x38, 0xa8, 0xa6, 0x2e, 0x0a, 0x3a, 0xba, 0xbf,
0xa1, 0x0a, 0x25, 0xba, 0x9b, 0xbe, 0x2c, 0x68, 0xaf, 0x37, 0x63, 0x97, 0xc8, 0xbe, 0x06, 0x6a,
0x78, 0x67, 0xe1, 0x02, 0xca, 0x09, 0x21, 0x9c, 0xf2, 0xbf, 0x8a, 0x5f, 0x26, 0x23, 0xe7, 0xd2,
0x2a, 0x70, 0x98, 0xc9, 0xa1, 0x7b, 0xab, 0x4b, 0x61, 0xac, 0xb6, 0x1c, 0xe1, 0xba, 0x6a, 0x43,
0xb2, 0x0f, 0x0c, 0x83, 0x3c, 0x83, 0xfa, 0x40, 0x0e, 0x3c, 0x21, 0x97, 0x43, 0x99, 0x64, 0xbc,
0x93, 0xec, 0xd6, 0x69, 0x84, 0x82, 0x5a, 0x4d, 0x2c, 0xa2, 0x7d, 0x84, 0x92, 0x7e, 0x45, 0x28,
0xa9, 0x32, 0xa9, 0x14, 0x4e, 0x1f, 0xcb, 0xee, 0x07, 0xd5, 0xc3, 0xc2, 0xa5, 0x0e, 0x15, 0xa0,
0xc9, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82,
};
const BITMAP_OPAQUE pcm_xpm[1] = {{ png, sizeof( png ), "pcm_xpm" }};
//EOF

View File

@ -0,0 +1,128 @@
/* Do not modify this file, it was automatically generated by the
* PNG2cpp CMake script, using a *.png file as input.
*/
#include <bitmaps_png/bitmaps_list.h>
static const unsigned char png[] = {
0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52,
0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x30, 0x08, 0x06, 0x00, 0x00, 0x00, 0x57, 0x02, 0xf9,
0x87, 0x00, 0x00, 0x06, 0xec, 0x49, 0x44, 0x41, 0x54, 0x68, 0xde, 0xed, 0x9a, 0x69, 0x70, 0x53,
0x55, 0x14, 0xc7, 0x2b, 0x8e, 0x3a, 0x7e, 0x71, 0xfb, 0xa0, 0x7e, 0xd0, 0xf1, 0x03, 0xf8, 0xa1,
0x24, 0x79, 0x69, 0x9b, 0x36, 0xa5, 0x21, 0xef, 0xbd, 0xbc, 0xbc, 0xa4, 0x4d, 0xba, 0x84, 0xb4,
0x4d, 0xe8, 0x5e, 0x84, 0x6a, 0x5b, 0x16, 0x29, 0xd0, 0x82, 0x2c, 0x2a, 0xbb, 0x50, 0x06, 0x11,
0x94, 0x8e, 0x2c, 0x45, 0xa0, 0x2c, 0x05, 0xca, 0x22, 0x9b, 0x45, 0xd9, 0x8b, 0x05, 0x1d, 0x28,
0x02, 0x0a, 0xc3, 0xbe, 0x88, 0x88, 0x88, 0x80, 0x83, 0xb2, 0x68, 0xfb, 0xde, 0xf1, 0x9e, 0xfb,
0xf2, 0x42, 0x87, 0xd2, 0x05, 0xa1, 0x35, 0x32, 0xc9, 0xcc, 0x99, 0xe4, 0x4d, 0x72, 0x73, 0xff,
0xbf, 0x7b, 0xcf, 0x39, 0xf7, 0xe5, 0x9c, 0x84, 0x84, 0xb4, 0xc3, 0x43, 0xab, 0xe5, 0x5e, 0xd5,
0xe9, 0xcc, 0xef, 0x84, 0xe9, 0xd9, 0xc3, 0x7a, 0x3d, 0x7b, 0x9c, 0x5c, 0x8f, 0x09, 0x0d, 0xe5,
0x5e, 0x0f, 0x09, 0xe4, 0x47, 0x97, 0x2e, 0xd1, 0xcf, 0x10, 0xd1, 0xbd, 0x19, 0x1d, 0xbb, 0x43,
0xa7, 0x65, 0x65, 0x9d, 0x8e, 0x95, 0x33, 0xdd, 0x36, 0x39, 0x2b, 0xc5, 0x4e, 0x5e, 0x73, 0xa0,
0xd5, 0xb2, 0x10, 0xc6, 0xb0, 0xfb, 0x08, 0x4c, 0x91, 0x46, 0x63, 0x79, 0x39, 0x20, 0x44, 0x7b,
0xbd, 0xde, 0xc7, 0x89, 0x68, 0x1b, 0x11, 0x57, 0xc1, 0x30, 0xec, 0x4d, 0x14, 0xe9, 0x14, 0xad,
0x0d, 0x1f, 0x8e, 0x70, 0xc1, 0x0f, 0xeb, 0x32, 0xe0, 0xda, 0x9e, 0x5c, 0x6a, 0x27, 0xaa, 0x33,
0x61, 0xce, 0x78, 0x37, 0xa4, 0xbb, 0xed, 0x12, 0x7e, 0x06, 0xe1, 0x88, 0xd5, 0x92, 0xb1, 0xf9,
0x08, 0xde, 0xe1, 0xc2, 0xbb, 0x76, 0xed, 0xae, 0xd1, 0x68, 0xb8, 0xc9, 0x44, 0xf4, 0x15, 0x14,
0x44, 0xdc, 0x44, 0xce, 0x49, 0x8d, 0x85, 0x2f, 0xcb, 0xbd, 0x7e, 0xd1, 0xcd, 0xd9, 0x81, 0xd5,
0x19, 0x80, 0x80, 0x71, 0x56, 0x6b, 0x03, 0x8e, 0x25, 0x3b, 0xf6, 0x17, 0x79, 0x5e, 0x4f, 0x60,
0xbc, 0xe4, 0x4b, 0x9f, 0x6c, 0x37, 0xd1, 0xaa, 0x5f, 0xeb, 0x74, 0xfc, 0x09, 0xea, 0x0e, 0x61,
0x82, 0x54, 0x54, 0x98, 0x07, 0x25, 0x6f, 0xe7, 0x83, 0x28, 0xc4, 0x53, 0x31, 0x11, 0xe1, 0xbc,
0x3c, 0x38, 0xcf, 0x09, 0x9b, 0x08, 0xc8, 0x95, 0xdd, 0xb9, 0xad, 0xc2, 0x7c, 0xb3, 0x2c, 0x0d,
0xc6, 0x14, 0x25, 0x02, 0x6b, 0xb2, 0xa8, 0x30, 0xd7, 0x71, 0x37, 0x71, 0x57, 0xc9, 0x94, 0x9d,
0x1e, 0x58, 0x74, 0x58, 0x98, 0xe5, 0x39, 0x8d, 0xc6, 0x9c, 0xcb, 0x30, 0xdc, 0x4e, 0x75, 0xeb,
0x3d, 0x6e, 0x8f, 0xbc, 0x74, 0xce, 0x58, 0xb8, 0x72, 0x7c, 0x05, 0xdc, 0x3a, 0xbf, 0x86, 0xda,
0xcd, 0x1f, 0x57, 0xc3, 0xee, 0xea, 0x4f, 0x60, 0x54, 0x71, 0x5f, 0x30, 0x46, 0x29, 0x2b, 0xcb,
0x75, 0x17, 0xa4, 0x89, 0xc5, 0x89, 0x50, 0xb7, 0x32, 0xbd, 0x55, 0x10, 0x84, 0xdd, 0x59, 0xd1,
0x13, 0x46, 0xf6, 0x4b, 0x80, 0xc8, 0x08, 0x8e, 0xba, 0x99, 0x9e, 0x61, 0x2f, 0x92, 0x45, 0x9b,
0x41, 0xe6, 0x37, 0xdf, 0x67, 0x30, 0x3a, 0x9f, 0x22, 0x83, 0x92, 0x88, 0xd8, 0x45, 0x24, 0xf8,
0x6e, 0xe3, 0x97, 0x39, 0x88, 0x5f, 0xc7, 0x0a, 0x02, 0xfa, 0x2d, 0x42, 0x40, 0x56, 0xcf, 0x34,
0xb9, 0x72, 0xee, 0x38, 0xb8, 0x7c, 0x6c, 0xb9, 0x1f, 0x42, 0xb5, 0xdf, 0x4f, 0x55, 0xc1, 0xda,
0xc5, 0x93, 0x21, 0xff, 0x8d, 0x1c, 0x0c, 0x5e, 0x19, 0xc7, 0xbb, 0x9d, 0x76, 0x69, 0xd6, 0xb8,
0x1e, 0x70, 0x6a, 0x53, 0x56, 0xab, 0x30, 0xbf, 0xd4, 0xe4, 0xc0, 0x86, 0x59, 0x1e, 0x18, 0xd0,
0xcb, 0x21, 0xeb, 0xf5, 0xca, 0x78, 0xe2, 0xa2, 0x47, 0x31, 0x93, 0x69, 0xb5, 0xa6, 0xce, 0xcd,
0x0a, 0x27, 0xdb, 0x66, 0x40, 0x62, 0xe2, 0xd7, 0x57, 0x71, 0x90, 0xc5, 0x6c, 0xa9, 0xc7, 0xed,
0xdd, 0xbb, 0xe2, 0xce, 0x0a, 0x1e, 0xdb, 0x98, 0x09, 0x33, 0x47, 0xbb, 0x80, 0xc0, 0xd0, 0x55,
0x0e, 0x0f, 0xe3, 0xe5, 0xbe, 0x79, 0xbd, 0x60, 0xc3, 0xd2, 0x52, 0xf8, 0xe3, 0xec, 0xaa, 0x26,
0x30, 0x97, 0x8e, 0x54, 0x02, 0xee, 0x56, 0x86, 0xb7, 0xa7, 0xcf, 0x45, 0x38, 0xe8, 0xe5, 0x8d,
0x85, 0xca, 0x69, 0xc9, 0x70, 0x71, 0x47, 0x4e, 0xab, 0x30, 0xe7, 0xb7, 0x65, 0xd3, 0xcf, 0x92,
0x31, 0x92, 0xba, 0x18, 0xc4, 0x1b, 0xf6, 0x63, 0x26, 0x63, 0x18, 0xd3, 0x8b, 0x3e, 0xdf, 0xc6,
0x00, 0x62, 0xaf, 0xe1, 0x9b, 0xdd, 0xa2, 0xf8, 0x86, 0x51, 0xfd, 0xe2, 0xe9, 0x76, 0x5e, 0xdd,
0xdd, 0x36, 0xff, 0x35, 0x45, 0x2b, 0xfe, 0x1b, 0xd3, 0xcd, 0x26, 0xbf, 0x37, 0xb4, 0x3f, 0xec,
0xd9, 0x34, 0xb3, 0x09, 0x08, 0xda, 0xe1, 0xda, 0x72, 0x98, 0x31, 0x69, 0x98, 0x3f, 0x5e, 0x8c,
0x91, 0xbc, 0x54, 0xfc, 0x96, 0x13, 0x36, 0x7f, 0xe6, 0x6d, 0x75, 0x2e, 0xb4, 0xa3, 0xbe, 0xc5,
0x73, 0xc5, 0x89, 0x74, 0x3c, 0x31, 0xe2, 0x6a, 0xe6, 0xb3, 0x21, 0xbe, 0x0b, 0xc0, 0x5c, 0x8d,
0x39, 0x7b, 0x61, 0x69, 0x32, 0x9c, 0xdb, 0xd2, 0xfa, 0x56, 0xab, 0x76, 0x69, 0x97, 0xba, 0xe5,
0x4e, 0x49, 0xcf, 0x28, 0xab, 0x94, 0xe8, 0x74, 0xc9, 0x28, 0xf6, 0x74, 0xdd, 0xc2, 0x26, 0x20,
0x37, 0xce, 0xad, 0xa6, 0x90, 0x08, 0x6b, 0x88, 0x10, 0xa8, 0xbf, 0xf3, 0x24, 0x5e, 0x26, 0x95,
0x24, 0xc1, 0xa1, 0xcf, 0x33, 0x9a, 0x9d, 0x07, 0xdf, 0x9b, 0x36, 0x32, 0x09, 0x1c, 0x56, 0xab,
0xa4, 0xea, 0xc5, 0x67, 0x0a, 0x30, 0xa4, 0x97, 0x05, 0x46, 0xf7, 0x15, 0x40, 0x34, 0x73, 0xf5,
0x6a, 0xb0, 0xaa, 0x5b, 0xfd, 0x73, 0x1b, 0xb6, 0x5a, 0x35, 0x04, 0x5f, 0x58, 0xea, 0x86, 0x34,
0x97, 0xdd, 0xef, 0x32, 0x24, 0x5e, 0xe0, 0xee, 0xa0, 0x57, 0xed, 0xf2, 0xb1, 0x65, 0xb0, 0x72,
0xfe, 0x04, 0xe8, 0x9d, 0x9d, 0xe5, 0x3f, 0xec, 0x52, 0x12, 0xec, 0x12, 0x9e, 0x19, 0x67, 0x36,
0x67, 0xf9, 0xbf, 0x0f, 0xcf, 0x0f, 0x8c, 0x3d, 0x25, 0x9e, 0x44, 0xa9, 0x6c, 0x74, 0x02, 0x8c,
0x2d, 0x72, 0xdc, 0x01, 0x40, 0xf1, 0xdf, 0x2f, 0xb5, 0x51, 0xfb, 0x62, 0x86, 0x48, 0xaf, 0x79,
0x93, 0x02, 0x13, 0x1e, 0xc6, 0xc9, 0xf9, 0x99, 0x71, 0xb0, 0x7a, 0x66, 0x2a, 0xfc, 0xba, 0xab,
0xed, 0x30, 0xfb, 0xaa, 0xd2, 0x61, 0xc2, 0x90, 0x04, 0x7f, 0x8a, 0x8c, 0x34, 0x08, 0xf2, 0xf0,
0xc1, 0x05, 0x50, 0xb3, 0xfe, 0x63, 0xba, 0x0b, 0x77, 0xc3, 0x9c, 0xde, 0xb7, 0x10, 0x66, 0x4e,
0x19, 0x0e, 0x0e, 0x7b, 0x92, 0x7a, 0xd8, 0xd1, 0x85, 0xc4, 0xd7, 0xf1, 0x36, 0x41, 0x2a, 0x1d,
0xea, 0x84, 0xba, 0x2a, 0x12, 0x3b, 0xdb, 0xbd, 0xd4, 0xf0, 0xfa, 0x9e, 0x00, 0xaa, 0x1d, 0x5c,
0x22, 0x42, 0x55, 0xa9, 0x15, 0x4a, 0x7a, 0x5b, 0x20, 0xc6, 0xc8, 0x51, 0x11, 0xd1, 0x91, 0x1c,
0xf5, 0x5b, 0x74, 0x99, 0xb6, 0xe4, 0x79, 0x35, 0x45, 0x6e, 0x9a, 0xeb, 0x81, 0xa2, 0xde, 0x0e,
0x99, 0x2c, 0x06, 0x15, 0x67, 0xe5, 0x9d, 0xf2, 0xd4, 0xf1, 0xc5, 0x70, 0xa4, 0x76, 0x9e, 0xdf,
0xad, 0x76, 0xae, 0x9b, 0x0e, 0xc3, 0x8a, 0x0a, 0x08, 0xa8, 0xe2, 0x22, 0x24, 0x03, 0x61, 0x22,
0x81, 0xcd, 0xe5, 0x3d, 0xfc, 0xa2, 0x1b, 0x5b, 0xab, 0x00, 0x8d, 0xed, 0xd0, 0x12, 0x1b, 0x54,
0x7e, 0x60, 0x85, 0xc2, 0x74, 0x5e, 0x36, 0x84, 0xb3, 0x74, 0x02, 0xce, 0x24, 0x48, 0x18, 0xc4,
0x6d, 0x09, 0x78, 0xd5, 0x7e, 0x22, 0x59, 0xa5, 0x62, 0x4a, 0x32, 0x64, 0x34, 0x72, 0x09, 0xce,
0x1c, 0x0b, 0x46, 0xa3, 0x48, 0x57, 0xda, 0x18, 0x25, 0x4a, 0x08, 0x81, 0x30, 0x03, 0x0b, 0xfa,
0x40, 0x56, 0xb2, 0x78, 0x4f, 0xf1, 0xf7, 0x0d, 0xd0, 0xd8, 0xea, 0x2a, 0x6c, 0xb0, 0x60, 0xac,
0x00, 0x79, 0x1e, 0x5e, 0x26, 0x87, 0x0d, 0x9d, 0x58, 0xe4, 0x94, 0x20, 0x3c, 0xd8, 0x42, 0x10,
0xaa, 0xf6, 0xdd, 0x2a, 0xe5, 0x56, 0x42, 0x64, 0x95, 0x00, 0xa6, 0x3b, 0x6b, 0x14, 0x69, 0x2a,
0xbe, 0x7e, 0x66, 0xa5, 0xdf, 0xa5, 0x06, 0x16, 0xb6, 0x13, 0x40, 0x63, 0xfb, 0x76, 0xbe, 0x0d,
0xca, 0x46, 0x08, 0x90, 0xe3, 0xe6, 0x25, 0xc6, 0xe7, 0xaf, 0x89, 0x76, 0x51, 0x42, 0x81, 0x47,
0xd6, 0x67, 0xb6, 0x70, 0x33, 0xc7, 0x41, 0x5a, 0x92, 0x55, 0x9e, 0x37, 0x31, 0x01, 0xd2, 0x7b,
0x88, 0xe0, 0x4e, 0x4c, 0x6e, 0x12, 0x13, 0x1d, 0x02, 0xd0, 0xd8, 0x6a, 0xe6, 0x88, 0x30, 0x65,
0xb0, 0x00, 0x3d, 0x62, 0xf9, 0x06, 0x55, 0x24, 0xc9, 0x18, 0x72, 0xb2, 0x53, 0xa4, 0xd9, 0x48,
0xc9, 0x30, 0xd6, 0x06, 0xcc, 0x20, 0x87, 0xd7, 0xa6, 0xfa, 0x85, 0xa0, 0xc8, 0x80, 0x00, 0x68,
0x6c, 0x5b, 0xca, 0x44, 0x18, 0xd7, 0xdf, 0x42, 0x6e, 0xee, 0x58, 0x39, 0x22, 0x9c, 0x93, 0x71,
0xb2, 0xbd, 0xcb, 0x53, 0xee, 0x29, 0x24, 0x20, 0x01, 0x54, 0xeb, 0x99, 0xc0, 0xb7, 0x28, 0xe2,
0x91, 0x03, 0xb8, 0x76, 0x72, 0x05, 0xac, 0xa9, 0x98, 0x04, 0x79, 0xb9, 0xd9, 0xf4, 0x46, 0xb0,
0x20, 0xcb, 0xfe, 0xff, 0x00, 0x10, 0xf8, 0x78, 0x18, 0x3e, 0xa8, 0x10, 0xa2, 0x22, 0x45, 0x1a,
0xe4, 0x9e, 0x04, 0xf1, 0xef, 0xf2, 0x09, 0x89, 0x70, 0xb2, 0x3a, 0x35, 0xf0, 0x01, 0x72, 0x52,
0x44, 0xf0, 0xfd, 0x7e, 0xa8, 0x9f, 0x38, 0xc4, 0x41, 0x62, 0x25, 0xb9, 0xc5, 0xcf, 0x07, 0x1c,
0x00, 0x9e, 0xb4, 0xeb, 0xca, 0x5c, 0x70, 0x61, 0x9b, 0xb7, 0x4d, 0xc2, 0x03, 0x0e, 0xe0, 0xdf,
0x5a, 0x10, 0x20, 0x08, 0x10, 0x04, 0x08, 0x02, 0x04, 0x01, 0x82, 0x00, 0x41, 0x80, 0x20, 0x40,
0x10, 0xe0, 0x11, 0x01, 0xb8, 0x15, 0xae, 0x67, 0xa5, 0xa2, 0x1c, 0x0b, 0x6c, 0xf8, 0xc8, 0x1a,
0xf0, 0x00, 0x5f, 0x2f, 0x76, 0xc3, 0xb0, 0x82, 0x38, 0xf0, 0x15, 0xc9, 0x1a, 0x10, 0x80, 0xd1,
0x6a, 0xb9, 0x79, 0xe4, 0x99, 0xf6, 0x02, 0x52, 0x9d, 0xbc, 0x34, 0xfb, 0x5d, 0x2b, 0x1c, 0x58,
0x1c, 0x38, 0x00, 0xe7, 0xb7, 0x78, 0x60, 0xe9, 0xd4, 0x24, 0x48, 0x73, 0x29, 0x05, 0x30, 0xf2,
0x73, 0xb3, 0x5e, 0xa3, 0x31, 0x2f, 0xd1, 0x68, 0x58, 0xa3, 0xbf, 0x3f, 0x60, 0x30, 0xd8, 0x9e,
0xc5, 0xa6, 0x9b, 0x9e, 0xc1, 0xb6, 0x28, 0x0b, 0x26, 0x23, 0xdb, 0x30, 0xe2, 0x4d, 0x01, 0xb6,
0x7f, 0x2a, 0xfe, 0x67, 0x00, 0x58, 0x7e, 0x99, 0x3e, 0xca, 0x89, 0x25, 0xc6, 0x06, 0x5f, 0xd7,
0xe6, 0x92, 0xd2, 0x9b, 0xb3, 0xbc, 0xd2, 0x52, 0x93, 0xa6, 0x13, 0xf6, 0xa8, 0x74, 0x1a, 0xb6,
0x4a, 0xab, 0x35, 0x4b, 0xd8, 0x32, 0xcd, 0x75, 0xf3, 0xb4, 0xb4, 0x88, 0x25, 0xc6, 0x8e, 0x00,
0xa8, 0xa9, 0x70, 0xc3, 0xa0, 0x3e, 0xb1, 0xa0, 0x56, 0xfe, 0x74, 0x3a, 0xb6, 0x0e, 0x5b, 0x5d,
0x06, 0x83, 0xe1, 0x89, 0xfb, 0x6c, 0xec, 0x99, 0x3a, 0xfb, 0xba, 0x91, 0xb4, 0x01, 0x62, 0x63,
0x39, 0x09, 0x8b, 0x57, 0x7b, 0x17, 0x3c, 0x7c, 0x80, 0x73, 0x5f, 0x79, 0xa0, 0xa2, 0x34, 0x11,
0x5c, 0x71, 0x4a, 0x71, 0x97, 0x61, 0xb8, 0x3f, 0xc9, 0xdc, 0xb3, 0x89, 0xbb, 0xe8, 0x1e, 0x42,
0x13, 0x9b, 0xf6, 0xcd, 0x72, 0xf5, 0x7a, 0xf6, 0x00, 0x2d, 0x95, 0x47, 0xb0, 0xd2, 0xc0, 0x6c,
0x0b, 0x2d, 0xc5, 0x3f, 0x28, 0xc0, 0xbe, 0x15, 0x29, 0x30, 0x7e, 0x90, 0x13, 0xba, 0x19, 0x95,
0x8a, 0x1e, 0x59, 0xac, 0x53, 0x4a, 0x37, 0xd4, 0xfc, 0x7c, 0xbb, 0xb4, 0x5b, 0xb1, 0x97, 0x46,
0x57, 0x46, 0xab, 0x34, 0x00, 0x53, 0x1c, 0x9c, 0x5c, 0xfe, 0xbe, 0x00, 0x07, 0x17, 0xb7, 0x1d,
0xe0, 0xc2, 0x56, 0x0f, 0x6c, 0x9c, 0xe5, 0x82, 0xbc, 0x34, 0x9b, 0xd2, 0x38, 0xd4, 0x52, 0x57,
0xd9, 0x8c, 0xcd, 0x45, 0x32, 0xc5, 0x63, 0x1d, 0xd2, 0xec, 0xd6, 0x6a, 0xa3, 0x5f, 0xc2, 0x95,
0xd2, 0x33, 0xdc, 0x79, 0x04, 0x31, 0x47, 0xb3, 0x12, 0x9e, 0x27, 0xb5, 0xe5, 0xcd, 0x03, 0x9c,
0xac, 0xf6, 0x00, 0xd6, 0x46, 0x45, 0x96, 0x57, 0x8b, 0xbc, 0xbf, 0xa1, 0x8b, 0x86, 0x86, 0x9a,
0x5e, 0xfb, 0x2f, 0xff, 0x71, 0xd0, 0x49, 0x69, 0xcb, 0x72, 0x5b, 0x89, 0x28, 0x59, 0xcf, 0x98,
0xa5, 0x3c, 0x8f, 0x05, 0x56, 0x4e, 0xb1, 0xfa, 0x01, 0x76, 0x2d, 0x22, 0xb9, 0x3b, 0xdf, 0x9f,
0xbb, 0xb1, 0xd8, 0xbb, 0x1f, 0x33, 0x5e, 0x4c, 0x4c, 0xcc, 0xd3, 0x01, 0xf5, 0x87, 0x0f, 0x92,
0x97, 0xbb, 0x92, 0x33, 0xa5, 0x8c, 0xf8, 0xf1, 0x0d, 0x14, 0x1a, 0x15, 0xc1, 0xc9, 0xc6, 0x48,
0x5e, 0xcd, 0xdd, 0xb7, 0xf1, 0xbc, 0x21, 0xef, 0x45, 0x84, 0x04, 0xfa, 0x43, 0xf9, 0xe7, 0x0a,
0x3b, 0xc0, 0xd7, 0xbe, 0xbd, 0x4e, 0x84, 0x97, 0x68, 0x34, 0x31, 0x2f, 0xb4, 0xc7, 0x5c, 0xff,
0x00, 0x9f, 0xf5, 0x05, 0x14, 0xf5, 0x92, 0x8b, 0xd6, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e,
0x44, 0xae, 0x42, 0x60, 0x82,
};
const BITMAP_OPAQUE icon_pcm_xpm[1] = {{ png, sizeof( png ), "icon_pcm_xpm" }};
//EOF

Binary file not shown.

After

(image error) Size: 101 KiB

View File

@ -20,7 +20,8 @@ ICON_FILES="icon_3d.svg
icon_pl_editor.svg
icon_cvpcb.svg
icon_pcbnew.svg
icon_eeschema.svg"
icon_eeschema.svg
icon_pcm.svg"
# convert .svg files into .png files
for fl in $ICON_FILES

Binary file not shown.

After

(image error) Size: 925 B

Binary file not shown.

After

(image error) Size: 925 B

Binary file not shown.

After

(image error) Size: 1.8 KiB

Binary file not shown.

After

(image error) Size: 1.8 KiB

View File

@ -0,0 +1,67 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 64 64" enable-background="new 0 0 64 64" xml:space="preserve">
<g id="XMLID_9_">
<g>
<g>
<g>
<polygon fill="#E7BF55" points="63,12 63,50 32,63 32,23 43.6,18.9 44,19 44,29 52,26 52,16 51.9,15.9 "/>
</g>
</g>
<g>
<g>
<polygon fill="#EFC75E" points="63,12 51.9,15.9 22,5 21.9,4.7 32,1 "/>
</g>
</g>
<g>
<g>
<polygon fill="#F7E3AF" points="52,16 52,26 44,29 44,19 43.6,18.9 51.9,15.9 "/>
</g>
</g>
<g>
<g>
<polygon fill="#F7E3AF" points="51.9,15.9 43.6,18.9 14,8 13.9,7.6 21.9,4.7 22,5 "/>
</g>
</g>
<g>
<g>
<polygon fill="#EFC75E" points="43.6,18.9 32,23 1,12.2 13.9,7.6 14,8 "/>
</g>
</g>
<g>
<g>
<polygon fill="#D3A644" points="32,23 32,63 1,50 1,12.2 "/>
</g>
</g>
</g>
<g>
<g>
<g>
<path fill="#2C2C3D" d="M32,24c-0.1,0-0.2,0-0.3-0.1l-31-10.8c-0.5-0.2-0.8-0.8-0.6-1.3s0.8-0.8,1.3-0.6L32,21.9l30.7-10.9
c0.5-0.2,1.1,0.1,1.3,0.6c0.2,0.5-0.1,1.1-0.6,1.3l-31,11C32.2,24,32.1,24,32,24z"/>
</g>
</g>
<g>
<g>
<path fill="#2C2C3D" d="M32,64c-0.1,0-0.3,0-0.4-0.1l-31-13C0.2,50.8,0,50.4,0,50V12.2c0-0.4,0.3-0.8,0.7-0.9l31-11.2
c0.2-0.1,0.5-0.1,0.7,0l31,11c0.4,0.1,0.7,0.5,0.7,0.9v38c0,0.4-0.2,0.8-0.6,0.9l-31,13C32.3,64,32.1,64,32,64z M2,49.3l30,12.6
l30-12.6V12.7L32,2.1L2,12.9V49.3z"/>
</g>
</g>
<g>
<g>
<path fill="#2C2C3D" d="M32,64c-0.6,0-1-0.4-1-1V23c0-0.6,0.4-1,1-1s1,0.4,1,1v40C33,63.6,32.6,64,32,64z"/>
</g>
</g>
<g>
<g>
<path fill="#2C2C3D" d="M44,30c-0.2,0-0.4-0.1-0.6-0.2C43.2,29.6,43,29.3,43,29v-9.3L13.7,8.9c-0.5-0.2-0.8-0.8-0.6-1.3
c0.2-0.5,0.8-0.8,1.3-0.6l30,11c0.4,0.1,0.7,0.5,0.7,0.9v8.6l6-2.2v-8.6L21.7,5.9c-0.5-0.2-0.8-0.8-0.6-1.3
c0.2-0.5,0.8-0.8,1.3-0.6l30,11c0.4,0.1,0.6,0.5,0.6,0.9v10c0,0.4-0.3,0.8-0.6,0.9l-8,3C44.2,30,44.1,30,44,30z"/>
</g>
</g>
</g>
</g>
</svg>

After

(image error) Size: 2.2 KiB

View File

@ -0,0 +1,67 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 64 64" enable-background="new 0 0 64 64" xml:space="preserve">
<g id="XMLID_9_">
<g>
<g>
<g>
<polygon fill="#E7BF55" points="63,12 63,50 32,63 32,23 43.6,18.9 44,19 44,29 52,26 52,16 51.9,15.9 "/>
</g>
</g>
<g>
<g>
<polygon fill="#EFC75E" points="63,12 51.9,15.9 22,5 21.9,4.7 32,1 "/>
</g>
</g>
<g>
<g>
<polygon fill="#F7E3AF" points="52,16 52,26 44,29 44,19 43.6,18.9 51.9,15.9 "/>
</g>
</g>
<g>
<g>
<polygon fill="#F7E3AF" points="51.9,15.9 43.6,18.9 14,8 13.9,7.6 21.9,4.7 22,5 "/>
</g>
</g>
<g>
<g>
<polygon fill="#EFC75E" points="43.6,18.9 32,23 1,12.2 13.9,7.6 14,8 "/>
</g>
</g>
<g>
<g>
<polygon fill="#D3A644" points="32,23 32,63 1,50 1,12.2 "/>
</g>
</g>
</g>
<g>
<g>
<g>
<path fill="#2C2C3D" d="M32,24c-0.1,0-0.2,0-0.3-0.1l-31-10.8c-0.5-0.2-0.8-0.8-0.6-1.3s0.8-0.8,1.3-0.6L32,21.9l30.7-10.9
c0.5-0.2,1.1,0.1,1.3,0.6c0.2,0.5-0.1,1.1-0.6,1.3l-31,11C32.2,24,32.1,24,32,24z"/>
</g>
</g>
<g>
<g>
<path fill="#2C2C3D" d="M32,64c-0.1,0-0.3,0-0.4-0.1l-31-13C0.2,50.8,0,50.4,0,50V12.2c0-0.4,0.3-0.8,0.7-0.9l31-11.2
c0.2-0.1,0.5-0.1,0.7,0l31,11c0.4,0.1,0.7,0.5,0.7,0.9v38c0,0.4-0.2,0.8-0.6,0.9l-31,13C32.3,64,32.1,64,32,64z M2,49.3l30,12.6
l30-12.6V12.7L32,2.1L2,12.9V49.3z"/>
</g>
</g>
<g>
<g>
<path fill="#2C2C3D" d="M32,64c-0.6,0-1-0.4-1-1V23c0-0.6,0.4-1,1-1s1,0.4,1,1v40C33,63.6,32.6,64,32,64z"/>
</g>
</g>
<g>
<g>
<path fill="#2C2C3D" d="M44,30c-0.2,0-0.4-0.1-0.6-0.2C43.2,29.6,43,29.3,43,29v-9.3L13.7,8.9c-0.5-0.2-0.8-0.8-0.6-1.3
c0.2-0.5,0.8-0.8,1.3-0.6l30,11c0.4,0.1,0.7,0.5,0.7,0.9v8.6l6-2.2v-8.6L21.7,5.9c-0.5-0.2-0.8-0.8-0.6-1.3
c0.2-0.5,0.8-0.8,1.3-0.6l30,11c0.4,0.1,0.6,0.5,0.6,0.9v10c0,0.4-0.3,0.8-0.6,0.9l-8,3C44.2,30,44.1,30,44,30z"/>
</g>
</g>
</g>
</g>
</svg>

After

(image error) Size: 2.2 KiB

View File

@ -0,0 +1,67 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 64 64" enable-background="new 0 0 64 64" xml:space="preserve">
<g id="XMLID_9_">
<g>
<g>
<g>
<polygon fill="#E7BF55" points="63,12 63,50 32,63 32,23 43.6,18.9 44,19 44,29 52,26 52,16 51.9,15.9 "/>
</g>
</g>
<g>
<g>
<polygon fill="#EFC75E" points="63,12 51.9,15.9 22,5 21.9,4.7 32,1 "/>
</g>
</g>
<g>
<g>
<polygon fill="#F7E3AF" points="52,16 52,26 44,29 44,19 43.6,18.9 51.9,15.9 "/>
</g>
</g>
<g>
<g>
<polygon fill="#F7E3AF" points="51.9,15.9 43.6,18.9 14,8 13.9,7.6 21.9,4.7 22,5 "/>
</g>
</g>
<g>
<g>
<polygon fill="#EFC75E" points="43.6,18.9 32,23 1,12.2 13.9,7.6 14,8 "/>
</g>
</g>
<g>
<g>
<polygon fill="#D3A644" points="32,23 32,63 1,50 1,12.2 "/>
</g>
</g>
</g>
<g>
<g>
<g>
<path fill="#2C2C3D" d="M32,24c-0.1,0-0.2,0-0.3-0.1l-31-10.8c-0.5-0.2-0.8-0.8-0.6-1.3s0.8-0.8,1.3-0.6L32,21.9l30.7-10.9
c0.5-0.2,1.1,0.1,1.3,0.6c0.2,0.5-0.1,1.1-0.6,1.3l-31,11C32.2,24,32.1,24,32,24z"/>
</g>
</g>
<g>
<g>
<path fill="#2C2C3D" d="M32,64c-0.1,0-0.3,0-0.4-0.1l-31-13C0.2,50.8,0,50.4,0,50V12.2c0-0.4,0.3-0.8,0.7-0.9l31-11.2
c0.2-0.1,0.5-0.1,0.7,0l31,11c0.4,0.1,0.7,0.5,0.7,0.9v38c0,0.4-0.2,0.8-0.6,0.9l-31,13C32.3,64,32.1,64,32,64z M2,49.3l30,12.6
l30-12.6V12.7L32,2.1L2,12.9V49.3z"/>
</g>
</g>
<g>
<g>
<path fill="#2C2C3D" d="M32,64c-0.6,0-1-0.4-1-1V23c0-0.6,0.4-1,1-1s1,0.4,1,1v40C33,63.6,32.6,64,32,64z"/>
</g>
</g>
<g>
<g>
<path fill="#2C2C3D" d="M44,30c-0.2,0-0.4-0.1-0.6-0.2C43.2,29.6,43,29.3,43,29v-9.3L13.7,8.9c-0.5-0.2-0.8-0.8-0.6-1.3
c0.2-0.5,0.8-0.8,1.3-0.6l30,11c0.4,0.1,0.7,0.5,0.7,0.9v8.6l6-2.2v-8.6L21.7,5.9c-0.5-0.2-0.8-0.8-0.6-1.3
c0.2-0.5,0.8-0.8,1.3-0.6l30,11c0.4,0.1,0.6,0.5,0.6,0.9v10c0,0.4-0.3,0.8-0.6,0.9l-8,3C44.2,30,44.1,30,44,30z"/>
</g>
</g>
</g>
</g>
</svg>

After

(image error) Size: 2.2 KiB

View File

@ -0,0 +1,67 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 64 64" enable-background="new 0 0 64 64" xml:space="preserve">
<g id="XMLID_9_">
<g>
<g>
<g>
<polygon fill="#E7BF55" points="63,12 63,50 32,63 32,23 43.6,18.9 44,19 44,29 52,26 52,16 51.9,15.9 "/>
</g>
</g>
<g>
<g>
<polygon fill="#EFC75E" points="63,12 51.9,15.9 22,5 21.9,4.7 32,1 "/>
</g>
</g>
<g>
<g>
<polygon fill="#F7E3AF" points="52,16 52,26 44,29 44,19 43.6,18.9 51.9,15.9 "/>
</g>
</g>
<g>
<g>
<polygon fill="#F7E3AF" points="51.9,15.9 43.6,18.9 14,8 13.9,7.6 21.9,4.7 22,5 "/>
</g>
</g>
<g>
<g>
<polygon fill="#EFC75E" points="43.6,18.9 32,23 1,12.2 13.9,7.6 14,8 "/>
</g>
</g>
<g>
<g>
<polygon fill="#D3A644" points="32,23 32,63 1,50 1,12.2 "/>
</g>
</g>
</g>
<g>
<g>
<g>
<path fill="#2C2C3D" d="M32,24c-0.1,0-0.2,0-0.3-0.1l-31-10.8c-0.5-0.2-0.8-0.8-0.6-1.3s0.8-0.8,1.3-0.6L32,21.9l30.7-10.9
c0.5-0.2,1.1,0.1,1.3,0.6c0.2,0.5-0.1,1.1-0.6,1.3l-31,11C32.2,24,32.1,24,32,24z"/>
</g>
</g>
<g>
<g>
<path fill="#2C2C3D" d="M32,64c-0.1,0-0.3,0-0.4-0.1l-31-13C0.2,50.8,0,50.4,0,50V12.2c0-0.4,0.3-0.8,0.7-0.9l31-11.2
c0.2-0.1,0.5-0.1,0.7,0l31,11c0.4,0.1,0.7,0.5,0.7,0.9v38c0,0.4-0.2,0.8-0.6,0.9l-31,13C32.3,64,32.1,64,32,64z M2,49.3l30,12.6
l30-12.6V12.7L32,2.1L2,12.9V49.3z"/>
</g>
</g>
<g>
<g>
<path fill="#2C2C3D" d="M32,64c-0.6,0-1-0.4-1-1V23c0-0.6,0.4-1,1-1s1,0.4,1,1v40C33,63.6,32.6,64,32,64z"/>
</g>
</g>
<g>
<g>
<path fill="#2C2C3D" d="M44,30c-0.2,0-0.4-0.1-0.6-0.2C43.2,29.6,43,29.3,43,29v-9.3L13.7,8.9c-0.5-0.2-0.8-0.8-0.6-1.3
c0.2-0.5,0.8-0.8,1.3-0.6l30,11c0.4,0.1,0.7,0.5,0.7,0.9v8.6l6-2.2v-8.6L21.7,5.9c-0.5-0.2-0.8-0.8-0.6-1.3
c0.2-0.5,0.8-0.8,1.3-0.6l30,11c0.4,0.1,0.6,0.5,0.6,0.9v10c0,0.4-0.3,0.8-0.6,0.9l-8,3C44.2,30,44.1,30,44,30z"/>
</g>
</g>
</g>
</g>
</svg>

After

(image error) Size: 2.2 KiB

View File

@ -22,7 +22,6 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
#include <kicad_curl/kicad_curl.h>
#include <kicad_curl/kicad_curl_easy.h>
#include <cstdarg>
@ -37,6 +36,19 @@
#include <pgm_base.h>
struct CURL_PROGRESS
{
KICAD_CURL_EASY* curl;
TRANSFER_CALLBACK callback;
curl_off_t last_run_time;
curl_off_t interval;
CURL_PROGRESS( KICAD_CURL_EASY* c, TRANSFER_CALLBACK cb, curl_off_t i ) :
curl( c ), callback( cb ), last_run_time( 0 ), interval( i )
{
}
};
static size_t write_callback( void* contents, size_t size, size_t nmemb, void* userp )
{
size_t realsize = size * nmemb;
@ -48,9 +60,19 @@ static size_t write_callback( void* contents, size_t size, size_t nmemb, void* u
return realsize;
}
static size_t stream_write_callback( void* contents, size_t size, size_t nmemb, void* userp )
{
size_t realsize = size * nmemb;
KICAD_CURL_EASY::KICAD_CURL_EASY() :
m_headers( nullptr )
std::ostream* p = (std::ostream*) userp;
p->write( (const char*) contents, realsize );
return realsize;
}
KICAD_CURL_EASY::KICAD_CURL_EASY() : m_headers( nullptr )
{
// Call KICAD_CURL::Init() from in here everytime, but only the first time
// will incur any overhead. This strategy ensures that libcurl is never loaded
@ -89,6 +111,7 @@ KICAD_CURL_EASY::KICAD_CURL_EASY() :
user_agent << "/" << GetBuildDate();
setOption<const char*>( CURLOPT_USERAGENT, user_agent.ToStdString().c_str() );
setOption( CURLOPT_ACCEPT_ENCODING, "gzip,deflate" );
}
@ -101,7 +124,7 @@ KICAD_CURL_EASY::~KICAD_CURL_EASY()
}
void KICAD_CURL_EASY::Perform()
int KICAD_CURL_EASY::Perform()
{
if( m_headers )
{
@ -113,12 +136,7 @@ void KICAD_CURL_EASY::Perform()
CURLcode res = curl_easy_perform( m_CURL );
if( res != CURLE_OK )
{
std::string msg = "curl_easy_perform()=";
msg += (int)res; msg += " "; msg += GetErrorText( res ).c_str();
THROW_IO_ERROR( msg );
}
return res;
}
@ -129,15 +147,16 @@ void KICAD_CURL_EASY::SetHeader( const std::string& aName, const std::string& aV
}
template <typename T> int KICAD_CURL_EASY::setOption( int aOption, T aArg )
template <typename T>
int KICAD_CURL_EASY::setOption( int aOption, T aArg )
{
return curl_easy_setopt( m_CURL, (CURLoption)aOption, aArg );
return curl_easy_setopt( m_CURL, (CURLoption) aOption, aArg );
}
const std::string KICAD_CURL_EASY::GetErrorText( int aCode )
{
return curl_easy_strerror( (CURLcode)aCode );
return curl_easy_strerror( (CURLcode) aCode );
}
@ -154,7 +173,7 @@ bool KICAD_CURL_EASY::SetUserAgent( const std::string& aAgent )
bool KICAD_CURL_EASY::SetURL( const std::string& aURL )
{
if( setOption<const char *>( CURLOPT_URL, aURL.c_str() ) == CURLE_OK )
if( setOption<const char*>( CURLOPT_URL, aURL.c_str() ) == CURLE_OK )
{
return true;
}
@ -165,7 +184,7 @@ bool KICAD_CURL_EASY::SetURL( const std::string& aURL )
bool KICAD_CURL_EASY::SetFollowRedirects( bool aFollow )
{
if( setOption<long>( CURLOPT_FOLLOWLOCATION , (aFollow ? 1 : 0) ) == CURLE_OK )
if( setOption<long>( CURLOPT_FOLLOWLOCATION, ( aFollow ? 1 : 0 ) ) == CURLE_OK )
{
return true;
}
@ -183,3 +202,48 @@ std::string KICAD_CURL_EASY::Escape( const std::string& aUrl )
return ret;
}
int KICAD_CURL_EASY::xferinfo( void* p, curl_off_t dltotal, curl_off_t dlnow, curl_off_t ultotal,
curl_off_t ulnow )
{
CURL_PROGRESS* progress = (CURL_PROGRESS*) p;
curl_off_t curtime = 0;
curl_easy_getinfo( progress->curl->m_CURL, CURLINFO_TOTAL_TIME_T, &curtime );
if( curtime - progress->last_run_time >= progress->interval )
{
progress->last_run_time = curtime;
return progress->callback( dltotal, dlnow, ultotal, ulnow );
}
return CURLE_OK;
}
bool KICAD_CURL_EASY::SetTransferCallback( const TRANSFER_CALLBACK& aCallback, size_t aInterval )
{
progress = std::make_unique<CURL_PROGRESS>( this, aCallback, (curl_off_t) aInterval );
setOption( CURLOPT_XFERINFOFUNCTION, xferinfo );
setOption( CURLOPT_XFERINFODATA, progress.get() );
setOption( CURLOPT_NOPROGRESS, 0L );
return true;
}
bool KICAD_CURL_EASY::SetOutputStream( const std::ostream* aOutput )
{
curl_easy_setopt( m_CURL, CURLOPT_WRITEFUNCTION, stream_write_callback );
curl_easy_setopt( m_CURL, CURLOPT_WRITEDATA, (void*) aOutput );
return true;
}
int KICAD_CURL_EASY::GetTransferTotal( uint64_t& aDownloadedBytes ) const
{
curl_off_t dl;
int result = curl_easy_getinfo( m_CURL, CURLINFO_SIZE_DOWNLOAD_T, &dl );
aDownloadedBytes = (uint64_t) dl;
return result;
}

View File

@ -29,6 +29,7 @@
#include <project/project_archiver.h>
#include <reporter.h>
#include <wildcards_and_files_ext.h>
#include <wxstream_helper.h>
#include <wx/log.h>
@ -41,46 +42,6 @@ PROJECT_ARCHIVER::PROJECT_ARCHIVER()
// Unarchive Files code comes from wxWidgets sample/archive/archive.cpp
static bool CopyStreamData( wxInputStream& inputStream, wxOutputStream& outputStream,
wxFileOffset size )
{
wxChar buf[128 * 1024];
int readSize = 128 * 1024;
wxFileOffset copiedData = 0;
for( ; ; )
{
if(size != -1 && copiedData + readSize > size )
readSize = size - copiedData;
inputStream.Read( buf, readSize );
size_t actuallyRead = inputStream.LastRead();
outputStream.Write( buf, actuallyRead );
if( outputStream.LastWrite() != actuallyRead )
{
wxLogError( _( "Failed to output data." ) );
//return false;
}
if( size == -1 )
{
if( inputStream.Eof() )
break;
}
else
{
copiedData += actuallyRead;
if( copiedData >= size )
break;
}
}
return true;
}
bool PROJECT_ARCHIVER::Unarchive( const wxString& aSrcFile, const wxString& aDestDir,
REPORTER& aReporter )
{
@ -113,30 +74,12 @@ bool PROJECT_ARCHIVER::Unarchive( const wxString& aSrcFile, const wxString& aDes
wxString fullname = aDestDir + entry->GetName();
// Ensure the target directory exists and created it if not
// Ensure the target directory exists and create it if not
wxString t_path = wxPathOnly( fullname );
if( !wxDirExists( t_path ) )
{
// To create t_path, we need to create all subdirs from unzipDir
// to t_path.
wxFileName pathToCreate;
pathToCreate.AssignDir( t_path );
pathToCreate.MakeRelativeTo( aDestDir );
// Create the list of subdirs candidates
wxArrayString subDirs;
subDirs = pathToCreate.GetDirs();
pathToCreate.AssignDir( aDestDir );
for( size_t ii = 0; ii < subDirs.Count(); ii++ )
{
pathToCreate.AppendDir( subDirs[ii] );
wxString currPath = pathToCreate.GetPath();
if( !wxDirExists( currPath ) )
wxMkdir( currPath );
}
wxFileName::Mkdir( t_path, wxS_DIR_DEFAULT, wxPATH_MKDIR_FULL );
}
// Directory entries need only be created, not extracted (0 size)

View File

@ -297,6 +297,7 @@ const std::vector<BITMAP_INFO> g_BitmapInfo = {
{ BITMAPS::icon_cvpcb_24, wxT( "icon_cvpcb_24_24.png" ), 24, wxT( "light" ) },
{ BITMAPS::icon_footprint_browser, wxT( "icon_footprint_browser_24.png" ), 24, wxT( "light" ) },
{ BITMAPS::icon_gerbview_24, wxT( "icon_gerbview_24_24.png" ), 24, wxT( "light" ) },
{ BITMAPS::icon_pcm_24, wxT( "icon_pcm_24_24.png" ), 24, wxT( "light" ) },
{ BITMAPS::import3d, wxT( "import3d_24.png" ), 24, wxT( "light" ) },
{ BITMAPS::image, wxT( "image_24.png" ), 24, wxT( "light" ) },
{ BITMAPS::import_brd_file, wxT( "import_brd_file_24.png" ), 24, wxT( "light" ) },
@ -662,6 +663,7 @@ const std::vector<BITMAP_INFO> g_BitmapInfo = {
{ BITMAPS::icon_cvpcb_24, wxT( "icon_cvpcb_24_dark_24.png" ), 24, wxT( "dark" ) },
{ BITMAPS::icon_footprint_browser, wxT( "icon_footprint_browser_dark_24.png" ), 24, wxT( "dark" ) },
{ BITMAPS::icon_gerbview_24, wxT( "icon_gerbview_24_dark_24.png" ), 24, wxT( "dark" ) },
{ BITMAPS::icon_pcm_24, wxT( "icon_pcm_24_dark_24.png" ), 24, wxT( "dark" ) },
{ BITMAPS::import3d, wxT( "import3d_dark_24.png" ), 24, wxT( "dark" ) },
{ BITMAPS::image, wxT( "image_dark_24.png" ), 24, wxT( "dark" ) },
{ BITMAPS::import_brd_file, wxT( "import_brd_file_dark_24.png" ), 24, wxT( "dark" ) },
@ -956,6 +958,7 @@ const std::vector<BITMAP_INFO> g_BitmapInfo = {
{ BITMAPS::icon_bitmap2component, wxT( "icon_bitmap2component_48.png" ), 48, wxT( "light" ) },
{ BITMAPS::icon_pagelayout_editor, wxT( "icon_pagelayout_editor_48.png" ), 48, wxT( "light" ) },
{ BITMAPS::icon_pcbcalculator, wxT( "icon_pcbcalculator_48.png" ), 48, wxT( "light" ) },
{ BITMAPS::icon_pcm, wxT( "icon_pcm_48.png" ), 48, wxT( "light" ) },
{ BITMAPS::reannotate_down_left, wxT( "reannotate_down_left_48.png" ), 48, wxT( "light" ) },
{ BITMAPS::reannotate_down_right, wxT( "reannotate_down_right_48.png" ), 48, wxT( "light" ) },
{ BITMAPS::reannotate_left_down, wxT( "reannotate_left_down_48.png" ), 48, wxT( "light" ) },
@ -978,6 +981,7 @@ const std::vector<BITMAP_INFO> g_BitmapInfo = {
{ BITMAPS::icon_bitmap2component, wxT( "icon_bitmap2component_dark_48.png" ), 48, wxT( "dark" ) },
{ BITMAPS::icon_pagelayout_editor, wxT( "icon_pagelayout_editor_dark_48.png" ), 48, wxT( "dark" ) },
{ BITMAPS::icon_pcbcalculator, wxT( "icon_pcbcalculator_dark_48.png" ), 48, wxT( "dark" ) },
{ BITMAPS::icon_pcm, wxT( "icon_pcm_dark_48.png" ), 48, wxT( "dark" ) },
{ BITMAPS::reannotate_down_left, wxT( "reannotate_down_left_dark_48.png" ), 48, wxT( "dark" ) },
{ BITMAPS::reannotate_down_right, wxT( "reannotate_down_right_dark_48.png" ), 48, wxT( "dark" ) },
{ BITMAPS::reannotate_left_down, wxT( "reannotate_left_down_dark_48.png" ), 48, wxT( "dark" ) },

View File

@ -266,6 +266,8 @@ enum class BITMAPS : unsigned int
icon_pcbnew_16,
icon_pcbnew_24,
icon_pcbnew_32,
icon_pcm,
icon_pcm_24,
image,
import,
import3d,

View File

@ -32,6 +32,10 @@
* so including kicad_curl.h could be needed in a few sources
*/
#include <functional>
#include <kicad_curl/kicad_curl.h>
#include <memory>
#include <ostream>
#include <string>
typedef void CURL;
@ -56,6 +60,10 @@ struct curl_slist;
*/
typedef std::function<int( size_t, size_t, size_t, size_t )> TRANSFER_CALLBACK;
struct CURL_PROGRESS;
class KICAD_CURL_EASY
{
public:
@ -66,10 +74,8 @@ public:
* Function perform
* equivalent to curl_easy_perform. Executes the request
* that was previously setup.
*
* @throw IO_ERROR, if there is a CURL request error
*/
void Perform();
int Perform();
/**
* Function SetHeader
@ -117,18 +123,21 @@ public:
*/
const std::string GetErrorText( int aCode );
int GetTransferTotal( uint64_t& aDownloadedBytes ) const;
/**
* Function GetBuffer
* returns a const reference to the received data buffer
*/
const std::string& GetBuffer()
{
return m_buffer;
}
const std::string& GetBuffer() { return m_buffer; }
/// Escapes a string for use as a URL
std::string Escape( const std::string& aUrl );
bool SetTransferCallback( const TRANSFER_CALLBACK& aCallback, size_t aInterval );
bool SetOutputStream( const std::ostream* aOutput );
private:
/**
* Function setOption
@ -138,12 +147,16 @@ private:
* @param aArg is the argument being passed to CURL, ensure it is the right type per manual
* @return int - a CURL error code, will return CURLE_OK unless a problem was encountered
*/
template <typename T> int setOption( int aOption, T aArg );
template <typename T>
int setOption( int aOption, T aArg );
static int xferinfo( void*, curl_off_t, curl_off_t, curl_off_t, curl_off_t );
CURL* m_CURL;
curl_slist* m_headers;
std::string m_buffer;
CURL* m_CURL;
curl_slist* m_headers;
std::string m_buffer;
std::unique_ptr<CURL_PROGRESS> progress;
};
#endif // KICAD_CURL_EASY_H_

67
include/wxstream_helper.h Normal file
View File

@ -0,0 +1,67 @@
/*
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2020 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 as published by the
* Free Software Foundation, either version 3 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, see <http://www.gnu.org/licenses/>.
*/
#ifndef WXSTREAM_HELPER_H
#define WXSTREAM_HELPER_H
#include <wx/log.h>
#include <wx/wfstream.h>
static bool CopyStreamData( wxInputStream& inputStream, wxOutputStream& outputStream,
wxFileOffset size )
{
wxChar buf[128 * 1024];
int readSize = 128 * 1024;
wxFileOffset copiedData = 0;
for( ; ; )
{
if(size != -1 && copiedData + readSize > size )
readSize = size - copiedData;
inputStream.Read( buf, readSize );
size_t actuallyRead = inputStream.LastRead();
outputStream.Write( buf, actuallyRead );
if( outputStream.LastWrite() != actuallyRead )
{
wxLogError( _("Failed to output data") );
//return false;
}
if( size == -1 )
{
if( inputStream.Eof() )
break;
}
else
{
copiedData += actuallyRead;
if( copiedData >= size )
break;
}
}
return true;
}
#endif // WXSTREAM_HELPER_H

View File

@ -13,6 +13,11 @@ include_directories(
${INC_AFTER}
)
if ( KICAD_PCM )
add_definitions( -DPCM )
add_subdirectory( pcm )
include_directories( ./pcm )
endif ( KICAD_PCM )
set( KICAD_SRCS
dialogs/dialog_template_selector_base.cpp
@ -91,6 +96,10 @@ else()
)
endif()
if( KICAD_PCM )
target_link_libraries( kicad pcm )
endif()
install( TARGETS kicad
DESTINATION ${KICAD_BIN}
COMPONENT binary

View File

@ -136,5 +136,11 @@ void PANEL_KICAD_LAUNCHER::CreateLaunchers()
_( "Edit drawing sheet borders and title blocks for use in schematics and PCB "
"designs" ) );
#ifdef PCM
addLauncher( KICAD_MANAGER_ACTIONS::showPluginManager,
KiBitmap( BITMAPS::icon_pcm, 48 ),
_( "Manage downloadable packages from KiCad and 3rd party repositories" ) );
#endif
Layout();
}

View File

@ -19,7 +19,7 @@
*/
#include "kicad_settings.h"
#include "nlohmann/json.hpp"
#include <nlohmann/json.hpp>
#include <settings/parameters.h>
@ -46,6 +46,7 @@ KICAD_SETTINGS::KICAD_SETTINGS() :
{
js.push_back( nlohmann::json( { { "name", pair.first.ToUTF8() },
{ "url", pair.second.ToUTF8() } } ) );
}
return js;
},

View File

@ -27,7 +27,6 @@
class KICAD_SETTINGS : public APP_SETTINGS_BASE
{
public:
KICAD_SETTINGS();
virtual ~KICAD_SETTINGS() {}
@ -44,7 +43,6 @@ public:
#endif
protected:
virtual std::string getLegacyFrameName() const override { return "KicadFrame"; }
};

Some files were not shown because too many files have changed in this diff Show More