Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
43b7870
Merge branch 'master' into develop
AndrewSazonov May 27, 2025
7bc456f
updated python to 3.11 (#31)
rozyczko Nov 5, 2025
dfef95a
Unpinned pyside6 (#32)
rozyczko Nov 6, 2025
082e33a
Added a minor theme accent for selections
seventil Mar 16, 2026
e980919
Added a content width fix for DialogButtonBox in order to show all 's…
seventil Mar 16, 2026
270bd5e
Changed the behviour of TableViewTextInput to loose focus on enter/re…
seventil Mar 16, 2026
0b5fec2
Moved the logic of toggling focus to TextField and TextInput
seventil Mar 17, 2026
ce1086e
Fixed reference error in slider tooltip (#36)
seventil Mar 23, 2026
66ec831
Merge pull request #34 from easyscience/fix_missing_standard_dialog_b…
seventil Mar 23, 2026
bd85f63
Merge pull request #33 from easyscience/add_minor_theme_accent
seventil Mar 24, 2026
b114e1e
fixes to include validation logic
seventil Mar 24, 2026
a539122
introduced quick fixes for the EaElements tableview
seventil Mar 24, 2026
e87f9c9
scrollbar and scrollindicator size and color updates
seventil Mar 24, 2026
e73f6ad
added radius and a flag to snap to header
seventil Mar 24, 2026
5333641
Added expanding width for scrollbar on hover
seventil Apr 9, 2026
bc42ba2
Added a width fix on pressed as well, cleaned up a bit
seventil Apr 9, 2026
7d76ac2
Merge pull request #40 from easyscience/table_view_fix_border_clicks
seventil Apr 9, 2026
1d9d2e5
Replaced defocus with a color flash
seventil Apr 10, 2026
bff51a8
removed parent-coupled header tracking in ScrollBar
seventil Apr 10, 2026
564ede4
removed parent-coupled header tracking in ScrollIndicator
seventil Apr 10, 2026
1e57855
changed indicator padding to just 2 as it is not interactive anyway
seventil Apr 10, 2026
d6796a6
Add QtGraphs-based analysis page to AdvancedPy example (#39)
AndrewSazonov Apr 17, 2026
d82c56c
Add basic templates of visualisation charts utilized in EasyTexture …
koshchii Apr 20, 2026
332ef90
Merge pull request #35 from easyscience/change_textinput_on_enter_focus
seventil Apr 20, 2026
a66024d
Merge pull request #41 from easyscience/scroll_bar_improvement
seventil Apr 20, 2026
25e6470
Add QIcon to advanced.py and update FontAwesome fonts
damskii9992 Apr 20, 2026
9c4d454
Fix the interactive flag for scrollbar making it disappear
seventil Apr 20, 2026
dfafe97
Lightened the disabled foreground color in dark theme
seventil Apr 22, 2026
d1940d8
Merge pull request #43 from easyscience/scroll_bar_interactive_fix
seventil Apr 22, 2026
aa91ac0
Merge pull request #44 from easyscience/new_dark_theme_disabled
seventil Apr 22, 2026
c8b6e15
Add default vertical scrollbar to TableView (#45)
AndrewSazonov Apr 27, 2026
73d87cd
Cursor stealing focus - fix (#38)
rozyczko Apr 29, 2026
6f775fd
Sync with the EasyScience template and rename EasyApp to EasyApplicat…
AndrewSazonov Apr 29, 2026
f2cb45f
Fix logo (#47)
AndrewSazonov Apr 29, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
72 changes: 72 additions & 0 deletions .badgery.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
default_branch: master
develop_branch: develop

cards:
- group: Tests
type: gh_action
title: Code/package tests (GitHub)
file: test.yml
enabled: true
- group: Tests
type: gh_action
title: Tutorial tests (GitHub)
file: tutorial-tests.yml
enabled: true

- group: Tests
type: gh_action
title: Package tests (PyPI)
file: pypi-test.yml
enabled: true

- group: Code Quality
type: codefactor
title: Code quality (CodeFactor)
enabled: true

- group: Code Quality
type: radon_mi
title: Maintainability index (radon)
report: reports/{branch}/maintainability-index.json
enabled: true

- group: Code Quality
type: radon_cc
title: Cyclomatic complexity (radon)
report: reports/{branch}/cyclomatic-complexity.json
enabled: true

- group: Size
type: radon_loc
title: Source/Logical lines of code (radon)
report: reports/{branch}/raw-metrics.json
enabled: true

- group: Size
type: radon_ff
title: Functions/Files count (radon)
report: reports/{branch}/cyclomatic-complexity.json
enabled: true

- group: Coverage
type: codecov
title: Unit test coverage (Codecov)
flag: unittests
enabled: true

- group: Coverage
type: interrogate
title: Docstring coverage (interrogate)
report: reports/{branch}/coverage-docstring.txt
enabled: true
- group: Build & Release
type: gh_action
title: Publishing (PyPI)
workflow: pypi-publish.yml
enabled: true

- group: Build & Release
type: gh_action
title: Docs build/deployment
workflow: docs.yml
enabled: true
20 changes: 20 additions & 0 deletions .copier-answers.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# WARNING: Do not edit this file manually.
# Any changes will be overwritten by Copier.
_commit: v0.11.0
_src_path: gh:easyscience/templates
lib_docs_url: https://easyscience.github.io/gui-components
lib_doi: 10.5281/zenodo.18163581
lib_package_name: EasyApplication
lib_python_max: '3.14'
lib_python_min: '3.12'
lib_repo_name: gui-components
project_contact_email: support@easyscience.org
project_copyright_years: 2021-2026
project_extended_description: A collection of Qt/QML graphical components to create
cross-platform applications with intuitive graphical interface based on the EasyScience
framework
project_name: EasyApplication
project_short_description: Qt/QML components for building graphical applications
project_shortcut: EA
project_type: lib
template_type: lib
50 changes: 50 additions & 0 deletions .github/actions/download-artifact/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: 'Download artifact'
description: 'Generic wrapper for actions/download-artifact'
inputs:
name:
description: 'Name of the artifact to download'
required: true

path:
description: 'Destination path'
required: false
default: '.'

pattern:
description: 'Glob pattern to match artifact names (optional)'
required: false
default: ''

merge-multiple:
description: 'Merge multiple artifacts into the same directory'
required: false
default: 'false'

github-token:
description: 'GitHub token for cross-repo download (optional)'
required: false
default: ''

repository:
description: 'owner/repo for cross-repo download (optional)'
required: false
default: ''

run-id:
description: 'Workflow run ID for cross-run download (optional)'
required: false
default: ''

runs:
using: 'composite'
steps:
- name: Download artifact
uses: actions/download-artifact@v4
with:
name: ${{ inputs.name }}
path: ${{ inputs.path }}
pattern: ${{ inputs.pattern }}
merge-multiple: ${{ inputs.merge-multiple }}
github-token: ${{ inputs.github-token }}
repository: ${{ inputs.repository }}
run-id: ${{ inputs.run-id }}
19 changes: 19 additions & 0 deletions .github/actions/github-script/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
name: 'GitHub Script'
description: 'Wrapper for actions/github-script'
inputs:
script:
description: 'JavaScript to run'
required: true

github-token:
description: 'GitHub token (defaults to github.token)'
required: false
default: ${{ github.token }}

runs:
using: 'composite'
steps:
- uses: actions/github-script@v8
with:
script: ${{ inputs.script }}
github-token: ${{ inputs.github-token }}
40 changes: 40 additions & 0 deletions .github/actions/setup-easyscience-bot/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: 'Setup EasyScience bot for pushing'
description: 'Create GitHub App token and configure git identity + origin remote'
inputs:
app-id:
description: 'GitHub App ID'
required: true
private-key:
description: 'GitHub App private key (PEM)'
required: true
repositories:
description: 'Additional repositories to grant access to (newline-separated)'
required: false
default: ''

outputs:
token:
description: 'Installation access token'
value: ${{ steps.app-token.outputs.token }}

runs:
using: 'composite'
steps:
- name: Create GitHub App installation token
id: app-token
uses: actions/create-github-app-token@v2
with:
app-id: ${{ inputs.app-id }}
private-key: ${{ inputs.private-key }}
repositories: ${{ inputs.repositories }}

- name: Configure git for pushing
shell: bash
run: |
git config user.name "easyscience[bot]"
git config user.email "${{ inputs.app-id }}+easyscience[bot]@users.noreply.github.com"

- name: Configure origin remote to use the bot token
shell: bash
run: |
git remote set-url origin https://x-access-token:${{ steps.app-token.outputs.token }}@github.com/${{ github.repository }}.git
44 changes: 44 additions & 0 deletions .github/actions/setup-pixi/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: 'Setup Pixi Environment'
description: 'Sets up pixi with common configuration'
inputs:
environments:
description: 'Pixi environments to setup'
required: false
default: 'default'
activate-environment:
description: 'Environment to activate'
required: false
default: 'default'
run-install:
description: 'Whether to run pixi install'
required: false
default: 'true'
locked:
description: 'Whether to run pixi install --locked'
required: false
default: 'false'
frozen:
description: 'Whether to run pixi install --frozen'
required: false
default: 'true'
cache:
description: 'Whether to use cache'
required: false
default: 'false'
post-cleanup:
description: 'Whether to run post cleanup'
required: false
default: 'false'

runs:
using: 'composite'
steps:
- uses: prefix-dev/setup-pixi@v0.9.4
with:
environments: ${{ inputs.environments }}
activate-environment: ${{ inputs.activate-environment }}
run-install: ${{ inputs.run-install }}
locked: ${{ inputs.locked }}
frozen: ${{ inputs.frozen }}
cache: ${{ inputs.cache }}
post-cleanup: ${{ inputs.post-cleanup }}
49 changes: 49 additions & 0 deletions .github/actions/upload-artifact/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
name: 'Upload artifact'
description: 'Generic wrapper for actions/upload-artifact'
inputs:
name:
description: 'Artifact name'
required: true

path:
description: 'File(s)/dir(s)/glob(s) to upload (newline-separated)'
required: true

include-hidden-files:
description: 'Include hidden files'
required: false
default: 'true'

if-no-files-found:
description: 'warn | error | ignore'
required: false
default: 'error'

compression-level:
description: '0-9 (0 = no compression)'
required: false
default: '0'

retention-days:
description: 'Retention in days (optional)'
required: false
default: ''

overwrite:
description: 'Overwrite an existing artifact with the same name'
required: false
default: 'false'

runs:
using: 'composite'
steps:
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: ${{ inputs.name }}
path: ${{ inputs.path }}
include-hidden-files: ${{ inputs.include-hidden-files }}
if-no-files-found: ${{ inputs.if-no-files-found }}
compression-level: ${{ inputs.compression-level }}
retention-days: ${{ inputs.retention-days }}
overwrite: ${{ inputs.overwrite }}
42 changes: 42 additions & 0 deletions .github/actions/upload-codecov/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
name: 'Upload coverage to Codecov'
description: 'Generic wrapper for codecov/codecov-action@v5'

inputs:
name:
description: 'Codecov upload name'
required: true

flags:
description: 'Codecov flags'
required: false
default: ''

files:
description: 'Coverage report files'
required: true

fail_ci_if_error:
description: 'Fail CI if upload fails'
required: false
default: 'true'

verbose:
description: 'Enable verbose output'
required: false
default: 'true'

token:
description: 'Codecov token'
required: true

runs:
using: composite
steps:
- uses: codecov/codecov-action@v5
with:
name: ${{ inputs.name }}
flags: ${{ inputs.flags }}
files: ${{ inputs.files }}
fail_ci_if_error: ${{ inputs.fail_ci_if_error }}
verbose: ${{ inputs.verbose }}
token: ${{ inputs.token }}
6 changes: 6 additions & 0 deletions .github/configs/pages-deployment.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"source": {
"branch": "gh-pages",
"path": "/"
}
}
37 changes: 37 additions & 0 deletions .github/configs/rulesets-develop.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
{
"name": "develop branch",
"target": "branch",
"enforcement": "active",
"conditions": {
"ref_name": {
"include": ["refs/heads/develop"],
"exclude": []
}
},
"bypass_actors": [
{
"actor_id": 2476259,
"actor_type": "Integration",
"bypass_mode": "always"
}
],
"rules": [
{
"type": "non_fast_forward"
},
{
"type": "deletion"
},
{
"type": "pull_request",
"parameters": {
"allowed_merge_methods": ["squash"],
"dismiss_stale_reviews_on_push": false,
"require_code_owner_review": false,
"require_last_push_approval": false,
"required_approving_review_count": 0,
"required_review_thread_resolution": false
}
}
]
}
Loading
Loading