Commit Graph

32 Commits

Author SHA1 Message Date
Terry MacDonald
25cf0265fd First working ShellContextMenu extension
Can now apply saved display profiles by
right-clicking on the Desktop Background and
selecting the display profile that you want to
use. It will run <HeliosPlus> ChangeProfile <uuid>
where <HeliosPlus> is the HeliosPlus binary and
<uuid> is the UUID of the relevant display profile.
2020-11-22 20:53:30 +13:00
Terry MacDonald
7ab732b11c [WIP] Fixing HP ShellExtension 2020-11-22 09:52:32 +13:00
Terry MacDonald
ccefa80642 Added overlay to inform user UI is locked
This informs the user that the user UI is locked
until they close the game/application that is
started.
2020-11-21 14:48:32 +13:00
Terry MacDonald
e9a821e594 [WIP] Working notifyIcon during run
notifyIcon works if run from Shortcutlibrary,
or from clicked shortcut. Next step is to make
the main window show some sort of indication
that the UI is locked until the game exits....
2020-11-19 22:40:08 +13:00
Terry MacDonald
b1e49aad11 [WIP] Partial development of uplay support
Have reverse engineered the uplay launcher a
little bit, and managed to extract some of the
useful file structures to be able to parse the
useful bits of teh uplay game library. Need to
properly extract the games info from it though.
2020-11-10 22:26:02 +13:00
Terry MacDonald
5e9135ed30 Completed adding "minimise on start" ability
Am able to minimise on start, or run normally
using a simple checkbox on the main form.
Maintains the setting over different runs using
a settings json file stored in the AppData directory.
2020-10-26 17:08:55 +13:00
Terry MacDonald
23930a2a15 Added initial ability to minimise to notification area
Used some awesome help from Hans Passant to build
logic to allow minimise to notification area as well as
be able to change profiles etc from the notification area.

https://stackoverflow.com/questions/1730731/how-to-start-winform-app-minimized-to-tray
2020-10-26 14:30:00 +13:00
Terry MacDonald
ed0ccede4c Added initial notify icon shortcut
Added initial notify icon shortcut menu. Have yet
to hook it up to programme start so that it gets
populated.

Also tried to do some tiy up of the Main procedure
of the Program.cs.
2020-10-26 12:39:14 +13:00
Terry MacDonald
dd223c851d Complete changing icons 2020-10-23 18:32:21 +13:00
Terry MacDonald
de445bc601 Change to new icon
Changed to new icon. Removed icons from the
various forms.
2020-10-23 18:11:34 +13:00
Terry MacDonald
964853ff34 Changed the HeliosPlus Icon
Still not really happy with this one, but it's better
than the last one at least...
2020-10-22 21:46:36 +13:00
Terry MacDonald
e34d59c1f7 Cleaned up Icon creation (mostly)
Managed to fix large icon creation thanks to
work from Maurizio. Fied an issue with file
selection for Icon generation. Also found a
new issue with ShortcutList that needs
fixing shortly.

