Skip to content

Commit

Permalink
2018101001
Browse files Browse the repository at this point in the history
  • Loading branch information
oormicreations committed Oct 10, 2018
1 parent 4827b2b commit 3b0873f
Show file tree
Hide file tree
Showing 5 changed files with 197 additions and 32 deletions.
18 changes: 8 additions & 10 deletions VizNetGauge/NetHelper.cpp
Expand Up @@ -17,9 +17,8 @@ UINT UsageProc(LPVOID param)
{
int ver = *(int*)param;

//static CHAR frmdata[] = ("appinstall=cbp_install&ver=1.0.0");
static CHAR frmdata[30];
sprintf_s(frmdata, "appinstall=cbp_install&ver=%d", ver);
sprintf_s(frmdata, "appinstall=vng_install&ver=%d", ver);
frmdata[29] = 0;

static TCHAR hdrs[] = (_T("Content-Type: application/x-www-form-urlencoded"));
Expand All @@ -43,16 +42,15 @@ UINT UsageProc(LPVOID param)

void CNetHelper::ReportUsage(CString regSection, int ver)
{
unsigned char *c;// = new char;
unsigned char *c;
UINT i;

if (!AfxGetApp()->GetProfileBinary(regSection, _T("VERSION"), (LPBYTE*)&c, &i))
if (!AfxGetApp()->GetProfileBinary(regSection, _T("Version"), (LPBYTE*)&c, &i))
{
CWinThread* hTh1 = AfxBeginThread(UsageProc, (LPVOID)&ver/*UsageProc receives this as param */, THREAD_PRIORITY_NORMAL);
AfxGetApp()->WriteProfileBinary(regSection, _T("VERSION"), (LPBYTE)&ver, sizeof(ver));
AfxBeginThread(UsageProc, (LPVOID)&ver/*UsageProc receives this as param */, THREAD_PRIORITY_NORMAL);
AfxGetApp()->WriteProfileBinary(regSection, _T("Version"), (LPBYTE)&ver, sizeof(ver));
}

//char x = c[0];
delete [] c;
c = NULL;
}
Expand Down Expand Up @@ -113,19 +111,19 @@ void CNetHelper::Checkforupdates(int appVerMaj, int appVerMin, CString updateFil

if (newver > oldver)
{
int res = AfxMessageBox(_T("A new version of Clipboard Plus is available for download. Would you like to download it now?"), MB_YESNO);
int res = AfxMessageBox(_T("A new version of VizNetGauge is available for download. Would you like to download it now?"), MB_YESNO);
if (res == IDYES)
{
ShellExecute(NULL, _T("open"), durl, NULL, NULL, SW_SHOWNORMAL);
}
else
{
AfxMessageBox(_T("Clipboard Plus can be updated from ") + downloadUrl);
AfxMessageBox(_T("VizNetGauge can be updated from ") + downloadUrl);
}
}
else
{
AfxMessageBox(_T("Your version of Clipboard Plus is up to date!"));
AfxMessageBox(_T("Your version of VizNetGauge is up to date!"));
}
}

Expand Down
2 changes: 1 addition & 1 deletion VizNetGauge/VizNetGauge.cpp
Expand Up @@ -66,7 +66,7 @@ BOOL CVizNetGaugeApp::InitInstance()
// Change the registry key under which our settings are stored
// TODO: You should modify this string to be something appropriate
// such as the name of your company or organization
SetRegistryKey(_T("Local AppWizard-Generated Applications"));
SetRegistryKey(_T("Oormi Creations"));

CVizNetGaugeDlg dlg;
m_pMainWnd = &dlg;
Expand Down
Binary file modified VizNetGauge/VizNetGauge.rc
Binary file not shown.
176 changes: 157 additions & 19 deletions VizNetGauge/VizNetGaugeDlg.cpp
Expand Up @@ -73,6 +73,7 @@ BEGIN_MESSAGE_MAP(CVizNetGaugeDlg, CDialogEx)
ON_COMMAND(ID_HELP_CHECKFORUPDATES, &CVizNetGaugeDlg::OnHelpCheckforupdates)
ON_COMMAND(ID_HELP_ABOUT, &CVizNetGaugeDlg::OnHelpAbout)
ON_COMMAND(ID_OPTIONS_SETTINGS, &CVizNetGaugeDlg::OnOptionsSettings)
ON_WM_SHOWWINDOW()
END_MESSAGE_MAP()


Expand Down Expand Up @@ -106,6 +107,9 @@ BOOL CVizNetGaugeDlg::OnInitDialog()
InitSamples();
InitDraw();
InitWMI();
if (!LoadSettings()) ResetSettings();

m_NetHelper.ReportUsage(_T("VizNetGauge"), m_uVMaj * 10 + m_uVMin);

return TRUE; // return TRUE unless you set the focus to a control
}
Expand Down Expand Up @@ -162,15 +166,15 @@ void CVizNetGaugeDlg::InitSamples()
m_fAverageUploadSpeed[i] = 0.0f;
}

