Your rating: None Average: 4.9 (18 votes)

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.

Function and settings pages

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.

Expression editing and history list

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.

Keyboard and pulley menu

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:

  • Keys 1-6 produce hexadecimal values A-F
  • Key 9 produces j for complex number imaginary part
  • Key ÷ produces \ for integer division
  • Key 0x produces 0b for binary values (0b1010)
  • Key x² produces generic exponent ^
  • Key √ produces cubic root function
  • Key x produces character y for another variable name
  • Key X= produces (x)= for function definition (foo(x)=)
  • Key = produces ans for previous result
  • Keys ← and → move cursor to start or end of expression

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.



Application versions: 
File harbour-speedcrunch-0.3.0-1.armv7hl.rpm188.66 KB12/04/2018 - 22:43
File harbour-speedcrunch-0.3.1-1.armv7hl.rpm189.68 KB13/04/2018 - 23:06
File harbour-speedcrunch-0.3.2-1.armv7hl.rpm193.54 KB24/04/2018 - 22:50
File harbour-speedcrunch-0.3.3-1.armv7hl.rpm201.2 KB28/07/2018 - 23:13
File harbour-speedcrunch-0.4.0-1.armv7hl.rpm203.08 KB10/09/2018 - 20:30
File harbour-speedcrunch-0.4.1-1.armv7hl.rpm265.61 KB19/10/2018 - 23:41
File harbour-speedcrunch-0.4.2-1.armv7hl.rpm271.25 KB14/11/2018 - 00:42
File harbour-speedcrunch-0.5.0-1.armv7hl.rpm272.81 KB27/11/2018 - 20:41
File harbour-speedcrunch-0.5.1-1.armv7hl.rpm281.59 KB04/06/2019 - 23:18
File harbour-speedcrunch-0.5.2-1.armv7hl.rpm286.17 KB07/09/2019 - 20:56
File harbour-speedcrunch-0.5.3-1.armv7hl.rpm287.08 KB05/12/2019 - 23:05
File harbour-speedcrunch-0.6.0-1.armv7hl.rpm294.49 KB19/04/2020 - 13:07

Older entries available in GitHub changelog.

0.5.0 (2018-11-27)

  • Fixed images to work with SFOS 3.0 light ambiences
  • Added some flicking resistance to buttons:
    • Drag within button does not flick keyboard or page
    • Reduces unwanted flicks when pressing buttons
  • Added french UI translations (thanks @JeanDeLaMouche)
  • Submitted to Jolla Store

0.5.1 (2019-06-04)

  • Compiled with SDK version 2.1.1 for Sailfish 3.0.3
  • Added support for slovenian language pl_SL
  • Added slovenian UI translations (thanks @sponka)
  • Added swedish UI translations (thanks @ekrogius)
  • Initial keyboard configuration:
    • Keyboard layouts are loaded from json files
    • Initially four different layouts:
      • Classic layout will stay as version 0.5 keyboard
      • Current layout will be default keyboard from now on
      • Gemini layout has only two rows in horizontal mode
      • Tablet layout has more rows or columns
    • User defined keyboards are supported
  • Modifications to Current keyboard:
    • Long press with equal (=) produces previous result (ans)
    • Long press with backspace clears all
    • Long press with ln produces lg()
    • Long press with exp produces 10^
    • Long press with division (÷) produces integer division (\)
    • Long press with trigonometrics produce hyperbolic versions
  • Fixed landscape orientation bug with comboboxes
  • Fixed history list handling with backslash (integer division)
  • Replaced keyboard backspace image with Unicode character.

0.5.2 (2019-09-07)

  • Compiled with SDK version 2.2.4 for Sailfish 3.1.0
  • Updated UI translations
  • Added support for chinese language zh_CN
  • Added support for dynamic key labels in square brackets:
    • [1H] “1” or “1 A” in hexadecimal mode
    • [2H] “2” or “2 B” in hexadecimal mode
    • [3H] “3” or “3 C” in hexadecimal mode
    • [4H] “4” or “4 D” in hexadecimal mode
    • [5H] “5” or “5 E” in hexadecimal mode
    • [6H] “6” or “6 F” in hexadecimal mode
    • [6C] “9” or “9 j” in complex number mode
    • [XO] “0x” or “0o” in octal number mode
    • Used in new keyboards (Current, Gemini, Tablet)

0.5.3 (2019-12-05)

  • Compiled with SDK version 2.3.15 for Sailfish 3.2.0
  • Updated UI translations
  • Added chinese UI translations (thanks @Historyscholar)
  • Added haptic feedback for keys and list selections
  • Added setting for turning haptic feedback on or off

0.6.0 (2020-04-19)

  • Compiled with SDK version 2.4.0 for Sailfish 3.2.0
  • Updated UI translations
  • Added 172x172 size icon
  • Submitted to Jolla Store