Bye, old Downloader.

svn path=/trunk/; revision=48037
This commit is contained in:
Daniel Reimer 2010-07-14 11:00:31 +00:00
parent 06f1bc2133
commit 89324d2493
48 changed files with 0 additions and 3044 deletions

View file

@ -16,9 +16,6 @@
<directory name="control">
<xi:include href="control/control.rbuild" />
</directory>
<directory name="downloader">
<xi:include href="downloader/downloader.rbuild" />
</directory>
<directory name="dxdiag">
<xi:include href="dxdiag/dxdiag.rbuild" />
</directory>

View file

@ -1,402 +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)
* Copyright 2007 Dmitry Chapyshev (lentind@yandex.ru)
*/
/*
* 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#define COBJMACROS
#define WIN32_NO_STATUS
#include <windows.h>
#include <commctrl.h>
#include <shlobj.h>
#include <shlwapi.h>
#include <urlmon.h>
#include "resources.h"
#include "structures.h"
#define NDEBUG
#include <debug.h>
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, ((ULONGLONG)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(), HEAP_ZERO_MEMORY, sizeof(IBindStatusCallbackImpl));
if (!This)
return NULL;
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;
WCHAR path[MAX_PATH];
LPWSTR p;
STARTUPINFOW si;
PROCESS_INFORMATION pi;
HWND Dlg = (HWND) Context;
DWORD r;
BOOL bCancelled = FALSE;
BOOL bTempfile = FALSE;
HKEY hKey;
DWORD dwSize = MAX_PATH;
/* built the path for the download */
p = wcsrchr(SelectedApplication->Location, L'/');
if (NULL == p)
{
goto end;
}
/* Create default download path */
if (GetWindowsDirectory(path, sizeof(path) / sizeof(WCHAR)))
{
WCHAR DPath[256];
int i;
for (i = 0; i < 4; i++)
{
if (i == 3)
{
DPath[i] = '\0';
break;
}
DPath[i] = path[i];
}
LoadString(GetModuleHandle(NULL), IDS_DOWNLOAD_FOLDER, path, sizeof(path) / sizeof(WCHAR));
wcscat((LPWSTR)DPath, path);
wcscpy(path, DPath);
}
if (RegOpenKey(HKEY_LOCAL_MACHINE,
TEXT("Software\\ReactOS\\Downloader"),
&hKey) == ERROR_SUCCESS)
{
if ((RegQueryValueEx(hKey,
L"DownloadFolder",
NULL,
NULL,
(LPBYTE)&path,
&dwSize) != ERROR_SUCCESS) && (path[0] == 0))
{
goto end;
}
}
if (GetFileAttributes(path) == 0xFFFFFFFF)
if (!CreateDirectory((LPCTSTR)path,NULL))
{
goto end;
}
wcscat(path, L"\\");
wcscat(path, p + 1);
/* download it */
bTempfile = TRUE;
dl = CreateDl(Context, &bCancelled);
r = URLDownloadToFileW(NULL, SelectedApplication->Location, path, 0, dl);
if (NULL != dl)
{
IBindStatusCallback_Release(dl);
}
if (S_OK != r)
{
MessageBoxW(0,Strings[IDS_DOWNLOAD_ERROR],0,0);
goto end;
}
else if (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);
end:
if (bTempfile)
{
if (bCancelled)
DeleteFileW(path);
else
{
DWORD dwSize = sizeof(DWORD);
DWORD dwValue, dwType = REG_DWORD;
if (RegQueryValueEx(hKey,
L"DeleteInstaller",
NULL,
&dwType,
(LPBYTE)&dwValue,
&dwSize) == ERROR_SUCCESS)
if (dwValue == 0x1)
DeleteFileW(path);
RegCloseKey(hKey);
}
}
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);
}
}*/
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;
}
}

View file

@ -1,26 +0,0 @@
<?xml version="1.0"?>
<!DOCTYPE group SYSTEM "../../../tools/rbuild/project.dtd">
<group>
<installfile installbase="system32">downloader.xml</installfile>
<module name="downloader" type="win32gui" installbase="system32" installname="downloader.exe" unicode="yes">
<include base="downloader">.</include>
<include base="expat">.</include>
<library>advapi32</library>
<library>ntdll</library>
<library>user32</library>
<library>gdi32</library>
<library>shell32</library>
<library>comctl32</library>
<library>msimg32</library>
<library>shlwapi</library>
<library>urlmon</library>
<library>uuid</library>
<library>expat</library>
<file>main.c</file>
<file>xml.c</file>
<file>download.c</file>
<file>downloader.rc</file>
</module>
</group>

View file

@ -1,10 +0,0 @@
#include <windows.h>
#include "resources.h"
#define REACTOS_STR_FILE_DESCRIPTION "Download !\0"
#define REACTOS_STR_INTERNAL_NAME "downloader\0"
#define REACTOS_STR_ORIGINAL_FILENAME "downloader.exe\0"
#include <reactos/version.rc>
#include "rsrc.rc"

View file

@ -1,326 +0,0 @@
<tree Version="1"> <!-- Application version this tree is made for -->
<category name="Internet &amp; Network" icon="1">
<application name="Firefox 2.0">
<regname>Mozilla Firefox (2.0.0.20)</regname>
<licence>MPL/GPL/LGPL</licence>
<version>2.0.0.20</version>
<description>The most popular and one of the best free Web Browsers out there.</description>
<location>http://releases.mozilla.org/pub/mozilla.org/firefox/releases/2.0.0.20/win32/en-US/Firefox%20Setup%202.0.0.20.exe</location>
</application>
<application name="Firefox 3.0">
<regname>Mozilla Firefox (3.0.11)</regname>
<licence>MPL/GPL/LGPL</licence>
<version>3.0.11</version>
<description>The most popular and one of the best free Web Browsers out there.</description>
<location>http://releases.mozilla.org/pub/mozilla.org/firefox/releases/3.0.11/win32/en-US/Firefox%20Setup%203.0.11.exe</location>
</application>
<application name="Opera">
<regname>Opera</regname>
<licence>Freeware</licence>
<version>9.63</version>
<description>The popular Opera Browser with many advanced features and including a Mail and BitTorrent client.</description>
<location>http://ftp.opera.com/pub/opera/win/963/en/Opera_963_classic_Setup.exe</location>
</application>
<application name="Abyss Web server X1 2.6">
<regname>AbyssX1 2.6</regname>
<licence>Freeware</licence>
<version>2.6</version>
<description>Abyss Web Server enables you to host your Web sites on your computer. It supports secure SSL/TLS connections (HTTPS) as well as a wide range of Web technologies. It can also run advanced PHP, Perl, Python, ASP, ASP.NET, and Ruby on Rails Web applications, which can be backed by databases such as MySQL, SQLite, MS SQL Server, MS Access, or Oracle</description>
<location>http://www.aprelium.com/data/abwsx1.exe</location>
</application>
<application name="Thunderbird 2.0">
<regname>Mozilla Thunderbird (2.0.0.19)</regname>
<licence>MPL/GPL/LGPL</licence>
<version>2.0.0.19</version>
<description>The most popular and one of the best free Mail Clients out there.</description>
<location>http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/2.0.0.19/win32/en-US/Thunderbird%20Setup%202.0.0.19.exe</location>
</application>
<application name="SeaMonkey">
<regname>SeaMonkey (1.1.16)</regname>
<version>1.1.16</version>
<description>Mozilla Suite is alive. This is the one and only Browser, Mail, Chat, and Composer bundle you will ever need.</description>
<location>http://ftp.df.lth.se/mozilla/seamonkey/releases/1.1.16/seamonkey-1.1.16.en-US.win32.installer.exe</location>
</application>
<application name="Off By One Browser">
<regname>The Off By One Web Browser</regname>
<description>The Off By One Browser is a very small and fast web browser with full HTML 3.2 support.</description>
<location>http://offbyone.com/offbyone/images/OffByOneSetup.exe</location>
</application>
<application name="mIRC">
<regname>mIRC</regname>
<licence>Shareware</licence>
<version>6.35</version>
<description>The most popular client for the Internet Relay Chat (IRC)</description>
<location>http://mirc.bigchief.dk/mirc635.exe</location>
</application>
<application name="Samba TNG">
<description>This tool allows you to access your Windows shared folders/printers with ReactOS.</description>
<location>http://svn.reactos.org/packages/samba-tng.exe</location>
</application>
<application name="Miranda IM">
<regname>Miranda IM</regname>
<version>0.7.4</version>
<description>Open source multiprotocol instant messaging application - May not work completely.</description>
<location>http://ovh.dl.sourceforge.net/sourceforge/miranda/miranda-im-v0.7.4-unicode.exe</location>
</application>
<application name="Putty">
<regname>PuTTY version 0.60</regname>
<licence>MIT</licence>
<version>0.60</version>
<description>A free SSH, Telnet, rlogin, and raw TCP client.</description>
<location>http://the.earth.li/~sgtatham/putty/latest/x86/putty-0.60-installer.exe</location>
</application>
</category>
<category name="Office" icon="2">
<application name="Abiword">
<regname>"AbiWord 2.6.4 (remove only)"</regname>
<version>2.6.4</version>
<description>Word processor.</description>
<location>http://www.abiword.org/downloads/abiword/2.6.4/Windows/abiword-setup-2.6.4.exe</location>
</application>
<application name="SoftMaker Office 2008">
<regname>SoftMakerOff08</regname>
<version>2008</version>
<licence>Shareware</licence>
<description>SoftMaker Office 2008 comes with the following applications: TextMaker 2008: Reads and writes all Microsoft Word files without a hitch. PlanMaker 2008, the fully Excel-compatible spreadsheet. SoftMaker Presentations 2008, fully compatible with Microsoft PowerPoint.</description>
<location>http://www.softmaker.net/down/ofw08ev.exe</location>
</application>
<application name="TextMaker Viewer 2009">
<regname>TextMaker Viewer 2009</regname>
<version>TMViewer09</version>
<licence>Freeware</licence>
<description>A light viewer which lets you open, view, and print documents created with Microsoft Word 6.0 to 2007, TextMaker as well as OpenDocument and other common office file formats.</description>
<location>http://www.softmaker.net/down/TMViewerSetup.exe</location>
</application>
<application name="OpenOffice 2.4">
<regname>OpenOffice.org 2.4.2</regname>
<version>2.4.2</version>
<description>THE Open Source Office Suite.</description>
<location>http://ftp.plusline.de/OpenOffice/stable/2.4.2/OOo_2.4.2_Win32Intel_install_wJRE_en-US.exe</location>
</application>
<application name="OpenOffice 3.0">
<regname>OpenOffice.org 3.0.1</regname>
<version>3.0.1</version>
<description>THE Open Source Office Suite.</description>
<location>http://ftp.tu-chemnitz.de/pub/openoffice/stable/3.0.1/OOo_3.0.1_Win32Intel_install_en-US.exe</location>
</application>
</category>
<category name="Graphics" icon="3">
<application name="IrfanView">
<regname>IrfanView (remove only)</regname>
<version>4.23</version>
<description>Viewer for all kinds of graphics/audio files/video files.</description>
<location>http://irfanview.tuwien.ac.at/iview423_setup.exe</location>
</application>
<application name="IrfanView Plugins">
<version>4.22</version>
<description>Additional Plugins for supporting more file types.</description>
<location>http://irfanview.tuwien.ac.at/plugins/irfanview_plugins_422_setup.exe</location>
</application>
<application name="TuxPaint">
<regname>Tux Paint 0.9.19</regname>
<version>0.9.19</version>
<description>An Open Source bitmap graphics editor geared towards young children.</description>
<location>http://ovh.dl.sourceforge.net/sourceforge/tuxpaint/tuxpaint-0.9.19-win32-installer.exe</location>
</application>
<application name="zeckensack's glide wrapper">
<regname>GlidewrapZbag</regname>
<version>0.84c</version>
<description>glidewrapper needed to run Diablo 2 on ReactOS.</description>
<location>http://www.zeckensack.de/glide/archive/GlideWrapper084c.exe</location>
</application>
</category>
<category name="Libraries" icon="4">
<application name="Microsoft XML 3">
<regname>msxml3</regname>
<version>3.0</version>
<description>MSXML3 is needed for some MSI Installers.</description>
<location>http://download.microsoft.com/download/8/8/8/888f34b7-4f54-4f06-8dac-fa29b19f33dd/msxml3.msi</location>
</application>
<application name="OLE Viewer and Microsoft Foundation Classes version 4">
<regname>mfc40</regname>
<version>4.0</version>
<description>MFC 4 is needed by some applications</description>
<location>http://download.microsoft.com/download/ole/ole2v/3.5/w351/en-us/ole2v.exe</location>
</application>
<application name="Visual Basic 5 Runtime">
<regname>vb5run</regname>
<version>5.0</version>
<description>Visual Basic 5 Runtime</description>
<location>http://download.microsoft.com/download/vb50pro/utility/1/win98/en-us/msvbvm50.exe</location>
</application>
<application name="Visual Basic 6 Runtime">
<regname>vb6run</regname>
<version>6.0</version>
<description>Visual Basic 6 Runtime</description>
<location>http://download.microsoft.com/download/vb60pro/install/6/win98me/en-us/vbrun60.exe</location>
</application>
<application name="Visual Studio 6 Runtime">
<regname>vc6run</regname>
<version>6.0</version>
<description>Visual Studio 6 Runtime</description>
<location>http://download.microsoft.com/download/vc60pro/update/1/w9xnt4/en-us/vc6redistsetup_enu.exe</location>
</application>
<application name="Visual Studio 2005 Runtime">
<regname>vc2005run</regname>
<version>7.0</version>
<description>Visual Studio 2005 Runtime</description>
<location>http://download.microsoft.com/download/d/3/4/d342efa6-3266-4157-a2ec-5174867be706/vcredist_x86.exe</location>
</application>
<application name="Visual Studio 2005 Runtime SP1">
<regname>vc2005sp1run</regname>
<version>7.1</version>
<description>Visual Studio 2005 Runtime SP1</description>
<location>http://download.microsoft.com/download/e/1/c/e1c773de-73ba-494a-a5ba-f24906ecf088/vcredist_x86.exe</location>
</application>
<application name="Visual Studio 2008 Runtime">
<regname>vc2008run</regname>
<version>8.0</version>
<description>Visual Studio 2008 Runtime</description>
<location>http://download.microsoft.com/download/1/1/1/1116b75a-9ec3-481a-a3c8-1777b5381140/vcredist_x86.exe</location>
</application>
</category>
<category name="Multimedia" icon="4">
<application name="SMPlayer 0.6.7">
<regname>smplayer</regname>
<version>0.6.7</version>
<description>SMPlayer</description>
<location>http://dfn.dl.sourceforge.net/sourceforge/smplayer/smplayer_0.6.7_setup.exe</location>
</application>
<application name="VLC Media Player 0.8.0">
<regname>vlc0.8.0</regname>
<licence>GPL</licence>
<version>0.8.0</version>
<description>VLC media player is a highly portable multimedia player for various audio and video formats (MPEG-1, MPEG-2, MPEG-4, DivX, mp3, ogg, ...) as well as DVDs, VCDs, and various streaming protocols.</description>
<location>http://download.videolan.org/pub/videolan/vlc/0.8.0/win32/vlc-0.8.0-win32.exe</location>
</application>
</category>
<category name="Development" icon="5">
<application name="ReactOS Build Environment">
<regname>ReactOS Build Environment 1.4.4</regname>
<version>1.4.4</version>
<description>Allows you to build the ReactOS Source. For more instructions see ReactOS wiki.</description>
<location>http://ovh.dl.sourceforge.net/sourceforge/reactos/RosBE-1.4.4.exe</location>
</application>
<application name="MinGW">
<regname>MinGW 5.1.3</regname>
<version>5.1.3</version>
<description>A Port of the GNU toolchain with GCC, GDB, GNU make, etc.</description>
<location>http://ovh.dl.sourceforge.net/sourceforge/mingw/MinGW-5.1.3.exe</location>
</application>
<application name="SciTE 1.78">
<regname>SciTE 1.78</regname>
<version>1.78</version>
<licence>GPL</licence>
<description>SciTE is a SCIntilla based Text Editor. Originally built to demonstrate Scintilla, it has grown to be a generally useful editor with facilities for building and running programs.</description>
<location>http://fastbull.dl.sourceforge.net/sourceforge/scintilla/Sc178.exe</location>
</application>
<application name="FreeBASIC">
<regname>FreeBASIC 0.18.4b</regname>
<version>0.18.4b</version>
<description>Open Source BASIC Compiler. The BASIC syntax is compatible to QBASIC.</description>
<location>http://ovh.dl.sourceforge.net/sourceforge/fbc/FreeBASIC-v0.18.4b-win32.exe</location>
</application>
</category>
<category name="Games &amp; Fun" icon="6">
<application name="ScummVM">
<regname>ScummVM 0.11.1</regname>
<version>0.11.1</version>
<description>SamNMax, Day of Tentacle, etc on ReactOS</description>
<location>http://ovh.dl.sourceforge.net/sourceforge/scummvm/scummvm-0.11.1-win32.exe</location>
</application>
<application name="Diablo 2 Shareware">
<regname>Diablo II Shareware</regname>
<version>1.4</version>
<description>Diablo 2 Shareware. zeckensack's glide wrapper is req. to run it.</description>
<location>http://ftp.freenet.de./pub/filepilot/windows/spiele/diabloiidemo.exe</location>
<depends>GlidewrapZbag</depends>
<postinstallaction>http://svn.reactos.org/downloads/d2fix.exe</postinstallaction>
</application>
<application name="Tile World">
<description>Nice Clone of Chip's Challenge originally made for the Atari Lynx. Includes free CCLP2 Graphics Pack, so you dont need the copyrighted Original.</description>
<location>http://www.muppetlabs.com/~breadbox/pub/software/tworld/tworld-1.3.0-win32-CCLP2.exe</location>
</application>
<application name="OpenTTD">
<regname>OpenTTD 0.7.1</regname>
<version>0.7.1</version>
<description>Open Source clone of the "Transport Tycoon Deluxe" game engine. You either need a copy of Transport Tycoon or have to manually download and set up the OpenGFX files.</description>
<location>http://binaries.openttd.org/releases/0.7.1/openttd-0.7.1-windows-win32.exe</location>
</application>
<application name="LBreakout2">
<regname>LBreakout2 2.4.1</regname>
<version>2.4.1</version>
<description>Breakout Clone using SDL libs.</description>
<location>http://ovh.dl.sourceforge.net/sourceforge/lgames/lbreakout2-2.4.1-win32.exe</location>
</application>
<application name="LGeneral">
<regname>LGeneral 1.1</regname>
<version>1.1</version>
<description>Panzer General Clone using SDL libs.</description>
<location>http://ovh.dl.sourceforge.net/sourceforge/lgames/lgeneral-1.1-win32.exe</location>
</application>
<application name="LMarbles">
<regname>LMarbles 1.0.6</regname>
<version>1.0.6</version>
<description>Atomix Clone using SDL libs.</description>
<location>http://ovh.dl.sourceforge.net/sourceforge/lgames/lmarbles-1.0.6-win32.exe</location>
</application>
<application name="WinBoard">
<regname>WinBoard 4.2.7b</regname>
<version>4.2.7b</version>
<licence>GPL 3</licence>
<description>WinBoard is a graphical chessboard for the Windows/ReactOS that can serve as a user interface for GNU Chess, Crafty, and other chess engines, for the Internet Chess Servers, and for electronic mail correspondence chess.</description>
<location>http://ftp.gnu.org/gnu/winboard/winboard-4_2_7b.exe</location>
</application>
</category>
<category name="Science" icon="11">
</category>
<category name="Edutainment" icon="12">
</category>
<category name="Engineering" icon="13">
</category>
<category name="Tools" icon="7">
<application name="7-Zip">
<regname>7-Zip 4.57</regname>
<version>4.57</version>
<description>Utility to create and open 7zip, zip, tar, rar and other archive files.</description>
<location>http://ovh.dl.sourceforge.net/sourceforge/sevenzip/7z457.exe</location>
</application>
<application name="uTorrent">
<regname>&#181;Torrent</regname>
<version>1.8</version>
<description>Small and fast BitTorrent Client</description>
<location>http://download.utorrent.com/1.8.2/utorrent-1.8.2.upx.exe</location>
</application>
<application name="Audio Grabber">
<regname>Audiograbber 1.83 SE</regname>
<version>1.83 SE</version>
<description>A very good CD Ripper/Audio File Converter.</description>
<location>http://www.audiograbber.de/files/4898276276/agsetup183se.exe</location>
</application>
</category>
<category name="Drivers" icon="8">
<application name="AC97 Driver for VirtualBox">
<version>5.10.00.3610</version>
<description>Unzip in the "ReactOS" folder then restart ReactOS twice.</description>
<location>http://svn.reactos.org/packages/ac97_vbox.exe</location>
</application>
</category>
<category name="Others" icon="8">
<application name="Simple Direct Media Layer (SDL) Runtime">
<version>1.2.13</version>
<description>Needed for many Open Source Games to run. You need 7-Zip or a similar Utility to extract it.</description>
<location>http://www.libsdl.org/release/SDL-1.2.13-win32.zip</location>
</application>
<application name="Simple Direct Media Layer (SDL) Mixer">
<version>1.2.8</version>
<description>Needed for some Open Source Games to run. You need 7-Zip or a similar Utility to extract it.</description>
<location>http://www.libsdl.org/projects/SDL_mixer/release/SDL_mixer-1.2.8-win32.zip</location>
</application>
<application name="DOSBox">
<version>0.72</version>
<description>DOSBox is a DOS emulator.</description>
<location>http://ovh.dl.sourceforge.net/sourceforge/dosbox/DOSBox0.72-win32-installer.exe</location>
</application>
</category>
</tree>

