Skip to content

Commit

Permalink
Add more color customizations and tweak calendar visually!
Browse files Browse the repository at this point in the history
  • Loading branch information
omid committed Jun 4, 2024
1 parent 1ac92db commit 211aeeb
Show file tree
Hide file tree
Showing 12 changed files with 205 additions and 135 deletions.
30 changes: 17 additions & 13 deletions [email protected]/Calendar.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ import * as PersianDate from './PersianDate.js';
import * as HijriDate from './HijriDate.js';

export class Calendar {
constructor(schema, str, gettext, locale, events) {
this._schema = schema;
constructor(settings, str, gettext, locale, events) {
this._settings = settings;
this._str = str;
this._gettext = gettext;
this._locale = locale;
Expand Down Expand Up @@ -161,25 +161,25 @@ export class Calendar {
}

_setFont(el) {
// const font_desc = Pango.FontDescription.from_string(this._schema.get_string('font'));
// const font_desc = Pango.FontDescription.from_string(this._settings.get_string('font'));
//
// if (this._schema.get_boolean('custom-font')) {
// if (this._settings.get_boolean('custom-font')) {
// el.clutter_text.set_font_description(font_desc);
// } else {
// el.clutter_text.set_font_name(null);
// }
}

_modifyFont(el) {
// const font_desc = Pango.FontDescription.from_string(this._schema.get_string('font'));
// const font_desc = Pango.FontDescription.from_string(this._settings.get_string('font'));
//
// if (this._schema.get_boolean('custom-font')) {
// if (this._settings.get_boolean('custom-font')) {
// el.modify_font(font_desc);
// } else {
// el.modify_font(null);
// }

// cosnt font_desc = Pango.FontDescription.from_string(this._schema.get_string('font'));
// cosnt font_desc = Pango.FontDescription.from_string(this._settings.get_string('font'));
// const pc = el.get_pango_context();
//
// pc.set_font_description(font_desc);
Expand Down Expand Up @@ -274,7 +274,7 @@ export class Calendar {
iter.setDate(iter.getDate() - daysToWeekStart);


const fontSize = `font-size:${(this._schema.get_int('calendar-font-size') + 1) / 10}em;`;
const fontSize = `font-size:${(this._settings.get_int('calendar-font-size') + 1) / 10}em;`;
let row = 2;
let events;

Expand All @@ -301,17 +301,21 @@ export class Calendar {
if (events[0]) {
styleClass += ' pcalendar-day-with-events ';
}
style += `font-weight:600;`;

if (events[1]) {
styleClass += ' calendar-weekend pcalendar-weekend ';
style += `color:${this._schema.get_string('nonwork-color')};`;
style += `color:${this._settings.get_string('nonwork-color')};`;
} else {
styleClass += ' calendar-weekday pcalendar-weekday ';
}
}

if (this._sameDay(now, p_iter)) {
styleClass += ' calendar-today pcalendar-today ';
if (this._settings.get_boolean('custom-today-bg-color')) {
style += `background-color:${this._settings.get_string('today-bg-color')};font-weight:900;`;
}
} else if (!is_same_month) {
styleClass += ' calendar-other-month pcalendar-other-month ';
}
Expand Down Expand Up @@ -359,15 +363,15 @@ export class Calendar {
);

// add persian date
if (this._schema.get_boolean('persian-display')) {
if (this._settings.get_boolean('persian-display')) {
const _datesBox_p = new St.BoxLayout();
this.actor.layout_manager.attach(_datesBox_p, 0, ++row, 7, 1);
const button = this.getPersianDateButton(this._selectedDate, g_selectedDate.getDay());
_datesBox_p.add_child(button);
}

// add gregorian date
if (this._schema.get_boolean('gregorian-display')) {
if (this._settings.get_boolean('gregorian-display')) {
const _datesBox_g = new St.BoxLayout();
this.actor.layout_manager.attach(_datesBox_g, 0, ++row, 7, 1);
const gDate = {
Expand All @@ -380,7 +384,7 @@ export class Calendar {
}

// add hijri date
if (this._schema.get_boolean('hijri-display')) {
if (this._settings.get_boolean('hijri-display')) {
const _datesBox_h = new St.BoxLayout();
this.actor.layout_manager.attach(_datesBox_h, 0, ++row, 7, 1);
const button = this.getHijriDateButton(h_selectedDate, g_selectedDate.getDay());
Expand Down Expand Up @@ -426,7 +430,7 @@ export class Calendar {
_getDateButton(date, dayOfWeek, calendar) {
const button = new St.Button({
label: this.format(
this._schema.get_string(`${calendar}-display-format`),
this._settings.get_string(`${calendar}-display-format`),
date.day,
date.month,
date.year,
Expand Down
38 changes: 19 additions & 19 deletions [email protected]/events/iranLunar.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,50 +11,50 @@ export class iranLunar {
/* [month][day] = [[title, isHoliday]] */
this.events = [[], [], [], [], [], [], [], [], [], [], [], [], []];

this.events[1][1] = [['آغاز سال جدید هجری قمری', false]];
this.events[1][1] = [['آغاز سال جدید هجریقمری', false]];
this.events[1][9] = [['تاسوعای حسینی', true]];
this.events[1][10] = [['عاشورای حسینی', true]];
this.events[1][12] = [['شهادت امام سجاد (ع)', false]];
this.events[2][20] = [['اربعین حسینی', true]];
this.events[2][28] = [['رحلت حضرت رسول اکرم و شهادت امام حسن مجتبی (ع)', true]];
this.events[2][28] = [['رحلت حضرت رسولاکرم و شهادت امام حسنمجتبی (ع)', true]];
this.events[2][30] = [['شهادت امام رضا (ع)', true]];
this.events[3][1] = [['هجرت پیامبر از مکه به مدینه', false]];
this.events[3][8] = [['شهادت امام حسن عسکری (ع)', true]];
this.events[3][17] = [['میلاد حضرت رسول اکرم و امام جعفر صادق (ع)', true]];
this.events[4][8] = [['ولادت امام حسن عسکری (ع)', false]];
this.events[3][8] = [['شهادت امام حسنعسکری (ع)', true]];
this.events[3][17] = [['میلاد حضرت رسولاکرم و امام جعفرصادق (ع)', true]];
this.events[4][8] = [['ولادت امام حسنعسکری (ع)', false]];
this.events[4][10] = [['وفات حضرت معصومه (س)', false]];
this.events[5][5] = [['ولادت حضرت زینب (س) و روز پرستار', false]];
this.events[6][3] = [['شهادت حضرت فاطمه (س)', true]];
this.events[6][20] = [['ولادت حضرت فاطمه (س) و روز زن', false]];
this.events[7][1] = [['ولادت امام محمد باقر (ع)', false]];
this.events[7][3] = [['شهادت امام علی نقی (ع)', false]];
this.events[7][10] = [['ولادت امام محمد تقی (ع)', false]];
this.events[7][1] = [['ولادت امام محمدباقر (ع)', false]];
this.events[7][3] = [['شهادت امام علینقی (ع)', false]];
this.events[7][10] = [['ولادت امام محمدتقی (ع)', false]];
this.events[7][13] = [['ولادت امام علی (ع) و روز پدر', true]];
this.events[7][15] = [['وفات حضرت زینب (س)', false]];
this.events[7][25] = [['شهادت امام موسی کاظم (ع)', false]];
this.events[7][27] = [['مبعث حضرت رسول اکرم (ص)', true]];
this.events[7][25] = [['شهادت امام موسیکاظم (ع)', false]];
this.events[7][27] = [['مبعث حضرت رسولاکرم (ص)', true]];
this.events[8][3] = [['ولادت امام حسین (ع)', false]];
this.events[8][4] = [['ولادت ابوالفضل عباس (ع) و روز جانباز', false]];
this.events[8][4] = [['ولادت ابوالفضلعباس (ع) و روز جانباز', false]];
this.events[8][5] = [['ولادت امام سجاد (ع)', false]];
this.events[8][11] = [['ولادت علی اکبر (ع) و روز جوان', false]];
this.events[8][11] = [['ولادت علیاکبر (ع) و روز جوان', false]];
this.events[8][15] = [['ولادت حضرت قائم (عجل)', true]];
this.events[9][15] = [['ولادت امام حسن مجتبی (ع)', false]];
this.events[9][15] = [['ولادت امام حسنمجتبی (ع)', false]];
this.events[9][18] = [['شب قدر', false]];
this.events[9][19] = [['ضربت خوردن امام علی (ع)', false]];
this.events[9][20] = [['شب قدر', false]];
this.events[9][21] = [['شهادت حضرت علی (ع)', true]];
this.events[9][22] = [['شب قدر', false]];
this.events[10][1] = [['عید فطر', true]];
this.events[10][2] = [['تعطیلات عید فطر', true]];
this.events[10][25] = [['شهادت امام جعفر صادق (ع)', true]];
this.events[10][25] = [['شهادت امام جعفرصادق (ع)', true]];
this.events[11][1] = [['ولادت حضرت معصومه (س) و روز دختران', false]];
this.events[11][11] = [['ولادت امام رضا (ع)', false]];
this.events[11][30] = [['شهادت امام محمد تقی (ع)', false]];
this.events[12][7] = [['شهادت امام محمد باقر (ع)', false]];
this.events[11][30] = [['شهادت امام محمدتقی (ع)', false]];
this.events[12][7] = [['شهادت امام محمدباقر (ع)', false]];
this.events[12][9] = [['روز عرفه', false]];
this.events[12][10] = [['عید قربان', true]];
this.events[12][15] = [['ولادت امام علی نقی (ع)', false]];
this.events[12][18] = [['عید غدیر خم', true]];
this.events[12][20] = [['ولادت امام موسی کاظم (ع)', false]];
this.events[12][15] = [['ولادت امام علینقی (ع)', false]];
this.events[12][18] = [['عید غدیرخم', true]];
this.events[12][20] = [['ولادت امام موسیکاظم (ع)', false]];
}
};
4 changes: 2 additions & 2 deletions [email protected]/events/persianPersonage.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ export class persianPersonage {
this.events = [[], [], [], [], [], [], [], [], [], [], [], [], []];

this.events[1][6] = [['زایش زرتشت', false]];
this.events[1][25] = [['بزرگ‌داشت عطار نیشابوری', false]];
this.events[1][25] = [['بزرگ‌داشت عطارنیشابوری', false]];
this.events[2][1] = [['بزرگ‌داشت سعدی', false]];
this.events[2][25] = [['بزرگ‌داشت فردوسی', false]];
this.events[2][28] = [['بزرگ‌داشت خیام', false]];
Expand All @@ -26,6 +26,6 @@ export class persianPersonage {
this.events[10][5] = [['بزرگ‌داشت رودکی', false]];
this.events[10][20] = [['کشته شدن امیرکبیر', false]];
this.events[11][1] = [['زادروز فردوسی', false]];
this.events[12][5] = [['بزرگ‌داشت خواجه نصیر‌الدین طوسی', false]];
this.events[12][5] = [['بزرگ‌داشت خواجهنصیر‌الدینطوسی', false]];
}
};
8 changes: 4 additions & 4 deletions [email protected]/events/world.js
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ export class world {
this.events[5][1] = [['روز جهانی کارگر', false]];
this.events[5][3] = [['روز جهانی آزادی مطبوعات', false]];
this.events[5][5] = [['روز جهانی ماما', false], ['روز میراث جهانی آفریقا', false], ['روز جهانی زبان پرتغالی', false]];
this.events[5][8] = [['روز جهانی صلیب سرخ و هلال احمر', false]];
this.events[5][8] = [['روز جهانی صلیبسرخ و هلالاحمر', false]];
this.events[5][15] = [['روز جهانی خانواده', false]];
this.events[5][16] = [['روز جهانی نور', false], ['روز جهانی زندگی با هم در صلح', false]];
this.events[5][17] = [['روز جهانی ارتباطات', false]];
Expand All @@ -56,8 +56,8 @@ export class world {
this.events[5][31] = [['روز جهانی بدون دخانیات', false]];
this.events[6][4] = [['روز جهانی کودکان قربانی تجاوز', false]];
this.events[6][5] = [['روز جهانی محیط زیست', false]];
this.events[6][8] = [['روز جهانی اقیانوس ها', false]];
this.events[6][10] = [['روز جهانی صنایع دستی', false]];
this.events[6][8] = [['روز جهانی اقیانوس', false]];
this.events[6][10] = [['روز جهانی صنایعدستی', false]];
this.events[6][12] = [['روز جهانی مبارزه با کار کودکان', false]];
this.events[6][14] = [['روز جهانی اهدای خون', false]];
this.events[6][17] = [['روز جهانی مبارزه با بیابان و خشک‌سالی', false]];
Expand All @@ -72,7 +72,7 @@ export class world {
this.events[8][12] = [['روز جهانی جوانان', false]];
this.events[8][13] = [['روز جهانی چپ‌دست‌ها', false]];
this.events[8][19] = [['روز جهانی عکاسی', false]];
this.events[8][23] = [['روز جهانی یادآوری تجارت برده و لفو آن', false]];
this.events[8][23] = [['روز جهانی یادآوری تجارت برده و لغو آن', false]];
this.events[8][31] = [['روز جهانی وبلاگ', false]];
this.events[9][8] = [['روز جهانی سوادآموزی', false]];
this.events[9][10] = [['روز جهانی پیشگیری از خودکشی', false]];
Expand Down
4 changes: 2 additions & 2 deletions [email protected]/extension.js
Original file line number Diff line number Diff line change
Expand Up @@ -61,15 +61,15 @@ const PersianCalendar = GObject.registerClass(
this.label.set_style(`color:${this._settings.get_string('color')}`);
}
}));

this.event_hooks.push(this._settings.connect('changed::custom-color', () => {
if (this._settings.get_boolean('custom-color')) {
this.label.set_style(`color:${this._settings.get_string('color')}`);
} else {
this.label.set_style('color:');
}
}));


///
this.event_hooks.push(this._settings.connect('changed::widget-format', () => this._updateDate(true, true)));

this.event_hooks.push(this._settings.connect('changed::position', () => {
Expand Down
Loading

0 comments on commit 211aeeb

Please sign in to comment.