Show factorized number as simple fraction by default; Expression status tooltip tweaks; Fix compatibility with Qt < 5.7; Update translations; Increment version number
This commit is contained in:
parent
837dd0fff3
commit
335a3982cd
2
README
2
README
@ -12,7 +12,7 @@ Qt, and CLI).
|
||||
1. Requirements
|
||||
|
||||
* Qt5 (>= 5.6) or Qt6
|
||||
* libqalculate (>= 5.0.0)
|
||||
* libqalculate (>= 5.1.0)
|
||||
|
||||
2. Installation
|
||||
|
||||
|
@ -6,7 +6,7 @@ Qalculate! is a multi-purpose cross-platform desktop calculator. It is simple to
|
||||
|
||||
## Requirements
|
||||
* Qt5 (>= 5.6) or Qt6
|
||||
* libqalculate (>= 5.0.0)
|
||||
* libqalculate (>= 5.1.0)
|
||||
|
||||
## Installation
|
||||
Instructions and download links for installers, binaries packages, and the source code of released versions of Qalculate! are available at https://qalculate.github.io/downloads.html.
|
||||
|
@ -70,6 +70,30 @@
|
||||
</provides>
|
||||
<translation type="qt">qalculate-qt</translation>
|
||||
<releases>
|
||||
<release version="5.1.0" date="2024-05-06">
|
||||
<description>
|
||||
<p>Changes:</p>
|
||||
<ul>
|
||||
<li>Improved history list efficiency</li>
|
||||
<li>Add two's complement input and binary bits to preferences</li>
|
||||
<li>Ask for the desired interpretation the first time percent addition is used (e.g. 100 + 10% equals 110 or 100.1)</li>
|
||||
<li>Hide expression tooltip (after 300 ms) when input resumes, if delayed expression status is enabled</li>
|
||||
<li>Download button in dialog shown when new version is available, on Windows</li>
|
||||
<li>Support for solving equations containing if() function</li>
|
||||
<li>Support for solving root(a, x)=b (requires rational value for ln(a)/ln(b))</li>
|
||||
<li>New functions: powertower() and multiples()</li>
|
||||
<li>New units for solar radius, mass, and luminosity</li>
|
||||
<li>Use parentheses for exponent using scientific notation (with power of 10)</li>
|
||||
<li>Support integer factorization of integers in matrix/vector, and of numerator and denominator in rational number</li>
|
||||
<li>Relaxed conditions for (x^a)^b = x^(a × b) and x^a × x^b = x^(a + b) when complex numbers are deactivated (fixes segfaults)</li>
|
||||
<li>Fix AltGr for input of operators on Windows</li>
|
||||
<li>Fix (ax + n)^2 > 1, where n is even and a is not 1, returning false</li>
|
||||
<li>Fix setbits() function</li>
|
||||
<li>Fix Number::equals(0, ..., true) when number is infinite (affects replace() function)</li>
|
||||
<li>Minor bug fixes and feature enhancements</li>
|
||||
</ul>
|
||||
</description>
|
||||
</release>
|
||||
<release version="5.0.0" date="2024-03-11">
|
||||
<description>
|
||||
<p>Changes:</p>
|
||||
|
@ -1,4 +1,4 @@
|
||||
VERSION = 5.0.0
|
||||
VERSION = 5.1.0
|
||||
isEmpty(PREFIX) {
|
||||
PREFIX = /usr/local
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
name: qalculate-qt
|
||||
title: Qalculate! (Qt)
|
||||
version: '5.0.0'
|
||||
version: '5.1.0'
|
||||
license: GPL-2.0+
|
||||
summary: The ultimate desktop calculator
|
||||
description: |
|
||||
@ -42,7 +42,7 @@ apps:
|
||||
parts:
|
||||
libqalculate:
|
||||
source: https://github.com/Qalculate/libqalculate.git
|
||||
source-tag: v5.0.0
|
||||
source-tag: v5.1.0
|
||||
source-depth: 1
|
||||
plugin: autotools
|
||||
build-environment:
|
||||
@ -77,8 +77,8 @@ parts:
|
||||
- -usr/share/lintian
|
||||
|
||||
qalculate-qt:
|
||||
source: https://github.com/Qalculate/qalculate-qt/releases/download/v5.0.0/qalculate-qt-5.0.0.tar.gz
|
||||
source-checksum: sha512/8ad34952004ab46582642db685242a9922fd63db13256feaf70fdf2ea413f77b49fd4a65a860a19e2db6eea9215d237873da4f59b2e0dc00827fcaca90ac6de7
|
||||
source: https://github.com/Qalculate/qalculate-qt/releases/download/v5.1.0/qalculate-qt-5.1.0.tar.gz
|
||||
source-checksum: sha512/1400094786aa4c63dda1153f1a154bca9ff39407c36f88fd101338fc82a9e97eea919f30ee8abe2a315705c45c67778ac94661c3c009034b25f4de88dac4fa74
|
||||
plugin: qmake
|
||||
build-snaps:
|
||||
- kde-frameworks-5-core18-sdk
|
||||
|
@ -162,7 +162,7 @@ void ExpressionTipLabel::resizeEvent(QResizeEvent *e) {
|
||||
}
|
||||
ExpressionTipLabel::~ExpressionTipLabel() {}
|
||||
void ExpressionTipLabel::hideTip() {
|
||||
if(!hideTimer.isActive()) hideTimer.start(300, this);
|
||||
if(isVisible() && !hideTimer.isActive()) hideTimer.start(300, this);
|
||||
}
|
||||
void ExpressionTipLabel::hideTipImmediately() {
|
||||
hide();
|
||||
@ -2108,7 +2108,7 @@ void ExpressionEdit::setStatusText(const QString &text, bool is_expression) {
|
||||
current_status_text = text;
|
||||
current_status_is_expression = is_expression;
|
||||
if(settings->expression_status_delay > 0) {
|
||||
if(tipLabel && tipLabel->isVisible()) tipLabel->hideTip();
|
||||
if(tipLabel) tipLabel->hideTip();
|
||||
if(!toolTipTimer) {
|
||||
toolTipTimer = new QTimer(this);
|
||||
toolTipTimer->setSingleShot(true);
|
||||
@ -2728,6 +2728,7 @@ void ExpressionEdit::onTextChanged() {
|
||||
previous_pos = textCursor().position();
|
||||
tabbed_index = -1;
|
||||
if(completionTimer) completionTimer->stop();
|
||||
if(tipLabel && settings->expression_status_delay > 0) tipLabel->hideTip();
|
||||
if(block_text_change) return;
|
||||
if(expression_undo_buffer.isEmpty() || str != expression_undo_buffer.last()) {
|
||||
if(expression_undo_buffer.isEmpty()) {
|
||||
@ -3103,6 +3104,7 @@ void ExpressionEdit::onCursorPositionChanged() {
|
||||
tabbed_index = -1;
|
||||
if(completionTimer) completionTimer->stop();
|
||||
if(toolTipTimer) toolTipTimer->stop();
|
||||
if(tipLabel && settings->expression_status_delay > 0) tipLabel->hideTip();
|
||||
if(block_text_change) return;
|
||||
cursor_has_moved = true;
|
||||
int epos = document()->characterCount() - 1 - textCursor().position();
|
||||
|
@ -57,8 +57,10 @@ int main(int argc, char **argv) {
|
||||
app.setApplicationName("qalculate-qt");
|
||||
app.setApplicationDisplayName("Qalculate!");
|
||||
app.setOrganizationName("qalculate");
|
||||
#if (QT_VERSION >= QT_VERSION_CHECK(5, 7, 0))
|
||||
app.setDesktopFileName("io.github.Qalculate.qalculate-qt");
|
||||
app.setApplicationVersion("5.0.0");
|
||||
#endif
|
||||
app.setApplicationVersion("5.1.0");
|
||||
#if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0))
|
||||
app.setAttribute(Qt::AA_UseHighDpiPixmaps);
|
||||
#endif
|
||||
|
@ -1002,7 +1002,7 @@ void QalculateQtSettings::loadPreferences() {
|
||||
max_plot_time = 5;
|
||||
|
||||
preferences_version[0] = 5;
|
||||
preferences_version[1] = 0;
|
||||
preferences_version[1] = 1;
|
||||
preferences_version[2] = 0;
|
||||
|
||||
if(file) {
|
||||
|
@ -5587,10 +5587,12 @@ void QalculateWindow::calculateExpression(bool force, bool do_mathoperation, Mat
|
||||
if(do_stack && stack_index != 0) {
|
||||
MathStructure *save_mstruct = mstruct;
|
||||
mstruct = CALCULATOR->getRPNRegister(stack_index + 1);
|
||||
if(do_factors && (mstruct->isNumber() || mstruct->isVector()) && to_fraction == 0 && to_fixed_fraction < 2) to_fraction = 2;
|
||||
executeCommand(do_pfe ? COMMAND_EXPAND_PARTIAL_FRACTIONS : (do_expand ? COMMAND_EXPAND : COMMAND_FACTORIZE), false);
|
||||
mstruct = save_mstruct;
|
||||
} else {
|
||||
if(do_factors && mstruct->isInteger() && !parsed_mstruct->isNumber()) prepend_mstruct = *mstruct;
|
||||
if(do_factors && (mstruct->isNumber() || mstruct->isVector()) && to_fraction == 0 && to_fixed_fraction < 2) to_fraction = 2;
|
||||
executeCommand(do_pfe ? COMMAND_EXPAND_PARTIAL_FRACTIONS : (do_expand ? COMMAND_EXPAND : COMMAND_FACTORIZE), false);
|
||||
if(!prepend_mstruct.isUndefined() && mstruct->isInteger()) prepend_mstruct.setUndefined();
|
||||
}
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -2494,19 +2494,19 @@ Do you want to overwrite the function?</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Binary two's complement representation</source>
|
||||
<translation>Представление двоичных чисел с дополнительным кодом</translation>
|
||||
<translation type="vanished">Представление двоичных чисел с дополнительным кодом</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Hexadecimal two's complement representation</source>
|
||||
<translation>Представление шестнадцатеричных чисел с дополнительным кодом</translation>
|
||||
<translation type="vanished">Представление шестнадцатеричных чисел с дополнительным кодом</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use lower case letters in non-decimal numbers</source>
|
||||
<translation>Использовать строчные буквы в недесятичных числах</translation>
|
||||
<translation type="vanished">Использовать строчные буквы в недесятичных числах</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Spell out logical operators</source>
|
||||
<translation>Изложить логично логические операции</translation>
|
||||
<translation type="vanished">Изложить логично логические операции</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Preferences</source>
|
||||
@ -2519,35 +2519,35 @@ Do you want to overwrite the function?</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use dot as multiplication sign</source>
|
||||
<translation>Использовать точку как знак умножения</translation>
|
||||
<translation type="vanished">Использовать точку как знак умножения</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use Unicode division slash in output</source>
|
||||
<translation>Использовать косую черту деления Юнокода в выводе</translation>
|
||||
<translation type="vanished">Использовать косую черту деления Юнокода в выводе</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use E-notation instead of 10^n</source>
|
||||
<translation>Использовать E-нотацию вместо 10^n</translation>
|
||||
<translation type="vanished">Использовать E-нотацию вместо 10^n</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use 'j' as imaginary unit</source>
|
||||
<translation>Использовать «j» для мнимой единицы</translation>
|
||||
<translation type="vanished">Использовать «j» для мнимой единицы</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use comma as decimal separator</source>
|
||||
<translation>Использовать запятую в качестве десятичного разделителя</translation>
|
||||
<translation type="vanished">Использовать запятую в качестве десятичного разделителя</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ignore comma in numbers</source>
|
||||
<translation>Игнорировать запятую в числах</translation>
|
||||
<translation type="vanished">Игнорировать запятую в числах</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ignore dots in numbers</source>
|
||||
<translation>Игнорировать точки в числах</translation>
|
||||
<translation type="vanished">Игнорировать точки в числах</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy unformatted ASCII by default</source>
|
||||
<translation>Копировать неформатированный ASCII по умолчанию</translation>
|
||||
<translation type="vanished">Копировать неформатированный ASCII по умолчанию</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Round halfway numbers away from zero</source>
|
||||
@ -2559,7 +2559,7 @@ Do you want to overwrite the function?</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Indicate repeating decimals</source>
|
||||
<translation>Указывать повторяющиеся десятичные дроби</translation>
|
||||
<translation type="vanished">Указывать повторяющиеся десятичные дроби</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use caret for bitwise XOR</source>
|
||||
@ -2755,7 +2755,7 @@ Do you want to overwrite the function?</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use special duodecimal symbols</source>
|
||||
<translation>Использовать специальные двенадцатеричные символы</translation>
|
||||
<translation type="vanished">Использовать специальные двенадцатеричные символы</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Language:</source>
|
||||
@ -2849,6 +2849,30 @@ Do you want to overwrite the function?</source>
|
||||
<source>Round down</source>
|
||||
<translation>Округлять вниз</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Two's complement output:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Two's complement input:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Binary</source>
|
||||
<translation type="unfinished">Двоичное</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Hexadecimal</source>
|
||||
<translation type="unfinished">Шестнадцатеричное</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Binary bits:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Automatic</source>
|
||||
<translation type="unfinished">Автоматическое</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QApplication</name>
|
||||
@ -3469,6 +3493,10 @@ You can get version %3 at %2.</source>
|
||||
<source>Open variables menu</source>
|
||||
<translation>Открыть меню переменных</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Download</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QalculateTranslator</name>
|
||||
@ -4452,6 +4480,22 @@ Do you wish to replace the current action (%1)?</source>
|
||||
<source>decimals</source>
|
||||
<translation>десятичные дроби</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Percentage Interpretation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please select interpretation of percentage addition</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Add percentage of original value</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Add percentage multiplied by 1/100</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UnitEditDialog</name>
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user