made GetAssociatedDocument() compatible with last changes in kicad path handling.
This commit is contained in:
parent
6e54ec713d
commit
e719b42e1f
|
@ -10,6 +10,10 @@ email address.
|
||||||
fixed: bug 2738052 (Delete tool does not delete zones outlines)
|
fixed: bug 2738052 (Delete tool does not delete zones outlines)
|
||||||
++eeschema:
|
++eeschema:
|
||||||
fixed: void history file list in menu
|
fixed: void history file list in menu
|
||||||
|
++All:
|
||||||
|
made GetAssociatedDocument() compatible with last changes in kicad path handling.
|
||||||
|
Get PDF doc associated with a component now works
|
||||||
|
Some work still needed.
|
||||||
|
|
||||||
2009-apr-06 UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr>
|
2009-apr-06 UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr>
|
||||||
================================================================================
|
================================================================================
|
||||||
|
|
|
@ -259,15 +259,6 @@ void WinEDA_BasicFrame::GetKicadHelp( wxCommandEvent& event )
|
||||||
}
|
}
|
||||||
|
|
||||||
#elif defined ONLINE_HELP_FILES_FORMAT_IS_PDF
|
#elif defined ONLINE_HELP_FILES_FORMAT_IS_PDF
|
||||||
// wxString fullfilename = FindKicadHelpPath() + wxGetApp().m_HelpFileName;
|
|
||||||
// if ( wxFileExists(fullfilename) )
|
|
||||||
// GetAssociatedDocument( this, wxEmptyString, fullfilename );
|
|
||||||
// else // Try to find file in English format:
|
|
||||||
// {
|
|
||||||
// fullfilename = FindKicadHelpPath() + wxT("../en/") + wxGetApp().m_HelpFileName;;
|
|
||||||
// GetAssociatedDocument( this, wxEmptyString, fullfilename );
|
|
||||||
// }
|
|
||||||
|
|
||||||
wxString helpFile = wxGetApp().GetHelpFile();
|
wxString helpFile = wxGetApp().GetHelpFile();
|
||||||
if( !helpFile )
|
if( !helpFile )
|
||||||
{
|
{
|
||||||
|
@ -276,7 +267,7 @@ void WinEDA_BasicFrame::GetKicadHelp( wxCommandEvent& event )
|
||||||
DisplayError( this, msg );
|
DisplayError( this, msg );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
GetAssociatedDocument( this, wxEmptyString, helpFile );
|
GetAssociatedDocument( this, helpFile );
|
||||||
|
|
||||||
#else
|
#else
|
||||||
# error Help files format not defined
|
# error Help files format not defined
|
||||||
|
|
|
@ -71,21 +71,20 @@ static const wxFileTypeInfo EDAfallbacks[] =
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
/********************************************************************/
|
/** Function GetAssociatedDocument
|
||||||
bool GetAssociatedDocument( wxFrame* frame, const wxString& LibPath,
|
* open a document (file) with the suitable browser
|
||||||
const wxString& DocName )
|
* @param aFrame = main frame
|
||||||
/*********************************************************************/
|
|
||||||
|
|
||||||
/* Launch the viewer for the doc file DocName (mime type)
|
|
||||||
* LibPath is the doc file search path:
|
|
||||||
* (kicad/library)
|
|
||||||
* DocName is the short filename with ext. Wildcarts are allowed
|
|
||||||
* Seach file is made in LibPath/doc/DocName
|
|
||||||
*
|
|
||||||
* if DocName is starting by http: or ftp: or www. the default internet browser is launched
|
* if DocName is starting by http: or ftp: or www. the default internet browser is launched
|
||||||
*/
|
* @param aDocName = filename of file to open (Full filename or short filename)
|
||||||
|
* @param aPaths = a wxPathList to explore.
|
||||||
|
* if NULL or aDocName is a full filename, aPath is not used.
|
||||||
|
*/
|
||||||
|
bool GetAssociatedDocument( wxFrame* aFrame,
|
||||||
|
const wxString& aDocName,
|
||||||
|
const wxPathList* aPaths)
|
||||||
|
|
||||||
{
|
{
|
||||||
wxString docpath, fullfilename, file_ext;
|
wxString fullfilename, file_ext;
|
||||||
wxString msg;
|
wxString msg;
|
||||||
wxString command;
|
wxString command;
|
||||||
bool success = FALSE;
|
bool success = FALSE;
|
||||||
|
@ -95,20 +94,19 @@ bool GetAssociatedDocument( wxFrame* frame, const wxString& LibPath,
|
||||||
|
|
||||||
for( int ii = 0; ii < 3; ii++ )
|
for( int ii = 0; ii < 3; ii++ )
|
||||||
{
|
{
|
||||||
if( DocName.First( url_header[ii] ) == 0 ) //. seems an internet url
|
if( aDocName.First( url_header[ii] ) == 0 ) //. seems an internet url
|
||||||
{
|
{
|
||||||
wxLaunchDefaultBrowser( DocName );
|
wxLaunchDefaultBrowser( aDocName );
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Compute the full file name */
|
/* Compute the full file name */
|
||||||
if( wxIsAbsolutePath( DocName ) )
|
if( wxIsAbsolutePath( aDocName ) || aPaths == NULL)
|
||||||
fullfilename = DocName;
|
fullfilename = aDocName;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
docpath = LibPath + wxT( "doc/" );
|
fullfilename = aPaths->FindValidPath( aDocName );
|
||||||
fullfilename = docpath + DocName;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef __WINDOWS__
|
#ifdef __WINDOWS__
|
||||||
|
@ -132,7 +130,7 @@ bool GetAssociatedDocument( wxFrame* frame, const wxString& LibPath,
|
||||||
fullfilename, /* nom fichier par defaut */
|
fullfilename, /* nom fichier par defaut */
|
||||||
extension, /* extension par defaut */
|
extension, /* extension par defaut */
|
||||||
mask, /* Masque d'affichage */
|
mask, /* Masque d'affichage */
|
||||||
frame, /* parent frame */
|
aFrame, /* parent frame */
|
||||||
wxFD_OPEN, /* wxSAVE, wxFD_OPEN ..*/
|
wxFD_OPEN, /* wxSAVE, wxFD_OPEN ..*/
|
||||||
TRUE, /* true = ne change pas le repertoire courant */
|
TRUE, /* true = ne change pas le repertoire courant */
|
||||||
wxPoint( -1, -1 )
|
wxPoint( -1, -1 )
|
||||||
|
@ -145,7 +143,7 @@ bool GetAssociatedDocument( wxFrame* frame, const wxString& LibPath,
|
||||||
{
|
{
|
||||||
msg = _( "Doc File " );
|
msg = _( "Doc File " );
|
||||||
msg << wxT("\"") << fullfilename << wxT("\"") << _( " not found" );
|
msg << wxT("\"") << fullfilename << wxT("\"") << _( " not found" );
|
||||||
DisplayError( frame, msg );
|
DisplayError( aFrame, msg );
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -186,7 +184,7 @@ bool GetAssociatedDocument( wxFrame* frame, const wxString& LibPath,
|
||||||
{
|
{
|
||||||
msg.Printf( _( "Unknown MIME type for doc file <%s>" ),
|
msg.Printf( _( "Unknown MIME type for doc file <%s>" ),
|
||||||
fullfilename.GetData() );
|
fullfilename.GetData() );
|
||||||
DisplayError( frame, msg );
|
DisplayError( aFrame, msg );
|
||||||
}
|
}
|
||||||
|
|
||||||
return success;
|
return success;
|
||||||
|
|
|
@ -540,6 +540,16 @@ void WinEDA_App::SetDefaultSearchPaths( void )
|
||||||
m_libSearchPaths.Add( fn.GetPath() );
|
m_libSearchPaths.Add( fn.GetPath() );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Add schematic doc file path (library/doc)to search path list. */
|
||||||
|
fn.AppendDir( wxT( "doc") );
|
||||||
|
if( fn.IsDirReadable() )
|
||||||
|
{
|
||||||
|
wxLogDebug( wxT( "Adding <%s> to library search path list" ),
|
||||||
|
fn.GetPath().c_str() );
|
||||||
|
m_libSearchPaths.Add( fn.GetPath() );
|
||||||
|
}
|
||||||
|
fn.RemoveLastDir();
|
||||||
|
|
||||||
/* Add kicad template file path to search path list. */
|
/* Add kicad template file path to search path list. */
|
||||||
fn.RemoveLastDir();
|
fn.RemoveLastDir();
|
||||||
fn.AppendDir( wxT( "template" ) );
|
fn.AppendDir( wxT( "template" ) );
|
||||||
|
|
|
@ -521,7 +521,7 @@ void WinEDA_CvpcbFrame::DisplayDocFile( wxCommandEvent& event )
|
||||||
else
|
else
|
||||||
fullfilename = FindKicadHelpPath() + wxT( "../" ) + DocModuleFileName;
|
fullfilename = FindKicadHelpPath() + wxT( "../" ) + DocModuleFileName;
|
||||||
|
|
||||||
GetAssociatedDocument( this, wxEmptyString, fullfilename );
|
GetAssociatedDocument( this, fullfilename );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -494,7 +494,7 @@ void WinEDA_LibeditFrame::Process_Special_Functions( wxCommandEvent& event )
|
||||||
docfilename = CurrentLibEntry->m_DocFile;
|
docfilename = CurrentLibEntry->m_DocFile;
|
||||||
|
|
||||||
if( !docfilename.IsEmpty() )
|
if( !docfilename.IsEmpty() )
|
||||||
GetAssociatedDocument( this, g_RealLibDirBuffer, docfilename );
|
GetAssociatedDocument( this, docfilename, & wxGetApp().GetLibraryPathList() );
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
|
|
||||||
#include "fctsys.h"
|
#include "fctsys.h"
|
||||||
#include "gr_basic.h"
|
#include "gr_basic.h"
|
||||||
|
#include "appl_wxstruct.h"
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
#include "class_drawpanel.h"
|
#include "class_drawpanel.h"
|
||||||
#include "confirm.h"
|
#include "confirm.h"
|
||||||
|
@ -619,9 +620,8 @@ void WinEDA_SchematicFrame::Process_Special_Functions( wxCommandEvent& event )
|
||||||
wxEmptyString, FIND_ALIAS );
|
wxEmptyString, FIND_ALIAS );
|
||||||
if( LibEntry && LibEntry->m_DocFile != wxEmptyString )
|
if( LibEntry && LibEntry->m_DocFile != wxEmptyString )
|
||||||
{
|
{
|
||||||
GetAssociatedDocument( this,
|
GetAssociatedDocument( this, LibEntry->m_DocFile ,
|
||||||
g_RealLibDirBuffer,
|
& wxGetApp().GetLibraryPathList() );
|
||||||
LibEntry->m_DocFile );
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
#include "fctsys.h"
|
#include "fctsys.h"
|
||||||
#include "gr_basic.h"
|
#include "gr_basic.h"
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
|
#include "appl_wxstruct.h"
|
||||||
#include "class_drawpanel.h"
|
#include "class_drawpanel.h"
|
||||||
#include "confirm.h"
|
#include "confirm.h"
|
||||||
#include "eda_doc.h"
|
#include "eda_doc.h"
|
||||||
|
@ -59,9 +60,8 @@ void WinEDA_ViewlibFrame::Process_Special_Functions( wxCommandEvent& event )
|
||||||
LibEntry = FindLibPart( g_CurrentViewComponentName.GetData(),
|
LibEntry = FindLibPart( g_CurrentViewComponentName.GetData(),
|
||||||
g_CurrentViewLibraryName.GetData(), FIND_ALIAS );
|
g_CurrentViewLibraryName.GetData(), FIND_ALIAS );
|
||||||
if( LibEntry && ( !LibEntry->m_DocFile.IsEmpty() ) )
|
if( LibEntry && ( !LibEntry->m_DocFile.IsEmpty() ) )
|
||||||
GetAssociatedDocument( this,
|
GetAssociatedDocument( this, LibEntry->m_DocFile,
|
||||||
g_RealLibDirBuffer,
|
& wxGetApp().GetLibraryPathList());
|
||||||
LibEntry->m_DocFile );
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ID_LIBVIEW_DE_MORGAN_NORMAL_BUTT:
|
case ID_LIBVIEW_DE_MORGAN_NORMAL_BUTT:
|
||||||
|
|
|
@ -8,19 +8,28 @@
|
||||||
#define __INCLUDE__EDA_DOC_H__ 1
|
#define __INCLUDE__EDA_DOC_H__ 1
|
||||||
|
|
||||||
|
|
||||||
int KeyWordOk( const wxString& KeyList,
|
|
||||||
const wxString& Database );
|
|
||||||
|
|
||||||
/* Recherche si dans le texte Database on retrouve tous les mots
|
/* Recherche si dans le texte Database on retrouve tous les mots
|
||||||
* cles donnes dans KeyList ( KeyList = suite de mots cles
|
* cles donnes dans KeyList ( KeyList = suite de mots cles
|
||||||
* separes par des espaces
|
* separes par des espaces
|
||||||
* Retourne:
|
* Retourne:
|
||||||
* 0 si aucun mot cle trouv<EFBFBD>
|
* 0 si aucun mot cle trouve
|
||||||
* 1 si mot cle trouv<EFBFBD>
|
* 1 si mot cle trouve
|
||||||
*/
|
*/
|
||||||
bool GetAssociatedDocument( wxFrame* frame,
|
int KeyWordOk( const wxString& KeyList,
|
||||||
const wxString& LibPath,
|
const wxString& Database );
|
||||||
const wxString& DocName );
|
|
||||||
|
/** Function GetAssociatedDocument
|
||||||
|
* open a document (file) with the suitable browser
|
||||||
|
* @param aFrame = main frame
|
||||||
|
* @param aDocName = filename of file to open (Full filename or short filename)
|
||||||
|
* if DocName is starting by http: or ftp: or www. the default internet browser is launched
|
||||||
|
* @param aPaths = a wxPathList to explore.
|
||||||
|
* if NULL or aDocName is a full filename, aPath is not used.
|
||||||
|
*/
|
||||||
|
bool GetAssociatedDocument( wxFrame* aFrame,
|
||||||
|
const wxString& aDocName,
|
||||||
|
const wxPathList* aPaths = NULL );
|
||||||
|
|
||||||
|
|
||||||
#endif /* __INCLUDE__EDA_DOC_H__ */
|
#endif /* __INCLUDE__EDA_DOC_H__ */
|
||||||
|
|
|
@ -1032,7 +1032,7 @@ void WinEDA_PcbFrame::Process_Special_Functions( wxCommandEvent& event )
|
||||||
wxString msg = FindKicadHelpPath();
|
wxString msg = FindKicadHelpPath();
|
||||||
msg += cfg->Read( wxT( "module_doc_file" ),
|
msg += cfg->Read( wxT( "module_doc_file" ),
|
||||||
wxT( "pcbnew/footprints.pdf" ) );
|
wxT( "pcbnew/footprints.pdf" ) );
|
||||||
GetAssociatedDocument( this, wxEmptyString, msg );
|
GetAssociatedDocument( this, msg );
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue