#ifndef COLORCACHE_H
#define COLORCACHE_H
-#include "ColorCode.h"
+#include "Color.h"
#include <QColor>
+#include <QPalette>
namespace lyx {
class ColorCache
{
public:
- ColorCache() { init(); }
+ ///
+ ColorCache() : initialized_(false) {}
+
+ /// get the given color (depends on LyXRC::use_system_color)
+ QColor get(Color const & color) const;
/// get the given color
- QColor const & get(ColorCode color) const { return lcolors_[color]; }
+ QColor get(Color const & color, bool use_system_colors) const;
+
+ /// is this color replaced when LyXRC::use_system_color is true?
+ bool isSystem(ColorCode color) const;
+
+ /// change the undelying palette
+ void setPalette(QPalette const pal) { pal_ = pal; clear(); }
/// clear all colors
- void clear() { init(); }
+ void clear() { initialized_ = false; }
private:
///
void init();
///
QColor lcolors_[Color_ignore + 1];
+ ///
+ bool initialized_;
+ ///
+ QPalette pal_;
};
///