Commit Graph

23 Commits

Author SHA1 Message Date
Terry MacDonald
a5d581fec8 Fixed shortcut editing and icon updates
The shortcut editing window was broken and was
not copying the information across properly to the
new shortcuts when the shortcut was edited. I have
now moved to actually replacing the shortcut when
the form updates it. So basically the ShortcutForm
loads the shortcut info from the ShortcutItem, then
when you save the form, it returns a new ShortcutItem.
The shortcut library then removes the old shortcut
(which removes the icons, and updates the file), then
it saves the new shortcut we just created (which saves
the icons and updates the save file). This was the easiest
way to make the shortcut modification process work.
2020-10-20 21:22:07 +13:00
Terry MacDonald
464545fbc7 Made Icons as reliable as possible
Icon logic works well now except for a single issue.
It will not change the shortcut image if the profile
or the game has been changed, and it needs to.
2020-10-19 22:58:23 +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
683bf3d936 Fixed Bitmap processing for Shortcuts
The Bitmap processing wasm't working in the
listitemview. Traced it to a problem with a missing
GenerateThumbnailView call.

Also adjusted when the save to icon cache happens
so that it is part of the ShortcutItem and is called
when a new shortcut is created. This saves times.
2020-10-18 23:04:08 +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
ba54c9b99b [WIP] Fixing application runshortcut
Dies in ToBitmapOverlay because originalBitmap
isn't set.
2020-10-13 22:32:41 +13:00
Terry MacDonald
12e3229f9d [WIP] Partially working RunShortcut command
The RunShortcut commandline option mostly works
but it fails to cleanly execute thanks to a partially broken
Program.ApplyProfile. The ApplyProfile exception logic
is not working properly and that is causing an exception
in Program.RunShortcut. Just needs some improved
ApplyProfile logic to detect when it does actually
(correctly) fail.
2020-10-11 21:12:52 +13:00
Terry MacDonald
7c34a02213 Start programs details saved and loaded
Next step is to make them actually do something.
2020-10-11 20:14:22 +13:00
Terry MacDonald
2fa3ce0eb5 Loads the start programs into form
This change loads the start programs into
the form. The structure of the ShortcutItem
changes are designed to be extensible to a
large number of start programs, but the UI
only supports 4. The plan is to add as many
as you want in the WPF version of this app,
but right now its not worth the effort :).
2020-10-11 18:21:06 +13:00
Terry MacDonald
c6408648ee [WIP] StartPrograms are now saved
This puts in place some logic to save start
programs to the shortcut so they get
saved automatically.
2020-10-11 18:11:08 +13:00
Terry MacDonald
32ad405904 Removed braces from UUID in filenames
Simplified UUID logic by removing braces from the
filenames and within the storage JSON files.
2020-08-19 10:16:04 +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
e83a893640 [WIP] Partial cleanup of compiler warnings
Fixed most of the string related compiler
warnings. Still lots to go!
2020-07-24 11:06:33 +12:00
terrymacdonald
c358bc9087 [WIP] Moving Shortcut run logic to repo
Moved the shortcut running logic from the
main Program into the ShortcutRepository
so that it can be used from the
Shortcut Library UI as well as from the
commandline.

It's marked as WIP because I also moved
the ApplyingChangesForm and accompanying
ApplyTopos/ApplyProfiles logic and I broke
it. It needs refactoring and hopefully
simplifying but I need to work on that next!
2020-07-23 18:31:00 +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
terrymacdonald
85963b3417 Fixed ShortcutAdaptor errors and Saved prompt
Did a fix for the SHortcutAdaptor doing exceptions
for showing the form before loading all the graphics
but can't really do much about it without adding
background loading to the main form. This is a lot of
work considering we'll be moving from WinForms
to WPF UI in the future.

Also fixed the 'Do you want to save' prompt detection
logic so that it correctly waits until all the loading has
finished before monitoring for users making changes.
Should stop the form incorrectly suggesting you
should save unless they've really made a change.
2020-07-15 20:11:38 +12:00
terrymacdonald
5b396032ff Shortcut names now update if profile name changed
If a shortcut has Autoname turned on, and if the user
changes the name of the profile, then the shortcut will
be renamed to keep pace with the new profile name.
If autoname is NOT turned on, then the shortcut name
will be kept as is, and the user will need to make any
changes. Please note that HeliosPlus will not make
any changes to any desktop shortcuts saved to the PC.
It will only change the name of the shortcut in the
shortcut library within the App.
2020-06-15 21:57:46 +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
5bfc01365f Fixed Shortcut icon in ImageListView
Fixed the underlying Shortcut generation process
but still have yet to add it to the Shortcut Icon saved
in the Shortcut library.
2020-06-13 21:06:42 +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