X-Git-Url: http://Server1/repobrowser/?p=xestiaab%2F.git;a=blobdiff_plain;f=source%2FfrmMain.cpp;h=bfef19678372531dab2ebd6c07a288e08128912b;hp=228c7a6c28bb1c9493af3a4fd55afeba761db1df;hb=18215b188e882f4e02887d9bf0c6b68b900795a6;hpb=316e255b6797f8b7a63ccd62e50e39cfcc474c11 diff --git a/source/frmMain.cpp b/source/frmMain.cpp index 228c7a6..bfef196 100644 --- a/source/frmMain.cpp +++ b/source/frmMain.cpp @@ -16,6 +16,7 @@ // You should have received a copy of the GNU General Public License along // with Xestia Address Book. If not, see +#include #include #include #include @@ -3121,43 +3122,68 @@ void frmMain::ShowHelp( wxCommandEvent& event ){ // Based on the operating system, work out where // the documentation should be. - -//#ifdef __APPLE__ + #if defined(__HAIKU__) - -#elif defined(__WIN32__) - - + +#elif defined(__WIN32__) #else - if (wxFileExists("/usr/share/doc/xestiaab/index.html")){ - - wxLaunchDefaultBrowser(wxT("file:///usr/share/doc/xestiaab/index.html")); + // Get the LANG environment variable + + char *languageEnvironmentVariableChar = getenv("LANG"); + std::string languageEnvironmentVariable(languageEnvironmentVariableChar); + std::cout << wxString(languageEnvironmentVariable).BeforeFirst('.', nullptr).ToStdString() << std::endl; + + int executeResult = 0; + + wxString documentPath = wxString::Format("/usr/local/share/doc/xestiaab/%s.fodt", + wxString(languageEnvironmentVariable).BeforeFirst('.', nullptr)); + std::string commandToExecute = "odthelpbrowser -d " + documentPath.ToStdString(); + + if (wxFileExists(documentPath)) + executeResult = system(commandToExecute.c_str()); + + if (executeResult == 0) return; #if XSDAB_RELEASE == 0 + documentPath = wxString::Format("/usr/share/doc/xestiaab/%s.fodt", + wxString(languageEnvironmentVariable).BeforeFirst('.', nullptr)); + commandToExecute = "odthelpbrowser -d " + documentPath.ToStdString(); + + if (wxFileExists(documentPath)) + executeResult = system(commandToExecute.c_str()); - } else if (wxFileExists("/usr/local/share/doc/xestiaab/index.html")){ - - wxLaunchDefaultBrowser(wxT("file:///usr/local/share/doc/xestiaab/index.html")); + if (executeResult == 0) return; - #endif - + + // Attempt to launch using the "default" language. + + if (wxFileExists("/usr/share/doc/xestiaab/en_GB.fodt") && executeResult > 0) + { + commandToExecute = "odthelpbrowser -d " + documentPath.ToStdString(); + executeResult = system(commandToExecute.c_str()); + } + else if (wxFileExists("/usr/local/share/doc/xestiaab/en_GB.fodt") && executeResult > 0) + { + commandToExecute = "odthelpbrowser -d " + documentPath.ToStdString(); + executeResult = system(commandToExecute.c_str()); } -#endif + if (executeResult == 0) + return; +#endif + #if XSDAB_RELEASE == 0 - wxMessageBox(_("The help documentation is not available.\n\nYou can view the documentation that came with your source package."), _("Help documentation missing!")); - + return; #else - - wxMessageBox(_("The help documentation is not available in the usual locations on the system. Please visit http://documentation.xestia.co.uk/xestiaab/ for documentation"), _("Help documentation missing!")); - + wxMessageBox(_("The help documentation is not available in the usual locations on the system. Please visit https://xestia.co.uk/addressbook for documentation"), _("Help documentation missing!")); + return; #endif }