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
}