diff --git a/reactos/base/applications/applications.rbuild b/reactos/base/applications/applications.rbuild
index 2848f4dc580..a2d912d347a 100644
--- a/reactos/base/applications/applications.rbuild
+++ b/reactos/base/applications/applications.rbuild
@@ -13,30 +13,15 @@
-
-
-
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
@@ -52,21 +37,12 @@
-
-
-
-
-
-
-
-
-
@@ -76,18 +52,9 @@
-
-
-
-
-
-
-
-
-
diff --git a/reactos/base/applications/devmgr/devmgr.c b/reactos/base/applications/devmgr/devmgr.c
deleted file mode 100644
index 9df585a231f..00000000000
--- a/reactos/base/applications/devmgr/devmgr.c
+++ /dev/null
@@ -1,730 +0,0 @@
-/* Device manager
- * (C) 2005 - Hervé Poussineau (hpoussin@reactos.org)
- * GUI: Michael Fritscher (michael@fritscher.net)
- *
- */
-
-#define INITGUID
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#if defined (__GNUC__)
-#include
-#endif
-
-/* FIXME: should be in cfgmgr32.h */
-typedef DWORD CONFIGRET;
-typedef DWORD DEVINST, *PDEVINST;
-#define CM_DRP_DEVICEDESC 0x00000001
-#define MAX_DEVICE_ID_LEN 200
-#define MAX_CLASS_NAME_LEN 32
-#define CR_SUCCESS 0x00000000
-#define CR_NO_SUCH_DEVINST 0x0000000D
-#define CR_NO_SUCH_VALUE 0x00000025
-#ifdef _UNICODE
-typedef WCHAR *DEVINSTID_W;
-CONFIGRET WINAPI CM_Get_DevNode_Registry_PropertyW(DEVINST, ULONG, PULONG, PVOID, PULONG, ULONG);
-CONFIGRET WINAPI CM_Locate_DevNodeW(PDEVINST, DEVINSTID_W, ULONG);
-#define CM_Get_DevNode_Registry_Property CM_Get_DevNode_Registry_PropertyW
-#define CM_Locate_DevNode CM_Locate_DevNodeW
-#else
-typedef CHAR *DEVINSTID_A;
-CONFIGRET WINAPI CM_Get_DevNode_Registry_PropertyA(DEVINST, ULONG, PULONG, PVOID, PULONG, ULONG);
-CONFIGRET WINAPI CM_Locate_DevNodeA(PDEVINST, DEVINSTID_A, ULONG);
-#define CM_Get_DevNode_Registry_Property CM_Get_DevNode_Registry_PropertyA
-#define CM_Locate_DevNode CM_Locate_DevNodeA
-#endif
-CONFIGRET WINAPI CM_Enumerate_Classes(ULONG, LPGUID, ULONG);
-CONFIGRET WINAPI CM_Get_Child(PDEVINST, DEVINST, ULONG);
-CONFIGRET WINAPI CM_Get_Sibling(PDEVINST, DEVINST, ULONG);
-/* end of cfgmgr32.h */
-
-/**************************************************************************
- Function Prototypes
-**************************************************************************/
-
-BOOL InitApplication(HINSTANCE);
-BOOL InitInstance(HINSTANCE, int);
-LRESULT CALLBACK MainWndProc(HWND, UINT, WPARAM, LPARAM);
-void CreateListView(HINSTANCE, HWND);
-void ResizeListView(HWND);
-BOOL InitListView();
-void InsertIntoListView(int, LPTSTR, LPTSTR);
-
-
-LRESULT ListViewNotify(HWND, LPARAM);
-void SwitchView(HWND, DWORD);
-BOOL DoContextMenu(HWND, WPARAM, LPARAM);
-void UpdateMenu(HWND, HMENU);
-BOOL InsertListViewItems();
-void PositionHeader();
-
-void CreateButtons(HINSTANCE hInstance, HWND hwndParent);
-void ListByClass();
-
-/**************************************************************************
- Global Variables
-**************************************************************************/
-
-HINSTANCE g_hInst;
-TCHAR g_szClassName[] = TEXT("VListVwClass");
-HWND hWnd;
-HWND hwndListView;
-HWND hwndButtonListByClass;
-HWND hwndButtonListByConnection;
-HWND hwndButtonListByInterface;
-HWND hwndButtonExit;
-TCHAR temp [255];
-HDC hDC;
-TCHAR empty [255] = TEXT(" ");
-
-void ListByClass()
-{
- GUID ClassGuid;
- TCHAR ClassDescription[MAX_PATH];
- TCHAR ClassName[MAX_CLASS_NAME_LEN];
- TCHAR PropertyBuffer[256];
- HKEY KeyClass;
- HDEVINFO hDevInfo;
- SP_DEVINFO_DATA DeviceInfoData;
- int i = 0, j;
- long Size;
- long rc;
-
- SendMessage(hwndListView, WM_SETREDRAW, FALSE, 0);
-
- (void)ListView_DeleteAllItems(hwndListView);
- while (1)
- {
- CONFIGRET res;
- res = CM_Enumerate_Classes(i, &ClassGuid, 0);
- if (res == CR_NO_SUCH_VALUE)
- break;
-
- i++;
- ClassName[0] = '\0';
- if (!SetupDiClassNameFromGuid(
- &ClassGuid,
- ClassName,
- sizeof(ClassName) / sizeof(ClassName[0]),
- NULL))
- {
- _tprintf(_T("SetupDiClassNameFromGuid() failed with status 0x%lx\n"), GetLastError());
- continue;
- }
-
- /* Get class description */
- KeyClass = SetupDiOpenClassRegKey(
- &ClassGuid,
- KEY_READ);
- if (KeyClass == INVALID_HANDLE_VALUE)
- {
- _tprintf(_T("SetupDiOpenClassRegKey() failed with status 0x%lx\n"), GetLastError());
- continue;
- }
- Size = sizeof(ClassDescription);
- rc = RegQueryValue(KeyClass, NULL, ClassDescription, &Size);
- if (rc == ERROR_SUCCESS)
- {
- InsertIntoListView(i,ClassDescription,ClassName);
- TextOut(hDC, 200, 40, empty, (int) strlen(empty));
- TextOut(hDC, 200, 40, ClassDescription, (int) strlen(ClassDescription));
- _tprintf(_T("%d %s (%s)\n"), i, ClassName, ClassDescription);
- }
- else
- _tprintf(_T("RegQueryValue() failed with status 0x%lx\n"), rc);
- RegCloseKey(KeyClass);
-
- /* Enumerate devices in the class */
- hDevInfo = SetupDiGetClassDevs(
- &ClassGuid,
- NULL, /* Enumerator */
- NULL, /* hWnd parent */
- DIGCF_PRESENT);
- if (hDevInfo == INVALID_HANDLE_VALUE)
- continue;
-
- j = 0;
- while (1)
- {
- DeviceInfoData.cbSize = sizeof(SP_DEVINFO_DATA);
- if (!SetupDiEnumDeviceInfo(
- hDevInfo,
- j,
- &DeviceInfoData))
- {
- break;
- }
- j++;
- if (SetupDiGetDeviceRegistryProperty(
- hDevInfo,
- &DeviceInfoData,
- SPDRP_DEVICEDESC,
- NULL, /* Property reg data type */
- (PBYTE)PropertyBuffer,
- sizeof(PropertyBuffer),
- NULL) /* Required size */)
- {
- _tprintf(_T("- %s\n"), PropertyBuffer);
- InsertIntoListView(0,PropertyBuffer," ");
- }
- else if (SetupDiGetDeviceRegistryProperty(
- hDevInfo,
- &DeviceInfoData,
- SPDRP_PHYSICAL_DEVICE_OBJECT_NAME,
- NULL, /* Property reg data type */
- (PBYTE)PropertyBuffer,
- sizeof(PropertyBuffer),
- NULL) /* Required size */)
- {
- _tprintf(_T("- %s\n"), PropertyBuffer);
- InsertIntoListView(0,PropertyBuffer," ");
- TextOut(hDC, 200, 40, empty, (int) strlen(empty));
- TextOut(hDC, 200, 40, PropertyBuffer, (int) strlen(PropertyBuffer));
- }
- else
- _tprintf(_T("SetupDiGetDeviceRegistryProperty() failed with status 0x%lx\n"), GetLastError());
- }
- SetupDiDestroyDeviceInfoList(hDevInfo);
- }
- SendMessage(hwndListView, WM_SETREDRAW, TRUE, 0);
-}
-
-CONFIGRET GetDeviceName(DEVINST DevInst, LPTSTR Buffer, DWORD BufferLength)
-{
- ULONG BufferSize = BufferLength * sizeof(TCHAR);
- CONFIGRET cr;
- cr = CM_Get_DevNode_Registry_Property(DevInst, CM_DRP_DEVICEDESC, NULL, Buffer, &BufferSize, 0);
- if (cr != CR_SUCCESS)
- {
- _tprintf(_T("CM_Get_DevNode_Registry_Property() failed, cr= 0x%lx\n"), cr);
- }
- return cr;
-}
-
-CONFIGRET ListSubNodes(DEVINST parent, DWORD Level)
-{
- CONFIGRET cr;
- DEVINST child;
-
- cr = CM_Get_Child(&child, parent, 0);
- if (cr == CR_NO_SUCH_DEVINST)
- return CR_SUCCESS;
- else if (cr != CR_SUCCESS)
- {
- _tprintf(_T("CM_Get_Child() failed, cr= 0x%lx\n"), cr);
- return cr;
- }
-
- do
- {
-#define DISPLAY_LENGTH (MAX_PATH + MAX_DEVICE_ID_LEN)
- DWORD DisplayLength = DISPLAY_LENGTH;
- TCHAR DisplayName[DISPLAY_LENGTH];
- ULONG i = Level;
- TCHAR LevelSpaces [ 255 ];
- cr = GetDeviceName(child, DisplayName, DisplayLength);
- LevelSpaces[0] = '\0';
- while (i-- != 0)
- {
- _tprintf(_T(" "));
- sprintf(LevelSpaces,"%s%s",LevelSpaces," ");
- }
- if (cr == CR_SUCCESS)
- {
- _tprintf(_T("%s\n"), DisplayName);
- sprintf(temp,"%s%s",LevelSpaces,DisplayName);
- InsertIntoListView(0,temp," ");
- TextOut(hDC, 200, 40, empty, (int) strlen(empty));
- TextOut(hDC, 200, 40, DisplayName, (int) strlen(DisplayName));
- }
- else
- {
- _tprintf(_T("(unknown device)\n"));
- sprintf(temp,"%s%s",LevelSpaces,"(unknown device)");
- InsertIntoListView(0,temp," ");
- TextOut(hDC, 200, 40, empty, (int) strlen(empty));
- TextOut(hDC, 200, 40, "(unknown device)", (int) strlen("(unknown device)"));
- }
- cr = ListSubNodes(child, Level + 1);
- if (cr != CR_SUCCESS)
- return cr;
- cr = CM_Get_Sibling(&child, child, 0);
- if (cr != CR_SUCCESS && cr != CR_NO_SUCH_DEVINST)
- {
- _tprintf(_T("CM_Get_Sibling() failed, cr= 0x%lx\n"), cr);
- return cr;
- }
- } while (cr == CR_SUCCESS);
- return CR_SUCCESS;
-}
-
-int ListByConnection()
-{
- CONFIGRET cr;
- DEVINST root;
- (void)ListView_DeleteAllItems(hwndListView);
-
- cr = CM_Locate_DevNode(&root, TEXT("Root\\*PNP0A03\\0000"), 0);
-
- if (cr != CR_SUCCESS)
- {
- _tprintf(_T("CM_Locate_DevNode() failed, cr= 0x%lx\n"), cr);
- return 1;
- }
- SendMessage(hwndListView, WM_SETREDRAW, FALSE, 0);
- cr = ListSubNodes(root, 0);
- SendMessage(hwndListView, WM_SETREDRAW, TRUE, 0);
- if (cr != CR_SUCCESS)
- return 2;
- return 0;
-}
-
-int ListByInterface(const GUID* guid)
-{
- HDEVINFO hDevInfo;
- CHAR Buffer[sizeof(SP_DEVICE_INTERFACE_DETAIL_DATA) + 0x100];
- PSP_DEVICE_INTERFACE_DETAIL_DATA DeviceInterfaceDetailData;
- DWORD i;
- SP_DEVICE_INTERFACE_DATA DeviceInterfaceData;
-
- (void)ListView_DeleteAllItems(hwndListView);
-
- DeviceInterfaceDetailData = (PSP_DEVICE_INTERFACE_DETAIL_DATA)Buffer;
- DeviceInterfaceDetailData->cbSize = sizeof(SP_DEVICE_INTERFACE_DETAIL_DATA);
-
- hDevInfo = SetupDiGetClassDevs(
- guid,
- NULL, /* Enumerator */
- NULL, /* hwndParent */
- DIGCF_DEVICEINTERFACE);
- if (hDevInfo == INVALID_HANDLE_VALUE)
- {
- printf("SetupDiGetClassDevs() failed with status 0x%lx\n", GetLastError());
- return 1;
- }
-
- i = 0;
- DeviceInterfaceData.cbSize = sizeof(SP_DEVICE_INTERFACE_DATA);
- SendMessage(hwndListView, WM_SETREDRAW, FALSE, 0);
- while (TRUE)
- {
- if (!SetupDiEnumDeviceInterfaces(
- hDevInfo,
- NULL,
- guid,
- i,
- &DeviceInterfaceData))
- {
- if (GetLastError() != ERROR_NO_MORE_ITEMS)
- printf("SetupDiEnumDeviceInterfaces() failed with status 0x%lx\n", GetLastError());
- break;
- }
- i++;
- if (SetupDiGetDeviceInterfaceDetail(hDevInfo, &DeviceInterfaceData, DeviceInterfaceDetailData, sizeof(Buffer), NULL, NULL))
- {
- _tprintf(_T("- device %-2ld: %s\n"), i, DeviceInterfaceDetailData->DevicePath);
- TextOut(hDC, 200, 40, empty, (int) strlen(empty));
- TextOut(hDC, 200, 40, DeviceInterfaceDetailData->DevicePath, (int) strlen(DeviceInterfaceDetailData->DevicePath));
- InsertIntoListView(i,DeviceInterfaceDetailData->DevicePath," ");
- }
- else
- {
- _tprintf(_T("- device %ld\n"), i);
- InsertIntoListView(i," "," ");
- }
-
- }
- SendMessage(hwndListView, WM_SETREDRAW, TRUE, 0);
- SetupDiDestroyDeviceInfoList(hDevInfo);
- return 0;
-}
-
-/*int main(void)
-{
- ListByClass();
- ListByInterface(&GUID_DEVINTERFACE_SERENUM_BUS_ENUMERATOR);
- ListByConnection();
- return 0;
-}*/
-
-
-
-//GUI
-int WINAPI WinMain( HINSTANCE hInstance,
- HINSTANCE hPrevInstance,
- LPSTR lpCmdLine,
- int nCmdShow)
-{
-MSG msg;
-
-UNREFERENCED_PARAMETER(lpCmdLine);
-UNREFERENCED_PARAMETER(hInstance);
-
-g_hInst = hInstance;
-
-if(!hPrevInstance)
- if(!InitApplication(hInstance))
- return FALSE;
-
-//required to use the common controls
-InitCommonControls();
-
-/* Perform initializations that apply to a specific instance */
-
-if (!InitInstance(hInstance, nCmdShow))
- return FALSE;
-
-/* Acquire and dispatch messages until a WM_QUIT uMessage is received. */
-
-while(GetMessage( &msg, NULL, 0x00, 0x00))
- {
- TranslateMessage(&msg);
- DispatchMessage(&msg);
- }
-
-return (int)msg.wParam;
-}
-
-BOOL InitApplication(HINSTANCE hInstance)
-{
-WNDCLASSEX wcex;
-ATOM aReturn;
-
-wcex.cbSize = sizeof(WNDCLASSEX);
-wcex.style = 0;
-wcex.lpfnWndProc = (WNDPROC)MainWndProc;
-wcex.cbClsExtra = 0;
-wcex.cbWndExtra = 0;
-wcex.hInstance = hInstance;
-wcex.hCursor = LoadCursor(NULL, IDC_ARROW);
-wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW );
-wcex.lpszMenuName = 0;
-wcex.lpszClassName = g_szClassName;
-wcex.hIcon = 0;
-wcex.hIconSm = 0;
-
-aReturn = RegisterClassEx(&wcex);
-
-if(0 == aReturn)
- {
- WNDCLASS wc;
-
- wc.style = 0;
- wc.lpfnWndProc = (WNDPROC)MainWndProc;
- wc.cbClsExtra = 0;
- wc.cbWndExtra = 0;
- wc.hInstance = hInstance;
- wc.hIcon = 0;
- wc.hCursor = 0;
- wc.hbrBackground = (HBRUSH)(COLOR_WINDOW);
- wc.lpszMenuName = 0;
- wc.lpszClassName = g_szClassName;
-
- aReturn = RegisterClass(&wc);
- }
-
-return aReturn;
-}
-
-BOOL InitInstance( HINSTANCE hInstance,
- int nCmdShow)
-{
-HWND hWnd;
-TCHAR szTitle[MAX_PATH] = TEXT("Device viewer");
-
-g_hInst = hInstance;
-
-/* Create a main window for this application instance. */
-hWnd = CreateWindowEx( 0,
- g_szClassName,
- szTitle,
- WS_OVERLAPPEDWINDOW,
- CW_USEDEFAULT,
- CW_USEDEFAULT,
- CW_USEDEFAULT,
- CW_USEDEFAULT,
- NULL,
- NULL,
- hInstance,
- NULL);
-
-/* If window could not be created, return "failure" */
-
-if (!hWnd)
- return FALSE;
-
-/* Make the window visible; update its client area; and return "success" */
-
-ShowWindow(hWnd, nCmdShow);
-UpdateWindow(hWnd);
-hDC = GetDC(hWnd);
-return TRUE;
-
-}
-
-LRESULT CALLBACK MainWndProc( HWND hWnd,
- UINT uMessage,
- WPARAM wParam,
- LPARAM lParam)
-{
-
-
-switch (uMessage)
- {
- case WM_CREATE:
- // create the TreeView control
- CreateListView(g_hInst, hWnd);
-
- //initialize the TreeView control
- InitListView();
-
- CreateButtons(g_hInst, hWnd);
- TextOut(hDC, 200, 40, empty, (int) strlen(empty));
- break;
-
-
- case WM_SIZE:
- ResizeListView(hWnd);
- break;
- case WM_DESTROY:
- ReleaseDC(hWnd, hDC);
- PostQuitMessage(0);
- break;
- case WM_COMMAND:
- if (HIWORD(wParam) == BN_CLICKED &&
- (HWND) lParam == hwndButtonListByClass)
- {
- ListByClass();
- }
- if (HIWORD(wParam) == BN_CLICKED &&
- (HWND) lParam == hwndButtonListByConnection)
- {
- ListByConnection();
- }
- if (HIWORD(wParam) == BN_CLICKED &&
- (HWND) lParam == hwndButtonListByInterface)
- {
- ListByInterface(&GUID_DEVINTERFACE_SERENUM_BUS_ENUMERATOR);
- }
- if (HIWORD(wParam) == BN_CLICKED &&
- (HWND) lParam == hwndButtonExit)
- {
- /* Close the window. */
- DestroyWindow (hWnd);
- } return 0;
- break;
- default:
- break;
- }
-return DefWindowProc(hWnd, uMessage, wParam, lParam);
-}
-
-void CreateListView(HINSTANCE hInstance, HWND hwndParent)
-{
-DWORD dwStyle;
-
-UNREFERENCED_PARAMETER(hInstance);
-
-dwStyle = WS_TABSTOP |
- WS_CHILD |
- WS_BORDER |
- WS_VISIBLE |
- LVS_AUTOARRANGE |
- LVS_REPORT ;//|
- //LVS_OWNERDATA;
-
-hwndListView = CreateWindowEx( WS_EX_CLIENTEDGE, // ex style
- WC_LISTVIEW, // class name - defined in commctrl.h
- TEXT(""), // dummy text
- dwStyle, // style
- 0, // x position
- 0, // y position
- 0, // width
- 0, // height
- hwndParent, // parent
- 0,//(HMENU)ID_LISTVIEW, // ID
- g_hInst, // instance
- NULL); // no extra data
-
-
-ResizeListView(hwndParent);
-}
-
-void ResizeListView(HWND hwndParent)
-{
-RECT rc;
-
-GetClientRect(hwndParent, &rc);
-
-MoveWindow( hwndListView,
- rc.left,
- rc.top+60,
- rc.right - rc.left,
- rc.bottom - rc.top-60,
- TRUE);
-}
-
-void PositionHeader()
-{
-HWND hwndHeader = GetWindow(hwndListView, GW_CHILD);
-DWORD dwStyle = GetWindowLong(hwndListView, GWL_STYLE);
-
-/*To ensure that the first item will be visible, create the control without
-the LVS_NOSCROLL style and then add it here*/
-dwStyle |= LVS_NOSCROLL;
-SetWindowLong(hwndListView, GWL_STYLE, dwStyle);
-
-//only do this if we are in report view and were able to get the header hWnd
-if(((dwStyle & LVS_TYPEMASK) == LVS_REPORT) && hwndHeader)
- {
- RECT rc;
- HD_LAYOUT hdLayout;
- WINDOWPOS wpos;
-
- GetClientRect(hwndListView, &rc);
- hdLayout.prc = &rc;
- hdLayout.pwpos = &wpos;
-
- (void)Header_Layout(hwndHeader, &hdLayout);
-
- SetWindowPos( hwndHeader,
- wpos.hwndInsertAfter,
- wpos.x,
- wpos.y,
- wpos.cx,
- wpos.cy,
- wpos.flags | SWP_SHOWWINDOW);
-
- (void)ListView_EnsureVisible(hwndListView, 0, FALSE);
- }
-}
-
-BOOL InitListView()
-{
-LV_COLUMN lvColumn;
-int i;
-TCHAR szString[3][20] = {TEXT("#"), TEXT("Name"), TEXT("Intern name")};
-
-//empty the list
-(void)ListView_DeleteAllItems(hwndListView);
-
-//initialize the columns
-lvColumn.mask = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM;
-lvColumn.fmt = LVCFMT_LEFT;
-i=0;
-lvColumn.cx = 20;
-lvColumn.pszText = szString[i];
-(void)ListView_InsertColumn(hwndListView, i, &lvColumn);
-i=1;
-lvColumn.cx = 400;
-lvColumn.pszText = szString[i];
-(void)ListView_InsertColumn(hwndListView, i, &lvColumn);
-i=2;
-lvColumn.cx = 150;
-lvColumn.pszText = szString[i];
-(void)ListView_InsertColumn(hwndListView, i, &lvColumn);
-
-
-return TRUE;
-}
-
-typedef struct tagLINE_INFO
-{
- DWORD dwValType;
- LPTSTR name;
- void* val;
- size_t val_len;
-} LINE_INFO, *PLINE_INFO;
-
-void InsertIntoListView(int typ, LPTSTR name, LPTSTR intern_name)
-{
- //MessageBox(hWnd, "You just pressed Ctrl+a", "Hotkey", MB_OK | MB_ICONINFORMATION);
- TCHAR temp[ 255 ];
- //LINE_INFO* linfo;
- LVITEM item;
- int index;
- //linfo->name = Name;
- item.mask = LVIF_TEXT;
- item.iItem = 9999;
- item.iSubItem = 0;
- item.state = 0;
- //item.statemask = 0;
- item.pszText = (char*) malloc(10);
- if (typ>=1)
- {
- sprintf(temp,"%i",typ);
- item.pszText = temp;
- }
- else
- item.pszText = "";
- item.cchTextMax = (int) _tcslen(item.pszText);
- if (item.cchTextMax == 0)
- item.pszText = LPSTR_TEXTCALLBACK;
- item.iImage = 0;
- //item.iIdent = 0;
- //item.iGroupId = 0;
- //item.cColumns = 0 ;
- //item.puColumns = 0;
- //item.lParam = (LPARAM)linfo;
- index = ListView_InsertItem(hwndListView, &item);
- ListView_SetItemText(hwndListView, index, 1, name);
- ListView_SetItemText(hwndListView, index, 2, intern_name);
-}
-
-
-
-void CreateButtons(HINSTANCE hInstance, HWND hwndParent)
-{
-
- UNREFERENCED_PARAMETER(hInstance);
-
- hwndButtonListByClass = CreateWindowEx (
- 0,
- "button", /* Builtin button class */
- "List by Class",
- WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,
- 0, 0, 190, 30,
- hwndParent, /* Parent is this window. */
- 0, /* Control ID: 1 */
- g_hInst,
- NULL
- );
- hwndButtonListByConnection = CreateWindowEx (
- 0,
- "button", /* Builtin button class */
- "List by Connection (PCI)",
- WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,
- 200, 0, 190, 30,
- hwndParent, /* Parent is this window. */
- 0, /* Control ID: 1 */
- g_hInst,
- NULL
- );
- hwndButtonListByInterface = CreateWindowEx (
- 0,
- "button", /* Builtin button class */
- "List by Interface",
- WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,
- 400, 0, 190, 30,
- hwndParent, /* Parent is this window. */
- 0, /* Control ID: 1 */
- g_hInst,
- NULL
- );
- hwndButtonExit = CreateWindowEx (
- 0,
- "button", /* Builtin button class */
- "Exit",
- WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,
- 0, 30, 190, 30,
- hwndParent, /* Parent is this window. */
- 0, /* Control ID: 1 */
- g_hInst,
- NULL
- );
-}
diff --git a/reactos/base/applications/devmgr/devmgr.rbuild b/reactos/base/applications/devmgr/devmgr.rbuild
deleted file mode 100644
index ecc065c50af..00000000000
--- a/reactos/base/applications/devmgr/devmgr.rbuild
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
-
- ntdll
- setupapi
- gdi32
- kernel32
- user32
- comctl32
- advapi32
- devmgr.c
- devmgr.rc
-
diff --git a/reactos/base/applications/devmgr/devmgr.rc b/reactos/base/applications/devmgr/devmgr.rc
deleted file mode 100644
index 0ff0c3f9dd1..00000000000
--- a/reactos/base/applications/devmgr/devmgr.rc
+++ /dev/null
@@ -1,6 +0,0 @@
-/* $Id$ */
-
-#define REACTOS_STR_FILE_DESCRIPTION "ReactOS W32 Device Manager Utility\0"
-#define REACTOS_STR_INTERNAL_NAME "devmgr\0"
-#define REACTOS_STR_ORIGINAL_FILENAME "devmgr.exe\0"
-#include
diff --git a/reactos/base/applications/downloader/download.c b/reactos/base/applications/downloader/download.c
deleted file mode 100644
index f710f5e42ec..00000000000
--- a/reactos/base/applications/downloader/download.c
+++ /dev/null
@@ -1,303 +0,0 @@
-/* PROJECT: ReactOS Downloader (was GetFirefox)
- * LICENSE: GPL - See COPYING in the top level directory
- * FILE: base/applications/downloader/download.c
- * PURPOSE: Displaying a download dialog
- * COPYRIGHT: Copyright 2001 John R. Sheets (for CodeWeavers)
- * Copyright 2004 Mike McCormack (for CodeWeavers)
- * Copyright 2005 Ge van Geldorp (gvg@reactos.org)
- */
-/*
- * Based on Wine dlls/shdocvw/shdocvw_main.c
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#define COBJMACROS
-#define WIN32_NO_STATUS
-#include
-#include
-#include
-#include
-#include
-
-#include "resources.h"
-#include "structures.h"
-
-#define NDEBUG
-#include
-
-extern struct Application* SelectedApplication;
-extern WCHAR Strings [STRING_COUNT][MAX_STRING_LENGHT];
-
-typedef struct _IBindStatusCallbackImpl
- {
- const IBindStatusCallbackVtbl *vtbl;
- LONG ref;
- HWND hDialog;
- BOOL *pbCancelled;
- } IBindStatusCallbackImpl;
-
-static HRESULT WINAPI
-dlQueryInterface(IBindStatusCallback* This, REFIID riid, void** ppvObject)
-{
- if (NULL == ppvObject)
- {
- return E_POINTER;
- }
-
- if (IsEqualIID(riid, &IID_IUnknown) ||
- IsEqualIID(riid, &IID_IBindStatusCallback))
- {
- IBindStatusCallback_AddRef( This );
- *ppvObject = This;
- return S_OK;
- }
-
- return E_NOINTERFACE;
-}
-
-static ULONG WINAPI
-dlAddRef(IBindStatusCallback* iface)
-{
- IBindStatusCallbackImpl *This = (IBindStatusCallbackImpl *) iface;
-
- return InterlockedIncrement(&This->ref);
-}
-
-static ULONG WINAPI
-dlRelease(IBindStatusCallback* iface)
-{
- IBindStatusCallbackImpl *This = (IBindStatusCallbackImpl *) iface;
- DWORD ref = InterlockedDecrement(&This->ref);
-
- if( !ref )
- {
- DestroyWindow( This->hDialog );
- HeapFree(GetProcessHeap(), 0, This);
- }
-
- return ref;
-}
-
-static HRESULT WINAPI
-dlOnStartBinding(IBindStatusCallback* iface, DWORD dwReserved, IBinding* pib)
-{
- DPRINT1("OnStartBinding not implemented\n");
-
- return S_OK;
-}
-
-static HRESULT WINAPI
-dlGetPriority(IBindStatusCallback* iface, LONG* pnPriority)
-{
- DPRINT1("GetPriority not implemented\n");
-
- return S_OK;
-}
-
-static HRESULT WINAPI
-dlOnLowResource( IBindStatusCallback* iface, DWORD reserved)
-{
- DPRINT1("OnLowResource not implemented\n");
-
- return S_OK;
-}
-
-static HRESULT WINAPI
-dlOnProgress(IBindStatusCallback* iface, ULONG ulProgress,
- ULONG ulProgressMax, ULONG ulStatusCode, LPCWSTR szStatusText)
-{
- IBindStatusCallbackImpl *This = (IBindStatusCallbackImpl *) iface;
- HWND Item;
- LONG r;
- WCHAR OldText[100];
-
- Item = GetDlgItem(This->hDialog, IDC_PROGRESS);
- if (NULL != Item && 0 != ulProgressMax)
- {
- SendMessageW(Item, PBM_SETPOS, (ulProgress * 100) / ulProgressMax, 0);
- }
-
- Item = GetDlgItem(This->hDialog, IDC_STATUS);
- if (NULL != Item && NULL != szStatusText)
- {
- SendMessageW(Item, WM_GETTEXT, sizeof(OldText) / sizeof(OldText[0]),
- (LPARAM) OldText);
- if (sizeof(OldText) / sizeof(OldText[0]) - 1 <= wcslen(OldText) ||
- 0 != wcscmp(OldText, szStatusText))
- {
- SendMessageW(Item, WM_SETTEXT, 0, (LPARAM) szStatusText);
- }
- }
-
- SetLastError(0);
- r = GetWindowLongPtrW(This->hDialog, GWLP_USERDATA);
- if (0 != r || 0 != GetLastError())
- {
- *This->pbCancelled = TRUE;
- DPRINT("Cancelled\n");
- return E_ABORT;
- }
-
- return S_OK;
-}
-
-static HRESULT WINAPI
-dlOnStopBinding(IBindStatusCallback* iface, HRESULT hresult, LPCWSTR szError)
-{
- DPRINT1("OnStopBinding not implemented\n");
-
- return S_OK;
-}
-
-static HRESULT WINAPI
-dlGetBindInfo(IBindStatusCallback* iface, DWORD* grfBINDF, BINDINFO* pbindinfo)
-{
- DPRINT1("GetBindInfo not implemented\n");
-
- return S_OK;
-}
-
-static HRESULT WINAPI
-dlOnDataAvailable(IBindStatusCallback* iface, DWORD grfBSCF,
- DWORD dwSize, FORMATETC* pformatetc, STGMEDIUM* pstgmed)
-{
- DPRINT1("OnDataAvailable implemented\n");
-
- return S_OK;
-}
-
-static HRESULT WINAPI
-dlOnObjectAvailable(IBindStatusCallback* iface, REFIID riid, IUnknown* punk)
-{
- DPRINT1("OnObjectAvailable implemented\n");
-
- return S_OK;
-}
-
-static const IBindStatusCallbackVtbl dlVtbl =
-{
- dlQueryInterface,
- dlAddRef,
- dlRelease,
- dlOnStartBinding,
- dlGetPriority,
- dlOnLowResource,
- dlOnProgress,
- dlOnStopBinding,
- dlGetBindInfo,
- dlOnDataAvailable,
- dlOnObjectAvailable
-};
-
-static IBindStatusCallback*
-CreateDl(HWND Dlg, BOOL *pbCancelled)
-{
- IBindStatusCallbackImpl *This;
-
- This = HeapAlloc(GetProcessHeap(), 0, sizeof(IBindStatusCallbackImpl));
- This->vtbl = &dlVtbl;
- This->ref = 1;
- This->hDialog = Dlg;
- This->pbCancelled = pbCancelled;
-
- return (IBindStatusCallback*) This;
-}
-
-static DWORD WINAPI
-ThreadFunc(LPVOID Context)
-{
- //static const WCHAR szUrl[] = DownloadUrl;
- IBindStatusCallback *dl;
- HWND Dlg = ((struct lParamDownload*)Context)->Dlg;
- DWORD r;
- BOOL bCancelled = FALSE;
- dl = CreateDl(Dlg, &bCancelled);
- r = URLDownloadToFileW(NULL, ((struct lParamDownload*)Context)->URL, ((struct lParamDownload*)Context)->File, 0, dl);
- if (NULL != dl)
- {
- IBindStatusCallback_Release(dl);
- }
- if (S_OK != r)
- {
- MessageBoxW(0,Strings[IDS_DOWNLOAD_ERROR],0,0);
- }
- EndDialog(Dlg, 0);
- return 0;
-}
-
-INT_PTR CALLBACK
-DownloadProc(HWND Dlg, UINT Msg, WPARAM wParam, LPARAM lParam)
-{
- HANDLE Thread;
- DWORD ThreadId;
- HWND Item;;
-
- switch (Msg)
- {
- case WM_INITDIALOG:/*
- Icon = LoadIconW((HINSTANCE) GetWindowLongPtr(Dlg, GWLP_HINSTANCE),
- MAKEINTRESOURCEW(IDI_ICON_MAIN));
- if (NULL != Icon)
- {
- SendMessageW(Dlg, WM_SETICON, ICON_BIG, (LPARAM) Icon);
- SendMessageW(Dlg, WM_SETICON, ICON_SMALL, (LPARAM) Icon);
- }*/
- SetWindowLongPtrW(Dlg, GWLP_USERDATA, 0);
- Item = GetDlgItem(Dlg, IDC_PROGRESS);
- if (NULL != Item)
- {
- SendMessageW(Item, PBM_SETRANGE, 0, MAKELPARAM(0,100));
- SendMessageW(Item, PBM_SETPOS, 0, 0);
- }/*
- Item = GetDlgItem(Dlg, IDC_REMOVE);
- if (NULL != Item)
- {
- if (GetShortcutName(ShortcutName) &&
- INVALID_FILE_ATTRIBUTES != GetFileAttributesW(ShortcutName))
- {
- SendMessageW(Item, BM_SETCHECK, BST_CHECKED, 0);
- }
- else
- {
- SendMessageW(Item, BM_SETCHECK, BST_UNCHECKED, 0);
- ShowWindow(Item, SW_HIDE);
- }
- }*/
- ((struct lParamDownload*)lParam)->Dlg = Dlg;
- Thread = CreateThread(NULL, 0, ThreadFunc, (LPVOID)lParam, 0, &ThreadId);
- if (NULL == Thread)
- {
- return FALSE;
- }
- CloseHandle(Thread);
- return TRUE;
-
- case WM_COMMAND:
- if (wParam == IDCANCEL)
- {
- SetWindowLongPtrW(Dlg, GWLP_USERDATA, 1);
- PostMessage(Dlg, WM_CLOSE, 0, 0);
- }
- return FALSE;
-
- case WM_CLOSE:
- EndDialog(Dlg, 0);
- return TRUE;
-
- default:
- return FALSE;
- }
-}
diff --git a/reactos/base/applications/downloader/downloader.rbuild b/reactos/base/applications/downloader/downloader.rbuild
deleted file mode 100644
index 4665d5350dd..00000000000
--- a/reactos/base/applications/downloader/downloader.rbuild
+++ /dev/null
@@ -1,34 +0,0 @@
-
-
-
-
-
-
- .
- .
-
-
-
-
- 0x0501
-
-
-#include "rsrc.rc"
diff --git a/reactos/base/applications/downloader/main.c b/reactos/base/applications/downloader/main.c
deleted file mode 100644
index 6f812ee102f..00000000000
--- a/reactos/base/applications/downloader/main.c
+++ /dev/null
@@ -1,538 +0,0 @@
-/* PROJECT: ReactOS Downloader
- * LICENSE: GPL - See COPYING in the top level directory
- * FILE: base/applications/downloader/xml.c
- * PURPOSE: Main program
- * PROGRAMMERS: Maarten Bosma, Lester Kortenhoeven
- */
-
-#include
-#include
-#include
-#include
-#include
-#include
-#include "resources.h"
-#include "structures.h"
-
-#define XML_PATH "tree.xml"
-
-HWND hwnd, hCategories, hApps, hDownloadButton, hUninstallButton, hUpdateButton, hHelpButton;
-HBITMAP hLogo, hUnderline;
-CHAR* CmdLine;
-WCHAR* DescriptionHeadline = L"";
-WCHAR* DescriptionText = L"";
-WCHAR ApplicationText[0xA04]; // MAX_STRING_LENGHT + Version + \n + MAX_STRING_LENGHT + Licence + \n + MAX_STRING_LENGHT + Maintainer + \n\n + Description
- // 0x100 + 0x100 + 1 + 0x100 + 0x100 + 1 + 0x100 + 0x100 + 2 + 0x400 = 0xA04
-struct Category Root;
-struct Application* SelectedApplication;
-
-INT_PTR CALLBACK DownloadProc (HWND, UINT, WPARAM, LPARAM);
-DWORD WINAPI InstallThreadFunc(LPVOID);
-DWORD WINAPI UninstallThreadFunc(LPVOID);
-BOOL ProcessXML (const char* filename, struct Category* Root);
-char* addDML (const char*);
-VOID FreeTree (struct Category* Node);
-WCHAR Strings [STRING_COUNT][MAX_STRING_LENGHT];
-
-BOOL getUninstaller(struct Application* CurrentApplication, WCHAR* Uninstaller) {
-
- DWORD ArraySize = 0x100;
-
- HKEY hKey1;
- HKEY hKey2;
- DWORD Type = 0;
- WCHAR Value[ArraySize];
- WCHAR KeyName[ArraySize];
- DWORD Size = ArraySize;
- LONG i = 0;
-
- if (CurrentApplication->RegName[0] == L'\0') {
- return FALSE;
- }
-
- if (RegOpenKeyExW(HKEY_LOCAL_MACHINE,L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall",0,KEY_READ,&hKey1) == ERROR_SUCCESS) {
- if (RegOpenKeyExW(hKey1,CurrentApplication->RegName,0,KEY_READ,&hKey2) == ERROR_SUCCESS) {
- if (RegQueryValueExW(hKey2,L"UninstallString",0,&Type,(LPBYTE)Uninstaller,&Size) == ERROR_SUCCESS) {
- RegCloseKey(hKey2);
- RegCloseKey(hKey1);
- return TRUE;
- } else {
- RegCloseKey(hKey2);
- RegCloseKey(hKey1);
- return FALSE;
- }
- }
- while (RegEnumKeyExW(hKey1,i,KeyName,&Size,NULL,NULL,NULL,NULL) == ERROR_SUCCESS) {
- ++i;
- RegOpenKeyExW(hKey1,KeyName,0,KEY_READ,&hKey2);
- Size = sizeof(Value);
- if (RegQueryValueExW(hKey2,L"DisplayName",0,&Type,(LPBYTE)Value,&Size) == ERROR_SUCCESS) {
- Size = ArraySize;
- if (!wcscmp(Value,CurrentApplication->RegName)) {
- if (RegQueryValueExW(hKey2,L"UninstallString",0,&Type,(LPBYTE)Uninstaller,&Size) == ERROR_SUCCESS) {
- RegCloseKey(hKey2);
- RegCloseKey(hKey1);
- return TRUE;
- } else {
- RegCloseKey(hKey2);
- RegCloseKey(hKey1);
- return FALSE;
- }
- }
- }
- RegCloseKey(hKey2);
- Size = ArraySize;
- }
- RegCloseKey(hKey1);
- }
- return FALSE;
-}
-
-void ShowMessage (WCHAR* title, WCHAR* message)
-{
- DescriptionHeadline = title;
- DescriptionText = message;
- InvalidateRect(hwnd,NULL,TRUE);
- UpdateWindow(hwnd);
-}
-
-void AddItems (HWND hwnd, struct Category* Category, struct Category* Parent)
-{
- TV_INSERTSTRUCTW Insert;
-
- Insert.item.lParam = (UINT)Category;
- Insert.item.mask = TVIF_TEXT|TVIF_PARAM|TVIF_IMAGE|TVIF_SELECTEDIMAGE;;
- Insert.item.pszText = Category->Name;
- Insert.item.cchTextMax = lstrlenW(Category->Name);
- Insert.item.iImage = Category->Icon;
- Insert.item.iSelectedImage = Category->Icon;
- Insert.hInsertAfter = TVI_LAST;
- Insert.hParent = Category->Parent ? Category->Parent->TreeviewItem : TVI_ROOT;
-
- Category->TreeviewItem = (HTREEITEM)SendMessage(hwnd, TVM_INSERTITEM, 0, (LPARAM)&Insert);
-
- if(Category->Next)
- AddItems (hwnd,Category->Next,Parent);
-
- if(Category->Children)
- AddItems (hwnd,Category->Children,Category);
-}
-
-void CategoryChoosen (HWND hwnd, struct Category* Category)
-{
- struct Application* CurrentApplication;
- TV_INSERTSTRUCTW Insert;
- SelectedApplication = NULL;
-
- if(Category->Children && !Category->Apps)
- ShowMessage(Category->Name, Strings[IDS_CHOOSE_SUB]);
- else if(!Category->Children && Category->Apps)
- ShowMessage(Category->Name, Strings[IDS_CHOOSE_APP]);
- else if(Category->Children && Category->Apps)
- ShowMessage(Category->Name, Strings[IDS_CHOOSE_BOTH]);
- else
- ShowMessage(Category->Name, Strings[IDS_NO_APPS]);
-
- (void)TreeView_DeleteItem(hwnd, TVI_ROOT);
- (void)TreeView_DeleteItem(hwnd, TVI_ROOT); // Delete twice to bypass bug in windows
-
- Insert.item.mask = TVIF_TEXT|TVIF_PARAM|TVIF_IMAGE;
- Insert.hInsertAfter = TVI_LAST;
- Insert.hParent = TVI_ROOT;
-
- CurrentApplication = Category->Apps;
-
- while(CurrentApplication)
- {
- Insert.item.lParam = (UINT)CurrentApplication;
- Insert.item.pszText = CurrentApplication->Name;
- Insert.item.cchTextMax = lstrlenW(CurrentApplication->Name);
- if(getUninstaller(CurrentApplication, NULL)) {
- Insert.item.iImage = 9;
- } else {
- Insert.item.iImage = 10;
- }
- SendMessage(hwnd, TVM_INSERTITEM, 0, (LPARAM)&Insert);
- CurrentApplication = CurrentApplication->Next;
- }
-}
-
-BOOL SetupControls (HWND hwnd)
-{
- TV_INSERTSTRUCTW Insert = {0};
- HIMAGELIST hImageList;
- HINSTANCE hInstance = GetModuleHandle(NULL);
-
- // Parse the XML file
- if (ProcessXML (XML_PATH, &Root) == FALSE)
- return FALSE;
-
- // Set up the controls
- hCategories = CreateWindowExW(0, WC_TREEVIEWW, L"Categories", WS_CHILD|WS_VISIBLE|WS_BORDER|TVS_HASLINES|TVS_LINESATROOT|TVS_HASBUTTONS|TVS_SHOWSELALWAYS,
- 0, 0, 0, 0, hwnd, NULL, hInstance, NULL);
-
- hApps = CreateWindowExW(0, WC_TREEVIEWW, L"Applications", WS_CHILD|WS_VISIBLE|WS_BORDER|TVS_HASLINES|TVS_LINESATROOT|TVS_HASBUTTONS|TVS_SHOWSELALWAYS,
- 0, 0, 0, 0, hwnd, NULL, hInstance, NULL);
-
- hLogo = LoadBitmap(GetModuleHandle(NULL), MAKEINTRESOURCE(IDB_LOGO));
- hUnderline = LoadBitmap(GetModuleHandle(NULL), MAKEINTRESOURCE(IDB_UNDERLINE));
-
- hHelpButton = CreateWindowW (L"Button", L"", WS_CHILD|WS_VISIBLE|BS_BITMAP, 550, 10, 40, 40, hwnd, 0, hInstance, NULL);
- hUpdateButton = CreateWindowW (L"Button", L"", WS_CHILD|WS_VISIBLE|BS_BITMAP, 500, 10, 40, 40, hwnd, 0, hInstance, NULL);
- hDownloadButton = CreateWindowW (L"Button", L"", WS_CHILD|WS_VISIBLE|BS_BITMAP, 330, 505, 140, 35, hwnd, 0, hInstance, NULL);
- hUninstallButton = CreateWindowW (L"Button", L"", WS_CHILD|WS_VISIBLE|BS_BITMAP, 260, 505, 140, 35, hwnd, 0, hInstance, NULL);
-
- SendMessageW(hHelpButton, BM_SETIMAGE, (WPARAM)IMAGE_BITMAP, (LPARAM)(HANDLE)LoadBitmap(hInstance, MAKEINTRESOURCE(IDB_HELP)));
- SendMessageW(hUpdateButton, BM_SETIMAGE, (WPARAM)IMAGE_BITMAP,(LPARAM)(HANDLE)LoadBitmap(hInstance, MAKEINTRESOURCE(IDB_UPDATE)));
- SendMessageW(hDownloadButton, BM_SETIMAGE, (WPARAM)IMAGE_BITMAP,(LPARAM)(HANDLE)LoadBitmap(hInstance, MAKEINTRESOURCE(IDB_DOWNLOAD)));
- SendMessageW(hUninstallButton, BM_SETIMAGE, (WPARAM)IMAGE_BITMAP,(LPARAM)(HANDLE)LoadBitmap(hInstance, MAKEINTRESOURCE(IDB_UNINSTALL)));
- ShowWindow(hUninstallButton, SW_HIDE);
-
- // Set deflaut entry for hApps
- Insert.item.mask = TVIF_TEXT|TVIF_IMAGE;
- Insert.item.pszText = Strings[IDS_CHOOSE_CATEGORY];
- Insert.item.cchTextMax = lstrlenW(Strings[IDS_CHOOSE_CATEGORY]);
- Insert.item.iImage = 0;
- SendMessage(hApps, TVM_INSERTITEM, 0, (LPARAM)&Insert);
-
- // Create Tree Icons
- hImageList = ImageList_Create(16, 16, ILC_COLORDDB, 1, 1);
- SendMessageW(hCategories, TVM_SETIMAGELIST, TVSIL_NORMAL, (LPARAM)(HIMAGELIST)hImageList);
- SendMessageW(hApps, TVM_SETIMAGELIST, TVSIL_NORMAL, (LPARAM)(HIMAGELIST)hImageList);
-
- ImageList_Add(hImageList, LoadBitmap(hInstance, MAKEINTRESOURCE(IDB_TREEVIEW_ICON_0)), NULL);
- ImageList_Add(hImageList, LoadBitmap(hInstance, MAKEINTRESOURCE(IDB_TREEVIEW_ICON_1)), NULL);
- ImageList_Add(hImageList, LoadBitmap(hInstance, MAKEINTRESOURCE(IDB_TREEVIEW_ICON_2)), NULL);
- ImageList_Add(hImageList, LoadBitmap(hInstance, MAKEINTRESOURCE(IDB_TREEVIEW_ICON_3)), NULL);
- ImageList_Add(hImageList, LoadBitmap(hInstance, MAKEINTRESOURCE(IDB_TREEVIEW_ICON_4)), NULL);
- ImageList_Add(hImageList, LoadBitmap(hInstance, MAKEINTRESOURCE(IDB_TREEVIEW_ICON_5)), NULL);
- ImageList_Add(hImageList, LoadBitmap(hInstance, MAKEINTRESOURCE(IDB_TREEVIEW_ICON_6)), NULL);
- ImageList_Add(hImageList, LoadBitmap(hInstance, MAKEINTRESOURCE(IDB_TREEVIEW_ICON_7)), NULL);
- ImageList_Add(hImageList, LoadBitmap(hInstance, MAKEINTRESOURCE(IDB_TREEVIEW_ICON_8)), NULL);
- ImageList_Add(hImageList, LoadBitmap(hInstance, MAKEINTRESOURCE(IDB_TREEVIEW_ICON_9)), NULL);
- ImageList_Add(hImageList, LoadBitmap(hInstance, MAKEINTRESOURCE(IDB_TREEVIEW_ICON_10)), NULL);
-
- // Fill the TreeViews
- AddItems (hCategories, Root.Children, NULL);
-
- return TRUE;
-}
-
-static void ResizeControl (HWND hwnd, int x1, int y1, int x2, int y2)
-{
- // Make resizing a little easier
- MoveWindow(hwnd, x1, y1, x2-x1, y2-y1, TRUE);
-}
-
-static void DrawBitmap (HDC hdc, int x, int y, HBITMAP hBmp)
-{
- BITMAP bm;
- HDC hdcMem = CreateCompatibleDC(hdc);
-
- SelectObject(hdcMem, hBmp);
- GetObject(hBmp, sizeof(bm), &bm);
- TransparentBlt(hdc, x, y, bm.bmWidth, bm.bmHeight, hdcMem, 0, 0, bm.bmWidth, bm.bmHeight, 0xFFFFFF);
-
- DeleteDC(hdcMem);
-}
-
-static void DrawDescription (HDC hdc, RECT DescriptionRect)
-{
- int i;
- HFONT Font;
- RECT Rect = {DescriptionRect.left+5, DescriptionRect.top+3, DescriptionRect.right-2, DescriptionRect.top+22};
-
- // Backgroud
- Rectangle(hdc, DescriptionRect.left, DescriptionRect.top, DescriptionRect.right, DescriptionRect.bottom);
-
- // Underline
- for (i=DescriptionRect.left+1;iChildren)
- searchApp(AppName, Node->Children);
- if (Node->Next)
- searchApp(AppName, Node->Next);
- CurrentApplication = Node->Apps;
- while((SelectedApplication == NULL) && (CurrentApplication != NULL)) {
- if(wcscmp(CurrentApplication->Name,AppName)==0)
- SelectedApplication = CurrentApplication;
- CurrentApplication = CurrentApplication->Next;
- }
-}
-
-void ShowSelectedApplication() {
- ApplicationText[0]=L'\0';
- if(SelectedApplication->Version[0] != L'\0') {
- StrCatW(ApplicationText, Strings[IDS_VERSION]);
- StrCatW(ApplicationText, SelectedApplication->Version);
- StrCatW(ApplicationText, L"\n");
- }
- if(SelectedApplication->Licence[0] != L'\0') {
- StrCatW(ApplicationText, Strings[IDS_LICENCE]);
- StrCatW(ApplicationText, SelectedApplication->Licence);
- StrCatW(ApplicationText, L"\n");
- }
- if(SelectedApplication->Maintainer[0] != L'\0') {
- StrCatW(ApplicationText, Strings[IDS_MAINTAINER]);
- StrCatW(ApplicationText, SelectedApplication->Maintainer);
- StrCatW(ApplicationText, L"\n");
- }
- if((SelectedApplication->Licence[0] != L'\0') || (SelectedApplication->Version[0] != L'\0') || (SelectedApplication->Maintainer[0] != L'\0'))
- StrCatW(ApplicationText, L"\n");
- StrCatW(ApplicationText, SelectedApplication->Description);
- ShowMessage(SelectedApplication->Name, ApplicationText);
-}
-
-LRESULT CALLBACK WndProc (HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam)
-{
- static RECT DescriptionRect;
-
- switch (Message)
- {
- case WM_CREATE:
- {
- WCHAR wAppName[0x100] = L"";
- if (strncmp(CmdLine,"add ",4)==0) {
- CmdLine = CmdLine+4;
- if(CmdLine[0]==L'\"') {
- CmdLine++;
- CmdLine[strlen(CmdLine)-1]=L'\0';
- }
- char* aAppName = addDML(CmdLine);
- MultiByteToWideChar(CP_UTF8, 0, aAppName, -1, wAppName, 0x100);
- } else if (strncmp(CmdLine,"show ",5)==0) {
- MultiByteToWideChar(CP_UTF8, 0, CmdLine+5, -1, wAppName, 0x100);
- }
-
- if(!SetupControls(hwnd))
- return -1;
-
- if(wAppName[0]!=L'\0')
- searchApp(wAppName, &Root);
-
- if(SelectedApplication == NULL) {
- ShowMessage(Strings[IDS_WELCOME_TITLE], Strings[IDS_WELCOME]);
- } else {
- ShowSelectedApplication();
- if(getUninstaller(SelectedApplication, NULL))
- showUninstaller();
- else
- hideUninstaller();
- }
- }
- break;
-
- case WM_PAINT:
- {
- PAINTSTRUCT ps;
- HDC hdc = BeginPaint(hwnd, &ps);
- HDC BackbufferHdc = CreateCompatibleDC(hdc);
- HBITMAP BackbufferBmp = CreateCompatibleBitmap(hdc, ps.rcPaint.right, ps.rcPaint.bottom);
- SelectObject(BackbufferHdc, BackbufferBmp);
-
- FillRect(BackbufferHdc, &ps.rcPaint, CreateSolidBrush(RGB(235,235,235)));
- DrawBitmap(BackbufferHdc, 10, 12, hLogo);
- DrawDescription(BackbufferHdc, DescriptionRect);
-
- BitBlt(hdc, 0, 0, ps.rcPaint.right, ps.rcPaint.bottom, BackbufferHdc, 0, 0, SRCCOPY);
- DeleteObject(BackbufferBmp);
- DeleteDC(BackbufferHdc);
- EndPaint(hwnd, &ps);
- }
- break;
-
- case WM_COMMAND:
- {
- if(HIWORD(wParam) == BN_CLICKED)
- {
- if (lParam == (LPARAM)hDownloadButton)
- {
- if(SelectedApplication) {
- DWORD ThreadId;
- CreateThread(NULL, 0, InstallThreadFunc, SelectedApplication, 0, &ThreadId);
- } else
- ShowMessage(Strings[IDS_NO_APP_TITLE], Strings[IDS_NO_APP]);
- }
- else if (lParam == (LPARAM)hUninstallButton)
- {
- if(SelectedApplication) {
- DWORD ThreadId;
- CreateThread(NULL, 0, UninstallThreadFunc, SelectedApplication, 0, &ThreadId);
- hideUninstaller();
- } else
- ShowMessage(Strings[IDS_NO_APP_TITLE], Strings[IDS_NO_APP]);
- }
- else if (lParam == (LPARAM)hUpdateButton)
- {
- ShowMessage(Strings[IDS_UPDATE_TITLE], Strings[IDS_UPDATE]);
- }
- else if (lParam == (LPARAM)hHelpButton)
- {
- ShowMessage(Strings[IDS_HELP_TITLE], Strings[IDS_HELP]);
- }
- }
- }
- break;
-
- case WM_NOTIFY:
- {
- LPNMHDR data = (LPNMHDR)lParam;
- if(data->code == TVN_SELCHANGED)
- {
- BOOL bShowUninstaller = FALSE;
- if(data->hwndFrom == hCategories)
- {
- struct Category* Category = (struct Category*) ((LPNMTREEVIEW)lParam)->itemNew.lParam;
- CategoryChoosen (hApps, Category);
- }
- else if(data->hwndFrom == hApps)
- {
- SelectedApplication = (struct Application*) ((LPNMTREEVIEW)lParam)->itemNew.lParam;
- if(SelectedApplication)
- {
- ShowSelectedApplication();
- if(getUninstaller(SelectedApplication, NULL)) {
- bShowUninstaller = TRUE;
- }
- }
- }
- if (bShowUninstaller)
- showUninstaller();
- else
- hideUninstaller();
- }
- }
- break;
-
- case WM_SIZING:
- {
- LPRECT pRect = (LPRECT)lParam;
- if (pRect->right-pRect->left < 520)
- pRect->right = pRect->left + 520;
-
- if (pRect->bottom-pRect->top < 300)
- pRect->bottom = pRect->top + 300;
- }
- break;
-
- case WM_SIZE:
- {
- int Split_Hozizontal = (HIWORD(lParam)-(45+60))/2 + 60;
- int Split_Vertical = 200;
-
- ResizeControl(hCategories, 10, 60, Split_Vertical, HIWORD(lParam)-10);
- ResizeControl(hApps, Split_Vertical+5, 60, LOWORD(lParam)-10, Split_Hozizontal);
- RECT Rect = {Split_Vertical+5, Split_Hozizontal+5, LOWORD(lParam)-10, HIWORD(lParam)-50};
- DescriptionRect = Rect;
-
- MoveWindow(hHelpButton, LOWORD(lParam)-50, 10, 40, 40, TRUE);
- MoveWindow(hUpdateButton, LOWORD(lParam)-100, 10, 40, 40, TRUE);
- if(IsWindowVisible(hUninstallButton))
- MoveWindow(hDownloadButton, (Split_Vertical+LOWORD(lParam))/2, HIWORD(lParam)-45, 140, 35, TRUE);
- else
- MoveWindow(hDownloadButton, (Split_Vertical+LOWORD(lParam))/2-70, HIWORD(lParam)-45, 140, 35, TRUE);
- MoveWindow(hUninstallButton, (Split_Vertical+LOWORD(lParam))/2-140, HIWORD(lParam)-45, 140, 35, TRUE);
- }
- break;
-
- case WM_DESTROY:
- {
- DeleteObject(hLogo);
- if(Root.Children)
- FreeTree(Root.Children);
- PostQuitMessage(0);
- return 0;
- }
- break;
- }
-
- return DefWindowProc (hwnd, Message, wParam, lParam);
-}
-
-INT WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInst,
- LPSTR lpCmdLine, INT nCmdShow)
-{
- int i;
- WNDCLASSEXW WndClass = {0};
- MSG msg;
-
- InitCommonControls();
- CmdLine = lpCmdLine;
-
- // Load strings
- for(i=0; i
-
-firefox1509.dml
-firefox2001.dml
diff --git a/reactos/base/applications/downloader/packagetree/internet/browser/firefox1509.dml b/reactos/base/applications/downloader/packagetree/internet/browser/firefox1509.dml
deleted file mode 100644
index 3f077451653..00000000000
--- a/reactos/base/applications/downloader/packagetree/internet/browser/firefox1509.dml
+++ /dev/null
@@ -1,7 +0,0 @@
-
- Mozilla Firefox (1.5)
- MPL/GPL/LGPL
- 1.5.0.9
- The most popular and one of the best free WebBrowsers out there.
- http://ftp-mozilla.netscape.com/pub/mozilla.org/firefox/releases/1.5.0.9/win32/en-US/Firefox%20Setup%201.5.0.9.exe
-
\ No newline at end of file
diff --git a/reactos/base/applications/downloader/packagetree/internet/browser/firefox2001.dml b/reactos/base/applications/downloader/packagetree/internet/browser/firefox2001.dml
deleted file mode 100644
index 4e1d9e4e92f..00000000000
--- a/reactos/base/applications/downloader/packagetree/internet/browser/firefox2001.dml
+++ /dev/null
@@ -1,7 +0,0 @@
-
- Mozilla Firefox (2.0.0.1)
- MPL/GPL/LGPL
- 2.0.0.1
- The most popular and one of the best free WebBrowsers out there.
- http://ftp-mozilla.netscape.com/pub/mozilla.org/firefox/releases/latest/win32/en-US/Firefox%20Setup%202.0.0.1.exe
-
\ No newline at end of file
diff --git a/reactos/base/applications/downloader/packagetree/internet/category.xml b/reactos/base/applications/downloader/packagetree/internet/category.xml
deleted file mode 100644
index dcf2b42a9b6..00000000000
--- a/reactos/base/applications/downloader/packagetree/internet/category.xml
+++ /dev/null
@@ -1,54 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
- Mozilla Thunderbird (1.5)
- MPL/GPL/LGPL
- 1.5.0.9
- The most popular and one of the best free MailClients out there.
- http://ftp-mozilla.netscape.com/pub/mozilla.org/thunderbird/releases/latest/win32/en-US/Thunderbird%20Setup%201.5.0.9.exe
-
-
- SeaMonkey (1.0.7)
- 1.0.7
- Mozilla Suite is alive. This is the one and only Browser, Mail, Chat, Composer bundle you will ever need.
- http://ftp-mozilla.netscape.com/pub/mozilla.org/seamonkey/releases/1.0.7/seamonkey-1.0.7.en-US.win32.installer.exe
-
-
- Mozilla ActiveX Control v1.7.12 (ReactOS special)
- 1.7.12
- Essential Component to get ReactOS Explorer's and other application's Internet Browsing feature running.
- http://ovh.dl.sourceforge.net/sourceforge/reactos/MozillaControl1712-ReactOS.exe
-
-
- The Off By One Web Browser
- The Off By One Browser is a very small and fast web browser with full HTML 3.2 support.
- http://offbyone.com/offbyone/images/OffByOneSetup.exe
-
-
- This tool allows you to access your Windows shared folders/printers with ReactOS.
- http://svn.reactos.org/packages/samba-tng.exe
-
-
- Miranda IM
- 0.5.1
- Open source multiprotocol instant messaging application - May not work completely.
- http://ovh.dl.sourceforge.net/sourceforge/miranda/miranda-im-v0.5.1-unicode.exe
-
-
- PuTTY version 0.59
- MIT
- 0.59
- A free SSH, Telnet, rlogin, and raw TCP client.
- http://the.earth.li/~sgtatham/putty/latest/x86/putty-0.59-installer.exe
-
-
\ No newline at end of file
diff --git a/reactos/base/applications/downloader/packagetree/internet/internet.rbuild b/reactos/base/applications/downloader/packagetree/internet/internet.rbuild
deleted file mode 100644
index 7b7ab54e582..00000000000
--- a/reactos/base/applications/downloader/packagetree/internet/internet.rbuild
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-category.xml
diff --git a/reactos/base/applications/downloader/packagetree/packagetree.rbuild b/reactos/base/applications/downloader/packagetree/packagetree.rbuild
deleted file mode 100644
index 01d7036e57f..00000000000
--- a/reactos/base/applications/downloader/packagetree/packagetree.rbuild
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-tree.xml
diff --git a/reactos/base/applications/downloader/packagetree/script/default_install.xml b/reactos/base/applications/downloader/packagetree/script/default_install.xml
deleted file mode 100644
index c26a300a57f..00000000000
--- a/reactos/base/applications/downloader/packagetree/script/default_install.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
\ No newline at end of file
diff --git a/reactos/base/applications/downloader/packagetree/script/default_uninstall.xml b/reactos/base/applications/downloader/packagetree/script/default_uninstall.xml
deleted file mode 100644
index 0f4c05c56ce..00000000000
--- a/reactos/base/applications/downloader/packagetree/script/default_uninstall.xml
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/reactos/base/applications/downloader/packagetree/script/script.rbuild b/reactos/base/applications/downloader/packagetree/script/script.rbuild
deleted file mode 100644
index 9230d0fbc4e..00000000000
--- a/reactos/base/applications/downloader/packagetree/script/script.rbuild
+++ /dev/null
@@ -1,3 +0,0 @@
-
-default_install.xml
-default_uninstall.xml
diff --git a/reactos/base/applications/downloader/packagetree/tree.xml b/reactos/base/applications/downloader/packagetree/tree.xml
deleted file mode 100644
index 9ce014fd9a3..00000000000
--- a/reactos/base/applications/downloader/packagetree/tree.xml
+++ /dev/null
@@ -1,142 +0,0 @@
-
-
-
-
- "AbiWord 2.4.1 (remove only)"
- 2.4.1
- Word processor.
- http://www.abiword.org/downloads/abiword/2.4.1/Windows/abiword-setup-2.4.1.exe
-
-
- OpenOffice.org 2.1
- 2.1.0
- THE Open Source Office Suite.
- http://ftp.tu-chemnitz.de/pub/openoffice-extended//stable/2.1.0/OOo_2.1.0_Win32Intel_install_en-US.exe
-
-
-
-
- IrfanView (remove only)
- 3.99
- Viewer for all kinds of graphics/audio files/video files.
- http://gd.tuwien.ac.at/graphics/irfanview/iview399.exe
-
-
- 3.99
- Additional Plugins for supporting more file types.
- http://irfanview.tuwien.ac.at/plugins/irfanview_plugins_399.exe
-
-
- Tux Paint 0.9.16
- 0.9.16
- An open source bitmap graphics editor geared towards young children.
- http://ovh.dl.sourceforge.net/sourceforge/tuxpaint/tuxpaint-0.9.16-win32-installer.exe
-
-
-
-
-
-
- ReactOS Build Environment 0.3.4
- 0.3.4
- Allows you to build the ReactOS Source. For more instructions see ReactOS wiki.
- http://ovh.dl.sourceforge.net/sourceforge/reactos/RosBE-0.3.4.exe
-
-
- MinGW 5.1.3
- 5.1.3
- A Port of the GNU toolchain with GCC, GDB, GNU make, etc.
- http://puzzle.dl.sourceforge.net/sourceforge/mingw/MinGW-5.1.3.exe
-
-
- FreeBASIC 0.16b
- 0.16b
- Open Source Basic Compiler. The Basic syntax is compatible to QBASIC.
- http://switch.dl.sourceforge.net/sourceforge/fbc/FreeBASIC-v0.16b-win32.exe
-
-
-
-
- ScummVM 0.9.1
- 0.9.1
- SamNMax, Day of Tentacle, etc on ReactOS
- http://ovh.dl.sourceforge.net/sourceforge/scummvm/scummvm-0.9.1-win32.exe
-
-
- Nice Clone of Chip's Challenge originally made for the Atari Lynx. Includes free CCLP2 Graphics Pack, so you dont need the copyrighted Original.
- http://www.muppetlabs.com/~breadbox/pub/software/tworld/tworld-1.3.0-win32-CCLP2.exe
-
-
- OpenTTD 0.5.0
- 0.5.0-RC5
- Open-source-clone of the "Transport Tycoon Deluxe" game-engine. You need a copy of Transport Tycoon.
- http://ovh.dl.sourceforge.net/sourceforge/openttd/openttd-0.5.0-RC5-win32.exe
-
- LBreakout2 2.4.1
- LBreakout2 2.4.1
- 2.4.1
- Breakout Clone using SDL libs.
- http://switch.dl.sourceforge.net/sourceforge/lgames/lbreakout2-2.4.1-win32.exe
-
-
- LGeneral 1.1
- 1.1
- Panzer General Clone using SDL libs.
- http://kent.dl.sourceforge.net/sourceforge/lgames/lgeneral-1.1-win32.exe
-
-
- LMarbles 1.0.6
- 1.0.6
- Atomix Clone using SDL libs.
- http://heanet.dl.sourceforge.net/sourceforge/lgames/lmarbles-1.0.6-win32.exe
-
-
-
-
- 7-Zip 4.42
- 4.42
- Utility to create and open 7zip, zip, tar, rar and other archive files.
- http://ovh.dl.sourceforge.net/sourceforge/sevenzip/7z442.exe
-
-
- uTorrent
- 1.6
- Small and fast Torrent Client.
- http://download.utorrent.com/1.6/uTorrent-1.6-install.exe
-
-
- Audiograbber 1.83 SE
- 1.83 SE
- A very good CD Ripper/Audio File Converter.
- http://www.audiograbber.de/files/342677432/agsetup183se.exe
-
-
-
-
- SDL Runtime
- 1.2.11
- Needed for many Open Source Games to run. You need 7-Zip or a similar Utility to extract it.
- http://ovh.dl.sourceforge.net/sourceforge/libsdl/SDL-1.2.11-win32.zip
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0.65
- DOSBox is a DOS emulator.
- http://puzzle.dl.sourceforge.net/sourceforge/dosbox/DOSBox0.65-win32-installer.exe
-
-
-
diff --git a/reactos/base/applications/downloader/resources.h b/reactos/base/applications/downloader/resources.h
deleted file mode 100644
index 875777f62fd..00000000000
--- a/reactos/base/applications/downloader/resources.h
+++ /dev/null
@@ -1,48 +0,0 @@
-
-#define IDI_MAIN 0x0
-#define IDB_UNDERLINE 0x100
-#define IDB_LOGO 0x101
-#define IDB_HELP 0x102
-#define IDB_UPDATE 0x103
-#define IDB_DOWNLOAD 0x104
-#define IDB_UNINSTALL 0x105
-#define IDB_TREEVIEW_ICON_0 0x900
-#define IDB_TREEVIEW_ICON_1 0x901
-#define IDB_TREEVIEW_ICON_2 0x902
-#define IDB_TREEVIEW_ICON_3 0x903
-#define IDB_TREEVIEW_ICON_4 0x904
-#define IDB_TREEVIEW_ICON_5 0x905
-#define IDB_TREEVIEW_ICON_6 0x906
-#define IDB_TREEVIEW_ICON_7 0x907
-#define IDB_TREEVIEW_ICON_8 0x908
-#define IDB_TREEVIEW_ICON_9 0x909
-#define IDB_TREEVIEW_ICON_10 0x910
-#define IDD_DOWNLOAD 0x100
-#define IDC_PROGRESS 0x1000
-#define IDC_STATUS 0x1001
-#define IDC_REMOVE 0x1002
-
-#define IDS_WINDOW_TITLE 0
-#define IDS_WELCOME_TITLE 1
-#define IDS_WELCOME 2
-#define IDS_NO_APP_TITLE 3
-#define IDS_NO_APP 4
-#define IDS_UPDATE_TITLE 5
-#define IDS_UPDATE 6
-#define IDS_HELP_TITLE 7
-#define IDS_HELP 8
-#define IDS_NO_APPS 9
-#define IDS_CHOOSE_APP 10
-#define IDS_CHOOSE_SUB 11
-#define IDS_CHOOSE_CATEGORY 12
-#define IDS_CHOOSE_BOTH 13
-#define IDS_XMLERROR_1 14
-#define IDS_XMLERROR_2 15
-#define IDS_DOWNLOAD_ERROR 16
-#define IDS_UNZIP_ERROR 17
-#define IDS_VERSION 18
-#define IDS_LICENCE 19
-#define IDS_MAINTAINER 20
-
-#define STRING_COUNT 21
-#define MAX_STRING_LENGHT 0x100
diff --git a/reactos/base/applications/downloader/resources/0.bmp b/reactos/base/applications/downloader/resources/0.bmp
deleted file mode 100644
index e31ccefe737..00000000000
Binary files a/reactos/base/applications/downloader/resources/0.bmp and /dev/null differ
diff --git a/reactos/base/applications/downloader/resources/1.bmp b/reactos/base/applications/downloader/resources/1.bmp
deleted file mode 100644
index b5d584bf206..00000000000
Binary files a/reactos/base/applications/downloader/resources/1.bmp and /dev/null differ
diff --git a/reactos/base/applications/downloader/resources/10.bmp b/reactos/base/applications/downloader/resources/10.bmp
deleted file mode 100644
index d0825e8fb79..00000000000
Binary files a/reactos/base/applications/downloader/resources/10.bmp and /dev/null differ
diff --git a/reactos/base/applications/downloader/resources/2.bmp b/reactos/base/applications/downloader/resources/2.bmp
deleted file mode 100644
index e59ab5e984a..00000000000
Binary files a/reactos/base/applications/downloader/resources/2.bmp and /dev/null differ
diff --git a/reactos/base/applications/downloader/resources/3.bmp b/reactos/base/applications/downloader/resources/3.bmp
deleted file mode 100644
index 860744a0fed..00000000000
Binary files a/reactos/base/applications/downloader/resources/3.bmp and /dev/null differ
diff --git a/reactos/base/applications/downloader/resources/4.bmp b/reactos/base/applications/downloader/resources/4.bmp
deleted file mode 100644
index 5df366dd321..00000000000
Binary files a/reactos/base/applications/downloader/resources/4.bmp and /dev/null differ
diff --git a/reactos/base/applications/downloader/resources/5.bmp b/reactos/base/applications/downloader/resources/5.bmp
deleted file mode 100644
index fd5099eded6..00000000000
Binary files a/reactos/base/applications/downloader/resources/5.bmp and /dev/null differ
diff --git a/reactos/base/applications/downloader/resources/6.bmp b/reactos/base/applications/downloader/resources/6.bmp
deleted file mode 100644
index 280fc7e0bc8..00000000000
Binary files a/reactos/base/applications/downloader/resources/6.bmp and /dev/null differ
diff --git a/reactos/base/applications/downloader/resources/7.bmp b/reactos/base/applications/downloader/resources/7.bmp
deleted file mode 100644
index 1c8007b117d..00000000000
Binary files a/reactos/base/applications/downloader/resources/7.bmp and /dev/null differ
diff --git a/reactos/base/applications/downloader/resources/8.bmp b/reactos/base/applications/downloader/resources/8.bmp
deleted file mode 100644
index e30064272fd..00000000000
Binary files a/reactos/base/applications/downloader/resources/8.bmp and /dev/null differ
diff --git a/reactos/base/applications/downloader/resources/9.bmp b/reactos/base/applications/downloader/resources/9.bmp
deleted file mode 100644
index 1e28d936e2b..00000000000
Binary files a/reactos/base/applications/downloader/resources/9.bmp and /dev/null differ
diff --git a/reactos/base/applications/downloader/resources/download.bmp b/reactos/base/applications/downloader/resources/download.bmp
deleted file mode 100644
index 09ff0a35183..00000000000
Binary files a/reactos/base/applications/downloader/resources/download.bmp and /dev/null differ
diff --git a/reactos/base/applications/downloader/resources/help.bmp b/reactos/base/applications/downloader/resources/help.bmp
deleted file mode 100644
index 59a5bd52a9a..00000000000
Binary files a/reactos/base/applications/downloader/resources/help.bmp and /dev/null differ
diff --git a/reactos/base/applications/downloader/resources/logo.bmp b/reactos/base/applications/downloader/resources/logo.bmp
deleted file mode 100644
index 4f10e49d3ef..00000000000
Binary files a/reactos/base/applications/downloader/resources/logo.bmp and /dev/null differ
diff --git a/reactos/base/applications/downloader/resources/main.ico b/reactos/base/applications/downloader/resources/main.ico
deleted file mode 100644
index 86c43d7f58c..00000000000
Binary files a/reactos/base/applications/downloader/resources/main.ico and /dev/null differ
diff --git a/reactos/base/applications/downloader/resources/underline.bmp b/reactos/base/applications/downloader/resources/underline.bmp
deleted file mode 100644
index 7facc72707b..00000000000
Binary files a/reactos/base/applications/downloader/resources/underline.bmp and /dev/null differ
diff --git a/reactos/base/applications/downloader/resources/uninstall.bmp b/reactos/base/applications/downloader/resources/uninstall.bmp
deleted file mode 100644
index 077cac9d4ae..00000000000
Binary files a/reactos/base/applications/downloader/resources/uninstall.bmp and /dev/null differ
diff --git a/reactos/base/applications/downloader/resources/update.bmp b/reactos/base/applications/downloader/resources/update.bmp
deleted file mode 100644
index d21aeec828f..00000000000
Binary files a/reactos/base/applications/downloader/resources/update.bmp and /dev/null differ
diff --git a/reactos/base/applications/downloader/rsrc.rc b/reactos/base/applications/downloader/rsrc.rc
deleted file mode 100644
index 8c38be58043..00000000000
--- a/reactos/base/applications/downloader/rsrc.rc
+++ /dev/null
@@ -1,27 +0,0 @@
-LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
-
-IDI_MAIN ICON DISCARDABLE "resources/main.ico"
-IDB_LOGO BITMAP DISCARDABLE "resources/logo.bmp"
-IDB_HELP BITMAP DISCARDABLE "resources/help.bmp"
-IDB_UPDATE BITMAP DISCARDABLE "resources/update.bmp"
-IDB_DOWNLOAD BITMAP DISCARDABLE "resources/download.bmp"
-IDB_UNINSTALL BITMAP DISCARDABLE "resources/uninstall.bmp"
-IDB_UNDERLINE BITMAP DISCARDABLE "resources/underline.bmp"
-IDB_TREEVIEW_ICON_0 BITMAP DISCARDABLE "resources/0.bmp"
-IDB_TREEVIEW_ICON_1 BITMAP DISCARDABLE "resources/1.bmp"
-IDB_TREEVIEW_ICON_2 BITMAP DISCARDABLE "resources/2.bmp"
-IDB_TREEVIEW_ICON_3 BITMAP DISCARDABLE "resources/3.bmp"
-IDB_TREEVIEW_ICON_4 BITMAP DISCARDABLE "resources/4.bmp"
-IDB_TREEVIEW_ICON_5 BITMAP DISCARDABLE "resources/5.bmp"
-IDB_TREEVIEW_ICON_6 BITMAP DISCARDABLE "resources/6.bmp"
-IDB_TREEVIEW_ICON_7 BITMAP DISCARDABLE "resources/7.bmp"
-IDB_TREEVIEW_ICON_8 BITMAP DISCARDABLE "resources/8.bmp"
-IDB_TREEVIEW_ICON_9 BITMAP DISCARDABLE "resources/9.bmp"
-IDB_TREEVIEW_ICON_10 BITMAP DISCARDABLE "resources/10.bmp"
-
-
-#include "translations/de.rc"
-#include "translations/en.rc"
-#include "translations/fr.rc"
-#include "translations/id.rc"
-#include "translations/it.rc"
diff --git a/reactos/base/applications/downloader/script.c b/reactos/base/applications/downloader/script.c
deleted file mode 100644
index c7ebb082e17..00000000000
--- a/reactos/base/applications/downloader/script.c
+++ /dev/null
@@ -1,246 +0,0 @@
-/* PROJECT: ReactOS Downloader
- * LICENSE: GPL - See COPYING in the top level directory
- * FILE: base/applications/downloader/script.c
- * PURPOSE: Run (un/)installscript
- * PROGRAMMERS: Lester Kortenhoeven
- */
-
-#include
-
-#include "resources.h"
-#include "structures.h"
-
-extern BOOL getUninstaller(struct Application*, WCHAR*);
-extern INT_PTR CALLBACK DownloadProc (HWND, UINT, WPARAM, LPARAM);
-extern WCHAR Strings [STRING_COUNT][MAX_STRING_LENGHT];
-
-static void DownloadScriptFunc (WCHAR* URL, WCHAR* File) {
- struct lParamDownload* lParam;
- lParam = malloc(sizeof(struct lParamDownload));
- lParam->URL = URL;
- lParam->File = File;
- DialogBoxParamW(GetModuleHandle(NULL), MAKEINTRESOURCEW(IDD_DOWNLOAD), 0, DownloadProc, (LPARAM)lParam);
- free(lParam);
-}
-
-static void ExecScriptFunc(WCHAR* Arg) {
- STARTUPINFOW si;
- PROCESS_INFORMATION pi;
-
- memset(&si, 0, sizeof(si));
- si.cb=sizeof(si);
- CreateProcessW(NULL,Arg,NULL,NULL,FALSE,0,NULL,NULL,&si,&pi);
- CloseHandle(pi.hThread);
- WaitForSingleObject(pi.hProcess, INFINITE);
- CloseHandle(pi.hProcess);
-}
-
-
-static void DelScriptFunc(WCHAR* Arg) {
- DeleteFileW(Arg);
-}
-
-static BOOL UnzipScriptFunc(WCHAR* File, WCHAR* Outdir) {
- HKEY hKey;
- DWORD Type = 0;
- WCHAR ExecStr[0x100];
- DWORD currentlengt = 0x100;
- if (RegOpenKeyExW(HKEY_LOCAL_MACHINE,L"SOFTWARE\\7-Zip",0,KEY_READ,&hKey) == ERROR_SUCCESS) {
- if (RegQueryValueExW(hKey,L"Path",0,&Type,(LPBYTE)ExecStr,¤tlengt) == ERROR_SUCCESS) {
- if (File[0] != L'\0') {
- wcsncat(ExecStr,L"\\7z.exe x ",0x100-currentlengt);
- currentlengt = lstrlenW(ExecStr);
- wcsncat(ExecStr,File,0x100-currentlengt);
- currentlengt = lstrlenW(ExecStr);
- wcsncat(ExecStr,L" -o",0x100-currentlengt);
- currentlengt = lstrlenW(ExecStr);
- wcsncat(ExecStr,Outdir,0x100-currentlengt);
- ExecScriptFunc(ExecStr);
- RegCloseKey(hKey);
- }
- return TRUE;
- }
- RegCloseKey(hKey);
- }
- MessageBoxW(0,Strings[IDS_UNZIP_ERROR],0,0);
- return FALSE;
-}
-
-static void AddUninstallerScriptFunc(WCHAR* RegName, WCHAR* File) {
- HKEY hKey1;
- HKEY hKey2;
- LPDWORD dispos = NULL;
- if (RegOpenKeyExW(HKEY_LOCAL_MACHINE,L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall",0,KEY_WRITE,&hKey1) == ERROR_SUCCESS)
- if (RegCreateKeyEx(hKey1,RegName,0,NULL,REG_OPTION_NON_VOLATILE,KEY_WRITE,NULL,&hKey2,dispos) == ERROR_SUCCESS) {
- RegSetValueExW(hKey2,L"DisplayName",0,REG_SZ,(BYTE*)RegName,(lstrlen(RegName)+1)*sizeof(WCHAR));
- RegSetValueExW(hKey2,L"UninstallString",0,REG_SZ,(BYTE*)File,(lstrlen(File)+1)*sizeof(WCHAR));
- }
- RegCloseKey(hKey2);
- RegCloseKey(hKey1);
-}
-
-static void RemoveUninstallerScriptFunc(WCHAR* RegName) {
- HKEY hKey1;
- HKEY hKey2;
- if (RegOpenKeyExW(HKEY_LOCAL_MACHINE,L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall",0,KEY_WRITE,&hKey1) == ERROR_SUCCESS) {
- if (RegOpenKeyExW(hKey1,RegName,0,KEY_WRITE,&hKey2) == ERROR_SUCCESS) {
- RegDeleteValueW(hKey2,L"DisplayName");
- RegDeleteValueW(hKey2,L"UninstallString");
- RegCloseKey(hKey2);
- }
- // RegDeleteKeyW(hKey1,RegName);
- }
- RegCloseKey(hKey1);
-}
-
-static void MessageScriptFunc(WCHAR* Text) {
- MessageBoxW(0,Text,Strings[IDS_WINDOW_TITLE],0);
-}
-
-extern void LoadScriptFunc(WCHAR*, struct ScriptElement*);
-
-static void RunScript(struct Application* App, struct ScriptElement* Script) {
- BOOL bRun = TRUE;
- struct ScriptElement* p = Script;
- INT SizeB = 0x100;
- INT SizeA = sizeof(p->Arg)/sizeof(*(p->Arg));
- INT i;
- int currentlengt = 0;
- WCHAR ArgBuffer[SizeA][SizeB];
- WCHAR BufferA[SizeB];
- WCHAR BufferB[SizeB];
- WCHAR BufferC[SizeB];
- WCHAR* Pos1;
- WCHAR* Pos2;
- WCHAR* Pos3 = NULL;
- BOOL bNext;
- while(bRun && (p != NULL)) {
-
- for(i=0; iArg[i]);
- Pos1 = BufferA;
- Pos2 = wcschr(Pos1, L'%');
- if(!Pos2) {
- wcscpy(ArgBuffer[i], Pos1);
- break;
- }
- Pos2[0] = L'\0';
- wcscpy(BufferB, Pos1);
- Pos1 = Pos2 + 1;
- Pos2 = wcschr(Pos1, L'%');
- while (Pos2) {
- Pos2[0] = L'\0';
- if(bNext) {
- if (wcscmp(Pos1, L"name") == 0) {
- Pos3 = App->Name;
- } else if (wcscmp(Pos1, L"regname") == 0) {
- Pos3 = App->RegName;
- } else if (wcscmp(Pos1, L"version") == 0) {
- Pos3 = App->Version;
- } else if (wcscmp(Pos1, L"maintainer") == 0) {
- Pos3 = App->Maintainer;
- } else if (wcscmp(Pos1, L"licence") == 0) {
- Pos3 = App->Licence;
- } else if (wcscmp(Pos1, L"description") == 0) {
- Pos3 = App->Description;
- } else if (wcscmp(Pos1, L"location") == 0) {
- Pos3 = App->Location;
- } else if (wcscmp(Pos1, L"regname_uninstaller") == 0) {
- if (!getUninstaller(App, BufferC)) {
- BufferC[0] = '\0';
- }
- Pos3 = BufferC;
- } else if (wcscmp(Pos1, L"location_file") == 0) {
- Pos3 = wcsrchr(App->Location, L'/');
- if(Pos3 == NULL) {
- BufferC[0] = '\0';
- Pos3 = BufferC;
- } else {
- Pos3++;
- }
- } else {
- Pos3 = _wgetenv(Pos1);
- }
- bNext = !(Pos3);
- if (bNext) {
- Pos3 = Pos1;
- currentlengt = lstrlenW(BufferB);
- wcsncat(BufferB, L"%", SizeB-currentlengt);
- }
- } else {
- Pos3 = Pos1;
- bNext = TRUE;
- }
- currentlengt = lstrlenW(BufferB);
- wcsncat(BufferB, Pos3, SizeB-currentlengt);
- Pos1 = Pos2 + 1;
- Pos2 = wcschr(Pos1, L'%');
- }
- if (bNext) {
- wcsncat(BufferB, L"%", SizeB-currentlengt);
- }
- currentlengt = lstrlenW(BufferB);
- wcsncat(BufferB, Pos1, SizeB-currentlengt);
- wcscpy(ArgBuffer[i], BufferB);
- }
-
- if (wcscmp(p->Func, L"download") == 0) {
- DownloadScriptFunc(ArgBuffer[0], ArgBuffer[1]);
- } else if (wcscmp(p->Func, L"exec") == 0) {
- ExecScriptFunc(ArgBuffer[0]);
- } else if (wcscmp(p->Func, L"del") == 0) {
- DelScriptFunc(ArgBuffer[0]);
- } else if (wcscmp(p->Func, L"unzip") == 0) {
- bRun = UnzipScriptFunc(ArgBuffer[0], ArgBuffer[1]);
- } else if (wcscmp(p->Func, L"adduninstaller") == 0) {
- AddUninstallerScriptFunc(ArgBuffer[0], ArgBuffer[1]);
- } else if (wcscmp(p->Func, L"removeuninstaller") == 0) {
- RemoveUninstallerScriptFunc(ArgBuffer[0]);
- } else if (wcscmp(p->Func, L"message") == 0) {
- MessageScriptFunc(ArgBuffer[0]);
- } else if (wcscmp(p->Func, L"load") == 0) {
- LoadScriptFunc(ArgBuffer[0],p);
- }
- p = p->Next;
- }
-}
-
-DWORD WINAPI InstallThreadFunc(LPVOID Context) {
- struct Application* App = (struct Application*)Context;
-
- if(App->InstallScript == NULL){
- /* Default UninstallScript */
- struct ScriptElement* Current;
- Current = malloc(sizeof(struct ScriptElement));
- App->InstallScript = Current;
- memset(Current, 0, sizeof(struct ScriptElement));
- wcscpy(Current->Func, L"load");
- wcscpy(Current->Arg[0], L"script/default.install.xml");
- }
-
- RunScript(App, App->InstallScript);
-
- return 0;
-}
-
-
-
-DWORD WINAPI UninstallThreadFunc(LPVOID Context){
- struct Application* App = (struct Application*)Context;
-
- if(App->UninstallScript == NULL){
- /* Default UninstallScript */
- struct ScriptElement* Current;
- Current = malloc(sizeof(struct ScriptElement));
- App->UninstallScript = Current;
- memset(Current, 0, sizeof(struct ScriptElement));
- wcscpy(Current->Func, L"load");
- wcscpy(Current->Arg[0], L"script/default.uninstall.xml");
- }
-
- RunScript(App, App->UninstallScript);
-
- return 0;
-}
-
diff --git a/reactos/base/applications/downloader/structures.h b/reactos/base/applications/downloader/structures.h
deleted file mode 100644
index fc1fee118c2..00000000000
--- a/reactos/base/applications/downloader/structures.h
+++ /dev/null
@@ -1,40 +0,0 @@
-
-struct Application
-{
- WCHAR Name[0x100];
- WCHAR RegName[0x100];
- WCHAR Version[0x100];
- WCHAR Maintainer[0x100];
- WCHAR Licence[0x100];
- WCHAR Description[0x400];
- WCHAR Location[0x100];
- struct Application* Next;
- struct ScriptElement* InstallScript;
- struct ScriptElement* UninstallScript;
-};
-
-struct Category
-{
- WCHAR Name[0x100];
- //WCHAR Description[0x100];
- int Icon;
- HANDLE TreeviewItem;
- struct Application* Apps;
- struct Category* Next;
- struct Category* Children;
- struct Category* Parent;
-};
-
-struct ScriptElement
-{
- WCHAR Func[0x100];
- WCHAR Arg[2][0x100];
- struct ScriptElement* Next;
-};
-
-struct lParamDownload
-{
- HWND Dlg;
- WCHAR* URL;
- WCHAR* File;
-};
diff --git a/reactos/base/applications/downloader/translations/de.rc b/reactos/base/applications/downloader/translations/de.rc
deleted file mode 100644
index 497325ac15c..00000000000
--- a/reactos/base/applications/downloader/translations/de.rc
+++ /dev/null
@@ -1,36 +0,0 @@
-LANGUAGE LANG_GERMAN, SUBLANG_DEFAULT
-
-IDD_DOWNLOAD DIALOG LOADONCALL MOVEABLE DISCARDABLE 0, 0, 220, 76
-STYLE DS_MODALFRAME | DS_CENTER | WS_VISIBLE | WS_POPUP | WS_CAPTION | WS_SYSMENU
-CAPTION "Download..."
-FONT 8, "MS Shell Dlg"
-{
- CONTROL "Progress1",IDC_PROGRESS,"msctls_progress32",WS_BORDER|PBS_SMOOTH,10,10,200,12
- LTEXT "", IDC_STATUS, 10, 30, 200, 10, SS_CENTER
- PUSHBUTTON "Cancel", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP
-}
-
-STRINGTABLE DISCARDABLE
-BEGIN
- IDS_WINDOW_TITLE "Download ! - ReactOS Downloader"
- IDS_WELCOME_TITLE "Willkommen im ReactOS Downloader"
- IDS_WELCOME "Bitte wählen Sie links eine Kategorie. Dies ist Version 1.0."
- IDS_NO_APP_TITLE "Keine Anwendung ausgewählt"
- IDS_NO_APP "Bitte wählen Sie eine Anwendung, bevor Sie die Download-Schaltfläche betätigen. Wenn Sie Hilfe benötigen, drücken Sie die Hilfe-Schaltfläche in der oberen rechten Ecke."
- IDS_UPDATE_TITLE "Update"
- IDS_UPDATE "Diese Funktion wurde noch nicht implementiert."
- IDS_HELP_TITLE "Hilfe"
- IDS_HELP "Wählen Sie links eine Kategorie, wählen Sie eine Anwendung und drücken Sie die Download-Schaltfläche. Um die Anwendungsinformationen zu aktualisieren, drücken Sie die Schaltfläche neben der Hilfe-Schaltfläche."
- IDS_NO_APPS "In dieser Kategorie sind bisher noch keine Anwendungen. Sie können helfen, indem Sie Anwendungen hinzufügen."
- IDS_CHOOSE_APP "Bitte wählen Sie eine Anwendung."
- IDS_CHOOSE_SUB "Bitte wählen Sie eine Unterkategorie."
- IDS_CHOOSE_CATEGORY "Bitte wählen Sie eine Kategorie."
- IDS_CHOOSE_BOTH "Bitte wählen Sie eine Unterkategorie oder eine Anwendung."
- IDS_XMLERROR_1 "XML Datei nicht gefunden!"
- IDS_XMLERROR_2 "XML Datei kann nicht verarbeitet werden!"
- IDS_DOWNLOAD_ERROR "Die Datei konnte nicht runtergeladen werden.\nBitte prüfen sie, ob eine Verbindung zum Internet besteht."
- IDS_UNZIP_ERROR "7-Zip nicht gefunden.\nBitte installieren Sie 7-Zip."
- IDS_VERSION "Version: "
- IDS_LICENCE "Lizenz: "
- IDS_MAINTAINER "Maintainer: "
-END
diff --git a/reactos/base/applications/downloader/translations/en.rc b/reactos/base/applications/downloader/translations/en.rc
deleted file mode 100644
index 5921e961ef9..00000000000
--- a/reactos/base/applications/downloader/translations/en.rc
+++ /dev/null
@@ -1,36 +0,0 @@
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-
-IDD_DOWNLOAD DIALOG LOADONCALL MOVEABLE DISCARDABLE 0, 0, 220, 76
-STYLE DS_MODALFRAME | DS_CENTER | WS_VISIBLE | WS_POPUP | WS_CAPTION | WS_SYSMENU
-CAPTION "Download..."
-FONT 8, "MS Shell Dlg"
-{
- CONTROL "Progress1",IDC_PROGRESS,"msctls_progress32",WS_BORDER|PBS_SMOOTH,10,10,200,12
- LTEXT "", IDC_STATUS, 10, 30, 200, 10, SS_CENTER
- PUSHBUTTON "Cancel", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP
-}
-
-STRINGTABLE DISCARDABLE
-BEGIN
- IDS_WINDOW_TITLE "Download ! - ReactOS Downloader"
- IDS_WELCOME_TITLE "Welcome to the ReactOS Downloader"
- IDS_WELCOME "Please choose a category on the left. This is version 1.0."
- IDS_NO_APP_TITLE "No application selected"
- IDS_NO_APP "Please select a Application before you click the download button, if you need assistance please click on the question mark button on the top right corner."
- IDS_UPDATE_TITLE "Update"
- IDS_UPDATE "Sorry this feature is not implemented yet."
- IDS_HELP_TITLE "Help"
- IDS_HELP "Choose a category on the left, then choose a application and click the download button. To update the application information click the button next to the help button."
- IDS_NO_APPS "Sorry, there no applications in this category yet. You can help and add more applications."
- IDS_CHOOSE_APP "Please choose an application."
- IDS_CHOOSE_SUB "Please choose a subcategory."
- IDS_CHOOSE_CATEGORY "Please choose a category."
- IDS_CHOOSE_BOTH "Please choose a subcategory or an application."
- IDS_XMLERROR_1 "Could not find the xml file !"
- IDS_XMLERROR_2 "Could not parse the xml file !"
- IDS_DOWNLOAD_ERROR "Unable to download the file.\nPlease check you internet connection."
- IDS_UNZIP_ERROR "7-Zip not found.\nPlease install 7-Zip"
- IDS_VERSION "Version: "
- IDS_LICENCE "Licence: "
- IDS_MAINTAINER "Maintainer: "
-END
diff --git a/reactos/base/applications/downloader/translations/fr.rc b/reactos/base/applications/downloader/translations/fr.rc
deleted file mode 100644
index 4efedf6348e..00000000000
--- a/reactos/base/applications/downloader/translations/fr.rc
+++ /dev/null
@@ -1,36 +0,0 @@
-LANGUAGE LANG_FRENCH, SUBLANG_FRENCH
-
-IDD_DOWNLOAD DIALOG LOADONCALL MOVEABLE DISCARDABLE 0, 0, 220, 76
-STYLE DS_MODALFRAME | DS_CENTER | WS_VISIBLE | WS_POPUP | WS_CAPTION | WS_SYSMENU
-CAPTION "Téléchargement..."
-FONT 8, "MS Shell Dlg"
-{
- CONTROL "Progress1",IDC_PROGRESS,"msctls_progress32",WS_BORDER|PBS_SMOOTH,10,10,200,12
- LTEXT "", IDC_STATUS, 10, 30, 200, 10, SS_CENTER
- PUSHBUTTON "Annuler", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP
-}
-
-STRINGTABLE DISCARDABLE
-BEGIN
- IDS_WINDOW_TITLE "Télécharger ! - Téléchargeur de ReactOS"
- IDS_WELCOME_TITLE "Bienvenue dans le Téléchargeur de ReactOS"
- IDS_WELCOME "Veuillez choisir une catégorie sur la droite. C'est la version 1.0."
- IDS_NO_APP_TITLE "Aucune application selectionnée"
- IDS_NO_APP "Veuillez sélectionner une application avant de cliquer sur le bouton Télécharger, si vous avez besoin d'aide, veuillez cliquer sur le point d'interrogation dans le coin supérieur droit."
- IDS_UPDATE_TITLE "Mise ŕ jour"
- IDS_UPDATE "Désolé, cette fonctionnalité n'est pas encore implémentée."
- IDS_HELP_TITLE "Aide"
- IDS_HELP "Choisissez une catégorie sur la droite, puis choisissez une application et cliquez sur le bouton Télécharger. Pour mettre ŕ jour les informations sur l'application, cliquez sur le bouton ŕ côté du bouton d'aide."
- IDS_NO_APPS "Désolé, il n'y a pas encore d'application dans cette catégorie. Vous pouvez contribuer et ajouter plus d'applications."
- IDS_CHOOSE_APP "Veuillez choisir une application."
- IDS_CHOOSE_SUB "Veuillez choisir une sous-catégorie."
- IDS_CHOOSE_CATEGORY "Veuillez choisir une catégorie."
- IDS_CHOOSE_BOTH "Veuillez choisir une sous-catégorie ou une application."
- IDS_XMLERROR_1 "Impossible de trouver le fichier xml !"
- IDS_XMLERROR_2 "Impossible d'analyser le fichier xml !"
- IDS_DOWNLOAD_ERROR "Impossible de télécharger le fichier.\nVeuillez vérifier votre connexion Internet."
- IDS_UNZIP_ERROR "7-Zip not found.\nPlease install 7-Zip"
- IDS_VERSION "Version: "
- IDS_LICENCE "Licence: "
- IDS_MAINTAINER "Maintainer: "
-END
diff --git a/reactos/base/applications/downloader/translations/id.rc b/reactos/base/applications/downloader/translations/id.rc
deleted file mode 100644
index 89d642d2074..00000000000
--- a/reactos/base/applications/downloader/translations/id.rc
+++ /dev/null
@@ -1,36 +0,0 @@
-LANGUAGE LANG_INDONESIAN, SUBLANG_DEFAULT
-
-IDD_DOWNLOAD DIALOG LOADONCALL MOVEABLE DISCARDABLE 0, 0, 220, 76
-STYLE DS_MODALFRAME | DS_CENTER | WS_VISIBLE | WS_POPUP | WS_CAPTION | WS_SYSMENU
-CAPTION "Download..."
-FONT 8, "MS Shell Dlg"
-{
- CONTROL "Progress1",IDC_PROGRESS,"msctls_progress32",WS_BORDER|PBS_SMOOTH,10,10,200,12
- LTEXT "", IDC_STATUS, 10, 30, 200, 10, SS_CENTER
- PUSHBUTTON "Batal", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP
-}
-
-STRINGTABLE DISCARDABLE
-BEGIN
- IDS_WINDOW_TITLE "Download ! - ReactOS Downloader"
- IDS_WELCOME_TITLE "Selamat datang di ReactOS Downloader"
- IDS_WELCOME "Silahkan pilih kategori di sebelah kanan. Ini versi 1.0."
- IDS_NO_APP_TITLE "Tidak ada aplikasi yang dipilih"
- IDS_NO_APP "Silahkan pilih Aplikasi sebelum anda mengklik tombol download, jika anda membutuhkan asistensi silahkan klik pada tombol di sudut kanan atas."
- IDS_UPDATE_TITLE "Mutakhirkan"
- IDS_UPDATE "Maaf fitur ini belum diimplementasikan."
- IDS_HELP_TITLE "Bantuan"
- IDS_HELP "Pilih kategori di sisi kiri, lalu pilih aplikasi dan klik tombol download. Untuk memutakhirkan informasi aplikasi klik tombol disebelah tombol bantuan."
- IDS_NO_APPS "Maaf, belum ada aplikasi dalam kategori ini. Anda dapat membantu dan menambahkan aplikasi lebih banyak."
- IDS_CHOOSE_APP "Silahkan pilih aplikasi."
- IDS_CHOOSE_SUB "Silahkan pilih subkategori."
- IDS_CHOOSE_CATEGORY "Silahkan pilih kategori."
- IDS_CHOOSE_BOTH "Silahkan pilih subkategori atau aplikasi."
- IDS_XMLERROR_1 "Tidak dapat menemukan file xml !"
- IDS_XMLERROR_2 "Tidak dapat mengurai file xml !"
- IDS_DOWNLOAD_ERROR "Tidak bisa mendownload file.\nSilahkan periksa koneksi internet anda."
- IDS_UNZIP_ERROR "7-Zip not found.\nPlease install 7-Zip"
- IDS_VERSION "Versi: "
- IDS_LICENCE "Lisensi: "
- IDS_MAINTAINER "Pemelihara: "
-END
diff --git a/reactos/base/applications/downloader/translations/it.rc b/reactos/base/applications/downloader/translations/it.rc
deleted file mode 100644
index ade0ff46d10..00000000000
--- a/reactos/base/applications/downloader/translations/it.rc
+++ /dev/null
@@ -1,36 +0,0 @@
-LANGUAGE LANG_ITALIAN, SUBLANG_ITALIAN
-
-IDD_DOWNLOAD DIALOG LOADONCALL MOVEABLE DISCARDABLE 0, 0, 220, 76
-STYLE DS_MODALFRAME | DS_CENTER | WS_VISIBLE | WS_POPUP | WS_CAPTION | WS_SYSMENU
-CAPTION "Download..."
-FONT 8, "MS Shell Dlg"
-{
- CONTROL "Progress1",IDC_PROGRESS,"msctls_progress32",WS_BORDER|PBS_SMOOTH,10,10,200,12
- LTEXT "", IDC_STATUS, 10, 30, 200, 10, SS_CENTER
- PUSHBUTTON "Cancel", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP
-}
-
-STRINGTABLE DISCARDABLE
-BEGIN
- IDS_WINDOW_TITLE "Download ! - ReactOS Downloader"
- IDS_WELCOME_TITLE "Benvenuto al ReactOS Downloader"
- IDS_WELCOME "Scegli una categoria a destra. Questa č la versione 1.0."
- IDS_NO_APP_TITLE "Nessuna applicazione selezionata"
- IDS_NO_APP "Scegli una Applicazione prima di premere il bottone di download, se serve assistenza clicca sul punto di domanda nell'angolo in alto a destra."
- IDS_UPDATE_TITLE "Aggiona"
- IDS_UPDATE "Funzione non ancora implementata."
- IDS_HELP_TITLE "Aiuto"
- IDS_HELP "Scegli una categoria a destra, poi scegli una applicazione e clicca il bottone download. Per aggiornare le informazioni sulla applicazione clicca il bottone accanto a quello di aiuto."
- IDS_NO_APPS "Non ci sono ancora applicazioni in questa categoria. Puoi aiutare aggiungendone altre."
- IDS_CHOOSE_APP "Scegli una applicazione."
- IDS_CHOOSE_SUB "Scegli una sottocategoria."
- IDS_CHOOSE_CATEGORY "Scegli una categoria."
- IDS_CHOOSE_BOTH "Scegli una sottocategoria o una applicazione."
- IDS_XMLERROR_1 "File xml non trovato !"
- IDS_XMLERROR_2 "Impossibile trattare il contenuto del file xml !"
- IDS_DOWNLOAD_ERROR "Download del file impossibile.\nVerifica la connessione a Internet."
- IDS_UNZIP_ERROR "7-Zip not found.\nPlease install 7-Zip"
- IDS_VERSION "Version: "
- IDS_LICENCE "Licence: "
- IDS_MAINTAINER "Maintainer: "
-END
diff --git a/reactos/base/applications/downloader/xml.c b/reactos/base/applications/downloader/xml.c
deleted file mode 100644
index b56ff71dc6c..00000000000
--- a/reactos/base/applications/downloader/xml.c
+++ /dev/null
@@ -1,525 +0,0 @@
-/* PROJECT: ReactOS Downloader
- * LICENSE: GPL - See COPYING in the top level directory
- * FILE: base\applications\downloader\xml.c
- * PURPOSE: Parsing of application information xml files
- * PROGRAMMERS: Maarten Bosma, Lester Kortenhoeven
- */
-
-#include
-#include
-#include
-#include
-#include
-#include
-#include "structures.h"
-#include "resources.h"
-
-BOOL TagOpen;
-BOOL InstallScriptOpen;
-BOOL UninstallScriptOpen;
-struct Category* Current;
-struct Application* CurrentApplication;
-struct ScriptElement* CurrentScript;
-char DML_Name[0x100];
-char DML_Target[0x100];
-char Path [0x100];
-char CurrentTag [0x100];
-
-extern WCHAR Strings [STRING_COUNT][MAX_STRING_LENGHT];
-BOOL ImportXML (const char*);
-
-void ImportFolder (const char* folder)
-{
- WCHAR buffer[0x100];
- char buffer2[0x100];
- struct _wfinddata_t Finddata;
- DWORD Findhandle;
- buffer[0]='\0';
- strcpy(buffer2, Path);
- strncat(buffer2, folder, 0x100-strlen(buffer2));
- strncat(buffer2, "\\*.dml", 0x100-strlen(buffer2));
- MultiByteToWideChar(CP_UTF8, 0, buffer2, -1, buffer, 0x100);
- if((Findhandle=_wfindfirst(buffer, &Finddata)) == -1)
- return;
- do {
- buffer[0]='\0';
- MultiByteToWideChar(CP_UTF8, 0, folder, -1, buffer, 0x100);
- wcsncat(buffer, L"\\", 0x100-wcslen(buffer));
- wcsncat(buffer, Finddata.name, 0x100-wcslen(buffer));
- WideCharToMultiByte(CP_UTF8, 0, buffer, -1, buffer2, 0x100, NULL, FALSE);
- ImportXML(buffer2);
- } while(_wfindnext(Findhandle, &Finddata)==0);
- _findclose(Findhandle);
-}
-
-
-void Script_tag_opened (void* usrdata, const char* tag, const char** arg)
-{
- int i;
- if (!strcmp(tag, "script")) {
- return;
- } else if (InstallScriptOpen && (CurrentScript == NULL)) {
- CurrentApplication->InstallScript = malloc(sizeof(struct ScriptElement));
- CurrentScript = CurrentApplication->InstallScript;
- } else if (UninstallScriptOpen && (CurrentScript == NULL)) {
- CurrentApplication->UninstallScript = malloc(sizeof(struct ScriptElement));
- CurrentScript = CurrentApplication->UninstallScript;
- } else if (CurrentScript != NULL) {
- CurrentScript->Next = malloc(sizeof(struct ScriptElement));
- CurrentScript = CurrentScript->Next;
- } else {
- return;
- }
- memset(CurrentScript, 0, sizeof(struct ScriptElement));
- if (!strcmp(tag, "download")) {
- wcscpy(CurrentScript->Func, L"download");
- for (i=0; arg[i]; i+=2) {
- if(!strcmp(arg[i], "file")) {
- MultiByteToWideChar(CP_UTF8, 0, arg[i+1], -1, CurrentScript->Arg[1], 0x100);
- } else if(!strcmp(arg[i], "url")) {
- MultiByteToWideChar(CP_UTF8, 0, arg[i+1], -1, CurrentScript->Arg[0], 0x100);
- }
- }
- } else if (!strcmp(tag, "exec")) {
- wcscpy(CurrentScript->Func, L"exec");
- for (i=0; arg[i]; i+=2) {
- if(!strcmp(arg[i], "file")) {
- MultiByteToWideChar(CP_UTF8, 0, arg[i+1], -1, CurrentScript->Arg[0], 0x100);
- }
- }
- } else if (!strcmp(tag, "del")) {
- wcscpy(CurrentScript->Func, L"del");
- for (i=0; arg[i]; i+=2) {
- if(!strcmp(arg[i], "file")) {
- MultiByteToWideChar(CP_UTF8, 0, arg[i+1], -1, CurrentScript->Arg[0], 0x100);
- }
- }
- } else if (!strcmp(tag, "unzip")) {
- wcscpy(CurrentScript->Func, L"unzip");
- for (i=0; arg[i]; i+=2) {
- if(!strcmp(arg[i], "file")) {
- MultiByteToWideChar(CP_UTF8, 0, arg[i+1], -1, CurrentScript->Arg[0], 0x100);
- } else if(!strcmp(arg[i], "outdir")) {
- MultiByteToWideChar(CP_UTF8, 0, arg[i+1], -1, CurrentScript->Arg[1], 0x100);
- }
- }
- } else if (!strcmp(tag, "adduninstaller")) {
- wcscpy(CurrentScript->Func, L"adduninstaller");
- for (i=0; arg[i]; i+=2) {
- if(!strcmp(arg[i], "regname")) {
- MultiByteToWideChar(CP_UTF8, 0, arg[i+1], -1, CurrentScript->Arg[0], 0x100);
- } else if(!strcmp(arg[i], "file")) {
- MultiByteToWideChar(CP_UTF8, 0, arg[i+1], -1, CurrentScript->Arg[1], 0x100);
- }
- }
- } else if (!strcmp(tag, "removeuninstaller")) {
- wcscpy(CurrentScript->Func, L"removeuninstaller");
- for (i=0; arg[i]; i+=2) {
- if(!strcmp(arg[i], "regname")) {
- MultiByteToWideChar(CP_UTF8, 0, arg[i+1], -1, CurrentScript->Arg[0], 0x100);
- }
- }
- } else if (!strcmp(tag, "message")) {
- wcscpy(CurrentScript->Func, L"message");
- for (i=0; arg[i]; i+=2) {
- if(!strcmp(arg[i], "text")) {
- MultiByteToWideChar(CP_UTF8, 0, arg[i+1], -1, CurrentScript->Arg[0], 0x100);
- }
- }
- } else if (!strcmp(tag, "load")) {
- wcscpy(CurrentScript->Func, L"load");
- for (i=0; arg[i]; i+=2) {
- if(!strcmp(arg[i], "file")) {
- MultiByteToWideChar(CP_UTF8, 0, arg[i+1], -1, CurrentScript->Arg[0], 0x100);
- }
- }
- } else
- MessageBoxW(0,Strings[IDS_XMLERROR_2],0,0);
-}
-
-
-void tag_opened (void* usrdata, const char* tag, const char** arg)
-{
- int i;
-
- if(!strcmp(tag, "import"))
- {
- for (i=0; arg[i]; i+=2)
- {
- if(!strcmp(arg[i], "file"))
- {
- ImportXML(arg[i+1]);
- }
- else if(!strcmp(arg[i], "folder"))
- {
- ImportFolder(arg[i+1]);
- }
- }
- }
- else if(!strcmp(tag, "tree") && !CurrentApplication)
- {
- // check version
- }
-
- else if(!strcmp(tag, "category") && !CurrentApplication)
- {
- if (!Current)
- {
- Current = malloc(sizeof(struct Category));
- memset(Current, 0, sizeof(struct Category));
- }
- else if (TagOpen)
- {
- Current->Children = malloc(sizeof(struct Category));
- memset(Current->Children, 0, sizeof(struct Category));
- Current->Children->Parent = Current;
- Current = Current->Children;
- }
- else
- {
- Current->Next = malloc(sizeof(struct Category));
- memset(Current->Next, 0, sizeof(struct Category));
- Current->Next->Parent = Current->Parent;
- Current = Current->Next;
- }
- TagOpen = TRUE;
-
- for (i=0; arg[i]; i+=2)
- {
- if(!strcmp(arg[i], "name"))
- {
- MultiByteToWideChar(CP_UTF8, 0, arg[i+1], -1, Current->Name, 0x100);
- }
- if(!strcmp(arg[i], "icon"))
- {
- Current->Icon = atoi(arg[i+1]);
- }
- }
- }
-
- else if(!strcmp(tag, "application") && !CurrentApplication)
- {
- if(Current->Apps)
- {
- CurrentApplication = Current->Apps;
- while(CurrentApplication->Next)
- CurrentApplication = CurrentApplication->Next;
- CurrentApplication->Next = malloc(sizeof(struct Application));
- memset(CurrentApplication->Next, 0, sizeof(struct Application));
- CurrentApplication = CurrentApplication->Next;
- }
- else
- {
- Current->Apps = malloc(sizeof(struct Application));
- memset(Current->Apps, 0, sizeof(struct Application));
- CurrentApplication = Current->Apps;
- }
-
- for (i=0; arg[i]; i+=2)
- {
- if(!strcmp(arg[i], "name"))
- {
- MultiByteToWideChar(CP_UTF8, 0, arg[i+1], -1, CurrentApplication->Name, 0x100);
- }
- }
- }
- else if (CurrentApplication)
- {
- if (!strcmp(tag, "installscript")) {
- InstallScriptOpen = TRUE;
- } else if (!strcmp(tag, "uninstallscript")) {
- UninstallScriptOpen = TRUE;
- } else {
- Script_tag_opened(usrdata, tag, arg);
- if (CurrentScript == NULL) {
- strncpy(CurrentTag, tag, 0x100);
- }
- }
- }
- else
- MessageBoxW(0,Strings[IDS_XMLERROR_2],0,0);
-}
-
-
-void text (void* usrdata, const char* data, int len)
-{
- if (!CurrentApplication)
- return;
-
- if(!strcmp(CurrentTag, "maintainer"))
- {
- int currentlengt = lstrlenW(CurrentApplication->Maintainer);
- MultiByteToWideChar(CP_UTF8, 0, data, len, &CurrentApplication->Maintainer[currentlengt], 0x100-currentlengt);
- }
- else if(!strcmp(CurrentTag, "regname"))
- {
- int currentlengt = lstrlenW(CurrentApplication->RegName);
- MultiByteToWideChar(CP_UTF8, 0, data, len, &CurrentApplication->RegName[currentlengt], 0x100-currentlengt);
- }
- else if(!strcmp(CurrentTag, "description"))
- {
- int currentlengt = lstrlenW(CurrentApplication->Description);
- MultiByteToWideChar(CP_UTF8, 0, data, len, &CurrentApplication->Description[currentlengt], 0x400-currentlengt);
- }
- else if(!strcmp(CurrentTag, "location"))
- {
- int currentlengt = lstrlenW(CurrentApplication->Location);
- MultiByteToWideChar(CP_UTF8, 0, data, len, &CurrentApplication->Location[currentlengt], 0x100-currentlengt);
- }
- else if(!strcmp(CurrentTag, "version"))
- {
- int currentlengt = lstrlenW(CurrentApplication->Version);
- MultiByteToWideChar(CP_UTF8, 0, data, len, &CurrentApplication->Version[currentlengt], 0x400-currentlengt);
- }
- else if(!strcmp(CurrentTag, "licence"))
- {
- int currentlengt = lstrlenW(CurrentApplication->Licence);
- MultiByteToWideChar(CP_UTF8, 0, data, len, &CurrentApplication->Licence[currentlengt], 0x100-currentlengt);
- }
-}
-
-void tag_closed (void* tree, const char* tag)
-{
- CurrentTag[0] = 0;
-
- if(!strcmp(tag, "category"))
- {
- if (TagOpen)
- {
- TagOpen = FALSE;
- }
- else
- {
- Current = Current->Parent;
- }
- }
- else if(!strcmp(tag, "application"))
- {
- CurrentApplication = NULL;
- }
- else if(!strcmp(tag, "installscript") || !strcmp(tag, "uninstallscript"))
- {
- CurrentScript = NULL;
- InstallScriptOpen = FALSE;
- UninstallScriptOpen = FALSE;
- }
-}
-
-BOOL ImportXML (const char* filename)
-{
- int done = 0;
- char buffer[0x100];
- FILE* file;
- XML_Parser parser;
- strcpy(buffer, Path);
- strncat(buffer, filename, 0x100-strlen(buffer));
- file = fopen(buffer, "r");
- if(!file)
- {
- MessageBoxW(0,Strings[IDS_XMLERROR_1],0,0);
- return FALSE;
- }
-
- parser = XML_ParserCreate(NULL);
- XML_SetElementHandler(parser, tag_opened, tag_closed);
- XML_SetCharacterDataHandler(parser, text);
-
- while (!done)
- {
- size_t len = fread (buffer, 1, sizeof(buffer), file);
- done = len < sizeof(buffer);
-
- buffer[len] = 0;
- if(!XML_Parse(parser, buffer, len, done))
- {
- MessageBoxW(0,Strings[IDS_XMLERROR_2],0,0);
- return FALSE;
- }
- }
-
- XML_ParserFree(parser);
- fclose(file);
-
- return TRUE;
-}
-
-BOOL ProcessXML (const char* filename, struct Category* Root)
-{
- FILE* file;
- file = fopen(filename, "r");
- if(file)
- {
- Path[0]='\0';
- fclose(file);
- }
- else
- {
- strncpy(Path, getenv("SystemRoot"), 0x100-13);
- strcat(Path, "\\packagetree\\");
- }
-
- if(Current)
- return FALSE;
-
- Current = Root;
- CurrentApplication = NULL;
- CurrentScript = NULL;
- TagOpen = TRUE;
- InstallScriptOpen = FALSE;
- UninstallScriptOpen = FALSE;
-
- return ImportXML(filename);
-}
-
-void DML_tag_opened (void* usrdata, const char* tag, const char** arg)
-{
- int i;
-
- if(!strcmp(tag, "application"))
- {
- for (i=0; arg[i]; i+=2)
- {
- if(!strcmp(arg[i], "name"))
- {
- strncpy(DML_Name, arg[i+1], 0x100);
- }
- else if(!strcmp(arg[i], "target"))
- {
- strncpy(DML_Target, arg[i+1], 0x100);
- }
- }
- }
-}
-
-void NOP_text (void* usrdata, const char* data, int len)
-{
-}
-
-void NOP_tag_closed (void* tree, const char* tag)
-{
-}
-
-char* addDML (const char* filename)
-{
- int done = 0;
- char buffer[0x100];
- FILE* file;
- XML_Parser parser;
- DML_Target[0] = '\0';
- file = fopen(filename, "r");
- if(!file)
- {
- MessageBoxW(0,Strings[IDS_XMLERROR_1],0,0);
- return NULL;
- }
-
- parser = XML_ParserCreate(NULL);
- XML_SetElementHandler(parser, DML_tag_opened, NOP_tag_closed);
- XML_SetCharacterDataHandler(parser, NOP_text);
-
- while (!done)
- {
- size_t len = fread (buffer, 1, sizeof(buffer), file);
- done = len < sizeof(buffer);
-
- buffer[len] = 0;
- if(!XML_Parse(parser, buffer, len, done))
- {
- MessageBoxW(0,Strings[IDS_XMLERROR_2],0,0);
- return NULL;
- }
- }
-
- XML_ParserFree(parser);
- fclose(file);
-
- if(DML_Target[0]=='\0')
- {
- MessageBoxW(0,Strings[IDS_XMLERROR_2],0,0);
- return NULL;
- }
-
- strcpy(buffer, getenv("SystemRoot"));
- strncat(buffer, "\\packagetree\\", 0x100-strlen(buffer));
- strncat(buffer, DML_Target, 0x100-strlen(buffer));
-
- CopyFileA(filename, buffer, FALSE);
- return DML_Name;
-}
-
-void LoadScriptFunc(WCHAR* filenameW, struct ScriptElement* Script)
-{
- int done = 0;
- char buffer[0x100];
- char filenameA[0x100];
- FILE* file;
- XML_Parser parser;
- struct ScriptElement* NextElement = Script->Next;
- wcscpy(Script->Func,L"NOP");
- CurrentScript = Script;
- WideCharToMultiByte(CP_UTF8, 0, filenameW, -1, filenameA, 0x100, NULL, FALSE);
- strcpy(buffer, Path);
- strncat(buffer, filenameA, 0x100-strlen(buffer));
- file = fopen(buffer, "r");
- if(!file)
- {
- MessageBoxW(0,Strings[IDS_XMLERROR_1],0,0);
- return;
- }
-
- parser = XML_ParserCreate(NULL);
- XML_SetElementHandler(parser, Script_tag_opened, NOP_tag_closed);
- XML_SetCharacterDataHandler(parser, NOP_text);
-
- while (!done)
- {
- size_t len = fread (buffer, 1, sizeof(buffer), file);
- done = len < sizeof(buffer);
-
- buffer[len] = 0;
- if(!XML_Parse(parser, buffer, len, done))
- {
- MessageBoxW(0,Strings[IDS_XMLERROR_2],0,0);
- CurrentScript->Next = NextElement;
- return;
- }
- }
-
- XML_ParserFree(parser);
- fclose(file);
- CurrentScript->Next = NextElement;
- return;
-}
-
-void FreeScript (struct ScriptElement* Script)
-{
- if (Script->Next != NULL)
- FreeScript(Script->Next);
- free(Script);
-}
-
-void FreeApps (struct Application* Apps)
-{
- if (Apps->Next)
- FreeApps(Apps->Next);
- if (Apps->InstallScript)
- FreeScript(Apps->InstallScript);
- if (Apps->UninstallScript)
- FreeScript(Apps->UninstallScript);
-
- free(Apps);
-}
-
-void FreeTree (struct Category* Node)
-{
- if (Node->Children)
- FreeTree(Node->Children);
-
- if (Node->Next)
- FreeTree(Node->Next);
-
- if (Node->Apps)
- FreeApps(Node->Apps);
-
- free(Node);
-}
diff --git a/reactos/base/applications/getfirefox/firefox.ico b/reactos/base/applications/getfirefox/firefox.ico
deleted file mode 100755
index 0518438a040..00000000000
Binary files a/reactos/base/applications/getfirefox/firefox.ico and /dev/null differ
diff --git a/reactos/base/applications/getfirefox/getfirefox.c b/reactos/base/applications/getfirefox/getfirefox.c
deleted file mode 100644
index 1dbe21a094f..00000000000
--- a/reactos/base/applications/getfirefox/getfirefox.c
+++ /dev/null
@@ -1,387 +0,0 @@
-/*
- * PROJECT: ReactOS utilities
- * LICENSE: GPL - See COPYING in the top level directory
- * FILE: apps/utils/getfirefox/getfirefox.c
- * PURPOSE: Main program
- * COPYRIGHT: Copyright 2001 John R. Sheets (for CodeWeavers)
- * Copyright 2004 Mike McCormack (for CodeWeavers)
- * Copyright 2005 Ge van Geldorp (gvg@reactos.org)
- */
-/*
- * Based on Wine dlls/shdocvw/shdocvw_main.c
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-
-#include
-
-#define NDEBUG
-#include
-
-#define DOWNLOAD_URL L"http://links.reactos.org/getfirefox"
-
-typedef struct _IBindStatusCallbackImpl
- {
- const IBindStatusCallbackVtbl *vtbl;
- LONG ref;
- HWND hDialog;
- BOOL *pbCancelled;
- } IBindStatusCallbackImpl;
-
-static HRESULT WINAPI
-dlQueryInterface(IBindStatusCallback* This, REFIID riid, void** ppvObject)
-{
- if (NULL == ppvObject)
- {
- return E_POINTER;
- }
-
- if (IsEqualIID(riid, &IID_IUnknown) ||
- IsEqualIID(riid, &IID_IBindStatusCallback))
- {
- IBindStatusCallback_AddRef( This );
- *ppvObject = This;
- return S_OK;
- }
-
- return E_NOINTERFACE;
-}
-
-static ULONG WINAPI
-dlAddRef(IBindStatusCallback* iface)
-{
- IBindStatusCallbackImpl *This = (IBindStatusCallbackImpl *) iface;
-
- return InterlockedIncrement(&This->ref);
-}
-
-static ULONG WINAPI
-dlRelease(IBindStatusCallback* iface)
-{
- IBindStatusCallbackImpl *This = (IBindStatusCallbackImpl *) iface;
- DWORD ref = InterlockedDecrement(&This->ref);
-
- if( !ref )
- {
- DestroyWindow( This->hDialog );
- HeapFree(GetProcessHeap(), 0, This);
- }
-
- return ref;
-}
-
-static HRESULT WINAPI
-dlOnStartBinding(IBindStatusCallback* iface, DWORD dwReserved, IBinding* pib)
-{
- DPRINT1("OnStartBinding not implemented\n");
-
- return S_OK;
-}
-
-static HRESULT WINAPI
-dlGetPriority(IBindStatusCallback* iface, LONG* pnPriority)
-{
- DPRINT1("GetPriority not implemented\n");
-
- return S_OK;
-}
-
-static HRESULT WINAPI
-dlOnLowResource( IBindStatusCallback* iface, DWORD reserved)
-{
- DPRINT1("OnLowResource not implemented\n");
-
- return S_OK;
-}
-
-static HRESULT WINAPI
-dlOnProgress(IBindStatusCallback* iface, ULONG ulProgress,
- ULONG ulProgressMax, ULONG ulStatusCode, LPCWSTR szStatusText)
-{
- IBindStatusCallbackImpl *This = (IBindStatusCallbackImpl *) iface;
- HWND Item;
- LONG r;
- WCHAR OldText[100];
-
- Item = GetDlgItem(This->hDialog, IDC_PROGRESS);
- if (NULL != Item && 0 != ulProgressMax)
- {
- SendMessageW(Item, PBM_SETPOS, (ulProgress * 100) / ulProgressMax, 0);
- }
-
- Item = GetDlgItem(This->hDialog, IDC_STATUS);
- if (NULL != Item && NULL != szStatusText)
- {
- SendMessageW(Item, WM_GETTEXT, sizeof(OldText) / sizeof(OldText[0]),
- (LPARAM) OldText);
- if (sizeof(OldText) / sizeof(OldText[0]) - 1 <= wcslen(OldText) ||
- 0 != wcscmp(OldText, szStatusText))
- {
- SendMessageW(Item, WM_SETTEXT, 0, (LPARAM) szStatusText);
- }
- }
-
- SetLastError(0);
- r = GetWindowLongPtrW(This->hDialog, GWLP_USERDATA);
- if (0 != r || 0 != GetLastError())
- {
- *This->pbCancelled = TRUE;
- DPRINT("Cancelled\n");
- return E_ABORT;
- }
-
- return S_OK;
-}
-
-static HRESULT WINAPI
-dlOnStopBinding(IBindStatusCallback* iface, HRESULT hresult, LPCWSTR szError)
-{
- DPRINT1("OnStopBinding not implemented\n");
-
- return S_OK;
-}
-
-static HRESULT WINAPI
-dlGetBindInfo(IBindStatusCallback* iface, DWORD* grfBINDF, BINDINFO* pbindinfo)
-{
- DPRINT1("GetBindInfo not implemented\n");
-
- return S_OK;
-}
-
-static HRESULT WINAPI
-dlOnDataAvailable(IBindStatusCallback* iface, DWORD grfBSCF,
- DWORD dwSize, FORMATETC* pformatetc, STGMEDIUM* pstgmed)
-{
- DPRINT1("OnDataAvailable implemented\n");
-
- return S_OK;
-}
-
-static HRESULT WINAPI
-dlOnObjectAvailable(IBindStatusCallback* iface, REFIID riid, IUnknown* punk)
-{
- DPRINT1("OnObjectAvailable implemented\n");
-
- return S_OK;
-}
-
-static const IBindStatusCallbackVtbl dlVtbl =
-{
- dlQueryInterface,
- dlAddRef,
- dlRelease,
- dlOnStartBinding,
- dlGetPriority,
- dlOnLowResource,
- dlOnProgress,
- dlOnStopBinding,
- dlGetBindInfo,
- dlOnDataAvailable,
- dlOnObjectAvailable
-};
-
-static IBindStatusCallback*
-CreateDl(HWND Dlg, BOOL *pbCancelled)
-{
- IBindStatusCallbackImpl *This;
-
- This = HeapAlloc(GetProcessHeap(), 0, sizeof(IBindStatusCallbackImpl));
- This->vtbl = &dlVtbl;
- This->ref = 1;
- This->hDialog = Dlg;
- This->pbCancelled = pbCancelled;
-
- return (IBindStatusCallback*) This;
-}
-
-static BOOL
-GetShortcutName(LPWSTR ShortcutName)
-{
- if (! SHGetSpecialFolderPathW(0, ShortcutName, CSIDL_PROGRAMS, FALSE))
- {
- return FALSE;
- }
- if (NULL == PathAddBackslashW(ShortcutName))
- {
- return FALSE;
- }
- if (0 == LoadStringW(GetModuleHandle(NULL), IDS_START_MENU_NAME,
- ShortcutName + wcslen(ShortcutName),
- MAX_PATH - wcslen(ShortcutName)))
- {
- return FALSE;
- }
- if (MAX_PATH - 5 < wcslen(ShortcutName))
- {
- return FALSE;
- }
- wcscat(ShortcutName, L".lnk");
-
- return TRUE;
-}
-
-static DWORD WINAPI
-ThreadFunc(LPVOID Context)
-{
- static const WCHAR szUrl[] = DOWNLOAD_URL;
- IBindStatusCallback *dl;
- WCHAR path[MAX_PATH], ShortcutName[MAX_PATH];
- LPWSTR p;
- STARTUPINFOW si;
- PROCESS_INFORMATION pi;
- HWND Dlg = (HWND) Context;
- DWORD r;
- BOOL bCancelled = FALSE;
- BOOL bTempfile = FALSE;
-
- /* built the path for the download */
- p = wcsrchr(szUrl, L'/');
- if (NULL == p)
- {
- goto end;
- }
- if (! GetTempPathW(MAX_PATH, path))
- {
- goto end;
- }
- wcscat(path, p + 1);
-
- /* download it */
- bTempfile = TRUE;
- dl = CreateDl(Context, &bCancelled);
- r = URLDownloadToFileW(NULL, szUrl, path, 0, dl);
- if (NULL != dl)
- {
- IBindStatusCallback_Release(dl);
- }
- if (S_OK != r || bCancelled )
- {
- goto end;
- }
- ShowWindow(Dlg, SW_HIDE);
-
- /* run it */
- memset(&si, 0, sizeof(si));
- si.cb = sizeof(si);
- r = CreateProcessW(path, NULL, NULL, NULL, 0, 0, NULL, NULL, &si, &pi);
- if (0 == r)
- {
- goto end;
- }
- CloseHandle(pi.hThread);
- WaitForSingleObject(pi.hProcess, INFINITE);
- CloseHandle(pi.hProcess);
-
- if (BST_CHECKED == SendMessageW(GetDlgItem(Dlg, IDC_REMOVE), BM_GETCHECK,
- 0, 0) &&
- GetShortcutName(ShortcutName))
- {
- DeleteFileW(ShortcutName);
- }
-
-end:
- if (bTempfile)
- {
- DeleteFileW(path);
- }
- EndDialog(Dlg, 0);
- return 0;
-}
-
-static INT_PTR CALLBACK
-dlProc(HWND Dlg, UINT Msg, WPARAM wParam, LPARAM lParam)
-{
- HANDLE Thread;
- DWORD ThreadId;
- HWND Item;
- HICON Icon;
- WCHAR ShortcutName[MAX_PATH];
-
- switch (Msg)
- {
- case WM_INITDIALOG:
- Icon = LoadIconW((HINSTANCE) GetWindowLongPtr(Dlg, GWLP_HINSTANCE),
- MAKEINTRESOURCEW(IDI_ICON_MAIN));
- if (NULL != Icon)
- {
- SendMessageW(Dlg, WM_SETICON, ICON_BIG, (LPARAM) Icon);
- SendMessageW(Dlg, WM_SETICON, ICON_SMALL, (LPARAM) Icon);
- }
- SetWindowLongPtrW(Dlg, GWLP_USERDATA, 0);
- Item = GetDlgItem(Dlg, IDC_PROGRESS);
- if (NULL != Item)
- {
- SendMessageW(Item, PBM_SETRANGE, 0, MAKELPARAM(0,100));
- SendMessageW(Item, PBM_SETPOS, 0, 0);
- }
- Item = GetDlgItem(Dlg, IDC_REMOVE);
- if (NULL != Item)
- {
- if (GetShortcutName(ShortcutName) &&
- INVALID_FILE_ATTRIBUTES != GetFileAttributesW(ShortcutName))
- {
- SendMessageW(Item, BM_SETCHECK, BST_CHECKED, 0);
- }
- else
- {
- SendMessageW(Item, BM_SETCHECK, BST_UNCHECKED, 0);
- ShowWindow(Item, SW_HIDE);
- }
- }
- Thread = CreateThread(NULL, 0, ThreadFunc, Dlg, 0, &ThreadId);
- if (NULL == Thread)
- {
- return FALSE;
- }
- CloseHandle(Thread);
- return TRUE;
-
- case WM_COMMAND:
- if (wParam == IDCANCEL)
- {
- SetWindowLongPtrW(Dlg, GWLP_USERDATA, 1);
- PostMessage(Dlg, WM_CLOSE, 0, 0);
- }
- return FALSE;
-
- case WM_CLOSE:
- EndDialog(Dlg, 0);
- return TRUE;
-
- default:
- return FALSE;
- }
-}
-
-
-/***********************************************************************
- * Main program
- */
-
-int WINAPI
-WinMain(HINSTANCE hThisInstance,
- HINSTANCE hPrevInstance,
- LPSTR lpCmdLine,
- int nCmdShow)
-{
- InitCommonControls();
-
- DialogBoxW(hThisInstance, MAKEINTRESOURCEW(IDD_GETFIREFOX), 0,
- dlProc);
- return 0;
-
-}
diff --git a/reactos/base/applications/getfirefox/getfirefox.rbuild b/reactos/base/applications/getfirefox/getfirefox.rbuild
deleted file mode 100644
index b0c276d6592..00000000000
--- a/reactos/base/applications/getfirefox/getfirefox.rbuild
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
- .
-
-
-
- 0x0501
-
-
-#include "rsrc.rc"
-
-
-
-
-
diff --git a/reactos/base/applications/getfirefox/lang/de-DE.rc b/reactos/base/applications/getfirefox/lang/de-DE.rc
deleted file mode 100644
index b2574fb509b..00000000000
--- a/reactos/base/applications/getfirefox/lang/de-DE.rc
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * PROJECT: ReactOS utilities
- * LICENSE: GPL - See COPYING in the top level directory
- * FILE: apps/utils/getfirefox/En.rc
- * PURPOSE: English resources
- * COPYRIGHT: Copyright 2004 Mike McCormack for CodeWeavers
- * Copyright 2005 Ge van Geldorp (gvg@reactos.org)
- */
-/*
- * Based on Wine dlls/shdocvw/En.rc
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-LANGUAGE LANG_GERMAN, SUBLANG_DEFAULT
-
-IDD_GETFIREFOX DIALOG LOADONCALL MOVEABLE DISCARDABLE 0, 0, 220, 76
-STYLE DS_MODALFRAME | DS_CENTER | WS_VISIBLE | WS_POPUP | WS_CAPTION | WS_SYSMENU
-CAPTION "Lade Firefox herunter"
-FONT 8, "MS Shell Dlg"
-{
- CONTROL "Progress1",IDC_PROGRESS,"msctls_progress32",WS_BORDER|PBS_SMOOTH,10,10,200,12
- LTEXT "", IDC_STATUS, 10, 30, 200, 10, SS_CENTER
- CHECKBOX "Entferne ""Get Firefox"" nach Fertigstellung aus dem Startmenü", IDC_REMOVE,
- 10, 44, 200, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
- PUSHBUTTON "Abbrechen", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP
-}
-
-STRINGTABLE
-BEGIN
- IDS_START_MENU_NAME "Get Firefox"
-END
diff --git a/reactos/base/applications/getfirefox/lang/en-US.rc b/reactos/base/applications/getfirefox/lang/en-US.rc
deleted file mode 100644
index 3b8b3108fd2..00000000000
--- a/reactos/base/applications/getfirefox/lang/en-US.rc
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * PROJECT: ReactOS utilities
- * LICENSE: GPL - See COPYING in the top level directory
- * FILE: apps/utils/getfirefox/En.rc
- * PURPOSE: English resources
- * COPYRIGHT: Copyright 2004 Mike McCormack for CodeWeavers
- * Copyright 2005 Ge van Geldorp (gvg@reactos.org)
- */
-/*
- * Based on Wine dlls/shdocvw/En.rc
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT
-
-IDD_GETFIREFOX DIALOG LOADONCALL MOVEABLE DISCARDABLE 0, 0, 220, 76
-STYLE DS_MODALFRAME | DS_CENTER | WS_VISIBLE | WS_POPUP | WS_CAPTION | WS_SYSMENU
-CAPTION "Downloading Firefox"
-FONT 8, "MS Shell Dlg"
-{
- CONTROL "Progress1",IDC_PROGRESS,"msctls_progress32",WS_BORDER|PBS_SMOOTH,10,10,200,12
- LTEXT "", IDC_STATUS, 10, 30, 200, 10, SS_CENTER
- CHECKBOX "Remove ""Get Firefox"" from Start Menu when done", IDC_REMOVE,
- 10, 44, 200, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
- PUSHBUTTON "Cancel", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP
-}
-
-STRINGTABLE
-BEGIN
- IDS_START_MENU_NAME "Get Firefox"
-END
diff --git a/reactos/base/applications/getfirefox/lang/fr-FR.rc b/reactos/base/applications/getfirefox/lang/fr-FR.rc
deleted file mode 100644
index e394732f98b..00000000000
--- a/reactos/base/applications/getfirefox/lang/fr-FR.rc
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * PROJECT: ReactOS utilities
- * LICENSE: GPL - See COPYING in the top level directory
- * FILE: apps/utils/getfirefox/En.rc
- * PURPOSE: French resources
- * COPYRIGHT: Copyright 2004 Mike McCormack for CodeWeavers
- * Copyright 2005 Ge van Geldorp (gvg@reactos.org)
- * Copyright 2005 G. Maton (mustang9@gmail.com) - French translation
- */
-/*
- * Based on Wine dlls/shdocvw/En.rc
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-LANGUAGE LANG_FRENCH, SUBLANG_DEFAULT
-
-IDD_GETFIREFOX DIALOG LOADONCALL MOVEABLE DISCARDABLE 0, 0, 220, 76
-STYLE DS_MODALFRAME | DS_CENTER | WS_VISIBLE | WS_POPUP | WS_CAPTION | WS_SYSMENU
-CAPTION "Téléchargement de Firefox"
-FONT 8, "MS Shell Dlg"
-{
- CONTROL "Progress1",IDC_PROGRESS,"msctls_progress32",WS_BORDER|PBS_SMOOTH,10,10,200,12
- LTEXT "", IDC_STATUS, 10, 30, 200, 10, SS_CENTER
- CHECKBOX "Supprimer ""Obtenir Firefox"" du Menu démarrer une fois terminé", IDC_REMOVE,
- 10, 44, 200, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
- PUSHBUTTON "Annuler", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP
-}
-
-STRINGTABLE
-BEGIN
- IDS_START_MENU_NAME "Obtenir Firefox"
-END
diff --git a/reactos/base/applications/getfirefox/lang/hu-HU.rc b/reactos/base/applications/getfirefox/lang/hu-HU.rc
deleted file mode 100644
index 770cf2862d3..00000000000
--- a/reactos/base/applications/getfirefox/lang/hu-HU.rc
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * PROJECT: ReactOS utilities
- * LICENSE: GPL - See COPYING in the top level directory
- * FILE: apps/utils/getfirefox/En.rc
- * PURPOSE: English resources
- * COPYRIGHT: Copyright 2004 Mike McCormack for CodeWeavers
- * Copyright 2005 Ge van Geldorp (gvg@reactos.org)
- * Copyright 2005 Robert Horvath (talley@cubeclub.hu) - Hungarian translation
- */
-/*
- * Based on Wine dlls/shdocvw/En.rc
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-LANGUAGE LANG_HUNGARIAN, SUBLANG_DEFAULT
-
-IDD_GETFIREFOX DIALOG LOADONCALL MOVEABLE DISCARDABLE 0, 0, 220, 76
-STYLE DS_MODALFRAME | DS_CENTER | WS_VISIBLE | WS_POPUP | WS_CAPTION | WS_SYSMENU
-CAPTION "A Firefox letöltése"
-FONT 8, "MS Shell Dlg"
-{
- CONTROL "Progress1",IDC_PROGRESS,"msctls_progress32",WS_BORDER|PBS_SMOOTH,10,10,200,12
- LTEXT "", IDC_STATUS, 10, 30, 200, 10, SS_CENTER
- CHECKBOX "A ""Szerezd meg a Firefoxot"" elvátolítása a Start Menüből befejezés után", IDC_REMOVE,
- 10, 44, 200, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
- PUSHBUTTON "Mégse", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP
-}
-
-STRINGTABLE
-BEGIN
- IDS_START_MENU_NAME "Szerezd meg Firefoxot"
-END
diff --git a/reactos/base/applications/getfirefox/lang/id-ID.rc b/reactos/base/applications/getfirefox/lang/id-ID.rc
deleted file mode 100644
index 7794d734e71..00000000000
--- a/reactos/base/applications/getfirefox/lang/id-ID.rc
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * PROJECT: ReactOS utilities
- * LICENSE: GPL - See COPYING in the top level directory
- * FILE: base/applications/getfirefox/lang/id-ID.rc
- * PURPOSE: Indonesian resources
- * COPYRIGHT: Copyright 2004 Mike McCormack for CodeWeavers
- * Copyright 2005 Ge van Geldorp (gvg@reactos.org)
- * Copyright 2007 Zaenal Mutaqin (ade999@gmail.com) Indonesian translation
- */
-
-LANGUAGE LANG_INDONESIAN, SUBLANG_DEFAULT
-
-IDD_GETFIREFOX DIALOG LOADONCALL MOVEABLE DISCARDABLE 0, 0, 220, 76
-STYLE DS_MODALFRAME | DS_CENTER | WS_VISIBLE | WS_POPUP | WS_CAPTION | WS_SYSMENU
-CAPTION "Mendownload Firefox"
-FONT 8, "MS Shell Dlg"
-{
- CONTROL "Progress1",IDC_PROGRESS,"msctls_progress32",WS_BORDER|PBS_SMOOTH,10,10,200,12
- LTEXT "", IDC_STATUS, 10, 30, 200, 10, SS_CENTER
- CHECKBOX "Hapus ""Dapatkan Firefox"" dari Menu Start bila selesai", IDC_REMOVE,
- 10, 44, 200, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
- PUSHBUTTON "Batal", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP
-}
-
-STRINGTABLE
-BEGIN
- IDS_START_MENU_NAME "Dapatkan Firefox"
-END
diff --git a/reactos/base/applications/getfirefox/lang/it-IT.rc b/reactos/base/applications/getfirefox/lang/it-IT.rc
deleted file mode 100644
index 462cbb57456..00000000000
--- a/reactos/base/applications/getfirefox/lang/it-IT.rc
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * PROJECT: ReactOS utilities
- * LICENSE: GPL - See COPYING in the top level directory
- * FILE: apps/utils/getfirefox/It.rc
- * PURPOSE: Italian resources
- * COPYRIGHT: Copyright 2004 Mike McCormack for CodeWeavers
- * Copyright 2005 Ge van Geldorp (gvg@reactos.org)
- */
-/*
- * Based on Wine dlls/shdocvw/En.rc
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL
-
-IDD_GETFIREFOX DIALOG LOADONCALL MOVEABLE DISCARDABLE 0, 0, 220, 76
-STYLE DS_MODALFRAME | DS_CENTER | WS_VISIBLE | WS_POPUP | WS_CAPTION | WS_SYSMENU
-CAPTION "Scaricando Firefox"
-FONT 8, "MS Shell Dlg"
-{
- CONTROL "Progress1",IDC_PROGRESS,"msctls_progress32",WS_BORDER|PBS_SMOOTH,10,10,200,12
- LTEXT "", IDC_STATUS, 10, 30, 200, 10, SS_CENTER
- CHECKBOX "Rimuovere ""Ottieni Firefox"" dal Menů di Avvio", IDC_REMOVE,
- 10, 44, 200, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
- PUSHBUTTON "Cancel", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP
-}
-
-STRINGTABLE
-BEGIN
- IDS_START_MENU_NAME "Ottieni Firefox"
-END
diff --git a/reactos/base/applications/getfirefox/lang/nb-NO.rc b/reactos/base/applications/getfirefox/lang/nb-NO.rc
deleted file mode 100644
index 1b8fa664280..00000000000
--- a/reactos/base/applications/getfirefox/lang/nb-NO.rc
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * PROJECT: ReactOS utilities
- * LICENSE: GPL - See COPYING in the top level directory
- * FILE: apps/utils/getfirefox/En.rc
- * PURPOSE: Norwegian resources
- * COPYRIGHT: Copyright 2004 Mike McCormack for CodeWeavers
- * Copyright 2005 Ge van Geldorp (gvg@reactos.org)
- */
-/*
- * Based on Wine dlls/shdocvw/En.rc
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-LANGUAGE LANG_NORWEGIAN, SUBLANG_NORWEGIAN_BOKMAL
-
-IDD_GETFIREFOX DIALOG LOADONCALL MOVEABLE DISCARDABLE 0, 0, 220, 76
-STYLE DS_MODALFRAME | DS_CENTER | WS_VISIBLE | WS_POPUP | WS_CAPTION | WS_SYSMENU
-CAPTION "laster ned Firefox"
-FONT 8, "MS Shell Dlg"
-{
- CONTROL "Progress1",IDC_PROGRESS,"msctls_progress32",WS_BORDER|PBS_SMOOTH,10,10,200,12
- LTEXT "", IDC_STATUS, 10, 30, 200, 10, SS_CENTER
- CHECKBOX "Fjern 'Last Ned Firefox' fra startmenyen", IDC_REMOVE,
- 10, 44, 200, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
- PUSHBUTTON "Avbryt", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP
-}
-
-STRINGTABLE
-BEGIN
- IDS_START_MENU_NAME "Fĺ Firefox"
-END
diff --git a/reactos/base/applications/getfirefox/lang/nl-NL.rc b/reactos/base/applications/getfirefox/lang/nl-NL.rc
deleted file mode 100644
index 7806c5894aa..00000000000
--- a/reactos/base/applications/getfirefox/lang/nl-NL.rc
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * PROJECT: ReactOS utilities
- * LICENSE: GPL - See COPYING in the top level directory
- * FILE: apps/utils/getfirefox/Nl.rc
- * PURPOSE: Dutch resources
- * COPYRIGHT: Copyright 2004 Mike McCormack for CodeWeavers
- * Copyright 2005 Ge van Geldorp (gvg@reactos.org)
- */
-/*
- * Based on Wine dlls/shdocvw/En.rc
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-LANGUAGE LANG_DUTCH, SUBLANG_DUTCH
-
-IDD_GETFIREFOX DIALOG LOADONCALL MOVEABLE DISCARDABLE 0, 0, 220, 76
-STYLE DS_MODALFRAME | DS_CENTER | WS_VISIBLE | WS_POPUP | WS_CAPTION | WS_SYSMENU
-CAPTION "Bezig met downloaden van Firefox"
-FONT 8, "MS Shell Dlg"
-{
- CONTROL "Progress1",IDC_PROGRESS,"msctls_progress32",WS_BORDER|PBS_SMOOTH,10,10,200,12
- LTEXT "", IDC_STATUS, 10, 30, 200, 10, SS_CENTER
- CHECKBOX "Verwijder ""Get Firefox"" uit het start menu wanneer de download compleet is", IDC_REMOVE,
- 10, 44, 200, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
- PUSHBUTTON "Annuleren", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP
-}
-
-STRINGTABLE
-BEGIN
- IDS_START_MENU_NAME "Get Firefox"
-END
diff --git a/reactos/base/applications/getfirefox/lang/ru-RU.rc b/reactos/base/applications/getfirefox/lang/ru-RU.rc
deleted file mode 100644
index 00d3c197f0e..00000000000
--- a/reactos/base/applications/getfirefox/lang/ru-RU.rc
+++ /dev/null
@@ -1,18 +0,0 @@
-LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
-
-IDD_GETFIREFOX DIALOG LOADONCALL MOVEABLE DISCARDABLE 0, 0, 220, 76
-STYLE DS_MODALFRAME | DS_CENTER | WS_VISIBLE | WS_POPUP | WS_CAPTION | WS_SYSMENU
-CAPTION "Ńęŕ÷čâŕíčĺ Firefox"
-FONT 8, "MS Shell Dlg"
-{
- CONTROL "Progress1",IDC_PROGRESS,"msctls_progress32",WS_BORDER|PBS_SMOOTH,10,10,200,12
- LTEXT "", IDC_STATUS, 10, 30, 200, 10, SS_CENTER
- CHECKBOX "Óäŕëčňü ""Ńęŕ÷ŕňü Firefox"" čç ěĺíţ ""Ďóńę"" ďđč çŕâĺđřĺíčč", IDC_REMOVE,
- 10, 44, 200, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
- PUSHBUTTON "Îňěĺíŕ", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP
-}
-
-STRINGTABLE
-BEGIN
- IDS_START_MENU_NAME "Ńęŕ÷ŕňü Firefox"
-END
diff --git a/reactos/base/applications/getfirefox/lang/sv-SE.rc b/reactos/base/applications/getfirefox/lang/sv-SE.rc
deleted file mode 100644
index 7c91c9574c2..00000000000
--- a/reactos/base/applications/getfirefox/lang/sv-SE.rc
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * PROJECT: ReactOS utilities
- * LICENSE: GPL - See COPYING in the top level directory
- * FILE: apps/utils/getfirefox/Sv.rc
- * PURPOSE: Swedish resources
- * COPYRIGHT: Copyright 2004 Mike McCormack for CodeWeavers
- * Copyright 2005 Ge van Geldorp (gvg@reactos.org)
- * Copyright 2006 Andreas Bjerkeholt (harteex@gmail.com)
- */
-/*
- * Based on Wine dlls/shdocvw/En.rc
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-LANGUAGE LANG_SWEDISH, SUBLANG_SWEDISH
-
-IDD_GETFIREFOX DIALOG LOADONCALL MOVEABLE DISCARDABLE 0, 0, 220, 76
-STYLE DS_MODALFRAME | DS_CENTER | WS_VISIBLE | WS_POPUP | WS_CAPTION | WS_SYSMENU
-CAPTION "Hämtar Firefox"
-FONT 8, "MS Shell Dlg"
-{
- CONTROL "Progress1",IDC_PROGRESS,"msctls_progress32",WS_BORDER|PBS_SMOOTH,10,10,200,12
- LTEXT "", IDC_STATUS, 10, 30, 200, 10, SS_CENTER
- CHECKBOX "Ta bort ""Hämta Firefox"" frĺn startmenyn när nedladdningen är klar", IDC_REMOVE,
- 10, 44, 200, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
- PUSHBUTTON "Avbryt", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP
-}
-
-STRINGTABLE
-BEGIN
- IDS_START_MENU_NAME "Hämta Firefox"
-END
-
diff --git a/reactos/base/applications/getfirefox/lang/th-TH.rc b/reactos/base/applications/getfirefox/lang/th-TH.rc
deleted file mode 100644
index 92a9952db0c..00000000000
--- a/reactos/base/applications/getfirefox/lang/th-TH.rc
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * PROJECT: ReactOS utilities
- * LICENSE: GPL - See COPYING in the top level directory
- * FILE: base/applications/getfirefox/lang/th-TH.rc
- * PURPOSE: Thai resources
- * COPYRIGHT: Copyright 2004 Mike McCormack for CodeWeavers
- * Copyright 2005 Ge van Geldorp (gvg@reactos.org)
- * Copyright 2006 Sumath Aowsakulsutthi (Thai translation)
- */
-
-LANGUAGE LANG_THAI, SUBLANG_DEFAULT
-
-IDD_GETFIREFOX DIALOG LOADONCALL MOVEABLE DISCARDABLE 0, 0, 220, 76
-STYLE DS_MODALFRAME | DS_CENTER | WS_VISIBLE | WS_POPUP | WS_CAPTION | WS_SYSMENU
-CAPTION "´ŇÇąěâËĹ´ Firefox"
-FONT 8, "MS Shell Dlg"
-{
- CONTROL "Progress1",IDC_PROGRESS,"msctls_progress32",WS_BORDER|PBS_SMOOTH,10,10,200,12
- LTEXT "", IDC_STATUS, 10, 30, 200, 10, SS_CENTER
- CHECKBOX "ŕ¤Ĺ×čÍąÂéŇÂ""ąÓŕ˘éŇâ»ĂáˇĂÁ Firefox"" ŕĂÔčÁµéą¨ŇˇĂŇ¡ŇĂËĹѡ", IDC_REMOVE,
- 10, 44, 200, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
- PUSHBUTTON "¡ŕĹÔˇ", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP
-}
-
-STRINGTABLE
-BEGIN
- IDS_START_MENU_NAME "ąÓŕ˘éŇâ»ĂáˇĂÁ Firefox"
-END
diff --git a/reactos/base/applications/getfirefox/lang/uk-UA.rc b/reactos/base/applications/getfirefox/lang/uk-UA.rc
deleted file mode 100644
index 4f2fd8c4a70..00000000000
--- a/reactos/base/applications/getfirefox/lang/uk-UA.rc
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * getfirefox (Ukrainian resources)
- *
- * Copyright 2006 Artem Reznikov
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
-
-IDD_GETFIREFOX DIALOG LOADONCALL MOVEABLE DISCARDABLE 0, 0, 220, 76
-STYLE DS_MODALFRAME | DS_CENTER | WS_VISIBLE | WS_POPUP | WS_CAPTION | WS_SYSMENU
-CAPTION "Çŕâŕíňŕćĺíí˙ Firefox"
-FONT 8, "MS Shell Dlg"
-{
- CONTROL "Progress1",IDC_PROGRESS,"msctls_progress32",WS_BORDER|PBS_SMOOTH,10,10,200,12
- LTEXT "", IDC_STATUS, 10, 30, 200, 10, SS_CENTER
- CHECKBOX "Âčäŕëčňč ""Çŕâŕíňŕćčňč Firefox"" ç ěĺíţ ""Ďóńę"" ďłńë˙ çŕâĺđřĺíí˙", IDC_REMOVE,
- 10, 44, 200, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
- PUSHBUTTON "Ńęŕńóâŕňč", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP
-}
-
-STRINGTABLE
-BEGIN
- IDS_START_MENU_NAME "Çŕâŕíňŕćčňč Firefox"
-END
diff --git a/reactos/base/applications/getfirefox/precomp.h b/reactos/base/applications/getfirefox/precomp.h
deleted file mode 100644
index 74846e2a836..00000000000
--- a/reactos/base/applications/getfirefox/precomp.h
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * PROJECT: ReactOS utilities
- * LICENSE: GPL - See COPYING in the top level directory
- * FILE: apps/utils/getfirefox/precomp.h
- * PURPOSE: Precompiled header file
- * COPYRIGHT: Copyright 2005 Ge van Geldorp (gvg@reactos.org)
- */
-
-#define COBJMACROS
-#define WIN32_NO_STATUS
-#include
-#include
-#include
-#include
-#include
-
-#include "resource.h"
diff --git a/reactos/base/applications/getfirefox/resource.h b/reactos/base/applications/getfirefox/resource.h
deleted file mode 100644
index 8928a74d996..00000000000
--- a/reactos/base/applications/getfirefox/resource.h
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * PROJECT: ReactOS utilities
- * LICENSE: GPL - See COPYING in the top level directory
- * FILE: apps/utils/getfirefox/resource.h
- * PURPOSE: Resource constants
- * COPYRIGHT: Copyright 2005 Ge van Geldorp (gvg@reactos.org)
- */
-
-#define IDI_ICON_MAIN 1
-
-#define IDD_GETFIREFOX 100
-
-#define IDC_PROGRESS 1000
-#define IDC_STATUS 1001
-#define IDC_REMOVE 1002
-
-#define IDS_START_MENU_NAME 1100
diff --git a/reactos/base/applications/getfirefox/rsrc.rc b/reactos/base/applications/getfirefox/rsrc.rc
deleted file mode 100644
index 3b56b9e88c4..00000000000
--- a/reactos/base/applications/getfirefox/rsrc.rc
+++ /dev/null
@@ -1,31 +0,0 @@
-
-
-#include
-#include "resource.h"
-
-/*
- * Note: this icon is the "default logo" referenced here:
- * http://www.mozilla.org/foundation/trademarks/faq.html (under "What are the
- * Mozilla Trademarks and Logos?"). Don't use the official Firefox logo as it
- * is trademarked.
- */
-1 ICON "firefox.ico"
-
-
-/* define language neutral resources */
-
-LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
-
-/* include localised resources */
-#include "lang/de-DE.rc"
-#include "lang/en-US.rc"
-#include "lang/fr-FR.rc"
-#include "lang/hu-HU.rc"
-#include "lang/id-ID.rc"
-#include "lang/it-IT.rc"
-#include "lang/nl-NL.rc"
-#include "lang/nb-NO.rc"
-#include "lang/ru-RU.rc"
-#include "lang/sv-SE.rc"
-#include "lang/th-TH.rc"
-#include "lang/uk-UA.rc"
diff --git a/reactos/base/applications/gettype/gettype.c b/reactos/base/applications/gettype/gettype.c
deleted file mode 100644
index ea98d326e65..00000000000
--- a/reactos/base/applications/gettype/gettype.c
+++ /dev/null
@@ -1,394 +0,0 @@
-/*
- * ReactOS Win32 Applications
- * Copyright (C) 2005 ReactOS Team
- *
- * COPYRIGHT: See COPYING in the top level directory
- * PROJECT: ReactOS arp utility
- * FILE: apps/utils/gettype/gettype.c
- * PURPOSE:
- * PROGRAMMERS: Brandon Turner (turnerb7@msu.edu)
- * REVISIONS:
- * GM 30/10/05 Created
- *
- * FIXME: gettype only supports local computer.
- */
-#include
-#include
-#include
-#include
-#include
-
-enum
-{
- GETTYPE_ROLE = 0x001,
- GETTYPE_HELP = 0x002,
- GETTYPE_SP = 0x004,
- GETTYPE_VER = 0x008,
- GETTYPE_MINV = 0x010,
- GETTYPE_MAJV = 0x020,
- GETTYPE_TYPE = 0x040,
- GETTYPE_BUILD = 0x080
-};
-
-INT
-GetVersionNumber(BOOL bLocal, LPOSVERSIONINFOEX osvi, LPSERVER_INFO_102 pBuf102)
-{
- INT VersionNumber = 255;
- if(pBuf102 != NULL && !bLocal)
- {
- VersionNumber = pBuf102->sv102_version_major * 1000;
- VersionNumber += (pBuf102->sv102_version_minor * 100);
- }
- else if(bLocal)
- {
- VersionNumber = osvi->dwMajorVersion * 1000;
- VersionNumber += (osvi->dwMinorVersion * 100);
- }
-
- return VersionNumber;
-}
-
-INT
-GetMajValue(BOOL Major, BOOL bLocal, LPOSVERSIONINFOEX osvi, LPSERVER_INFO_102 pBuf102)
-{
- INT VersionNumber = 255;
- if(pBuf102 != NULL && !bLocal)
- {
- if(Major)
- VersionNumber = pBuf102->sv102_version_major * 1000;
- else
- VersionNumber = pBuf102->sv102_version_minor * 100;
- }
- else
- {
- if(Major)
- VersionNumber = osvi->dwMajorVersion * 1000;
- else
- VersionNumber = osvi->dwMinorVersion * 100;
- }
- return VersionNumber;
-}
-
-INT
-GetSystemRole(BOOL bLocal, LPOSVERSIONINFOEX osvi, LPSERVER_INFO_102 pBuf102)
-{
-
- if(pBuf102 != NULL && !bLocal)
- {
- if ((pBuf102->sv102_type & SV_TYPE_DOMAIN_CTRL) ||
- (pBuf102->sv102_type & SV_TYPE_DOMAIN_BAKCTRL))
- return 1;
- else if(pBuf102->sv102_type & SV_TYPE_SERVER_NT)
- return 2;
- else
- return 3;
- }
- else
- {
- if(osvi->wProductType == VER_NT_DOMAIN_CONTROLLER)
- return 1;
- else if(osvi->wProductType == VER_NT_SERVER)
- return 2;
- else if(osvi->wProductType == VER_NT_WORKSTATION)
- return 3;
- }
- return 255;
-
-}
-
-INT
-GetServicePack(BOOL bLocal, LPOSVERSIONINFOEX osvi, LPSERVER_INFO_102 pBuf102, TCHAR * Server)
-{
- INT SPNumber = 255;
- if(!bLocal)
- {
- /* FIXME: Use Registry to get value */
- }
- else
- {
- SPNumber = osvi->wServicePackMajor;
- }
- return SPNumber;
-}
-
-INT
-GetBuildNumber(BOOL bLocal, LPOSVERSIONINFOEX osvi, LPSERVER_INFO_102 pBuf102)
-{
- INT BuildNum = 255;
- if(!bLocal)
- {
- /* FIXME: Use Registry to get value */
- }
- else
- {
- BuildNum = osvi->dwBuildNumber;
- }
- return BuildNum;
-}
-
-INT GetType(BOOL bLocal, LPOSVERSIONINFOEX osvi, LPSERVER_INFO_102 pBuf102)
-{
- if(bLocal)
- {
- if(osvi->dwMajorVersion == 5)
- {
- if(osvi->dwMinorVersion == 1)
- {
- if(osvi->wSuiteMask & VER_SUITE_PERSONAL)
- return 1;
- else
- return 2;
- }
- else if(osvi->dwMinorVersion == 2)
- {
- if(osvi->wSuiteMask & VER_SUITE_BLADE)
- return 6;
- else if(osvi->wSuiteMask & VER_SUITE_DATACENTER)
- return 5;
- else if(osvi->wSuiteMask & VER_SUITE_ENTERPRISE)
- return 4;
- else
- return 3;
- }
- }
- }
- else
- {
- /* FIXME: Get this value from registry */
- }
- return 255;
-}
-
-VOID
-GetBasicInfo(LPOSVERSIONINFOEX osvi, TCHAR * HostName, TCHAR * OSName, TCHAR * Version, TCHAR * Role, TCHAR * Components)
-{
- /* Host Name - COMPUTERNAME*/
- DWORD bufCharCount = 1024;
- GetComputerName(HostName, &bufCharCount);
-
-
- /* OSName - Windows XP Home Editition */
- if(osvi->dwMajorVersion == 4)
- {
- _tcscpy(OSName, _T("Microsoft Windows NT 4.0 "));
- }
- else if(osvi->dwMajorVersion == 5)
- {
- if(osvi->dwMajorVersion == 0)
- {
- _tcscpy(OSName, _T("Microsoft Windows 2000 "));
- }
- else if(osvi->dwMinorVersion == 1)
- {
- _tcscpy(OSName, _T("Microsoft Windows XP "));
- }
- else if(osvi->dwMinorVersion == 2)
- {
- _tcscpy(OSName, _T("Microsoft Windows Server 2003 "));
- }
- }
- else if(osvi->dwMajorVersion == 6)
- {
- _tcscpy(OSName, _T("Microsoft Windows Vista "));
- }
- else
- {
- _tcscpy(OSName, _T("Microsoft Windows "));
- }
-
- if(osvi->wSuiteMask & VER_SUITE_BLADE)
- _tcscat(OSName, _T("Web Edition"));
- if(osvi->wSuiteMask & VER_SUITE_DATACENTER)
- _tcscat(OSName, _T("Datacenter"));
- if(osvi->wSuiteMask & VER_SUITE_ENTERPRISE)
- _tcscat(OSName, _T("Enterprise"));
- if(osvi->wSuiteMask & VER_SUITE_EMBEDDEDNT)
- _tcscat(OSName, _T("Embedded"));
- if(osvi->wSuiteMask & VER_SUITE_PERSONAL)
- _tcscat(OSName, _T("Home Edition"));
- if(osvi->wSuiteMask & VER_SUITE_SMALLBUSINESS_RESTRICTED && osvi->wSuiteMask & VER_SUITE_SMALLBUSINESS)
- _tcscat(OSName, _T("Small Bussiness Edition"));
-
- /* Version - 5.1 Build 2600 Serivce Pack 2 */
- _stprintf(Version, _T("%d.%d Build %d %s"),(int)osvi->dwMajorVersion,(int)osvi->dwMinorVersion,(int)osvi->dwBuildNumber, osvi->szCSDVersion);
-
- /* Role - Workgroup / Server / Domain Controller */
- if(osvi->wProductType == VER_NT_DOMAIN_CONTROLLER)
- _tcscpy(Role, _T("Domain Controller"));
- else if(osvi->wProductType == VER_NT_SERVER)
- _tcscpy(Role, _T("Server"));
- else if(osvi->wProductType == VER_NT_WORKSTATION)
- _tcscpy(Role, _T("Workgroup"));
-
- /* Components - FIXME: what is something that might be installed? */
- _tcscat(Components, _T("Not Installed"));
-
-}
-
-INT
-main (VOID)
-{
- DWORD Operations = 0;
- INT ret = 255;
- INT i = 0;
- INT argc = 0;
- /* True if the target is local host */
- BOOL bLocal = TRUE;
- DWORD nStatus = 0;
- TCHAR ServerName[32];
- TCHAR RemoteResource[32];
- TCHAR UserName[32] = _T("");
- TCHAR Password[32] = _T("");
- LPOSVERSIONINFOEX osvi = NULL;
- LPSERVER_INFO_102 pBuf102 = NULL;
- LPTSTR * argv;
- osvi = (LPOSVERSIONINFOEX)malloc(sizeof(LPOSVERSIONINFOEX));
- pBuf102 = (LPSERVER_INFO_102)malloc(sizeof(LPSERVER_INFO_102));
-
- /* Get the command line correctly since it is unicode */
- argv = CommandLineToArgvW(GetCommandLineW(), &argc);
-
-
- /* Process flags */
- if(argc)
- {
- for (i = 1; i < argc; i++)
- {
- if(!_tcsicmp(argv[i], _T("/ROLE")) && !Operations)
- Operations |= GETTYPE_ROLE;
- else if(!_tcsicmp(argv[i], _T("/VER")) && !Operations)
- Operations |= GETTYPE_VER;
- else if(!_tcsicmp(argv[i], _T("/MAJV")) && !Operations)
- Operations |= GETTYPE_MAJV;
- else if(!_tcsicmp(argv[i], _T("/MINV")) && !Operations)
- Operations |= GETTYPE_MINV;
- else if(!_tcsicmp(argv[i], _T("/SP")) && !Operations)
- Operations |= GETTYPE_SP;
- else if(!_tcsicmp(argv[i], _T("/BUILD")) && !Operations)
- Operations |= GETTYPE_BUILD;
- else if(!_tcsicmp(argv[i], _T("/TYPE")) && !Operations)
- Operations |= GETTYPE_TYPE;
- else if(!_tcsicmp(argv[i], _T("/?")) && !Operations)
- Operations |= GETTYPE_HELP;
- else if(!_tcsicmp(argv[i], _T("/S")) && i + 1 < argc)
- {
- _tcscpy(ServerName,argv[++i]);
- bLocal = FALSE;
- }
- else if(!wcsicmp(argv[i], L"/U") && i + 1 < argc)
- _tcscpy(UserName,argv[++i]);
- else if(!wcsicmp(argv[i], L"/P") && i + 1 < argc)
- _tcscpy(Password,argv[++i]);
- else
- {
- wprintf(L"Error in paramters, please see usage\n");
- return 255;
- }
- }
- }
-
- /* Some debug info */
- //_tprintf(_T("%s - %s - %s - %d"), ServerName, UserName, Password, (int)Operations);
-
- if(!bLocal)
- {
- NETRESOURCE nr;
-
-
- /* \\*IP or Computer Name*\*Share* */
- _stprintf(RemoteResource, _T("\\\\%s\\IPC$"), ServerName);
-
- nr.dwType = RESOURCETYPE_ANY;
- nr.lpLocalName = NULL;
- nr.lpProvider= NULL;
- nr.lpRemoteName = RemoteResource;
-
- /* open a connection to the server with difference user/pass. */
- nStatus = WNetAddConnection2(&nr, UserName[0]?UserName:NULL,Password[0]?Password:NULL, CONNECT_INTERACTIVE | CONNECT_COMMANDLINE);
-
- if(nStatus != NO_ERROR)
- {
- _tprintf(_T("Error:%d-%d\n"),(int)nStatus,GetLastError());
- return 255;
- }
- }
-
- /* Use GetVersionEx for anything that we are looking for locally */
- if(bLocal)
- {
- osvi->dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX);
- if(!GetVersionEx((LPOSVERSIONINFO)osvi))
- {
- _tprintf(_T("Failed to get local information\n"));
- return 255;
- }
- }
- else
- {
- nStatus = NetServerGetInfo(NULL,102,(LPBYTE *)&pBuf102);
- if (nStatus != NERR_Success)
- {
- _tprintf(_T("Failed to connection to remote machine\n"));
- return 255;
- }
-
- }
-
- if(Operations & GETTYPE_VER)
- {
- ret = GetVersionNumber(bLocal, osvi, pBuf102);
- }
- else if(Operations & GETTYPE_MAJV)
- {
- ret = GetMajValue(TRUE, bLocal, osvi, pBuf102);
- }
- else if(Operations & GETTYPE_MINV)
- {
- ret = GetMajValue(FALSE, bLocal, osvi, pBuf102);
- }
- else if(Operations & GETTYPE_ROLE)
- {
- ret = GetSystemRole(bLocal, osvi, pBuf102);
- }
- else if(Operations & GETTYPE_SP)
- {
- ret = GetServicePack(bLocal, osvi, pBuf102, ServerName);
- }
- else if(Operations & GETTYPE_BUILD)
- {
- ret = GetBuildNumber(bLocal, osvi, pBuf102);
- }
- else if(Operations & GETTYPE_TYPE)
- {
- ret = GetType(bLocal, osvi, pBuf102);
- }
- else if(Operations & GETTYPE_HELP)
- {
- wprintf(L"GETTYPE [/ROLE | /SP | /VER | /MAJV | /MINV | /TYPE | /BUILD]");
- ret = 0;
- }
- else if(!Operations && bLocal)
- {
- /* FIXME: what happens when no flags except remote machine, does it
- it print this info for the remote server? */
- TCHAR HostName[1024] = _T("");
- TCHAR OSName[1024] = _T("");
- TCHAR VersionInfo[1024] = _T("");
- TCHAR Role[1024] = _T("");
- TCHAR Components[1024] = _T("");
- GetBasicInfo(osvi, HostName, OSName, VersionInfo, Role, Components);
- _tprintf(_T("\nHostname: %s\nName: %s\nVersion:%s\n") ,HostName, OSName, VersionInfo);
- _tprintf(_T("Role: %s\nComponent: %s\n"), Role, Components);
- ret = 0;
- }
-
- /* Clean up some stuff that that was opened */
- if(pBuf102)
- NetApiBufferFree(pBuf102);
- LocalFree(argv);
- if(!bLocal)
- {
- WNetCancelConnection2(RemoteResource,0,TRUE);
- }
- return ret;
-}
diff --git a/reactos/base/applications/gettype/gettype.rbuild b/reactos/base/applications/gettype/gettype.rbuild
deleted file mode 100644
index 3ea425f17d0..00000000000
--- a/reactos/base/applications/gettype/gettype.rbuild
+++ /dev/null
@@ -1,12 +0,0 @@
-
- .
- 0x0501
-
-
-
- kernel32
- shell32
- mpr
- netapi32
- gettype.c
-
diff --git a/reactos/base/applications/ibrowser/Makefile-MinGW b/reactos/base/applications/ibrowser/Makefile-MinGW
deleted file mode 100644
index fff8a0ed8da..00000000000
--- a/reactos/base/applications/ibrowser/Makefile-MinGW
+++ /dev/null
@@ -1,68 +0,0 @@
-#
-# ROS Internet Web Browser
-#
-# Makefile.MinGW
-#
-
-CC = gcc
-CXX = g++
-LINK = g++
-
-CFLAGS = -DWIN32 -D_WIN32_IE=0x0600 -D_WIN32_WINNT=0x0501 -DWINVER=0x0500 -fexceptions -Wall -Wno-unused-value -I. -I$(EXPAT_INC)
-RCFLAGS = -DWIN32 -D__WINDRES__
-LFLAGS = -Wl,--subsystem,windows
-
-ifdef DEBUG
-CFLAGS += -D_DEBUG -g
-RCFLAGS += -D_DEBUG
-LFLAGS += -g
-else
-CFLAGS += -DNDEBUG -Os
-RCFLAGS += -DNDEBUG
-LFLAGS += -s
-endif
-
-ifndef UNICODE
-UNICODE = 1
-endif
-
-ifeq ($(UNICODE),1)
-CFLAGS += -DUNICODE
-# LFLAGS+= -Wl,--entry,_wWinMain@16
-RCFLAGS += -DUNICODE
-endif
-
-CXXFLAGS = $(CFLAGS)
-
-EXEC_SUFFIX = .exe
-RES_SUFFIX = .coff
-
-VPATH = utility
-
-PROGRAM = ibrowser
-
-TARGET = $(PROGRAM)$(EXEC_SUFFIX)
-
-OBJECTS = \
- utility.o \
- window.o \
- ibrowser.o \
- webchild.o \
- mainframe.o \
- favorites.o \
- xs-native.o \
- xmlstorage.o
-
-LIBS = gdi32 comctl32 shell32 ole32 uuid oleaut32
-
-all: $(TARGET)
-
-$(TARGET): $(OBJECTS) $(PROGRAM)$(RES_SUFFIX)
- $(LINK) $(LFLAGS) -o $@ $^ $(addprefix -l,$(LIBS)) $(addprefix -l,$(DELAYIMPORTS))
-
-ibrowser$(RES_SUFFIX): $(PROGRAM)_intres.rc res/*.bmp res/*.ico
- windres $(RCFLAGS) -o $@ $(PROGRAM)_intres.rc
-
-clean:
- rm -f $(TARGET) $(OBJECTS) $(PROGRAM)$(RES_SUFFIX) \
- desktop/*.o dialogs/*.o shell/*.o taskbar/*.o utility/*.o
diff --git a/reactos/base/applications/ibrowser/Makefile-precomp b/reactos/base/applications/ibrowser/Makefile-precomp
deleted file mode 100644
index 16ede679423..00000000000
--- a/reactos/base/applications/ibrowser/Makefile-precomp
+++ /dev/null
@@ -1,73 +0,0 @@
-#
-# ROS Internet Web Browser
-#
-# Makefile-precomp
-#
-# MinGW Makefile with precompiled header support
-#
-
-CC = gcc
-CXX = g++
-LINK = g++
-
-CFLAGS = -DWIN32 -D_WIN32_IE=0x0600 -D_WIN32_WINNT=0x0501 -DWINVER=0x0500 -fexceptions -Wall -Wno-unused-value -I. -I$(EXPAT_INC)
-RCFLAGS = -DWIN32 -D__WINDRES__
-LFLAGS = -Wl,--subsystem,windows
-
-ifdef DEBUG
-CFLAGS += -D_DEBUG -g
-RCFLAGS += -D_DEBUG
-LFLAGS += -g
-else
-CFLAGS += -DNDEBUG -Os -march=pentium4
-RCFLAGS += -DNDEBUG
-LFLAGS += -s
-endif
-
-ifndef UNICODE
-UNICODE = 1
-endif
-
-ifeq ($(UNICODE),1)
-CFLAGS += -DUNICODE
-# LFLAGS+= -Wl,--entry,_wWinMain@16
-RCFLAGS += -DUNICODE
-endif
-
-CXXFLAGS = $(CFLAGS)
-
-EXEC_SUFFIX = .exe
-RES_SUFFIX = .coff
-
-VPATH = utility
-
-PROGRAM = ibrowser
-
-TARGET = $(PROGRAM)$(EXEC_SUFFIX)
-
-OBJECTS = \
- utility.o \
- window.o \
- ibrowser.o \
- webchild.o \
- mainframe.o \
- favorites.o \
- xs-native.o \
- xmlstorage.o
-
-LIBS = gdi32 comctl32 shell32 ole32 oleaut32 uuid
-
-all: precomp.h.gch $(TARGET)
-
-precomp.h.gch: *.h utility/*.h
- $(CXX) $(CFLAGS) precomp.h
-
-$(TARGET): $(OBJECTS) $(PROGRAM)$(RES_SUFFIX)
- $(LINK) $(LFLAGS) -o $@ $^ $(addprefix -l,$(LIBS)) $(addprefix -l,$(DELAYIMPORTS))
-
-ibrowser$(RES_SUFFIX): $(PROGRAM)_intres.rc res/*.bmp res/*.ico
- windres $(RCFLAGS) -o $@ $(PROGRAM)_intres.rc
-
-clean:
- rm -f $(TARGET) $(OBJECTS) $(PROGRAM)$(RES_SUFFIX) precomp.h.gch \
- utility/*.o
diff --git a/reactos/base/applications/ibrowser/de-DE.rc b/reactos/base/applications/ibrowser/de-DE.rc
deleted file mode 100644
index 6bcf03995c9..00000000000
--- a/reactos/base/applications/ibrowser/de-DE.rc
+++ /dev/null
@@ -1,148 +0,0 @@
-//Microsoft Developer Studio generated resource script.
-//
-#include "ibrowser_intres.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// German (Germany) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_DEU)
-#ifdef _WIN32
-LANGUAGE LANG_GERMAN, SUBLANG_GERMAN
-#pragma code_page(1252)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE DISCARDABLE
-BEGIN
- "ibrowser_intres.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#include \0"
-END
-
-3 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#ifndef _ROS_\r\n"
- "LANGUAGE LANG_GERMAN, SUBLANG_GERMAN\r\n"
- "STRINGTABLE DISCARDABLE \r\n"
- "BEGIN\r\n"
- "#ifdef UNICODE\r\n"
- "IDS_IBROWSER_VERSION_STR ""ROS IBrowser%0s""\r\n"
- "#else\r\n"
- "IDS_IBROWSER_VERSION_STR ""ROS IBrowser Ansi%0s""\r\n"
- "#endif\r\n"
- "END\r\n"
- "#endif\r\n"
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Menu
-//
-
-IDM_SDIFRAME MENU PRELOAD DISCARDABLE
-BEGIN
- POPUP "&Datei"
- BEGIN
- MENUITEM "&Beenden", ID_FILE_EXIT
- END
- POPUP "&Ansicht"
- BEGIN
- MENUITEM "&Toolbar", ID_VIEW_TOOL_BAR
- MENUITEM "S&ide Bar", ID_VIEW_SIDE_BAR, GRAYED
- MENUITEM "&Status Bar", ID_VIEW_STATUSBAR
- MENUITEM SEPARATOR
- MENUITEM "&Aktualisieren\tF5", ID_REFRESH
- MENUITEM "&Vollbild\tCtrl+Shift+S", ID_VIEW_FULLSCREEN
- END
- POPUP "&Hilfe"
- BEGIN
- MENUITEM "IBrowser &FAQ...", ID_IBROWSER_FAQ
- MENUITEM "&Über IBrowser...", ID_ABOUT_IBROWSER
- MENUITEM "Über &OS...", ID_ABOUT_WINDOWS
- END
-END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog
-//
-
-IDD_ABOUT_IBROWSER DIALOG DISCARDABLE 0, 0, 199, 106
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
-CAPTION "About ReactOS Web Browser"
-FONT 10, "MS Sans Serif"
-BEGIN
- LTEXT "ReactOS Web Browser",IDC_ROS_IBROWSER,91,13,104,11
- LTEXT "V 0.9",IDC_VERSION_TXT,91,27,104,8
- LTEXT "(c) 2005 Martin Fuchs",IDC_STATIC,91,42,104,8
- LTEXT "",IDC_WIN_VERSION,91,58,98,22
- LTEXT "http://www.sky.franken.de/explorer/",IDC_WWW,17,84,129,
- 8
- CONTROL "&OK",IDOK,"Button",BS_OWNERDRAW | BS_FLAT | WS_GROUP,
- 154,90,38,12
-END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// String Table
-//
-
-STRINGTABLE DISCARDABLE
-BEGIN
- IDS_TITLE "Reactos Internet Web Browser"
- IDS_EMPTY "(Empty)"
-END
-
-STRINGTABLE DISCARDABLE
-BEGIN
- IDS_ABOUT_IBROWSER "&Über..."
-END
-
-#endif // German (Germany) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-#ifndef _ROS_
-LANGUAGE LANG_GERMAN, SUBLANG_GERMAN
-STRINGTABLE DISCARDABLE
-BEGIN
-#ifdef UNICODE
-IDS_IBROWSER_VERSION_STR "ROS IBrowser%0s"
-#else
-IDS_IBROWSER_VERSION_STR "ROS IBrowser Ansi%0s"
-#endif
-END
-#endif
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
-
diff --git a/reactos/base/applications/ibrowser/en-US.rc b/reactos/base/applications/ibrowser/en-US.rc
deleted file mode 100644
index 92212e278e6..00000000000
--- a/reactos/base/applications/ibrowser/en-US.rc
+++ /dev/null
@@ -1,161 +0,0 @@
-//Microsoft Developer Studio generated resource script.
-//
-#include "ibrowser_intres.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// German (Germany) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_DEU)
-#ifdef _WIN32
-LANGUAGE LANG_GERMAN, SUBLANG_GERMAN
-#pragma code_page(1252)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE DISCARDABLE
-BEGIN
- "ibrowser_intres.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#include \0"
-END
-
-3 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#ifndef _ROS_\r\n"
- "LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US\r\n"
- "STRINGTABLE DISCARDABLE \r\n"
- "BEGIN\r\n"
- "#ifdef UNICODE\r\n"
- "IDS_IBROWSER_VERSION_STR ""ROS IBrowser%0s""\r\n"
- "#else\r\n"
- "IDS_IBROWSER_VERSION_STR ""ROS IBrowser Ansi%0s""\r\n"
- "#endif\r\n"
- "END\r\n"
- "#endif\r\n"
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-#endif // German (Germany) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Menu
-//
-
-IDM_SDIFRAME MENU PRELOAD DISCARDABLE
-BEGIN
- POPUP "&File"
- BEGIN
- MENUITEM "&Open", ID_FILE_OPEN
- MENUITEM "E&xit", ID_FILE_EXIT
- END
- POPUP "&View"
- BEGIN
- MENUITEM "&Toolbar", ID_VIEW_TOOL_BAR
- MENUITEM "S&ide Bar", ID_VIEW_SIDE_BAR, GRAYED
- MENUITEM "&Status Bar", ID_VIEW_STATUSBAR
- MENUITEM SEPARATOR
- MENUITEM "&Refresh\tF5", ID_REFRESH
- MENUITEM "F&ull Screen\tCtrl+Shift+S", ID_VIEW_FULLSCREEN
- END
- POPUP "&Help"
- BEGIN
- MENUITEM "IBrowser &FAQ...", ID_IBROWSER_FAQ
- MENUITEM "&About IBrowser...", ID_ABOUT_IBROWSER
- MENUITEM "About &OS...", ID_ABOUT_WINDOWS
- END
-END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog
-//
-
-IDD_ABOUT_IBROWSER DIALOG DISCARDABLE 0, 0, 199, 106
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
-CAPTION "About ReactOS Web Browser"
-FONT 10, "MS Sans Serif"
-BEGIN
- LTEXT "ReactOS Web Browser",IDC_ROS_IBROWSER,91,13,104,11
- LTEXT "V 0.9",IDC_VERSION_TXT,91,27,104,8
- LTEXT "(c) 2005 Martin Fuchs",IDC_STATIC,91,42,104,8
- LTEXT "",IDC_WIN_VERSION,91,58,98,22
- LTEXT "http://www.sky.franken.de/explorer/",IDC_WWW,17,84,129,
- 8
- CONTROL "&OK",IDOK,"Button",BS_OWNERDRAW | BS_FLAT | WS_GROUP,
- 154,90,38,12
-END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// String Table
-//
-
-STRINGTABLE DISCARDABLE
-BEGIN
- IDS_TITLE "Reactos Internet Web Browser"
- IDS_EMPTY "(Empty)"
-END
-
-STRINGTABLE DISCARDABLE
-BEGIN
- IDS_ABOUT_IBROWSER "&About..."
-END
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-#ifndef _ROS_
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-STRINGTABLE DISCARDABLE
-BEGIN
-#ifdef UNICODE
-IDS_IBROWSER_VERSION_STR "ROS IBrowser%0s"
-#else
-IDS_IBROWSER_VERSION_STR "ROS IBrowser Ansi%0s"
-#endif
-END
-#endif
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
-
diff --git a/reactos/base/applications/ibrowser/es-ES.rc b/reactos/base/applications/ibrowser/es-ES.rc
deleted file mode 100644
index 244da05fcd1..00000000000
--- a/reactos/base/applications/ibrowser/es-ES.rc
+++ /dev/null
@@ -1,122 +0,0 @@
-//Microsoft Developer Studio generated resource script.
-//
-#include "ibrowser_intres.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// German (Germany) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_DEU)
-#ifdef _WIN32
-LANGUAGE LANG_GERMAN, SUBLANG_GERMAN
-#pragma code_page(1252)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE DISCARDABLE
-BEGIN
- "ibrowser_intres.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#include \0"
-END
-
-3 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#ifndef _ROS_\r\n"
- "LANGUAGE LANG_SPANISH, SUBLANG_SPANISH\r\n"
- "STRINGTABLE DISCARDABLE \r\n"
- "BEGIN\r\n"
- "#ifdef UNICODE\r\n"
- "IDS_IBROWSER_VERSION_STR ""Nevegador de Web ReactOS%0s""\r\n"
- "#else\r\n"
- "IDS_IBROWSER_VERSION_STR ""Nevegador de Web ReactOS Ansi%0s""\r\n"
- "#endif\r\n"
- "END\r\n"
- "#endif\r\n"
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-#endif // German (Germany) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-/////////////////////////////////////////////////////////////////////////////
-// Spanish (Castilian) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ESP)
-#ifdef _WIN32
-LANGUAGE LANG_SPANISH, SUBLANG_SPANISH
-#pragma code_page(1252)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Menu
-//
-
-IDM_SDIFRAME MENU PRELOAD DISCARDABLE
-BEGIN
- POPUP "&Archivo"
- BEGIN
- MENUITEM "S&alir", ID_FILE_EXIT
- END
- POPUP "&Ver"
- BEGIN
- MENUITEM "&Barra de Herramientas", ID_VIEW_TOOL_BAR
- MENUITEM "Barra &Lateral", ID_VIEW_SIDE_BAR, GRAYED
- MENUITEM "Barra de &Estado", ID_VIEW_STATUSBAR
- MENUITEM SEPARATOR
- MENUITEM "&Actualizar\tF5", ID_REFRESH
- MENUITEM "P&antalla Completa\tCtrl+Shift+S", ID_VIEW_FULLSCREEN
- END
- POPUP "&Ayuda"
- BEGIN
- MENUITEM "IBrowser &FAQ...", ID_IBROWSER_FAQ
- MENUITEM "&Acerca de IBrowser...", ID_ABOUT_IBROWSER
- MENUITEM "Acerca de &OS...", ID_ABOUT_WINDOWS
- END
-END
-
-#endif // Spanish (Castilian) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-#ifndef _ROS_
-LANGUAGE LANG_SPANISH, SUBLANG_SPANISH
-STRINGTABLE DISCARDABLE
-BEGIN
-#ifdef UNICODE
-IDS_IBROWSER_VERSION_STR "Nevegador de Web ReactOS%0s"
-#else
-IDS_IBROWSER_VERSION_STR "Nevegador de Web ReactOS Ansi%0s"
-#endif
-END
-#endif
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
-
diff --git a/reactos/base/applications/ibrowser/favorites.cpp b/reactos/base/applications/ibrowser/favorites.cpp
deleted file mode 100644
index 60843a411ab..00000000000
--- a/reactos/base/applications/ibrowser/favorites.cpp
+++ /dev/null
@@ -1,496 +0,0 @@
-/*
- * Copyright 2004 Martin Fuchs
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-
- //
- // Explorer and Desktop clone
- //
- // favorites.cpp
- //
- // Martin Fuchs, 04.04.2004
- //
-
-
-#include
-
-
-String DecodeURLString(const char* s)
-{
- TCHAR buffer[BUFFER_LEN];
- LPTSTR o = buffer;
-
- for(const char* p=s; *p; ++p)
- if (*p == '%') {
- if (!strncmp(p+1, "20", 2)) {
- *o++ = ' ';
- p += 2;
- } else
- *o++ = *p;
- } else
- *o++ = *p;
-
- return String(buffer, o-buffer);
-}
-
-
- /// read .URL file
-bool Bookmark::read_url(LPCTSTR path)
-{
- char line[BUFFER_LEN];
-
- tifstream in(path);
-
- while(in.good()) {
- in.getline(line, BUFFER_LEN);
-
- const char* p = line;
- while(isspace(*p))
- ++p;
-
- const char* keyword = p;
- const char* eq = strchr(p, '=');
-
- if (eq) {
- const char* cont = eq + 1;
- while(isspace(*cont))
- ++cont;
-
- if (!strnicmp(keyword, "URL", 3))
- _url = DecodeURLString(cont);
- else if (!strnicmp(keyword, "IconFile", 8))
- _icon_path = DecodeURLString(cont);
- }
- }
-
- return true;
-}
-
- /// convert XBEL bookmark node
-bool Bookmark::read(const_XMLPos& pos)
-{
- _url = pos.get("href").c_str();
-
- if (pos.go_down("title")) {
- _name = pos->get_content();
- pos.back();
- }
-
- if (pos.go_down("desc")) {
- _description = pos->get_content();
- pos.back();
- }
-
- if (pos.go_down("info")) {
- const_XMLChildrenFilter metadata(pos, "metadata");
-
- for(const_XMLChildrenFilter::const_iterator it=metadata.begin(); it!=metadata.end(); ++it) {
- const XMLNode& node = **it;
- const_XMLPos sub_pos(&node);
-
- if (node.get("owner") == "ros-explorer") {
- if (sub_pos.go_down("icon")) {
- _icon_path = sub_pos.get("path").c_str();
- _icon_idx = XS_toi(sub_pos.get("index"));
-
- sub_pos.back(); //
- }
- }
- }
-
- pos.back(); //
- pos.back(); //
- }
-
- return !_url.empty(); // _url is mandatory.
-}
-
- /// write XBEL bookmark node
-void Bookmark::write(XMLPos& pos) const
-{
- pos.create("bookmark");
-
- pos["href"] = _url.c_str();
-
- if (!_name.empty()) {
- pos.create("title");
- pos->set_content(_name);
- pos.back();
- }
-
- if (!_description.empty()) {
- pos.create("desc");
- pos->set_content(_description);
- pos.back();
- }
-
- if (!_icon_path.empty()) {
- pos.create("info");
- pos.create("metadata");
- pos["owner"] = "ros-explorer";
- pos.create("icon");
- pos["path"] = _icon_path.c_str();
- pos["index"].printf(XS_TEXT("%d"), _icon_idx);
- pos.back(); //
- pos.back(); //
- pos.back(); //
- }
-
- pos.back();
-}
-
-
- /// read bookmark folder from XBEL formated XML tree
-void BookmarkFolder::read(const_XMLPos& pos)
-{
- if (pos.go_down("title")) {
- _name = pos->get_content();
- pos.back();
- }
-
- if (pos.go_down("desc")) {
- _description = pos->get_content();
- pos.back();
- }
-
- _bookmarks.read(pos);
-}
-
- /// write bookmark folder content from XBEL formated XML tree
-void BookmarkFolder::write(XMLPos& pos) const
-{
- pos.create("folder");
-
- if (!_name.empty()) {
- pos.create("title");
- pos->set_content(_name);
- pos.back();
- }
-
- if (!_description.empty()) {
- pos.create("desc");
- pos->set_content(_description);
- pos.back();
- }
-
- _bookmarks.write(pos);
-}
-
-
-BookmarkNode::BookmarkNode()
- : _type(BMNT_NONE)
-{
- _pbookmark = NULL;
-}
-
-BookmarkNode::BookmarkNode(const Bookmark& bm)
- : _type(BMNT_BOOKMARK)
-{
- _pbookmark = new Bookmark(bm);
-}
-
-BookmarkNode::BookmarkNode(const BookmarkFolder& bmf)
- : _type(BMNT_FOLDER)
-{
- _pfolder = new BookmarkFolder(bmf);
-}
-
-BookmarkNode::BookmarkNode(const BookmarkNode& other)
- : _type(other._type)
-{
- if (other._type == BMNT_BOOKMARK)
- _pbookmark = new Bookmark(*other._pbookmark);
- else if (other._type == BMNT_FOLDER)
- _pfolder = new BookmarkFolder(*other._pfolder);
- else
- _pbookmark = NULL;
-}
-
-BookmarkNode::~BookmarkNode()
-{
- if (_type == BMNT_BOOKMARK)
- delete _pbookmark;
- else if (_type == BMNT_FOLDER)
- delete _pfolder;
-}
-
-BookmarkNode& BookmarkNode::operator=(const Bookmark& bm)
-{
- clear();
-
- _pbookmark = new Bookmark(bm);
-
- return *this;
-}
-
-BookmarkNode& BookmarkNode::operator=(const BookmarkFolder& bmf)
-{
- clear();
-
- _pfolder = new BookmarkFolder(bmf);
-
- return *this;
-}
-
-BookmarkNode& BookmarkNode::operator=(const BookmarkNode& other)
-{
- clear();
-
- _type = other._type;
-
- if (other._type == BMNT_BOOKMARK)
- _pbookmark = new Bookmark(*other._pbookmark);
- else if (other._type == BMNT_FOLDER)
- _pfolder = new BookmarkFolder(*other._pfolder);
-
- return *this;
-}
-
-void BookmarkNode::clear()
-{
- if (_type == BMNT_BOOKMARK) {
- delete _pbookmark;
- _pbookmark = NULL;
- }
- else if (_type == BMNT_FOLDER) {
- delete _pfolder;
- _pfolder = NULL;
- }
-
- _type = BMNT_NONE;
-}
-
-
- /// read bookmark list from XBEL formated XML tree
-void BookmarkList::read(const_XMLPos& pos)
-{
- const XMLNode::Children& children = pos->get_children();
-
- for(XMLNode::Children::const_iterator it=children.begin(); it!=children.end(); ++it) {
- const XMLNode& node = **it;
- const_XMLPos sub_pos(&node);
-
- if (node == "folder") {
- BookmarkFolder folder;
-
- folder.read(sub_pos);
-
- push_back(folder);
- } else if (node == "bookmark") {
- Bookmark bookmark;
-
- if (bookmark.read(sub_pos))
- push_back(bookmark);
- }
- }
-}
-
- /// write bookmark list into XBEL formated XML tree
-void BookmarkList::write(XMLPos& pos) const
-{
- for(const_iterator it=begin(); it!=end(); ++it) {
- const BookmarkNode& node = *it;
-
- if (node._type == BookmarkNode::BMNT_FOLDER) {
- const BookmarkFolder& folder = *node._pfolder;
-
- folder.write(pos);
-
- pos.back();
- } else if (node._type == BookmarkNode::BMNT_BOOKMARK) {
- const Bookmark& bookmark = *node._pbookmark;
-
- if (!bookmark._url.empty())
- bookmark.write(pos);
- }
- }
-}
-
-
- /// fill treeview control with bookmark tree content
-void BookmarkList::fill_tree(HWND hwnd, HTREEITEM parent, HIMAGELIST himagelist, HDC hdc_wnd) const
-{
- TV_INSERTSTRUCT tvi;
-
- tvi.hParent = parent;
- tvi.hInsertAfter = TVI_LAST;
-
- TV_ITEM& tv = tvi.item;
- tv.mask = TVIF_TEXT|TVIF_IMAGE|TVIF_SELECTEDIMAGE|TVIF_PARAM;
-
- for(const_iterator it=begin(); it!=end(); ++it) {
- const BookmarkNode& node = *it;
-
- tv.lParam = (LPARAM)&node;
-
- if (node._type == BookmarkNode::BMNT_FOLDER) {
- const BookmarkFolder& folder = *node._pfolder;
-
- tv.pszText = (LPTSTR)folder._name.c_str();
- tv.iImage = 3; // folder
- tv.iSelectedImage = 4; // open folder
- HTREEITEM hitem = TreeView_InsertItem(hwnd, &tvi);
-
- folder._bookmarks.fill_tree(hwnd, hitem, himagelist, hdc_wnd);
- } else if (node._type == BookmarkNode::BMNT_BOOKMARK) {
- const Bookmark& bookmark = *node._pbookmark;
-
- tv.pszText = (LPTSTR)bookmark._name.c_str();
- tv.iImage = 1; // bookmark
- tv.iSelectedImage = 2; // selected bookmark
-
- if (!bookmark._icon_path.empty()) {
- const Icon& icon = g_icon_cache.extract(bookmark._icon_path, bookmark._icon_idx);
-
- if ((ICON_ID)icon != ICID_NONE)
- tv.iImage = tv.iSelectedImage = icon.add_to_imagelist(himagelist, hdc_wnd);
- }
-
- (void)TreeView_InsertItem(hwnd, &tvi);
- }
- }
-}
-
-
-/*@@
-
- /// import Internet Explorer bookmarks from Favorites folder into bookmark list
-void BookmarkList::import_IE_favorites(ShellDirectory& dir, HWND hwnd)
-{
- TCHAR path[MAX_PATH], ext[_MAX_EXT];
-
- dir.smart_scan(SORT_NAME, SCAN_FILESYSTEM);
-
- for(Entry*entry=dir._down; entry; entry=entry->_next) {
- if (entry->_shell_attribs & SFGAO_HIDDEN) // ignore files like "desktop.ini"
- continue;
-
- String name;
-
- if (entry->_etype == ET_SHELL)
- name = dir._folder.get_name(static_cast(entry)->_pidl);
- else
- name = entry->_display_name;
-
- if (entry->_data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) {
- BookmarkFolder new_folder;
-
- new_folder._name = DecodeXMLString(name);
-
- if (entry->_etype == ET_SHELL) {
- ShellDirectory new_dir(dir._folder, static_cast(entry)->_pidl, hwnd);
- new_folder._bookmarks.import_IE_favorites(new_dir, hwnd);
- } else {
- entry->get_path(path);
- ShellDirectory new_dir(GetDesktopFolder(), path, hwnd);
- new_folder._bookmarks.import_IE_favorites(new_dir, hwnd);
- }
-
- push_back(new_folder);
- } else {
- Bookmark bookmark;
-
- bookmark._name = DecodeXMLString(name);
-
- entry->get_path(path);
- _tsplitpath(path, NULL, NULL, NULL, ext);
-
- if (!_tcsicmp(ext, TEXT(".url"))) {
- bookmark.read_url(path);
- push_back(bookmark);
- } else {
- ///@todo read shell links
- //assert(0);
- }
- }
- }
-}
-
-*/
-
-
- /// read XBEL bookmark file
-bool Favorites::read(LPCTSTR path)
-{
- XMLDoc xbel;
-
- if (!xbel.read(path))
-/*@@ if (xbel._last_error == XML_ERROR_NO_ELEMENTS)
- return false;
- else */
- MessageBox(0/*@@g_Globals._hwndDesktop*/, xbel._errors.str(),
- TEXT("ROS Explorer - reading bookmark file"), MB_OK);
-
- const_XMLPos pos(&xbel);
-
- if (!pos.go_down("xbel"))
- return false;
-
- super::read(pos);
-
- pos.back();
-
- return true;
-}
-
- /// write XBEL bookmark file
-void Favorites::write(LPCTSTR path) const
-{
- XMLDoc xbel;
-
- XMLPos pos(&xbel);
- pos.create("xbel");
- super::write(pos);
- pos.back();
-
- xbel._format._doctype._name = "xbel";
- xbel._format._doctype._public = "//IDN python.org//DTD XML Bookmark Exchange Language 1.0//EN//XML";
- xbel._format._doctype._system = "http://www.python.org/topics/xml/dtds/xbel-1.0.dtd";
-
- xbel.write(path);
-}
-
-
-/*@@
-
- /// import Internet Explorer bookmarks from Favorites folder
-bool Favorites::import_IE_favorites(HWND hwnd)
-{
- WaitCursor wait;
-
- StartMenuShellDirs dirs;
-
- try {
- dirs.push_back(ShellDirectory(GetDesktopFolder(), SpecialFolderPath(CSIDL_COMMON_FAVORITES, hwnd), hwnd));
- dirs.push_back(ShellDirectory(GetDesktopFolder(), SpecialFolderPath(CSIDL_FAVORITES, hwnd), hwnd));
- } catch(COMException&) {
- }
-
- for(StartMenuShellDirs::iterator it=dirs.begin(); it!=dirs.end(); ++it) {
- StartMenuDirectory& smd = *it;
- ShellDirectory& dir = smd._dir;
-
- try {
- super::import_IE_favorites(dir, hwnd);
- } catch(COMException&) {
- }
- }
-
- return true;
-}
-
-*/
diff --git a/reactos/base/applications/ibrowser/favorites.h b/reactos/base/applications/ibrowser/favorites.h
deleted file mode 100644
index 4d139ee0d1d..00000000000
--- a/reactos/base/applications/ibrowser/favorites.h
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * Copyright 2004 Martin Fuchs
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-
- //
- // Explorer and Desktop clone
- //
- // favorites.h
- //
- // Martin Fuchs, 04.04.2004
- //
-
-
-extern String DecodeURLString(const char* s);
-
-
-struct Bookmark
-{
- Bookmark() : _icon_idx(0) {}
-
- String _name;
- String _description;
- String _url;
- String _icon_path;
- int _icon_idx;
-
- bool read_url(LPCTSTR path);
- bool read(const_XMLPos& pos);
- void write(XMLPos& pos) const;
-};
-
-struct BookmarkFolder;
-
-struct BookmarkNode
-{
- BookmarkNode();
- BookmarkNode(const Bookmark& bm);
- BookmarkNode(const BookmarkFolder& bmf);
- BookmarkNode(const BookmarkNode& other);
-
- ~BookmarkNode();
-
- BookmarkNode& operator=(const Bookmark& bm);
- BookmarkNode& operator=(const BookmarkFolder& bmf);
- BookmarkNode& operator=(const BookmarkNode& other);
-
- void clear();
-
- enum BOOKMARKNODE_TYPE {
- BMNT_NONE, BMNT_BOOKMARK, BMNT_FOLDER
- };
-
- BOOKMARKNODE_TYPE _type;
-
- union {
- Bookmark* _pbookmark;
- BookmarkFolder* _pfolder;
- };
-};
-
-struct BookmarkList : public list
-{
- void import_IE_favorites(struct ShellDirectory& dir, HWND hwnd);
-
- void read(const_XMLPos& pos);
- void write(XMLPos& pos) const;
-
- void fill_tree(HWND hwnd, HTREEITEM parent, HIMAGELIST, HDC hdc_wnd) const;
-};
-
-struct BookmarkFolder
-{
- String _name;
- String _description;
- BookmarkList _bookmarks;
-
- void read(const_XMLPos& pos);
- void write(XMLPos& pos) const;
-};
-
-struct Favorites : public BookmarkList
-{
- typedef BookmarkList super;
-
- bool read(LPCTSTR path);
- void write(LPCTSTR path) const;
-
- bool import_IE_favorites(HWND hwnd);
-};
diff --git a/reactos/base/applications/ibrowser/fr-FR.rc b/reactos/base/applications/ibrowser/fr-FR.rc
deleted file mode 100644
index 8cad49bbfdf..00000000000
--- a/reactos/base/applications/ibrowser/fr-FR.rc
+++ /dev/null
@@ -1,161 +0,0 @@
-//Microsoft Developer Studio generated resource script.
-//
-#include "ibrowser_intres.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// German (Germany) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_DEU)
-#ifdef _WIN32
-LANGUAGE LANG_GERMAN, SUBLANG_GERMAN
-#pragma code_page(1252)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE DISCARDABLE
-BEGIN
- "ibrowser_intres.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#include \0"
-END
-
-3 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#ifndef _ROS_\r\n"
- "LANGUAGE LANG_FRENCH, SUBLANG_FRENCH\r\n"
- "STRINGTABLE DISCARDABLE \r\n"
- "BEGIN\r\n"
- "#ifdef UNICODE\r\n"
- "IDS_IBROWSER_VERSION_STR ""Navigateur Internet de ReactOS%0s""\r\n"
- "#else\r\n"
- "IDS_IBROWSER_VERSION_STR ""Navigateur Internet de ReactOS Ansi%0s""\r\n"
- "#endif\r\n"
- "END\r\n"
- "#endif\r\n"
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-#endif // German (Germany) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_FRENCH, SUBLANG_FRENCH
-#pragma code_page(1252)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Menu
-//
-
-IDM_SDIFRAME MENU PRELOAD DISCARDABLE
-BEGIN
- POPUP "&Fichier"
- BEGIN
- MENUITEM "&Ouvrir", ID_FILE_OPEN
- MENUITEM "&Quitter", ID_FILE_EXIT
- END
- POPUP "&Affichage"
- BEGIN
- MENUITEM "Barre d'ou&tils", ID_VIEW_TOOL_BAR
- MENUITEM "Pann&eau latéral", ID_VIEW_SIDE_BAR, GRAYED
- MENUITEM "&Barre d'état", ID_VIEW_STATUSBAR
- MENUITEM SEPARATOR
- MENUITEM "Actualise&r\tF5", ID_REFRESH
- MENUITEM "&Plein éran\tCtrl+Shift+S", ID_VIEW_FULLSCREEN
- END
- POPUP "&Aide"
- BEGIN
- MENUITEM "&FAQ de IBrowser...", ID_IBROWSER_FAQ
- MENUITEM "Ŕ propos de IBrowser...", ID_ABOUT_IBROWSER
- MENUITEM "Ŕ propos de React&OS...", ID_ABOUT_WINDOWS
- END
-END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog
-//
-
-IDD_ABOUT_IBROWSER DIALOG DISCARDABLE 0, 0, 199, 106
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
-CAPTION "About ReactOS Web Browser"
-FONT 10, "MS Sans Serif"
-BEGIN
- LTEXT "Navigateur internet de Reactos",IDC_ROS_IBROWSER,91,13,104,11
- LTEXT "V 0.9",IDC_VERSION_TXT,91,27,104,8
- LTEXT "(c) 2005 Martin Fuchs",IDC_STATIC,91,42,104,8
- LTEXT "",IDC_WIN_VERSION,91,58,98,22
- LTEXT "http://www.sky.franken.de/explorer/",IDC_WWW,17,84,129,
- 8
- CONTROL "&OK",IDOK,"Button",BS_OWNERDRAW | BS_FLAT | WS_GROUP,
- 154,90,38,12
-END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// String Table
-//
-
-STRINGTABLE DISCARDABLE
-BEGIN
- IDS_TITLE "Navigateur internet de Reactos"
- IDS_EMPTY "(Vide)"
-END
-
-STRINGTABLE DISCARDABLE
-BEGIN
- IDS_ABOUT_IBROWSER "&Ŕ propos..."
-END
-
-#endif // French resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-#ifndef _ROS_
-LANGUAGE LANG_FRENCH, SUBLANG_FRENCH
-STRINGTABLE DISCARDABLE
-BEGIN
-#ifdef UNICODE
-IDS_IBROWSER_VERSION_STR "Navigateur Internet de ReactOS%0s"
-#else
-IDS_IBROWSER_VERSION_STR "Navigateur Internet de ReactOS Ansi%0s"
-#endif
-END
-#endif
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
-
diff --git a/reactos/base/applications/ibrowser/hu-HU.rc b/reactos/base/applications/ibrowser/hu-HU.rc
deleted file mode 100644
index 8b905229500..00000000000
--- a/reactos/base/applications/ibrowser/hu-HU.rc
+++ /dev/null
@@ -1,81 +0,0 @@
-//Microsoft Developer Studio generated resource script.
-//
-#include "ibrowser_intres.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// German (Germany) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_DEU)
-#ifdef _WIN32
-LANGUAGE LANG_GERMAN, SUBLANG_GERMAN
-#pragma code_page(1252)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE DISCARDABLE
-BEGIN
- "ibrowser_intres.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#include \0"
-END
-
-3 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#ifndef _ROS_\r\n"
- "LANGUAGE LANG_HUNGARIAN, SUBLANG_DEFAULT\r\n"
- "STRINGTABLE DISCARDABLE \r\n"
- "BEGIN\r\n"
- "#ifdef UNICODE\r\n"
- "IDS_IBROWSER_VERSION_STR ""A ReactOS %s webböngésző%0s""\r\n"
- "#else\r\n"
- "IDS_IBROWSER_VERSION_STR ""A ReactOS %s webböngésző Ansi%0s""\r\n"
- "#endif\r\n"
- "END\r\n"
- "#endif\r\n"
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-#endif // German (Germany) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-#ifndef _ROS_
-LANGUAGE LANG_HUNGARIAN, SUBLANG_DEFAULT
-STRINGTABLE DISCARDABLE
-BEGIN
-#ifdef UNICODE
-IDS_IBROWSER_VERSION_STR "A ReactOS %s webböngésző%0s"
-#else
-IDS_IBROWSER_VERSION_STR "A ReactOS %s webböngésző Ansi%0s"
-#endif
-END
-#endif
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
-
diff --git a/reactos/base/applications/ibrowser/ibrowser.cpp b/reactos/base/applications/ibrowser/ibrowser.cpp
deleted file mode 100644
index 04b44e86c41..00000000000
--- a/reactos/base/applications/ibrowser/ibrowser.cpp
+++ /dev/null
@@ -1,550 +0,0 @@
-/*
- * Copyright 2005 Martin Fuchs
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-
- //
- // ROS Internet Web Browser
- //
- // ibrowser.cpp
- //
- // Martin Fuchs, 24.01.2005
- //
-
-
-#include
-
-#include "ibrowser_intres.h"
-
-#include // for setlocale()
-
-#ifndef __WINE__
-#include // for dup2()
-#include // for _O_RDONLY
-#endif
-
-
- // globals
-
-HINSTANCE g_hInstance;
-IconCache g_icon_cache;
-ATOM g_hframeClass;
-
-
-/*@@
-void ExplorerGlobals::read_persistent()
-{
- // read configuration file
- _cfg_dir.printf(TEXT("%s\\ReactOS"), (LPCTSTR)SpecialFolderFSPath(CSIDL_APPDATA,0));
- _cfg_path.printf(TEXT("%s\\ros-ibrowser-cfg.xml"), _cfg_dir.c_str());
-
- if (!_cfg.read(_cfg_path)) {
- if (_cfg._last_error != XML_ERROR_NO_ELEMENTS)
- MessageBox(g_Globals._hwndDesktop, String(_cfg._last_error_msg.c_str()),
- TEXT("ROS Explorer - reading user settings"), MB_OK);
-
- _cfg.read(TEXT("ibrowser-cfg-template.xml"));
- }
-
- // read bookmarks
- _favorites_path.printf(TEXT("%s\\ros-ibrowser-bookmarks.xml"), _cfg_dir.c_str());
-
- if (!_favorites.read(_favorites_path)) {
- _favorites.import_IE_favorites(0);
- _favorites.write(_favorites_path);
- }
-}
-
-void ExplorerGlobals::write_persistent()
-{
- // write configuration file
- RecursiveCreateDirectory(_cfg_dir);
-
- _cfg.write(_cfg_path);
- _favorites.write(_favorites_path);
-}
-
-
-XMLPos ExplorerGlobals::get_cfg()
-{
- XMLPos cfg_pos(&_cfg);
-
- cfg_pos.smart_create("ibrowser-cfg");
-
- return cfg_pos;
-}
-
-XMLPos ExplorerGlobals::get_cfg(const char* path)
-{
- XMLPos cfg_pos(&_cfg);
-
- cfg_pos.smart_create("ibrowser-cfg");
- cfg_pos.create_relative(path);
-
- return cfg_pos;
-}
-*/
-
-
-Icon::Icon()
- : _id(ICID_UNKNOWN),
- _itype(IT_STATIC),
- _hicon(0)
-{
-}
-
-Icon::Icon(ICON_ID id, UINT nid)
- : _id(id),
- _itype(IT_STATIC),
- _hicon(SmallIcon(nid))
-{
-}
-
-Icon::Icon(ICON_TYPE itype, int id, HICON hIcon)
- : _id((ICON_ID)id),
- _itype(itype),
- _hicon(hIcon)
-{
-}
-
-Icon::Icon(ICON_TYPE itype, int id, int sys_idx)
- : _id((ICON_ID)id),
- _itype(itype),
- _sys_idx(sys_idx)
-{
-}
-
-void Icon::draw(HDC hdc, int x, int y, int cx, int cy, COLORREF bk_color, HBRUSH bk_brush) const
-{
- if (_itype == IT_SYSCACHE)
- ImageList_DrawEx(g_icon_cache.get_sys_imagelist(), _sys_idx, hdc, x, y, cx, cy, bk_color, CLR_DEFAULT, ILD_NORMAL);
- else
- DrawIconEx(hdc, x, y, _hicon, cx, cy, 0, bk_brush, DI_NORMAL);
-}
-
-HBITMAP Icon::create_bitmap(COLORREF bk_color, HBRUSH hbrBkgnd, HDC hdc_wnd) const
-{
- if (_itype == IT_SYSCACHE) {
- HIMAGELIST himl = g_icon_cache.get_sys_imagelist();
-
- int cx, cy;
- ImageList_GetIconSize(himl, &cx, &cy);
-
- HBITMAP hbmp = CreateCompatibleBitmap(hdc_wnd, cx, cy);
- HDC hdc = CreateCompatibleDC(hdc_wnd);
- HBITMAP hbmp_old = SelectBitmap(hdc, hbmp);
- ImageList_DrawEx(himl, _sys_idx, hdc, 0, 0, cx, cy, bk_color, CLR_DEFAULT, ILD_NORMAL);
- SelectBitmap(hdc, hbmp_old);
- DeleteDC(hdc);
-
- return hbmp;
- } else
- return create_bitmap_from_icon(_hicon, hbrBkgnd, hdc_wnd);
-}
-
-
-int Icon::add_to_imagelist(HIMAGELIST himl, HDC hdc_wnd, COLORREF bk_color, HBRUSH bk_brush) const
-{
- int ret;
-
- if (_itype == IT_SYSCACHE) {
- HIMAGELIST himl = g_icon_cache.get_sys_imagelist();
-
- int cx, cy;
- ImageList_GetIconSize(himl, &cx, &cy);
-
- HBITMAP hbmp = CreateCompatibleBitmap(hdc_wnd, cx, cy);
- HDC hdc = CreateCompatibleDC(hdc_wnd);
- HBITMAP hbmp_old = SelectBitmap(hdc, hbmp);
- ImageList_DrawEx(himl, _sys_idx, hdc, 0, 0, cx, cy, bk_color, CLR_DEFAULT, ILD_NORMAL);
- SelectBitmap(hdc, hbmp_old);
- DeleteDC(hdc);
-
- ret = ImageList_Add(himl, hbmp, 0);
-
- DeleteObject(hbmp);
- } else
- ret = ImageList_AddAlphaIcon(himl, _hicon, bk_brush, hdc_wnd);
-
- return ret;
-}
-
-HBITMAP create_bitmap_from_icon(HICON hIcon, HBRUSH hbrush_bkgnd, HDC hdc_wnd)
-{
- int cx = GetSystemMetrics(SM_CXSMICON);
- int cy = GetSystemMetrics(SM_CYSMICON);
- HBITMAP hbmp = CreateCompatibleBitmap(hdc_wnd, cx, cy);
-
- MemCanvas canvas;
- BitmapSelection sel(canvas, hbmp);
-
- RECT rect = {0, 0, cx, cy};
- FillRect(canvas, &rect, hbrush_bkgnd);
-
- DrawIconEx(canvas, 0, 0, hIcon, cx, cy, 0, hbrush_bkgnd, DI_NORMAL);
-
- return hbmp;
-}
-
-int ImageList_AddAlphaIcon(HIMAGELIST himl, HICON hIcon, HBRUSH hbrush_bkgnd, HDC hdc_wnd)
-{
- HBITMAP hbmp = create_bitmap_from_icon(hIcon, hbrush_bkgnd, hdc_wnd);
-
- int ret = ImageList_Add(himl, hbmp, 0);
-
- DeleteObject(hbmp);
-
- return ret;
-}
-
-
-int IconCache::s_next_id = ICID_DYNAMIC;
-
-
-void IconCache::init()
-{
- _icons[ICID_NONE] = Icon(IT_STATIC, ICID_NONE, (HICON)0);
-
- _icons[ICID_IBROWSER] = Icon(ICID_IBROWSER, IDI_IBROWSER);
- _icons[ICID_BOOKMARK] = Icon(ICID_BOOKMARK, IDI_DOT_TRANS);
-}
-
-
-const Icon& IconCache::extract(const String& path)
-{
- PathMap::iterator found = _pathMap.find(path);
-
- if (found != _pathMap.end())
- return _icons[found->second];
-
- SHFILEINFO sfi;
-
-#if 1 // use system image list
- HIMAGELIST himlSys = (HIMAGELIST) SHGetFileInfo(path, 0, &sfi, sizeof(sfi), SHGFI_SYSICONINDEX|SHGFI_SMALLICON);
-
- if (himlSys) {
- _himlSys = himlSys;
-
- const Icon& icon = add(sfi.iIcon/*, IT_SYSCACHE*/);
-#else
- if (SHGetFileInfo(path, 0, &sfi, sizeof(sfi), SHGFI_ICON|SHGFI_SMALLICON)) {
- const Icon& icon = add(sfi.hIcon, IT_CACHED);
-#endif
-
- ///@todo limit cache size
- _pathMap[path] = icon;
-
- return icon;
- } else
- return _icons[ICID_NONE];
-}
-
-const Icon& IconCache::extract(LPCTSTR path, int idx)
-{
- CachePair key(path, idx);
-
-#ifndef __WINE__ ///@todo _tcslwr() for Wine
- _tcslwr((LPTSTR)key.first.c_str());
-#endif
-
- PathIdxMap::iterator found = _pathIdxMap.find(key);
-
- if (found != _pathIdxMap.end())
- return _icons[found->second];
-
- HICON hIcon;
-
- if ((int)ExtractIconEx(path, idx, NULL, &hIcon, 1) > 0) {
- const Icon& icon = add(hIcon, IT_CACHED);
-
- _pathIdxMap[key] = icon;
-
- return icon;
- } else {
-
- ///@todo retreive "http://.../favicon.ico" format icons
-
- return _icons[ICID_NONE];
- }
-}
-
-
-const Icon& IconCache::add(HICON hIcon, ICON_TYPE type)
-{
- int id = ++s_next_id;
-
- return _icons[id] = Icon(type, id, hIcon);
-}
-
-const Icon& IconCache::add(int sys_idx/*, ICON_TYPE type=IT_SYSCACHE*/)
-{
- int id = ++s_next_id;
-
- return _icons[id] = SysCacheIcon(id, sys_idx);
-}
-
-const Icon& IconCache::get_icon(int id)
-{
- return _icons[id];
-}
-
-void IconCache::free_icon(int icon_id)
-{
- IconMap::iterator found = _icons.find(icon_id);
-
- if (found != _icons.end()) {
- Icon& icon = found->second;
-
- if (icon.destroy())
- _icons.erase(found);
- }
-}
-
-
-ResString::ResString(UINT nid)
-{
- TCHAR buffer[BUFFER_LEN];
-
- int len = LoadString(g_hInstance, nid, buffer, sizeof(buffer)/sizeof(TCHAR));
-
- super::assign(buffer, len);
-}
-
-
-ResIcon::ResIcon(UINT nid)
-{
- _hicon = LoadIcon(g_hInstance, MAKEINTRESOURCE(nid));
-}
-
-SmallIcon::SmallIcon(UINT nid)
-{
- _hicon = (HICON)LoadImage(g_hInstance, MAKEINTRESOURCE(nid), IMAGE_ICON, GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON), LR_SHARED);
-}
-
-ResIconEx::ResIconEx(UINT nid, int w, int h)
-{
- _hicon = (HICON)LoadImage(g_hInstance, MAKEINTRESOURCE(nid), IMAGE_ICON, w, h, LR_SHARED);
-}
-
-
-void SetWindowIcon(HWND hwnd, UINT nid)
-{
- HICON hIcon = ResIcon(nid);
- (void)Window_SetIcon(hwnd, ICON_BIG, hIcon);
-
- HICON hIconSmall = SmallIcon(nid);
- (void)Window_SetIcon(hwnd, ICON_SMALL, hIconSmall);
-}
-
-
-ResBitmap::ResBitmap(UINT nid)
-{
- _hBmp = LoadBitmap(g_hInstance, MAKEINTRESOURCE(nid));
-}
-
-
-void ibrowser_show_frame(int cmdshow, LPTSTR lpCmdLine)
-{
- MainFrameBase::Create(lpCmdLine, cmdshow);
-}
-
-
-PopupMenu::PopupMenu(UINT nid)
-{
- HMENU hMenu = LoadMenu(g_hInstance, MAKEINTRESOURCE(nid));
- _hmenu = GetSubMenu(hMenu, 0);
-}
-
-
- /// "About" Dialog
-struct ExplorerAboutDlg : public
- CtlColorParent<
- OwnerDrawParent