summaryrefslogtreecommitdiff
path: root/shared/help_provider.cpp
diff options
context:
space:
mode:
authorDaniel Wilhelm <daniel@wili.li>2014-04-18 17:08:06 +0200
committerDaniel Wilhelm <daniel@wili.li>2014-04-18 17:08:06 +0200
commitfbe76102e941b9f1edaf236788e42678f05fdf9a (patch)
treef5f538316019fa89be8dc478103490c3a826f3ac /shared/help_provider.cpp
parent3.8 (diff)
downloadFreeFileSync-fbe76102e941b9f1edaf236788e42678f05fdf9a.tar.gz
FreeFileSync-fbe76102e941b9f1edaf236788e42678f05fdf9a.tar.bz2
FreeFileSync-fbe76102e941b9f1edaf236788e42678f05fdf9a.zip
3.9
Diffstat (limited to 'shared/help_provider.cpp')
-rw-r--r--shared/help_provider.cpp46
1 files changed, 46 insertions, 0 deletions
diff --git a/shared/help_provider.cpp b/shared/help_provider.cpp
new file mode 100644
index 00000000..0110934c
--- /dev/null
+++ b/shared/help_provider.cpp
@@ -0,0 +1,46 @@
+// **************************************************************************
+// * This file is part of the FreeFileSync project. It is distributed under *
+// * GNU General Public License: http://www.gnu.org/licenses/gpl.html *
+// * Copyright (C) 2008-2010 ZenJu (zhnmju123 AT gmx.de) *
+// **************************************************************************
+//
+#include "help_provider.h"
+#include <wx/help.h>
+#include "standard_paths.h"
+#include <wx/image.h>
+
+namespace
+{
+class HelpProvider
+{
+public:
+ HelpProvider()
+ {
+ controller.Initialize(ffs3::getResourceDir() +
+#ifdef FFS_WIN
+ wxT("FreeFileSync.chm"));
+#elif defined FFS_LINUX
+ wxT("Help/FreeFileSync.hhp"));
+
+ wxImage::AddHandler(new wxJPEGHandler); //ownership passed; display .jpg files correctly in Linux
+#endif
+ }
+
+ void showHelp(const wxString& section)
+ {
+ if (section.empty())
+ controller.DisplayContents();
+ else
+ controller.DisplaySection(section);
+ }
+
+private:
+ wxHelpController controller;
+};
+}
+
+void ffs3::displayHelpEntry(const wxString& section)
+{
+ static HelpProvider provider;
+ provider.showHelp(section);
+}
bgstack15