Giter Site home page Giter Site logo

modularcalculatorinterface's People

Contributors

jordanl2 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

5l1v3r1

modularcalculatorinterface's Issues

Add auto-execute mode

Would be nice to have an option to activate automatic execution each time the input changes.

If it is too resource intensive to update after every change, maybe add a bit of latency and update the output after 1 or 2 seconds of unmodified input.

(Originally opened by @Tommimon here: JordanL2/ModularCalculator#48)

Search in categorised selection dialog

Add a text box at top of dialog, focussed by default, that filters the list when typed into.

If you press down arrow, the list of items is focussed on. Pressing enter inserts the selected item.

Simplify themes

Currently themes have a separate entry for every element type, which makes adding features complicated.

Simplify themes to have fewer definitions, so new elements can use an existing colour for syntax highlighting.

Port to Qt6

Switch from PyQt5 to PyQt6.

This is blocked by org.kde.Sdk / Platform not having a 6.x release yet.

Make font configurable

Add font option to settings.

Possibly one for each of:

  1. entry
  2. display: question
  3. display: answer
  4. display: fraction

Make changelog

For:
1.1.0 (initial release)
1.2.0 (fractions)
1.2.1 (bug fixes, middle clicking fractions)
1.3.0 (config files, themes, double clicking insert dialogues, no longer hiding feature config window when opening file picker, bug fixes with display styling, fast tab switching)

Syntax highlighting glitchy

Editing statements near the top of a long list of statements is causing visual glitching.

Disabling "show execution errors" stops the glitching.

Rework menu

Flatten menu hierarchy, into a few top level buttons:

Left aligned

  • New (document-new)
  • Open (document-open)
  • Save (document-save)
  • Save As (document-save-as)
  • Insert (menu) (insert-text)
  • Execute (media-playback-start)
  • Clear Results (edit-clear)
  • Export Results (go-down ???)

Right Aligned

  • Options (preferences-other)
  • Help (menu) (help-about)

Error with functions

min([1, 2])

Resulting with:

[ERROR: Operator IMPLICIT_MULTIPLY parameter 1 must be of type(s) number, ERROR: Operator IMPLICIT_MULTIPLY parameter 1 must be of type(s) number]

Started with commit 68bdda5

Config file UI

Move into config:
Display

  • Units in short form
  • Show execution errors
  • Line Highlighting
  • Selected theme

Calculator

  • Precision
  • Simplify Units
  • Unit System Preference
  • Installed features / external features
  • Feature Options

Changing any of the above options will save the config to any existing config.yml in a user directory the calculator has write access to, or if none found, to the highest precedence user directory.

Then, make a tabbed options dialog combining all of the options checkboxes / dialogs, plus options for the fonts and max_denominator.

Syntax highlighting options

Move syntax highlighting colours into an external file.
Make it possible to add new themes and select them.

Check application state version on load

If the application state format or attributes of the objects it contains changes, this can cause a crash on start.

Add a version to the state, and don't restore state on startup if it has changed.

Alternatively add code to convert between different versions.

Make help/about section

Help menu with:

  1. Links to ModularCalculator Wiki
  2. About dialog with version number, dev info, github URL (flatpak info?)

Update README

Delete wiki, and ensure readme has all important information from it.

Add a section for adding config file / themes.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.