mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-11 13:46:43 +00:00
Fix bug #9684: Update previews after background color change
This commit is contained in:
parent
b63421b7dc
commit
0c093a6264
@ -1737,6 +1737,8 @@ void GuiApplication::dispatch(FuncRequest const & cmd, DispatchResult & dr)
|
|||||||
}
|
}
|
||||||
// Make sure we don't keep old colors in cache.
|
// Make sure we don't keep old colors in cache.
|
||||||
d->color_cache_.clear();
|
d->color_cache_.clear();
|
||||||
|
// Update the current view
|
||||||
|
lyx::dispatch(FuncRequest(LFUN_SCREEN_FONT_UPDATE));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -253,6 +253,10 @@ private:
|
|||||||
///
|
///
|
||||||
mutable int font_scaling_factor_;
|
mutable int font_scaling_factor_;
|
||||||
///
|
///
|
||||||
|
mutable int fg_color_;
|
||||||
|
///
|
||||||
|
mutable int bg_color_;
|
||||||
|
///
|
||||||
QTimer * delay_refresh_;
|
QTimer * delay_refresh_;
|
||||||
///
|
///
|
||||||
bool finished_generating_;
|
bool finished_generating_;
|
||||||
@ -407,6 +411,8 @@ PreviewLoader::Impl::Impl(PreviewLoader & p, Buffer const & b)
|
|||||||
: parent_(p), buffer_(b), finished_generating_(true)
|
: parent_(p), buffer_(b), finished_generating_(true)
|
||||||
{
|
{
|
||||||
font_scaling_factor_ = int(buffer_.fontScalingFactor());
|
font_scaling_factor_ = int(buffer_.fontScalingFactor());
|
||||||
|
fg_color_ = strtol(theApp()->hexName(foregroundColor()).c_str(), 0, 16);
|
||||||
|
bg_color_ = strtol(theApp()->hexName(backgroundColor()).c_str(), 0, 16);
|
||||||
if (!pconverter_)
|
if (!pconverter_)
|
||||||
pconverter_ = setConverter("lyxpreview");
|
pconverter_ = setConverter("lyxpreview");
|
||||||
|
|
||||||
@ -433,10 +439,14 @@ PreviewImage const *
|
|||||||
PreviewLoader::Impl::preview(string const & latex_snippet) const
|
PreviewLoader::Impl::preview(string const & latex_snippet) const
|
||||||
{
|
{
|
||||||
int fs = int(buffer_.fontScalingFactor());
|
int fs = int(buffer_.fontScalingFactor());
|
||||||
if (font_scaling_factor_ != fs) {
|
int fg = strtol(theApp()->hexName(foregroundColor()).c_str(), 0, 16);
|
||||||
// Schedule refresh of all previews on zoom changes.
|
int bg = strtol(theApp()->hexName(backgroundColor()).c_str(), 0, 16);
|
||||||
|
if (font_scaling_factor_ != fs || fg_color_ != fg || bg_color_ != bg) {
|
||||||
|
// Schedule refresh of all previews on zoom or color changes.
|
||||||
// The previews are regenerated only after the zoom factor
|
// The previews are regenerated only after the zoom factor
|
||||||
// has not been changed for about 1 second.
|
// has not been changed for about 1 second.
|
||||||
|
fg_color_ = fg;
|
||||||
|
bg_color_ = bg;
|
||||||
delay_refresh_->start(1000);
|
delay_refresh_->start(1000);
|
||||||
}
|
}
|
||||||
// Don't try to access the cache until we are done.
|
// Don't try to access the cache until we are done.
|
||||||
|
Loading…
Reference in New Issue
Block a user