View file

@ -1,60 +0,0 @@
LANGUAGE LANG_BULGARIAN, SUBLANG_DEFAULT
IDD_DOWNLOAD DIALOG LOADONCALL MOVEABLE DISCARDABLE 0, 0, 220, 76
STYLE DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
CAPTION "Сваляне..."
FONT 8, "MS Shell Dlg"
BEGIN
CONTROL "Progress1",IDC_PROGRESS,"msctls_progress32",WS_BORDER|PBS_SMOOTH,10,10,200,12
LTEXT "", IDC_STATUS, 10, 30, 200, 10, SS_CENTER
PUSHBUTTON "Отказ", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP
END
IDD_PROF DIALOGEX 6, 6, 267, 110
STYLE DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
CAPTION "Предпочитания"
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "Папка за сваляне:", -1, 6, 10, 144, 8
EDITTEXT IDC_DOWNLOAD_FOLDER_EDIT, 6, 20, 205, 14, WS_VISIBLE | WS_TABSTOP
PUSHBUTTON "&Избор...", IDC_CHOOSE_BUTTON, 216, 20, 45, 14
AUTOCHECKBOX "&Изтриване на инсталационните файлове след слагането", IDC_DELINST_FILES_CHECKBOX, 8, 40, 210, 10, WS_GROUP
LTEXT "Сървър с обновявания:", -1, 6, 55, 140, 8
EDITTEXT IDC_UPDATE_SERVER_EDIT, 6, 65, 255, 14, WS_VISIBLE | WS_TABSTOP
DEFPUSHBUTTON "&Добре", IDOK, 147, 90, 54, 15
PUSHBUTTON "&Отказ", IDCANCEL, 207, 90, 54, 15
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_WINDOW_TITLE "Свали! - Свалячът на РеактОС"
IDS_WELCOME_TITLE "Свалячът на РеактОС ви приветства"
IDS_WELCOME "Изберете раздел отляво. Това е издание 1.1."
IDS_NO_APP_TITLE "Не е избрано приложение"
IDS_NO_APP "Изберете приложение, преди да натиснето клавиша „Сваляне”. Ако имате нужда от помощ, натиснете въпросителната в горния десен ъгъл."
IDS_UPDATE_TITLE "Обновяване"
IDS_UPDATE "Тази възможност все още не е готова."
IDS_HELP_TITLE "Помощ"
IDS_HELP "Изберете раздел отляво, след това изберете приложение и натиснете „Сваляне”. За да осъвремените сведенията за приложението, натиснете копчето до „Напред”."
IDS_NO_APPS "За съжаление в този раздел все още няма приложения. Можете да помогнете и да добавите още приложения."
IDS_CHOOSE_APP "Изберете приложение."
IDS_CHOOSE_SUB "Изберете подраздел."
IDS_CHOOSE_CATEGORY "Изберете раздел."
IDS_CHOOSE_BOTH "Изберете подраздел или приложение."
IDS_XMLERROR_1 "Xml файлът не е открит !"
IDS_XMLERROR_2 "Разборът на XML файла е неуспешен!"
IDS_DOWNLOAD_ERROR "Свалянето на файла невъзможно.\nПроверете връзката си с интернет."
IDS_VERSION "Издание: "
IDS_LICENCE "Разрешително: "
IDS_MAINTAINER "Поддържащ: "
IDS_APPS_TITLE "Приложения"
IDS_CATS_TITLE "Раздели"
IDS_CHOOSE_FOLDER "Изберете папката..."
IDS_NOTCREATE_REGKEY "Неуспешно създаване на ключ в регистъра."
IDS_DOWNLOAD_FOLDER "Сваляч"
IDS_UNABLECREATE_FOLDER "Неуспешно създаване на папка с това име!"
IDS_UPDATE_URL "http://svn.reactos.org"
TTT_HELPBUTTON, "Помощ за сваляча"
TTT_UPDATEBUTTON, "Все още не е готово"
TTT_PROFBUTTON, "Позволява настройка на сваляча"
END

View file

@ -1,61 +0,0 @@
LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL
IDD_DOWNLOAD DIALOGEX LOADONCALL MOVEABLE DISCARDABLE 0, 0, 220, 76
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
CAPTION "Download..."
FONT 8, "MS Shell Dlg"
BEGIN
CONTROL "Progress1",IDC_PROGRESS,"msctls_progress32",WS_BORDER|PBS_SMOOTH,10,10,200,12
LTEXT "", IDC_STATUS, 10, 30, 200, 10, SS_CENTER
PUSHBUTTON "Abbrechen", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP
END
IDD_PROF DIALOGEX 6, 6, 267, 110
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
CAPTION "Einstellungen"
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "Downloadordner:", -1, 6, 10, 140, 8
EDITTEXT IDC_DOWNLOAD_FOLDER_EDIT, 6, 20, 205, 14, WS_VISIBLE | WS_TABSTOP
PUSHBUTTON "W&ähle...", IDC_CHOOSE_BUTTON, 216, 20, 45, 14
AUTOCHECKBOX "&Installationsdateien nach dem Setup löschen", IDC_DELINST_FILES_CHECKBOX, 8, 40, 210, 10, WS_GROUP
LTEXT "Updateserver:", -1, 6, 55, 140, 8
EDITTEXT IDC_UPDATE_SERVER_EDIT, 6, 65, 255, 14, WS_VISIBLE | WS_TABSTOP
DEFPUSHBUTTON "&OK", IDOK, 147, 90, 54, 15
PUSHBUTTON "&Abbrechen", IDCANCEL, 207, 90, 54, 15
END
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.1."
IDS_NO_APP_TITLE "Keine Anwendung ausgewählt"
IDS_NO_APP "Bitte wählen Sie eine Anwendung aus, 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 heruntergeladen werden.\nBitte prüfen sie, ob eine Verbindung zum Internet besteht."
IDS_VERSION "Version: "
IDS_LICENCE "Lizenz: "
IDS_MAINTAINER "Maintainer: "
IDS_APPS_TITLE "Anwendungen"
IDS_CATS_TITLE "Kategorien"
IDS_CHOOSE_FOLDER "Bitte wählen Sie den Ordner aus..."
IDS_NOTCREATE_REGKEY "Registryschlüssel könnte nicht erstellt werden."
IDS_DOWNLOAD_FOLDER "Downloader"
IDS_UNABLECREATE_FOLDER "Es konnte kein Ordner mit diesem Namen erstellt werden!"
IDS_UPDATE_URL "http://svn.reactos.org"
IDS_INSTALL_DEP "%s wird benötigt, um %s ausführen zu können. Soll %s jetzt installiert werden?"
TTT_HELPBUTTON "Hilfe über den Downloader"
TTT_UPDATEBUTTON "Noch nicht vorhanden"
TTT_PROFBUTTON "Konfiguriert den Downloader"
END