m_fAveragingIntervel = 10.0f; //10sec for 1Hz update rate
m_uUnit = 1000; //kbps
m_sUnitName = _T("Kbps");
m_uSelectedInterface = 0; //total of all interfaces
//m_fAveragingIntervel = 10.0f; //10sec for 1Hz update rate
//m_uUnit = 1000; //kbps
//m_sUnitName = _T("Kbps");
//m_uSelectedInterface = 0; //total of all interfaces
m_uMaxValue = 0;
m_uNetInterfaceCount = 0;
m_fAverageTotalDownloadSpeed = 0.0f;
m_fAverageTotalUploadSpeed = 0.0f;

m_IsAutoDetect = FALSE;

}

Expand All @@ -183,9 +187,12 @@ void CVizNetGaugeDlg::InitDraw()
m_uGridIntensityMaj = 75;
m_uGridSpacing = 10;

m_crBarDn = RGB(20, 200, 200);
m_crBarUp = RGB(200, 200, 150);
m_crBackground = RGB(m_uBkIntensity, m_uBkIntensity, m_uBkIntensity);
//m_crBarDn = RGB(20, 200, 200);
//m_crBarUp = RGB(200, 200, 150);
//m_crBackground = RGB(m_uBkIntensity, m_uBkIntensity, m_uBkIntensity);
//m_uSelectedTheme = 0;

//m_uTimerDelay = 1000; //1 Hz

m_uBarWidth = 5;
m_uBarHeight = 50;
Expand All @@ -197,8 +204,7 @@ void CVizNetGaugeDlg::InitDraw()
m_uTextFontSize = 8;
m_sFont = _T("Calibri");

m_uTimerDelay = 1000; //1 Hz
m_uTimer = SetTimer(VNG_TIMER, m_uTimerDelay, NULL);
//m_uTimer = SetTimer(VNG_TIMER, m_uTimerDelay, NULL);

}

Expand Down Expand Up @@ -551,7 +557,17 @@ void CVizNetGaugeDlg::OnTimer(UINT_PTR nIDEvent)

void CVizNetGaugeDlg::OnDestroy()
{
if (!m_bMinimized) //store window position only if not minimized to tray
{
WINDOWPLACEMENT wp;
GetWindowPlacement(&wp);
AfxGetApp()->WriteProfileBinary(_T("VizNetGauge"), _T("WP"), (LPBYTE)&wp, sizeof(wp));
}

SaveSettings();

CDialogEx::OnDestroy();

KillTimer(m_uTimer);
WMICleanup();

Expand Down Expand Up @@ -1010,6 +1026,8 @@ void CVizNetGaugeDlg::UpdateMenuInterfaceNames()

m_sNetInterfaces[0] = L"Total traffic from all Interfaces";
m_sNetInterfaces[1] = L"Interface: Auto";

ApplySettingsToMenu();
}

void CVizNetGaugeDlg::SetupMinimizeToTray()
Expand Down Expand Up @@ -1126,7 +1144,7 @@ void CVizNetGaugeDlg::OnOptionsAlwaysontop()
m_MenuPopup.CheckMenuItem(ID_OPTIONS_ALWAYSONTOP, (MF_CHECKED * (UINT)m_bTopmostMode) | MF_BYCOMMAND);

if (m_bTopmostMode) SetWindowPos(&wndTopMost, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
else SetWindowPos(&wndBottom, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
else SetWindowPos(&wndNoTopMost, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
}


Expand Down Expand Up @@ -1168,7 +1186,7 @@ void CVizNetGaugeDlg::OnUpdatespeedSlow()
void CVizNetGaugeDlg::OnUpdatespeedMedium()
{
KillTimer(m_uTimer);
m_uTimerDelay = 1000;
m_uTimerDelay = VNG_DEFAULT_UPDATEFREQ;
m_uTimer = SetTimer(VNG_TIMER, m_uTimerDelay, NULL);
m_MenuPopup.CheckMenuItem(ID_UPDATESPEED_SLOW, (MF_UNCHECKED | MF_BYCOMMAND));
m_MenuPopup.CheckMenuItem(ID_UPDATESPEED_MEDIUM, (MF_CHECKED | MF_BYCOMMAND));
Expand Down Expand Up @@ -1200,7 +1218,7 @@ void CVizNetGaugeDlg::OnUnitsBitspersec()

void CVizNetGaugeDlg::OnUnitsKilobitspersec()
{
m_uUnit = 1000;
m_uUnit = VNG_DEFAULT_UNIT;
m_sUnitName = _T("Kbps");
m_MenuPopup.CheckMenuItem(ID_UNITS_BITSPERSEC, (MF_UNCHECKED | MF_BYCOMMAND));
m_MenuPopup.CheckMenuItem(ID_UNITS_KILOBITSPERSEC, (MF_CHECKED | MF_BYCOMMAND));
Expand Down Expand Up @@ -1233,7 +1251,7 @@ void CVizNetGaugeDlg::OnUnitsGigabitspersec()

void CVizNetGaugeDlg::OnAveraging10samples()
{
m_fAveragingIntervel = 10.0f;
m_fAveragingIntervel = VNG_DEFAULT_AVE;
m_MenuPopup.CheckMenuItem(ID_AVERAGING_10SAMPLES, (MF_CHECKED | MF_BYCOMMAND));
m_MenuPopup.CheckMenuItem(ID_AVERAGING_30SAMPLES, (MF_UNCHECKED | MF_BYCOMMAND));
m_MenuPopup.CheckMenuItem(ID_AVERAGING_60SAMPLES, (MF_UNCHECKED | MF_BYCOMMAND));
Expand Down Expand Up @@ -1280,6 +1298,8 @@ void CVizNetGaugeDlg::OnThemesAquapale()
m_MenuPopup.CheckMenuItem(ID_THEMES_REDORANGE, (MF_UNCHECKED | MF_BYCOMMAND));
m_MenuPopup.CheckMenuItem(ID_THEMES_BLUEGREEN, (MF_UNCHECKED | MF_BYCOMMAND));
m_MenuPopup.CheckMenuItem(ID_THEMES_GREYWHITE, (MF_UNCHECKED | MF_BYCOMMAND));
m_uSelectedTheme = VNG_DEFAULT_THEME;

}


Expand All @@ -1292,6 +1312,8 @@ void CVizNetGaugeDlg::OnThemesRedorange()
m_MenuPopup.CheckMenuItem(ID_THEMES_REDORANGE, (MF_CHECKED | MF_BYCOMMAND));
m_MenuPopup.CheckMenuItem(ID_THEMES_BLUEGREEN, (MF_UNCHECKED | MF_BYCOMMAND));
m_MenuPopup.CheckMenuItem(ID_THEMES_GREYWHITE, (MF_UNCHECKED | MF_BYCOMMAND));
m_uSelectedTheme = 1;

}


Expand All @@ -1304,6 +1326,8 @@ void CVizNetGaugeDlg::OnThemesBluegreen()
m_MenuPopup.CheckMenuItem(ID_THEMES_REDORANGE, (MF_UNCHECKED | MF_BYCOMMAND));
m_MenuPopup.CheckMenuItem(ID_THEMES_BLUEGREEN, (MF_CHECKED | MF_BYCOMMAND));
m_MenuPopup.CheckMenuItem(ID_THEMES_GREYWHITE, (MF_UNCHECKED | MF_BYCOMMAND));
m_uSelectedTheme = 2;

}


Expand All @@ -1316,6 +1340,8 @@ void CVizNetGaugeDlg::OnThemesGreywhite()
m_MenuPopup.CheckMenuItem(ID_THEMES_REDORANGE, (MF_UNCHECKED | MF_BYCOMMAND));
m_MenuPopup.CheckMenuItem(ID_THEMES_BLUEGREEN, (MF_UNCHECKED | MF_BYCOMMAND));
m_MenuPopup.CheckMenuItem(ID_THEMES_GREYWHITE, (MF_CHECKED | MF_BYCOMMAND));
m_uSelectedTheme = 3;

}


Expand All @@ -1330,26 +1356,31 @@ void CVizNetGaugeDlg::OnInterfacesTotalofall()
{
ClearCheckInterface();
m_MenuPopup.CheckMenuItem(ID_INTERFACES_TOTALOFALL, (MF_CHECKED | MF_BYCOMMAND));
m_uSelectedInterface = 0;
m_uSelectedInterface = VNG_DEFAULT_INTERFACE;
}


void CVizNetGaugeDlg::OnInterfacesAuto()
{
ClearCheckInterface();
m_MenuPopup.CheckMenuItem(ID_INTERFACES_AUTO, (MF_CHECKED | MF_BYCOMMAND));
m_uSelectedInterface = 1;
m_uSelectedInterface = 1; //this will change
m_IsAutoDetect = TRUE;
}

void CVizNetGaugeDlg::ClearCheckInterface()
{
if (m_uNetInterfaceCount > VNG_MAX_INTERFACES)m_uNetInterfaceCount = 2;

for (int i = 0; i < m_uNetInterfaceCount; i++)
{
m_MenuPopup.CheckMenuItem(ID_INTERFACES_NIF1 + i, (MF_UNCHECKED | MF_BYCOMMAND));
}
m_MenuPopup.CheckMenuItem(ID_INTERFACES_TOTALOFALL, (MF_UNCHECKED | MF_BYCOMMAND));
m_MenuPopup.CheckMenuItem(ID_INTERFACES_AUTO, (MF_UNCHECKED | MF_BYCOMMAND));

m_IsAutoDetect = FALSE;

}

void CVizNetGaugeDlg::OnHelpOnlinehelp()
Expand All @@ -1368,7 +1399,8 @@ void CVizNetGaugeDlg::OnHelpCheckforupdates()
{
m_NetHelper.Checkforupdates(m_uVMaj, m_uVMin,
_T("https://oormi.in/software/cbp/updatevng.txt"),
_T(" https://github.com/oormicreations/VizNetGauge/releases"), _T("VizNetGauge"));
_T(" https://github.com/oormicreations/VizNetGauge/releases"),
_T("VizNetGauge"));
}


Expand All @@ -1387,12 +1419,118 @@ void CVizNetGaugeDlg::OnOptionsSettings()

void CVizNetGaugeDlg::SaveSettings()
{
CString profile;
profile.Format(_T("%d%d"), m_uVMaj, m_uVMin);
VNGSET ps;

ps.m_bSetTopMost = m_bTopmostMode;
ps.m_uSetUpdateFreq = m_uTimerDelay;
ps.m_uSetAve = m_fAveragingIntervel;
ps.m_uSetSelInterface = m_uSelectedInterface;
if(m_IsAutoDetect) ps.m_uSetSelInterface = 1;
ps.m_uSetTheme = m_uSelectedTheme;
ps.m_uSetUnit = m_uUnit;
ps.m_uSetUnused1 = 0;
ps.m_uSetUnused2 = 0;
ps.m_uSetUnused3 = 0;
ps.m_uSetUnused4 = 0;

AfxGetApp()->WriteProfileBinary(_T("VizNetGauge") + profile, _T("Settings"), (LPBYTE)&ps, sizeof(ps));
}

void CVizNetGaugeDlg::LoadSettings()

BOOL CVizNetGaugeDlg::LoadSettings()
{
CString profile;
profile.Format(_T("%d%d"), m_uVMaj, m_uVMin);
VNGSET *pps;
UINT n;
if (AfxGetApp()->GetProfileBinary(_T("VizNetGauge") + profile, _T("Settings"), (LPBYTE*)&pps, &n))
{
if (n == sizeof(VNGSET))
{
m_bTopmostMode = pps->m_bSetTopMost;
m_uTimerDelay = pps->m_uSetUpdateFreq;
m_fAveragingIntervel = pps->m_uSetAve;
m_uSelectedInterface = pps->m_uSetSelInterface;
m_uSelectedTheme = pps->m_uSetTheme;
m_uUnit = pps->m_uSetUnit;
}

delete[] pps;
ApplySettingsToMenu();

return TRUE;
}


return FALSE;
}

