Review of "Nepali Patro" version 1

Details Page Preview

A Bikram Sambat calendar for the GNOME date menu with Nepali festivals, public holidays, event dots, and fast search in English or romanised Nepali.

Extension Homepage
https://github.com/rohityadav-sas/nepali-calendar-gnome

No comments.

FAQ

Files

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

Shexli (experimental) warning 3

Shexli found 3 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:789
            this._actionButton = new St.Button({
                style_class: PILL,
                style: SQUARE,
                can_focus: true,
                y_expand: true,
                y_align: Clutter.ActorAlign.FILL,
                accessible_name: 'Search festivals',
                child: this._actionIcon,
            
  • extension.js:788
    this._actionIcon = new St.Icon({icon_name: 'system-search-symbolic', icon_size: 14})
  • extension.js:751
            this._entry = new St.Entry({
                hint_text: 'Search festivals',
                can_focus: true,
                x_expand: true,
                y_expand: true,
                y_align: Clutter.ActorAlign.FILL,
                style: 'min-width: 0; margin-left: 6px;',
                visible: false,
           
  • extension.js:745
    this._modeButton = clip
  • extension.js:744
    this._modeRow = row
  • extension.js:748
    this._spacer = new St.Widget({x_expand: true})
  • extension.js:726
    this._switch = new PopupMenu.Switch(!isBs())
  • extension.js:773
            this._todayButton = new St.Button({
                style_class: PILL,
                style: SQUARE,
                can_focus: true,
                y_expand: true,
                y_align: Clutter.ActorAlign.FILL,
                accessible_name: 'Go to today',
                child: new St.Icon({
                    ic

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:789
            this._actionButton = new St.Button({
                style_class: PILL,
                style: SQUARE,
                can_focus: true,
                y_expand: true,
                y_align: Clutter.ActorAlign.FILL,
                accessible_name: 'Search festivals',
                child: this._actionIcon,
            
  • extension.js:788
    this._actionIcon = new St.Icon({icon_name: 'system-search-symbolic', icon_size: 14})
  • extension.js:751
            this._entry = new St.Entry({
                hint_text: 'Search festivals',
                can_focus: true,
                x_expand: true,
                y_expand: true,
                y_align: Clutter.ActorAlign.FILL,
                style: 'min-width: 0; margin-left: 6px;',
                visible: false,
           
  • extension.js:745
    this._modeButton = clip
  • extension.js:744
    this._modeRow = row
  • extension.js:748
    this._spacer = new St.Widget({x_expand: true})
  • extension.js:726
    this._switch = new PopupMenu.Switch(!isBs())
  • extension.js:773
            this._todayButton = new St.Button({
                style_class: PILL,
                style: SQUARE,
                can_focus: true,
                y_expand: true,
                y_align: Clutter.ActorAlign.FILL,
                accessible_name: 'Go to today',
                child: new St.Icon({
                    ic

EGO-L-003 warning

signals connected by extension should be disconnected in disable()

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

Disconnect all signals

  • extension.js:798
            this._actionButton.connect('clicked', () => {
                if (this._searching)
                    this._closeSearch();
                else
                    this._openSearch();
            })
  • extension.js:764
            this._entry.clutter_text.connect('key-press-event', (_a, ev) => {
                if (ev.get_key_symbol() === Clutter.KEY_Escape) {
                    this._closeSearch();
                    return Clutter.EVENT_STOP;
                }
                return Clutter.EVENT_PROPAGATE;
            })
  • extension.js:760
            this._entry.clutter_text.connect('text-changed', () => {
                searchQuery = this._entry.get_text().trim();
                this._dm?._eventsItem._reloadEvents();
            })
  • extension.js:785
    this._todayButton.connect('clicked', () => this._goToday())
  • extension.js:697
                actor.connect('button-press-event', (_a, ev) => {
                    if (ev.get_button() !== Clutter.BUTTON_PRIMARY)
                        return Clutter.EVENT_PROPAGATE;
                    pressed = true;
                    return Clutter.EVENT_STOP;
                })
  • extension.js:703
                actor.connect('button-release-event', (_a, ev) => {
                    if (!pressed || ev.get_button() !== Clutter.BUTTON_PRIMARY)
                        return Clutter.EVENT_PROPAGATE;
                    pressed = false;
                    fn();
                    return Clutter.EVENT_STOP;
              
  • extension.js:710
                actor.connect('leave-event', () => {
                    pressed = false;
                    return Clutter.EVENT_PROPAGATE;
                })

All Versions

Version Status
1 Unreviewed

Previous Reviews on this Version

rohityadav_sas posted a review
rohityadav_sas posted a review