View file

@ -1,61 +0,0 @@
LANGUAGE LANG_GREEK, SUBLANG_DEFAULT
IDD_DOWNLOAD DIALOGEX LOADONCALL MOVEABLE DISCARDABLE 0, 0, 220, 76
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
CAPTION "Download..."
FONT 8, "MS Shell Dlg"
BEGIN
CONTROL "Progress1",IDC_PROGRESS,"msctls_progress32",WS_BORDER|PBS_SMOOTH,10,10,200,12
LTEXT "", IDC_STATUS, 10, 30, 200, 10, SS_CENTER
PUSHBUTTON "¢êõñï", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP
END
IDD_PROF DIALOGEX 6, 6, 267, 110
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
CAPTION "ÐñïôéìÞóåéò"
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "ÖÜêåëïò ËÞøåùí:", -1, 6, 10, 140, 8
EDITTEXT IDC_DOWNLOAD_FOLDER_EDIT, 6, 20, 205, 14, WS_VISIBLE | WS_TABSTOP
PUSHBUTTON "Å&ðéëïãÞ...", IDC_CHOOSE_BUTTON, 216, 20, 45, 14
AUTOCHECKBOX "&ÄéáãñáöÞ áñ÷åßùí åãêáôÜóôáóçò ìåôÜ ôçí åãêáôÜóôáóç", IDC_DELINST_FILES_CHECKBOX, 8, 40, 210, 10, WS_GROUP
LTEXT "ÄéáêïìéóôÞò åíçìåñþóåùí:", -1, 6, 55, 140, 8
EDITTEXT IDC_UPDATE_SERVER_EDIT, 6, 65, 255, 14, WS_VISIBLE | WS_TABSTOP
DEFPUSHBUTTON "&OK", IDOK, 147, 90, 54, 15
PUSHBUTTON "&¢êõñï", IDCANCEL, 207, 90, 54, 15
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_WINDOW_TITLE "Download ! - ReactOS Downloader"
IDS_WELCOME_TITLE "Êáëþò Þëèáôå óôïí ReactOS Downloader"
IDS_WELCOME "Ðáñáêáëþ åðéëÝîôå êáôçãïñßá óôá áñéóôåñÜ. ÁõôÞ åßíáé ç Ýêäïóç 1.1."
IDS_NO_APP_TITLE "Äåí åðéëÝ÷èçêå åöáñìïãÞ"
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 "ÅíçìÝñùóç"
IDS_UPDATE "Sorry this feature is not implemented yet."
IDS_HELP_TITLE "ÂïÞèåéá"
IDS_HELP "ÅðéëÝîôå êáôçãïñßá óôá áñéóôåñÜ, ìåôÜ åðéëÝîôå ìéá åöáñìïãÞ êáé ðáôÞóôå ôï êïõìðß download. 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 "Ðáñáêáëþ åðéëÝîôå ìéá åöáñìïãÞ."
IDS_CHOOSE_SUB "Ðáñáêáëþ åðéëÝîôå ìéá õðïêáôçãïñßá."
IDS_CHOOSE_CATEGORY "Ðáñáêáëþ åðéëÝîôå ìéá êáôçãïñßá."
IDS_CHOOSE_BOTH "Ðáñáêáëþ åðéëÝîôå ìéá õðïêáôçãïñßá Þ ìéá åöáñìïãÞ."
IDS_XMLERROR_1 "Äå âñÝèçêå ôï áñ÷åßï xml !"
IDS_XMLERROR_2 "Could not parse the xml file !"
IDS_DOWNLOAD_ERROR "Äåí Þôáí äõíáôü ôï êáôÝâáóìá ôïõ áñ÷åßïõ.\nÐáñáêáëïýìå åëÝîôå ôçí internet óýíäåóÞ óáò."
IDS_VERSION "¸êäïóç: "
IDS_LICENCE "¢äåéá: "
IDS_MAINTAINER "Maintainer: "
IDS_APPS_TITLE "ÅöáñìïãÝò"
IDS_CATS_TITLE "Êáôçãïñßåò"
IDS_CHOOSE_FOLDER "Ðáñáêáëþ, åðéëÝîôå ôïí êáôÜëïãï..."
IDS_NOTCREATE_REGKEY "Could not create the registry key."
IDS_DOWNLOAD_FOLDER "Downloader"
IDS_UNABLECREATE_FOLDER "Unable to create a folder with this name!"
IDS_UPDATE_URL "http://svn.reactos.org"
IDS_INSTALL_DEP "%s åßíáé áðáéôïýìåíï ãéá ôçí åêôÝëåóç ôïõ %s. Íá åãêáôáóôáèåß ôï %s ôþñá;"
TTT_HELPBUTTON "Âñåßôå âïÞèåéá ãéá ôïí downloader"
TTT_UPDATEBUTTON "¼÷é áêüìá äéáèÝóéìï"
TTT_PROFBUTTON "Let you configure the downloader"
END

View file

@ -1,61 +0,0 @@
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
IDD_DOWNLOAD DIALOGEX LOADONCALL MOVEABLE DISCARDABLE 0, 0, 220, 76
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
CAPTION "Download..."
FONT 8, "MS Shell Dlg"
BEGIN
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
END
IDD_PROF DIALOGEX 6, 6, 267, 110
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
CAPTION "Preferences"
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "Download folder:", -1, 6, 10, 140, 8
EDITTEXT IDC_DOWNLOAD_FOLDER_EDIT, 6, 20, 205, 14, WS_VISIBLE | WS_TABSTOP
PUSHBUTTON "C&hoose...", IDC_CHOOSE_BUTTON, 216, 20, 45, 14
AUTOCHECKBOX "&Delete installation files after setup", IDC_DELINST_FILES_CHECKBOX, 8, 40, 210, 10, WS_GROUP
LTEXT "Update server:", -1, 6, 55, 140, 8
EDITTEXT IDC_UPDATE_SERVER_EDIT, 6, 65, 255, 14, WS_VISIBLE | WS_TABSTOP
DEFPUSHBUTTON "&OK", IDOK, 147, 90, 54, 15
PUSHBUTTON "&Cancel", IDCANCEL, 207, 90, 54, 15
END
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.1."
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 your internet connection."
IDS_VERSION "Version: "
IDS_LICENCE "Licence: "
IDS_MAINTAINER "Maintainer: "
IDS_APPS_TITLE "Applications"
IDS_CATS_TITLE "Categories"
IDS_CHOOSE_FOLDER "Please, choose the folder..."
IDS_NOTCREATE_REGKEY "Could not create the registry key."
IDS_DOWNLOAD_FOLDER "Downloader"
IDS_UNABLECREATE_FOLDER "Unable to create a folder with this name!"
IDS_UPDATE_URL "http://svn.reactos.org"
IDS_INSTALL_DEP "%s is required to run %s. Should %s be installed now?"
TTT_HELPBUTTON "Get help about the downloader"
TTT_UPDATEBUTTON "Not yet available"
TTT_PROFBUTTON "Let you configure the downloader"
END

View file

@ -1,66 +0,0 @@
/*
*Spanish Language resource file
* Actualizado Javier Remacha 2007-12-01,2007-12-31
*/
LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL
IDD_DOWNLOAD DIALOGEX LOADONCALL MOVEABLE DISCARDABLE 0, 0, 220, 76
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
CAPTION "Descargar..."
FONT 8, "MS Shell Dlg"
BEGIN
CONTROL "Progress1",IDC_PROGRESS,"msctls_progress32",WS_BORDER|PBS_SMOOTH,10,10,200,12
LTEXT "", IDC_STATUS, 10, 30, 200, 10, SS_CENTER
PUSHBUTTON "Cancelar", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP
END
IDD_PROF DIALOGEX 6, 6, 267, 110
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
CAPTION "Preferencias"
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "Carpeta de descarga:", -1, 6, 10, 140, 8
EDITTEXT IDC_DOWNLOAD_FOLDER_EDIT, 6, 20, 205, 14, WS_VISIBLE | WS_TABSTOP
PUSHBUTTON "&Seleccionar...", IDC_CHOOSE_BUTTON, 216, 20, 45, 14
AUTOCHECKBOX "&Borrar archivos de instalación tras la instalación", IDC_DELINST_FILES_CHECKBOX, 8, 40, 210, 10, WS_GROUP
LTEXT "Actualizar servidor:", -1, 6, 55, 140, 8
EDITTEXT IDC_UPDATE_SERVER_EDIT, 6, 65, 255, 14, WS_VISIBLE | WS_TABSTOP
DEFPUSHBUTTON "&Aceptar", IDOK, 147, 90, 54, 15
PUSHBUTTON "&Cancelar", IDCANCEL, 207, 90, 54, 15
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_WINDOW_TITLE "¡Descargar! - Descargador de ReactOS"
IDS_WELCOME_TITLE "Bienvenido al descargador de ReactOS"
IDS_WELCOME "Por favor selecciona una categoría de la izquierda. Esta es la versión 1.1."
IDS_NO_APP_TITLE "Ninguna aplicación seleccionada"
IDS_NO_APP "Por favor seleccione una Aplicación antes de pulsar el botón de Descarga, si necesita asistencia por favor pulsa el botón con la interrogación en la esquina superior derecha."
IDS_UPDATE_TITLE "Actualizar"
IDS_UPDATE "Perdón esta característica no a sido implementada todavía."
IDS_HELP_TITLE "Ayuda"
IDS_HELP "Selecciona una categoría de la izquierda, entonces selecciona una aplicación y pulsa el botón de descargar. Para actualizar la información de la aplicación pulsa el botón junto al botón de ayuda."
IDS_NO_APPS "Perdón, aun no hay ninguna aplicación en esta categoría. Puedes ayudar y añadir más aplicaciones."
IDS_CHOOSE_APP "Por favor selecciona una aplicación."
IDS_CHOOSE_SUB "Por favor selecciona una subcategoría."
IDS_CHOOSE_CATEGORY "Por favor selecciona una categoría."
IDS_CHOOSE_BOTH "Por favor selecciona una subcategoria o una aplicación."
IDS_XMLERROR_1 "¡No se a encontrado el archivo xml!"
IDS_XMLERROR_2 "¡No se ha podido analizar el archivo xml!"
IDS_DOWNLOAD_ERROR "Imposible descargar el archivo.\nPor favor verifica tu conexión a internet."
IDS_VERSION "Versión: "
IDS_LICENCE "Licencia: "
IDS_MAINTAINER "Mantenido por: "
IDS_APPS_TITLE "Aplicaciones"
IDS_CATS_TITLE "Categorias"
IDS_CHOOSE_FOLDER "Por favor, seleccione la carpeta..."
IDS_NOTCREATE_REGKEY "No se puede crear la llave del registro."
IDS_DOWNLOAD_FOLDER "Downloader"
IDS_UNABLECREATE_FOLDER "¡Imposible crear una carpeta con este nombre!"
IDS_UPDATE_URL "http://svn.reactos.org"
IDS_INSTALL_DEP "%s en necesario para ejecutar %s. ¿Desea instalar %s ahora?"
TTT_HELPBUTTON "Obtenga ayuda acerca de Downloader"
TTT_UPDATEBUTTON "No disponible todavía"
TTT_PROFBUTTON "Le permite configurar Downloader"
END

View file

@ -1,61 +0,0 @@
LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL
IDD_DOWNLOAD DIALOGEX LOADONCALL MOVEABLE DISCARDABLE 0, 0, 220, 76
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
CAPTION "Téléchargement..."
FONT 8, "MS Shell Dlg"
BEGIN
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
END
IDD_PROF DIALOGEX 6, 6, 267, 110
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
CAPTION "Préférences"
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "Répertoire de téléchargement :", -1, 6, 10, 140, 8
EDITTEXT IDC_DOWNLOAD_FOLDER_EDIT, 6, 20, 205, 14, WS_VISIBLE | WS_TABSTOP
PUSHBUTTON "C&hoisir...", IDC_CHOOSE_BUTTON, 216, 20, 45, 14
AUTOCHECKBOX "Supprimer les fichiers après l'installation", IDC_DELINST_FILES_CHECKBOX, 8, 40, 210, 10, WS_GROUP
LTEXT "Serveur de mise-à-jour :", -1, 6, 55, 140, 8
EDITTEXT IDC_UPDATE_SERVER_EDIT, 6, 65, 255, 14, WS_VISIBLE | WS_TABSTOP
DEFPUSHBUTTON "&OK", IDOK, 147, 90, 54, 15
PUSHBUTTON "Annuler", IDCANCEL, 207, 90, 54, 15
END
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 gauche. C'est la version 1.1."
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 gauche, 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_VERSION "Version: "
IDS_LICENCE "Licence: "
IDS_MAINTAINER "Maintainer: "
IDS_APPS_TITLE "Applications"
IDS_CATS_TITLE "Catégories"
IDS_CHOOSE_FOLDER "Veuillez choisir le répertoire..."
IDS_NOTCREATE_REGKEY "Échec lors de la création de la clé registre."
IDS_DOWNLOAD_FOLDER "Downloader"
IDS_UNABLECREATE_FOLDER "Échec lors du répertoire avec ce nom !"
IDS_UPDATE_URL "http://svn.reactos.org"
IDS_INSTALL_DEP "%s est nécessaire pour lancer %s. Voulez-vous installer %s maintenant ?"
TTT_HELPBUTTON "Obtenez de l'aide à propros du téléchargeur"
TTT_UPDATEBUTTON "Pas encore disponible"
TTT_PROFBUTTON "Vous permet de configurer le téléchargeur"
END

View file

@ -1,61 +0,0 @@
LANGUAGE LANG_INDONESIAN, SUBLANG_DEFAULT
IDD_DOWNLOAD DIALOGEX LOADONCALL MOVEABLE DISCARDABLE 0, 0, 220, 76
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
CAPTION "Download..."
FONT 8, "MS Shell Dlg"
BEGIN
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
END
IDD_PROF DIALOGEX 6, 6, 267, 110
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
CAPTION "Proferences"
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "Download folder:", -1, 6, 10, 140, 8
EDITTEXT IDC_DOWNLOAD_FOLDER_EDIT, 6, 20, 205, 14, WS_VISIBLE | WS_TABSTOP
PUSHBUTTON "C&hoose...", IDC_CHOOSE_BUTTON, 216, 20, 45, 14
AUTOCHECKBOX "&Delete installation files after setup", IDC_DELINST_FILES_CHECKBOX, 8, 40, 210, 10, WS_GROUP
LTEXT "Update server:", -1, 6, 55, 140, 8
EDITTEXT IDC_UPDATE_SERVER_EDIT, 6, 65, 255, 14, WS_VISIBLE | WS_TABSTOP
DEFPUSHBUTTON "&OK", IDOK, 147, 90, 54, 15
PUSHBUTTON "&Cancel", IDCANCEL, 207, 90, 54, 15
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_WINDOW_TITLE "Download ! - ReactOS Downloader"
IDS_WELCOME_TITLE "Selamat datang di ReactOS Downloader"
IDS_WELCOME "Silahkan pilih kategori di sebelah kiri. Ini versi 1.1."
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_VERSION "Versi: "
IDS_LICENCE "Lisensi: "
IDS_MAINTAINER "Pemelihara: "
IDS_APPS_TITLE "Applications"
IDS_CATS_TITLE "Categories"
IDS_CHOOSE_FOLDER "Please, choose the folder..."
IDS_NOTCREATE_REGKEY "Could not create the registry key."
IDS_DOWNLOAD_FOLDER "Downloader"
IDS_UNABLECREATE_FOLDER "Unable to create a folder with this name!"
IDS_UPDATE_URL "http://svn.reactos.org"
IDS_INSTALL_DEP "%s is required to run %s. Should %s be installed now?"
TTT_HELPBUTTON "Get help about the downloader"
TTT_UPDATEBUTTON "Not yet available"
TTT_PROFBUTTON "Let you configure the downloader"
END

View file

@ -1,61 +0,0 @@
LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL
IDD_DOWNLOAD DIALOGEX LOADONCALL MOVEABLE DISCARDABLE 0, 0, 220, 76
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
CAPTION "Scarica..."
FONT 8, "MS Shell Dlg"
BEGIN
CONTROL "Progress1",IDC_PROGRESS,"msctls_progress32",WS_BORDER|PBS_SMOOTH,10,10,200,12
LTEXT "", IDC_STATUS, 10, 30, 200, 10, SS_CENTER
PUSHBUTTON "Annulla", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP
END
IDD_PROF DIALOGEX 6, 6, 267, 110
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
CAPTION "Preferenze"
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "Cartella dove scaricare:", -1, 6, 10, 140, 8
EDITTEXT IDC_DOWNLOAD_FOLDER_EDIT, 6, 20, 205, 14, WS_VISIBLE | WS_TABSTOP
PUSHBUTTON "&Scegliere...", IDC_CHOOSE_BUTTON, 216, 20, 45, 14
AUTOCHECKBOX "&Cancellare i file di installazione dopo il setup", IDC_DELINST_FILES_CHECKBOX, 8, 40, 210, 10, WS_GROUP
LTEXT "Server per gli aggiornamenti:", -1, 6, 55, 140, 8
EDITTEXT IDC_UPDATE_SERVER_EDIT, 6, 65, 255, 14, WS_VISIBLE | WS_TABSTOP
DEFPUSHBUTTON "&OK", IDOK, 147, 90, 54, 15
PUSHBUTTON "&Annulla", IDCANCEL, 207, 90, 54, 15
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_WINDOW_TITLE "Scarica ! - ReactOS Downloader"
IDS_WELCOME_TITLE "Benvenuto al ReactOS Downloader"
IDS_WELCOME "Scegli una categoria a sinistra. Questa è la versione 1.1."
IDS_NO_APP_TITLE "Nessuna applicazione selezionata"
IDS_NO_APP "Scegli una Applicazione prima di premere il bottone Scarica, se serve assistenza clicca sul punto di domanda nell'angolo in alto a destra."
IDS_UPDATE_TITLE "Aggiorna"
IDS_UPDATE "Funzione non ancora implementata."
IDS_HELP_TITLE "Aiuto"
IDS_HELP "Scegli una categoria a sinistra, 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 "Scaricamento del file impossibile.\nVerificare la connessione a Internet."
IDS_VERSION "Versione: "
IDS_LICENCE "Licenza: "
IDS_MAINTAINER "Manutentore: "
IDS_APPS_TITLE "Applicazioni"
IDS_CATS_TITLE "Categorie"
IDS_CHOOSE_FOLDER "Scegliere una cartella..."
IDS_NOTCREATE_REGKEY "Impossibile creare la chiave del registry."
IDS_DOWNLOAD_FOLDER "Scarica"
IDS_UNABLECREATE_FOLDER "Impossibile creare una cartella con questo nome!"
IDS_UPDATE_URL "http://svn.reactos.org"
IDS_INSTALL_DEP "%s è necessario per la esecuzione di %s. Si vuole procedere alla installazione di %s?"
TTT_HELPBUTTON "Informazioni su ReactOS Downloader"
TTT_UPDATEBUTTON "Non disponibile"
TTT_PROFBUTTON "Permette la configurazione del downloader"
END

View file

@ -1,61 +0,0 @@
LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT
IDD_DOWNLOAD DIALOGEX LOADONCALL MOVEABLE DISCARDABLE 0, 0, 220, 76
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
CAPTION "ダウンロード..."
FONT 9, "MS UI Gothic"
BEGIN
CONTROL "Progress1",IDC_PROGRESS,"msctls_progress32",WS_BORDER|PBS_SMOOTH,10,10,200,12
LTEXT "", IDC_STATUS, 10, 30, 200, 10, SS_CENTER
PUSHBUTTON "キャンセル", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP
END
IDD_PROF DIALOGEX 6, 6, 267, 110
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
CAPTION "ユーザ設定"
FONT 9, "MS UI Gothic"
BEGIN
LTEXT "ダウンロードするフォルダ:", -1, 6, 10, 140, 8
EDITTEXT IDC_DOWNLOAD_FOLDER_EDIT, 6, 20, 205, 14, WS_VISIBLE | WS_TABSTOP
PUSHBUTTON "選択(&H)...", IDC_CHOOSE_BUTTON, 216, 20, 45, 14
AUTOCHECKBOX "セットアップ後にインストールファイルを削除する(&D)", IDC_DELINST_FILES_CHECKBOX, 8, 40, 210, 10, WS_GROUP
LTEXT "アップデートに使用するサーバ:", -1, 6, 55, 140, 8
EDITTEXT IDC_UPDATE_SERVER_EDIT, 6, 65, 255, 14, WS_VISIBLE | WS_TABSTOP
DEFPUSHBUTTON "OK(&O)", IDOK, 147, 90, 54, 15
PUSHBUTTON "キャンセル(&C)", IDCANCEL, 207, 90, 54, 15
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_WINDOW_TITLE "ダウンロード ! - ReactOS ダウンローダ"
IDS_WELCOME_TITLE "ReactOS ダウンローダへようこそ"
IDS_WELCOME "左側からカテゴリを選択してください。 バージョン 1.1です。"
IDS_NO_APP_TITLE "アプリケーションが選択されていません"
IDS_NO_APP "ダウンロードボタンをクリックする前にアプリケーションを選択してください ヘルプが必要な場合、一番右上の?マークボタンをクリックしてください。"
IDS_UPDATE_TITLE "アップデート"
IDS_UPDATE "申\し訳ありません。この機能\は未実装です。"
IDS_HELP_TITLE "ヘルプ"
IDS_HELP "左側からカテゴリを選択し、アプリケーションを選択してダウンロードボタンをクリックしてください。 アプリケーションの情報をアップデートするにはヘルプボタン隣のボタンをクリックしてください。"
IDS_NO_APPS "申\し訳ありません。このカテゴリにはアプリケーションがまだありません。 手伝って、もっとアプリケーションを追加できます。"
IDS_CHOOSE_APP "アプリケーションを選択してください。"
IDS_CHOOSE_SUB "サブカテゴリを選択してください。"
IDS_CHOOSE_CATEGORY "カテゴリを選択してください。"
IDS_CHOOSE_BOTH "サブカテゴリもしくはアプリケーションを選択してください。"
IDS_XMLERROR_1 "xml ファイルが見つかりませんでした !"
IDS_XMLERROR_2 "xml ファイルを解析できませんでした !"
IDS_DOWNLOAD_ERROR "ファイルをダウンロードできませんでした。\nインターネット接続を確認してください。"
IDS_VERSION "バージョン: "
IDS_LICENCE "ライセンス: "
IDS_MAINTAINER "管理者: "
IDS_APPS_TITLE "アプリケーション"
IDS_CATS_TITLE "カテゴリ"
IDS_CHOOSE_FOLDER "フォルダを選択してください..."
IDS_NOTCREATE_REGKEY "レジストリキーを作成できませんでした。"
IDS_DOWNLOAD_FOLDER "ダウンローダ"
IDS_UNABLECREATE_FOLDER "この名前でフォルダを作成できません!"
IDS_UPDATE_URL "http://svn.reactos.org"
IDS_INSTALL_DEP "%sは%sの実行に必要です。 %sを今すぐインストールしますか?"
TTT_HELPBUTTON "このダウンローダに関するヘルプを入手する"
TTT_UPDATEBUTTON "まだ利用できません"
TTT_PROFBUTTON "ダウンローダを設定させます"
END

View file

@ -1,63 +0,0 @@
/* Translation by Vytis "CMan" Girdþijauskas (cman@cman.us) */
LANGUAGE LANG_LITHUANIAN, SUBLANG_DEFAULT
IDD_DOWNLOAD DIALOGEX LOADONCALL MOVEABLE DISCARDABLE 0, 0, 220, 76
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
CAPTION "Siunèiama..."
FONT 8, "MS Shell Dlg"
BEGIN
CONTROL "Progress1",IDC_PROGRESS,"msctls_progress32",WS_BORDER|PBS_SMOOTH,10,10,200,12
LTEXT "", IDC_STATUS, 10, 30, 200, 10, SS_CENTER
PUSHBUTTON "Atðaukti", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP
END
IDD_PROF DIALOGEX 6, 6, 267, 110
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
CAPTION "Nuostatos"
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "Siuntø katalogas:", -1, 6, 10, 140, 8
EDITTEXT IDC_DOWNLOAD_FOLDER_EDIT, 6, 20, 205, 14, WS_VISIBLE | WS_TABSTOP
PUSHBUTTON "&Pasirinkti...", IDC_CHOOSE_BUTTON, 216, 20, 45, 14
AUTOCHECKBOX "&Naikinti diegimo bylas baigus diegimà", IDC_DELINST_FILES_CHECKBOX, 8, 40, 210, 10, WS_GROUP
LTEXT "Atnaujinimø serveris:", -1, 6, 55, 140, 8
EDITTEXT IDC_UPDATE_SERVER_EDIT, 6, 65, 255, 14, WS_VISIBLE | WS_TABSTOP
DEFPUSHBUTTON "&OK", IDOK, 147, 90, 54, 15
PUSHBUTTON "&Atðaukti", IDCANCEL, 207, 90, 54, 15
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_WINDOW_TITLE "Download ! - ReactOS atsiuntimø tvarkytuvë"
IDS_WELCOME_TITLE "Jus sveikina ReactOS atsiuntimø tvarkytuvë"
IDS_WELCOME "Praðome pasirinkti kategorijà kairëje. \nÈia yra versija 1.1."
IDS_NO_APP_TITLE "Nepasirinkta programa"
IDS_NO_APP "Praðome pasirinkti programà prieð paspaudþiant siuntimo mygtukà, jei jums reikalinga pagalba, praðome spausti ant klaustuko virðutiniame deðiniajame kampe."
IDS_UPDATE_TITLE "Atnaujinti"
IDS_UPDATE "Atsipraðome, bet ði funkcija dar nesukurta."
IDS_HELP_TITLE "Pagalba"
IDS_HELP "Pasirinkite kategorijà kairëje, tuomet pasirinkite programà ir spauskite siuntimo mygtukà. Norëdami atnaujinti programos informacijà, spaukite mygtukà, kuris yra ðalia nuostatø mygtuko."
IDS_NO_APPS "Atsipraðome, bet ðioje kategorijoje programø dar nëra. Jûs galite padëti pridëdami daugiau programø."
IDS_CHOOSE_APP "Praðome pasirinkti programà."
IDS_CHOOSE_SUB "Praðome pasirinkti pokategorá."
IDS_CHOOSE_CATEGORY "Praðome pasirinkti kategorijà."
IDS_CHOOSE_BOTH "Praðome pasirinkti pokategorá arba programà."
IDS_XMLERROR_1 "Nepavyko rasti xml bylos!"
IDS_XMLERROR_2 "Nepavyko nuskaityti xml bylos!"
IDS_DOWNLOAD_ERROR "Nepavyko parsiøsti bylos.\nPraðome patikrinti interneto ryðá."
IDS_VERSION "Versija: "
IDS_LICENCE "Licencija: "
IDS_MAINTAINER "Palaikymas: "
IDS_APPS_TITLE "Programos"
IDS_CATS_TITLE "Kategorijos"
IDS_CHOOSE_FOLDER "Praðome pasirinkti katalogà..."
IDS_NOTCREATE_REGKEY "Nepavyko sukurti registro rakto."
IDS_DOWNLOAD_FOLDER "Downloader"
IDS_UNABLECREATE_FOLDER "Nepavyko sukurti katalogo su ðiuo vardu!"
IDS_UPDATE_URL "http://svn.reactos.org"
IDS_INSTALL_DEP "%s reikalingas paleisti %s. Diegti %s dabar?"
TTT_HELPBUTTON "Pateikia informacijà apie naudojimàsi programa"
TTT_UPDATEBUTTON "Dar nëra"
TTT_PROFBUTTON "Leidþia konfiguruoti programà"
END

