diff options
Diffstat (limited to 'shared/helpProvider.cpp')
-rw-r--r-- | shared/helpProvider.cpp | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/shared/helpProvider.cpp b/shared/helpProvider.cpp new file mode 100644 index 00000000..9cc4aeed --- /dev/null +++ b/shared/helpProvider.cpp @@ -0,0 +1,44 @@ +// ************************************************************************** +// * 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 "helpProvider.h" +#include <wx/help.h> +#include "standardPaths.h" + + +namespace +{ +class HelpProvider +{ +public: + HelpProvider() + { + controller.Initialize(FreeFileSync::getResourceDir() + +#ifdef FFS_WIN + wxT("FreeFileSync.chm")); +#elif defined FFS_LINUX + wxT("Help/FreeFileSync.hhp")); +#endif + } + + void showHelp(const wxString& section) + { + if (section.empty()) + controller.DisplayContents(); + else + controller.DisplaySection(section); + } + +private: + wxHelpController controller; +}; +} + +void FreeFileSync::displayHelpEntry(const wxString& section) +{ + static HelpProvider provider; + provider.showHelp(section); +} |