Review of "Hijri Date" version 17

Details Page Preview

Add Hijri date to top panel

Extension Homepage
https://github.com/abdallah-alkanani/hijridate

No comments.

Diff Against

Files

Note: Binary files aren't shown on the web site. To see all files, please download the extension zipfile.

Shexli (experimental) warning 2

Shexli found 2 issues that may need reviewer attention.

EGO-L-002 warning

objects created by extension should be destroyed in disable()

Objects assigned in `enable()` are missing matching `.destroy()` calls in `disable()` or its helper methods.

Destroy all objects

  • extension.js:450
            this._calendarGrid = new St.Widget({
                layout_manager: this._calendarGridLayout,
                style_class: 'hijri-calendar-grid calendar',
                x_expand: true,
            })
  • extension.js:443
            this._calendarGridLayout = new Clutter.GridLayout({
                column_homogeneous: true,
                row_homogeneous: true,
            })
  • extension.js:333
            this._calendarHeader = new St.BoxLayout({
                style_class: 'hijri-calendar-header-row',
                x_expand: true,
            })
  • extension.js:344
            this._calendarHeaderCenter = new St.Widget({
                layout_manager: new Clutter.BinLayout(),
                x_expand: true,
            })
  • extension.js:348
            this._calendarHeaderCenterBox = new St.BoxLayout({
                x_align: Clutter.ActorAlign.CENTER,
                y_align: Clutter.ActorAlign.CENTER,
            })
  • extension.js:339
            this._calendarHeaderSpacer = new St.Widget({
                style_class: 'hijri-calendar-header-spacer',
            })
  • extension.js:360
            this._calendarMonthButton = new St.Button({
                child: this._calendarMonthLabel,
                label_actor: this._calendarMonthLabel,
                style_class: 'hijri-calendar-header-button hijri-calendar-header-month',
                can_focus: true,
                reactive: true,
              
  • extension.js:355
            this._calendarMonthLabel = new St.Label({
                style_class: 'hijri-calendar-header',
                x_align: Clutter.ActorAlign.CENTER,
                y_align: Clutter.ActorAlign.CENTER,
            })
  • extension.js:388
            this._calendarTodayButton = new St.Button({
                label: _('Today'),
                style_class: 'hijri-calendar-today-button',
                can_focus: true,
                reactive: true,
                track_hover: true,
                x_align: Clutter.ActorAlign.END,
                y_align: Clutter
  • extension.js:375
            this._calendarYearButton = new St.Button({
                child: this._calendarYearLabel,
                label_actor: this._calendarYearLabel,
                style_class: 'hijri-calendar-header-button',
                can_focus: true,
                reactive: true,
                track_hover: true,
            })
  • extension.js:370
            this._calendarYearLabel = new St.Label({
                style_class: 'hijri-calendar-header',
                x_align: Clutter.ActorAlign.CENTER,
                y_align: Clutter.ActorAlign.CENTER,
            })
  • extension.js:403
            this._monthPickerBox = new St.BoxLayout({
                vertical: true,
                style_class: 'hijri-calendar-picker',
                x_expand: true,
                visible: false,
            })
  • extension.js:416
            this._monthPickerGrid = new St.Widget({
                layout_manager: this._monthPickerGridLayout,
                style_class: 'hijri-calendar-picker-grid',
                x_expand: true,
            })
  • extension.js:409
            this._monthPickerGridLayout = new Clutter.GridLayout({
                column_homogeneous: true,
                row_homogeneous: true,
            })
  • extension.js:424
            this._yearPickerBox = new St.BoxLayout({
                vertical: true,
                style_class: 'hijri-calendar-picker',
                x_expand: true,
                visible: false,
                reactive: true,
                can_focus: true,
                track_hover: true,
            })
  • extension.js:435
            this._yearPickerList = new St.BoxLayout({
                vertical: true,
                style_class: 'hijri-calendar-year-list',
                x_expand: true,
            })

EGO-L-005 warning

owned object references should be released in disable()

Owned references that are cleaned up in `disable()` should also be released with `null` or `undefined`.

Destroy all objects

  • extension.js:450
            this._calendarGrid = new St.Widget({
                layout_manager: this._calendarGridLayout,
                style_class: 'hijri-calendar-grid calendar',
                x_expand: true,
            })
  • extension.js:443
            this._calendarGridLayout = new Clutter.GridLayout({
                column_homogeneous: true,
                row_homogeneous: true,
            })
  • extension.js:333
            this._calendarHeader = new St.BoxLayout({
                style_class: 'hijri-calendar-header-row',
                x_expand: true,
            })
  • extension.js:344
            this._calendarHeaderCenter = new St.Widget({
                layout_manager: new Clutter.BinLayout(),
                x_expand: true,
            })
  • extension.js:348
            this._calendarHeaderCenterBox = new St.BoxLayout({
                x_align: Clutter.ActorAlign.CENTER,
                y_align: Clutter.ActorAlign.CENTER,
            })
  • extension.js:339
            this._calendarHeaderSpacer = new St.Widget({
                style_class: 'hijri-calendar-header-spacer',
            })
  • extension.js:360
            this._calendarMonthButton = new St.Button({
                child: this._calendarMonthLabel,
                label_actor: this._calendarMonthLabel,
                style_class: 'hijri-calendar-header-button hijri-calendar-header-month',
                can_focus: true,
                reactive: true,
              
  • extension.js:355
            this._calendarMonthLabel = new St.Label({
                style_class: 'hijri-calendar-header',
                x_align: Clutter.ActorAlign.CENTER,
                y_align: Clutter.ActorAlign.CENTER,
            })
  • extension.js:388
            this._calendarTodayButton = new St.Button({
                label: _('Today'),
                style_class: 'hijri-calendar-today-button',
                can_focus: true,
                reactive: true,
                track_hover: true,
                x_align: Clutter.ActorAlign.END,
                y_align: Clutter
  • extension.js:375
            this._calendarYearButton = new St.Button({
                child: this._calendarYearLabel,
                label_actor: this._calendarYearLabel,
                style_class: 'hijri-calendar-header-button',
                can_focus: true,
                reactive: true,
                track_hover: true,
            })
  • extension.js:370
            this._calendarYearLabel = new St.Label({
                style_class: 'hijri-calendar-header',
                x_align: Clutter.ActorAlign.CENTER,
                y_align: Clutter.ActorAlign.CENTER,
            })
  • extension.js:403
            this._monthPickerBox = new St.BoxLayout({
                vertical: true,
                style_class: 'hijri-calendar-picker',
                x_expand: true,
                visible: false,
            })
  • extension.js:416
            this._monthPickerGrid = new St.Widget({
                layout_manager: this._monthPickerGridLayout,
                style_class: 'hijri-calendar-picker-grid',
                x_expand: true,
            })
  • extension.js:409
            this._monthPickerGridLayout = new Clutter.GridLayout({
                column_homogeneous: true,
                row_homogeneous: true,
            })
  • extension.js:424
            this._yearPickerBox = new St.BoxLayout({
                vertical: true,
                style_class: 'hijri-calendar-picker',
                x_expand: true,
                visible: false,
                reactive: true,
                can_focus: true,
                track_hover: true,
            })
  • extension.js:435
            this._yearPickerList = new St.BoxLayout({
                vertical: true,
                style_class: 'hijri-calendar-year-list',
                x_expand: true,
            })

All Versions

Previous Reviews on this Version

JustPerfection active