Compare commits
No commits in common. "09d7b3386b52ace6e05f58e78b333d7eb7dd9525" and "6e83fc331b8efd4860e14096bd8a1ffbbcab1c76" have entirely different histories.
09d7b3386b
...
6e83fc331b
252
.eslintrc.yml
252
.eslintrc.yml
@ -1,252 +0,0 @@
|
|||||||
---
|
|
||||||
# SPDX-License-Identifier: MIT OR LGPL-2.0-or-later
|
|
||||||
# SPDX-FileCopyrightText: 2018 Claudio André <claudioandre.br@gmail.com>
|
|
||||||
extends: 'eslint:recommended'
|
|
||||||
rules:
|
|
||||||
array-bracket-newline:
|
|
||||||
- error
|
|
||||||
- consistent
|
|
||||||
array-bracket-spacing:
|
|
||||||
- error
|
|
||||||
- never
|
|
||||||
array-callback-return: error
|
|
||||||
arrow-parens:
|
|
||||||
- error
|
|
||||||
- as-needed
|
|
||||||
arrow-spacing: error
|
|
||||||
block-scoped-var: error
|
|
||||||
block-spacing: error
|
|
||||||
brace-style: error
|
|
||||||
# Waiting for this to have matured a bit in eslint
|
|
||||||
# camelcase:
|
|
||||||
# - error
|
|
||||||
# - properties: never
|
|
||||||
# allow: [^vfunc_, ^on_, _instance_init]
|
|
||||||
comma-dangle:
|
|
||||||
- error
|
|
||||||
- arrays: always-multiline
|
|
||||||
objects: always-multiline
|
|
||||||
functions: never
|
|
||||||
comma-spacing:
|
|
||||||
- error
|
|
||||||
- before: false
|
|
||||||
after: true
|
|
||||||
comma-style:
|
|
||||||
- error
|
|
||||||
- last
|
|
||||||
computed-property-spacing: error
|
|
||||||
curly:
|
|
||||||
- error
|
|
||||||
- multi-or-nest
|
|
||||||
- consistent
|
|
||||||
dot-location:
|
|
||||||
- error
|
|
||||||
- property
|
|
||||||
eol-last: error
|
|
||||||
eqeqeq: error
|
|
||||||
func-call-spacing: error
|
|
||||||
func-name-matching: error
|
|
||||||
func-style:
|
|
||||||
- error
|
|
||||||
- declaration
|
|
||||||
- allowArrowFunctions: true
|
|
||||||
indent:
|
|
||||||
- error
|
|
||||||
- 4
|
|
||||||
- ignoredNodes:
|
|
||||||
# Allow not indenting the body of GObject.registerClass, since in the
|
|
||||||
# future it's intended to be a decorator
|
|
||||||
- 'CallExpression[callee.object.name=GObject][callee.property.name=registerClass] > ClassExpression:first-child'
|
|
||||||
# Allow dedenting chained member expressions
|
|
||||||
MemberExpression: 'off'
|
|
||||||
key-spacing:
|
|
||||||
- error
|
|
||||||
- beforeColon: false
|
|
||||||
afterColon: true
|
|
||||||
keyword-spacing:
|
|
||||||
- error
|
|
||||||
- before: true
|
|
||||||
after: true
|
|
||||||
linebreak-style:
|
|
||||||
- error
|
|
||||||
- unix
|
|
||||||
lines-between-class-members:
|
|
||||||
- error
|
|
||||||
- always
|
|
||||||
- exceptAfterSingleLine: true
|
|
||||||
max-nested-callbacks: error
|
|
||||||
max-statements-per-line: error
|
|
||||||
new-parens: error
|
|
||||||
no-array-constructor: error
|
|
||||||
no-await-in-loop: error
|
|
||||||
no-caller: error
|
|
||||||
no-constant-condition:
|
|
||||||
- error
|
|
||||||
- checkLoops: false
|
|
||||||
no-div-regex: error
|
|
||||||
no-empty:
|
|
||||||
- error
|
|
||||||
- allowEmptyCatch: true
|
|
||||||
no-extra-bind: error
|
|
||||||
no-extra-parens:
|
|
||||||
- error
|
|
||||||
- all
|
|
||||||
- conditionalAssign: false
|
|
||||||
nestedBinaryExpressions: false
|
|
||||||
returnAssign: false
|
|
||||||
no-implicit-coercion:
|
|
||||||
- error
|
|
||||||
- allow:
|
|
||||||
- '!!'
|
|
||||||
no-invalid-this: error
|
|
||||||
no-iterator: error
|
|
||||||
no-label-var: error
|
|
||||||
no-lonely-if: error
|
|
||||||
no-loop-func: error
|
|
||||||
no-nested-ternary: error
|
|
||||||
no-new-object: error
|
|
||||||
no-new-wrappers: error
|
|
||||||
no-octal-escape: error
|
|
||||||
no-proto: error
|
|
||||||
no-prototype-builtins: 'off'
|
|
||||||
no-restricted-globals: [error, window]
|
|
||||||
no-restricted-properties:
|
|
||||||
- error
|
|
||||||
- object: imports
|
|
||||||
property: format
|
|
||||||
message: Use template strings
|
|
||||||
- object: pkg
|
|
||||||
property: initFormat
|
|
||||||
message: Use template strings
|
|
||||||
- object: Lang
|
|
||||||
property: copyProperties
|
|
||||||
message: Use Object.assign()
|
|
||||||
- object: Lang
|
|
||||||
property: bind
|
|
||||||
message: Use arrow notation or Function.prototype.bind()
|
|
||||||
- object: Lang
|
|
||||||
property: Class
|
|
||||||
message: Use ES6 classes
|
|
||||||
no-restricted-syntax:
|
|
||||||
- error
|
|
||||||
- selector: >-
|
|
||||||
MethodDefinition[key.name="_init"] >
|
|
||||||
FunctionExpression[params.length=1] >
|
|
||||||
BlockStatement[body.length=1]
|
|
||||||
CallExpression[arguments.length=1][callee.object.type="Super"][callee.property.name="_init"] >
|
|
||||||
Identifier:first-child
|
|
||||||
message: _init() that only calls super._init() is unnecessary
|
|
||||||
- selector: >-
|
|
||||||
MethodDefinition[key.name="_init"] >
|
|
||||||
FunctionExpression[params.length=0] >
|
|
||||||
BlockStatement[body.length=1]
|
|
||||||
CallExpression[arguments.length=0][callee.object.type="Super"][callee.property.name="_init"]
|
|
||||||
message: _init() that only calls super._init() is unnecessary
|
|
||||||
- selector: BinaryExpression[operator="instanceof"][right.name="Array"]
|
|
||||||
message: Use Array.isArray()
|
|
||||||
no-return-assign: error
|
|
||||||
no-return-await: error
|
|
||||||
no-self-compare: error
|
|
||||||
no-shadow: error
|
|
||||||
no-shadow-restricted-names: error
|
|
||||||
no-spaced-func: error
|
|
||||||
no-tabs: error
|
|
||||||
no-template-curly-in-string: error
|
|
||||||
no-throw-literal: error
|
|
||||||
no-trailing-spaces: error
|
|
||||||
no-undef-init: error
|
|
||||||
no-unneeded-ternary: error
|
|
||||||
no-unused-expressions: error
|
|
||||||
no-unused-vars:
|
|
||||||
- error
|
|
||||||
# Vars use a suffix _ instead of a prefix because of file-scope private vars
|
|
||||||
- varsIgnorePattern: (^unused|_$)
|
|
||||||
argsIgnorePattern: ^(unused|_)
|
|
||||||
no-useless-call: error
|
|
||||||
no-useless-computed-key: error
|
|
||||||
no-useless-concat: error
|
|
||||||
no-useless-constructor: error
|
|
||||||
no-useless-rename: error
|
|
||||||
no-useless-return: error
|
|
||||||
no-whitespace-before-property: error
|
|
||||||
no-with: error
|
|
||||||
nonblock-statement-body-position:
|
|
||||||
- error
|
|
||||||
- below
|
|
||||||
object-curly-newline:
|
|
||||||
- error
|
|
||||||
- consistent: true
|
|
||||||
multiline: true
|
|
||||||
object-curly-spacing: error
|
|
||||||
object-shorthand: error
|
|
||||||
operator-assignment: error
|
|
||||||
operator-linebreak: error
|
|
||||||
padded-blocks:
|
|
||||||
- error
|
|
||||||
- never
|
|
||||||
# These may be a bit controversial, we can try them out and enable them later
|
|
||||||
# prefer-const: error
|
|
||||||
# prefer-destructuring: error
|
|
||||||
prefer-numeric-literals: error
|
|
||||||
prefer-promise-reject-errors: error
|
|
||||||
prefer-rest-params: error
|
|
||||||
prefer-spread: error
|
|
||||||
prefer-template: error
|
|
||||||
quotes:
|
|
||||||
- error
|
|
||||||
- single
|
|
||||||
- avoidEscape: true
|
|
||||||
require-await: error
|
|
||||||
rest-spread-spacing: error
|
|
||||||
semi:
|
|
||||||
- error
|
|
||||||
- always
|
|
||||||
semi-spacing:
|
|
||||||
- error
|
|
||||||
- before: false
|
|
||||||
after: true
|
|
||||||
semi-style: error
|
|
||||||
space-before-blocks: error
|
|
||||||
space-before-function-paren:
|
|
||||||
- error
|
|
||||||
- named: never
|
|
||||||
# for `function ()` and `async () =>`, preserve space around keywords
|
|
||||||
anonymous: always
|
|
||||||
asyncArrow: always
|
|
||||||
space-in-parens: error
|
|
||||||
space-infix-ops:
|
|
||||||
- error
|
|
||||||
- int32Hint: false
|
|
||||||
space-unary-ops: error
|
|
||||||
spaced-comment: error
|
|
||||||
switch-colon-spacing: error
|
|
||||||
symbol-description: error
|
|
||||||
template-curly-spacing: error
|
|
||||||
template-tag-spacing: error
|
|
||||||
unicode-bom: error
|
|
||||||
wrap-iife:
|
|
||||||
- error
|
|
||||||
- inside
|
|
||||||
yield-star-spacing: error
|
|
||||||
yoda: error
|
|
||||||
globals:
|
|
||||||
ARGV: readonly
|
|
||||||
Debugger: readonly
|
|
||||||
GIRepositoryGType: readonly
|
|
||||||
globalThis: readonly
|
|
||||||
imports: readonly
|
|
||||||
Intl: readonly
|
|
||||||
log: readonly
|
|
||||||
logError: readonly
|
|
||||||
print: readonly
|
|
||||||
printerr: readonly
|
|
||||||
window: readonly
|
|
||||||
TextEncoder: readonly
|
|
||||||
TextDecoder: readonly
|
|
||||||
console: readonly
|
|
||||||
setTimeout: readonly
|
|
||||||
setInterval: readonly
|
|
||||||
clearTimeout: readonly
|
|
||||||
clearInterval: readonly
|
|
||||||
parserOptions:
|
|
||||||
ecmaVersion: 2021
|
|
43
extension.js
43
extension.js
@ -169,23 +169,15 @@ class Indicator extends PanelMenu.Button {
|
|||||||
this._prefsButton = this._createButton ( 'big', 'preferences-system-symbolic', _('Preferences'), this._onPreferencesActivate );
|
this._prefsButton = this._createButton ( 'big', 'preferences-system-symbolic', _('Preferences'), this._onPreferencesActivate );
|
||||||
this._buttonMenu.actor.add_child (this._prefsButton);
|
this._buttonMenu.actor.add_child (this._prefsButton);
|
||||||
|
|
||||||
this._reloadButton = this._createButton ( 'big', 'view-refresh-symbolic', _('Reload view'), this.updateStatus );
|
|
||||||
this._buttonMenu.actor.add_child (this._reloadButton );
|
|
||||||
|
|
||||||
if ( this.serverLogic && this.serverLogic.canRecheck )
|
if ( this.serverLogic && this.serverLogic.canRecheck )
|
||||||
{
|
{
|
||||||
let multiButtonBox = new St.BoxLayout( { style_class: 'monito-multibutton' } );
|
|
||||||
this._recheckButton = this._createButton ( 'big', 'mail-send-receive-symbolic', _('Recheck all'), this.recheckAll );
|
this._recheckButton = this._createButton ( 'big', 'mail-send-receive-symbolic', _('Recheck all'), this.recheckAll );
|
||||||
this._recheckSpecialButton = this._createPopupButton ( this.recheckSpecial );
|
this._buttonMenu.actor.add_child (this._recheckButton );
|
||||||
multiButtonBox.add_child ( this._recheckButton );
|
|
||||||
multiButtonBox.add_child ( this._recheckSpecialButton );
|
|
||||||
this._buttonMenu.actor.add_child (multiButtonBox);
|
|
||||||
|
|
||||||
const sourceActor = new St.Widget();
|
|
||||||
this._menu = new PopupMenu.PopupMenu(sourceActor, 0.0, St.Side.TOP);
|
|
||||||
const menuItem1 = this._menu.addAction('Item 1', () => console.log('activated'));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this._reloadButton = this._createButton ( 'big', 'view-refresh-symbolic', _('Reload view'), this.updateStatus );
|
||||||
|
this._buttonMenu.actor.add_child (this._reloadButton );
|
||||||
|
|
||||||
let _intermediate = new PopupMenu.PopupBaseMenuItem ( {
|
let _intermediate = new PopupMenu.PopupBaseMenuItem ( {
|
||||||
style_class: 'monito-services',
|
style_class: 'monito-services',
|
||||||
reactive: false
|
reactive: false
|
||||||
@ -230,11 +222,6 @@ class Indicator extends PanelMenu.Button {
|
|||||||
this.serverLogic.recheckAll ( this._recheckButton );
|
this.serverLogic.recheckAll ( this._recheckButton );
|
||||||
}
|
}
|
||||||
|
|
||||||
recheckSpecial ( )
|
|
||||||
{
|
|
||||||
this._menu.open();
|
|
||||||
}
|
|
||||||
|
|
||||||
changeShowAll ( )
|
changeShowAll ( )
|
||||||
{
|
{
|
||||||
this.showAll = ! this.showAll;
|
this.showAll = ! this.showAll;
|
||||||
@ -707,28 +694,6 @@ class Indicator extends PanelMenu.Button {
|
|||||||
return button;
|
return button;
|
||||||
}
|
}
|
||||||
|
|
||||||
_createPopupButton ( callback ) {
|
|
||||||
let size = 48;
|
|
||||||
let sizeName = 'big';
|
|
||||||
|
|
||||||
let button = new St.Button({
|
|
||||||
x_align: Clutter.ActorAlign.END,
|
|
||||||
y_align: Clutter.ActorAlign.CENTER,
|
|
||||||
reactive: true,
|
|
||||||
can_focus: true,
|
|
||||||
track_hover: true,
|
|
||||||
style_class: 'button %s-button'.format(sizeName),
|
|
||||||
rotation_angle_x: 0.0,
|
|
||||||
width: 32,
|
|
||||||
height: size
|
|
||||||
});
|
|
||||||
|
|
||||||
button.child = PopupMenu.arrowIcon(St.Side.BOTTOM);
|
|
||||||
|
|
||||||
button.connect('clicked', Lang.bind(this, callback ) );
|
|
||||||
return button;
|
|
||||||
}
|
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
class Extension {
|
class Extension {
|
||||||
|
29
prefs.js
29
prefs.js
@ -53,7 +53,7 @@ const column_definitions = {
|
|||||||
next_check: { label: _('Next check'), width: 200, expand: false, type: 'date' },
|
next_check: { label: _('Next check'), width: 200, expand: false, type: 'date' },
|
||||||
last_state_change: { label: _('Last state changed'), width: 200, expand: false, type: 'date' },
|
last_state_change: { label: _('Last state changed'), width: 200, expand: false, type: 'date' },
|
||||||
attempts: { label: _('Attempts'), width: 50, expand: false, },
|
attempts: { label: _('Attempts'), width: 50, expand: false, },
|
||||||
status_information: { label: _('Test result'), width: 600, expand: false, },
|
status_information: { label: _('Information'), width: 600, expand: false, },
|
||||||
output: { label: _('Output'), width: 600, expand: false, },
|
output: { label: _('Output'), width: 600, expand: false, },
|
||||||
actions: { label: 'Actions', width: 50, expand: false, special: 'actions' },
|
actions: { label: 'Actions', width: 50, expand: false, special: 'actions' },
|
||||||
};
|
};
|
||||||
@ -100,7 +100,7 @@ function init() {
|
|||||||
this.settings = ExtensionUtils.getSettings(SETTINGS_SCHEMA);
|
this.settings = ExtensionUtils.getSettings(SETTINGS_SCHEMA);
|
||||||
|
|
||||||
this.gtkVersion = Gtk.get_major_version();
|
this.gtkVersion = Gtk.get_major_version();
|
||||||
// monitoLog ( 'GTK version is ' + this.gtkVersion );
|
monitoLog ( 'GTK version is ' + this.gtkVersion );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -377,7 +377,7 @@ function createColumnsPrefTab ( noteBook, type, isActive )
|
|||||||
{
|
{
|
||||||
let grid = new Gtk.Grid ( {
|
let grid = new Gtk.Grid ( {
|
||||||
halign: Gtk.Align.FILL,
|
halign: Gtk.Align.FILL,
|
||||||
margin: 18,
|
// margin: 18,
|
||||||
column_spacing: 12,
|
column_spacing: 12,
|
||||||
row_spacing: 12,
|
row_spacing: 12,
|
||||||
visible: true,
|
visible: true,
|
||||||
@ -395,10 +395,13 @@ function createColumnsPrefTab ( noteBook, type, isActive )
|
|||||||
let columnNumbers = new Gtk.TreeViewColumn ( { title: _("Column") } );
|
let columnNumbers = new Gtk.TreeViewColumn ( { title: _("Column") } );
|
||||||
this.ColumnNameRenderer = new Gtk.CellRendererCombo ( { editable: true,
|
this.ColumnNameRenderer = new Gtk.CellRendererCombo ( { editable: true,
|
||||||
has_entry: false,
|
has_entry: false,
|
||||||
text_column: 0 } );
|
text_column: 1 } );
|
||||||
this.ColumnNameRenderer.connect("edited", onComboChanged)
|
this.ColumnNameRenderer.connect("edited", onComboChanged)
|
||||||
this.ColumnNameRenderer.col = 0;
|
this.ColumnNameRenderer.col = 0;
|
||||||
|
if ( this.gtkVersion == 4 )
|
||||||
columnNumbers.pack_start(this.ColumnNameRenderer, true);
|
columnNumbers.pack_start(this.ColumnNameRenderer, true);
|
||||||
|
else
|
||||||
|
columnNumbers.append(this.ColumnNameRenderer, true);
|
||||||
columnNumbers.add_attribute(this.ColumnNameRenderer, 'text', 0);
|
columnNumbers.add_attribute(this.ColumnNameRenderer, 'text', 0);
|
||||||
this.treeView.append_column(columnNumbers);
|
this.treeView.append_column(columnNumbers);
|
||||||
this.ColumnNameRenderer.connect('edited', Lang.bind ( this, this.editColumn ) );
|
this.ColumnNameRenderer.connect('edited', Lang.bind ( this, this.editColumn ) );
|
||||||
@ -479,7 +482,7 @@ function activateAccountRow ( ) {
|
|||||||
for ( var i in _columns )
|
for ( var i in _columns )
|
||||||
{
|
{
|
||||||
let _iter = this.store.append();
|
let _iter = this.store.append();
|
||||||
this.store.set_value(_iter, 0, getEntryLabel ( _columns [ i ] ) );
|
this.store.set_value(_iter, 0, _columns [ i ] );
|
||||||
this.store.set_value(_iter, 1, parseInt(_columnsSizes [ i ]) );
|
this.store.set_value(_iter, 1, parseInt(_columnsSizes [ i ]) );
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -639,21 +642,6 @@ function removeColumnRow ( widget ) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function getEntryName ( text )
|
|
||||||
{
|
|
||||||
for ( let [ _colName, _colDef ] of Object.entries(column_definitions) )
|
|
||||||
if ( _colDef.label == text )
|
|
||||||
return _colName;
|
|
||||||
return 'N/A';
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function getEntryLabel ( text )
|
|
||||||
{
|
|
||||||
return column_definitions[text].label;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function editColumn ( widget, path, text )
|
function editColumn ( widget, path, text )
|
||||||
{
|
{
|
||||||
let _row = this.accountsChooser.get_selected_row();
|
let _row = this.accountsChooser.get_selected_row();
|
||||||
@ -669,7 +657,6 @@ function editColumn ( widget, path, text )
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
this.store.set_value(_iter[1], widget.col, text );
|
this.store.set_value(_iter[1], widget.col, text );
|
||||||
text = getEntryName ( text );
|
|
||||||
prefKey = 'columns';
|
prefKey = 'columns';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user