Изображение category-overlay.png - это просто наложение градиента для придания панели категорий правильного вида.
Два варианта здесь. Один проще, но не так надежен, другой немного сложнее:
Вариант A: Легко
Создайте userChrome.css в вашем каталоге $ profile / chrome /. Он должен содержать следующее:
.calendar-color-box[categories~="mycategory"],
.calendar-event-box-container[categories~="mycategory"] {
background-color: #abc123 !important;
}
Вам нужно будет сделать это для каждой категории, для которой вы хотите изменить цвет. Обратите внимание, что изменение цвета категории в параметрах «Молния» не изменит цвет категории, заданный здесь.
Вариант B: более полный
Вам нужно изменить некоторые файлы внутри lightning.xpi здесь. Это решение просто требует, чтобы вы установили цвета категорий в Lightning, а также будет работать для вновь добавленных категорий. Обратите внимание, что таким образом события без категории прозрачны, если вы хотите больше, вам придется делать это самостоятельно.
- Открыть lightning.xpi с помощью zip-программы
- Введите каталог chrome /
- Откройте содержащий calendar.jar с помощью zip-программы
- Сходи в контент / календарь /
- Открыть calendar-multiday-view.xml
- найдите "calendar-color-box" и удалите его из атрибута класса
- несколькими строками выше есть тег , добавьте к нему class = "category-color-box"
- Откройте calendar-month-view.xml и calendar-view-core.xml и сделайте то же самое
- Сохраните файлы обратно в calendar.jar
- Сохранить calendar.jar обратно в lightning.xpi
- Установить модифицированный lightning.xpi
Если вы предпочитаете патч, это относится к последнему источнику комм-центра:
diff --git a/calendar/base/content/calendar-month-view.xml b/calendar/base/content/calendar-month-view.xml
--- a/calendar/base/content/calendar-month-view.xml
+++ b/calendar/base/content/calendar-month-view.xml
@@ -52,21 +52,20 @@
<bindings id="calendar-month-view-bindings"
xmlns="http://www.mozilla.org/xbl"
xmlns:html="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:xbl="http://www.mozilla.org/xbl">
<binding id="calendar-month-day-box-item" extends="chrome://calendar/content/calendar-view-core.xml#calendar-editable-item">
- <content mousethrough="never" tooltip="itemTooltip">
+ <content mousethrough="never" tooltip="itemTooltip" class="category-color-box">
<xul:vbox flex="1">
<xul:hbox>
<xul:box anonid="event-container"
- class="calendar-color-box"
xbl:inherits="calendar-uri,calendar-id"
flex="1">
<xul:box class="calendar-event-selection" orient="horizontal" flex="1">
<xul:stack anonid="eventbox"
class="calendar-event-box-container"
xbl:inherits="readonly,flashing,alarm,allday,priority,progress,status,calendar,categories"
flex="1">
<xul:hbox class="calendar-event-details">
diff --git a/calendar/base/content/calendar-multiday-view.xml b/calendar/base/content/calendar-multiday-view.xml
--- a/calendar/base/content/calendar-multiday-view.xml
+++ b/calendar/base/content/calendar-multiday-view.xml
@@ -2119,20 +2119,19 @@
]]></handler>
</handlers>
</binding>
<!--
- An individual event box, to be inserted into a column.
-->
<binding id="calendar-event-box" extends="chrome://calendar/content/calendar-view-core.xml#calendar-editable-item">
- <content mousethrough="never" tooltip="itemTooltip">
+ <content mousethrough="never" tooltip="itemTooltip" class="category-color-box">
<xul:box xbl:inherits="orient,width,height" flex="1">
<xul:box anonid="event-container"
- class="calendar-color-box"
xbl:inherits="orient,readonly,flashing,alarm,allday,priority,progress,status,calendar,categories,calendar-uri,calendar-id"
flex="1">
<xul:box class="calendar-event-selection" orient="horizontal" flex="1">
<xul:stack anonid="eventbox"
align="stretch"
class="calendar-event-box-container"
flex="1"
xbl:inherits="context,parentorient=orient,readonly,flashing,alarm,allday,priority,progress,status,calendar,categories">
diff --git a/calendar/base/content/calendar-view-core.xml b/calendar/base/content/calendar-view-core.xml
--- a/calendar/base/content/calendar-view-core.xml
+++ b/calendar/base/content/calendar-view-core.xml
@@ -46,21 +46,21 @@
xmlns="http://www.mozilla.org/xbl"
xmlns:html="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:xbl="http://www.mozilla.org/xbl">
<binding id="calendar-editable-item">
<content mousethrough="never"
tooltip="itemTooltip"
- tabindex="-1">
+ tabindex="-1"
+ class="category-color-box">
<xul:vbox flex="1">
<xul:hbox>
<xul:box anonid="event-container"
- class="calendar-color-box"
xbl:inherits="calendar-uri,calendar-id"
flex="1">
<xul:box class="calendar-event-selection" orient="horizontal" flex="1">
<xul:stack anonid="eventbox"
class="calendar-event-box-container"
flex="1"
xbl:inherits="readonly,flashing,alarm,allday,priority,progress,status,calendar,categories">
<xul:hbox class="calendar-event-details">
Вариант C: изменить Javascript
Это был бы лучший рабочий хак, хотя он требует изменений javascript. Откройте calendar.jar, как описано в Варианте B, и просмотрите calendar-views.js, есть две функции: updateStyleSheetForViews()
и updateStyleSheetForCategory()
. Я оставлю это людям, которые хотят сами повозиться с этим, но идея состоит в том, чтобы добавить правило для .calendar-color-box[categories~=...]
, которое переопределяет правило по умолчанию в случае наличия категорий. Таким образом, если категория не установлена, используется цвет календаря, в противном случае - желаемый цвет категории.
Веселитесь:)