https://tabbles.net/how-to-have-large-file-icons-with-shgetfileinfo-in-c/
2020-10-19 21:50:42 +13:00
Terry MacDonald
3b63953648 Revert "Revert "Refactored Common Base Games""
This reverts commit a71b866545.
2020-10-18 21:17:21 +13:00
Terry MacDonald
a71b866545 Revert "Refactored Common Base Games"
This reverts commit c2c11bd722.
2020-10-18 21:15:19 +13:00
Terry MacDonald
c2c11bd722 Refactored Common Base Games
Created a Common Base Game object in order
to support multiple additional libraries and games
in the future.
2020-10-18 21:02:00 +13:00
Terry MacDonald
4fb5865fd9 Removing DisplayNotification class
No longer require the DisplayNotification class
as was able to do similar tasks without it.
2020-10-10 17:52:34 +13:00
Terry MacDonald
8421acbd8d CurrentProfile detected in loadedProfiles
Fixed up some broken logic around detecting
loadedProfiles as the currentProfile. Now when
we load the profiles from disk we also correctly
check whether one of the profiles is in use now
and if it is then we use that profile instead of
creating a new one.
2020-10-09 16:27:59 +13:00
Terry MacDonald
0b5937d25c Removing old ApplyingChangesForm 2020-10-06 20:08:36 +13:00
Terry MacDonald
17cc302d17 [WIP] Partial refactor of applying profile display UI 2020-10-04 23:01:03 +13:00
Terry MacDonald
b95e7bbd39 Fixing Repositories to work on first run 2020-08-07 15:59:23 +12:00
terrymacdonald
5004f5f76a Silenced the System.Drawing.Image exceptions
The ProfileAdapter and ShortcutAdapters used
by the ImageListView Control unfortunately
have to access the sizes of the bitmaps being
loaded into the respective imagelistviews. I
can't find anyway of stopping the GDI+
from complaining about the Bitmap being
accessed by multiple different threads (as
ImageListView creates one thread per image.
This will be fixed once I move to this being a
WPF application as we'll use a different control.
2020-07-24 16:51:48 +12:00
terrymacdonald
71928a9b44 [WIP] Created SteamLibrary class to handle library
Pulled out the the library list mgmt from SteamGame
and put it in a new SteamLibrary class. This means I
can replicate the learnings from the ShortcutRepo
amd Profile Repo, and can save separate JSON files
in the future if I so desire.

There is a little bit outstanding to make the SteamGame
Properties to be writeable as well as readable, otherwise
the SteamGame.CopyTo function won't work.
2020-07-21 23:40:33 +12:00
terrymacdonald
c1ce153c68 Updated Shortcut saving to work with the library
Updated the 'Save To Desktop' button in the
ShortcutLibraryForm to use the CreateShortcut
function in the ShortcutItem, and fixed that so
it now uses the IWshRuntimeLibrary to create
a Windows Script Host that will create the
shortcut.
2020-07-21 19:50:41 +12:00
temacdonald
23e1dbd244 Transitioned Profiles to using ProfileRepository
Moving to using a ProfileRespository will make it
easier when moving to a WPF style app, and it will
allow some freedom if I want to change the storage
to a database or soemthing different.
2020-06-14 16:20:52 +12:00
temacdonald
e7ad4dc847 [WIP] Fixing Shortcut Bitmap
Partially completed bitmap work.
Need to implement generic bitmap
resizing to work with small and large
icons, and for different sizes for overlay
bitmap.
2020-06-07 20:48:45 +12:00
Terry MacDonald
f59490a1ff [WIP] Improved Shortcut handling
Created ShortcutRepository which handles
the loading/saving and lifecycle management
of shortcuts. There can only be one shortcut
repository at a time, hence it's mainly static
methods.

Also started down the path of troubleshooting
the profileIcon overlays. The ToBitmapOverlay
still isn't working properly, so I need to figure
out how it was working originally, and how I
broke it :). Then I need to unbreak it.
2020-06-01 22:25:52 +12:00
Terry MacDonald
4d8e69d6ba [WIP] Redesign to tabs based shortcut form
Changed the shortcutform to use tabs instead
of a large single form. Having to update all the
logic is taking ages.
2020-05-31 14:56:22 +12:00
temacdonald
9dab00bdb4 [WIP] Sort out the ShortcutForm controls
The logic I chose for the ShortcutForm controls is
really not suited towards distributed logic. I am
going to have to centralise the logic into a single
function that will evaulate when to enable the
save button.
2020-05-17 21:19:55 +12:00
temacdonald
4412a75bd9 [WIP] Finished the draft Shortcut class
Have created the Shortcut class for use within the
ShortcutLibrary. Next step is modifying the
ShortcutForm to generate a Shortcut so that I
can check the loading and saving is working ok.
I won't concentrate on the ShortcutForm redesign
until this bit is tested.
2020-05-16 23:16:46 +12:00
temacdonald
d7c4c1f53d [WIP] Initial shortcutlibrary form
Created the initial form for the shortcut library
and will now start working on getting the
shortcuts saving to a similar json format as
the display profiles.
2020-05-16 17:07:52 +12:00
temacdonald
423b3fb656 Working direct Profile to ImageListView
Manged to get the ImageListView working directly
from the Bitmap stored in the Profile. This makes
the refresh of the ILV much faster, and makes it way
easier to use it in other UI forms.
2020-05-16 15:58:59 +12:00
temacdonald
470cba0a1d Renamed the directories to HeliosPlus 2020-05-15 23:25:14 +12:00