void CVizNetGaugeDlg::ApplySettingsToMenu()
{
m_bTopmostMode = !m_bTopmostMode;
OnOptionsAlwaysontop();

if (m_uTimerDelay == 5000) OnUpdatespeedSlow();
if (m_uTimerDelay == VNG_DEFAULT_UPDATEFREQ) OnUpdatespeedMedium();
if (m_uTimerDelay == 300) OnUpdatespeedFast();

if (m_uUnit == 1) OnUnitsBitspersec();
if (m_uUnit == VNG_DEFAULT_UNIT) OnUnitsKilobitspersec();
if (m_uUnit == 1000000) OnUnitsMegabitspersec();
if (m_uUnit == 1000000000) OnUnitsGigabitspersec();

if (m_fAveragingIntervel == VNG_DEFAULT_AVE) OnAveraging10samples();
if (m_fAveragingIntervel == 30.0f) OnAveraging30sample();
if (m_fAveragingIntervel == 60.0f) OnAveraging60samples();
if (m_fAveragingIntervel == 1.0f) OnAveragingInstantaneous();

if (m_uSelectedTheme == VNG_DEFAULT_THEME) OnThemesAquapale();
if (m_uSelectedTheme == 1) OnThemesRedorange();
if (m_uSelectedTheme == 2) OnThemesBluegreen();
if (m_uSelectedTheme == 3) OnThemesGreywhite();

if (m_uSelectedInterface == VNG_DEFAULT_INTERFACE) OnInterfacesTotalofall();
else
{
if (m_uSelectedInterface == 1) OnInterfacesAuto();
else
{
OnCommandRangeInterfaces(m_uSelectedInterface - 2 + ID_INTERFACES_NIF1);
}
}

}

void CVizNetGaugeDlg::ResetSettings()
{
}
m_bTopmostMode = !VNG_DEFAULT_TOPMOST;
OnOptionsAlwaysontop();
OnUpdatespeedMedium();
OnUnitsKilobitspersec();
OnAveraging10samples();
OnThemesAquapale();
OnInterfacesTotalofall();
}

void CVizNetGaugeDlg::OnShowWindow(BOOL bShow, UINT nStatus)
{
CDialogEx::OnShowWindow(bShow, nStatus);

static bool bOnce = true;

if (bShow && !IsWindowVisible() && bOnce)
{
bOnce = false;

WINDOWPLACEMENT *lwp;
UINT nl;

if (AfxGetApp()->GetProfileBinary(_T("VizNetGauge"), _T("WP"), (LPBYTE*)&lwp, &nl))
{
SetWindowPlacement(lwp);
delete[] lwp;
}
}
}

0 comments on commit 3b0873f

Please sign in to comment.