Sailfish port of SpeedCrunch calculator.
Based on the original port by @qwazix. Updated to the latest SpeenCrunch engine and fixed UI for Sailfish X. Currently tested in Jolla 1 and Sony Xperia.
UI is little bit cramped in Jolla 1, because standard Sailfish buttons seem to have fixed height regardless of screen size. Should still be usable.
Source code available in GitHub. Translations in Transifex
User interface consists three pages. Leftmost page has function list, initial central page is the calculator itself and rightmost page contains some settings. Sideways swiping switches between pages.
In portrait mode sideways swiping within keyboard swithces also between two keyboard panes. Left pane has number keys and common calculation operations. Right pane has some function keys and additional operators.
In Landscape mode there is only one three-row keyboard. Trigonometric and logarithmic functions are not available as keys, but can be found from function list. Cubic root and generic exponent are available as long press secondary options. Bitwise operators are currently not available.
Leftmost page has function list containing all SpeedCrunch engine functions, units, constants and user defined items. Topmost filter list selection can be used to show only built-in functions, units, constants or user defined variables and functions. Search field below it performs additional filtering by name.
Long press on list item opens context menu with options. First menu item displays list item content. For functions it is usage with parameter names. For constants and variables it is value and for units it is just unit name. Selecting it inserts item to the expression editing field and activates the main calculator page.
Used items are collected to recent item stack and displayed at the top of the list with bold font. Newly created user variables and functions are automatically considered recently used. Other items come after them in alphabetical order. Recent item stack size is not currently limited, but recent menu items has additional context menu item for removing them from the recent stack. Also, user defined functions and variables have context menu item for deleting them.
Rightmost page contains some settings. These are mostly same as desktop version settings and more or less self-explanatory. If the Direct Insert from Lists setting is turned on, pointing item in function or history list inserts it directly to the expression edit field. Note that user defined variables and functions are saved with the history list.
At the bottom of the settings page is pull-up menu with items for opening Sailfish Speedcrunch and Desktop Speedcrunch home pages in browser.
At the top of the main calculator page is history list. All calculated expressions and their results are stored there. Latest result is displayed with bold font.
Long press on list item opens context menu with three options. First item inserts result to the expression editing and second item recalls the whole expression for editing. Third item allows item removing from history list.
Below the history list is expression editing field. It can be edited either by calculator key panes or system virtual keyboard. Enter key on the virtual keyboard just closes it. Because the edit field is always active, it must be pointed twice to activate virtual keyboard.
Below the expression editor is label field used for function usage parameters and autocalc results.
Most keys are familiar to anyone ever used handheld calculator. Key 0x is for entering hexadecimal values (0xFF). Key x is for variable name x and key X= is for user variable or function definition (x=42). Big arrow on the right side of second pane is for unit conversion (1 inch -> foot). Bottom row arrow keys and backspace are for expression field editing.
Some keys have secondary function available with long press:
Bottom pulley menu has functions for copying latest result or expression to clipboard, pasting clipboard contents to the expression field and clearing the history list.
For more information, see desktop SpeedCrunch documentation.
Attachment | Size | Date |
---|---|---|
harbour-speedcrunch-0.3.0-1.armv7hl.rpm | 188.66 KB | 12/04/2018 - 22:43 |
harbour-speedcrunch-0.3.1-1.armv7hl.rpm | 189.68 KB | 13/04/2018 - 23:06 |
harbour-speedcrunch-0.3.2-1.armv7hl.rpm | 193.54 KB | 24/04/2018 - 22:50 |
harbour-speedcrunch-0.3.3-1.armv7hl.rpm | 201.2 KB | 28/07/2018 - 23:13 |
harbour-speedcrunch-0.4.0-1.armv7hl.rpm | 203.08 KB | 10/09/2018 - 20:30 |
harbour-speedcrunch-0.4.1-1.armv7hl.rpm | 265.61 KB | 19/10/2018 - 23:41 |
harbour-speedcrunch-0.4.2-1.armv7hl.rpm | 271.25 KB | 14/11/2018 - 00:42 |
harbour-speedcrunch-0.5.0-1.armv7hl.rpm | 272.81 KB | 27/11/2018 - 20:41 |
harbour-speedcrunch-0.5.1-1.armv7hl.rpm | 281.59 KB | 04/06/2019 - 23:18 |
harbour-speedcrunch-0.5.2-1.armv7hl.rpm | 286.17 KB | 07/09/2019 - 20:56 |
harbour-speedcrunch-0.5.3-1.armv7hl.rpm | 287.08 KB | 05/12/2019 - 23:05 |
harbour-speedcrunch-0.6.0-1.armv7hl.rpm | 294.49 KB | 19/04/2020 - 13:07 |
Older entries available in GitHub changelog.
0.5.0 (2018-11-27)
0.5.1 (2019-06-04)
0.5.2 (2019-09-07)
0.5.3 (2019-12-05)
0.6.0 (2020-04-19)
Comments
Pohli
Sat, 2019/09/07 - 22:09
Permalink
Will the new versions be available in Jolla Store, too?
syrja
Mon, 2019/09/09 - 11:07
Permalink
I'll make the Jolla Store version after the new configurable keyboard is finalized. Currently I'm waiting comments and reviews for desktop Speedcrunch pull request: https://bitbucket.org/heldercorreia/speedcrunch/pull-requests/107/user-c...
syrja
Tue, 2019/06/04 - 23:34
Permalink
New version 0.5.1 contains user configurable keyboards. Keyboard selection is available in settings page and own keyboards can be defined in ~/.config/harbour-speedcrunch/keyboards.
This is a new multi platform feature available also in desktop and Android versions. Current documentation and development discussion can be found from the desktop version pull request: https://bitbucket.org/heldercorreia/speedcrunch/pull-requests/107/user-c...
Comments are welcome.
Ygorr
Tue, 2019/01/08 - 13:06
Permalink
My bowing, regards and respect gor great eork. Please add date time to history records near rows with math result . To see when you made old calculations.
syrja
Thu, 2019/01/10 - 12:43
Permalink
That would need some changes to SpeedCrunch engine history list. There is an open issue for that:
https://bitbucket.org/heldercorreia/speedcrunch/issues/782/history-add-in-history-small-date-time-of
I think about it.
sponka
Tue, 2018/11/06 - 18:43
Permalink
Hello, thanks for nice app :)
I have problem on settings page with font size. With last SFOS update to 3.0.0.5 list font size drop down menu is too close to bottom edge and I always swype up appdrawer.
syrja
Tue, 2018/11/06 - 23:18
Permalink
There are some problems with Sailfish 3 UI and I'm not yet sure which are Sailfish problems and which are my own bugs. Same code really seems to behave differently in different OS versions.
I already have some kind of fix for the font size list problem, but because I'm currently implementing landscape mode and because Sailfish 3 has known problems with landscape, current state of code is little bit unstable.
I will fix this soon.
syrja
Fri, 2018/10/19 - 23:22
Permalink
Couple of notes for the version 0.4.1.
While developing Android version I noticed that direct insert from function list was sometimes quite annoying and I couldn't decide which way is better: direct insert or selection from popup menu. So, I added setting for it. Selection from popup menu is now default, but if you like old direct insert, it can be turned on in settings page.
There is now Transifex project for translations. English is default language and finnish translation already exists. There are also empty translation templates for french, german, italian, russian, spanish and swedish. These are based on download statistics. New languages can be added by request.
Transifex project contains only UI strings. Function and constant name translations are stolen from desktop SpeedCrunch. Because user interface differs quite a lot from the desktop version, all UI translations are handled separately. Some strings are, of course, same and can be copied from the desktop version. Degree is still degree.
There is also one technical difference that requires separate translations. Desktop SpeedCrunch uses english texts in source code. Mobile versions use id based translations, where source contains just id strings ("id-insert-item"). This is because Sailfish and Android have different QML source files and id based translations allow full separation between sources and translationa.
This Transifex system is something new for me. I hope that it works, but feel free to inform, if there are any problems.
carmenfdezb
Tue, 2018/10/23 - 09:58
Permalink
Some functions aren't translated to Spanish language, however, 100% text in desktop SpeedCrunch is translated to Spanish language
syrja
Wed, 2018/10/24 - 00:12
Permalink
Thank you for a Spanish translation.
I checked the desktop SpeedCrunch Transifex project and it it seems to be up to date with version 0.12 sources used in mobile version. Have I missed some function translations or are they missing from the desktop version also?
carmenfdezb
Tue, 2018/10/23 - 23:47
Permalink
Thanks to you for porting this excellent app to Sailfish!!
For example, 'Convert to Polar Notation' is translated in Transifex, but not in your app. The same for desktop version, this string isn't translated.
syrja
Wed, 2018/11/07 - 00:32
Permalink
Checked that and it seems to be one of those strings translated after the release of SpeedCruch 0.12. I have to use translations that match the engine version. So, will be fixed after the next engine update.
rolfa
Mon, 2018/08/06 - 14:43
Permalink
SpeedCrunch is very useful, thanks!
syrja
Fri, 2018/04/13 - 23:14
Permalink
Jolla Harbour QA revealed that the incorrect application initialization order in main() function resulted creation of directory mdeclarativecache_pre_initialized_qapplication-XXXX under ~/.config. XXXX being some random number.
This is now fixed in version 0.3.1, but you all probably have several unnecessary directories in your ~/.config. These can be deleted.
Sorry for the inconvenience.
geher
Thu, 2018/04/12 - 12:56
Permalink
Complex numbers are not working.
Supposed to be with engine version 0.12
syrja
Thu, 2018/04/12 - 22:47
Permalink
Yes, I know. Complex numbers are turned off by default in the engine. It just needs setting to turn them on. I'll add it to the next version.
ZaytsevArtem
Fri, 2018/04/06 - 04:46
Permalink
First of all: thanks for the great calculator. It's the best I ever met.
My question is: How could I type the time format units? I can type «3.2 minute» where «2» is read not as 2 seconds but as 12 seconds (of course it's correct as we use decimal format). i.e. the result is 192 seconds but not 182. «5:2» doesn't work atm. «3 minute + 2 second» does work but is there any more simple (i.e. laconical) way?
PS: The version is 0.12.
ZaytsevArtem
Fri, 2018/04/06 - 04:42
Permalink
And btw the result time format would be appreciated. I mean when I type «9141 second» it could show me something like «2:32:21» or «152:21» or «2 hour 32 minute 21 second» or «152 minute 21 second». I know i can type «9141 second in minute» but there's decimal «152,35» again.
syrja
Mon, 2018/04/09 - 21:48
Permalink
Current SpeedCrunch engine does not support time formats. Github issue #189 has some discussion about it, but nothing concrete yet.
As a land surveyor, I can understand the request. I myself need often degrees, minutes and seconds. So, I may investigate the problem.
ZaytsevArtem
Tue, 2018/04/10 - 16:08
Permalink
Okay, thanks for the reply and for the issue link. Let's hope the problems may have been overcome.
glv1092
Sun, 2018/03/25 - 21:28
Permalink
Unable to set Angle Unit to Degree in aquafish
syrja
Mon, 2018/03/26 - 10:26
Permalink
Seems to be bug in control Z-ordering. I'll fix it.
Meanwhile, click the Radian line and drag upwards to select degrees.
olf
Sun, 2018/03/25 - 18:14
Permalink
In lack of aforementioned issues section on Github, posting two issues here (tested with Speedcrunch mobile 0.2.6-1):
Thus I suggest changing "Result format" to "Mode" (as on most calculators) or "Numeric mode".
If one enforces landscape orientation (e.g. with uirotate-free or sailfishos-patch-freerotate-phone), currently the screen layout of Speedcrunch in landscape orientation does not fit at all.
syrja
Mon, 2018/03/26 - 10:46
Permalink
The term "Result format" comes from the original desktop version of SpeedCrunch and it does not change number input. Hexadecimal mode makes letters A-F visible in buttons 1-6, but does not chage the behavior of buttons. Normal press always produces number and long press produces letter, visible or not. Also, prefix (0b, 0o, 0x) is always needed for binary, octal and hexadecimal numbers regardless of mode.
Landscape mode would need substantial chages for UI and I try to keep it as close as possible to the desktop version. So, not a top priority feature.
olf
Thu, 2018/03/29 - 00:56
Permalink
Thanks for the information on the direction of your developments and the details of usage.
olf
Sun, 2018/03/25 - 17:49
Permalink
Thanks @syrja for updating and fixing Speedcrunch mobile.
Unfortunately, on Speedcrunch's Github repository the "Issues" tab seems to be deactivated, but its Wiki is active (although empty). Please fix that, so one can submit issues.
syrja
Mon, 2018/03/26 - 10:30
Permalink
Issues now activated.
Caballlero
Sun, 2018/03/25 - 05:13
Permalink
Awesome calculator, thx
Vieno
Thu, 2018/03/22 - 22:21
Permalink
Thanks for keeping this app alive. A fine calculator which was needed.