- Implement Advanced Status IP Information Dialog

- Import language strings from netcfgx
- Add icon group (32x32)
- ncpa is now a candidate for deletion

svn path=/trunk/; revision=36762
This commit is contained in:
Johannes Anderwald
2008-10-15 17:20:55 +00:00
parent 427c90af34
commit fa0cd2cd47
31 changed files with 139 additions and 47 deletions
@@ -284,7 +284,6 @@ ShowNetworkComponentProperties(
pItem = (PNET_ITEM)lvItem.lParam;
pNCfgComp = (INetCfgComponent*) pItem->pNCfgComp;
hr = INetCfgComponent_RaisePropertyUi(pNCfgComp, GetParent(hwndDlg), NCRP_QUERY_PROPERTY_UI, (IUnknown*)This);
if (SUCCEEDED(hr))
{
+2
View File
@@ -101,4 +101,6 @@ BEGIN
IDS_FORMAT_GBIT "%u ÃÁ/ñ"
IDS_DURATION_DAY "%d äåí %s"
IDS_DURATION_DAYS "%d äíè %s"
IDS_ASSIGNED_DHCP "Çàäàäåíî îò DHCP"
IDS_ASSIGNED_MANUAL "Ðú÷íî íàñòðîåíî"
END
+2
View File
@@ -98,5 +98,7 @@ BEGIN
IDS_FORMAT_GBIT "%u GBit/s"
IDS_DURATION_DAY "%d Day %s"
IDS_DURATION_DAYS "%d Days %s"
IDS_ASSIGNED_DHCP "Pøiøazeno DHCP"
IDS_ASSIGNED_MANUAL "Ruènì nastaveno"
END
+2
View File
@@ -98,6 +98,8 @@ BEGIN
IDS_FORMAT_GBIT "%u GBit/s"
IDS_DURATION_DAY "%d Day %s"
IDS_DURATION_DAYS "%d Days %s"
IDS_ASSIGNED_DHCP "Assigned by DHCP"
IDS_ASSIGNED_MANUAL "Manually configured"
END
+2
View File
@@ -101,4 +101,6 @@ BEGIN
IDS_FORMAT_GBIT "%u GBit/s"
IDS_DURATION_DAY "%d Tag %s"
IDS_DURATION_DAYS "%d Tage %s"
IDS_ASSIGNED_DHCP "Von DHCP zugewiesen"
IDS_ASSIGNED_MANUAL "Manuell konfiguriert"
END
+2
View File
@@ -98,5 +98,7 @@ BEGIN
IDS_FORMAT_GBIT "%u GBit/s"
IDS_DURATION_DAY "%d Day %s"
IDS_DURATION_DAYS "%d Days %s"
IDS_ASSIGNED_DHCP "Ïñßóôçêå áðü ôï DHCP"
IDS_ASSIGNED_MANUAL "Ïñßóôçêå ÷åéñïêßíçôá"
END
+2
View File
@@ -100,5 +100,7 @@ BEGIN
IDS_FORMAT_GBIT "%u GBit/s"
IDS_DURATION_DAY "%d Day %s"
IDS_DURATION_DAYS "%d Days %s"
IDS_ASSIGNED_DHCP "Assigned by DHCP"
IDS_ASSIGNED_MANUAL "Manually configured"
END
+2
View File
@@ -94,5 +94,7 @@ BEGIN
IDS_FORMAT_GBIT "%u GBit/s"
IDS_DURATION_DAY "%d Día %s"
IDS_DURATION_DAYS "%d Días %s"
IDS_ASSIGNED_DHCP "Asignado por DHCP"
IDS_ASSIGNED_MANUAL "Configurado manualmente"
END
+2
View File
@@ -98,4 +98,6 @@ BEGIN
IDS_FORMAT_GBIT "%u GBit/s"
IDS_DURATION_DAY "%d Day %s"
IDS_DURATION_DAYS "%d Days %s"
IDS_ASSIGNED_DHCP "Assignée par DHCP"
IDS_ASSIGNED_MANUAL "Configurée manuellement"
END
+2
View File
@@ -99,4 +99,6 @@ BEGIN
IDS_FORMAT_GBIT "%u GBit/s"
IDS_DURATION_DAY "%d Day %s"
IDS_DURATION_DAYS "%d Days %s"
IDS_ASSIGNED_DHCP "Assigned by DHCP"
IDS_ASSIGNED_MANUAL "Manually configured"
END
+2
View File
@@ -98,4 +98,6 @@ BEGIN
IDS_FORMAT_GBIT "%u GBit/s"
IDS_DURATION_DAY "%d Day %s"
IDS_DURATION_DAYS "%d Days %s"
IDS_ASSIGNED_DHCP "Assigned by DHCP"
IDS_ASSIGNED_MANUAL "Manually configured"
END
+2
View File
@@ -104,5 +104,7 @@ BEGIN
IDS_FORMAT_GBIT "%u GBit/s"
IDS_DURATION_DAY "%d Day %s"
IDS_DURATION_DAYS "%d Days %s"
IDS_ASSIGNED_DHCP "Assegnato da DHCP"
IDS_ASSIGNED_MANUAL "Configurato manualmente"
END
+2
View File
@@ -98,4 +98,6 @@ BEGIN
IDS_FORMAT_GBIT "%u GBit/s"
IDS_DURATION_DAY "%d Day %s"
IDS_DURATION_DAYS "%d Days %s"
IDS_ASSIGNED_DHCP "Assigned by DHCP"
IDS_ASSIGNED_MANUAL "Manually configured"
END
+2
View File
@@ -98,6 +98,8 @@ BEGIN
IDS_FORMAT_GBIT "%u GBit/s"
IDS_DURATION_DAY "%d Day %s"
IDS_DURATION_DAYS "%d Days %s"
IDS_ASSIGNED_DHCP "Assigned by DHCP"
IDS_ASSIGNED_MANUAL "Manually configured"
END
+2
View File
@@ -103,5 +103,7 @@ BEGIN
IDS_FORMAT_GBIT "%u GBit/s"
IDS_DURATION_DAY "%d dag %s"
IDS_DURATION_DAYS "%d dager %s"
IDS_ASSIGNED_DHCP "Tilordnet av DHCP"
IDS_ASSIGNED_MANUAL "Manuelt konfigurert"
END
+2
View File
@@ -99,5 +99,7 @@ BEGIN
IDS_FORMAT_GBIT "%u GBit/s"
IDS_DURATION_DAY "%d Day %s"
IDS_DURATION_DAYS "%d Days %s"
IDS_ASSIGNED_DHCP "Przydzielony przez DHCP"
IDS_ASSIGNED_MANUAL "Ustawiony rêcznie"
END
+2
View File
@@ -99,4 +99,6 @@ BEGIN
IDS_FORMAT_GBIT "%u ÃÁàéò/s"
IDS_DURATION_DAY "%d Äåíü %s"
IDS_DURATION_DAYS "%d Äíåé %s"
IDS_ASSIGNED_DHCP "Ïðèñâîåí DHCP"
IDS_ASSIGNED_MANUAL "Íàñòðîåí âðó÷íóþ"
END
+2
View File
@@ -105,4 +105,6 @@ BEGIN
IDS_FORMAT_GBIT "%u GBitov/s"
IDS_DURATION_DAY "%d deò %s"
IDS_DURATION_DAYS "%d dní %s"
IDS_ASSIGNED_DHCP "Pridelená DHCP serverom"
IDS_ASSIGNED_MANUAL "Nakonfigurovaná manuálne"
END
+2
View File
@@ -99,4 +99,6 @@ BEGIN
IDS_FORMAT_GBIT "%u GBit/s"
IDS_DURATION_DAY "%d Day %s"
IDS_DURATION_DAYS "%d Days %s"
IDS_ASSIGNED_DHCP "Assigned by DHCP"
IDS_ASSIGNED_MANUAL "Manually configured"
END
+2
View File
@@ -101,4 +101,6 @@ BEGIN
IDS_FORMAT_GBIT "%u GBit/s"
IDS_DURATION_DAY "%d Day %s"
IDS_DURATION_DAYS "%d Days %s"
IDS_ASSIGNED_DHCP "Íàäàíî DHCP"
IDS_ASSIGNED_MANUAL "Íàëàøòîâàíî âðó÷íó"
END
+2
View File
@@ -98,4 +98,6 @@ BEGIN
IDS_FORMAT_GBIT "%u GBit/s"
IDS_DURATION_DAY "%d Day %s"
IDS_DURATION_DAYS "%d Days %s"
IDS_ASSIGNED_DHCP "Assigned by DHCP"
IDS_ASSIGNED_MANUAL "Manually configured"
END
+95 -45
View File
@@ -30,8 +30,12 @@ typedef struct
HWND hwndDlg; /* status dialog window */
DWORD dwAdapterIndex;
UINT_PTR nIDEvent;
UINT DHCPEnabled;
DWORD dwInOctets;
DWORD dwOutOctets;
DWORD IpAddress;
DWORD SubnetMask;
DWORD Gateway;
UINT uID;
UINT Status;
}LANSTATUSUI_CONTEXT;
@@ -260,10 +264,7 @@ VOID
InitializeLANStatusUiDlg(HWND hwndDlg, LANSTATUSUI_CONTEXT * pContext)
{
WCHAR szBuffer[MAX_PATH] = {0};
NETCON_PROPERTIES * pProperties = NULL;
DWORD dwSize, dwAdapterIndex, dwResult;
LPOLESTR pStr;
IP_ADAPTER_INFO * pAdapterInfo;
NETCON_PROPERTIES * pProperties;
if (INetConnection_GetProperties(pContext->pNet, &pProperties) != NOERROR)
return;
@@ -279,52 +280,13 @@ InitializeLANStatusUiDlg(HWND hwndDlg, LANSTATUSUI_CONTEXT * pContext)
SendDlgItemMessageW(hwndDlg, IDC_STATUS, WM_SETTEXT, 0, (LPARAM)szBuffer);
if (FAILED(StringFromCLSID(&pProperties->guidId, &pStr)))
{
NcFreeNetconProperties(pProperties);
return;
}
NcFreeNetconProperties(pProperties);
/* get the IfTable */
dwSize = 0;
dwResult = GetAdaptersInfo(NULL, &dwSize);
if (dwResult!= ERROR_BUFFER_OVERFLOW)
{
CoTaskMemFree(pStr);
return;
}
pAdapterInfo = (PIP_ADAPTER_INFO)CoTaskMemAlloc(dwSize);
if (!pAdapterInfo)
{
CoTaskMemFree(pAdapterInfo);
CoTaskMemFree(pStr);
return;
}
if (GetAdaptersInfo(pAdapterInfo, &dwSize) != NO_ERROR)
{
CoTaskMemFree(pAdapterInfo);
CoTaskMemFree(pStr);
return;
}
if (!GetAdapterIndexFromNetCfgInstanceId(pAdapterInfo, pStr, &dwAdapterIndex))
{
CoTaskMemFree(pAdapterInfo);
CoTaskMemFree(pStr);
return;
}
CoTaskMemFree(pStr);
pContext->dwAdapterIndex = dwAdapterIndex;
pContext->dwInOctets = 0;
pContext->dwOutOctets = 0;
/* update adapter info */
pContext->Status = -1;
UpdateLanStatus(hwndDlg, pContext);
CoTaskMemFree(pAdapterInfo);
NcFreeNetconProperties(pProperties);
}
INT_PTR
@@ -336,8 +298,11 @@ LANStatusUiAdvancedDlg(
LPARAM lParam
)
{
WCHAR szBuffer[100] = {0};
PROPSHEETPAGE *page;
LANSTATUSUI_CONTEXT * pContext;
DWORD dwIpAddr;
switch(uMsg)
{
@@ -345,6 +310,31 @@ LANStatusUiAdvancedDlg(
page = (PROPSHEETPAGE*)lParam;
pContext = (LANSTATUSUI_CONTEXT*)page->lParam;
SetWindowLongPtr(hwndDlg, DWLP_USER, (LONG_PTR)pContext);
if (pContext->DHCPEnabled)
LoadStringW(netshell_hInstance, IDS_ASSIGNED_DHCP, szBuffer, sizeof(szBuffer)/sizeof(WCHAR));
else
LoadStringW(netshell_hInstance, IDS_ASSIGNED_MANUAL, szBuffer, sizeof(szBuffer)/sizeof(WCHAR));
szBuffer[(sizeof(szBuffer)/sizeof(WCHAR))-1] = L'\0';
SendDlgItemMessageW(hwndDlg, IDC_DETAILSTYPE, WM_SETTEXT, 0, (LPARAM)szBuffer);
dwIpAddr = ntohl(pContext->IpAddress);
swprintf(szBuffer, L"%u.%u.%u.%u", FIRST_IPADDRESS(dwIpAddr), SECOND_IPADDRESS(dwIpAddr),
THIRD_IPADDRESS(dwIpAddr), FOURTH_IPADDRESS(dwIpAddr));
SendDlgItemMessageW(hwndDlg, IDC_DETAILSIP, WM_SETTEXT, 0, (LPARAM)szBuffer);
dwIpAddr = ntohl(pContext->SubnetMask);
swprintf(szBuffer, L"%u.%u.%u.%u", FIRST_IPADDRESS(dwIpAddr), SECOND_IPADDRESS(dwIpAddr),
THIRD_IPADDRESS(dwIpAddr), FOURTH_IPADDRESS(dwIpAddr));
SendDlgItemMessageW(hwndDlg, IDC_DETAILSSUBNET, WM_SETTEXT, 0, (LPARAM)szBuffer);
dwIpAddr = ntohl(pContext->Gateway);
swprintf(szBuffer, L"%u.%u.%u.%u", FIRST_IPADDRESS(dwIpAddr), SECOND_IPADDRESS(dwIpAddr),
THIRD_IPADDRESS(dwIpAddr), FOURTH_IPADDRESS(dwIpAddr));
SendDlgItemMessageW(hwndDlg, IDC_DETAILSGATEWAY, WM_SETTEXT, 0, (LPARAM)szBuffer);
return TRUE;
default:
break;
@@ -405,6 +395,65 @@ LANStatusUiDlg(
return FALSE;
}
VOID
InitializePropertyDialog(
LANSTATUSUI_CONTEXT * pContext,
NETCON_PROPERTIES * pProperties)
{
DWORD dwSize, dwAdapterIndex, dwResult;
LPOLESTR pStr;
IP_ADAPTER_INFO * pAdapterInfo, *pCurAdapter;
if (FAILED(StringFromCLSID(&pProperties->guidId, &pStr)))
{
return;
}
/* get the IfTable */
dwSize = 0;
dwResult = GetAdaptersInfo(NULL, &dwSize);
if (dwResult!= ERROR_BUFFER_OVERFLOW)
{
CoTaskMemFree(pStr);
return;
}
pAdapterInfo = (PIP_ADAPTER_INFO)CoTaskMemAlloc(dwSize);
if (!pAdapterInfo)
{
CoTaskMemFree(pAdapterInfo);
CoTaskMemFree(pStr);
return;
}
if (GetAdaptersInfo(pAdapterInfo, &dwSize) != NO_ERROR)
{
CoTaskMemFree(pAdapterInfo);
CoTaskMemFree(pStr);
return;
}
if (!GetAdapterIndexFromNetCfgInstanceId(pAdapterInfo, pStr, &dwAdapterIndex))
{
CoTaskMemFree(pAdapterInfo);
CoTaskMemFree(pStr);
return;
}
pCurAdapter = pAdapterInfo;
while(pCurAdapter->Index != dwAdapterIndex)
pCurAdapter = pCurAdapter->Next;
pContext->IpAddress = inet_addr(pCurAdapter->IpAddressList.IpAddress.String);
pContext->SubnetMask = inet_addr(pCurAdapter->IpAddressList.IpMask.String);
pContext->Gateway = inet_addr(pCurAdapter->GatewayList.IpAddress.String);
pContext->DHCPEnabled = pCurAdapter->DhcpEnabled;
CoTaskMemFree(pStr);
CoTaskMemFree(pAdapterInfo);
pContext->dwAdapterIndex = dwAdapterIndex;
}
VOID
ShowStatusPropertyDialog(
LANSTATUSUI_CONTEXT * pContext,
@@ -428,7 +477,7 @@ ShowStatusPropertyDialog(
pinfo.pszCaption = pProperties->pszwName;
pinfo.dwFlags |= PSH_PROPTITLE;
}
InitializePropertyDialog(pContext, pProperties);
if (pProperties->MediaType == NCM_LAN && pProperties->Status == NCS_CONNECTED)
{
hppages[0] = InitializePropertySheetPage(MAKEINTRESOURCEW(IDD_LAN_NETSTATUS), LANStatusUiDlg, (LPARAM)pContext, NULL);
@@ -449,6 +498,7 @@ ShowStatusPropertyDialog(
{
ShowNetConnectionProperties(pContext->pNet, pContext->hwndDlg);
}
NcFreeNetconProperties(pProperties);
}
}
@@ -17,6 +17,7 @@
<library>uuid</library>
<library>advapi32</library>
<library>setupapi</library>
<library>ws2_32</library>
<library>comctl32</library>
<pch>precomp.h</pch>
<file>netshell.c</file>
+1 -1
View File
@@ -14,7 +14,7 @@
#define COBJMACROS
#define NONAMELESSUNION
#define NONAMELESSSTRUCT
#include <winsock2.h>
#include <windows.h>
#include <shlguid.h>
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 3.6 KiB

+2
View File
@@ -78,4 +78,6 @@
#define IDS_FORMAT_GBIT 10203
#define IDS_DURATION_DAY 10204
#define IDS_DURATION_DAYS 10205
#define IDS_ASSIGNED_DHCP 10206
#define IDS_ASSIGNED_MANUAL 10207