Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,10 @@ addon/doc/*.css
addon/doc/en/
*_docHandler.py
*.html
*.ini
manifest.ini
*.mo
*.pot
*.py[co]
*.nvda-addon
.sconsign.dblite
/[0-9]*.[0-9]*.[0-9]*.json
41 changes: 16 additions & 25 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -1,15 +1,16 @@

# Copied from https://github.com/nvaccess/nvda
# https://pre-commit.ci/
# Configuration for Continuous Integration service
ci:
skip: [pyrightLocal]
# Pyright does not seem to work in pre-commit CI
skip: [pyright]
autoupdate_schedule: monthly
autoupdate_commit_msg: "Pre-commit auto-update"
autofix_commit_msg: "Pre-commit auto-fix"
submodules: true

default_language_version:
python: python3.11
python: python3.13

repos:
- repo: https://github.com/pre-commit-ci/pre-commit-ci-config
Expand All @@ -29,7 +30,7 @@ repos:
hooks:
# Prevents commits to certain branches
- id: no-commit-to-branch
args: ["--branch", "main"]
args: ["--branch", "main", "--branch", "master", ]
# Checks that large files have not been added. Default cut-off for "large" files is 500kb.
- id: check-added-large-files
# Checks python syntax
Expand All @@ -42,26 +43,24 @@ repos:
- id: debug-statements
# Removes trailing whitespace.
- id: trailing-whitespace
types_or: [python, markdown, toml, yaml]
types_or: [python, c, c++, batch, markdown, toml, yaml, powershell]
# Ensures all files end in 1 (and only 1) newline.
- id: end-of-file-fixer
types_or: [python, markdown, toml, yaml]
types_or: [python, c, c++, batch, markdown, toml, yaml, powershell]
# Removes the UTF-8 BOM from files that have it.
# See https://github.com/nvaccess/nvda/blob/master/projectDocs/dev/codingStandards.md#encoding
- id: fix-byte-order-marker
types_or: [python, markdown, toml, yaml]
types_or: [python, c, c++, batch, markdown, toml, yaml, powershell]
# Validates TOML files.
- id: check-toml
# Validates YAML files.
- id: check-yaml
# Validates XML files.
# Ensures that links to lines in files under version control point to a particular commit.
- id: check-vcs-permalinks
# Avoids using reserved Windows filenames.
- id: check-illegal-windows-names

- repo: https://github.com/asottile/add-trailing-comma
rev: v3.1.0
rev: v3.2.0
hooks:
# Ruff preserves indent/new-line formatting of function arguments, list items, and similar iterables,
# if a trailing comma is added.
Expand All @@ -70,27 +69,19 @@ repos:

- repo: https://github.com/astral-sh/ruff-pre-commit
# Matches Ruff version in pyproject.
rev: v0.8.1
rev: v0.12.7
hooks:
- id: ruff
name: lint with ruff
args: [ --fix ]
- id: ruff-format
name: format with ruff

- repo: https://github.com/RobertCraigie/pyright-python
rev: v1.1.394
- repo: local
hooks:
- id: pyright
alias: pyrightLocal
name: Check types with pyright

- repo: https://github.com/RobertCraigie/pyright-python
rev: v1.1.396
hooks:
- id: pyright
alias: pyrightCI
name: Check types with pyright
# use nodejs version of pyright and install pyproject.toml for CI
additional_dependencies: [".", "pyright[nodejs]"]
stages: [manual] # Only run from CI manually
- id: pyright
name: type check with pyright
entry: uv run pyright
language: system
types: [python]
14 changes: 7 additions & 7 deletions addon/doc/ar/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,11 @@ Tested on [eMule][1] 0.50a and 70b.
## الأوامر والمفاتيح المختصرة ##

* control+shift+h: تحريك مؤشر الفأرة ومؤشر النظام تجاه شريط الأدوات
الرئيسي.
الرئيسي.
* control+shift+t: لقراءة النافذة الحالية
* control+shift+n: لتحريك مؤشر النظام إلى حقل الاسم في نافذة البحث.
* control+shift+p: في نافذة البحث يحرك مؤشر الفأرة ومؤشر النظام تجاه قائمة
معطيات البحث أو خيارات حقول التحرير.
معطيات البحث أو خيارات حقول التحرير.
* control+shift+b: لتحريك مؤشر النظام تجاه القائمة الموجودة بالنافذة
الحالية. كالانتقال إلى قوائم نتائج البحث, أو التحميلات بنافذة نقل الملفات,
وهكذا.
Expand All @@ -28,13 +28,13 @@ Tested on [eMule][1] 0.50a and 70b.
الخوادم المتاحة, وهكذا.
* control+NVDA+f: If the caret is located in a read only edit box, opens a
find dialog to use the commands for searching text available in NVDA.
* control+shift+l: لتحريك مؤشر NVDA ومؤشر الفأرة تجاه رأس القائمة الحالية.
* control+shift+l: لتحريك مؤشر NVDA ومؤشر الفأرة تجاه رأس القائمة الحالية.
* control+shift+q: لقراءة أول كائن في شريط الحالة. يعطي معلومات عن أحدث أمر
تم تنفيذه.
تم تنفيذه.
* control+shift+w: لقراءة الكائن الثاني في شريط الحالة. ويحتوي على معلومات
عن الملفات والمستخدمين الحاليين على الخادم الحالي.
عن الملفات والمستخدمين الحاليين على الخادم الحالي.
* control+shift+e: لقراءة الكائن الثالث في شريط الحالة. مفيد في معرفة سرعة
الرفع والتنزيل.
الرفع والتنزيل.
* control+shift+r: Reads The fourth object of the status bar; reports on
connecting of eD2K and Kad network.
* Not assigned: Toggles the usage of an alternative approach to read
Expand All @@ -45,7 +45,7 @@ Tested on [eMule][1] 0.50a and 70b.
إذا كنت داخل القائمة يمكنك التنقل بين الصفوف والأعمدة باستخدام alt+control
مع الأسهم. وفي هذه الإضافة تتوفر أيضا مفاتيح الاختصار التالية:

* nvda+control+1-0: لقراءة الأعمدة العشر الأولى.
* nvda+control+1-0: لقراءة الأعمدة العشر الأولى.
* nvda+shift+1-0: لقراءة الأعمدة من 11-20.
* nvda+shift+C: لنسخ محتوى آخر عمود تمت قراءته إلى الحافظة.

Expand Down
2 changes: 1 addition & 1 deletion addon/doc/nl/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ Tested on [eMule][1] 0.50a and 70b.
* control+shift+p: In het Zoekscherm, verplaatst focus en muis naar de lijst
met zoekopties, of opties voor het invoerveld.
* control+shift+b: Verplaatst de focus naar de lijst in het huidige
venster. Bijvoorbeeld:
venster. Bijvoorbeeld:
* control+shift+o: Verplaatst de focus naar alleen-lezen invoervelden in het
huidige venster. Bijvoorbeeld: via IRC ontvangen berichten, beschikbare
servers, etc.
Expand Down
114 changes: 76 additions & 38 deletions buildVars.py
Original file line number Diff line number Diff line change
@@ -1,63 +1,101 @@
# -*- coding: UTF-8 -*-
import os.path
# Build customizations
# Change this file instead of sconstruct or manifest files, whenever possible.

# Full getext (please don't change)
_ = lambda x : x
from site_scons.site_tools.NVDATool.typings import AddonInfo, BrailleTables, SymbolDictionaries

# Since some strings in `addon_info` are translatable,
# we need to include them in the .po files.
# Gettext recognizes only strings given as parameters to the `_` function.
# To avoid initializing translations in this module we simply import a "fake" `_` function
# which returns whatever is given to it as an argument.
from site_scons.site_tools.NVDATool.utils import _


# Add-on information variables
addon_info = {
# for previously unpublished addons, please follow the community guidelines at:
# https://bitbucket.org/nvdaaddonteam/todo/raw/master/guideLines.txt
# add-on Name, internal for nvda
"addon_name": "eMule",
# Add-on summary, usually the user visible name of the addon.
# Translators: Summary for this add-on to be shown on installation and add-on information.
"addon_summary": _("eMule"),
addon_info = AddonInfo(
# add-on Name/identifier, internal for NVDA
addon_name="eMule",
# Add-on summary/title, usually the user visible name of the add-on
# Translators: Summary/title for this add-on
# to be shown on installation and add-on information found in add-on store
addon_summary="eMule",
# Add-on description
# Translators: Long description to be shown for this add-on on add-on information from add-ons manager
"addon_description": _("""Improves eMule's accessibility with NVDA.
eMule is a P2P program to search and share files.
You can get more information about eMule at
http://www.emule-project.net"""),
# Translators: Long description to be shown for this add-on on add-on information from add-on store
addon_description="""Improves eMule's accessibility with NVDA.\neMule is a P2P program to search and share files.\nYou can get more information about eMule at\nhttp://www.emule-project.net""",
# version
"addon_version": "24.0.0",
addon_version="24.0.0",
# Brief changelog for this version
# Translators: what's new content for the add-on version to be shown in the add-on store
addon_changelog=_("* Compatible with NVDA 2026.1."),
# Author(s)
"addon_author": u"Noelia <nrm1977@gmail.com>, Chris <llajta2012@gmail.com>, Alberto <a.buffolino@gmail.com>",
addon_author="Noelia <nrm1977@gmail.com>, Chris <llajta2012@gmail.com>, Alberto <a.buffolino@gmail.com>",
# URL for the add-on documentation support
"addon_url": "https://github.com/nvdaes/emule",
addon_url="https://github.com/nvdaes/emule",
# URL for the add-on repository where the source code can be found
addon_sourceURL=None,
# Documentation file name
"addon_docFileName": "readme.html",
# Minimum NVDA version supported (e.g. "2018.3")
"addon_minimumNVDAVersion": "2025.1",
# Last NVDA version supported/tested (e.g. "2018.4", ideally more recent than minimum version)
"addon_lastTestedNVDAVersion": "2025.2",
# Add-on update channel (default is stable or None)
"addon_updateChannel": None,
}



addon_docFileName="readme.html",
# Minimum NVDA version supported (e.g. "2019.3.0", minor version is optional)
addon_minimumNVDAVersion="2026.1",
# Last NVDA version supported/tested (e.g. "2024.4.0", ideally more recent than minimum version)
addon_lastTestedNVDAVersion="2026.1",
# Add-on update channel (default is None, denoting stable releases,
# and for development releases, use "dev".)
# Do not change unless you know what you are doing!
addon_updateChannel=None,
# Add-on license such as GPL 2
addon_license=None,
# URL for the license document the ad-on is licensed under
addon_licenseURL=None,
)

# Define the python files that are the sources of your add-on.
# You can use glob expressions here, they will be expanded.
pythonSources = [os.path.join("addon", "appModules", "*.py")]
# You can either list every file (using ""/") as a path separator,
# or use glob expressions.
# For example to include all files with a ".py" extension from the "globalPlugins" dir of your add-on
# the list can be written as follows:
# pythonSources = ["addon/globalPlugins/*.py"]
# For more information on SCons Glob expressions please take a look at:
# https://scons.org/doc/production/HTML/scons-user/apd.html
pythonSources: list[str] = []

# Files that contain strings for translation. Usually your python sources
i18nSources = pythonSources + ["buildVars.py"]
i18nSources: list[str] = pythonSources + ["buildVars.py"]

# Files that will be ignored when building the nvda-addon file
# Paths are relative to the addon directory, not to the root directory of your addon sources.
excludedFiles = [os.path.join("appModules", "labelAutofinderCore", ".git")]
# You can either list every file (using ""/") as a path separator,
# or use glob expressions.
excludedFiles: list[str] = []

# Base language for the NVDA add-on
# If your add-on is written in a language other than english, modify this variable.
# If your add-on is written in a language other than english, modify this variable.
# For example, set baseLanguage to "es" if your add-on is primarily written in spanish.
baseLanguage = "en"
# You must also edit .gitignore file to specify base language files to be ignored.
baseLanguage: str = "en"

# Markdown extensions for add-on documentation
# Most add-ons do not require additional Markdown extensions.
# If you need to add support for markup such as tables, fill out the below list.
# Extensions string must be of the form "markdown.extensions.extensionName"
# e.g. "markdown.extensions.tables" to add tables.
markdownExtensions = []
markdownExtensions: list[str] = []

# Custom braille translation tables
# If your add-on includes custom braille tables (most will not), fill out this dictionary.
# Each key is a dictionary named according to braille table file name,
# with keys inside recording the following attributes:
# displayName (name of the table shown to users and translatable),
# contracted (contracted (True) or uncontracted (False) braille code),
# output (shown in output table list),
# input (shown in input table list).
brailleTables: BrailleTables = {}

# Custom speech symbol dictionaries
# Symbol dictionary files reside in the locale folder, e.g. `locale\en`, and are named `symbols-<name>.dic`.
# If your add-on includes custom speech symbol dictionaries (most will not), fill out this dictionary.
# Each key is the name of the dictionary,
# with keys inside recording the following attributes:
# displayName (name of the speech dictionary shown to users and translatable),
# mandatory (True when always enabled, False when not.
symbolDictionaries: SymbolDictionaries = {}
1 change: 1 addition & 0 deletions manifest-translated.ini.tpl
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
summary = "{addon_summary}"
description = """{addon_description}"""
changelog = """{addon_changelog}"""
1 change: 1 addition & 0 deletions manifest.ini.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ description = """{addon_description}"""
author = "{addon_author}"
url = {addon_url}
version = {addon_version}
changelog = """{addon_changelog}"""
docFileName = {addon_docFileName}
minimumNVDAVersion = {addon_minimumNVDAVersion}
lastTestedNVDAVersion = {addon_lastTestedNVDAVersion}
Expand Down
Loading
Loading