View file

@ -1,61 +0,0 @@
LANGUAGE LANG_NORWEGIAN, SUBLANG_NEUTRAL
IDD_DOWNLOAD DIALOGEX LOADONCALL MOVEABLE DISCARDABLE 0, 0, 220, 76
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
CAPTION "Nedlasting..."
FONT 8, "MS Shell Dlg"
BEGIN
CONTROL "Prosess1",IDC_PROGRESS,"msctls_progress32",WS_BORDER|PBS_SMOOTH,10,10,200,12
LTEXT "", IDC_STATUS, 10, 30, 200, 10, SS_CENTER
PUSHBUTTON "Avbryt", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP
END
IDD_PROF DIALOGEX 6, 6, 267, 110
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
CAPTION "Innstillinger"
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "Nedlastingsmappe:", -1, 6, 10, 140, 8
EDITTEXT IDC_DOWNLOAD_FOLDER_EDIT, 6, 20, 205, 14, WS_VISIBLE | WS_TABSTOP
PUSHBUTTON "V&elg...", IDC_CHOOSE_BUTTON, 216, 20, 45, 14
AUTOCHECKBOX "&Slett installasjonsfiler etter innstallering", IDC_DELINST_FILES_CHECKBOX, 8, 40, 210, 10, WS_GROUP
LTEXT "Oppdater server:", -1, 6, 55, 140, 8
EDITTEXT IDC_UPDATE_SERVER_EDIT, 6, 65, 255, 14, WS_VISIBLE | WS_TABSTOP
DEFPUSHBUTTON "&OK", IDOK, 147, 90, 54, 15
PUSHBUTTON "&Avbryt", IDCANCEL, 207, 90, 54, 15
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_WINDOW_TITLE "Nedlasting ! - ReactOS Nedlasting"
IDS_WELCOME_TITLE "Velkommen til ReactOS Nedlasting"
IDS_WELCOME "Vennligst velg en kategori til høyre. Dette er versjon 1.1."
IDS_NO_APP_TITLE "Ingen applikasjoner er valgt"
IDS_NO_APP "Vennligst velg en applikasjon før du klikker på nedlasting knappen, hvis du trenger hjelp vennligst klikk på spørsmålsmerke knappen på toppen i høyre hjørne."
IDS_UPDATE_TITLE "Oppdater"
IDS_UPDATE "Beklager denne funksjonen er ikke implementert ennå."
IDS_HELP_TITLE "Hjelp"
IDS_HELP "Velg en kategori til venstre, også velg en applikasjon og klikk på nedlastings knappen. For å oppdatere applikasjon informasjonen klikk på knappen neste etter hjelp knappen."
IDS_NO_APPS "Beklager, det er ingen applikasjoner i denne kategorien ennå. Du kan hjelpe og legge til flere applikasjoner."
IDS_CHOOSE_APP "Vennligst velg en applikasjon."
IDS_CHOOSE_SUB "Vennligst velg en underkategori."
IDS_CHOOSE_CATEGORY "Vennligst velg en kategori."
IDS_CHOOSE_BOTH "Vennligst velg en underkategori eller en applikasjon."
IDS_XMLERROR_1 "Kan ikke finne xml filen !"
IDS_XMLERROR_2 "Kan ikke analysere xml filen !"
IDS_DOWNLOAD_ERROR "Ikke mulig å laste ned filen.\nVennligst sjekk din internett forbindelse."
IDS_VERSION "Versjon: "
IDS_LICENCE "Lisens: "
IDS_MAINTAINER "Produsent: "
IDS_APPS_TITLE "Applikasjoner"
IDS_CATS_TITLE "Kategori"
IDS_CHOOSE_FOLDER "Vennligst, velg mappen..."
IDS_NOTCREATE_REGKEY "Kan ikke opprette registernøkkel."
IDS_DOWNLOAD_FOLDER "Nedlasting"
IDS_UNABLECREATE_FOLDER "Ikke mulig å opprette mappe med dette navnet!"
IDS_UPDATE_URL "http://svn.reactos.org"
IDS_INSTALL_DEP "%s trengs å bli kjørt %s. Skal %s bli innstallert nå?"
TTT_HELPBUTTON "Få hjelp om nedlastingen"
TTT_UPDATEBUTTON "Ikke ennå tilgjengelig"
TTT_PROFBUTTON "La deg konfigurere nedlastingen"
END

View file

@ -1,68 +0,0 @@
/*
* translated by Caemyr - Olaf Siejka (Feb, 2008)
* Use ReactOS forum PM or IRC to contact me
* http://www.reactos.org
* IRC: irc.freenode.net #reactos-pl;
*/
LANGUAGE LANG_POLISH, SUBLANG_DEFAULT
IDD_DOWNLOAD DIALOGEX LOADONCALL MOVEABLE DISCARDABLE 0, 0, 220, 76
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
CAPTION "Ściągaj..."
FONT 8, "MS Shell Dlg"
BEGIN
CONTROL "Progress1",IDC_PROGRESS,"msctls_progress32",WS_BORDER|PBS_SMOOTH,10,10,200,12
LTEXT "", IDC_STATUS, 10, 30, 200, 10, SS_CENTER
PUSHBUTTON "Anuluj", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP
END
IDD_PROF DIALOGEX 6, 6, 267, 110
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
CAPTION "Ustawienia"
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "Katalog do ściągania:", -1, 6, 10, 140, 8
EDITTEXT IDC_DOWNLOAD_FOLDER_EDIT, 6, 20, 205, 14, WS_VISIBLE | WS_TABSTOP
PUSHBUTTON "&Wybierz...", IDC_CHOOSE_BUTTON, 216, 20, 45, 14
AUTOCHECKBOX "&Skasuj ściągnięte pliki po zainstalowaniu programu", IDC_DELINST_FILES_CHECKBOX, 8, 40, 210, 10, WS_GROUP
LTEXT "Uaktualnij:", -1, 6, 55, 140, 8
EDITTEXT IDC_UPDATE_SERVER_EDIT, 6, 65, 255, 14, WS_VISIBLE | WS_TABSTOP
DEFPUSHBUTTON "&OK", IDOK, 147, 90, 54, 15
PUSHBUTTON "&Anuluj", IDCANCEL, 207, 90, 54, 15
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_WINDOW_TITLE "Download! - Menedżer pobierania dla ReactOS"
IDS_WELCOME_TITLE "Witamy w Download! dla ReactOS"
IDS_WELCOME "Proszę wybrać kategorię po lewej. Wersja programu: 1.1."
IDS_NO_APP_TITLE "Nie wybrano programu"
IDS_NO_APP "Proszę wybrać program, przed kliknięciem w przycisk Ściągnij. W razie problemów kliknij w znak zapytania, w prawym górnym rogu okna."
IDS_UPDATE_TITLE "Uaktualnij"
IDS_UPDATE "Przepraszamy, ta opcja nie jest jeszcze dostępna."
IDS_HELP_TITLE "Pomoc"
IDS_HELP "Wybierz kategorię po lewej, następnie wybierz program i kliknij w przycisk Ściągnij. Aby uaktualnić listę programów, naciśnij przycisk obok przycisku Pomocy."
IDS_NO_APPS "Przepraszamy, nie ma programów w tej kategorii. Możesz pomóc nam w wyborze nowych programów."
IDS_CHOOSE_APP "Proszę wybrać program."
IDS_CHOOSE_SUB "Proszę wybrać podkategorię."
IDS_CHOOSE_CATEGORY "Proszę wybrać kategorię."
IDS_CHOOSE_BOTH "Proszę wybrać podkategorię albo program."
IDS_XMLERROR_1 "Plik XML nie został znaleziony !"
IDS_XMLERROR_2 "Nie udało się przetworzyć pliku XML !"
IDS_DOWNLOAD_ERROR "Sciąganie pliku nieudane.\nProszę sprawdzić połączenie z internetem."
IDS_VERSION "Wersja: "
IDS_LICENCE "Licencja: "
IDS_MAINTAINER "Opiekun: "
IDS_APPS_TITLE "Programy"
IDS_CATS_TITLE "Kategorie"
IDS_CHOOSE_FOLDER "Proszę wybrać katalog..."
IDS_NOTCREATE_REGKEY "Nie udało się utworzyć kluczy rejestru."
IDS_DOWNLOAD_FOLDER "Pobrane"
IDS_UNABLECREATE_FOLDER "Nie udało się stworzyć katalogu o tej nazwie!"
IDS_UPDATE_URL "http://svn.reactos.org"
IDS_INSTALL_DEP "%s jest wymagany do uruchomienia %s. Czy chcesz zainstalować %s w tej chwili?"
TTT_HELPBUTTON "Pomoc Menedżera pobierania"
TTT_UPDATEBUTTON "Niedostępne"
TTT_PROFBUTTON "Ustawienia Menedżera pobierania"
END

View file

@ -1,63 +0,0 @@
//Russian language file. (Dmitry Chapyshev, 2007.06.21)
LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
IDD_DOWNLOAD DIALOGEX LOADONCALL MOVEABLE DISCARDABLE 0, 0, 220, 76
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
CAPTION "Загрузка..."
FONT 8, "MS Shell Dlg"
BEGIN
CONTROL "Progress1",IDC_PROGRESS,"msctls_progress32",WS_BORDER|PBS_SMOOTH,10,10,200,12
LTEXT "", IDC_STATUS, 10, 30, 200, 17, SS_CENTER
PUSHBUTTON "Отмена", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP
END
IDD_PROF DIALOGEX 6, 6, 267, 110
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
CAPTION "Настройки"
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "Папка для закачки:", -1, 6, 10, 140, 8
EDITTEXT IDC_DOWNLOAD_FOLDER_EDIT, 6, 20, 205, 14, WS_VISIBLE | WS_TABSTOP
PUSHBUTTON "&Выбрать...", IDC_CHOOSE_BUTTON, 216, 20, 45, 14
AUTOCHECKBOX "&Удалять установочные файлы после установки", IDC_DELINST_FILES_CHECKBOX, 8, 40, 210, 10, WS_GROUP
LTEXT "Сервер обновлений:", -1, 6, 55, 140, 8
EDITTEXT IDC_UPDATE_SERVER_EDIT, 6, 65, 255, 14, WS_VISIBLE | WS_TABSTOP
DEFPUSHBUTTON "&OK", IDOK, 147, 90, 54, 15
PUSHBUTTON "О&тмена", IDCANCEL, 207, 90, 54, 15
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_WINDOW_TITLE "Скачать! - Менеджер закачек ReactOS"
IDS_WELCOME_TITLE "Добро пожаловать в Менеджер закачек ReactOS"
IDS_WELCOME "Пожалуйста выберите категорию справа. Версия 1.1"
IDS_NO_APP_TITLE "Приложение не выбрано"
IDS_NO_APP "Пожалуйста, выберите приложение прежде, чем нажать кнопку загрузки. Если вам нужна справка, то нажмите кнопку со знаком вопроса в верхнем правом углу."
IDS_UPDATE_TITLE "Обновить"
IDS_UPDATE "Извините, данная возможность на данным момент недоступна."
IDS_HELP_TITLE "Справка"
IDS_HELP "Выберите категорию слева, затем выберите приложение и нажмите кнопку загрузки. Для получения информации об обновлениях нажмите кнопку рядом с кнопкой справки."
IDS_NO_APPS "Извените, на данный момент в этой категории приложений нет, но вы можете помочь добавить их."
IDS_CHOOSE_APP "Пожалуйста выберите приложение."
IDS_CHOOSE_SUB "Пожалуйста выберите подкатегорию."
IDS_CHOOSE_CATEGORY "Пожалуйста выберите категорию."
IDS_CHOOSE_BOTH "Пожалуйста выберите подкатегорию или приложение."
IDS_XMLERROR_1 "Не удалось найти xml-файл!"
IDS_XMLERROR_2 "Не удалось обработать xml-файл!"
IDS_DOWNLOAD_ERROR "Не удается загрузить файл.\nПожалуйста проверьте ваше подключение к интернет."
IDS_VERSION "Версия: "
IDS_LICENCE "Лицензия: "
IDS_MAINTAINER "Производитель: "
IDS_APPS_TITLE "Приложения"
IDS_CATS_TITLE "Категории"
IDS_CHOOSE_FOLDER "Пожалуйства выберите папку..."
IDS_NOTCREATE_REGKEY "Не удалось создать ключ в реестре."
IDS_DOWNLOAD_FOLDER "Downloader"
IDS_UNABLECREATE_FOLDER "Не удалось создать папку с таким именем!"
IDS_UPDATE_URL "http://svn.reactos.org"
IDS_INSTALL_DEP "%s требуется для запуска %s. Установить %s?"
TTT_HELPBUTTON "Показать справку программы"
TTT_UPDATEBUTTON "Сейчас недоступно"
TTT_PROFBUTTON "Выполнить настройку программы"
END

View file

