Commit Graph

41 Commits

Author SHA1 Message Date
Jordan Woyak
ee43c9508c ControllerInterface: Add IsHidden function to Control interface. 2024-03-14 23:43:58 -05:00
Dentomologist
43e69d3e6a DolphinQt: Remove unnecessary qOverloads
qOverload is used to disambiguate pointers to overloaded functions, but
most of the usages in the code base were with non-overloaded functions.
2023-11-04 14:14:14 -07:00
Admiral H. Curtiss
24012cfc7f
DolphinQt: Adjust panel-specific colors and syntax highlighting for dark theme. 2023-08-12 19:43:12 +02:00
Jordan Woyak
f5b9049421 Input: Add "abs" input expression function. 2022-10-11 19:28:21 -05:00
Jordan Woyak
87fb42b64c DolphinQt: Renamed "Range" to "Multiplier" in advanced mapping window. Removed the slider. Moved the spin box. 2022-06-26 22:52:20 -05:00
Sage King
f0454ab2fa Added double click to add expressions when mapping 2022-05-21 14:08:49 -06:00
JosJuice
1bc057614e Move parts of MappingCommon out of DolphinQt
Some of the functions in MappingCommon would be useful to use on
mobile in the future.
2022-03-06 14:30:49 +01:00
Pokechu22
78bfd25964 Fix all uninitialized variable warnings (C26495) 2021-10-13 12:32:16 -07:00
sowens99
556323561c Do not update hotkey assignments on window close
If this commit is not applied, then the previous commit will cause hotkeys to be saved if there is a syntax error when hitting "OK" and the user presses the X to close the window.

This commit only applies changes to hotkey config if no syntax error occurs.
2021-09-27 16:21:28 -04:00
sowens99
242bce27a1 Do not accept on hotkey syntax errors
Previously you could type whatever gibberish you wanted into the formula bar, press OK, and receive a modal syntax error window. Closing the syntax error window would cause the hotkey config window to close as well, and your gibberish would be applied to the hotkey assignment.

This commit requires that a syntax error does not occur before accept() is called.
2021-09-27 14:28:08 -04:00
Pierre Bourdon
e149ad4f0a
treewide: convert GPLv2+ license info to SPDX tags
SPDX standardizes how source code conveys its copyright and licensing
information. See https://spdx.github.io/spdx-spec/1-rationale/ . SPDX
tags are adopted in many large projects, including things like the Linux
kernel.
2021-07-05 04:35:56 +02:00
Filoppi
83ea16f402 Qt: Fix IOWindow keeping a shared ptr to devices even after them being removed by the ControllerInterface
this prevented some devices from being recreated correctly, as they were exclusive (e.g. DInput Joysticks)

This is achieved by calling Settings::ReleaseDevices(), which releases all the UI devices shared ptrs.
If we are the host (Qt) thread, DevicesChanged() is now called in line, to avoid devices being hanged onto by the UI.
For this, I had to add a method to check whether we are the Host Thread to Qt.

Avoid calling ControllerInterface::RefreshDevices() from the CPU thread if the emulation is running
and we manually refresh devices from Qt, as that is not necessary anymore.

Refactored the way IOWindow lists devices to make it clearer and hold onto disconnected devices.
There were so many issues with the previous code:
-Devices changes would not be reflected until the window was re-opened
-If there was no default device, it would fail to select the device at index 0
-It could have crashed if we had 0 devices
-The default device was not highlighted as such
2021-06-07 11:48:30 +03:00
Filoppi
93e3e691f9 Expose Control Expression variables to mappings UI
-add a way to reset their value (from the mappings UI)
-fix "memory leak" where they would never be cleaned,
one would be created every time you wrote a character after a "$"
-fix ability to create variables with an empty string by just writing "$" (+added error for it)
-Add $ operator to the UI operators list, to expose this functionality even more
2021-05-24 02:38:06 +03:00
Dentomologist
43b389410a Config: Fix expression window scroll wheel spam
Fixes the expression window being spammed with the first entry in the
Operators or Functions select menus when scrolling the mouse wheel while
hovering over them.

Fixes https://bugs.dolphin-emu.org/issues/12405
2021-02-09 08:55:01 -08:00
Admiral H. Curtiss
11e226a91a Qt/IOWindow: Remove Apply button. 2020-11-26 00:47:37 +01:00
Admiral H. Curtiss
334100509b Qt/IOWindow: Show the current value of the expression. 2020-11-26 00:46:51 +01:00
Admiral H. Curtiss
ddfb8fa404 Qt/IOWindow: Apply expressions immediately so we can query the current value of the expression. 2020-11-26 00:45:31 +01:00
Admiral H. Curtiss
cdf2a29b5e Qt/IOWindow: Add a handful of math functions to the function dropdown. 2020-08-02 22:09:09 +02:00
Lioncash
19115c84dd DolphinQt: Use qOverload where applicable
Provides the same behvaior, but in a much more concise manner.
2020-04-28 16:54:19 +02:00
Jordan Woyak
38f36be9ae DolphinQt: Break mapping indicators into separate classes. Ensure "state lock" is held on redraw. 2020-02-24 16:25:06 -06:00
Jordan Woyak
b9f34bc822 DolphinQt: setTabKeyNavigation(false) on QTableWidget and QTableView. 2020-02-06 20:48:45 -06:00
Jordan Woyak
a6b3a2cd4f DolphinQt: Hide unused buttons in the advanced mapping dialog. 2019-11-08 17:47:19 -06:00
Léo Lam
d8c62b5965
Merge pull request #8396 from jordan-woyak/mapping-input-list-states
Qt/Mapping: Show current input states in advanced dialog.
2019-11-08 22:15:45 +01:00
Jordan Woyak
1fe44238b1 ExpressionParser: Add XOR operator. 2019-10-20 09:51:52 -05:00
Jordan Woyak
40d15980c5 DolphinQt/Mapping: Explicitly specify parents of conditionally added widgets to prevent memory leaks. 2019-10-18 12:26:03 -05:00
Jordan Woyak
fa8cbd83e2 Qt/Mapping: Show current input states in advanced dialog. 2019-10-18 12:19:16 -05:00
Jordan Woyak
72302d9c42 ExpressionParser: Add support for /* */ style comments. 2019-10-12 11:41:02 -05:00
Jordan Woyak
b57178d246 ExpressionParser: Remove ! character from function syntax. Remove unused serialization functions. 2019-10-11 18:12:18 -05:00
Jordan Woyak
7912dc57dd ExpressionParser: Remove !while and add optional 2nd argument to !smooth. 2019-10-11 18:12:18 -05:00
Jordan Woyak
ca7ce67450 ExpressionParser/DolphinQt: Added parse results to UI. 2019-10-11 18:12:18 -05:00
Jordan Woyak
c8b2188e19 DolphinQT: Add syntax highlighting from tokenizer data. 2019-10-11 18:12:18 -05:00
Jordan Woyak
e3cf2ae0d4 DolphinQT/IOWindow: Add combo boxes to insert the new operators and functions so people are semi-aware of them. Fixed the "Apply" button. Display an error message on expression parse error. 2019-10-11 18:12:18 -05:00
Jordan Woyak
74a997da65 DolphinQt: Fix "Default" and "Clear" buttons not updating the displayed extension. 2019-04-27 10:51:57 -05:00
Jordan Woyak
9cb17b062c DolphinQ: Mapping UI cleanups. 2019-03-15 18:32:25 -05:00
Jordan Woyak
c389d68186 ControllerInterface/DolphinQt: Make mapping "all devices" way less hacky. 2019-03-03 18:39:02 -06:00
Filip Gawin
49fe9f5db1 Use empty instead of size 2019-02-13 00:03:49 +01:00
mazes-80
eae36399dc IOWindow: append new text at the end by default
This fixes https://dolp.in/i11026.
2018-10-07 12:27:05 +01:00
spycrab
6af7c1fe27
Merge pull request #7273 from Techjar/qt-iowindow-detect-spaces
Qt/IOWindow: Fix detection of button names containing non-alphabetical characters
2018-07-30 11:58:47 +02:00
Techjar
44aa3cdc0f Qt/IOWindow: Don't set QSizePolicy::Expanding on macOS 2018-07-17 14:35:56 -04:00
Techjar
f37813d8b6 Qt/IOWindow: Fix detection of button names containing non-alphabetical characters
The button wouldn't be highlighted in the list, as it would look for something like `Click 1` instead of Click 1.
2018-07-16 18:59:23 -04:00
spycrab
13ba24c5a6 Move DolphinQt2 to DolphinQt 2018-07-07 00:48:38 +02:00