Commit graph

321 commits

Author SHA1 Message Date
Cameron Gutman
ccd0777ce9 Use a Loader to be able to use StackView.onActivated to trigger stream start 2019-03-02 20:55:50 -08:00
Cameron Gutman
0ec04df334 Hide hint text when the connection completes 2019-03-02 14:13:32 -08:00
Cameron Gutman
26d7946b4a Fix toolbar hiding in quit segue 2019-03-02 14:13:14 -08:00
Cameron Gutman
292cc579cf Partially revert 8037fb76fc to fix mouse polling issues on Windows 2019-03-02 14:11:30 -08:00
Cameron Gutman
ac8183feee Fix selection loss when going back caused by previous commit 2019-02-22 22:44:09 -08:00
Cameron Gutman
8037fb76fc Use StackView activation callbacks to perform init and cleanup since visibility callbacks aren't guaranteed to run in any order 2019-02-22 22:14:06 -08:00
Cameron Gutman
23f1060756 Polish the resume/quit buttons 2019-02-12 19:07:48 -08:00
Cameron Gutman
710648f3f4 Fix QuitSegue -> StreamSegue transition to be direct via replacement and disallow toolbar interactions 2019-02-09 21:15:17 -08:00
Cameron Gutman
8de42b3199 Fix gamepad menu focus and dismissal issues 2019-02-09 19:59:01 -08:00
Cameron Gutman
48e78d2cd3 Don't allow focus on invisible menu items 2019-02-09 19:21:43 -08:00
Cameron Gutman
2986a40c5a Fix some gamepads working for UI navigation but not in game 2019-01-29 22:01:05 -08:00
Cameron Gutman
6fcc8b721b Add a button for quitting the running app 2019-01-26 23:57:02 -08:00
Cameron Gutman
b4bbd58c77 Add long press action on PC view for touchscreens 2019-01-26 23:11:09 -08:00
Cameron Gutman
e0bebeae25 Allow theme overrides via environment variables 2019-01-19 17:06:35 -08:00
Cameron Gutman
88b1ea296c Remove video bitrate tooltip since audio is accounted for during remote streaming 2019-01-06 15:41:00 -08:00
Cameron Gutman
2a13a869f3 Don't allow the scroll wheel to move the bitrate slider 2019-01-06 15:39:54 -08:00
Cameron Gutman
34aacc90d7 Include version string in update tooltip 2019-01-03 18:00:54 -08:00
Cameron Gutman
e2774309fb Fix context menus on Qt 5.9 2019-01-02 19:49:06 -08:00
Cameron Gutman
cfabaf334e Add frame pacing toggle 2018-12-25 12:57:00 -08:00
Cameron Gutman
35aac18b4e Improve bitrate slider label and add tooltip 2018-12-25 11:48:34 -08:00
Cameron Gutman
b46a3cf759 Show stream error dialog when launching from the CLI 2018-12-05 22:22:30 -08:00
Cameron Gutman
5029c855f0 Simplify app quitting implementation a bit 2018-12-05 19:49:06 -08:00
Janne Hakonen
0ab07303c9 Add quit cli command and app quit option after stream session. Fixes #92 (#138)
* Add quit cli command and app quit option after stream session. Fixes #92

* Code review fixes.
2018-12-05 18:45:28 -08:00
Cameron Gutman
23e77eefb0 Rename multi-controller checkbox to be more descriptive 2018-11-29 20:10:47 -08:00
Cameron Gutman
094443cf26 Rename start in windowed mode option to be more accurate 2018-11-28 21:46:14 -08:00
Cameron Gutman
9a153b7170 Remove unneccessary hardcoded text color for better style support 2018-11-22 02:35:25 -08:00
Cameron Gutman
e7bb146f92 Allow streaming to match the refresh rate in unsupported mode 2018-11-20 21:47:08 -08:00
Cameron Gutman
165ad96be1 Fix stack overflow if SDL gamepad initialization fails 2018-11-18 22:04:44 -08:00
Cameron Gutman
bfc64c926a Reorganize settings page now that vertical scrolling works 2018-11-15 16:41:02 -08:00
Cameron Gutman
a95d2e76f5 Fix settings page scrolling. Fixes #106 2018-11-13 18:03:53 -08:00
Cameron Gutman
037886ba5b Add tooltips and update help text 2018-11-04 14:36:12 -08:00
Cameron Gutman
1a5a6773ce Add option to determine if Moonlight launches in full-screen. Fixes #103 2018-11-04 13:57:33 -08:00
Cameron Gutman
dda22fd387 Rename mouse acceleration toggle to raw mouse input 2018-11-04 13:31:28 -08:00
Cameron Gutman
f672b8534f Change quit tip based on whether gamepads are attached 2018-10-28 17:59:07 -07:00
Cameron Gutman
839c0a45a0 Avoid polling server status while streaming 2018-10-28 17:53:49 -07:00
Cameron Gutman
61d90a5a88 Also display a tooltip when the item is highlighted by gamepad/keyboard 2018-10-14 22:23:08 -07:00
Cameron Gutman
ef99f02bc7 Display the tooltip over the text itself and only if it's truncated 2018-10-14 21:39:37 -07:00
Cameron Gutman
40fc9fa26f Fix Qt 5.9 incompatibility in AutoResizingComboBox. Fixes #107 2018-10-13 20:16:18 -07:00
Cameron Gutman
e411c207ae Implement quitting Moonlight via gamepad or keyboard. Fixes #100 2018-10-13 00:41:22 -07:00
Cameron Gutman
e53b32fa57 Stop polling machines after 5 minutes of inactivity to conserve power 2018-10-12 19:58:29 -07:00
Cameron Gutman
969afac696 Add tool tips to app grid 2018-10-12 19:41:20 -07:00
Cameron Gutman
50d4f267ba Fix font setting in TextMetrics. Fixes #99 2018-10-12 19:19:33 -07:00
Cameron Gutman
fc315feac4 Maximize the Qt UI window if configured for a full-screen display mode 2018-10-06 13:14:32 -07:00
Cameron Gutman
82a87e96b3 Include the indicator in combo box width 2018-10-06 12:59:59 -07:00
Cameron Gutman
7d1ecc8d82 Fix popup font resizing on macOS 2018-10-06 12:41:55 -07:00
Cameron Gutman
f9daf2a45c Resize settings combo boxes to match their contents 2018-10-06 12:12:05 -07:00
Cameron Gutman
113751a4bc Avoid Qt bug by using onAfterRendering instead of onAfterSynchronizing to display dialogs 2018-10-05 19:54:13 -07:00
Janne Hakonen
1d691cf763 Reserve a static size for app icon in PC view to position the icon and text on same level with other apps 2018-10-03 19:31:37 +03:00
Cameron Gutman
bccd118abb Finish removal of auto audio option and rename the remaining options 2018-10-02 15:30:22 -07:00
Cameron Gutman
3dc049ee5f Remove automatic audio configuration permanently due to brokenness and allow renderers to request reinitialization on demand 2018-10-02 01:21:42 -07:00
Cameron Gutman
b14a0fa2ce Ensure initial warning dialogs always appear on top of the Moonlight window 2018-09-30 22:39:51 -07:00
Cameron Gutman
5f05363996 Fix keyboard navigation of quit app and delete PC dialogs 2018-09-30 22:20:19 -07:00
Cameron Gutman
d5770ad8cc Fix "Connection terminated" dialog being stuck out of input focus on gamepad 2018-09-30 18:38:54 -07:00
Cameron Gutman
6d382078d3 Allow gamepad navigation with the left analog stick 2018-09-30 14:30:12 -07:00
Cameron Gutman
162a16ed3a Allow settings to be activated when an app or PC is in focus 2018-09-30 13:52:38 -07:00
Cameron Gutman
d706e81cd4 Add gamepad navigation support for everything except context menus and dialogs 2018-09-30 13:41:32 -07:00
Cameron Gutman
4ad27670ec Provide detection and help for unmapped gamepads. Fixes #70 2018-09-29 19:14:52 -07:00
Cameron Gutman
200b1c5095 Rename hpp -> h 2018-09-29 16:18:46 -07:00
Janne Hakonen
d14cfb577b Add command line parameters. Fixes #30 (#89)
* Add command line parameters. Fixes #30

* Fixed compile errors

* Fixed code review findings

* Fixed code review findings, take 2
2018-09-29 14:06:55 -07:00
Cameron Gutman
7e414f0af3 Add keyboard shortcuts for Help and Settings 2018-09-23 19:24:47 -07:00
Cameron Gutman
8fb37ae229 Finish keyboard navigation for GridViews and MenuItems 2018-09-23 19:06:26 -07:00
Cameron Gutman
2e3de32810 Partially working keyboard navigation support 2018-09-23 15:16:27 -07:00
Cameron Gutman
926b192722 Warn portable users if they download the wrong version 2018-09-22 14:16:48 -07:00
Cameron Gutman
72afa55897 Add tip text to the StreamSegue telling users about the quit shortcut. Fixes #77 2018-09-14 19:11:06 -07:00
Cameron Gutman
eed9fca10c Mass conversion of isNull() -> isEmpty() 2018-09-14 18:36:15 -07:00
Cameron Gutman
54885c3e5f Revert "Delay Session::exec() for 250 ms to allow the StackView transition to complete" due to regressing spinner performance on Windows and Linux
This reverts commit b8ffb6e53d.
2018-09-13 14:39:33 -07:00
Cameron Gutman
b8ffb6e53d Delay Session::exec() for 250 ms to allow the StackView transition to complete 2018-09-13 14:33:38 -07:00
Cameron Gutman
64bc189010 Fixes to SDL audio renderer and autodetection support 2018-09-13 07:46:01 -07:00
Cameron Gutman
9e2fd67487 Add option to enable mouse acceleration for remote desktop usage 2018-09-09 13:21:11 -07:00
Cameron Gutman
af17d56cbd Add option to disable mDNS PC discovery. Fixes #50 2018-09-09 12:33:19 -07:00
Cameron Gutman
b0a9fc7085 Add Help option to connection failure dialog 2018-09-09 11:53:14 -07:00
Cameron Gutman
0b94ad1fef Add help link in Add PC failure dialog 2018-09-09 11:19:33 -07:00
Cameron Gutman
b8169ae08b Fix broken quit dialog transition to next app 2018-09-09 10:08:23 -07:00
Cameron Gutman
c9a7c15f98 Improve unsupported FPS options and performance 2018-09-08 15:09:46 -07:00
Cameron Gutman
64a08f0533 Allow higher than display refresh rate streaming with unsupported FPS option 2018-09-08 14:34:11 -07:00
Cameron Gutman
4381f7a973 Apply changes to preferences when loading the settings page 2018-09-07 23:16:13 -07:00
Cameron Gutman
77b767ae5b Hide autodetect option for audio configuration since it's broken on macOS and Linux (and to some extent, Windows) 2018-09-07 22:51:56 -07:00
Cameron Gutman
2c4f78133f Avoid inflating MessageDialogs for each app in the grid. Fixes scrolling jank on app grid. 2018-09-07 17:33:34 -07:00
Cameron Gutman
b2eeb63b6f Mark the full-screen display mode as recommended due to lower latency and better frame pacing 2018-09-05 17:46:29 -07:00
Cameron Gutman
a7517dace3 Switch to ItemDelegate for PCs and Apps for proper hover and click behavior 2018-09-05 17:08:27 -07:00
Cameron Gutman
bd9f2d2009 Remove unused Menu items in ToolButtons 2018-09-05 16:38:52 -07:00
Cameron Gutman
78730f7235 Wake host on a separate worker thread to avoid hanging the UI for DNS resolution 2018-09-05 16:10:32 -07:00
Cameron Gutman
856318f947 Start the SDL window on the same display as the Qt UI was displayed on 2018-09-05 15:15:53 -07:00
Cameron Gutman
dae21f2638 Detect native panel resolution on Retina displays. Fixes #59 2018-09-04 00:21:37 -04:00
Cameron Gutman
7dd4815edf Allow selection between full-screen exclusive mode and borderless windowed mode 2018-09-03 22:17:34 -04:00
Cameron Gutman
0467c2f893 Don't rely on Qt 5.10 icon feature 2018-08-31 02:28:26 -04:00
Cameron Gutman
9470615c63 Use QtQuick.Dialogs 1.2 for Qt 5.9 support 2018-08-30 00:00:05 -04:00
Cameron Gutman
8f0ea700a5 Fix QML error when pairing successfully 2018-08-29 23:59:19 -04:00
Cameron Gutman
f9cdd49d2e Add settings option to disable V-sync for lowest possible latency on Windows 2018-08-20 22:25:19 -07:00
Cameron Gutman
30f673efe1 Create Qt components with all parameters specified otherwise it will be instantiated with default properties 2018-08-16 23:29:46 -07:00
Cameron Gutman
f3309087ab Avoid polling if the Qt window is minimized 2018-08-13 19:47:42 -07:00
Cameron Gutman
5f5f835b2e Display a warning when running under Wayland 2018-08-11 22:42:25 -07:00
Cameron Gutman
4e60ccb2ff Add tooltips for toolbar buttons 2018-08-09 23:20:20 -07:00
Cameron Gutman
186052f21d Fix update button color 2018-08-09 23:18:07 -07:00
Cameron Gutman
0fb3bb0727 Add automatic update checking. Fixes #8 2018-08-09 22:51:27 -07:00
Cameron Gutman
3f81d055af Return to the PC grid if the selected PC goes offline or becomes unpaired 2018-08-09 18:48:40 -07:00
Cameron Gutman
5ec256a734 Fix QML warning 2018-08-05 17:09:29 -07:00
Cameron Gutman
73dd5630df Fix FPS setting restore logic 2018-08-05 15:09:36 -07:00
Cameron Gutman
b76645e26b Fix resolution comparision issue with portrait displays 2018-08-05 15:03:24 -07:00
Cameron Gutman
9cc20c27ab Add support for native resolution streaming 2018-08-05 14:55:26 -07:00
Cameron Gutman
2140c94cd1 Fix status icon centering on PC view. Fixes #10 2018-08-05 12:47:08 -07:00
Cameron Gutman
470769e910 Replace running status text with app icon overlay 2018-08-05 12:19:54 -07:00
Cameron Gutman
493165f57f Add a busy indicator while waiting for initial contact with a PC 2018-08-05 12:13:08 -07:00
Cameron Gutman
1dcf55515b Initial replacement of status text with status icons on the PC view 2018-08-05 11:47:14 -07:00
Cameron Gutman
ca72cbb135 Implement displaying launch warnings. Fixes #12 2018-08-04 16:05:37 -07:00
Cameron Gutman
608db6a3e5 Implement support for quitting apps 2018-08-01 22:32:21 -07:00
Cameron Gutman
be52272e5c Fix state corruption caused by having 2 separate ComputerModels. Fixes #6 2018-08-01 21:29:03 -07:00
Cameron Gutman
3ed5f9edf7 Implement C++ functions for quitting apps and querying running apps 2018-07-31 22:21:39 -07:00
Cameron Gutman
017362a5d1 Only allow waking PCs that are not online and paired 2018-07-31 22:10:38 -07:00
R. Aidan Campbell
23a9c2cd9e context menu opened by default for offline hosts 2018-07-29 16:13:42 -07:00
R. Aidan Campbell
9e744ce169 Now with WoL and PC deletion from QML. Deletion needs bugfix, possibly not committed to storage? 2018-07-29 16:04:45 -07:00
Cameron Gutman
3ad5f1478c Comment out HDR option since it's non-working and tweak the remaining option text 2018-07-28 03:06:11 -07:00
Cameron Gutman
a81b501d7d Hide the gamepad mapping button since it's unimplemented 2018-07-28 01:27:42 -07:00
Cameron Gutman
871988b2cb Add 1440p and up to 90 FPS streaming options for > 60 Hz monitors 2018-07-28 01:22:31 -07:00
Cameron Gutman
717c3903d1 Fix top padding for grid views 2018-07-26 22:47:48 -07:00
Cameron Gutman
5854ce2000 Fix handling of long app names 2018-07-26 22:39:45 -07:00
Cameron Gutman
eb1316ce32 Avoid asserting if we get a box art load completion callback for an app that's gone 2018-07-26 22:16:27 -07:00
Cameron Gutman
f5499be215 Warn when no hardware decoding is available 2018-07-26 12:13:38 -07:00
R. Aidan Campbell
b41e8c07d2 Switched settings page to two-pane layout 2018-07-20 15:47:50 -07:00
R. Aidan Campbell
86874a2e1c minor wording change in settings 2018-07-20 14:36:39 -07:00
R. Aidan Campbell
f951a01a68 changed audio configuration to a dropdown, allowing auto/stereo/surround 2018-07-20 14:35:47 -07:00
R. Aidan Campbell
d12fed3e7f remove unused settings 2018-07-20 14:24:27 -07:00
R. Aidan Campbell
4566139c75 now with video codec selection 2018-07-20 14:22:22 -07:00
R. Aidan Campbell
38df63b962 now with video decoder selection 2018-07-20 14:14:38 -07:00
R. Aidan Campbell
2be5040c24 Now with surround-sound checkbox support 2018-07-17 19:39:23 -07:00
R. Aidan Campbell
c23b1a31be Now with default bitrate suggestions per resolution and framerate 2018-07-17 18:52:06 -07:00
R. Aidan Campbell
8c65ee8bc5 Now with using, saving, and loading of the resolution and FPS settings 2018-07-15 18:27:41 -07:00
R. Aidan Campbell
d1d40421eb replaced png icons with svgs 2018-07-15 13:09:16 -07:00
Cameron Gutman
86f843464c Hide the toolbar when the StreamSegue page is visible 2018-07-09 00:12:27 -07:00
Cameron Gutman
908850cc5d Add the smooth grid scaling for PCs too 2018-07-08 23:37:00 -07:00
Cameron Gutman
644c3c0c24 Cache app grid items to smooth out jank during scrolling and resizing 2018-07-08 23:34:30 -07:00
Cameron Gutman
a56d27e3f2 Move the PC SVGs back where they belong 2018-07-08 23:27:20 -07:00
Cameron Gutman
98b76d3203 Fix Material theme 2018-07-08 23:24:26 -07:00
Cameron Gutman
c35d07c961 Add scroll bars to the computer grid and app grid 2018-07-08 23:05:36 -07:00
Cameron Gutman
c4a1f74b02 Hook up a few of the preferences 2018-07-08 22:56:38 -07:00
Cameron Gutman
62cf95d55e Prevent multiple instances of the same page on the StackView and stub out GamepadMapper 2018-07-08 22:37:29 -07:00
Cameron Gutman
a47f59d1a4 Properly manage the lifetime of polling in the AppView and PcView 2018-07-08 22:07:20 -07:00
Cameron Gutman
83ca211d75 Add a segue to the streaming window 2018-07-08 22:06:52 -07:00
MINICOM\mrb11
640f47300c Make settings page scrollable and match the app color scheme 2018-07-08 11:20:56 -07:00
MINICOM\mrb11
33a0188fea Fill out remainder of dummy settings 2018-07-08 11:12:22 -07:00
Michelle Bergeron
8ebb594089
Beginnings of settings page (#2)
* Make Moonlight icon the window icon for all windows

* Add dummy settings

* Add slider

* FIx comments
2018-07-08 10:19:08 -07:00
R. Aidan Campbell
7bc139c50d Now with identification of the currently running app 2018-07-08 08:44:09 -07:00
R. Aidan Campbell
c27711582a now with smooth window scaling for app listing 2018-07-08 08:28:28 -07:00
Cameron Gutman
d7f09382e0 Use a less recent version of QtQuick.Layouts to support Fedora 28 2018-07-07 22:59:05 -07:00
Michelle Bergeron
b630c07653 Add navigation toolbar (#1)
* Add preferences view skeleton

* Add toolbar & help button

* Add working back button

* Title of page in toolbar

* Remove unused imports

* Make comments better!

* Remove unused drawer element

* Remove superfluous > 1 check

* Use point size font instead of pixel size

* Add AppView page title
2018-07-07 22:15:02 -07:00
Cameron Gutman
826fe4cd03 Implemented software video decoding and special key combos 2018-07-07 21:52:20 -07:00
Cameron Gutman
bf671752df UI polish 2018-07-07 16:49:13 -07:00
Cameron Gutman
60ad95bb7b Start work on launching a stream from QML and rip out remaining QtWidgets 2018-07-07 16:30:26 -07:00
Cameron Gutman
78746824e2 Fix inconsistent ComputerModel view of the ComputerManager's state after new PC is added 2018-07-06 00:42:07 -07:00
Cameron Gutman
ecebf75b88 Implement manually adding PCs 2018-07-06 00:34:16 -07:00
Cameron Gutman
6687936e2f Implement pairing via GUI 2018-07-05 23:12:55 -07:00
Cameron Gutman
1b1ad86271 Keep a singleton ComputerManager outside of the Models 2018-07-05 22:08:55 -07:00
R. Aidan Campbell
0d26ef7e5c Now with pin generation for pairing 2018-07-05 21:16:32 -07:00
R. Aidan Campbell
79435b60ff Now with notification dialog for attempts to pair while busy 2018-07-05 20:49:10 -07:00
Cameron Gutman
f120197c21 Fix ComputerModel.paired 2018-07-05 20:41:17 -07:00
Cameron Gutman
ebf27cdcaf More UI work including hooking up PcView -> AppView transition 2018-07-05 20:37:51 -07:00
Cameron Gutman
f83c13ad85 Cleanup ComputerModel and remove root Frame from PcView 2018-07-05 20:11:35 -07:00
Cameron Gutman
b0151da455 Add AppModel and AppView for loading apps and modify BoxArtManager to return QUrls for QML 2018-07-05 20:07:05 -07:00
R. Aidan Campbell
95eebdbe66 now with pairing and add-host dialogs 2018-07-04 18:48:09 -07:00
Cameron Gutman
485c014490 Fix crash on the placeholder icon and fix display of multiple PCs 2018-07-04 16:52:16 -07:00
Cameron Gutman
3a7d3c807e WIP Quick GUI work 2018-07-04 16:40:21 -07:00
Cameron Gutman
6a3b95a4b1 Start GUI rewrite in QML 2018-07-04 14:16:25 -07:00
Cameron Gutman
0821c66d8c Rewrite streaming code to C++ and forklift most of the setup out of the GUI code 2018-06-28 01:44:43 -07:00
Cameron Gutman
cad95f12f6 More PoC streaming code (closer to final) 2018-06-27 23:54:24 -07:00
Cameron Gutman
6fa4faa285 Rename http folder to backend to better align with the classes inside 2018-06-27 22:30:33 -07:00
Cameron Gutman
1b36071e02 Additional work in MainWindow for integration with new classes 2018-06-27 22:16:57 -07:00
Cameron Gutman
d7d11635a0 Add BoxArtManager for loading box art with caching 2018-06-27 22:02:29 -07:00
Cameron Gutman
bb95c4db78 Make IdentityManager a singleton 2018-06-26 19:03:55 -07:00
Cameron Gutman
6a37a9d77a Move resources back to root 2018-06-26 18:43:53 -07:00
Cameron Gutman
416724f843 More SDL work 2018-06-23 22:16:59 -07:00
Cameron Gutman
ce64966843 Reorganize and prepare for SDL integration 2018-06-23 18:46:59 -07:00