Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
K
kicad-source-mirror
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Commits
Open sidebar
Elphel
kicad-source-mirror
Commits
f26f2c13
Commit
f26f2c13
authored
Dec 29, 2008
by
jerryjacobs
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Code cleaning and tab indenting + about update
parent
348cfa79
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
679 additions
and
524 deletions
+679
-524
about_kicad.cpp
common/about_kicad.cpp
+25
-10
edaappl.cpp
common/edaappl.cpp
+654
-514
No files found.
common/about_kicad.cpp
View file @
f26f2c13
...
...
@@ -58,13 +58,19 @@ InitKiCadAbout( wxAboutDialogInfo& info )
<<
(
wxT
(
" Ansi
\n
"
)
);
#endif
/* Check for wxMSW */
#define FreeBSD
/**************************
* Check Operating System *
**************************/
#if defined __WINDOWS__
description
<<
(
wxT
(
"on Windows"
)
);
/* Check for wxMAC */
# elif defined __WXMAC__
description
<<
(
wxT
(
"
\n
on Macintosch"
)
);
description
<<
(
wxT
(
"on Macintosch"
)
);
/* Linux 64 bits */
# elif defined _LP64 && __LINUX__
...
...
@@ -73,10 +79,19 @@ InitKiCadAbout( wxAboutDialogInfo& info )
/* Linux 32 bits */
# elif defined __LINUX__
description
<<
(
wxT
(
"on 32 Bits GNU/Linux"
)
);
/* OpenBSD */
# elif defined __OpenBSD__
description
<<
(
wxT
(
"on OpenBSD"
)
);
/* FreeBSD */
# elif defined __FreeBSD__
description
<<
(
wxT
(
"on FreeBSD"
)
);
#endif
/* Websites */
description
<<
wxT
(
"
\n\n
KiCad on the web
\n
"
);
description
<<
wxT
(
"
\n\n
KiCad on the web
\n
\n
"
);
description
<<
wxT
(
"http://iut-tice.ujf-grenoble.fr/kicad
\n
"
);
description
<<
wxT
(
"http://kicad.sourceforge.net
\n
"
);
description
<<
wxT
(
"http://www.kicadlib.org"
);
...
...
@@ -113,15 +128,15 @@ InitKiCadAbout( wxAboutDialogInfo& info )
info
.
AddTranslator
(
SetMsg
(
wxT
(
"Polish (PL) Mateusz Skowroński <skowri@gmail.com>"
)
)
);
info
.
AddTranslator
(
SetMsg
(
wxT
(
"Portuguese (PT) Renie Marquet <reniemarquet@uol.com.br>"
)
)
);
info
.
AddTranslator
(
SetMsg
(
wxT
(
"Russian (RU) Igor Plyatov <plyatov@gmail.com>"
)
)
);
info
.
AddTranslator
(
SetMsg
(
wxT
(
"Spanish (ES) Pedro Martin del Valle <pkicad@yahoo.es>"
)
)
);
info
.
AddTranslator
(
SetMsg
(
wxT
(
"Spanish (ES) Iñigo Zuluaga <inigo_zuluaga@yahoo.es>"
)
)
);
/* TODO are these all russian translators, placed them here now TODO
TODO or else align them below other language maintainer with mail adres TODO*/
info
.
AddTranslator
(
SetMsg
(
wxT
(
" Remy Halvick"
)
)
);
info
.
AddTranslator
(
SetMsg
(
wxT
(
" David Briscoe"
)
)
);
info
.
AddTranslator
(
SetMsg
(
wxT
(
" Dominique Laigle"
)
)
);
info
.
AddTranslator
(
SetMsg
(
wxT
(
" Paul Burke"
)
)
);
info
.
AddTranslator
(
SetMsg
(
wxT
(
" Pedro Martin del Valle"
)
)
);
info
.
AddTranslator
(
SetMsg
(
wxT
(
" Iñigo Zuluaga"
)
)
);
info
.
AddTranslator
(
SetMsg
(
wxT
(
"
\n\n
Remy Halvick"
)
)
);
info
.
AddTranslator
(
SetMsg
(
wxT
(
"David Briscoe"
)
)
);
info
.
AddTranslator
(
SetMsg
(
wxT
(
"Dominique Laigle"
)
)
);
info
.
AddTranslator
(
SetMsg
(
wxT
(
"Paul Burke"
)
)
);
/* Add programm credits for icons */
info
.
AddArtist
(
wxT
(
"Icons by Iñigo Zuluaga"
)
);
...
...
common/edaappl.cpp
View file @
f26f2c13
/***************/
/* edaappl.cpp */
/***************/
/*
* ROLE: methodes relative a la classe winEDA_App, communes
/* TODO ENGLISH BRIEF TODO */
/***
* @file edaapl.cpp
* @brief methodes relative a la classe winEDA_App, communes
* aux environements window et linux
*/
***/
#define EDA_BASE
#define COMMON_GLOBL
#ifdef KICAD_PYTHON
#include <pyhandler.h>
#
include <pyhandler.h>
#endif
#include "fctsys.h"
...
...
@@ -27,34 +26,61 @@
#include "bitmaps.h"
#define FONT_DEFAULT_SIZE 10
/* Default font size.
* The real font size will be computed at run time */
#ifdef __UNIX__
# define TMP_FILE "/tmp/kicad.tmp"
#endif
/* A small class to handle the list od existing translations.
/* Just add new languages to the list. This macro will properly recalculate
* the size of the array. */
#define LANGUAGE_DESCR_COUNT ( sizeof( s_Language_List ) / \
sizeof( struct LANGUAGE_DESCR ) )
/* Default font size */
#define FONT_DEFAULT_SIZE 10
/* Default font size. */
/***
* @brief The real font size will be computed at run time
* A small class to handle the list od existing translations.
* the locale translation is automatic.
*
the selection of languages is mainly for mainteners's convenience (tests...)
*
the selection of languages is mainly for mainteners's convenience (tests...)\n
* To add a support to a new tranlation:
* create a new icon (flag of the country) (see Lang_Fr.xpm as an exemple)
* add a new item to s_Language_List[LANGUAGE_DESCR_COUNT]
* and set LANGUAGE_DESCR_COUNT to the new value
*/
struct
LANGUAGE_DESCR
***/
struct
LANGUAGE_DESCR
{
int
m_WX_Lang_Identifier
;
// wxWidget locale identifier (see wxWidget doc)
int
m_KI_Lang_Identifier
;
// kicad identifier used in menu selection (see id.h)
const
char
**
m_Lang_Icon
;
// the icon used in menus
const
wxChar
*
m_Lang_Label
;
// Label used in menus
bool
m_DoNotTranslate
;
// set to true if the m_Lang_Label must not be translated
/* wxWidgets locale identifier (See wxWidgets doc) */
int
m_WX_Lang_Identifier
;
/* KiCad identifier used in menu selection (See id.h) */
int
m_KI_Lang_Identifier
;
/* The menu language icons */
const
char
**
m_Lang_Icon
;
/* Labels used in menus */
const
wxChar
*
m_Lang_Label
;
/* Set to true if the m_Lang_Label must not be translated */
bool
m_DoNotTranslate
;
};
static
struct
LANGUAGE_DESCR
s_Language_List
[]
=
/***
* @brief Language list struct
***/
static
struct
LANGUAGE_DESCR
s_Language_List
[]
=
{
/* Default language */
{
wxLANGUAGE_DEFAULT
,
ID_LANGUAGE_DEFAULT
,
lang_def_xpm
,
_
(
"Default"
)
},
/* English language */
{
wxLANGUAGE_ENGLISH
,
ID_LANGUAGE_ENGLISH
,
...
...
@@ -62,84 +88,112 @@ static struct LANGUAGE_DESCR s_Language_List[] =
wxT
(
"English"
),
true
},
/* French language */
{
wxLANGUAGE_FRENCH
,
ID_LANGUAGE_FRENCH
,
lang_fr_xpm
,
_
(
"French"
)
},
/* Spanish language */
{
wxLANGUAGE_SPANISH
,
ID_LANGUAGE_SPANISH
,
lang_es_xpm
,
_
(
"Spanish"
)
},
/* Portugese language */
{
wxLANGUAGE_PORTUGUESE
,
ID_LANGUAGE_PORTUGUESE
,
lang_pt_xpm
,
_
(
"Portuguese"
)
},
/* Italian language */
{
wxLANGUAGE_ITALIAN
,
ID_LANGUAGE_ITALIAN
,
lang_it_xpm
,
_
(
"Italian"
)
},
/* German language */
{
wxLANGUAGE_GERMAN
,
ID_LANGUAGE_GERMAN
,
lang_de_xpm
,
_
(
"German"
)
},
/* Slovenian language */
{
wxLANGUAGE_SLOVENIAN
,
ID_LANGUAGE_SLOVENIAN
,
lang_sl_xpm
,
_
(
"Slovenian"
)
},
/* Hungarian language */
{
wxLANGUAGE_HUNGARIAN
,
ID_LANGUAGE_HUNGARIAN
,
lang_hu_xpm
,
_
(
"Hungarian"
)
},
/* Polish language */
{
wxLANGUAGE_POLISH
,
ID_LANGUAGE_POLISH
,
lang_pl_xpm
,
_
(
"Polish"
)
},
/* Czech language */
{
wxLANGUAGE_CZECH
,
ID_LANGUAGE_CZECH
,
lang_cs_xpm
,
_
(
"Czech"
)
},
/* Russian language */
{
wxLANGUAGE_RUSSIAN
,
ID_LANGUAGE_RUSSIAN
,
lang_ru_xpm
,
_
(
"Russian"
)
},
/* Korean language */
{
wxLANGUAGE_KOREAN
,
ID_LANGUAGE_KOREAN
,
lang_ko_xpm
,
_
(
"Korean"
)
},
/* Chinese simplified */
{
wxLANGUAGE_CHINESE_SIMPLIFIED
,
ID_LANGUAGE_CHINESE_SIMPLIFIED
,
lang_chinese_xpm
,
_
(
"Chinese simplified"
)
},
/* Catalan language */
{
wxLANGUAGE_CATALAN
,
ID_LANGUAGE_CATALAN
,
lang_catalan_xpm
,
_
(
"Catalan"
)
},
/* Dutch language */
{
wxLANGUAGE_DUTCH
,
ID_LANGUAGE_DUTCH
,
...
...
@@ -148,15 +202,12 @@ static struct LANGUAGE_DESCR s_Language_List[] =
}
};
/* Just add new languages to the list. This macro will properly recalculate
* the size of the array. */
#define LANGUAGE_DESCR_COUNT ( sizeof( s_Language_List ) / \
sizeof( struct LANGUAGE_DESCR ) )
/**************************/
/* WinEDA_App Constructor */
/**************************/
/***
* @brief WinEDA_App Constructor
* @details TODO
* @return none
***/
WinEDA_App
::
WinEDA_App
()
{
m_Checker
=
NULL
;
...
...
@@ -168,15 +219,13 @@ WinEDA_App::WinEDA_App()
m_LanguageId
=
wxLANGUAGE_DEFAULT
;
m_Language_Menu
=
NULL
;
m_Locale
=
NULL
;
m_PdfBrowserIsDefault
=
TRUE
;
}
/*************************/
/* WinEDA_App Destructor */
/*************************/
/***
* @brief WinEDA_App Destructor
***/
WinEDA_App
::~
WinEDA_App
()
{
SaveSettings
();
...
...
@@ -196,9 +245,14 @@ WinEDA_App::~WinEDA_App()
}
/**************************************************/
void
WinEDA_App
::
InitEDA_Appl
(
const
wxString
&
name
)
/***************************************************/
/***
* @brief TODO
* @param name TODO
* @return none
***/
void
WinEDA_App
::
InitEDA_Appl
(
const
wxString
&
name
)
{
wxString
ident
;
wxString
EnvLang
;
...
...
@@ -218,8 +272,8 @@ void WinEDA_App::InitEDA_Appl( const wxString& name )
m_KicadEnv
+=
UNIX_STRING_DIR_SEP
;
}
/* Prepare On Line Help. Use only lower case for help filenames,
* in order to avoid problems with upper/lower case filenames under windows and unix */
/* Prepare On Line Help. Use only lower case for help filenames,
* in order to avoid problems with upper/lower case filenames under windows and unix */
#if defined ONLINE_HELP_FILES_FORMAT_IS_HTML
m_HelpFileName
=
name
.
Lower
()
+
wxT
(
".html"
);
#elif defined ONLINE_HELP_FILES_FORMAT_IS_PDF
...
...
@@ -228,31 +282,49 @@ void WinEDA_App::InitEDA_Appl( const wxString& name )
#error Help files format not defined
#endif
// Init parameters for configuration
/* Init parameters for configuration */
SetVendorName
(
wxT
(
"kicad"
)
);
SetAppName
(
name
);
m_EDA_Config
=
new
wxConfig
(
name
);
m_EDA_CommonConfig
=
new
wxConfig
(
wxT
(
"kicad_common"
)
);
/* Create the fonte
s used in dialogs and messages */
/* Create the font
s used in dialogs and messages */
g_StdFontPointSize
=
FONT_DEFAULT_SIZE
;
g_MsgFontPointSize
=
FONT_DEFAULT_SIZE
;
g_DialogFontPointSize
=
FONT_DEFAULT_SIZE
;
g_FixedFontPointSize
=
FONT_DEFAULT_SIZE
;
g_StdFont
=
new
wxFont
(
g_StdFontPointSize
,
wxFONTFAMILY_ROMAN
,
wxNORMAL
,
wxNORMAL
);
g_MsgFont
=
new
wxFont
(
g_StdFontPointSize
,
wxFONTFAMILY_ROMAN
,
wxNORMAL
,
wxNORMAL
);
g_DialogFont
=
new
wxFont
(
g_DialogFontPointSize
,
wxFONTFAMILY_ROMAN
,
wxNORMAL
,
wxNORMAL
);
g_ItalicFont
=
new
wxFont
(
g_DialogFontPointSize
,
g_StdFont
=
new
wxFont
(
g_StdFontPointSize
,
wxFONTFAMILY_ROMAN
,
wxNORMAL
,
wxNORMAL
);
g_MsgFont
=
new
wxFont
(
g_StdFontPointSize
,
wxFONTFAMILY_ROMAN
,
wxNORMAL
,
wxNORMAL
);
g_DialogFont
=
new
wxFont
(
g_DialogFontPointSize
,
wxFONTFAMILY_ROMAN
,
wxNORMAL
,
wxNORMAL
);
g_ItalicFont
=
new
wxFont
(
g_DialogFontPointSize
,
wxFONTFAMILY_ROMAN
,
wxFONTSTYLE_ITALIC
,
wxNORMAL
);
g_FixedFont
=
new
wxFont
(
g_FixedFontPointSize
,
wxFONTFAMILY_MODERN
,
wxNORMAL
,
wxNORMAL
);
/* installation des gestionnaires de visu d'images (pour help) */
g_FixedFont
=
new
wxFont
(
g_FixedFontPointSize
,
wxFONTFAMILY_MODERN
,
wxNORMAL
,
wxNORMAL
);
/* TODO installation des gestionnaires de visu d'images (pour help) TODO*/
wxImage
::
AddHandler
(
new
wxPNGHandler
);
wxImage
::
AddHandler
(
new
wxGIFHandler
);
wxImage
::
AddHandler
(
new
wxJPEGHandler
);
...
...
@@ -260,7 +332,6 @@ void WinEDA_App::InitEDA_Appl( const wxString& name )
// Analyse the command line & init binary path
SetBinDir
();
ReadPdfBrowserInfos
();
// Internationalisation: loading the kicad suitable Dictionnary
...
...
@@ -272,7 +343,8 @@ void WinEDA_App::InitEDA_Appl( const wxString& name )
{
}
SetLocaleTo_Default
();
// Set locale option for separator used in float numbers
/* Set locale option for separator used in float numbers */
SetLocaleTo_Default
();
#ifdef KICAD_PYTHON
PyHandler
::
GetInstance
()
->
SetAppName
(
name
);
...
...
@@ -280,18 +352,22 @@ void WinEDA_App::InitEDA_Appl( const wxString& name )
}
/***
* @brief Init online help
* @return none
***/
/*****************************************/
void
WinEDA_App
::
InitOnLineHelp
()
void
WinEDA_App
::
InitOnLineHelp
()
/*****************************************/
/* Init On Line Help
*/
{
wxString
fullfilename
=
FindKicadHelpPath
();
#if defined ONLINE_HELP_FILES_FORMAT_IS_HTML
m_HelpFileName
=
fullfilename
+
wxT
(
".html"
);
fullfilename
+=
wxT
(
"kicad.hhp"
);
if
(
wxFileExists
(
fullfilename
)
)
{
m_HtmlCtrl
=
new
wxHtmlHelpController
(
wxHF_TOOLBAR
|
wxHF_CONTENTS
|
...
...
@@ -301,47 +377,56 @@ void WinEDA_App::InitOnLineHelp()
m_HtmlCtrl
->
SetTitleFormat
(
wxT
(
"Kicad Help"
)
);
m_HtmlCtrl
->
AddBook
(
fullfilename
);
}
#elif defined ONLINE_HELP_FILES_FORMAT_IS_PDF
m_HtmlCtrl
=
NULL
;
#else
#error Help files format not defined
#endif
}
/***
* @brief Find the path to the executable and store it in WinEDA_App::m_BinDir
* @return TODO
***/
/*******************************/
bool
WinEDA_App
::
SetBinDir
()
bool
WinEDA_App
::
SetBinDir
()
/*******************************/
// Find the path to the executable and store it in WinEDA_App::m_BinDir
{
/* Apple MacOSx */
#ifdef __APPLE__
// Derive path from location of the app bundle
/* Derive path from location of the app bundle */
CFBundleRef
mainBundle
=
CFBundleGetMainBundle
();
if
(
mainBundle
==
NULL
)
return
false
;
CFURLRef
urlref
=
CFBundleCopyBundleURL
(
mainBundle
);
if
(
urlref
==
NULL
)
return
false
;
CFStringRef
str
=
CFURLCopyFileSystemPath
(
urlref
,
kCFURLPOSIXPathStyle
);
if
(
str
==
NULL
)
return
false
;
char
*
native_str
=
NULL
;
int
len
=
CFStringGetMaximumSizeForEncoding
(
CFStringGetLength
(
str
),
kCFStringEncodingUTF8
)
+
1
;
native_str
=
new
char
[
len
];
CFStringGetCString
(
str
,
native_str
,
len
,
kCFStringEncodingUTF8
);
m_BinDir
=
CONV_FROM_UTF8
(
native_str
);
delete
[]
native_str
;
/* Linux and Unix */
#elif defined (__UNIX__)
// Under Linux, if argv[0] doesn't the complete path to the executable,
// it's necessary to obtain it using "which <filename>".
FILE
*
ftmp
;
#define TMP_FILE "/tmp/kicad.tmp"
char
Line
[
1024
];
char
FileName
[
1024
];
wxString
str_arg0
;
...
...
@@ -353,6 +438,7 @@ bool WinEDA_App::SetBinDir()
{
sprintf
(
FileName
,
"which %s > %s"
,
CONV_TO_UTF8
(
str_arg0
),
TMP_FILE
);
ii
=
system
(
FileName
);
if
(
(
ftmp
=
fopen
(
TMP_FILE
,
"rt"
)
)
!=
NULL
)
{
fgets
(
Line
,
1000
,
ftmp
);
...
...
@@ -363,9 +449,10 @@ bool WinEDA_App::SetBinDir()
}
else
m_BinDir
=
argv
[
0
];
#else
m_BinDir
=
argv
[
0
];
#endif
#endif
/* __UNIX__ */
m_BinDir
.
Replace
(
WIN_STRING_DIR_SEP
,
UNIX_STRING_DIR_SEP
);
while
(
m_BinDir
.
Last
()
!=
'/'
)
...
...
@@ -375,12 +462,14 @@ bool WinEDA_App::SetBinDir()
}
/***
* @brief Get application settings
* @return none
***/
/*********************************/
void
WinEDA_App
::
GetSettings
()
void
WinEDA_App
::
GetSettings
()
/*********************************/
/* Get the last setup used (fontes, files opened...)
*/
{
wxString
Line
,
Ident
;
unsigned
ii
;
...
...
@@ -399,7 +488,7 @@ void WinEDA_App::GetSettings()
if
(
!
m_EDA_Config
)
return
;
/* Last 10 project settings */
for
(
ii
=
0
;
ii
<
10
;
ii
++
)
{
Ident
=
wxT
(
"LastProject"
);
...
...
@@ -411,6 +500,7 @@ void WinEDA_App::GetSettings()
m_LastProject
.
Add
(
Line
);
}
/* Set default font sizes */
g_StdFontPointSize
=
m_EDA_Config
->
Read
(
wxT
(
"SdtFontSize"
),
FONT_DEFAULT_SIZE
);
g_MsgFontPointSize
=
m_EDA_Config
->
Read
(
wxT
(
"MsgFontSize"
),
...
...
@@ -420,27 +510,35 @@ void WinEDA_App::GetSettings()
g_FixedFontPointSize
=
m_EDA_Config
->
Read
(
wxT
(
"FixedFontSize"
),
FONT_DEFAULT_SIZE
);
/* Sdt font type */
Line
=
m_EDA_Config
->
Read
(
wxT
(
"SdtFontType"
),
wxEmptyString
);
if
(
!
Line
.
IsEmpty
()
)
g_StdFont
->
SetFaceName
(
Line
);
/* Sdt font style */
ii
=
m_EDA_Config
->
Read
(
wxT
(
"SdtFontStyle"
),
wxFONTFAMILY_ROMAN
);
g_StdFont
->
SetStyle
(
ii
);
/* Sdt font weight */
ii
=
m_EDA_Config
->
Read
(
wxT
(
"SdtFontWeight"
),
wxNORMAL
);
g_StdFont
->
SetWeight
(
ii
);
g_StdFont
->
SetPointSize
(
g_StdFontPointSize
);
/* Msg font type */
Line
=
m_EDA_Config
->
Read
(
wxT
(
"MsgFontType"
),
wxEmptyString
);
if
(
!
Line
.
IsEmpty
()
)
g_MsgFont
->
SetFaceName
(
Line
);
/* Msg font style */
ii
=
m_EDA_Config
->
Read
(
wxT
(
"MsgFontStyle"
),
wxFONTFAMILY_ROMAN
);
g_MsgFont
->
SetStyle
(
ii
);
/* Msg font weight */
ii
=
m_EDA_Config
->
Read
(
wxT
(
"MsgFontWeight"
),
wxNORMAL
);
g_MsgFont
->
SetWeight
(
ii
);
g_MsgFont
->
SetPointSize
(
g_MsgFontPointSize
);
Line
=
m_EDA_Config
->
Read
(
wxT
(
"DialogFontType"
),
wxEmptyString
);
if
(
!
Line
.
IsEmpty
()
)
g_DialogFont
->
SetFaceName
(
Line
);
...
...
@@ -464,58 +562,87 @@ void WinEDA_App::GetSettings()
}
/***
* @brief Save application settings
* @return none
***/
/**********************************/
void
WinEDA_App
::
SaveSettings
()
void
WinEDA_App
::
SaveSettings
()
/**********************************/
{
unsigned
int
i
i
;
unsigned
int
i
;
if
(
m_EDA_Config
==
NULL
)
return
;
m_EDA_Config
->
Write
(
wxT
(
"SdtFontSize"
),
g_StdFontPointSize
);
m_EDA_Config
->
Write
(
wxT
(
"SdtFontType"
),
g_StdFont
->
GetFaceName
()
);
m_EDA_Config
->
Write
(
wxT
(
"SdtFontStyle"
),
g_StdFont
->
GetStyle
()
);
m_EDA_Config
->
Write
(
wxT
(
"SdtFontWeight"
),
g_StdFont
->
GetWeight
()
);
m_EDA_Config
->
Write
(
wxT
(
"MsgFontSize"
),
g_MsgFontPointSize
);
m_EDA_Config
->
Write
(
wxT
(
"MsgFontType"
),
g_MsgFont
->
GetFaceName
()
);
m_EDA_Config
->
Write
(
wxT
(
"MsgFontStyle"
),
g_MsgFont
->
GetStyle
()
);
m_EDA_Config
->
Write
(
wxT
(
"MsgFontWeight"
),
g_MsgFont
->
GetWeight
()
);
m_EDA_Config
->
Write
(
wxT
(
"DialogFontSize"
),
g_DialogFontPointSize
);
m_EDA_Config
->
Write
(
wxT
(
"DialogFontType"
),
g_DialogFont
->
GetFaceName
()
);
m_EDA_Config
->
Write
(
wxT
(
"DialogFontStyle"
),
g_DialogFont
->
GetStyle
()
);
m_EDA_Config
->
Write
(
wxT
(
"DialogFontWeight"
),
g_DialogFont
->
GetWeight
()
);
m_EDA_Config
->
Write
(
wxT
(
"FixedFontSize"
),
g_FixedFontPointSize
);
m_EDA_Config
->
Write
(
wxT
(
"ShowPageLimits"
),
g_ShowPageLimits
);
m_EDA_Config
->
Write
(
wxT
(
"WorkingDir"
),
wxGetCwd
()
);
for
(
ii
=
0
;
ii
<
10
;
ii
++
)
/* Sdt font settings */
m_EDA_Config
->
Write
(
wxT
(
"SdtFontSize"
),
g_StdFontPointSize
);
m_EDA_Config
->
Write
(
wxT
(
"SdtFontType"
),
g_StdFont
->
GetFaceName
()
);
m_EDA_Config
->
Write
(
wxT
(
"SdtFontStyle"
),
g_StdFont
->
GetStyle
()
);
m_EDA_Config
->
Write
(
wxT
(
"SdtFontWeight"
),
g_StdFont
->
GetWeight
()
);
/* Msg font settings */
m_EDA_Config
->
Write
(
wxT
(
"MsgFontSize"
),
g_MsgFontPointSize
);
m_EDA_Config
->
Write
(
wxT
(
"MsgFontType"
),
g_MsgFont
->
GetFaceName
()
);
m_EDA_Config
->
Write
(
wxT
(
"MsgFontStyle"
),
g_MsgFont
->
GetStyle
()
);
m_EDA_Config
->
Write
(
wxT
(
"MsgFontWeight"
),
g_MsgFont
->
GetWeight
()
);
/* Dialog font settings */
m_EDA_Config
->
Write
(
wxT
(
"DialogFontSize"
),
g_DialogFontPointSize
);
m_EDA_Config
->
Write
(
wxT
(
"DialogFontType"
),
g_DialogFont
->
GetFaceName
()
);
m_EDA_Config
->
Write
(
wxT
(
"DialogFontStyle"
),
g_DialogFont
->
GetStyle
()
);
m_EDA_Config
->
Write
(
wxT
(
"DialogFontWeight"
),
g_DialogFont
->
GetWeight
()
);
/* Misc settings */
m_EDA_Config
->
Write
(
wxT
(
"FixedFontSize"
),
g_FixedFontPointSize
);
m_EDA_Config
->
Write
(
wxT
(
"ShowPageLimits"
),
g_ShowPageLimits
);
m_EDA_Config
->
Write
(
wxT
(
"WorkingDir"
),
wxGetCwd
()
);
/* Save last 10 project list */
for
(
i
=
0
;
i
<
10
;
i
++
)
{
wxString
msg
=
wxT
(
"LastProject"
);
if
(
i
i
)
msg
<<
i
i
;
if
(
i
)
msg
<<
i
;
if
(
i
i
<
m_LastProject
.
GetCount
()
)
m_EDA_Config
->
Write
(
msg
,
m_LastProject
[
i
i
]
);
if
(
i
<
m_LastProject
.
GetCount
()
)
m_EDA_Config
->
Write
(
msg
,
m_LastProject
[
i
]
);
else
m_EDA_Config
->
Write
(
msg
,
wxEmptyString
);
}
}
/*********************************************/
bool
WinEDA_App
::
SetLanguage
(
bool
first_time
)
/*********************************************/
/* Set the dictionary file name for internationalization
/***
* @brief Set the dictionary file name for internationalization
* the files are in kicad/internat/xx or kicad/internat/xx_XX
* and are named kicad.mo
*/
*
* @param first_time TODO
* @return TODO
***/
/*********************************************/
bool
WinEDA_App
::
SetLanguage
(
bool
first_time
)
/*********************************************/
{
wxString
DictionaryName
(
wxT
(
"kicad"
)
);
// dictionary file name without extend (full name is kicad.mo)
wxString
BaseDictionaryPath
(
wxT
(
"internat"
)
);
// Real path is kicad/internat/xx_XX or kicad/internat/xx
...
...
@@ -542,23 +669,27 @@ bool WinEDA_App::SetLanguage( bool first_time )
m_Locale
->
AddCatalog
(
DictionaryName
);
SetLanguageList
(
NULL
);
return
m_Locale
->
IsOk
();
}
/**************************************************/
void
WinEDA_App
::
SetLanguageIdentifier
(
int
menu_id
)
/**************************************************/
/* return in m_LanguageId the wxWidgets language identifier Id
/***
* @brief Return in m_LanguageId the wxWidgets language identifier Id
* from the kicad menu id (internal menu identifier)
*/
* @param menu_id TODO
* @return none
***/
/**************************************************/
void
WinEDA_App
::
SetLanguageIdentifier
(
int
menu_id
)
/**************************************************/
{
unsigned
int
ii
;
wxLogDebug
(
wxT
(
"Select language ID %d from %d possible languages."
),
menu_id
,
LANGUAGE_DESCR_COUNT
);
menu_id
,
LANGUAGE_DESCR_COUNT
);
for
(
ii
=
0
;
ii
<
LANGUAGE_DESCR_COUNT
;
ii
++
)
{
...
...
@@ -571,12 +702,16 @@ void WinEDA_App::SetLanguageIdentifier( int menu_id )
}
/***
* @brief Create menu list for language choice.
* @param MasterMenu TODO
* @return TODO
***/
/*********************************************************/
wxMenu
*
WinEDA_App
::
SetLanguageList
(
wxMenu
*
MasterMenu
)
wxMenu
*
WinEDA_App
::
SetLanguageList
(
wxMenu
*
MasterMenu
)
/*********************************************************/
/* Create menu list for language choice.
*/
{
wxMenuItem
*
item
;
unsigned
int
ii
;
...
...
@@ -589,8 +724,10 @@ wxMenu* WinEDA_App::SetLanguageList( wxMenu* MasterMenu )
wxString
MenuLabel
=
s_Language_List
[
ii
].
m_DoNotTranslate
?
s_Language_List
[
ii
].
m_Lang_Label
:
wxGetTranslation
(
s_Language_List
[
ii
].
m_Lang_Label
);
item
=
new
wxMenuItem
(
m_Language_Menu
,
s_Language_List
[
ii
].
m_KI_Lang_Identifier
,
MenuLabel
,
wxEmptyString
,
wxITEM_CHECK
);
SETBITMAPS
(
s_Language_List
[
ii
].
m_Lang_Icon
);
m_Language_Menu
->
Append
(
item
);
}
...
...
@@ -599,17 +736,17 @@ wxMenu* WinEDA_App::SetLanguageList( wxMenu* MasterMenu )
for
(
ii
=
0
;
ii
<
LANGUAGE_DESCR_COUNT
;
ii
++
)
{
if
(
m_LanguageId
==
s_Language_List
[
ii
].
m_WX_Lang_Identifier
)
m_Language_Menu
->
Check
(
s_Language_List
[
ii
].
m_KI_Lang_Identifier
,
true
);
m_Language_Menu
->
Check
(
s_Language_List
[
ii
].
m_KI_Lang_Identifier
,
true
);
else
m_Language_Menu
->
Check
(
s_Language_List
[
ii
].
m_KI_Lang_Identifier
,
false
);
m_Language_Menu
->
Check
(
s_Language_List
[
ii
].
m_KI_Lang_Identifier
,
false
);
}
if
(
MasterMenu
)
{
ADD_MENUITEM_WITH_HELP_AND_SUBMENU
(
MasterMenu
,
m_Language_Menu
,
ID_LANGUAGE_CHOICE
,
_
(
"Language"
),
ADD_MENUITEM_WITH_HELP_AND_SUBMENU
(
MasterMenu
,
m_Language_Menu
,
ID_LANGUAGE_CHOICE
,
_
(
"Language"
),
_
(
"Select application language (only for testing!)"
),
language_xpm
);
}
...
...
@@ -617,15 +754,18 @@ wxMenu* WinEDA_App::SetLanguageList( wxMenu* MasterMenu )
}
/***
* @brief Run init scripts
* @return TODO
***/
/**********************/
int
WinEDA_App
::
OnRun
()
int
WinEDA_App
::
OnRun
()
/**********************/
/* Run init scripts
*/
{
#
ifdef KICAD_PYTHON
#
ifdef KICAD_PYTHON
PyHandler
::
GetInstance
()
->
RunScripts
();
#
endif
#
endif
return
wxApp
::
OnRun
();
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment