Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
This is a necessary precondition for the conversion methods used later
on in convertToMutliple, and it is simpler than the existing method.
I can also be sure it works, due to the tests I just wrote.
|
|
Compared to version 0.5.0, this release:
- allows conversion to sums of units (e.g. 4/3 ft → 1 ft + 4 in)
- allows non-integer exponents in expressions
- adds the ability to change the UI language
- gracefully handles datafile errors
- adds more information to the loading-success message, and adds it to
the About tab
- allows the user to not use the default datafiles
No new features will be added until the release of version 1.0.0.
|
|
|
|
This works with custom locales (by placing the text in
[config_dir]/about/[name].txt), but if such a file does not exist, it
will default to the default locale (en)'s about text.
|
|
If this option is deselected, the default unit, prefix, dimension and
metric exception data will not be loaded, and only custom data and the
few units that are not provided by files will be available.
The main rationale for this change is so that the data can be localized
by custom unit files.
|
|
|
|
|
|
|
|
|
|
This commit intentionally fails one test, since that is for
functionality I intend to add later.
|
|
|
|
|
|
Previously, any error in the unit or dimension file(s) crashes the
program. Instead, 7Units now ignores any invalid lines, still parsing
the correct ones, and shows a popup in case any errors happen.
|
|
This ensures that small errors from floor arithmetic will not, for
example, cause 2 feet to be converted to 1 foot + 12 in.
|
|
|
|
|
|
These values are guaranteed to be integers, so printing them without a
decimal point looks nicer and saves space.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| is like /, but with higher precedence. This feature is a part of GNU
Units, and was included in 7Units for compatibility.
|
|
|
|
|
|
Previously, you could only exponentiate individual dimensions in
expressions. For example, `Length^3` was valid, but `(Length / Time)^2`
was not. This is now fixed.
|
|
This was added to be consistent with the data file spec, which was
changed for consistency with unit expressions. It may not be a common
expression, but it's a bit weird that you can use +/- in units but not
prefixes, even though they're in the same file!
|
|
|
|
|
|
These changes should reduce nesting and increase readability.
|
|
Some settings used to use long, sentence-like values in the config file.
Now, they use simpler values that are easier to remember and specify in
the manual.
|
|
Previously, if the user had no settings dir, starting the program would
create it, but nothing would be read. If the user did not change their
settings, it would just leave an empty directory!
|
|
The parameters "custom_unit_file", "custom_dimension_file" and
"custom_exception_file" can now be used to load custom unit, dimension
and exception files. Specify them more than once to load multiple
files.
I haven't yet added this to the GUI, and I probably won't, because you
already need to be able to edit text files to create this, so having a
GUI won't make it any more intuitive.
|
|
The user's config directory is taken as ~\AppData\Local\ on Windows and
is XDG-compliant elsewhere. The config file's location is <config
dir>/SevenUnits/config.txt. The SevenUnits directory is created if
nonexistent.
The previous location inside the git directory would not work for
someone actually installing and using 7Units, so this change was made.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- output map was mutable, should be immutable
- renamed allowUnit to prefixableUnitRule so that the name is actually understandable
|
|
|
|
|