00001
00002
00003
00004
00005
00006 #include "theme.h"
00007
00008 #include "logger.h"
00009 #include "monitor.h"
00010 #include "xcore.h"
00011
00012 Theme::Theme() {
00013 }
00014
00015 Theme::~Theme() {
00016 }
00017
00018 unsigned long Theme::allocateColor(string name, Colormap cmap) {
00019
00020 XColor color;
00021
00022 if (!XCORE->allocNamedColor(cmap, name, &color))
00023 {
00024 Logger::instance()->error("cannot allocate color '"
00025 + name + "'", true);
00026
00027 }
00028
00029 return color.pixel;
00030 }
00031
00032 void Theme::initTheme(MSettings *ts, Colormap cmap) {
00033
00034 BAR_BACKGROUND = allocateColor(Util::get(ts, "color.bar.background"), cmap);
00035 BAR_TEXT = allocateColor(Util::get(ts, "color.bar.text"), cmap);
00036 BAR_SHINE = allocateColor(Util::get(ts, "color.bar.shine"), cmap);
00037 BAR_SHADOW = allocateColor(Util::get(ts, "color.bar.shadow"), cmap);
00038
00039 METER_BACKGROUND = allocateColor(Util::get(ts, "color.meter.background"), cmap);
00040 METER_FIGURE_HIGH = allocateColor(Util::get(ts, "color.meter.figure.high"), cmap);
00041 METER_FIGURE_NORMAL = allocateColor(Util::get(ts, "color.meter.figure.normal"), cmap);
00042 METER_FIGURE_LOW = allocateColor(Util::get(ts, "color.meter.figure.low"), cmap);
00043 METER_BORDER_SHINE= allocateColor(Util::get(ts, "color.meter.border.shine"), cmap);
00044 METER_BORDER_SHADOW= allocateColor(Util::get(ts, "color.meter.border.shadow"), cmap);
00045
00046 FOCUSREQ_BACKGROUND = allocateColor(Util::get(ts, "color.focusreq.background"), cmap);
00047 FOCUSREQ_TEXT = allocateColor(Util::get(ts, "color.focusreq.text"), cmap);
00048 FOCUSREQ_SHINE = allocateColor(Util::get(ts, "color.focusreq.shine"), cmap);
00049 FOCUSREQ_SHADOW = allocateColor(Util::get(ts, "color.focusreq.shadow"), cmap);
00050
00051 TILED_SHINE_FOCUSSED = allocateColor(Util::get(ts, "color.tiled.shine.focussed"), cmap);
00052 TILED_SHADOW_FOCUSSED = allocateColor(Util::get(ts, "color.tiled.shadow.focussed"), cmap);
00053 TILED_SHINE_NORMAL = allocateColor(Util::get(ts, "color.tiled.shine.normal"), cmap);
00054 TILED_SHADOW_NORMAL = allocateColor(Util::get(ts, "color.tiled.shadow.normal"), cmap);
00055
00056 BUTTON_BACKGROUND_NORMAL =
00057 allocateColor(Util::get(ts, "color.button.background.normal"), cmap);
00058 BUTTON_BACKGROUND_PRESSED =
00059 allocateColor(Util::get(ts, "color.button.background.pressed"), cmap);
00060 BUTTON_SHINE_BORDER_NORMAL =
00061 allocateColor(Util::get(ts, "color.button.border.shine.normal"), cmap);
00062 BUTTON_SHINE_BORDER_PRESSED =
00063 allocateColor(Util::get(ts, "color.button.border.shine.pressed"), cmap);
00064 BUTTON_SHADOW_BORDER_NORMAL =
00065 allocateColor(Util::get(ts, "color.button.border.shadow.normal"), cmap);
00066 BUTTON_SHADOW_BORDER_PRESSED =
00067 allocateColor(Util::get(ts, "color.button.border.shadow.pressed"), cmap);
00068 BUTTON_SHINE_FIGURE_NORMAL =
00069 allocateColor(Util::get(ts, "color.button.figure.shine.normal"), cmap);
00070 BUTTON_SHINE_FIGURE_PRESSED =
00071 allocateColor(Util::get(ts, "color.button.figure.shine.pressed"), cmap);
00072 BUTTON_SHADOW_FIGURE_NORMAL =
00073 allocateColor(Util::get(ts, "color.button.figure.shadow.normal"), cmap);
00074 BUTTON_SHADOW_FIGURE_PRESSED =
00075 allocateColor(Util::get(ts, "color.button.figure.shadow.pressed"), cmap);
00076
00077 FRAME_BACKGROUND_NORMAL =
00078 allocateColor(Util::get(ts, "color.frame.background.normal"), cmap);
00079 FRAME_BACKGROUND_FOCUSSED =
00080 allocateColor(Util::get(ts, "color.frame.background.focussed"), cmap);
00081 FRAME_SHINE_NORMAL =
00082 allocateColor(Util::get(ts, "color.frame.shine.normal"), cmap);
00083 FRAME_SHINE_FOCUSSED =
00084 allocateColor(Util::get(ts, "color.frame.shine.focussed"), cmap);
00085 FRAME_SHADOW_NORMAL =
00086 allocateColor(Util::get(ts, "color.frame.shadow.normal"), cmap);
00087 FRAME_SHADOW_FOCUSSED =
00088 allocateColor(Util::get(ts, "color.frame.shadow.focussed"), cmap);
00089 FRAME_PSEUDO =
00090 allocateColor(Util::get(ts, "color.frame.pseudo"), cmap);
00091
00092 LABEL_BACKGROUND_NORMAL =
00093 allocateColor(Util::get(ts, "color.label.background.normal"), cmap);
00094 LABEL_BACKGROUND_FOCUSSED =
00095 allocateColor(Util::get(ts, "color.label.background.focussed"), cmap);
00096 LABEL_TEXT_NORMAL =
00097 allocateColor(Util::get(ts, "color.label.text.normal"), cmap);
00098 LABEL_TEXT_FOCUSSED =
00099 allocateColor(Util::get(ts, "color.label.text.focussed"), cmap);
00100 LABEL_SHINE_NORMAL =
00101 allocateColor(Util::get(ts, "color.label.shine.normal"), cmap);
00102 LABEL_SHINE_FOCUSSED =
00103 allocateColor(Util::get(ts, "color.label.shine.focussed"), cmap);
00104 LABEL_SHADOW_NORMAL =
00105 allocateColor(Util::get(ts, "color.label.shadow.normal"), cmap);
00106 LABEL_SHADOW_FOCUSSED =
00107 allocateColor(Util::get(ts, "color.label.shadow.focussed"), cmap);
00108
00109 TAB_BACKGROUND_ACTIVE_NORMAL =
00110 allocateColor(Util::get(ts, "color.tab.background.active.normal"), cmap);
00111 TAB_BACKGROUND_INACTIVE_NORMAL =
00112 allocateColor(Util::get(ts, "color.tab.background.inactive.normal"), cmap);
00113 TAB_BACKGROUND_ACTIVE_FOCUSSED =
00114 allocateColor(Util::get(ts, "color.tab.background.active.focussed"), cmap);
00115 TAB_BACKGROUND_INACTIVE_FOCUSSED =
00116 allocateColor(Util::get(ts, "color.tab.background.inactive.focussed"), cmap);
00117 TAB_TEXT_ACTIVE_NORMAL =
00118 allocateColor(Util::get(ts, "color.tab.text.active.normal"), cmap);
00119 TAB_TEXT_INACTIVE_NORMAL =
00120 allocateColor(Util::get(ts, "color.tab.text.inactive.normal"), cmap);
00121 TAB_TEXT_ACTIVE_FOCUSSED =
00122 allocateColor(Util::get(ts, "color.tab.text.active.focussed"), cmap);
00123 TAB_TEXT_INACTIVE_FOCUSSED =
00124 allocateColor(Util::get(ts, "color.tab.text.inactive.focussed"), cmap);
00125 TAB_SHINE_ACTIVE_NORMAL =
00126 allocateColor(Util::get(ts, "color.tab.shine.active.normal"), cmap);
00127 TAB_SHINE_INACTIVE_NORMAL =
00128 allocateColor(Util::get(ts, "color.tab.shine.inactive.normal"), cmap);
00129 TAB_SHINE_ACTIVE_FOCUSSED =
00130 allocateColor(Util::get(ts, "color.tab.shine.active.focussed"), cmap);
00131 TAB_SHINE_INACTIVE_FOCUSSED =
00132 allocateColor(Util::get(ts, "color.tab.shine.inactive.focussed"), cmap);
00133 TAB_SHADOW_ACTIVE_NORMAL =
00134 allocateColor(Util::get(ts, "color.tab.shadow.active.normal"), cmap);
00135 TAB_SHADOW_INACTIVE_NORMAL =
00136 allocateColor(Util::get(ts, "color.tab.shadow.inactive.normal"), cmap);
00137 TAB_SHADOW_ACTIVE_FOCUSSED =
00138 allocateColor(Util::get(ts, "color.tab.shadow.active.focussed"), cmap);
00139 TAB_SHADOW_INACTIVE_FOCUSSED =
00140 allocateColor(Util::get(ts, "color.tab.shadow.inactive.focussed"), cmap);
00141 }