While exporting from the command-line, theApp() doesn't exist.

It was only needed for getting hex names of colors. So, get them
directly from a ColorCache object with default mapping.
This commit is contained in:
Tommaso Cucinotta 2012-12-10 23:22:10 +00:00
parent 4182205ca8
commit 4285b0b316
2 changed files with 17 additions and 5 deletions

View File

@ -5,7 +5,7 @@ include $(top_srcdir)/config/common.am
DISTCLEANFILES += libintl.h DISTCLEANFILES += libintl.h
AM_CPPFLAGS += $(PCH_FLAGS) -I$(top_srcdir)/src $(BOOST_INCLUDES) $(ENCHANT_CFLAGS) $(HUNSPELL_CFLAGS) AM_CPPFLAGS += $(PCH_FLAGS) -I$(top_srcdir)/src $(BOOST_INCLUDES) $(ENCHANT_CFLAGS) $(HUNSPELL_CFLAGS)
AM_CPPFLAGS += $(QT4_CPPFLAGS) $(QT4_CORE_INCLUDES) AM_CPPFLAGS += $(QT4_CPPFLAGS) $(QT4_INCLUDES)
if BUILD_CLIENT_SUBDIR if BUILD_CLIENT_SUBDIR
CLIENT = client CLIENT = client

View File

@ -27,6 +27,7 @@
#include "TexRow.h" #include "TexRow.h"
#include "frontends/Application.h" // hexName #include "frontends/Application.h" // hexName
#include "frontends/qt4/ColorCache.h"
#include "insets/Inset.h" #include "insets/Inset.h"
@ -36,6 +37,7 @@
#include "support/filetools.h" #include "support/filetools.h"
#include "support/ForkedCalls.h" #include "support/ForkedCalls.h"
#include "support/lstrings.h" #include "support/lstrings.h"
#include "support/qstring_helpers.h"
#include "support/bind.h" #include "support/bind.h"
@ -587,16 +589,26 @@ void PreviewLoader::Impl::startLoading(bool wait)
// FIXME XHTML // FIXME XHTML
// The colors should be customizable. // The colors should be customizable.
ColorCode const bg = buffer_.isExporting() ColorCode const bg = buffer_.isExporting()
? Color_white : PreviewLoader::backgroundColor(); ? Color_white : PreviewLoader::backgroundColor();
ColorCode const fg = buffer_.isExporting() ColorCode const fg = buffer_.isExporting()
? Color_black : PreviewLoader::foregroundColor(); ? Color_black : PreviewLoader::foregroundColor();
std::string bg_name, fg_name;
if (theApp()) {
fg_name = theApp()->hexName(fg);
bg_name = theApp()->hexName(bg);
} else {
ColorCache cc;
fg_name = ltrim(fromqstr(cc.get(fg).name()), "#");
bg_name = ltrim(fromqstr(cc.get(bg).name()), "#");
}
// The conversion command. // The conversion command.
ostringstream cs; ostringstream cs;
cs << pconverter_->command cs << pconverter_->command
<< " " << quoteName(latexfile.toFilesystemEncoding()) << " " << quoteName(latexfile.toFilesystemEncoding())
<< " --dpi " << int(font_scaling_factor) << " --dpi " << int(font_scaling_factor)
<< " --fg " << theApp()->hexName(fg) << " --fg " << fg_name
<< " --bg " << theApp()->hexName(bg); << " --bg " << bg_name;
// FIXME what about LuaTeX? // FIXME what about LuaTeX?
if (buffer_.params().useNonTeXFonts) if (buffer_.params().useNonTeXFonts)
cs << " --latex=xelatex"; cs << " --latex=xelatex";