Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

V7 #28

Draft
wants to merge 118 commits into
base: master
Choose a base branch
from
Draft

V7 #28

wants to merge 118 commits into from

Conversation

Azyyyyyy
Copy link
Collaborator

@Azyyyyyy Azyyyyyy commented Jan 9, 2022

With the rewrite coming closer to being finished, it's time to actually create the pull request ready for when it's finished :D

Azyyyyyy and others added 30 commits October 15, 2021 23:32
* Made it so side pages can delay their initialising
* Moved RPC pages into their own folder
* Made icon in MainWindow 0px to start with
* Made sure updating is not called on macOS (Not supported yet)
* Made it so we grab the language of the user if we have it
* Added main logic needed to MultiRPCPage with validation!
They have no content at the moment but they now exist!

Other changes:
* Made side pages be able to set the background colour (used for logging page)
* Added tooltip's to buttons
* Made rpc page logic be it's own control, allowing us to also use it in the custom page (That'll be the next commit)
* Made it so file logging exists (Next commit will also add logging in the logging page)
* Added ScrollViewers where they are needed
* Removed Dotnet.Bundle, doesn't work...
Fixes
Check ID not working correctly

Also added tabs page
Now we can store d a t a. Right now the username and multirpc page is stored

Changes:
Added inital value for RpcControlValidation

Fixes:
Start button changing when viewing a new Rpc Page while rpc is already active
Button's logic crashing when we have no buttons
It can be used to at least edit the profiles that are already on disk but needs the different popup's to allow profile creation/editing
* Removed ExperimentalAcrylicBorder's for now. Will readd them with proper styling
* Made IsWindowsApp into a preprocesser
* TabPages now has "default" pages
* Moved some code around :P
Custom page is almost there
RpcView now has it's logic in place
* Readded Preprocessor
* Fixed RpcClient setting the wrong ID 
* Added Afk
* More styling
* Tmp fix for titlebar not showing sometimes
* Added MessageBox (To add image)
* Added checks for share and edit pages
* Added timer to RpcView
Added images for MessageBox's
Makes sure images had their tooltip and disable auto button
* We now make sure that imported profile names are unique
* Fixed name being nothing if you don't change it
* Removed "page" from the tooltip on the sidebar
* Changed default multirpc presence to what it's like in stable
* Fix Tooltip showing when there's nothing from the multirpc presence
* Fixed MainWindow's not showing title
* Fixed afk showing N/A
* Added help images
* Added tooltips for profile editor row
Makes the compiler happy
* Start/Update button now changes based on if the rpc page has a valid presence
* Fixed timer getting stuck
* Moved help icon's to custom page
* Side icons can now change colour
Makes compiler happy
Also updated the .ico so there's no compression now and has a 256px contained in it
Also made it so multiple MultiRPC instances are only allowed in debug builds
Auto Start will work now
Running on a certain client works now (Windows only for now)
Language can be changed now
We don't want to crash when the language file is not usable
Remember the last selected profile 
Fix TabsPage overriding the current tabs instead of adding tabs
Azyyyyyy and others added 30 commits January 24, 2022 09:04
Will need to make this something that can be toggled later on
Before it didn't play nicely on changing the theme, we it does :D

Also cleanup on RpcView and fixed issue where text wasn't white when it needed to be after theme change
This was due to buttons not being added into later releases of 5V, meaning sometimes didn't have the button data filled with anything (While we didn't crash because of this and we did migrate the data just fine, the user would have a load of errors show up which is not ideal)

Other changes/Fixes:
* Did a rework of BaseRpcControl so the rpc page that contains BaseRpcControl gives the controls that handles assets, letting that page only contain the base controls needed (apart from the ID control)
* Small change with RpcView so it grabs images when it's given a new rich presence
* Removed ShowTime
* Made sure directories exist before writing files
* Updated packages
Fixes:
* Icon colour in preview being incorrect and not updating
* CheckFilename always returning early due to directory check using the filename and not the location passed

Changes:
* We can now load in official theme's at startup
* Add 'Theme mode' to ensure everything can be seen correctly (Mainly title bar)
* Enable 'Clone' and 'Remove' buttons in installed theme's page 
* More styling in place
Only issue is one bug where if we go into a new theme quickly and then take the pointer out of the preview, it loses it (Active) text

Also fixed issue with reloading the active theme
Doing this as this is the recommend way for checking the OS that the application is currently running on
This is to make it so we can disable any settings that shouldn't be messed with depending on other factors (for example AcrylicEffect not being used on Linux)
We don't want to do this because then we will lose any assets that the theme contained
FIxes:
* Discord check on windows being too early and macOS never finishing

Changes:
* Split package builds to be per OS
* Windows scripts .sh -> .bat
We also now disable the remove button like we should!
Added:
Button Warning when the user adds a button for the first time :D

Changes:
Disable/Enable Update Presence button based on the active rpc page on screen
Added asset check so we don't try to grab assets if the theme doesn't contain a custom asset

Fixes:
Linux crash because of TransparencyLevel being updated
We don't want to use it yet so adding this to ensure it doesn't call any of the logic
Also fixed issue with not showing window from other MultiRPC process and not waiting for ipc connection.
Mainly on Language because that was a *mess* (Still is but not something that will hunt my dreams...)
Also fix small issue with enabling update presence button when it should be disabled and made logging be done how it should be in some places it wasn't being done correctly
* Fix ColourJsonConverter not writing correctly
* Added colouring for tooltips
* Fixed hacky code for theme editor not working (As Colour Picker lib now allows you to hide what we hiding. Still need to do some edits in order to move the controls in a way that we like)
…he file

This allows us to ensure UWP and normal projects aren't out of sync
This is the lowest that is allowed for what we're doing
Acrylic/Mica effects will not work without this file
Made this so we can make a theme in the application and easily make it an built-in theme :D

Also added some safety for parts that try to load in assets from a theme and added a THEME_EDIT Constant to make it easier for editing built-in themes without messing up naming
We want it there so if we want to use that constant it's already there, just don't want that used by default 😅
Also fixed hex text not showing in the theme editor and generalized getting access to shutting down the application
__Theming__
* Added logic so we don't need to know the asset type
* New control to show an asset (and a previewer control)

__UI__
* Removed the need for SidePage
* Made controls not use UserControl when possible
This brings changes which we can make use of (.e.g. logging page), this commit brings the project into a build-able state with avalonia V11.
Also fixed having to build the project twice for you to get a successful build (UWP has been untested)
It won't build due to using preview packages but at least it shows again
Also made use of static abstract for settings. Just need to sort out RPC client and this will load up correctly again and sort out settings page
We need to use our version which uses System.Text.Json, allowing more of the application to be trimmed (and at some point, be built for AOT). Also fixed Setting page not loading correctly
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants