Commit e719b42e authored by charras's avatar charras
Browse files

made GetAssociatedDocument() compatible with last changes in kicad path handling.

parent 6e54ec71
Loading
Loading
Loading
Loading
+4 −0
Original line number Original line Diff line number Diff line
@@ -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>
================================================================================
================================================================================
+1 −10
Original line number Original line Diff line number Diff line
@@ -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
+20 −22
Original line number Original line Diff line number Diff line
@@ -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;
+10 −0
Original line number Original line Diff line number Diff line
@@ -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" ) );
+1 −1
Original line number Original line Diff line number Diff line
@@ -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 );
}
}




Loading