case LFUN_CANCEL:
case LFUN_META_PREFIX:
case LFUN_RECONFIGURE:
- case LFUN_HELP_OPEN:
case LFUN_DROP_LAYOUTS_CHOICE:
case LFUN_SERVER_GET_FILENAME:
case LFUN_SERVER_NOTIFY:
reconfigure(lyx_view_, argument);
break;
- case LFUN_HELP_OPEN: {
- if (lyx_view_ == 0)
- theApp()->dispatch(FuncRequest(LFUN_WINDOW_NEW));
- string const arg = argument;
- if (arg.empty()) {
- setErrorMessage(from_utf8(N_("Missing argument")));
- break;
- }
- FileName fname = i18nLibFileSearch("doc", arg, "lyx");
- if (fname.empty())
- fname = i18nLibFileSearch("examples", arg, "lyx");
-
- if (fname.empty()) {
- lyxerr << "LyX: unable to find documentation file `"
- << arg << "'. Bad installation?" << endl;
- break;
- }
- lyx_view_->message(bformat(_("Opening help file %1$s..."),
- makeDisplayPath(fname.absFilename())));
- Buffer * buf = lyx_view_->loadDocument(fname, false);
- if (buf) {
- buf->updateLabels();
- lyx_view_->setBuffer(buf);
- buf->errors("Parse");
- }
- updateFlags = Update::None;
- break;
- }
-
// --- lyxserver commands ----------------------------
case LFUN_SERVER_GET_FILENAME:
LASSERT(lyx_view_ && buffer, /**/);
#include "support/debug.h"
#include "support/ExceptionMessage.h"
#include "support/FileName.h"
+#include "support/filetools.h"
#include "support/foreach.h"
#include "support/ForkedCalls.h"
#include "support/gettext.h"
case LFUN_BUFFER_NEW:
case LFUN_BUFFER_NEW_TEMPLATE:
case LFUN_FILE_OPEN:
+ case LFUN_HELP_OPEN:
case LFUN_SCREEN_FONT_UPDATE:
case LFUN_SET_COLOR:
case LFUN_WINDOW_NEW:
break;
case LFUN_FILE_OPEN:
+ // FIXME: create a new method shared with LFUN_HELP_OPEN.
if (d->views_.empty()
|| (!lyxrc.open_buffers_in_tabs && current_view_->documentBufferView() != 0)) {
string const fname = to_utf8(cmd.argument());
current_view_->openDocument(to_utf8(cmd.argument()));
break;
+ case LFUN_HELP_OPEN: {
+ // FIXME: create a new method shared with LFUN_FILE_OPEN.
+ if (current_view_ == 0)
+ createView();
+ string const arg = to_utf8(cmd.argument());
+ if (arg.empty()) {
+ current_view_->message(_("Missing argument"));
+ break;
+ }
+ FileName fname = i18nLibFileSearch("doc", arg, "lyx");
+ if (fname.empty())
+ fname = i18nLibFileSearch("examples", arg, "lyx");
+
+ if (fname.empty()) {
+ lyxerr << "LyX: unable to find documentation file `"
+ << arg << "'. Bad installation?" << endl;
+ break;
+ }
+ current_view_->message(bformat(_("Opening help file %1$s..."),
+ makeDisplayPath(fname.absFilename())));
+ Buffer * buf = current_view_->loadDocument(fname, false);
+ if (buf) {
+ current_view_->setBuffer(buf);
+ buf->updateLabels();
+ buf->errors("Parse");
+ }
+ break;
+ }
+
case LFUN_SET_COLOR: {
string lyx_name;
string const x11_name = split(to_utf8(cmd.argument()), lyx_name, ' ');