1
0
Fork 0
mirror of https://github.com/eliboa/TegraRcmGUI.git synced 2024-11-08 11:51:45 +00:00

Re-enable logging feature with convenience

It seemed useful as I was having issues while using the program normal, and since it was already developed.

Added brand new gitignore file ignoring IDE cache and build result files.
Updated README with additional development instructions so the project can be built and work more immediately once opening.
Added new setting/preset `LOGGING` with a checkbox on the settings page.  Kept the overall dialog size by placing it near the bottom off to the right side from the install driver button for now.
Also fixed the tab order for all of those elements.
Added the usual element id unique at least to the 1 tab, removing a typo for another while I was in that same file, along with the relevant init code and user action handler for controlling the checkbox's state.

Had to initialize the `TegraRcm` object earlier in the dialog class and have the logging state properly initialized since there were `AppendLog` method calls early in program execution.

Updated the project tooling to 2019 (v142).
Swore the library file was being used before but I only found the include paths later on, so added that additional dependency so the program would build finding the external function references.
This commit is contained in:
Pysis 2021-09-23 01:09:36 -04:00
parent 1786276e52
commit 5c37ceaa97
10 changed files with 329 additions and 293 deletions

2
.gitignore vendored Normal file
View file

@ -0,0 +1,2 @@
.vs
x64

View file

@ -37,6 +37,13 @@ For other platforms, you can use :
## Issue / Suggestion
Please open new [issue](https://github.com/eliboa/TegraRcmGUI/issues) to report a bug or submit a suggestion.
## Development
Install the [libusbk dev kit](https://sourceforge.net/projects/libusbk/) using the setup program.
If not installed in the default `C:\libusbK-dev-kit` location, then create an encironment variable with the other path as the value.
The project seems to survive a target upgrade from the tools in Visual Studio 2017 to 2019.
Make sure with the library's include files path correct, the actual library name still exists in the Project Settings/Properties > Linker > Input > Additional Dependencies list as `libusbK.lib`.
## How to backup/restore your Nintendo Switch's NAND ?
1) Use [memloader](https://github.com/rajkosto/memloader) v3 to mount eMMC on your computer

View file

@ -45,6 +45,14 @@ BOOL DialogTab03::OnInitDialog()
checkbox->SetCheck(BST_CHECKED);
}
value = m_TegraRcm->GetPreset("LOGGING");
if (value == "TRUE")
{
m_TegraRcm->LOGGING_CURR = TRUE;
CMFCButton* checkbox = (CMFCButton*)GetDlgItem(LOGGING);
checkbox->SetCheck(BST_CHECKED);
}
TCHAR szPath[MAX_PATH];
if (SUCCEEDED(SHGetFolderPath(NULL, CSIDL_APPDATA, NULL, SHGFP_TYPE_CURRENT, szPath)))
{
@ -66,6 +74,7 @@ BEGIN_MESSAGE_MAP(DialogTab03, CDialogEx)
ON_BN_CLICKED(MIN_TO_TRAY, &DialogTab03::OnClickedMinToTray)
ON_BN_CLICKED(ID_INSTALL_DRIVER, &DialogTab03::OnBnClickedInstallDriver)
ON_BN_CLICKED(RUN_WINSTART, &DialogTab03::OnBnClickedWinstart)
ON_BN_CLICKED(LOGGING, &DialogTab03::OnClickedLogging)
//ON_BN_CLICKED(IDC_BUTTON2, &DialogTab03::OnBnClickedButton2)
END_MESSAGE_MAP()
@ -113,6 +122,20 @@ void DialogTab03::OnClickedMinToTray()
}
void DialogTab03::OnClickedLogging()
{
// Get Minimize to tray checkbox value (checked, unchecked)
CButton* m_ctlCheck = (CButton*)GetDlgItem(LOGGING);
BOOL IsCheckChecked = (m_ctlCheck->GetCheck() == 1) ? true : false;
if (m_TegraRcm->LOGGING_CURR != IsCheckChecked)
{
if (IsCheckChecked) m_TegraRcm->SetPreset("LOGGING", "TRUE");
else m_TegraRcm->SetPreset("LOGGING", "FALSE");
m_TegraRcm->LOGGING_CURR = IsCheckChecked;
}
}
void DialogTab03::OnBnClickedInstallDriver()
{
m_TegraRcm->InstallDriver();

View file

@ -44,6 +44,7 @@ public:
afx_msg void OnClickedMinToTray();
afx_msg void OnBnClickedInstallDriver();
afx_msg void OnBnClickedWinstart();
afx_msg void OnClickedLogging();
void CreateLink();
afx_msg void CleanRegestry();

View file

@ -37,6 +37,7 @@ TegraRcm::TegraRcm(CDialog* pParent /*=NULL*/)
{
m_Parent = pParent;
m_hWnd = AfxGetMainWnd()->GetSafeHwnd();
this->LOGGING_CURR = GetPreset("LOGGING") == "TRUE";
GetFavorites();
//SendUserMessage("Waiting for device in RCM mode");
}
@ -543,8 +544,7 @@ void TegraRcm::SaveFavorites()
void TegraRcm::AppendLog(string message)
{
// DISABLED
return;
if (!this->LOGGING_CURR) return;
// Get time

View file

@ -72,6 +72,7 @@ public:
BOOL WAITING_RECONNECT = FALSE;
BOOL ASK_FOR_DRIVER = FALSE;
BOOL MIN_TO_TRAY_CURR = FALSE;
BOOL LOGGING_CURR = FALSE;
CString csPath;
COLORREF LabelColor = RGB(0, 0, 0);

Binary file not shown.

View file

@ -22,13 +22,13 @@
<ProjectGuid>{2C091C5B-378F-44D0-91F2-53489BA7B83C}</ProjectGuid>
<RootNamespace>TegraRcmGUI</RootNamespace>
<Keyword>MFCProj</Keyword>
<WindowsTargetPlatformVersion>10.0.14393.0</WindowsTargetPlatformVersion>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
<PlatformToolset>v142</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
<UseOfMfc>Dynamic</UseOfMfc>
</PropertyGroup>
@ -38,12 +38,12 @@
<WholeProgramOptimization>false</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<UseOfMfc>Dynamic</UseOfMfc>
<PlatformToolset>v141</PlatformToolset>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
<PlatformToolset>v142</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
<UseOfMfc>Dynamic</UseOfMfc>
</PropertyGroup>
@ -53,7 +53,7 @@
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<UseOfMfc>Dynamic</UseOfMfc>
<PlatformToolset>v140</PlatformToolset>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
@ -126,6 +126,7 @@
<GenerateDebugInformation>true</GenerateDebugInformation>
<OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
<AdditionalLibraryDirectories>C:\libusbK-dev-kit\bin\lib\amd64\;$(LIBUSBK_DIR)\bin\lib\$(PlatformShortName.Replace('x64','amd64'))\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>libusbK.lib</AdditionalDependencies>
</Link>
<Midl>
<MkTypLibCompatible>false</MkTypLibCompatible>

View file

@ -101,6 +101,10 @@ END_MESSAGE_MAP()
//
BOOL CTegraRcmGUIDlg::OnInitDialog()
{
m_TegraRcm = new TegraRcm(this);
m_TegraRcm->AppendLog("new TegraRcm()");
CDialog::OnInitDialog();
// Accessibility
@ -187,9 +191,6 @@ BOOL CTegraRcmGUIDlg::OnInitDialog()
SetIcon(m_hIcon, TRUE); // Set big icon
SetIcon(m_hIcon, FALSE); // Set small icon
m_TegraRcm = new TegraRcm(this);
m_TegraRcm->AppendLog("new TegraRcm()");
// Kill other running process of app
m_TegraRcm->KillRunningProcess(TEXT("TegraRcmGUI.exe"));

Binary file not shown.