break;
}
- case LFUN_BUFFER_UPDATE:
- case LFUN_BUFFER_VIEW:
case LFUN_MASTER_BUFFER_UPDATE:
- case LFUN_MASTER_BUFFER_VIEW: {
+ case LFUN_MASTER_BUFFER_VIEW:
+ if (!buf->parent()) {
+ enable = false;
+ break;
+ }
+ case LFUN_BUFFER_UPDATE:
+ case LFUN_BUFFER_VIEW: {
+ string format = to_utf8(cmd.argument());
+ if (cmd.argument().empty())
+ format = buf->getDefaultOutputFormat();
typedef vector<Format const *> Formats;
Formats formats;
formats = buf->exportableFormats(true);
Formats::const_iterator end = formats.end();
enable = false;
for (; fit != end ; ++fit) {
- if ((*fit)->name() == to_utf8(cmd.argument()))
+ if ((*fit)->name() == format)
enable = true;
}
break;
break;
}
- case LFUN_BUFFER_UPDATE:
+ case LFUN_BUFFER_UPDATE: {
LASSERT(lyx_view_ && buffer, /**/);
- buffer->doExport(argument, true);
+ string format = argument;
+ if (argument.empty())
+ format = buffer->getDefaultOutputFormat();
+ buffer->doExport(format, true);
break;
+ }
- case LFUN_BUFFER_VIEW:
+ case LFUN_BUFFER_VIEW: {
LASSERT(lyx_view_ && buffer, /**/);
- buffer->preview(argument);
+ string format = argument;
+ if (argument.empty())
+ format = buffer->getDefaultOutputFormat();
+ buffer->preview(format);
break;
+ }
- case LFUN_MASTER_BUFFER_UPDATE:
+ case LFUN_MASTER_BUFFER_UPDATE: {
LASSERT(lyx_view_ && buffer && buffer->masterBuffer(), /**/);
- buffer->masterBuffer()->doExport(argument, true);
+ string format = argument;
+ if (argument.empty())
+ format = buffer->masterBuffer()->getDefaultOutputFormat();
+ buffer->masterBuffer()->doExport(format, true);
break;
+ }
- case LFUN_MASTER_BUFFER_VIEW:
+ case LFUN_MASTER_BUFFER_VIEW: {
LASSERT(lyx_view_ && buffer && buffer->masterBuffer(), /**/);
- buffer->masterBuffer()->preview(argument);
+ string format = argument;
+ if (argument.empty())
+ format = buffer->masterBuffer()->getDefaultOutputFormat();
+ buffer->masterBuffer()->preview(format);
break;
+ }
case LFUN_BUILD_PROGRAM:
LASSERT(lyx_view_ && buffer, /**/);
is >> file_name >> row;
Buffer * buf = 0;
bool loaded = false;
- if (prefixIs(file_name, package().temp_dir().absFilename()))
+ string const abstmp = package().temp_dir().absFilename();
+ string const realtmp = package().temp_dir().realPath();
+ if (prefixIs(file_name, abstmp) || prefixIs(file_name, realtmp)) {
// Needed by inverse dvi search. If it is a file
- // in tmpdir, call the apropriated function
+ // in tmpdir, call the apropriated function.
+ // If tmpdir is a symlink, we may have the real
+ // path passed back, so we correct for that.
+ if (!prefixIs(file_name, abstmp))
+ file_name = subst(file_name, realtmp, abstmp);
buf = theBufferList().getBufferFromTmp(file_name);
- else {
+ } else {
// Must replace extension of the file to be .lyx
// and get full path
FileName const s = fileSearch(string(), changeExtension(file_name, ".lyx"), "lyx");
// Either change buffer or load the file
if (theBufferList().exists(s))
buf = theBufferList().getBuffer(s);
- else {
+ else if (s.exists()) {
buf = lyx_view_->loadDocument(s);
loaded = true;
- }
+ } else
+ lyx_view_->message(bformat(
+ _("File does not exist: %1$s"),
+ makeDisplayPath(file_name)));
}
if (!buf) {
case LyXRC::RC_COPIER:
case LyXRC::RC_CURSOR_FOLLOWS_SCROLLBAR:
case LyXRC::RC_SCROLL_BELOW_DOCUMENT:
- case LyXRC::RC_CUSTOM_EXPORT_COMMAND:
- case LyXRC::RC_CUSTOM_EXPORT_FORMAT:
case LyXRC::RC_DATE_INSERT_FORMAT:
case LyXRC::RC_DEFAULT_LANGUAGE:
case LyXRC::RC_GUI_LANGUAGE:
case LyXRC::RC_DEFAULT_PAPERSIZE:
+ case LyXRC::RC_DEFAULT_VIEW_FORMAT:
case LyXRC::RC_DEFFILE:
case LyXRC::RC_DIALOGS_ICONIFY_WITH_MAIN:
case LyXRC::RC_DISPLAY_GRAPHICS:
case LyXRC::RC_FORMAT:
case LyXRC::RC_GROUP_LAYOUTS:
case LyXRC::RC_INDEX_COMMAND:
+ case LyXRC::RC_JBIBTEX_COMMAND:
+ case LyXRC::RC_JINDEX_COMMAND:
case LyXRC::RC_NOMENCL_COMMAND:
case LyXRC::RC_INPUT:
case LyXRC::RC_KBMAP:
case LyXRC::RC_OPEN_BUFFERS_IN_TABS:
case LyXRC::RC_SPELL_COMMAND:
case LyXRC::RC_SPELLCHECK_CONTINUOUSLY:
+ case LyXRC::RC_SPLITINDEX_COMMAND:
case LyXRC::RC_TEMPDIRPATH:
case LyXRC::RC_TEMPLATEPATH:
case LyXRC::RC_TEX_ALLOWS_SPACES: