Commit 3371d41359808085e71eb7d4e56e30c93da20eda
1 parent
7b916f12
New setting for closing the UI by pressing the shortcut
Showing
6 changed files
with
95 additions
and
55 deletions
calculator.lua
... | ... | @@ -257,19 +257,26 @@ local function hide_calculator(player) |
257 | 257 | end |
258 | 258 | |
259 | 259 | -- ---------------------------------------------------------------- |
260 | -function toggle_calculator(player) | |
260 | +function focus_on_input(player) | |
261 | 261 | local root = get_gui_root(player) |
262 | - if root and root.calcui then | |
263 | - hide_calculator(player) | |
264 | - else | |
265 | - show_calculator(player) | |
266 | - end | |
262 | + root.calcui.calcui_table.calcui_table_col1.calcui_display.focus() | |
267 | 263 | end |
268 | 264 | |
269 | 265 | -- ---------------------------------------------------------------- |
270 | -function focus_on_input(player) | |
266 | +function toggle_calculator(player, extended_mode) | |
267 | + extended_mode = extended_mode or false | |
268 | + | |
271 | 269 | local root = get_gui_root(player) |
272 | - root.calcui.calcui_table.calcui_table_col1.calcui_display.focus() | |
270 | + if root and root.calcui then | |
271 | + -- root.calcui.calcui_table.calcui_table_col1.calcui_display.in_focus()? FIXME not possible with current api | |
272 | + if extended_mode and not settings.get_player_settings(player)["calcui-shortcut-close"].value then | |
273 | + focus_on_input(player) | |
274 | + else | |
275 | + hide_calculator(player) | |
276 | + end | |
277 | + else | |
278 | + show_calculator(player) | |
279 | + end | |
273 | 280 | end |
274 | 281 | |
275 | 282 | -- ---------------------------------------------------------------- | ... | ... |
changelog.txt
1 | 1 | --------------------------------------------------------------------------------------------------- |
2 | +Version: 1.1.1 | |
3 | +Date: 2020-11-28 | |
4 | + Features: | |
5 | + - Introduces a new setting to define the behavior of the shortcut. When enabled (Default: | |
6 | + false) it will close the UI by pressing the shortcut. Default-behavior is still the same: | |
7 | + focus on the input-field. | |
8 | +--------------------------------------------------------------------------------------------------- | |
2 | 9 | Version: 1.1.0 |
3 | 10 | Date: 2020-11-24 |
4 | - Changes: | |
11 | + Info: | |
5 | 12 | - Updated the version for Factorio 1.1 Experimental Branch |
6 | 13 | --------------------------------------------------------------------------------------------------- |
7 | 14 | Version: 0.18.7 |
8 | 15 | Date: 2020-06-25 |
9 | - Changed: | |
16 | + Changes: | |
10 | 17 | - Updated the thumbnail on the mods page |
11 | - Fixed: | |
12 | - - Fixed UI style for 0.18.33 update | |
18 | + Bugfixes: | |
19 | + - Bugfixes UI style for 0.18.33 update | |
13 | 20 | --------------------------------------------------------------------------------------------------- |
14 | 21 | Version: 0.18.6 |
15 | 22 | Date: 2020-06-11 |
16 | - Fixed: | |
17 | - - Percentage calculations fixed; big thanks to GWulf for raising the issue and also providing the fix for it <3 | |
23 | + Bugfixes: | |
24 | + - Percentage calculations Bugfixes; big thanks to GWulf for raising the issue and also | |
25 | + providing the fix for it <3 | |
18 | 26 | |
19 | 27 | --------------------------------------------------------------------------------------------------- |
20 | 28 | Version: 0.18.5 |
21 | 29 | Date: 2020-06-08 |
22 | - General: | |
23 | - - Added some fancy sound effects and a special [Nilaus](https://www.youtube.com/c/Nilaus) mode. | |
24 | - Added: | |
25 | - - Added sound effects to the calculator whenever a result may be not the desired one (has be enabled in the settings) | |
26 | - Changed: | |
27 | - - Emotes will no longer be displayed at default, "Nilaus mode" has to be enabled for the emotes to appear again | |
28 | - Fixed: | |
30 | + Info: | |
31 | + - Features some fancy sound effects and a special [Nilaus](https://www.youtube.com/c/Nilaus) | |
32 | + mode. | |
33 | + Features: | |
34 | + - Features sound effects to the calculator whenever a result may be not the desired one (has be | |
35 | + enabled in the settings) | |
36 | + Changes: | |
37 | + - Emotes will no longer be displayed at default, "Nilaus mode" has to be enabled for the emotes | |
38 | + to appear again | |
39 | + Bugfixes: | |
29 | 40 | - Recent results weren't properly cleared in 0.18.4 |
30 | - Misc: | |
41 | + Other: | |
31 | 42 | - Some code rework, not too fancy stuff |
32 | 43 | |
33 | 44 | --------------------------------------------------------------------------------------------------- |
34 | 45 | Version: 0.18.4 |
35 | 46 | Date: 2020-06-07 |
36 | - General: | |
47 | + Info: | |
37 | 48 | - Based on user feedback updated the mod |
38 | - Added: | |
39 | - - Added the possibility to copy the results (from recent and also the current) to the display | |
40 | - Changed: | |
49 | + Features: | |
50 | + - Features the possibility to copy the results (from recent and also the current) to the | |
51 | + display | |
52 | + Changes: | |
41 | 53 | - Window now remember last location when opened |
42 | - - Updated the BS button (it's backspace people...) so it now has a nice icon instead of the letters | |
54 | + - Updated the BS button (it's backspace people...) so it now has a nice icon instead of the | |
55 | + letters | |
43 | 56 | - Recent results now add to the top, instead of the bottom |
44 | 57 | - When calculator is opened it focues on the display for entering the equation |
45 | 58 | - You can click pretty much anywhere now and it focues on the display for entering the equation |
46 | - Fixed: | |
47 | - - On multiplayer session the window would lag behind while dragging, because the location would be saved on server. This isn't going to happen anymore, hopefully (not tested yet). | |
48 | - - When window is moved out of boundaries, when reopened, it will correct itself to be fully in sight again. | |
59 | + Bugfixes: | |
60 | + - On multiplayer session the window would lag behind while dragging, because the location would | |
61 | + be saved on server. This isn't going to happen anymore, hopefully (not tested yet). | |
62 | + - When window is moved out of boundaries, when reopened, it will correct itself to be fully in | |
63 | + sight again. | |
49 | 64 | - Settings had weird default values (were set 2 times) |
50 | 65 | |
51 | 66 | --------------------------------------------------------------------------------------------------- |
52 | 67 | Version: 0.18.3 |
53 | 68 | Date: 2020-06-07 |
54 | - General: | |
69 | + Info: | |
55 | 70 | - A small visual overhaul of the mod |
56 | - Added: | |
57 | - - Added the possibility to "calculate further" (especially usefull when setting "Clear equation on calculation" is set). When the equation doesn't start with a number, character or parenthesis (so it assumes it starts with a math symbol) it will take the previous result and prepend it to the current equation. | |
58 | - Changed: | |
71 | + Features: | |
72 | + - Features the possibility to "calculate further" (especially usefull when setting "Clear | |
73 | + equation on calculation" is set). When the equation doesn't start with a number, character or | |
74 | + parenthesis (so it assumes it starts with a math symbol) it will take the previous result and | |
75 | + prepend it to the current equation. | |
76 | + Changes: | |
59 | 77 | - Updated the UI a bit to match it in color a bit more to the Windows calculator |
60 | 78 | - Updated also the icon on the shortcut to better distinguish it |
61 | 79 | |
62 | 80 | --------------------------------------------------------------------------------------------------- |
63 | 81 | Version: 0.18.2 |
64 | 82 | Date: 2020-06-06 |
65 | - General: | |
83 | + Info: | |
66 | 84 | - Based on user feedback updated the mod |
67 | - Added: | |
85 | + Features: | |
68 | 86 | - new easter egg :-) |
69 | - - added more math.lib functions | |
87 | + - Features more math.lib functions | |
70 | 88 | - atan2() -> math.atan2() |
71 | 89 | - cosh() -> math.cosh() |
72 | 90 | - sinh() -> math.sinh() |
... | ... | @@ -76,32 +94,39 @@ Date: 2020-06-06 |
76 | 94 | - frexp() -> math.frexp() |
77 | 95 | - ldexp() -> math.ldexp() |
78 | 96 | - pow() -> math.pow() |
79 | - Fixed: | |
80 | - - Interpreting ";" as "," in the equation, because of the fix in 0.18.1, so that math functions with more than 1 parameter work. They have to use ";" as a separator for inputs | |
81 | - - Fixed sqrt(-1) equaling "na" because of the rounding fix from 0.18.1. It does now show "NaN" again | |
97 | + Bugfixes: | |
98 | + - Interpreting ";" as "," in the equation, because of the fix in 0.18.1, so that math functions | |
99 | + with more than 1 parameter work. They have to use ";" as a separator for inputs | |
100 | + - Bugfixes sqrt(-1) equaling "na" because of the rounding fix from 0.18.1. It does now show | |
101 | + "NaN" again | |
82 | 102 | |
83 | 103 | --------------------------------------------------------------------------------------------------- |
84 | 104 | Version: 0.18.1 |
85 | 105 | Date: 2020-06-06 |
86 | - General: | |
106 | + Info: | |
87 | 107 | - Based on user feedback updated the mod |
88 | - Added: | |
89 | - - Shortcut for opening the calculator and automatically focus on the input (Default: Ctrl+Shift+C) | |
90 | - Fixed: | |
108 | + Features: | |
109 | + - Shortcut for opening the calculator and automatically focus on the input (Default: | |
110 | + Ctrl+Shift+C) | |
111 | + Bugfixes: | |
91 | 112 | - Rounding removed 0 at the end, will now stand as it should. So 2.0000001 -> 2.00 |
92 | - - Interpreting "," as "." in the equation, because of some European countries do have a weird keyboard layout | |
113 | + - Interpreting "," as "." in the equation, because of some European countries do have a weird | |
114 | + keyboard layout | |
93 | 115 | |
94 | 116 | --------------------------------------------------------------------------------------------------- |
95 | 117 | Version: 0.18.0 |
96 | 118 | Date: 2020-06-06 |
97 | - General: | |
119 | + Info: | |
98 | 120 | - Initial Release of the mod |
99 | 121 | - Compatible with Factorio >0.18.0; tested on 0.18.30 |
100 | - - Based on the 4-Function Calculator found in the [Max Rate Calculator](https://mods.factorio.com/mod/MaxRateCalculator) mod by [Theanderblast](https://mods.factorio.com/user/theanderblast) | |
101 | - Added: | |
122 | + - Based on the 4-Function Calculator found in the | |
123 | + [Max Rate Calculator](https://mods.factorio.com/mod/MaxRateCalculator) mod by | |
124 | + [Theanderblast](https://mods.factorio.com/user/theanderblast) | |
125 | + Features: | |
102 | 126 | - History of recent calculations |
103 | 127 | - Possibility to copy recent calculations to the current one (with shift+left-click) |
104 | - - Substitutes some functions & "constants" of the Lua [math-lib](http://lua-users.org/wiki/MathLibraryTutorial) | |
128 | + - Substitutes some functions & "constants" of the Lua | |
129 | + [math-lib](http://lua-users.org/wiki/MathLibraryTutorial) | |
105 | 130 | - abs() -> math.abs() |
106 | 131 | - acos() -> math.acos() |
107 | 132 | - asin() -> math.asin() |
... | ... | @@ -123,12 +148,13 @@ Date: 2020-06-06 |
123 | 148 | - pi -> math.pi |
124 | 149 | - Allows the use of "%" (percent sign) in the calculation |
125 | 150 | - A little easter egg :-) |
126 | - - Setting for number of decimal places in result (Default: 2). Exact value will be displayed in the tooltip | |
151 | + - Setting for number of decimal places in result (Default: 2). Exact value will be displayed in | |
152 | + the tooltip | |
127 | 153 | - Setting if triggering the calculation should clear the current equation (Default: no) |
128 | - Changed: | |
154 | + Changes: | |
129 | 155 | - Made the buttons slightly bigger, so that it's better readable on streams. |
130 | 156 | - Allows to make "complex" calculations with parentheses |
131 | 157 | - Allows pretty much all characters in the equation field |
132 | 158 | - but the "=" (equal sign) will trigger the calculation |
133 | - Removed: | |
159 | + Ease of use: | |
134 | 160 | - Got rid of the memory functions - but introduced the list of recent calculations instead |
135 | 161 | \ No newline at end of file | ... | ... |
control.lua
... | ... | @@ -77,8 +77,7 @@ end |
77 | 77 | -- ---------------------------------------------------------------- |
78 | 78 | local function on_hotkey_main(event) |
79 | 79 | local player = game.players[event.player_index] |
80 | - show_calculator(player) | |
81 | - focus_on_input(player) | |
80 | + toggle_calculator(player, true) | |
82 | 81 | end |
83 | 82 | |
84 | 83 | -- ---------------------------------------------------------------- | ... | ... |
info.json
locale/en/config.cfg
... | ... | @@ -7,12 +7,14 @@ calcui_hotkey=Focus on input |
7 | 7 | [mod-setting-name] |
8 | 8 | calcui-decimal-places=Decimal places |
9 | 9 | calcui-clear-on-calc=Clear equation on calculation |
10 | +calcui-shortcut-close=Close with Shortcut | |
10 | 11 | calcui-nilaus-mode=Nilaus mode |
11 | 12 | calcui-sfx=Sound effects |
12 | 13 | |
13 | 14 | [mod-settings-description] |
14 | 15 | calcui-decimal-places=Number of decimal places in the result |
15 | 16 | calcui-clear-on-calc=Should trigger the calculation delete the equation? |
17 | +calcui-shortcut-close=Whether the UI should close as well by pressing the shortcut (when true), or focus on the inputfield when already open (when false) | |
16 | 18 | calcui-nilaus-mode=With Nilaus mode enabled some special easter eggs appear |
17 | 19 | calcui-sfx=When enabled sound effects will be played on strange results |
18 | 20 | ... | ... |
settings.lua
... | ... | @@ -16,6 +16,12 @@ data:extend({ |
16 | 16 | { |
17 | 17 | type = "bool-setting", |
18 | 18 | default_value = false, |
19 | + name = "calcui-shortcut-close", | |
20 | + setting_type = "runtime-per-user" | |
21 | + }, | |
22 | + { | |
23 | + type = "bool-setting", | |
24 | + default_value = false, | |
19 | 25 | name = "calcui-nilaus-mode", |
20 | 26 | setting_type = "runtime-per-user" |
21 | 27 | }, | ... | ... |