@ -1,67 +0,0 @@
/* TRANSLATOR: Mário Kaèmár /Mario Kacmar/ aka Kario (kario@szm.sk)
* DATE OF TR: 21-01-2008
* LastChange: 31-10-2008
*/
LANGUAGE LANG_SLOVAK, SUBLANG_DEFAULT
IDD_DOWNLOAD DIALOGEX LOADONCALL MOVEABLE DISCARDABLE 0, 0, 220, 76
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
CAPTION "S<>ahujem ..."
FONT 8, "MS Shell Dlg"
BEGIN
CONTROL "Progress1",IDC_PROGRESS,"msctls_progress32",WS_BORDER|PBS_SMOOTH,10,10,200,12
LTEXT "", IDC_STATUS, 10, 30, 200, 10, SS_CENTER
PUSHBUTTON "Zruši<C5A1>", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP
END
IDD_PROF DIALOGEX 6, 6, 267, 110
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
CAPTION "Nastavenia" //Preferencies
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "Prieèinok s<>ahovania:", -1, 6, 10, 140, 8
EDITTEXT IDC_DOWNLOAD_FOLDER_EDIT, 6, 20, 205, 14, WS_VISIBLE | WS_TABSTOP
PUSHBUTTON "&Vybra<72> ...", IDC_CHOOSE_BUTTON, 216, 20, 45, 14
AUTOCHECKBOX "&Odstráni<6E> inštalaèné súbory po nainštalovaní", IDC_DELINST_FILES_CHECKBOX, 8, 40, 210, 10, WS_GROUP
LTEXT "Aktualizova<76> server:", -1, 6, 55, 140, 8
EDITTEXT IDC_UPDATE_SERVER_EDIT, 6, 65, 255, 14, WS_VISIBLE | WS_TABSTOP
DEFPUSHBUTTON "&OK", IDOK, 147, 90, 54, 15
PUSHBUTTON "&Zruši<C5A1>", IDCANCEL, 207, 90, 54, 15
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_WINDOW_TITLE "<22>ahaj! - Downloader systému ReactOS"
IDS_WELCOME_TITLE "Vitajte v programe Downloader systému ReactOS"
IDS_WELCOME "Vyberte, prosím, kategóriu na ¾avej strane. Toto je verzia 1.1."
IDS_NO_APP_TITLE "Nie je vybraný žiadny program"
IDS_NO_APP "Vyberte, prosím, program predtým než kliknete na tlaèidlo stiahnu<6E>. Ak potrebujete pomoc, kliknite, prosím, na tlaèidlo otáznika v pravom hornom rohu."
IDS_UPDATE_TITLE "Aktualizova<76>"
IDS_UPDATE "Prepáète, ale táto funkcia zatia¾ nie je implementovaná."
IDS_HELP_TITLE "Pomocník"
IDS_HELP "Vyberte kategóriu na ¾avej strane, potom vyberte program a kliknite na tlaèidlo stiahnu<6E>. Pre aktualizáciu informácii o programe kliknite na tlaèidlo ved¾a tlaèidla pomoc."
IDS_NO_APPS "Prepáète, ale zatia¾ sa v tejto kategórii nenachádzajú žiadne programy. Môžete pomôc<C3B4> a prida<64> viac programov."
IDS_CHOOSE_APP "Vyberte program, prosím."
IDS_CHOOSE_SUB "Vyberte podkategóriu, prosím."
IDS_CHOOSE_CATEGORY "Vyberte kategóriu, prosím."
IDS_CHOOSE_BOTH "Vyberte podkategóriu alebo program, prosím."
IDS_XMLERROR_1 "Nepodarilo sa nájs<6A> súbor xml!"
IDS_XMLERROR_2 "Nepodarilo sa správne analyzova<76> súbor xml!"
IDS_DOWNLOAD_ERROR "Nepodarilo sa stiahnu<6E> súbor.\nSkontrolujte, prosím, pripojenie do siete internet."
IDS_VERSION "Verzia: "
IDS_LICENCE "Licencia: "
IDS_MAINTAINER "Údržbár: " //Maintainer
IDS_APPS_TITLE "Programy"
IDS_CATS_TITLE "Kategórie"
IDS_CHOOSE_FOLDER "Vyberte, prosím, prieèinok ..."
IDS_NOTCREATE_REGKEY "Nepodarilo sa vytvori<72> k¾úè registra."
IDS_DOWNLOAD_FOLDER "Downloader"
IDS_UNABLECREATE_FOLDER "Nie je možné vytvori<72> prieèinok s týmto názvom!"
IDS_UPDATE_URL "http://svn.reactos.org"
IDS_INSTALL_DEP "%s je potrebný pre spustenie %s. Má sa %s nainštalova<76> teraz?"
TTT_HELPBUTTON "Získa<6B> nápoveï k programu downloader"
TTT_UPDATEBUTTON "Zatia¾ nie je k dispozícií"
TTT_PROFBUTTON "Dovolí Vám konfigurova<76> program downloader"
END

View file

@ -1,69 +0,0 @@
/*
* PROJECT: ReactOS Downloader
* LICENSE: GPL - See COPYING in the top level directory
* FILE: rosapps/downloader/lang/uk-UA.rc
* PURPOSE: Ukraianian Language File for Downloader
* TRANSLATOR: Artem Reznikov
*/
LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
IDD_DOWNLOAD DIALOGEX LOADONCALL MOVEABLE DISCARDABLE 0, 0, 220, 76
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
CAPTION "Çàâàíòàæåííÿ..."
FONT 8, "MS Shell Dlg"
BEGIN
CONTROL "Progress1",IDC_PROGRESS,"msctls_progress32",WS_BORDER|PBS_SMOOTH,10,10,200,12
LTEXT "", IDC_STATUS, 10, 30, 200, 10, SS_CENTER
PUSHBUTTON "Ñêàñóâàòè", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP
END
IDD_PROF DIALOGEX 6, 6, 267, 110
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
CAPTION "Íàñòðîéêè"
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "Ïàïêà äëÿ çàâàíòàæåííÿ:", -1, 6, 10, 140, 8
EDITTEXT IDC_DOWNLOAD_FOLDER_EDIT, 6, 20, 205, 14, WS_VISIBLE | WS_TABSTOP
PUSHBUTTON "&Âèáðàòè...", IDC_CHOOSE_BUTTON, 216, 20, 45, 14
AUTOCHECKBOX "&Âèäàëÿòè íàñòàíîâí³ ôàéëè ï³ñëÿ óñòàíîâêè", IDC_DELINST_FILES_CHECKBOX, 8, 40, 210, 10, WS_GROUP
LTEXT "Ñåðâåð îíîâëåíü:", -1, 6, 55, 140, 8
EDITTEXT IDC_UPDATE_SERVER_EDIT, 6, 65, 255, 14, WS_VISIBLE | WS_TABSTOP
DEFPUSHBUTTON "&OK", IDOK, 147, 90, 54, 15
PUSHBUTTON "&Ñêàñóâàòè", IDCANCEL, 207, 90, 54, 15
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_WINDOW_TITLE "Çàâàíòàæèòè ! - Çàâàíòàæóâà÷ ReactOS"
IDS_WELCOME_TITLE "Ëàñêàâî ïðîñèìî ó Çàâàíòàæóâà÷ ReactOS"
IDS_WELCOME "Áóäü ëàñêà âèáåð³òü êàòåãîð³þ çë³âà. Öå âåðñ³ÿ 1.1."
IDS_NO_APP_TITLE "Äîäàòîê íå âèáðàíèé"
IDS_NO_APP "Áóäü ëàñêà, âèáåð³òü äîäàòîê ïåðø í³æ íàòèñíóòè êíîïêó çàâàíòàæåííÿ. ßêùî Âàì ïîòð³áíà äîïîìîãà, íàòèñí³òü êíîïêó ç³ çíàêîì ïèòàííÿ ó âåðõíüîìó ïðàâîìó êóòêó."
IDS_UPDATE_TITLE "Îíîâèòè"
IDS_UPDATE "Âèáà÷òå, äàíà ìîæëèâ³ñòü ùå íåäîñòóïíà."
IDS_HELP_TITLE "Äîâ³äêà"
IDS_HELP "Âèáåð³òü êàòåãîð³þ çë³âà, ïîò³ì âèáåð³òü äîäàòîê ³ íàòèñí³òü êíîïêó çàâàíòàæåííÿ. Äëÿ îòðèìàííÿ ³íôîðìàö³¿ ïðî îíîâëåííÿ íàòèñí³òü êíîïêó ïîðÿä ç êíîïêîþ äîâ³äêè."
IDS_NO_APPS "Âèáà÷òå, â ö³é êàòåãî𳿠ùå íåìຠäîäàòê³â. Âè ìîæåòå äîïîìîãòè ³ äîäàòè á³ëüøå äîäàòê³â."
IDS_CHOOSE_APP "Áóäü ëàñêà âèáåð³òü äîäàòîê."
IDS_CHOOSE_SUB "Áóäü ëàñêà âèáåð³òü ï³äêàòåãîð³þ."
IDS_CHOOSE_CATEGORY "Áóäü ëàñêà âèáåð³òü êàòåãîð³þ."
IDS_CHOOSE_BOTH "Áóäü ëàñêà âèáåð³òü ï³äêàòåãîð³þ àáî äîäàòîê."
IDS_XMLERROR_1 "Íå âäàëîñÿ çíàéòè ôàéë XML !"
IDS_XMLERROR_2 "Íå âäàëîñÿ îáðîáèòè ôàéë XML !"
IDS_DOWNLOAD_ERROR "Íåìîæëèâî çàâàíòàæèòè ôàéë.\nÁóäü ëàñêà ïåðåâ³ðòå âàøå ³íòåðíåò-ç'ºäíàííÿ."
IDS_VERSION "Âåðñ³ÿ: "
IDS_LICENCE "˳öåíç³ÿ: "
IDS_MAINTAINER "Âèðîáíèê: "
IDS_APPS_TITLE "Äîäàòêè"
IDS_CATS_TITLE "Êàòåãîð³¿"
IDS_CHOOSE_FOLDER "Áóäü ëàñêà âèáåð³òü ïàïêó..."
IDS_NOTCREATE_REGKEY "Íå âäàëîñÿ ñòâîðèòè êëþ÷ ó ðåºñòð³."
IDS_DOWNLOAD_FOLDER "Downloader"
IDS_UNABLECREATE_FOLDER "Íå âäàëîñÿ ñòâîðèòè ïàïêó ç òàêèì ³ì'ÿì!"
IDS_UPDATE_URL "http://svn.reactos.org"
IDS_INSTALL_DEP "%s ïîòð³áíèé ùîá çàïóñòèòè %s. Âñòàíîâèòè %s çàðàç?"
TTT_HELPBUTTON "Îòðèìàéòè äîïîìîãó ïðî çàâàíòàæóâà÷"
TTT_UPDATEBUTTON "Ïîêè ùî íå äîñòóïíî"
TTT_PROFBUTTON "Íàëàøòóâàòè çàâàíòàæóâà÷"
END

View file

@ -1,922 +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, Dmitry Chapyshev
*/
#include <windows.h>
#include <commctrl.h>
#include <richedit.h>
#include <tchar.h>
#include <stdio.h>
#include <shlwapi.h>
#include <shlobj.h>
#include "resources.h"
#include "structures.h"
HWND hwnd, hCategories, hApps, hDownloadButton, hUninstallButton, hUpdateButton, hHelpButton, hProfButton;
HBITMAP hLogo, hUnderline;
WCHAR* DescriptionHeadline = L"";
WCHAR* DescriptionText = L"";
WCHAR ApplicationText[700];
struct Category Root;
struct Application* SelectedApplication;
INT_PTR CALLBACK DownloadProc (HWND, UINT, WPARAM, LPARAM);
BOOL ProcessXML (const char* filename, struct Category* Root);
VOID FreeTree (struct Category* Node);
WCHAR Strings [STRING_COUNT][MAX_STRING_LENGHT];
BOOL
getUninstaller(WCHAR* RegName, WCHAR* Uninstaller) {
HKEY hKey1;
HKEY hKey2;
DWORD Type = 0;
DWORD Size = MAX_PATH;
WCHAR Value[MAX_PATH];
WCHAR KeyName[MAX_PATH];
LONG i = 0;
if (RegOpenKeyExW(HKEY_LOCAL_MACHINE,L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall",0,KEY_READ,&hKey1) == ERROR_SUCCESS) {
while (RegEnumKeyExW(hKey1,i,KeyName,&Size,NULL,NULL,NULL,NULL) == ERROR_SUCCESS) {
++i;
RegOpenKeyExW(hKey1,KeyName,0,KEY_READ,&hKey2);
Size = MAX_PATH;
if (RegQueryValueExW(hKey2,L"DisplayName",0,&Type,(LPBYTE)Value,&Size) == ERROR_SUCCESS) {
Size = MAX_PATH;
if (StrCmpW(Value,RegName) == 0) {
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 = MAX_PATH;
}
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 = (LPARAM)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;
WCHAR Uninstaller[200];
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 = (LPARAM)CurrentApplication;
Insert.item.pszText = CurrentApplication->Name;
Insert.item.cchTextMax = lstrlenW(CurrentApplication->Name);
Insert.item.iImage = 10;
if(StrCmpW(CurrentApplication->RegName,L"")) {
if(getUninstaller(CurrentApplication->RegName, Uninstaller))
Insert.item.iImage = 9;
}
SendMessage(hwnd, TVM_INSERTITEM, 0, (LPARAM)&Insert);
CurrentApplication = CurrentApplication->Next;
}
}
BOOL CreateToolTip(HWND hwndTool, HWND hDlg, WCHAR* pText)
{
HWND hwndTip;
TOOLINFO toolInfo;
if (!hwndTool || !hDlg || !pText)
return FALSE;
hwndTip = CreateWindowExW(0, TOOLTIPS_CLASS, NULL,
WS_POPUP |TTS_ALWAYSTIP | TTS_BALLOON,
CW_USEDEFAULT, CW_USEDEFAULT,
CW_USEDEFAULT, CW_USEDEFAULT,
hDlg, NULL,
GetModuleHandle(NULL), NULL);
if (!hwndTip)
return FALSE;
ZeroMemory(&toolInfo, sizeof(TOOLINFO));
toolInfo.cbSize = sizeof(toolInfo);
toolInfo.hwnd = hDlg;
toolInfo.uFlags = TTF_IDISHWND | TTF_SUBCLASS;
toolInfo.uId = (UINT_PTR)hwndTool;
toolInfo.lpszText = pText;
SendMessage(hwndTip, TTM_ADDTOOL, 0, (LPARAM)&toolInfo);
return TRUE;
}
BOOL
SetupControls (HWND hwnd)
{
TV_INSERTSTRUCTW Insert = {0};
HIMAGELIST hImageList;
HINSTANCE hInstance = GetModuleHandle(NULL);
WCHAR Cats[MAX_STRING_LENGHT], Apps[MAX_STRING_LENGHT];
WCHAR Tooltip1[MAX_STRING_LENGHT], Tooltip2[MAX_STRING_LENGHT], Tooltip3[MAX_STRING_LENGHT];
char Buf[MAX_PATH];
// Getting downloader.xml path
if(!GetSystemDirectoryA(Buf,sizeof(Buf))) return FALSE;
strcat(Buf, "\\downloader.xml");
// Parse the XML file
if (!ProcessXML(Buf, &Root))
return FALSE;
LoadStringW(hInstance, IDS_CATS_TITLE, Cats, MAX_STRING_LENGHT);
LoadStringW(hInstance, IDS_APPS_TITLE, Apps, MAX_STRING_LENGHT);
// Set up the controls
hCategories = CreateWindowExW(0, WC_TREEVIEWW, Cats,
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, Apps,
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_ICON,
550, 10, 40, 40,
hwnd, 0, hInstance, NULL);
LoadString(hInstance, TTT_HELPBUTTON, Tooltip1, MAX_STRING_LENGHT);
CreateToolTip(hHelpButton, hwnd, Tooltip1);
hUpdateButton = CreateWindowW(L"Button", L"",
WS_CHILD | WS_VISIBLE | BS_ICON,
450, 10, 40, 40,
hwnd, 0, hInstance, NULL);
LoadString(hInstance, TTT_UPDATEBUTTON, Tooltip2, MAX_STRING_LENGHT);
CreateToolTip(hUpdateButton, hwnd, Tooltip2);
hProfButton = CreateWindowW(L"Button", L"",
WS_CHILD | WS_VISIBLE | BS_ICON,
500, 10, 40, 40,
hwnd, 0, hInstance, NULL);
LoadString(hInstance, TTT_PROFBUTTON, Tooltip3, MAX_STRING_LENGHT);
CreateToolTip(hProfButton, hwnd, Tooltip3);
hDownloadButton = CreateWindowW(L"Button", L"",
WS_CHILD | WS_VISIBLE | BS_BITMAP,
330, 505, 140, 33,
hwnd, 0, hInstance, NULL);
hUninstallButton = CreateWindowW(L"Button", L"",
WS_CHILD | WS_VISIBLE | BS_BITMAP,
260, 505, 140, 33,
hwnd, 0, hInstance, NULL);
SendMessageW(hProfButton,
BM_SETIMAGE,
(WPARAM)IMAGE_ICON,
(LPARAM)(HANDLE)LoadIcon(hInstance,MAKEINTRESOURCE(IDI_PROF)));
SendMessageW(hHelpButton,
BM_SETIMAGE,
(WPARAM)IMAGE_ICON,
(LPARAM)(HANDLE)LoadIcon(hInstance, MAKEINTRESOURCE(IDI_HELP)));
SendMessageW(hUpdateButton,
BM_SETIMAGE,
(WPARAM)IMAGE_ICON,
(LPARAM)(HANDLE)LoadIcon(hInstance, MAKEINTRESOURCE(IDI_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);
ImageList_Add(hImageList,
LoadBitmap(hInstance, MAKEINTRESOURCE(IDB_TREEVIEW_ICON_11)), NULL);
ImageList_Add(hImageList,
LoadBitmap(hInstance, MAKEINTRESOURCE(IDB_TREEVIEW_ICON_12)), NULL);
ImageList_Add(hImageList,
LoadBitmap(hInstance, MAKEINTRESOURCE(IDB_TREEVIEW_ICON_13)), 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;i<DescriptionRect.right-1;i++)
DrawBitmap(hdc, i, DescriptionRect.top+22, hUnderline); // less code then stretching ;)
// Headline
Font = CreateFont(-16 , 0, 0, 0, FW_EXTRABOLD, FALSE, FALSE, FALSE, ANSI_CHARSET,
OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, FF_DONTCARE, L"Arial");
SelectObject(hdc, Font);
DrawTextW(hdc, DescriptionHeadline, lstrlenW(DescriptionHeadline), &Rect, DT_SINGLELINE|DT_NOPREFIX);
DeleteObject(Font);
// Description
Font = CreateFont(-13 , 0, 0, 0, FW_NORMAL, FALSE, FALSE, FALSE, ANSI_CHARSET,
OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, FF_DONTCARE, L"Arial");
SelectObject(hdc, Font);
Rect.top += 50;
Rect.bottom = DescriptionRect.bottom-2;
DrawTextW(hdc, DescriptionText, lstrlenW(DescriptionText), &Rect, DT_WORDBREAK|DT_NOPREFIX); // ToDo: Call TabbedTextOut to draw a nice table
DeleteObject(Font);
}
void showUninstaller() {
int Split_Vertical = 200;
RECT Rect;
GetClientRect(hwnd,&Rect);
ShowWindow(hUninstallButton,SW_SHOW);
MoveWindow(hDownloadButton,(Split_Vertical+Rect.right-Rect.left)/2,Rect.bottom-Rect.top-45,140,35,TRUE);;
}
void hideUninstaller() {
int Split_Vertical = 200;
RECT Rect;
GetClientRect(hwnd,&Rect);
ShowWindow(hUninstallButton,SW_HIDE);
MoveWindow(hDownloadButton,(Split_Vertical+Rect.right-Rect.left)/2-70,Rect.bottom-Rect.top-45,140,35,TRUE);
}
void startUninstaller(WCHAR* Uninstaller) {
STARTUPINFOW si;
PROCESS_INFORMATION pi;
memset(&si, 0, sizeof(si));
si.cb = sizeof(si);
CreateProcessW(NULL,Uninstaller,NULL,NULL,FALSE,0,NULL,NULL,&si,&pi);
CloseHandle(pi.hThread);
// WaitForSingleObject(pi.hProcess, INFINITE); // If you want to wait for the Unistaller
CloseHandle(pi.hProcess);
hideUninstaller();
}
BOOL
SaveSettings(HWND hwnd)
{
HKEY hKey;
TCHAR szBuf[MAX_PATH];
DWORD dwValue;
if (RegOpenKey(HKEY_LOCAL_MACHINE,
TEXT("Software\\ReactOS\\Downloader"),
&hKey) != ERROR_SUCCESS)
return FALSE;
GetDlgItemText(hwnd, IDC_DOWNLOAD_FOLDER_EDIT, szBuf, sizeof(szBuf) / sizeof(TCHAR));
if (GetFileAttributes(szBuf) == 0xFFFFFFFF)
if (!CreateDirectory((LPCTSTR)szBuf,NULL))
{
LoadString(GetModuleHandle(NULL), IDS_UNABLECREATE_FOLDER, szBuf, sizeof(szBuf) / sizeof(TCHAR));
MessageBox(hwnd, (LPCTSTR)szBuf, NULL, MB_ICONSTOP);
return FALSE;
}
if (RegSetValueEx(hKey,
L"DownloadFolder",
0,
REG_SZ,
(LPBYTE)szBuf,
(DWORD)(sizeof(szBuf) / sizeof(TCHAR))))
return FALSE;
GetDlgItemText(hwnd, IDC_UPDATE_SERVER_EDIT, szBuf, sizeof(szBuf) / sizeof(TCHAR));
if (RegSetValueEx(hKey,
L"UpdateServer",
0,
REG_SZ,
(LPBYTE)szBuf,
(DWORD)(sizeof(szBuf) / sizeof(TCHAR))))
return FALSE;
if (SendDlgItemMessage(hwnd, IDC_DELINST_FILES_CHECKBOX, BM_GETCHECK, 0, 0) == BST_CHECKED)
dwValue = 0x1;
else
dwValue = 0x0;
if (RegSetValueEx(hKey,
L"DeleteInstaller",
0,
REG_DWORD,
(LPBYTE)&dwValue,
sizeof(DWORD)))
return FALSE;
RegCloseKey(hKey);
return TRUE;
}
BOOL
InitProfDlg(HWND hwnd)
{
HKEY hKey;
TCHAR Buf[MAX_PATH];
DWORD dwDisp, dwSize;
DWORD dwValue, dwType = REG_DWORD;
if (RegOpenKey(HKEY_LOCAL_MACHINE,
TEXT("Software\\ReactOS\\Downloader"),
&hKey) != ERROR_SUCCESS)
{
if (RegCreateKeyEx(HKEY_LOCAL_MACHINE, L"Software\\ReactOS\\Downloader",
0, NULL, REG_OPTION_NON_VOLATILE,
KEY_WRITE, NULL, &hKey, &dwDisp))
{
LoadString(GetModuleHandle(NULL), IDS_NOTCREATE_REGKEY, Buf, sizeof(Buf) / sizeof(TCHAR));
MessageBox(hwnd, (LPCTSTR)Buf, NULL, MB_ICONSTOP);
return FALSE;
}
}
dwSize = MAX_PATH;
if (RegQueryValueEx(hKey,
L"DownloadFolder",
NULL,
NULL,
(LPBYTE)&Buf,
&dwSize) == ERROR_SUCCESS)
{
SetDlgItemText(hwnd, IDC_DOWNLOAD_FOLDER_EDIT, Buf);
}
else
{
TCHAR DPath[256];
int i;
if (!GetWindowsDirectory(Buf, sizeof(Buf) / sizeof(TCHAR))) return FALSE;
for (i = 0; i < 4; i++)
{
if (i == 3)
{
DPath[i] = '\0';
break;
}
DPath[i] = Buf[i];
}
LoadString(GetModuleHandle(NULL), IDS_DOWNLOAD_FOLDER, Buf, sizeof(Buf) / sizeof(TCHAR));
lstrcat((LPTSTR)DPath, Buf);
if (RegSetValueEx(hKey,
L"DownloadFolder",
0,
REG_SZ,
(LPBYTE)DPath,
(DWORD)(sizeof(DPath) / sizeof(TCHAR))))
return FALSE;
else
{
if (GetFileAttributes(DPath) == 0xFFFFFFFF)
if (!CreateDirectory((LPCTSTR)DPath,NULL)) return FALSE;
SetDlgItemText(hwnd, IDC_DOWNLOAD_FOLDER_EDIT, DPath);
}
}
dwSize = MAX_PATH;
if (RegQueryValueEx(hKey,
L"UpdateServer",
NULL,
NULL,
(LPBYTE)&Buf,
&dwSize) == ERROR_SUCCESS)
{
SetDlgItemText(hwnd, IDC_UPDATE_SERVER_EDIT, Buf);
}
else
{
LoadString(GetModuleHandle(NULL), IDS_UPDATE_URL, Buf, sizeof(Buf) / sizeof(TCHAR));
if (RegSetValueEx(hKey,
L"UpdateServer",
0,
REG_SZ,
(LPBYTE)Buf,
(DWORD)(sizeof(Buf) / sizeof(TCHAR))))
return FALSE;
else
{
SetDlgItemText(hwnd, IDC_UPDATE_SERVER_EDIT, Buf);
}
}
dwSize = sizeof(DWORD);
if (RegQueryValueEx(hKey,
L"DeleteInstaller",
NULL,
&dwType,
(LPBYTE)&dwValue,
&dwSize) == ERROR_SUCCESS)
{
if (dwValue == 0x1)
SendDlgItemMessage(hwnd, IDC_DELINST_FILES_CHECKBOX, BM_SETCHECK, 1, 1);
}
else
{
dwValue = 0x0;
if (RegSetValueEx(hKey,
L"DeleteInstaller",
0,
REG_DWORD,
(LPBYTE)&dwValue,
sizeof(DWORD)))
return FALSE;
}
RegCloseKey(hKey);
return TRUE;
}
BOOL
ChooseFolder(HWND hwnd)
{
BROWSEINFO fi;
LPCITEMIDLIST lpItemList;
TCHAR szPath[MAX_PATH],Buf[256];
ZeroMemory(&fi, sizeof(BROWSEINFO));
fi.hwndOwner = hwnd;
LoadString(GetModuleHandle(NULL), IDS_CHOOSE_FOLDER, Buf, sizeof(Buf) / sizeof(TCHAR));
fi.lpszTitle = (LPCTSTR)Buf;
fi.ulFlags = BIF_DONTGOBELOWDOMAIN | BIF_RETURNONLYFSDIRS | BIF_BROWSEFORCOMPUTER | BIF_NEWDIALOGSTYLE;
fi.lpfn = NULL;
fi.lParam = -1;
fi.iImage = 0;
if(!(lpItemList = SHBrowseForFolder(&fi))) return FALSE;
SHGetPathFromIDList(lpItemList, szPath);
if (_tcslen(szPath) == 0) return FALSE;
SetDlgItemText(hwnd, IDC_DOWNLOAD_FOLDER_EDIT, szPath);
return TRUE;
}
INT_PTR CALLBACK
ProfDlgProc(HWND hDlg,
UINT message,
WPARAM wParam,
LPARAM lParam)
{
static HICON hIcon;
UNREFERENCED_PARAMETER(lParam);
switch (message)
{
case WM_INITDIALOG:
{
hIcon = LoadImage(GetModuleHandle(NULL),MAKEINTRESOURCE(IDI_MAIN),IMAGE_ICON,16,16,0);
SendMessage(hDlg,WM_SETICON,ICON_SMALL,(LPARAM)hIcon);
InitProfDlg(hDlg);
}
break;
case WM_COMMAND:
{
switch (wParam)
{
case IDC_CHOOSE_BUTTON:
ChooseFolder(hDlg);
break;
case IDOK:
{
SaveSettings(hDlg);
DestroyIcon(hIcon);
EndDialog(hDlg,LOWORD(wParam));
return TRUE;
}
break;
case IDCANCEL:
{
DestroyIcon(hIcon);
EndDialog(hDlg,LOWORD(wParam));
return TRUE;
}
break;
}
}
break;
}
return FALSE;
}
BOOL IsApplicationInstalled(struct Application* App)
{
WCHAR Uninstaller[200];
if(StrCmpW(App->RegName, L"")) {
if(getUninstaller(App->RegName, Uninstaller)) {
return TRUE;
}
}
return FALSE;
}
struct Application* GetDependency(const WCHAR* Dependency)
{
struct Category* Category = Root.Children;
while (Category->Next)
{
while (Category->Apps)
{
if(StrCmpW(Category->Apps->RegName, Dependency) == 0)
return Category->Apps;
Category->Apps = Category->Apps->Next;
}
Category = Category->Next;
}
return NULL;
}
LRESULT CALLBACK
WndProc (HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam)
{
static RECT DescriptionRect;
struct Application* AppToInstall;
WCHAR InstallDep[260];
WCHAR InstallDepBuffer[260];
WCHAR Title[260];
switch (Message)
{
case WM_CREATE:
{
if(!SetupControls(hwnd))
return -1;
ShowMessage(Strings[IDS_WELCOME_TITLE], Strings[IDS_WELCOME]);
}
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)hProfButton)
{
DialogBox(GetModuleHandle(NULL),
MAKEINTRESOURCE(IDD_PROF),
hwnd,
ProfDlgProc);
}
if (lParam == (LPARAM)hDownloadButton)
{
if(SelectedApplication)
{
/* install dependencies */
if(StrCmpW(SelectedApplication->Depends, L""))
{
AppToInstall = SelectedApplication;
SelectedApplication = GetDependency(SelectedApplication->Depends);
if (SelectedApplication)
if (!IsApplicationInstalled(SelectedApplication))
{
LoadString(GetModuleHandle(NULL), IDS_INSTALL_DEP, InstallDep, sizeof(InstallDep) / sizeof(WCHAR));
LoadString(GetModuleHandle(NULL), IDS_WINDOW_TITLE, Title, sizeof(Title) / sizeof(WCHAR));
_snwprintf(InstallDepBuffer, sizeof(InstallDepBuffer) / sizeof(WCHAR), InstallDep, SelectedApplication->Name, AppToInstall->Name, SelectedApplication->Name);
if (MessageBox(hwnd, InstallDepBuffer, Title, MB_YESNO | MB_ICONINFORMATION) == IDYES)
{
DialogBoxW(GetModuleHandle(NULL), MAKEINTRESOURCEW(IDD_DOWNLOAD), 0, DownloadProc);
}
}
SelectedApplication = AppToInstall;
}
/* download and install the app */
DialogBoxW(GetModuleHandle(NULL), MAKEINTRESOURCEW(IDD_DOWNLOAD), 0, DownloadProc);
/* install req. hacks to get it working */
if(StrCmpW(SelectedApplication->PostInstallAction, L""))
{
AppToInstall = SelectedApplication;
CopyMemory(SelectedApplication->Location, SelectedApplication->PostInstallAction, sizeof(SelectedApplication->Location));
DialogBoxW(GetModuleHandle(NULL), MAKEINTRESOURCEW(IDD_DOWNLOAD), 0, DownloadProc);
SelectedApplication = AppToInstall;
}
}
else
ShowMessage(Strings[IDS_NO_APP_TITLE], Strings[IDS_NO_APP]);
}
else if (lParam == (LPARAM)hUninstallButton)
{
if(SelectedApplication)
{
WCHAR Uninstaller[200];
if(StrCmpW(SelectedApplication->RegName, L"")) {
if(getUninstaller(SelectedApplication->RegName, Uninstaller))
startUninstaller(Uninstaller);
}
}
}
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;
WCHAR Uninstaller[200];
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)
{
ApplicationText[0]=L'\0';
if(StrCmpW(SelectedApplication->Version, L"")) {
StrCatW(ApplicationText, Strings[IDS_VERSION]);
StrCatW(ApplicationText, SelectedApplication->Version);
StrCatW(ApplicationText, L"\n");
}
if(StrCmpW(SelectedApplication->Licence, L"")) {
StrCatW(ApplicationText, Strings[IDS_LICENCE]);
StrCatW(ApplicationText, SelectedApplication->Licence);
StrCatW(ApplicationText, L"\n");
}
if(StrCmpW(SelectedApplication->Maintainer, L"")) {
StrCatW(ApplicationText, Strings[IDS_MAINTAINER]);
StrCatW(ApplicationText, SelectedApplication->Maintainer);
StrCatW(ApplicationText, L"\n");
}
if(StrCmpW(SelectedApplication->Licence, L"") || StrCmpW(SelectedApplication->Version, L"") || StrCmpW(SelectedApplication->Maintainer, L""))
StrCatW(ApplicationText, L"\n");
StrCatW(ApplicationText, SelectedApplication->Description);
ShowMessage(SelectedApplication->Name, ApplicationText);
if(StrCmpW(SelectedApplication->RegName, L"")) {
if(getUninstaller(SelectedApplication->RegName, Uninstaller)) {
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;
RECT Rect;
ResizeControl(hCategories, 10, 60, Split_Vertical, HIWORD(lParam)-10);
ResizeControl(hApps, Split_Vertical+5, 60, LOWORD(lParam)-10, Split_Hozizontal);
SetRect(&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)-150, 10, 40, 40, TRUE);
MoveWindow(hProfButton, 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
wWinMain (HINSTANCE hInstance,
HINSTANCE hPrevInst,
LPTSTR lpCmdLine,
INT nCmdShow)
{
int i;
WNDCLASSEXW WndClass = {0};
MSG msg;
InitCommonControls();
// Load strings
for(i=0; i<STRING_COUNT; i++)
LoadStringW(hInstance, i, Strings[i], MAX_STRING_LENGHT); // if you know a better method please tell me.
// Create the window
WndClass.cbSize = sizeof(WNDCLASSEX);
WndClass.lpszClassName = L"Downloader";
WndClass.lpfnWndProc = WndProc;
WndClass.hInstance = hInstance;
WndClass.style = CS_HREDRAW | CS_VREDRAW;
WndClass.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_MAIN));
WndClass.hCursor = LoadCursor(NULL, IDC_ARROW);
RegisterClassExW(&WndClass);
hwnd = CreateWindowW(L"Downloader",
Strings[IDS_WINDOW_TITLE],
WS_OVERLAPPEDWINDOW|WS_CLIPCHILDREN,
CW_USEDEFAULT,
CW_USEDEFAULT,
720, 550,
NULL, NULL,
hInstance,
NULL);
// Show it
ShowWindow(hwnd, SW_SHOW);
UpdateWindow(hwnd);
// Message Loop
while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return 0;
}

View file

@ -1,36 +0,0 @@
#include <windows.h>
#include <stdio.h>
int main()
{
HKEY hKey;
DWORD dwVal = 1;
DWORD dwSize = MAX_PATH;
DWORD lpdwDisposition = 0;
CHAR szBuf[MAX_PATH];
printf("%s", "Setting Diablo 2 commandline parameters to -w -glide...");
if (RegCreateKeyExA (HKEY_CURRENT_USER,
"SOFTWARE\\Blizzard Entertainment\\Diablo II Shareware",
0,
NULL,
0,
KEY_ALL_ACCESS,
NULL,
&hKey,
&lpdwDisposition));
{
strcpy(szBuf, "-w -glide");
RegSetValueExA(hKey, "UseCmdLine", 0, REG_DWORD, (LPCSTR)&dwVal, sizeof(dwVal));
RegSetValueExA(hKey, "CmdLine", 0, REG_SZ, (LPCSTR)szBuf, strlen(szBuf)+1);
RegCloseKey(hKey);
printf("%s", "done.");
}
return 0;
}

View file

@ -1,71 +0,0 @@
/* Icons */
#define IDI_MAIN 0x0
#define IDI_UPDATE 5000
#define IDI_HELP 5001
#define IDI_PROF 5002
/* Bitmaps */
#define IDB_UNDERLINE 0x100
#define IDB_LOGO 0x101
#define IDB_DOWNLOAD 0x102
#define IDB_UNINSTALL 0x103
#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 IDB_TREEVIEW_ICON_11 0x911
#define IDB_TREEVIEW_ICON_12 0x912
#define IDB_TREEVIEW_ICON_13 0x913
/* Dialogs */
#define IDD_DOWNLOAD 0x100
#define IDD_PROF 6000
/* Controls */
#define IDC_PROGRESS 0x1000
#define IDC_STATUS 0x1001
#define IDC_REMOVE 0x1002
#define IDC_DOWNLOAD_FOLDER_EDIT 0x1003
#define IDC_CHOOSE_BUTTON 0x1004
#define IDC_UPDATE_SERVER_EDIT 0x1005
#define IDC_DELINST_FILES_CHECKBOX 0x1006
/* Strings */
#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_VERSION 17
#define IDS_LICENCE 18
#define IDS_MAINTAINER 19
#define IDS_APPS_TITLE 20
#define IDS_CATS_TITLE 21
#define IDS_CHOOSE_FOLDER 22
#define IDS_NOTCREATE_REGKEY 23
#define IDS_DOWNLOAD_FOLDER 24
#define IDS_UNABLECREATE_FOLDER 25
#define IDS_UPDATE_URL 26
#define IDS_INSTALL_DEP 27
/* Tool tips */
#define TTT_HELPBUTTON 50
#define TTT_UPDATEBUTTON 51
#define TTT_PROFBUTTON 52
/* Other */
#define STRING_COUNT 20
#define MAX_STRING_LENGHT 0x100

Binary file not shown.

Before

Width:  |  Height:  |  Size: 822 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 822 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 824 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 822 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 822 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 822 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 822 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 822 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 822 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 822 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 824 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 170 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.5 KiB

View file

@ -1,41 +0,0 @@
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
IDI_MAIN ICON DISCARDABLE "resources/main.ico"
IDI_UPDATE ICON DISCARDABLE "resources/update.ico"
IDI_HELP ICON DISCARDABLE "resources/help.ico"
IDI_PROF ICON DISCARDABLE "resources/preferences.ico"
IDB_LOGO BITMAP DISCARDABLE "resources/logo.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"
IDB_TREEVIEW_ICON_11 BITMAP DISCARDABLE "resources/11.bmp"
IDB_TREEVIEW_ICON_12 BITMAP DISCARDABLE "resources/12.bmp"
IDB_TREEVIEW_ICON_13 BITMAP DISCARDABLE "resources/13.bmp"
#include "lang/bg-BG.rc"
#include "lang/de-DE.rc"
#include "lang/el-GR.rc"
#include "lang/en-US.rc"
#include "lang/es-ES.rc"
#include "lang/fr-FR.rc"
#include "lang/id-ID.rc"
#include "lang/it-IT.rc"
#include "lang/ja-JP.rc"
#include "lang/no-NO.rc"
#include "lang/pl-PL.rc"
#include "lang/lt-LT.rc"
#include "lang/ru-RU.rc"
#include "lang/sk-SK.rc"
#include "lang/uk-UA.rc"

View file

@ -1,26 +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];
WCHAR Depends[0x100];
WCHAR PostInstallAction[0x100];
struct Application* Next;
};
struct Category
{
WCHAR Name[0x100];
//WCHAR Description[0x100];
int Icon;
HANDLE TreeviewItem;
struct Application* Apps;
struct Category* Next;
struct Category* Children;
struct Category* Parent;
};

View file

@ -1,237 +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 <libs/expat/expat.h>
#include <string.h>
#include <stdio.h>
#include <windows.h>
#include <shlwapi.h>
#include "structures.h"
#include "resources.h"
BOOL TagOpen;
struct Category* Current;
struct Application* CurrentApplication;
char CurrentTag [0x100];
extern WCHAR Strings [STRING_COUNT][MAX_STRING_LENGHT];
void tag_opened (void* usrdata, const char* tag, const char** arg)
{
int i;
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)
{
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);
}
else if(!strcmp(CurrentTag, "depends"))
{
int currentlengt = lstrlenW(CurrentApplication->Depends);
MultiByteToWideChar(CP_UTF8, 0, data, len, &CurrentApplication->Depends[currentlengt], 0x100-currentlengt);
}
else if(!strcmp(CurrentTag, "postinstallaction"))
{
int currentlengt = lstrlenW(CurrentApplication->PostInstallAction);
MultiByteToWideChar(CP_UTF8, 0, data, len, &CurrentApplication->PostInstallAction[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;
}
}
BOOL ProcessXML (const char* filename, struct Category* Root)
{
int done = 0;
char buffer[255];
FILE* file;
XML_Parser parser;
if(Current)
return FALSE;
Current = Root;
TagOpen = TRUE;
file = fopen("downloader.xml", "r");
if(!file)
{
file = fopen(filename, "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);
if(!XML_Parse(parser, buffer, len, done))
{
MessageBoxW(0,Strings[IDS_XMLERROR_2],0,0);
fclose(file);
return FALSE;
}
}
XML_ParserFree(parser);
fclose(file);
return TRUE;
}
void FreeApps (struct Application* Apps)
{
if (Apps->Next)
FreeApps(Apps->Next);
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);
}