mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-08-29 04:13:32 +00:00
Sync with trunk r43000
svn path=/branches/ros-amd64-bringup/; revision=43079
This commit is contained in:
@@ -91,10 +91,12 @@
|
||||
<compilerflag compiler="cxx">-Wno-non-virtual-dtor</compilerflag>
|
||||
<compilerflag compiler="cc,cxx">-gstabs+</compilerflag>
|
||||
<compilerflag compiler="as">-gstabs+</compilerflag>
|
||||
<compilerflag compiler="midl">-m32 --win32</compilerflag>
|
||||
</group>
|
||||
|
||||
<group compilerset="msc">
|
||||
<define name="inline" compiler="cc">__inline</define>
|
||||
<define name="__STDC__" compiler="cc">1</define>
|
||||
<compilerflag>/Zl</compilerflag>
|
||||
<compilerflag>/Zi</compilerflag>
|
||||
<compilerflag>/W1</compilerflag>
|
||||
|
||||
@@ -24,13 +24,13 @@
|
||||
<compilerflag>-ftracer</compilerflag>
|
||||
<compilerflag>-momit-leaf-frame-pointer</compilerflag>
|
||||
</if>
|
||||
<compilerflag>-mpreferred-stack-boundary=2</compilerflag>
|
||||
</group>
|
||||
<compilerflag>-mpreferred-stack-boundary=2</compilerflag>
|
||||
</group>
|
||||
|
||||
<group linkerset="ld">
|
||||
<linkerflag>-disable-stdcall-fixup</linkerflag>
|
||||
</group>
|
||||
|
||||
|
||||
<directory name="base">
|
||||
<xi:include href="base/base.rbuild" />
|
||||
</directory>
|
||||
|
||||
@@ -97,4 +97,7 @@
|
||||
<directory name="write">
|
||||
<xi:include href="write/write.rbuild" />
|
||||
</directory>
|
||||
<directory name="rapps">
|
||||
<xi:include href="rapps/rapps.rbuild" />
|
||||
</directory>
|
||||
</group>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* TRANSLATOR : Mário Kaèmár /Mario Kacmar/ aka Kario ([email protected])
|
||||
* DATE OF TR.: 30-01-2008
|
||||
* LAST CHANGE: 27-01-2009
|
||||
* LAST CHANGE: 29-08-2009
|
||||
* ---------------------------------------
|
||||
* TODO:
|
||||
* 1. treba usporiada� jednotky pod¾a abecedy
|
||||
@@ -522,24 +522,24 @@ END
|
||||
// TYPES OF CURRENCIES
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_CURRENCY_AUSTRIAN_SCHILLING "Rakúzsky šiling"
|
||||
IDS_CURRENCY_BELGIAN_FRANC "Belgický frank"
|
||||
IDS_CURRENCY_CYPRIOT_POUND "Cyperská libra"
|
||||
IDS_CURRENCY_CZECH_KORUNA "Èeská koruna"
|
||||
IDS_CURRENCY_DEUTSCHE_MARK "Nemecká marka"
|
||||
IDS_CURRENCY_DUTCH_GUILDER "Holandský gulden"
|
||||
IDS_CURRENCY_EURO "Euro"
|
||||
IDS_CURRENCY_FINNISH_MARKKA "Finská marka"
|
||||
IDS_CURRENCY_FRENCH_FRANC "Francúzsky frank"
|
||||
IDS_CURRENCY_GREEK_DRACHMA "Grécka drachma"
|
||||
IDS_CURRENCY_DUTCH_GUILDER "Holandský gulden"
|
||||
IDS_CURRENCY_IRISH_POUND "Irish pound"
|
||||
IDS_CURRENCY_ITALIAN_LIRA "Italian lira"
|
||||
IDS_CURRENCY_LUXEMBOURG_FRANC "Luxembourg franc"
|
||||
IDS_CURRENCY_MALTESE_LIRA "Maltese lira"
|
||||
IDS_CURRENCY_DEUTSCHE_MARK "Nemecká marka"
|
||||
IDS_CURRENCY_PORTOGUESE_ESCUDO "Portoguese escudo"
|
||||
IDS_CURRENCY_AUSTRIAN_SCHILLING "Rakúzsky šiling"
|
||||
IDS_CURRENCY_SLOVAK_KORUNA "Slovenská koruna"
|
||||
IDS_CURRENCY_SLOVENIAN_TOLAR "Slovinský toliar"
|
||||
IDS_CURRENCY_SPANISH_PESETA "Španielska peseta"
|
||||
IDS_CURRENCY_ITALIAN_LIRA "Talianska líra"
|
||||
END
|
||||
|
||||
// TYPES OF ENERGIES
|
||||
@@ -571,10 +571,14 @@ BEGIN
|
||||
IDS_LENGTH_CHOU "Chou"
|
||||
IDS_LENGTH_CHR "Chr"
|
||||
IDS_LENGTH_CUN "Cun"
|
||||
IDS_LENGTH_FATHOMS "Siahy"
|
||||
IDS_LENGTH_FATHOMS_HUNGARY "Siahy (Maïarsko)"
|
||||
IDS_LENGTH_FEET "Stopy"
|
||||
IDS_LENGTH_FURLONGS "Furlongs"
|
||||
IDS_LENGTH_GAN "Gan"
|
||||
IDS_LENGTH_HANDS "Hands"
|
||||
IDS_LENGTH_HUNH "Hunh"
|
||||
IDS_LENGTH_INCHES "Palce"
|
||||
IDS_LENGTH_JA "Ja"
|
||||
IDS_LENGTH_JEONG "Jeong"
|
||||
IDS_LENGTH_KABIET "Kabiet"
|
||||
@@ -582,6 +586,7 @@ BEGIN
|
||||
IDS_LENGTH_KEUB "Keub"
|
||||
IDS_LENGTH_KILOMETERS "Kilometre"
|
||||
IDS_LENGTH_LAR "Lar"
|
||||
IDS_LENGTH_LIGHT_YEARS "Svetelné roky"
|
||||
IDS_LENGTH_LINKS_UK "Links (UK)"
|
||||
IDS_LENGTH_METERS "Metre"
|
||||
IDS_LENGTH_MICRONS "Mikróny"
|
||||
@@ -589,7 +594,6 @@ BEGIN
|
||||
IDS_LENGTH_MILLIMETERS "Milimetre"
|
||||
IDS_LENGTH_NAUTICAL_MILES "Námorné míle"
|
||||
IDS_LENGTH_NIEU "Nieu"
|
||||
IDS_LENGTH_INCHES "Palce"
|
||||
IDS_LENGTH_PARSECS "Parsecy"
|
||||
IDS_LENGTH_PICAS "Picas"
|
||||
IDS_LENGTH_RI_JAPAN "Ri (Japonsko)"
|
||||
@@ -598,12 +602,8 @@ BEGIN
|
||||
IDS_LENGTH_SAWK "Sawk"
|
||||
IDS_LENGTH_SEN "Sen"
|
||||
IDS_LENGTH_SHAKU "Shaku"
|
||||
IDS_LENGTH_FATHOMS "Siahy"
|
||||
IDS_LENGTH_FATHOMS_HUNGARY "Siahy (Maïarsko)"
|
||||
IDS_LENGTH_SPAN "Span"
|
||||
IDS_LENGTH_FEET "Stopy"
|
||||
IDS_LENGTH_SUN "Sun"
|
||||
IDS_LENGTH_LIGHT_YEARS "Svetelné roky"
|
||||
IDS_LENGTH_TSUEN "Tsuen"
|
||||
IDS_LENGTH_VA "Va"
|
||||
IDS_LENGTH_YARDS "Yardy"
|
||||
@@ -616,8 +616,8 @@ STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_POWER_BTUS_PER_MINUTE "Britské termálne jednotky za minútu"
|
||||
IDS_POWER_FPS_PER_MINUTE "Foot-Pounds za minútu"
|
||||
IDS_POWER_KILOWATTS "Kilowatty"
|
||||
IDS_POWER_HORSEPOWER "Koòské sily"
|
||||
IDS_POWER_KILOWATTS "Kilowatty"
|
||||
IDS_POWER_MEGAWATTS "Megawatty"
|
||||
IDS_POWER_WATTS "Watty"
|
||||
END
|
||||
@@ -629,9 +629,9 @@ BEGIN
|
||||
IDS_PRESSURE_BARS "Bary"
|
||||
IDS_PRESSURE_HECTOPASCALS "Hektopascals"
|
||||
IDS_PRESSURE_KILOPASCALS "Kilopascals"
|
||||
IDS_PRESSURE_PSI "Libry na štvorcový palec"
|
||||
IDS_PRESSURE_MM_OF_MERCURY "Millimeters of mercury"
|
||||
IDS_PRESSURE_PASCALS "Pascals"
|
||||
IDS_PRESSURE_PSI "Libry na štvorcový palec"
|
||||
END
|
||||
|
||||
// TYPES OF TEMPERATURES
|
||||
@@ -651,8 +651,8 @@ BEGIN
|
||||
IDS_TIME_MICROSECONDS "Mikrosekundy"
|
||||
IDS_TIME_MILLISECONDS "Milisekundy"
|
||||
IDS_TIME_MINUTES "Minúty"
|
||||
IDS_TIME_YEARS "Roky"
|
||||
IDS_TIME_SECONDS "Sekundy"
|
||||
IDS_TIME_YEARS "Roky"
|
||||
IDS_TIME_WEEKS "Týždne"
|
||||
END
|
||||
|
||||
@@ -660,13 +660,13 @@ END
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_VELOCITY_CMS_SECOND "Centimetre/hodinu"
|
||||
IDS_VELOCITY_FEET_HOUR "Stopy/hodinu"
|
||||
IDS_VELOCITY_FEET_SECOND "Stopy/sekundu"
|
||||
IDS_VELOCITY_KILOMETERS_HOUR "Kilometre/hodinu"
|
||||
IDS_VELOCITY_KNOTS "Knots"
|
||||
IDS_VELOCITY_MACH "Mach"
|
||||
IDS_VELOCITY_METERS_SECOND "Metre/sekundu"
|
||||
IDS_VELOCITY_MILES_HOUR "Míle/hodinu"
|
||||
IDS_VELOCITY_FEET_HOUR "Stopy/hodinu"
|
||||
IDS_VELOCITY_FEET_SECOND "Stopy/sekundu"
|
||||
END
|
||||
|
||||
// TYPES OF VOLUMES
|
||||
@@ -677,6 +677,11 @@ BEGIN
|
||||
IDS_VOLUME_BUN "Bun"
|
||||
IDS_VOLUME_BUSHELS_UK "Bušely (UK)" //Bušel, Bušle? Bušly?
|
||||
IDS_VOLUME_BUSHELS_US "Bušely (USA)"
|
||||
IDS_VOLUME_CUBIC_CENTIMETERS "Kubické centimetre"
|
||||
IDS_VOLUME_CUBIC_FEET "Kubické stopy"
|
||||
IDS_VOLUME_CUBIC_INCHES "Kubické palce"
|
||||
IDS_VOLUME_CUBIC_METERS "Kubické metre"
|
||||
IDS_VOLUME_CUBIC_YARDS "Kubické yardy"
|
||||
IDS_VOLUME_DOE "Doe"
|
||||
IDS_VOLUME_FLUID_OUNCES_UK "Fluid ounces (UK)"
|
||||
IDS_VOLUME_FLUID_OUNCES_US "Fluid ounces (USA)"
|
||||
@@ -686,11 +691,6 @@ BEGIN
|
||||
IDS_VOLUME_GOU "Gou"
|
||||
IDS_VOLUME_HOP "Hop"
|
||||
IDS_VOLUME_ICCE "Icce"
|
||||
IDS_VOLUME_CUBIC_CENTIMETERS "Kubické centimetre"
|
||||
IDS_VOLUME_CUBIC_FEET "Kubické stopy"
|
||||
IDS_VOLUME_CUBIC_INCHES "Kubické palce"
|
||||
IDS_VOLUME_CUBIC_METERS "Kubické metre"
|
||||
IDS_VOLUME_CUBIC_YARDS "Kubické yardy"
|
||||
IDS_VOLUME_KWIAN "Kwian"
|
||||
IDS_VOLUME_LITERS "Litre"
|
||||
IDS_VOLUME_MAL "Mal"
|
||||
@@ -712,7 +712,7 @@ END
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_WEIGHT_BAHT "Baht"
|
||||
IDS_WEIGHT_QUINTAL_METRIC "Cent (metrický)"
|
||||
IDS_WEIGHT_CARATS "Karáty"
|
||||
IDS_WEIGHT_CHUNG "Chung"
|
||||
IDS_WEIGHT_DON "Don"
|
||||
IDS_WEIGHT_GEUN "Geun"
|
||||
@@ -722,19 +722,19 @@ BEGIN
|
||||
IDS_WEIGHT_JIN_CHINA "Jin (Èína)"
|
||||
IDS_WEIGHT_JIN_TAIWAN "Jin (Tchajvan)"
|
||||
IDS_WEIGHT_KAN "Kan"
|
||||
IDS_WEIGHT_CARATS "Karáty"
|
||||
IDS_WEIGHT_KILOGRAMS "Kilogramy"
|
||||
IDS_WEIGHT_KIN "Kin"
|
||||
IDS_WEIGHT_LIANG_CHINA "Liang (Èína)"
|
||||
IDS_WEIGHT_LIANG_TAIWAN "Liang (Tchajvan)"
|
||||
IDS_WEIGHT_POUNDS "Libry"
|
||||
IDS_WEIGHT_MONME "Monme"
|
||||
IDS_WEIGHT_OUNCES_AVOIRDUPOIS "Unce, anglosaská"
|
||||
IDS_WEIGHT_OUNCES_TROY "Unce, trójska"
|
||||
IDS_WEIGHT_POUNDS "Libry"
|
||||
IDS_WEIGHT_QUINTAL_METRIC "Cent (metrický)"
|
||||
IDS_WEIGHT_SALOUNG "Saloung"
|
||||
IDS_WEIGHT_STONES "Stones"
|
||||
IDS_WEIGHT_TAMLUNG "Tamlung"
|
||||
IDS_WEIGHT_TONNES "Tony"
|
||||
IDS_WEIGHT_TONS_UK "Tony (UK)"
|
||||
IDS_WEIGHT_TONS_US "Tony (USA)"
|
||||
IDS_WEIGHT_OUNCES_AVOIRDUPOIS "Unce, anglosaská"
|
||||
IDS_WEIGHT_OUNCES_TROY "Unce, trójska"
|
||||
END
|
||||
|
||||
@@ -19,15 +19,27 @@ static VOID SetInsert(DWORD dwFlag)
|
||||
static VOID PrintHistory(VOID)
|
||||
{
|
||||
DWORD Length = GetConsoleCommandHistoryLength(pszExeName);
|
||||
DWORD BufferLength;
|
||||
PBYTE HistBuf;
|
||||
TCHAR *Hist;
|
||||
TCHAR *HistEnd;
|
||||
|
||||
/* On Windows, the ANSI version of GetConsoleCommandHistory requires
|
||||
* a buffer twice as large as the actual history length. */
|
||||
BYTE HistBuf[Length * (sizeof(WCHAR) / sizeof(TCHAR))];
|
||||
TCHAR *Hist = (TCHAR *)HistBuf;
|
||||
TCHAR *HistEnd = (TCHAR *)&HistBuf[Length];
|
||||
BufferLength = Length * (sizeof(WCHAR) / sizeof(TCHAR)) * sizeof(BYTE);
|
||||
|
||||
if (GetConsoleCommandHistory(Hist, sizeof HistBuf, pszExeName))
|
||||
HistBuf = HeapAlloc(GetProcessHeap(),
|
||||
HEAP_ZERO_MEMORY,
|
||||
BufferLength);
|
||||
if (!HistBuf) return;
|
||||
Hist = (TCHAR *)HistBuf;
|
||||
HistEnd = (TCHAR *)&HistBuf[Length];
|
||||
|
||||
if (GetConsoleCommandHistory(Hist, BufferLength, pszExeName))
|
||||
for (; Hist < HistEnd; Hist += _tcslen(Hist) + 1)
|
||||
_tprintf(_T("%s\n"), Hist);
|
||||
|
||||
HeapFree(GetProcessHeap(), 0, HistBuf);
|
||||
}
|
||||
|
||||
static INT SetMacro(LPTSTR definition)
|
||||
@@ -65,23 +77,39 @@ static INT SetMacro(LPTSTR definition)
|
||||
static VOID PrintMacros(LPTSTR pszExeName, LPTSTR Indent)
|
||||
{
|
||||
DWORD Length = GetConsoleAliasesLength(pszExeName);
|
||||
BYTE AliasBuf[Length];
|
||||
TCHAR *Alias = (TCHAR *)AliasBuf;
|
||||
TCHAR *AliasEnd = (TCHAR *)&AliasBuf[Length];
|
||||
PBYTE AliasBuf;
|
||||
TCHAR *Alias;
|
||||
TCHAR *AliasEnd;
|
||||
|
||||
if (GetConsoleAliases(Alias, sizeof AliasBuf, pszExeName))
|
||||
AliasBuf = HeapAlloc(GetProcessHeap(),
|
||||
HEAP_ZERO_MEMORY,
|
||||
Length * sizeof(BYTE));
|
||||
if (!AliasBuf) return;
|
||||
Alias = (TCHAR *)AliasBuf;
|
||||
AliasEnd = (TCHAR *)&AliasBuf[Length];
|
||||
|
||||
if (GetConsoleAliases(Alias, Length * sizeof(BYTE), pszExeName))
|
||||
for (; Alias < AliasEnd; Alias += _tcslen(Alias) + 1)
|
||||
_tprintf(_T("%s%s\n"), Indent, Alias);
|
||||
|
||||
HeapFree(GetProcessHeap(), 0, AliasBuf);
|
||||
}
|
||||
|
||||
static VOID PrintAllMacros(VOID)
|
||||
{
|
||||
DWORD Length = GetConsoleAliasExesLength();
|
||||
BYTE ExeNameBuf[Length];
|
||||
TCHAR *ExeName = (TCHAR *)ExeNameBuf;
|
||||
TCHAR *ExeNameEnd = (TCHAR *)&ExeNameBuf[Length];
|
||||
PBYTE ExeNameBuf;
|
||||
TCHAR *ExeName;
|
||||
TCHAR *ExeNameEnd;
|
||||
|
||||
if (GetConsoleAliasExes(ExeName, sizeof ExeNameBuf))
|
||||
ExeNameBuf = HeapAlloc(GetProcessHeap(),
|
||||
HEAP_ZERO_MEMORY,
|
||||
Length * sizeof(BYTE));
|
||||
if (!ExeNameBuf) return;
|
||||
ExeName = (TCHAR *)ExeNameBuf;
|
||||
ExeNameEnd = (TCHAR *)&ExeNameBuf[Length];
|
||||
|
||||
if (GetConsoleAliasExes(ExeName, Length * sizeof(BYTE)))
|
||||
{
|
||||
for (; ExeName < ExeNameEnd; ExeName += _tcslen(ExeName) + 1)
|
||||
{
|
||||
@@ -90,6 +118,8 @@ static VOID PrintAllMacros(VOID)
|
||||
_tprintf(_T("\n"));
|
||||
}
|
||||
}
|
||||
|
||||
HeapFree(GetProcessHeap(), 0, ExeNameBuf);
|
||||
}
|
||||
|
||||
static VOID ReadFromFile(LPTSTR param)
|
||||
|
||||
@@ -6,3 +6,4 @@
|
||||
#include <windows.h>
|
||||
#include "doskey.h"
|
||||
#include "lang/en-US.rc"
|
||||
#include "lang/uk-UA.rc"
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
/*
|
||||
* PROJECT: ReactOS DOSKey
|
||||
* LICENSE: GPL - See COPYING in the top level directory
|
||||
* FILE: base/applications/cmdutils/doskey/lang/uk-UA.rc
|
||||
* PURPOSE: Ukraianian Language File for ReactOS DOSKey
|
||||
* TRANSLATOR: Sakara Yevhen
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
|
||||
IDS_HELP, "Ìåíåäæåð êîìàíäíîãî ðÿäêà äëÿ ðåäàãóâàííÿ íàëàøòóâàíü, ³ñòî𳿠òà ìàêðîñ³â.\n\
|
||||
\n\
|
||||
DOSKEY [/INSERT | /OVERSTRIKE] [/EXENAME=exe] [/HISTORY] [/LISTSIZE=size]\n\
|
||||
[/REINSTALL] [/MACROS[:exe | :ALL]] [/MACROFILE=file] [macroname=[text]]\n\
|
||||
\n\
|
||||
/INSERT Äîçâ³ë âêëþ÷åííÿ ðåæèìó.\n\
|
||||
/OVERSTRIKE Çàáîðîíà âêëþ÷åííÿ ðåæèìó.\n\
|
||||
/EXENAME=exename Âñòàíîâëåííÿ ³ì'ÿ ïðîãðàìè äëÿ ïåðåãëÿäó/çì³íè ³ñòîð³¿\n\
|
||||
³ ìàêðîñ³â. Çíà÷åííÿ çà çàìîâ÷óâàííÿì cmd.exe.\n\
|
||||
/HISTORY ³äîáðàæåííÿ ³ñòî𳿠êîìàíä.\n\
|
||||
/LISTSIZE=size Âñòàíîâëåííÿ ê³ëüêîñò³ êîìàíä çà ³ñòîð³þ áóôåðà.\n\
|
||||
/REINSTALL Î÷èùåííÿ ³ñòî𳿠êîìàíä.\n\
|
||||
/MACROS ³äîáðàæåííÿ ìàêðîñ³ âèçíà÷åíü.\n\
|
||||
/MACROS:exename ³äîáðàæåííÿ ìàêðîñ³ âèçíà÷åíü äëÿ êîíêðåòíî¿ ïðîãðàìè.\n\
|
||||
/MACROS:ALL ³äîáðàæåííÿ ìàêðîñ³ âèçíà÷åíü äëÿ âñ³õ ïðîãðàì.\n\
|
||||
/MACROFILE=filename Çàâàíòàæåííÿ ìàêðîñ³ âèçíà÷åíü ç ôàéëó.\n\
|
||||
macroname Âèçíà÷åííÿ ³ì'ÿ ìàêðîñó äëÿ ñòâîðåííÿ.\n\
|
||||
text Âèçíà÷åííÿ çàì³íè òåêñòó â ìàêðîñ³.\n"
|
||||
|
||||
IDS_INVALID_MACRO_DEF, "Íåä³éñíèé ìàêðîñ âèçíà÷åííÿ: %s\n"
|
||||
|
||||
END
|
||||
@@ -80,3 +80,4 @@ Mit:\n\
|
||||
\t\tQuelldateien kopiert, die neuer sind als die Zieldatei\n\n"
|
||||
|
||||
}
|
||||
#pragma code_page(default)
|
||||
|
||||
@@ -81,3 +81,4 @@ où :\n\
|
||||
\t\tque le fichier source\n\n"
|
||||
|
||||
}
|
||||
#pragma code_page(default)
|
||||
|
||||
@@ -29,18 +29,18 @@ LANGUAGE LANG_LITHUANIAN, SUBLANG_NEUTRAL
|
||||
STRINGTABLE
|
||||
{
|
||||
STRING_INVPARMS, "Neteisingas parametrų skaičius - pagalba: xcopy /?\n"
|
||||
STRING_INVPARM, "Neteisingas parametras '%s' - pagalba: xcopy /?\n"
|
||||
STRING_INVPARM, "Neteisingas parametras „%s“ - pagalba: xcopy /?\n"
|
||||
STRING_PAUSE, "Spauskite <enter> kopijavimui pradėti\n"
|
||||
STRING_SIMCOPY, "bus nukopijuota failų: %d\n"
|
||||
STRING_COPY, "nukopijuota failų: %d\n"
|
||||
STRING_QISDIR, "Ar '%s' yra failas, ar katalogas,\n" \
|
||||
STRING_QISDIR, "Ar „%s“ yra failas, ar katalogas,\n" \
|
||||
"ar paskirtis?\n" \
|
||||
"(F - failas, K - katalogas)\n"
|
||||
STRING_SRCPROMPT,"%s? (Taip|Ne)\n"
|
||||
STRING_OVERWRITE,"Perrašyti %s? (Taip|Ne|Visus)\n"
|
||||
STRING_COPYFAIL, "'%s' kopijavimas į '%s' nepavyko su r/c %d\n"
|
||||
STRING_OPENFAIL, "Nepavyko atverti '%s'\n"
|
||||
STRING_READFAIL, "Klaida skaitant '%s'\n"
|
||||
STRING_COPYFAIL, "„%s“ kopijavimas į „%s“ nepavyko su r/c %d\n"
|
||||
STRING_OPENFAIL, "Nepavyko atverti „%s“\n"
|
||||
STRING_READFAIL, "Klaida skaitant „%s“\n"
|
||||
STRING_YES_CHAR, "T"
|
||||
STRING_NO_CHAR, "N"
|
||||
STRING_ALL_CHAR, "V"
|
||||
@@ -81,3 +81,4 @@ Kur:\n\
|
||||
\t\tsenesnis už šaltinio failą\n\n"
|
||||
|
||||
}
|
||||
#pragma code_page(default)
|
||||
|
||||
@@ -21,6 +21,8 @@
|
||||
|
||||
#include "xcopy.h"
|
||||
|
||||
#pragma code_page(65001)
|
||||
|
||||
LANGUAGE LANG_DUTCH, SUBLANG_NEUTRAL
|
||||
|
||||
STRINGTABLE
|
||||
@@ -77,3 +79,4 @@ Parameters:\n\
|
||||
\t\tdatum. Als geen detum wordt gegeven, copiëer alleen als bron nieuwer is.\n\n"
|
||||
|
||||
}
|
||||
#pragma code_page(default)
|
||||
|
||||
@@ -22,26 +22,29 @@
|
||||
|
||||
#include "xcopy.h"
|
||||
|
||||
/* UTF-8 */
|
||||
#pragma code_page(65001)
|
||||
|
||||
LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
|
||||
|
||||
STRINGTABLE
|
||||
{
|
||||
STRING_INVPARMS,
|
||||
"Недопустимое число параметров - попробуйте 'xcopy /?' для получения\n\
|
||||
подробного описания.\n"
|
||||
"Недопустимое число параметров - попробуйте 'xcopy /?' для получения\n\
|
||||
подробного описания.\n"
|
||||
STRING_INVPARM,
|
||||
"Недопустимый параметр '%s' - попробуйте 'xcopy /?' для получения подробного\n\
|
||||
описания.\n"
|
||||
STRING_PAUSE, "Нажмите клавишу <enter>, чтобы начать копирование.\n"
|
||||
STRING_SIMCOPY, "%d файл(ов) было бы скопировано.\n"
|
||||
STRING_COPY, "%d файл(ов) скопировано.\n"
|
||||
STRING_QISDIR, "'%s' является файлом или папкой?\n" \
|
||||
"(F - Файл, D - Папка)\n"
|
||||
"Недопустимый параметр '%s' - попробуйте 'xcopy /?' для получения подробного\n\
|
||||
описания.\n"
|
||||
STRING_PAUSE, "Нажмите клавишу <enter>, чтобы начать копирование.\n"
|
||||
STRING_SIMCOPY, "%d файл(ов) было бы скопировано.\n"
|
||||
STRING_COPY, "%d файл(ов) скопировано.\n"
|
||||
STRING_QISDIR, "'%s' является файлом или папкой?\n" \
|
||||
"(F - Файл, D - Папка)\n"
|
||||
STRING_SRCPROMPT,"%s? (Yes|No)\n"
|
||||
STRING_OVERWRITE,"Переписать %s? (Yes|No|All)\n"
|
||||
STRING_COPYFAIL, "При копировании '%s' в '%s' произошла ошибка: %d\n"
|
||||
STRING_OPENFAIL, "Невозможно открыть '%s'\n"
|
||||
STRING_READFAIL, "При чтении '%s' произошла ошибка\n"
|
||||
STRING_OVERWRITE,"Переписать %s? (Yes|No|All)\n"
|
||||
STRING_COPYFAIL, "При копировании '%s' в '%s' произошла ошибка: %d\n"
|
||||
STRING_OPENFAIL, "Невозможно открыть '%s'\n"
|
||||
STRING_READFAIL, "При чтении '%s' произошла ошибка\n"
|
||||
STRING_YES_CHAR, "Y"
|
||||
STRING_NO_CHAR, "N"
|
||||
STRING_ALL_CHAR, "A"
|
||||
@@ -49,35 +52,36 @@ STRINGTABLE
|
||||
STRING_DIR_CHAR, "D"
|
||||
|
||||
STRING_HELP,
|
||||
"XCOPY - Копирует файлы и деревья папок\n\
|
||||
"XCOPY - Копирует файлы и деревья папок\n\
|
||||
\n\
|
||||
Синтаксис:\n\
|
||||
Синтаксис:\n\
|
||||
XCOPY source [dest] [/I] [/S] [/Q] [/F] [/L] [/W] [/T] [/N] [/U]\n\
|
||||
\t [/R] [/H] [/C] [/P] [/A] [/M] [/E] [/D] [/Y] [/-Y]\n\
|
||||
\n\
|
||||
Где:\n\
|
||||
Где:\n\
|
||||
\n\
|
||||
[/I] Если конечная папка отсутствует и копируется более одного файла,\n\
|
||||
то предполагается папка в качестве места назначения.\n\
|
||||
[/S] Копирует папки и подпапки.\n\
|
||||
[/E] Копирует папки и подпапки, включая пустые.\n\
|
||||
[/Q] Не отображает имена копируемых файлов.\n\
|
||||
[/F] Отображает полные имена исходных и конечных файлов.\n\
|
||||
[/L] Выводит список файлов, которые будут скопированы.\n\
|
||||
[/W] Запрашивает подтверждение перед началом копирования.\n\
|
||||
[/T] Создает структуру папок, но не копирует файлы.\n\
|
||||
[/Y] Подавляет запрос на подтверждение перезаписи файлов.\n\
|
||||
[/-Y] Запрашивает подтверждение на перезапись файлов.\n\
|
||||
[/P] Запрашивает подтверждение для каждого копируемого файла.\n\
|
||||
[/N] Использует короткие имена файлов при копировании.\n\
|
||||
[/U] Копирует только те файлы, которые уже существуют в конечной папке.\n\
|
||||
[/R] Перезаписывает файлы, доступные только для чтения.\n\
|
||||
[/H] Копирует скрытые и системные файлы.\n\
|
||||
[/C] Продолжает работу, даже если произошла ошибка.\n\
|
||||
[/A] Копирует только те файлы, для которых установлен атрибут \"архивный\".\n\
|
||||
[/M] Копирует только те файлы, для которых установлен атрибут \"архивный\",\n\
|
||||
при этом атрибут удаляется.\n\
|
||||
[/D | /D:m-d-y] Копирует только новые файлы или те, которые были изменены\n\
|
||||
после указанной даты. Если дата не указана, копирует только\n\
|
||||
те файлы, которые новее в исходной папке.\n"
|
||||
[/I] Если конечная папка отсутствует и копируется более одного файла,\n\
|
||||
то предполагается папка в качестве места назначения.\n\
|
||||
[/S] Копирует папки и подпапки.\n\
|
||||
[/E] Копирует папки и подпапки, включая пустые.\n\
|
||||
[/Q] Не отображает имена копируемых файлов.\n\
|
||||
[/F] Отображает полные имена исходных и конечных файлов.\n\
|
||||
[/L] Выводит список файлов, которые будут скопированы.\n\
|
||||
[/W] Запрашивает подтверждение перед началом копирования.\n\
|
||||
[/T] Создает структуру папок, но не копирует файлы.\n\
|
||||
[/Y] Подавляет запрос на подтверждение перезаписи файлов.\n\
|
||||
[/-Y] Запрашивает подтверждение на перезапись файлов.\n\
|
||||
[/P] Запрашивает подтверждение для каждого копируемого файла.\n\
|
||||
[/N] Использует короткие имена файлов при копировании.\n\
|
||||
[/U] Копирует только те файлы, которые уже существуют в конечной папке.\n\
|
||||
[/R] Перезаписывает файлы, доступные только для чтения.\n\
|
||||
[/H] Копирует скрытые и системные файлы.\n\
|
||||
[/C] Продолжает работу, даже если произошла ошибка.\n\
|
||||
[/A] Копирует только те файлы, для которых установлен атрибут \"архивный\".\n\
|
||||
[/M] Копирует только те файлы, для которых установлен атрибут \"архивный\",\n\
|
||||
при этом атрибут удаляется.\n\
|
||||
[/D | /D:m-d-y] Копирует только новые файлы или те, которые были изменены\n\
|
||||
после указанной даты. Если дата не указана, копирует только\n\
|
||||
те файлы, которые новее в исходной папке.\n"
|
||||
}
|
||||
#pragma code_page(default)
|
||||
|
||||
@@ -80,3 +80,4 @@ Where:\n\
|
||||
\t\tod izvora\n\n"
|
||||
|
||||
}
|
||||
#pragma code_page(default)
|
||||
|
||||
+18
-7
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) the Wine project
|
||||
* Copyright 2007 Jason Edmeades
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
@@ -16,12 +16,23 @@
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#ifndef __WINE_WINNLS_H
|
||||
#define __WINE_WINNLS_H
|
||||
#include <windef.h>
|
||||
|
||||
#include_next <winnls.h>
|
||||
#include "xcopy.h"
|
||||
|
||||
#define CP_UNIXCP CP_ACP
|
||||
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
|
||||
|
||||
|
||||
#endif /* __WINE_WINNLS_H */
|
||||
#include "Bg.rc"
|
||||
#include "Da.rc"
|
||||
#include "De.rc"
|
||||
#include "El.rc"
|
||||
#include "En.rc"
|
||||
#include "Fr.rc"
|
||||
#include "It.rc"
|
||||
#include "Ko.rc"
|
||||
#include "Nl.rc"
|
||||
#include "No.rc"
|
||||
#include "Pl.rc"
|
||||
#include "Pt.rc"
|
||||
#include "Ru.rc"
|
||||
#include "Si.rc"
|
||||
@@ -7,17 +7,6 @@
|
||||
<library>user32</library>
|
||||
<library>kernel32</library>
|
||||
<file>xcopy.c</file>
|
||||
<file>Da.rc</file>
|
||||
<file>De.rc</file>
|
||||
<file>En.rc</file>
|
||||
<file>Fr.rc</file>
|
||||
<file>Ko.rc</file>
|
||||
<file>Lt.rc</file>
|
||||
<file>Nl.rc</file>
|
||||
<file>No.rc</file>
|
||||
<file>Pl.rc</file>
|
||||
<file>Pt.rc</file>
|
||||
<file>Ru.rc</file>
|
||||
<file>Si.rc</file>
|
||||
<file>rsrc.rc</file>
|
||||
<metadata description="xcopy command-line tool" />
|
||||
</module>
|
||||
|
||||
@@ -0,0 +1,77 @@
|
||||
#include "resource.h"
|
||||
|
||||
LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_SECONDS, "秒"
|
||||
IDS_NOBODY, "名前なし"
|
||||
IDS_ABOUT, "Joshua ThielenとReactOS developersより"
|
||||
END
|
||||
|
||||
IDM_WINEMINE MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP "ゲーム(&G)"
|
||||
BEGIN
|
||||
MENUITEM "新規ゲーム(&N)\tF2", IDM_NEW
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "?マーク(&M)", IDM_MARKQ
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "初心者(&B)", IDM_BEGINNER
|
||||
MENUITEM "中級者(&I)", IDM_ADVANCED
|
||||
MENUITEM "玄人(&E)", IDM_EXPERT
|
||||
MENUITEM "カスタム(&C)...", IDM_CUSTOM
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "ベストタイム(&B)...", IDM_TIMES
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "終了(&X)", IDM_EXIT
|
||||
END
|
||||
POPUP "ヘルプ(&H)"
|
||||
BEGIN
|
||||
MENUITEM "WineMineについて(&A)", IDM_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
IDD_TIMES DIALOGEX DISCARDABLE 0, 0, 200, 75
|
||||
STYLE DS_MODALFRAME | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_POPUP | DS_SHELLFONT
|
||||
CAPTION "最速タイム"
|
||||
FONT 9, "MS UI Gothic"
|
||||
BEGIN
|
||||
GROUPBOX "最速タイム", IDNONE, 10, 10, 182, 45
|
||||
LTEXT "初心者:", IDNONE, 20, 20, 58, 8
|
||||
LTEXT "中級者:", IDNONE, 20, 30, 58, 8
|
||||
LTEXT "玄人:", IDNONE, 20, 40, 58, 8
|
||||
LTEXT "", IDC_TIME1, 80, 20, 50, 8
|
||||
LTEXT "", IDC_TIME2, 80, 30, 50, 8
|
||||
LTEXT "", IDC_TIME3, 80, 40, 50, 8
|
||||
LTEXT "", IDC_NAME1, 132, 20, 55, 8
|
||||
LTEXT "", IDC_NAME2, 132, 30, 55, 8
|
||||
LTEXT "", IDC_NAME3, 132, 40, 55, 8
|
||||
DEFPUSHBUTTON "OK", IDOK, 127, 57, 50, 15
|
||||
PUSHBUTTON "スコアのリセット(&R)", IDRESET, 18, 57, 67, 15
|
||||
END
|
||||
|
||||
IDD_CONGRATS DIALOGEX DISCARDABLE 0, 0, 160, 60
|
||||
STYLE DS_MODALFRAME | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_POPUP | DS_SHELLFONT
|
||||
CAPTION "おめでとう!"
|
||||
FONT 9, "MS UI Gothic"
|
||||
BEGIN
|
||||
LTEXT "お名前を入力してください", IDIGNORE, 25, 10, 150, 10
|
||||
EDITTEXT IDC_EDITNAME, 25, 20, 110, 12
|
||||
DEFPUSHBUTTON "OK", IDOK, 60, 40, 40, 15
|
||||
END
|
||||
|
||||
IDD_CUSTOM DIALOGEX DISCARDABLE 0, 0, 139, 80
|
||||
STYLE DS_MODALFRAME | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_POPUP | DS_SHELLFONT
|
||||
CAPTION "カスタムゲーム"
|
||||
FONT 9, "MS UI Gothic"
|
||||
BEGIN
|
||||
LTEXT "高さ:", IDNONE, 5, 15, 43, 10
|
||||
LTEXT "幅:", IDNONE, 5, 35, 43, 10
|
||||
LTEXT "地雷の数:", IDNONE, 5, 55, 43, 10
|
||||
EDITTEXT IDC_EDITROWS, 49, 15, 30, 12, ES_NUMBER
|
||||
EDITTEXT IDC_EDITCOLS, 49, 35, 30, 12, ES_NUMBER
|
||||
EDITTEXT IDC_EDITMINES, 49, 55, 30, 12, ES_NUMBER
|
||||
DEFPUSHBUTTON "OK", IDOK, 86, 32, 45, 15
|
||||
PUSHBUTTON "キャンセル", IDCANCEL, 86, 52, 45, 15
|
||||
END
|
||||
@@ -27,6 +27,7 @@ IDB_MINES BITMAP MOVEABLE "rc/mines.bmp"
|
||||
#include "lang/fr-FR.rc"
|
||||
#include "lang/id-ID.rc"
|
||||
#include "lang/it-IT.rc"
|
||||
#include "lang/ja-JP.rc"
|
||||
#include "lang/ko-KR.rc"
|
||||
#include "lang/lt-LT.rc"
|
||||
#include "lang/no-NO.rc"
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
/* FILE: base/applications/mplay32/lang/cs-CZ.rc
|
||||
* TRANSLATOR: Radek Liska aka Black_Fox (radekliska at gmail dot com)
|
||||
* UPDATED: 2009-08-03
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_CZECH, SUBLANG_DEFAULT
|
||||
|
||||
IDR_MAINMENU MENU
|
||||
BEGIN
|
||||
POPUP "&Soubor"
|
||||
BEGIN
|
||||
MENUITEM "&Otevøít...", IDM_OPEN_FILE
|
||||
MENUITEM "&Zavøít", IDM_CLOSE_FILE
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Ukonèit", IDM_EXIT
|
||||
END
|
||||
POPUP "&Nápovìda"
|
||||
BEGIN
|
||||
MENUITEM "&O programu...", IDM_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_ALL_TYPES_FILTER "Všechny podporované (*.wav, *.cda, *.midi, *.mid, *.avi)\0*.wav;*.cda;*.midi;*.mid;*.avi\0"
|
||||
IDS_TOOLTIP_PLAY "Pøehrát"
|
||||
IDS_TOOLTIP_STOP "Zastavit"
|
||||
IDS_TOOLTIP_EJECT "Vysunout"
|
||||
IDS_TOOLTIP_BACKWARD "Pøeskoèit zpìt"
|
||||
IDS_TOOLTIP_SEEKBACK "Posunout zpìt"
|
||||
IDS_TOOLTIP_SEEKFORW "Posunout vpøed"
|
||||
IDS_TOOLTIP_FORWARD "Pøeskoèit vpøed"
|
||||
IDS_APPTITLE "ReactOS Pøehrávaè multimédií"
|
||||
END
|
||||
@@ -1,3 +1,11 @@
|
||||
/*
|
||||
* PROJECT: ReactOS MPlay32
|
||||
* LICENSE: GPL - See COPYING in the top level directory
|
||||
* FILE: base/applications/mplay32/lang/uk-UA.rc
|
||||
* PURPOSE: Ukraianian Language File for ReactOS MPlay32
|
||||
* TRANSLATOR: Sakara Yevhen
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
|
||||
|
||||
IDR_MAINMENU MENU
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#include "resource.h"
|
||||
|
||||
#include "lang/bg-BG.rc"
|
||||
#include "lang/cs-CZ.rc"
|
||||
#include "lang/de-DE.rc"
|
||||
#include "lang/en-US.rc"
|
||||
#include "lang/es-ES.rc"
|
||||
|
||||
@@ -1,3 +1,9 @@
|
||||
/* FILE: base/applications/msconfig/lang/cs-CZ.rc
|
||||
* TRANSLATOR: Radek Liska aka Black_Fox (radekliska at gmail dot com)
|
||||
* UPDATED: 2009-08-03
|
||||
* THANKS TO: Kamil Hornicek, who translated major part of this file
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_CZECH, SUBLANG_DEFAULT
|
||||
|
||||
IDD_MSCONFIG_DIALOG DIALOGEX DISCARDABLE 0, 0, 378, 220
|
||||
@@ -28,18 +34,18 @@ STYLE DS_SHELLFONT | DS_CONTROL | WS_CHILD | WS_CLIPCHILDREN
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "", 237, "SysTreeView32", TVS_HASBUTTONS | TVS_HASLINES | TVS_LINESATROOT | TVS_EDITLABELS | TVS_SHOWSELALWAYS | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP, 2, 1, 280, 148
|
||||
PUSHBUTTON "Move &Up", IDC_BTN_SYSTEM_UP, 290, 5, 66, 14
|
||||
PUSHBUTTON "Move &Down", IDC_BTN_SYSTEM_DOWN, 290, 25, 66, 14
|
||||
PUSHBUTTON "Na&horu", IDC_BTN_SYSTEM_UP, 290, 5, 66, 14
|
||||
PUSHBUTTON "&Dolù", IDC_BTN_SYSTEM_DOWN, 290, 25, 66, 14
|
||||
|
||||
PUSHBUTTON "&Enable", IDC_BTN_SYSTEM_ENABLE, 290, 50, 66, 14
|
||||
PUSHBUTTON "D&isable", IDC_BTN_SYSTEM_DISABLE, 290, 70, 66, 14
|
||||
PUSHBUTTON "Povoli&t", IDC_BTN_SYSTEM_ENABLE, 290, 50, 66, 14
|
||||
PUSHBUTTON "&Zakázat", IDC_BTN_SYSTEM_DISABLE, 290, 70, 66, 14
|
||||
|
||||
PUSHBUTTON "&Find", IDC_BTN_SYSTEM_FIND, 290, 95, 66, 14
|
||||
PUSHBUTTON "&New", IDC_BTN_SYSTEM_NEW, 290, 115, 66, 14
|
||||
PUSHBUTTON "Edi&t", IDC_BTN_SYSTEM_EDIT, 290, 135, 66, 14
|
||||
PUSHBUTTON "&Najít", IDC_BTN_SYSTEM_FIND, 290, 95, 66, 14
|
||||
PUSHBUTTON "No&vý", IDC_BTN_SYSTEM_NEW, 290, 115, 66, 14
|
||||
PUSHBUTTON "&Upravit", IDC_BTN_SYSTEM_EDIT, 290, 135, 66, 14
|
||||
|
||||
PUSHBUTTON "Ena&ble All", IDC_BTN_SYSTEM_ACTIVATE, 123, 155, 66, 14
|
||||
PUSHBUTTON "Disable A&ll",IDC_BTN_SYSTEM_DEACTIVATE, 195, 155, 66, 14
|
||||
PUSHBUTTON "&Povolit vše", IDC_BTN_SYSTEM_ACTIVATE, 123, 155, 66, 14
|
||||
PUSHBUTTON "Z&akázat vše",IDC_BTN_SYSTEM_DEACTIVATE, 195, 155, 66, 14
|
||||
END
|
||||
|
||||
IDD_TOOLS_PAGE DIALOGEX DISCARDABLE 0, 0, 362, 175
|
||||
|
||||
@@ -50,7 +50,7 @@ AddItemToTreeView(HWND hTreeView,
|
||||
return TreeView_InsertItem(hTreeView, &tvins);
|
||||
}
|
||||
|
||||
#if 0 // FIXME: What is this good for?
|
||||
#if 0
|
||||
static VOID
|
||||
AddServiceDependency(PSERVICEPROPSHEET dlgInfo,
|
||||
HWND hTreeView,
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
#include <winsock.h>
|
||||
#include <tchar.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <iphlpapi.h>
|
||||
#include "netstat.h"
|
||||
|
||||
|
||||
@@ -437,6 +437,14 @@ static BOOL DecodeResponse(PCHAR buffer, UINT size, PSOCKADDR_IN from)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (from->sin_addr.s_addr != Target.sin_addr.s_addr)
|
||||
{
|
||||
#ifndef NDEBUG
|
||||
printf("Bad source address (%s should be %s)\n", inet_ntoa(from->sin_addr), inet_ntoa(Target.sin_addr));
|
||||
#endif /* !NDEBUG */
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
QueryTime(&LargeTime);
|
||||
|
||||
RelativeTime.QuadPart = (LargeTime.QuadPart - Icmp->Timestamp.QuadPart);
|
||||
@@ -543,44 +551,40 @@ static BOOL Ping(VOID)
|
||||
Timeval.tv_sec = Timeout / 1000;
|
||||
Timeval.tv_usec = Timeout % 1000;
|
||||
|
||||
Status = select(0, &Fds, NULL, NULL, &Timeval);
|
||||
if ((Status != SOCKET_ERROR) && (Status != 0))
|
||||
{
|
||||
Length = sizeof(From);
|
||||
Status = recvfrom(IcmpSock, Buffer, Size, 0, &From, &Length);
|
||||
do {
|
||||
Status = select(0, &Fds, NULL, NULL, &Timeval);
|
||||
if ((Status != SOCKET_ERROR) && (Status != 0))
|
||||
{
|
||||
Length = sizeof(From);
|
||||
Status = recvfrom(IcmpSock, Buffer, Size, 0, &From, &Length);
|
||||
|
||||
#ifndef NDEBUG
|
||||
printf("Received packet\n");
|
||||
DisplayBuffer(Buffer, Status);
|
||||
printf("\n");
|
||||
printf("Received packet\n");
|
||||
DisplayBuffer(Buffer, Status);
|
||||
printf("\n");
|
||||
#endif /* !NDEBUG */
|
||||
}
|
||||
else
|
||||
LostCount++;
|
||||
if (Status == SOCKET_ERROR)
|
||||
{
|
||||
if (WSAGetLastError() != WSAETIMEDOUT)
|
||||
{
|
||||
printf("Could not receive data (%d).\n", WSAGetLastError());
|
||||
GlobalFree(Buffer);
|
||||
return FALSE;
|
||||
}
|
||||
Status = 0;
|
||||
}
|
||||
else
|
||||
LostCount++;
|
||||
if (Status == SOCKET_ERROR)
|
||||
{
|
||||
if (WSAGetLastError() != WSAETIMEDOUT)
|
||||
{
|
||||
printf("Could not receive data (%d).\n", WSAGetLastError());
|
||||
GlobalFree(Buffer);
|
||||
return FALSE;
|
||||
}
|
||||
Status = 0;
|
||||
}
|
||||
|
||||
if (Status == 0)
|
||||
{
|
||||
printf("Request timed out.\n");
|
||||
GlobalFree(Buffer);
|
||||
return TRUE;
|
||||
}
|
||||
if (Status == 0)
|
||||
{
|
||||
printf("Request timed out.\n");
|
||||
GlobalFree(Buffer);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
if (!DecodeResponse(Buffer, Status, (PSOCKADDR_IN)&From))
|
||||
{
|
||||
/* FIXME: Wait again as it could be another ICMP message type */
|
||||
printf("Request timed out (incomplete datagram received).\n");
|
||||
LostCount++;
|
||||
}
|
||||
} while (!DecodeResponse(Buffer, Status, (PSOCKADDR_IN)&From));
|
||||
|
||||
GlobalFree(Buffer);
|
||||
return TRUE;
|
||||
|
||||
@@ -74,7 +74,7 @@ BEGIN
|
||||
MENUITEM "Vybrat vš&e\tCtrl+A", CMD_SELECT_ALL
|
||||
MENUITEM "È&as/Datum\tF5", CMD_TIME_DATE
|
||||
END
|
||||
POPUP "F&ormat"
|
||||
POPUP "F&ormát"
|
||||
BEGIN
|
||||
MENUITEM "Zalo&mit dlouhé øádky", CMD_WRAP
|
||||
MENUITEM "&Písmo...", CMD_FONT
|
||||
@@ -155,7 +155,7 @@ BEGIN
|
||||
-1,"Static",SS_LEFTNOWORDWRAP | WS_GROUP,46,7,232,39
|
||||
CONTROL " ",
|
||||
-1,"Static",0x50000000,8,48,272,11
|
||||
DEFPUSHBUTTON "Close",IDOK,114,149,44,15,WS_GROUP
|
||||
DEFPUSHBUTTON "Zavøít",IDOK,114,149,44,15,WS_GROUP
|
||||
ICON IDI_NPICON,-1,12,9,20,30
|
||||
EDITTEXT IDC_LICENSE,8,64,272,81,ES_MULTILINE |
|
||||
ES_READONLY | WS_VSCROLL
|
||||
@@ -205,5 +205,5 @@ STRING_UTF8, "UTF-8"
|
||||
STRING_CRLF, "Windows"
|
||||
STRING_LF, "Unix"
|
||||
STRING_CR, "Mac"
|
||||
STRING_LINE_COLUMN, "Line %d, column %d"
|
||||
STRING_LINE_COLUMN, "Øádek %d, sloupec %d"
|
||||
END
|
||||
|
||||
@@ -81,12 +81,13 @@ void Poly(HDC hdc, POINT *lpPoints, int nCount, int fg, int bg, int thickness, i
|
||||
|
||||
void Bezier(HDC hdc, POINT p1, POINT p2, POINT p3, POINT p4, int color, int thickness)
|
||||
{
|
||||
HPEN oldPen;
|
||||
POINT fourPoints[4];
|
||||
fourPoints[0] = p1;
|
||||
fourPoints[1] = p2;
|
||||
fourPoints[2] = p3;
|
||||
fourPoints[3] = p4;
|
||||
HPEN oldPen = SelectObject(hdc, CreatePen(PS_SOLID, thickness, color));
|
||||
oldPen = SelectObject(hdc, CreatePen(PS_SOLID, thickness, color));
|
||||
PolyBezier(hdc, fourPoints, 4);
|
||||
DeleteObject(SelectObject(hdc, oldPen));
|
||||
}
|
||||
|
||||
@@ -0,0 +1,201 @@
|
||||
/*
|
||||
* US-English Language resource file
|
||||
* Translated by: first times touched from en-GB.rc file by Mario Kacmar
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_BULGARIAN, SUBLANG_DEFAULT
|
||||
|
||||
ID_MENU MENU
|
||||
BEGIN
|
||||
POPUP "&Ôàéë"
|
||||
BEGIN
|
||||
MENUITEM "&Íîâ\tCtrl+N", IDM_FILENEW
|
||||
MENUITEM "&Îòâàðÿíå...\tAlt+tCtrl+O", IDM_FILEOPEN
|
||||
MENUITEM "&Çàïèñ\tCtrl+S", IDM_FILESAVE
|
||||
MENUITEM "Çàïèñ &êàòî...", IDM_FILESAVEAS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Ïîñòàâÿíå êàòî òàïåò (íàñòåëåíî)", IDM_FILEASWALLPAPERPLANE
|
||||
MENUITEM "Ïîñòàâÿíå êàòî òàïåò (â ñðåäàòà)", IDM_FILEASWALLPAPERCENTERED
|
||||
MENUITEM "Ïîñòàâÿíå êàòî òàïåò (ðàçïúíàòî)", IDM_FILEASWALLPAPERSTRETCHED
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Èçõîä\tAlt+F4", IDM_FILEEXIT
|
||||
END
|
||||
|
||||
POPUP "&Îáðàáîòêà"
|
||||
BEGIN
|
||||
MENUITEM "Îòìÿíà\tCtrl+Z", IDM_EDITUNDO
|
||||
MENUITEM "Âðúùàíå\tCtrl+Y", IDM_EDITREDO
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Îòðÿçâàíå\tCtrl+X", IDM_EDITCUT
|
||||
MENUITEM "Çàïîìíÿíå\tCtrl+C", IDM_EDITCOPY
|
||||
MENUITEM "Ïîñòàâÿíå\tCtrl+V", IDM_EDITPASTE
|
||||
MENUITEM "Èçòðèâàíå íà èçáðàíîòî\tDel", IDM_EDITDELETESELECTION
|
||||
MENUITEM "Îáðúùàíå íà èçáîðà", IDM_EDITINVERTSELECTION
|
||||
MENUITEM "Èçáèðàíå íà âñè÷êî\tCtrl+A", IDM_EDITSELECTALL
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Çàïîìíÿíå â...", IDM_EDITCOPYTO
|
||||
MENUITEM "Ïîñòàâÿíå â...", IDM_EDITPASTEFROM
|
||||
END
|
||||
|
||||
POPUP "Èç&ãëåä"
|
||||
BEGIN
|
||||
MENUITEM "Êóòèÿ ñ ïðèíàäëåæíîñòè\tCtrl+T", IDM_VIEWTOOLBOX, CHECKED
|
||||
MENUITEM "Ïàëèòðà\tCtrl+L", IDM_VIEWCOLORPALETTE, CHECKED
|
||||
MENUITEM "Ëåíòà íà ñúñòîÿíèåòî", IDM_VIEWSTATUSBAR, CHECKED
|
||||
MENUITEM "Ëåíòà çà òåêñòîâè èíñòðóìåíòè", IDM_FORMATICONBAR, CHECKED, GRAYED
|
||||
MENUITEM SEPARATOR
|
||||
POPUP "Ïðèáëèæåíèå"
|
||||
BEGIN
|
||||
POPUP "Ïîòðåáèòåëñêî"
|
||||
BEGIN
|
||||
MENUITEM "12,5%", IDM_VIEWZOOM125
|
||||
MENUITEM "25%", IDM_VIEWZOOM25
|
||||
MENUITEM "50%", IDM_VIEWZOOM50
|
||||
MENUITEM "100%", IDM_VIEWZOOM100
|
||||
MENUITEM "200%", IDM_VIEWZOOM200
|
||||
MENUITEM "400%", IDM_VIEWZOOM400
|
||||
MENUITEM "800%", IDM_VIEWZOOM800
|
||||
END
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Ðåøåòêà\tCtrl+G", IDM_VIEWSHOWGRID
|
||||
MENUITEM "Èçîáðàæåíèéöà", IDM_VIEWSHOWMINIATURE
|
||||
END
|
||||
MENUITEM "Öÿë åêðàí", IDM_VIEWFULLSCREEN
|
||||
END
|
||||
|
||||
POPUP "Èç&îáðàæåíèå"
|
||||
BEGIN
|
||||
MENUITEM "Çàâúðòàíå/Îãëåäàëî\tCtrl+R", IDM_IMAGEROTATEMIRROR
|
||||
MENUITEM "Ïðåîðàçìåðÿâàíå\tCtrl+W", IDM_IMAGECHANGESIZE
|
||||
MENUITEM "Èçðÿçâàíå", IDM_IMAGECROP
|
||||
MENUITEM "Îáðúùàíå íà öâåòîâåòå\tCtrl+I", IDM_IMAGEINVERTCOLORS
|
||||
MENUITEM "Ïðèíàäëåæíîñòè\tCtrl+E", IDM_IMAGEATTRIBUTES
|
||||
MENUITEM "Èçòðèâàíå íà èçîáðàæåíèåòî\tCtrl+Shft+N", IDM_IMAGEDELETEIMAGE
|
||||
MENUITEM "Íåïðîçðà÷íî èç÷åðòàâàíå", IDM_IMAGEDRAWOPAQUE
|
||||
END
|
||||
|
||||
POPUP "&Öâåòîâå"
|
||||
BEGIN
|
||||
MENUITEM "Ïðîìÿíà íà ïàëèòðèòå...", IDM_COLORSEDITPALETTE
|
||||
END
|
||||
|
||||
POPUP "&?"
|
||||
BEGIN
|
||||
MENUITEM "Ïîìîù", IDM_HELPHELPTOPICS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Ñâåäåíèÿ", IDM_HELPINFO
|
||||
END
|
||||
END
|
||||
|
||||
ID_ACCELERATORS ACCELERATORS
|
||||
BEGIN
|
||||
"^N", IDM_FILENEW
|
||||
"^O", IDM_FILEOPEN
|
||||
"^S", IDM_FILESAVE
|
||||
"^Z", IDM_EDITUNDO
|
||||
"^Y", IDM_EDITREDO
|
||||
"^X", IDM_EDITCUT
|
||||
"^C", IDM_EDITCOPY
|
||||
"^V", IDM_EDITPASTE
|
||||
VK_DELETE, IDM_EDITDELETESELECTION, VIRTKEY
|
||||
"^A", IDM_EDITSELECTALL
|
||||
"^T", IDM_VIEWTOOLBOX
|
||||
"^L", IDM_VIEWCOLORPALETTE
|
||||
"^G", IDM_VIEWSHOWGRID
|
||||
"^F", IDM_VIEWFULLSCREEN
|
||||
"^R", IDM_IMAGEROTATEMIRROR
|
||||
"^W", IDM_IMAGECHANGESIZE
|
||||
"^I", IDM_IMAGEINVERTCOLORS
|
||||
"^E", IDM_IMAGEATTRIBUTES
|
||||
"N", IDM_IMAGEDELETEIMAGE, CONTROL, SHIFT, VIRTKEY
|
||||
END
|
||||
|
||||
IDD_MIRRORROTATE DIALOGEX 100, 100, 180, 100
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
FONT 8, "MS Shell Dlg"
|
||||
CAPTION "Çàâúðòàíå è îãëåäàëî íà èçîáðàæåíèåòî"
|
||||
BEGIN
|
||||
GROUPBOX "Çàâúðòàíå èëè îãëåäàëî", IDD_MIRRORROTATEGROUP, 6, 6, 112, 86
|
||||
AUTORADIOBUTTON "Âîäîðàâíî îãëåäàëî", IDD_MIRRORROTATERB1, 12, 18, 100, 10, WS_GROUP
|
||||
AUTORADIOBUTTON "Îòâåñíî îãëåäàëî", IDD_MIRRORROTATERB2, 12, 30, 100, 10
|
||||
AUTORADIOBUTTON "Çàâúðòàíå íà úãúë", IDD_MIRRORROTATERB3, 12, 42, 100, 10
|
||||
AUTORADIOBUTTON "90°", IDD_MIRRORROTATERB4, 42, 54, 50, 10, WS_GROUP | WS_DISABLED
|
||||
AUTORADIOBUTTON "180°", IDD_MIRRORROTATERB5, 42, 66, 50, 10, WS_DISABLED
|
||||
AUTORADIOBUTTON "270°", IDD_MIRRORROTATERB6, 42, 78, 50, 10, WS_DISABLED
|
||||
DEFPUSHBUTTON "Äîáðå", IDOK, 125, 8, 48, 14
|
||||
PUSHBUTTON "Îòêàç", IDCANCEL, 125, 24, 48, 14
|
||||
END
|
||||
|
||||
IDD_ATTRIBUTES DIALOGEX 100, 100, 220, 120
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
FONT 8, "MS Shell Dlg"
|
||||
CAPTION "Ïðèíàäëåæíîñòè"
|
||||
BEGIN
|
||||
EDITTEXT IDD_ATTRIBUTESEDIT1, 40, 40, 35, 12
|
||||
EDITTEXT IDD_ATTRIBUTESEDIT2, 116, 40, 35, 12
|
||||
LTEXT "Øèðèíà:", IDD_ATTRIBUTESTEXT1, 10, 40, 30, 10
|
||||
LTEXT "Âèñî÷èíà:", IDD_ATTRIBUTESTEXT2, 80, 40, 36, 10
|
||||
LTEXT "Äàòà íà ôàéëà:", IDD_ATTRIBUTESTEXT3, 10, 5, 60, 10
|
||||
LTEXT "Ôàéëîâ ðàçìåð:", IDD_ATTRIBUTESTEXT4, 10, 15, 60, 10
|
||||
LTEXT "Ðàçäåëèòåëíà:", IDD_ATTRIBUTESTEXT5, 10, 25, 60, 10
|
||||
LTEXT "Íåíàëè÷íî", IDD_ATTRIBUTESTEXT6, 70, 5, 60, 10
|
||||
LTEXT "Íåíàëè÷íî", IDD_ATTRIBUTESTEXT7, 70, 15, 60, 10
|
||||
LTEXT "Íåíàëè÷íî", IDD_ATTRIBUTESTEXT8, 70, 25, 60, 10
|
||||
GROUPBOX "Åäèíèöè", IDD_ATTRIBUTESGROUP1, 6, 57, 139, 27
|
||||
AUTORADIOBUTTON "Öîëîâå", IDD_ATTRIBUTESRB1, 12, 69, 40, 10, WS_GROUP
|
||||
AUTORADIOBUTTON "ñì", IDD_ATTRIBUTESRB2, 52, 69, 35, 10
|
||||
AUTORADIOBUTTON "Òî÷êè", IDD_ATTRIBUTESRB3, 92, 69, 35, 10
|
||||
GROUPBOX "Öâåòîâå", IDD_ATTRIBUTESGROUP2, 6, 88, 139, 27
|
||||
AUTORADIOBUTTON "×åðíî- áÿëî", IDD_ATTRIBUTESRB4, 12, 100, 70, 10, WS_GROUP
|
||||
AUTORADIOBUTTON "Öâåòîâå", IDD_ATTRIBUTESRB5, 92, 100, 50, 10
|
||||
DEFPUSHBUTTON "Äîáðå", IDOK, 155, 8, 55, 14
|
||||
PUSHBUTTON "Îòêàç", IDCANCEL, 155, 24, 55, 14
|
||||
PUSHBUTTON "Ïîäðàçáèðàíî", IDD_ATTRIBUTESSTANDARD, 155, 40, 55, 14
|
||||
END
|
||||
|
||||
IDD_CHANGESIZE DIALOGEX 100, 100, 210, 80
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
FONT 8, "MS Shell Dlg"
|
||||
CAPTION "Ïðîìÿíà íà ðàçìåðà"
|
||||
BEGIN
|
||||
GROUPBOX "Ïðîìÿíà íà ðàçìåðà", IDD_CHANGESIZEGROUP, 6, 6, 142, 66
|
||||
ICON IDI_HORZSTRETCH, IDD_CHANGESIZEICON1, 12, 18, 32, 32
|
||||
LTEXT "Âîäîðàâíî:", IDD_CHANGESIZETEXT1, 45, 24, 40, 10
|
||||
EDITTEXT IDD_CHANGESIZEEDIT1, 90, 23, 32, 12
|
||||
LTEXT "%", IDD_CHANGESIZETEXT2, 125, 24, 15, 10
|
||||
ICON IDI_VERTSTRETCH, IDD_CHANGESIZEICON2, 12, 43, 32, 32
|
||||
LTEXT "Îòâåñíî:", IDD_CHANGESIZETEXT3, 45, 49, 40, 10
|
||||
EDITTEXT IDD_CHANGESIZEEDIT2, 90, 48, 32, 12
|
||||
LTEXT "%", IDD_CHANGESIZETEXT4, 125, 49, 15, 10
|
||||
DEFPUSHBUTTON "Äîáðå", IDOK, 155, 8, 48, 14
|
||||
PUSHBUTTON "Îòêàç", IDCANCEL, 155, 24, 48, 14
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_PROGRAMNAME, "Ðèñóâàíå"
|
||||
IDS_WINDOWTITLE, "%s - ðèñóâàíå"
|
||||
IDS_INFOTITLE, "Ðèñóíúê (Paint) çà ÐåàêòÎÑ"
|
||||
IDS_INFOTEXT, "Ðèñóíúê (Paint) çà ÐåàêòÎÑ å äîñòúïåí ïîä GNU Lesser General Public License (LGPL) âåðñèÿ 3 (see www.gnu.org)"
|
||||
IDS_SAVEPROMPTTEXT, "Èñêàòå ëè äà çàïèøåòå ïðîìåíèòå â %s?"
|
||||
IDS_DEFAULTFILENAME, "Áåç èìå.bmp"
|
||||
IDS_MINIATURETITLE, "Èçîáðàæåíèéöå"
|
||||
IDS_TOOLTIP1, "Ñâîáîäíî èçáèðàíå"
|
||||
IDS_TOOLTIP2, "Èçáîð"
|
||||
IDS_TOOLTIP3, "Ãóìè÷êà"
|
||||
IDS_TOOLTIP4, "Çàïúëâàíå ñ öâÿò"
|
||||
IDS_TOOLTIP5, "Èçáîð íà öâÿò"
|
||||
IDS_TOOLTIP6, "Ïðèáëèæåíèå"
|
||||
IDS_TOOLTIP7, "Ìîëèâ"
|
||||
IDS_TOOLTIP8, "×åòêà"
|
||||
IDS_TOOLTIP9, "Ïðúñêàëêà"
|
||||
IDS_TOOLTIP10, "Òåêñò"
|
||||
IDS_TOOLTIP11, "×åðòà"
|
||||
IDS_TOOLTIP12, "Êðèâà íà Áåçèå"
|
||||
IDS_TOOLTIP13, "Ïðàâîúãúëíèê"
|
||||
IDS_TOOLTIP14, "Ìíîãîúãúëíèê"
|
||||
IDS_TOOLTIP15, "Åëèïñà"
|
||||
IDS_TOOLTIP16, "Çàîáëåí ïðàâîúãúëíèê"
|
||||
IDS_OPENFILTER, "Ôàéëîâå bitmap (*.bmp;*.dib)\1*.bmp;*.dib\1Âñè÷êè ôàéëîâå (*.*)\1*.*\1"
|
||||
IDS_SAVEFILTER, "24 ðàçðÿäíè ôàéëîâå bitmap (*.bmp;*.dib)\1*.bmp;*.dib\1"
|
||||
END
|
||||
@@ -0,0 +1,201 @@
|
||||
/*
|
||||
* Japanese Language resource file
|
||||
* Translated by: pcds90net, Tomoya Kitagawa
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT
|
||||
|
||||
ID_MENU MENU
|
||||
BEGIN
|
||||
POPUP "ファイル(&F)"
|
||||
BEGIN
|
||||
MENUITEM "新規(&N)\tCtrl+N", IDM_FILENEW
|
||||
MENUITEM "開く(&O)\tCtrl+O", IDM_FILEOPEN
|
||||
MENUITEM "上書き保存(&S)\tCtrl+S", IDM_FILESAVE
|
||||
MENUITEM "名前を付けて保存(&A)...", IDM_FILESAVEAS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "背景に設定 (並べて表\示)", IDM_FILEASWALLPAPERPLANE
|
||||
MENUITEM "背景に設定 (中央に表\示)", IDM_FILEASWALLPAPERCENTERED
|
||||
MENUITEM "背景に設定 (拡大)", IDM_FILEASWALLPAPERSTRETCHED
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "ペイントの終了(&Q)\tAlt+F4", IDM_FILEEXIT
|
||||
END
|
||||
|
||||
POPUP "編集(&E)"
|
||||
BEGIN
|
||||
MENUITEM "元に戻す\tCtrl+Z", IDM_EDITUNDO
|
||||
MENUITEM "やり直し\tCtrl+Y", IDM_EDITREDO
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "切り取り\tCtrl+X", IDM_EDITCUT
|
||||
MENUITEM "コピー\tCtrl+C", IDM_EDITCOPY
|
||||
MENUITEM "貼\り付け\tCtrl+V", IDM_EDITPASTE
|
||||
MENUITEM "選択範囲の削除\tDel", IDM_EDITDELETESELECTION
|
||||
MENUITEM "選択範囲の挿入", IDM_EDITINVERTSELECTION
|
||||
MENUITEM "すべて選択\tCtrl+A", IDM_EDITSELECTALL
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "ファイルへコピー", IDM_EDITCOPYTO
|
||||
MENUITEM "ファイルから貼\り付け", IDM_EDITPASTEFROM
|
||||
END
|
||||
|
||||
POPUP "表\示(&V)"
|
||||
BEGIN
|
||||
MENUITEM "ツール ボックス\tCtrl+T", IDM_VIEWTOOLBOX, CHECKED
|
||||
MENUITEM "カラー パレット\tCtrl+L", IDM_VIEWCOLORPALETTE, CHECKED
|
||||
MENUITEM "ステータス バー", IDM_VIEWSTATUSBAR, CHECKED
|
||||
MENUITEM "テキスト ツール バー", IDM_FORMATICONBAR, CHECKED, GRAYED
|
||||
MENUITEM SEPARATOR
|
||||
POPUP "拡大"
|
||||
BEGIN
|
||||
POPUP "ユーザー定義"
|
||||
BEGIN
|
||||
MENUITEM "12,5%", IDM_VIEWZOOM125
|
||||
MENUITEM "25%", IDM_VIEWZOOM25
|
||||
MENUITEM "50%", IDM_VIEWZOOM50
|
||||
MENUITEM "100%", IDM_VIEWZOOM100
|
||||
MENUITEM "200%", IDM_VIEWZOOM200
|
||||
MENUITEM "400%", IDM_VIEWZOOM400
|
||||
MENUITEM "800%", IDM_VIEWZOOM800
|
||||
END
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "グリッドを表\示\tCtrl+G", IDM_VIEWSHOWGRID
|
||||
MENUITEM "実寸表\示", IDM_VIEWSHOWMINIATURE
|
||||
END
|
||||
MENUITEM "全画面表\示\tCtrl+F", IDM_VIEWFULLSCREEN
|
||||
END
|
||||
|
||||
POPUP "画像(&I)"
|
||||
BEGIN
|
||||
MENUITEM "回転と反転\tCtrl+R", IDM_IMAGEROTATEMIRROR
|
||||
MENUITEM "サイズの変更\tCtrl+W", IDM_IMAGECHANGESIZE
|
||||
MENUITEM "切り取り", IDM_IMAGECROP
|
||||
MENUITEM "色の反転\tCtrl+I", IDM_IMAGEINVERTCOLORS
|
||||
MENUITEM "画像の属性\tCtrl+E", IDM_IMAGEATTRIBUTES
|
||||
MENUITEM "画像の削除\tCtrl+Shft+N", IDM_IMAGEDELETEIMAGE
|
||||
MENUITEM "不透明色を描画する", IDM_IMAGEDRAWOPAQUE
|
||||
END
|
||||
|
||||
POPUP "色(&C)"
|
||||
BEGIN
|
||||
MENUITEM "パレットの編集", IDM_COLORSEDITPALETTE
|
||||
END
|
||||
|
||||
POPUP "&?"
|
||||
BEGIN
|
||||
MENUITEM "ヘルプ トピック", IDM_HELPHELPTOPICS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "情報", IDM_HELPINFO
|
||||
END
|
||||
END
|
||||
|
||||
ID_ACCELERATORS ACCELERATORS
|
||||
BEGIN
|
||||
"^N", IDM_FILENEW
|
||||
"^O", IDM_FILEOPEN
|
||||
"^S", IDM_FILESAVE
|
||||
"^Z", IDM_EDITUNDO
|
||||
"^Y", IDM_EDITREDO
|
||||
"^X", IDM_EDITCUT
|
||||
"^C", IDM_EDITCOPY
|
||||
"^V", IDM_EDITPASTE
|
||||
VK_DELETE, IDM_EDITDELETESELECTION, VIRTKEY
|
||||
"^A", IDM_EDITSELECTALL
|
||||
"^T", IDM_VIEWTOOLBOX
|
||||
"^L", IDM_VIEWCOLORPALETTE
|
||||
"^G", IDM_VIEWSHOWGRID
|
||||
"^F", IDM_VIEWFULLSCREEN
|
||||
"^R", IDM_IMAGEROTATEMIRROR
|
||||
"^W", IDM_IMAGECHANGESIZE
|
||||
"^I", IDM_IMAGEINVERTCOLORS
|
||||
"^E", IDM_IMAGEATTRIBUTES
|
||||
"N", IDM_IMAGEDELETEIMAGE, CONTROL, SHIFT, VIRTKEY
|
||||
END
|
||||
|
||||
IDD_MIRRORROTATE DIALOGEX 100, 100, 180, 100
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
FONT 9, "MS UI Gothic"
|
||||
CAPTION "回転と反転"
|
||||
BEGIN
|
||||
GROUPBOX "回転と反転", IDD_MIRRORROTATEGROUP, 6, 6, 112, 86
|
||||
AUTORADIOBUTTON "水平方向に反転", IDD_MIRRORROTATERB1, 12, 18, 100, 10, WS_GROUP
|
||||
AUTORADIOBUTTON "垂直方向に反転", IDD_MIRRORROTATERB2, 12, 30, 100, 10
|
||||
AUTORADIOBUTTON "角度を指定", IDD_MIRRORROTATERB3, 12, 42, 100, 10
|
||||
AUTORADIOBUTTON "90°", IDD_MIRRORROTATERB4, 42, 54, 50, 10, WS_GROUP | WS_DISABLED
|
||||
AUTORADIOBUTTON "180°", IDD_MIRRORROTATERB5, 42, 66, 50, 10, WS_DISABLED
|
||||
AUTORADIOBUTTON "270°", IDD_MIRRORROTATERB6, 42, 78, 50, 10, WS_DISABLED
|
||||
DEFPUSHBUTTON "OK", IDOK, 125, 8, 48, 14
|
||||
PUSHBUTTON "キャンセル", IDCANCEL, 125, 24, 48, 14
|
||||
END
|
||||
|
||||
IDD_ATTRIBUTES DIALOGEX 100, 100, 210, 120
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
FONT 9, "MS UI Gothic"
|
||||
CAPTION "画像の属性"
|
||||
BEGIN
|
||||
EDITTEXT IDD_ATTRIBUTESEDIT1, 40, 40, 35, 12
|
||||
EDITTEXT IDD_ATTRIBUTESEDIT2, 110, 40, 35, 12
|
||||
LTEXT "幅:", IDD_ATTRIBUTESTEXT1, 10, 40, 30, 10
|
||||
LTEXT "高さ:", IDD_ATTRIBUTESTEXT2, 80, 40, 30, 10
|
||||
LTEXT "ファイルの日付:", IDD_ATTRIBUTESTEXT3, 10, 5, 60, 10
|
||||
LTEXT "ファイルのサイズ:", IDD_ATTRIBUTESTEXT4, 10, 15, 60, 10
|
||||
LTEXT "解像度:", IDD_ATTRIBUTESTEXT5, 10, 25, 60, 10
|
||||
LTEXT "利用不可能\", IDD_ATTRIBUTESTEXT6, 70, 5, 60, 10
|
||||
LTEXT "利用不可能\", IDD_ATTRIBUTESTEXT7, 70, 15, 60, 10
|
||||
LTEXT "利用不可能\", IDD_ATTRIBUTESTEXT8, 70, 25, 60, 10
|
||||
GROUPBOX "単位", IDD_ATTRIBUTESGROUP1, 6, 57, 139, 27
|
||||
AUTORADIOBUTTON "インチ", IDD_ATTRIBUTESRB1, 12, 69, 35, 10, WS_GROUP
|
||||
AUTORADIOBUTTON "cm", IDD_ATTRIBUTESRB2, 52, 69, 35, 10
|
||||
AUTORADIOBUTTON "ピクセル", IDD_ATTRIBUTESRB3, 92, 69, 35, 10
|
||||
GROUPBOX "色", IDD_ATTRIBUTESGROUP2, 6, 88, 139, 27
|
||||
AUTORADIOBUTTON "白黒", IDD_ATTRIBUTESRB4, 12, 100, 70, 10, WS_GROUP
|
||||
AUTORADIOBUTTON "カラー", IDD_ATTRIBUTESRB5, 92, 100, 35, 10
|
||||
DEFPUSHBUTTON "OK", IDOK, 155, 8, 48, 14
|
||||
PUSHBUTTON "キャンセル", IDCANCEL, 155, 24, 48, 14
|
||||
PUSHBUTTON "デフォルト", IDD_ATTRIBUTESSTANDARD, 155, 40, 48, 14
|
||||
END
|
||||
|
||||
IDD_CHANGESIZE DIALOGEX 100, 100, 210, 80
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
FONT 9, "MS UI Gothic"
|
||||
CAPTION "サイズの変更"
|
||||
BEGIN
|
||||
GROUPBOX "サイズの変更", IDD_CHANGESIZEGROUP, 6, 6, 142, 66
|
||||
ICON IDI_HORZSTRETCH, IDD_CHANGESIZEICON1, 12, 18, 32, 32
|
||||
LTEXT "水平方向:", IDD_CHANGESIZETEXT1, 45, 24, 40, 10
|
||||
EDITTEXT IDD_CHANGESIZEEDIT1, 90, 23, 32, 12
|
||||
LTEXT "%", IDD_CHANGESIZETEXT2, 125, 24, 15, 10
|
||||
ICON IDI_VERTSTRETCH, IDD_CHANGESIZEICON2, 12, 43, 32, 32
|
||||
LTEXT "垂直方向:", IDD_CHANGESIZETEXT3, 45, 49, 40, 10
|
||||
EDITTEXT IDD_CHANGESIZEEDIT2, 90, 48, 32, 12
|
||||
LTEXT "%", IDD_CHANGESIZETEXT4, 125, 49, 15, 10
|
||||
DEFPUSHBUTTON "OK", IDOK, 155, 8, 48, 14
|
||||
PUSHBUTTON "キャンセル", IDCANCEL, 155, 24, 48, 14
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_PROGRAMNAME, "ペイント"
|
||||
IDS_WINDOWTITLE, "%s - ペイント"
|
||||
IDS_INFOTITLE, "ReactOS ペイント"
|
||||
IDS_INFOTEXT, "ReactOS ペイントは GNU Lesser General Public License (LGPL) version 3 (詳細は www.gnu.org)の下で利用可能\です。"
|
||||
IDS_SAVEPROMPTTEXT, "%s の変更内容を保存しますか?"
|
||||
IDS_DEFAULTFILENAME, "無題.bmp"
|
||||
IDS_MINIATURETITLE, "縮小図"
|
||||
IDS_TOOLTIP1, "自由選択"
|
||||
IDS_TOOLTIP2, "選択"
|
||||
IDS_TOOLTIP3, "消しゴム"
|
||||
IDS_TOOLTIP4, "塗りつぶし"
|
||||
IDS_TOOLTIP5, "色の選択"
|
||||
IDS_TOOLTIP6, "拡大と縮小"
|
||||
IDS_TOOLTIP7, "鉛筆"
|
||||
IDS_TOOLTIP8, "ブラシ"
|
||||
IDS_TOOLTIP9, "エアブラシ"
|
||||
IDS_TOOLTIP10, "テキスト"
|
||||
IDS_TOOLTIP11, "直線"
|
||||
IDS_TOOLTIP12, "曲線"
|
||||
IDS_TOOLTIP13, "四角形"
|
||||
IDS_TOOLTIP14, "多角形"
|
||||
IDS_TOOLTIP15, "楕円"
|
||||
IDS_TOOLTIP16, "角丸四角形"
|
||||
IDS_OPENFILTER, "ビットマップ ファイル (*.bmp;*.dib)\1*.bmp;*.dib\1すべてのファイル (*.*)\1*.*\1"
|
||||
IDS_SAVEFILTER, "24 ビット ビットマップ (*.bmp;*.dib)\1*.bmp;*.dib\1"
|
||||
END
|
||||
@@ -1,5 +1,8 @@
|
||||
/*
|
||||
* translated by Caemyr - Olaf Siejka (May,2009)
|
||||
* Use ReactOS forum PM or IRC to contact me
|
||||
* http://www.reactos.org
|
||||
* IRC: irc.freenode.net #reactos-pl;
|
||||
*/
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
/*
|
||||
* Ukrainian Language resource file
|
||||
* Translated by: Artem Reznikov
|
||||
* Last changed: 29-04-2009
|
||||
* PROJECT: Paint for ReactOS
|
||||
* LICENSE: GPL - See COPYING in the top level directory
|
||||
* FILE: base/applications/devmgmt/lang/uk-UA.rc
|
||||
* PURPOSE: Ukraianian Language File for Paint
|
||||
* TRANSLATOR: Artem Reznikov, Sakara Yevhen
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
|
||||
@@ -47,7 +49,7 @@ BEGIN
|
||||
MENUITEM SEPARATOR
|
||||
POPUP "Ìàñøòàá"
|
||||
BEGIN
|
||||
POPUP "User defined"
|
||||
POPUP "Êîðèñòóâàëüíèöüêèé"
|
||||
BEGIN
|
||||
MENUITEM "12,5%", IDM_VIEWZOOM125
|
||||
MENUITEM "25%", IDM_VIEWZOOM25
|
||||
@@ -58,8 +60,8 @@ BEGIN
|
||||
MENUITEM "800%", IDM_VIEWZOOM800
|
||||
END
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Show grid", IDM_VIEWSHOWGRID
|
||||
MENUITEM "Show miniature", IDM_VIEWSHOWMINIATURE
|
||||
MENUITEM "Ïîêàçàòè ñ³òêó", IDM_VIEWSHOWGRID
|
||||
MENUITEM "Ïîêàçàòè â ì³í³àòþð³", IDM_VIEWSHOWMINIATURE
|
||||
END
|
||||
MENUITEM "Íà âåñü åêðàí\tCtrl+F", IDM_VIEWFULLSCREEN
|
||||
END
|
||||
@@ -176,10 +178,10 @@ BEGIN
|
||||
IDS_PROGRAMNAME, "Paint"
|
||||
IDS_WINDOWTITLE, "%s - Paint"
|
||||
IDS_INFOTITLE, "Paint äëÿ ReactOS"
|
||||
IDS_INFOTEXT, "Paint for ReactOS is available under the GNU Lesser General Public License (LGPL) version 3 (see www.gnu.org)"
|
||||
IDS_INFOTEXT, "Paint äëÿ ReactOS äîñòóïíèé çã³äíî ç GNU Lesser General Public License (LGPL) âåðñ³¿ 3 (äèâ³òüñÿ www.gnu.org)"
|
||||
IDS_SAVEPROMPTTEXT, "Çáåðåãòè çì³íè äî %s?"
|
||||
IDS_DEFAULTFILENAME, "Áåç_³ìåí³.bmp"
|
||||
IDS_MINIATURETITLE, "Miniature"
|
||||
IDS_MINIATURETITLE, "̳í³àòþðà"
|
||||
IDS_TOOLTIP1, "Âèä³ëåííÿ äîâ³ëüíî¿ îáëàñò³"
|
||||
IDS_TOOLTIP2, "Âèä³ëåííÿ"
|
||||
IDS_TOOLTIP3, "Ëàñòèê"
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
#include "lang/es-ES.rc"
|
||||
#include "lang/fr-FR.rc"
|
||||
#include "lang/it-IT.rc"
|
||||
#include "lang/ja-JP.rc"
|
||||
#include "lang/nl-NL.rc"
|
||||
#include "lang/no-NO.rc"
|
||||
#include "lang/pl-PL.rc"
|
||||
@@ -30,6 +31,7 @@
|
||||
#include "lang/ro-RO.rc"
|
||||
#include "lang/sk-SK.rc"
|
||||
// cp 1251 languages
|
||||
#include "lang/bg-BG.rc"
|
||||
#include "lang/ru-RU.rc"
|
||||
#include "lang/uk-UA.rc"
|
||||
|
||||
|
||||
@@ -313,8 +313,9 @@ LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM
|
||||
if (hwnd==hwndMiniature)
|
||||
{
|
||||
long mclient[4];
|
||||
HDC hdc;
|
||||
GetClientRect(hwndMiniature, (LPRECT)&mclient);
|
||||
HDC hdc = GetDC(hwndMiniature);
|
||||
hdc = GetDC(hwndMiniature);
|
||||
BitBlt(hdc, -min(imgXRes*GetScrollPos(hScrollbox, SB_HORZ)/10000, imgXRes-mclient[2]),
|
||||
-min(imgYRes*GetScrollPos(hScrollbox, SB_VERT)/10000, imgYRes-mclient[3]), imgXRes, imgYRes, hDrawingDC, 0, 0, SRCCOPY);
|
||||
ReleaseDC(hwndMiniature, hdc);
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
c:\cabman.exe -M raw -S rappmgr.cab \rapps\*.txt
|
||||
@@ -0,0 +1,54 @@
|
||||
ADDING DOWNLOADABLE PROGRAMMS
|
||||
|
||||
For an each programm would be creacted an INI alike syntax.
|
||||
Also an each field is language inhdepended and individual, an URL's to a source programm is
|
||||
also maybe different or even nonexisting for anothers languages.
|
||||
For instance a programm 1C which is mostly interested only for russian users and have no
|
||||
reason for peoples living in another countries.
|
||||
|
||||
The File Overview:
|
||||
|
||||
[Section]
|
||||
Name = program name
|
||||
RegName = Name in registry
|
||||
Version = 1.1.1
|
||||
Licence = GPL
|
||||
Description = Description
|
||||
Size = 10 mb
|
||||
Category = 5
|
||||
URLSite = http://www.site.com/
|
||||
URLDownload = http://ftp.site.com/pub/installer.exe
|
||||
CDPath = ; Ïîêà íå èñïîëüçóåòñÿ
|
||||
|
||||
[Section.0419] ; 0419 - for Russian language
|
||||
Description = Description in Russian language
|
||||
|
||||
|
||||
Obligatory fields are: Name, Category, URLDownload
|
||||
Other fields to fill not necessarily.
|
||||
|
||||
Categories list:
|
||||
1 - Audio
|
||||
2 - Video
|
||||
3 - Graphics
|
||||
4 - Games
|
||||
5 - Internet
|
||||
6 - Office
|
||||
7 - Development
|
||||
8 - Edutainment
|
||||
9 - Engineering
|
||||
10 - Finance
|
||||
11 - Science
|
||||
12 - Tools
|
||||
13 - Drivers
|
||||
14 - Libraries
|
||||
15 - Other
|
||||
|
||||
The list downloadable programms is keeping on a server and updating from a server
|
||||
automatically at first time thes programm is running!
|
||||
For generating a list of a programm (usually a CAB archive), could be used a batch file CreateCabFile.bat
|
||||
After downloading (at first time the programm runs around), this file is placing
|
||||
in the same folder where downloaded programm located to future usage them.
|
||||
If in some cases an unpacked file is moved, deleted or not exist, then the procedure
|
||||
to create a new one would be repeated.
|
||||
If the CAB file is moved, deleted or not exist, then it would be downloaded again.
|
||||
@@ -0,0 +1,54 @@
|
||||
ДОБАВЛЕНИЕ ЗАГРУЖАЕМЫХ ПРОГРАММ
|
||||
|
||||
Для каждой программы создается отдельный текстовый файл с ini-подобным синтаксисом.
|
||||
Каждое поле для любого языка может быть индивидуально. Например, для русского языка
|
||||
ссылка на дистрибутив программы может быть одна, для английского - вторая, а для
|
||||
китайского - третья. Можно добавлять программы только для какого-либо одного языка.
|
||||
Например, 1C может быть интересна только русским, и добавлять ее для каждого языка не
|
||||
имеет смысла.
|
||||
|
||||
Общий вид файла программы:
|
||||
|
||||
[Section] ; Секция для английского языка
|
||||
Name = Имя программы ; Текстовое поле
|
||||
RegName = Имя в реестре ; Имя, которое отображается в списке программ после установки
|
||||
Version = 1.1.1 ; Текстовое поле с версией
|
||||
Licence = Название лицензии ; Текстовое поле
|
||||
Description = Описание программы ; Тектсовое поле
|
||||
Size = Размер программы ; Текстовое поле
|
||||
Category = 5 ; Цифровое поле с категорией
|
||||
URLSite = http://www.site.com/ ; Текстовое поле. Ссылка на сайт программы
|
||||
URLDownload = http://ftp.site.com/pub/installer.exe ; Текстовое поле. Ссылка для скачивания
|
||||
CDPath = ; Пока не используется
|
||||
|
||||
[Section.0419] ; Секция для русского языка
|
||||
Description = Описание на русском языке
|
||||
|
||||
|
||||
Обязательными полями являются: Name, Category, URLDownload
|
||||
Остальные поля заполнять не обязательно.
|
||||
|
||||
Список доступных категорий:
|
||||
1 - Audio
|
||||
2 - Video
|
||||
3 - Graphics
|
||||
4 - Games
|
||||
5 - Internet
|
||||
6 - Office
|
||||
7 - Development
|
||||
8 - Edutainment
|
||||
9 - Engineering
|
||||
10 - Finance
|
||||
11 - Science
|
||||
12 - Tools
|
||||
13 - Drivers
|
||||
14 - Libraries
|
||||
15 - Other
|
||||
|
||||
Список программ хранится на сервере и скачивается при первом включении автоматически!
|
||||
Для генерации файла списка программ (обычного CAB-архива), хранящегося на сервере можно
|
||||
воспользоваться скриптом CreateCabFile.bat. После скачивания (при первом включении) этот
|
||||
файл останется в одной папке с программой, но будет распакован и в дальнейшем будет
|
||||
использоваться распакованный вариант. Если распакованный вариант по каким-либо причинам
|
||||
будет удален - распаковка будет повторена. Если будет удален CAB-файл, то он будет скачан
|
||||
снова.
|
||||
@@ -0,0 +1,40 @@
|
||||
/*
|
||||
* PROJECT: ReactOS Applications Manager
|
||||
* LICENSE: GPL - See COPYING in the top level directory
|
||||
* FILE: base/applications/rapps/aboutdlg.c
|
||||
* PURPOSE: About Dialog
|
||||
* PROGRAMMERS: Dmitry Chapyshev ([email protected])
|
||||
*/
|
||||
|
||||
#include "rapps.h"
|
||||
|
||||
|
||||
static
|
||||
INT_PTR CALLBACK
|
||||
AboutDlgProc(HWND hDlg, UINT Msg, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
switch (Msg)
|
||||
{
|
||||
case WM_COMMAND:
|
||||
{
|
||||
switch (LOWORD(wParam))
|
||||
{
|
||||
case IDOK:
|
||||
EndDialog(hDlg, LOWORD(wParam));
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
VOID
|
||||
ShowAboutDialog(VOID)
|
||||
{
|
||||
DialogBox(hInst,
|
||||
MAKEINTRESOURCE(IDD_ABOUT_DIALOG),
|
||||
hMainWnd,
|
||||
AboutDlgProc);
|
||||
}
|
||||
@@ -0,0 +1,127 @@
|
||||
/*
|
||||
* PROJECT: ReactOS Applications Manager
|
||||
* LICENSE: GPL - See COPYING in the top level directory
|
||||
* FILE: base/applications/rapps/available.c
|
||||
* PURPOSE: Functions for working with availabled applications
|
||||
* PROGRAMMERS: Dmitry Chapyshev ([email protected])
|
||||
*/
|
||||
|
||||
#include "rapps.h"
|
||||
|
||||
|
||||
BOOL
|
||||
ShowAvailableAppInfo(INT Index)
|
||||
{
|
||||
PAPPLICATION_INFO Info = (PAPPLICATION_INFO) ListViewGetlParam(Index);
|
||||
WCHAR szText[MAX_STR_LEN];
|
||||
|
||||
if (!Info) return FALSE;
|
||||
|
||||
NewRichEditText(Info->szName, CFE_BOLD);
|
||||
|
||||
InsertRichEditText(L"\n", 0);
|
||||
|
||||
#define ADD_TEXT(a, b, c, d) \
|
||||
if (b[0] != '\0') \
|
||||
{ \
|
||||
LoadStringW(hInst, a, szText, sizeof(szText) / sizeof(WCHAR)); \
|
||||
InsertRichEditText(szText, c); \
|
||||
InsertRichEditText(b, d); \
|
||||
} \
|
||||
|
||||
ADD_TEXT(IDS_AINFO_VERSION, Info->szVersion, CFE_BOLD, 0);
|
||||
ADD_TEXT(IDS_AINFO_LICENCE, Info->szLicence, CFE_BOLD, 0);
|
||||
ADD_TEXT(IDS_AINFO_SIZE, Info->szSize, CFE_BOLD, 0);
|
||||
ADD_TEXT(IDS_AINFO_URLSITE, Info->szUrlSite, CFE_BOLD, CFE_LINK);
|
||||
ADD_TEXT(IDS_AINFO_DESCRIPTION, Info->szDesc, CFE_BOLD, 0);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
BOOL
|
||||
EnumAvailableApplications(INT EnumType, AVAILENUMPROC lpEnumProc)
|
||||
{
|
||||
HANDLE hFind = INVALID_HANDLE_VALUE;
|
||||
WIN32_FIND_DATAW FindFileData;
|
||||
WCHAR szPath[MAX_PATH];
|
||||
WCHAR szAppsPath[MAX_PATH];
|
||||
WCHAR szSectionLocale[MAX_PATH] = L"Section.";
|
||||
WCHAR szCabPath[MAX_PATH];
|
||||
WCHAR szLocale[4 + 1];
|
||||
APPLICATION_INFO Info;
|
||||
|
||||
if (!GetCurrentDirectoryW(MAX_PATH, szPath))
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
swprintf(szCabPath, L"%s\\rappmgr.cab", szPath);
|
||||
|
||||
wcscat(szPath, L"\\rapps\\");
|
||||
wcscpy(szAppsPath, szPath);
|
||||
|
||||
if (!CreateDirectory(szPath, NULL) &&
|
||||
GetLastError() != ERROR_ALREADY_EXISTS)
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
GetLocaleInfoW(GetUserDefaultLCID(), LOCALE_ILANGUAGE, szLocale, sizeof(szLocale) / sizeof(WCHAR));
|
||||
wcscat(szSectionLocale, szLocale);
|
||||
|
||||
wcscat(szPath, L"*.txt");
|
||||
|
||||
hFind = FindFirstFileW(szPath, &FindFileData);
|
||||
if (hFind == INVALID_HANDLE_VALUE)
|
||||
{
|
||||
if (GetFileAttributesW(szCabPath) == 0xFFFFFFFF)
|
||||
DownloadApplicationsDB(APPLICATION_DATEBASE_URL);
|
||||
|
||||
ExtractFilesFromCab(szCabPath, szAppsPath);
|
||||
hFind = FindFirstFileW(szPath, &FindFileData);
|
||||
if (hFind == INVALID_HANDLE_VALUE)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
#define GET_STRING1(a, b) \
|
||||
if (!ParserGetString(szSectionLocale, a, b, MAX_PATH, FindFileData.cFileName)) \
|
||||
if (!ParserGetString(L"Section", a, b, MAX_PATH, FindFileData.cFileName)) \
|
||||
continue;
|
||||
|
||||
#define GET_STRING2(a, b) \
|
||||
if (!ParserGetString(szSectionLocale, a, b, MAX_PATH, FindFileData.cFileName)) \
|
||||
if (!ParserGetString(L"Section", a, b, MAX_PATH, FindFileData.cFileName)) \
|
||||
b[0] = '\0';
|
||||
|
||||
do
|
||||
{
|
||||
Info.Category = ParserGetInt(szSectionLocale, L"Category", FindFileData.cFileName);
|
||||
if (Info.Category == -1)
|
||||
{
|
||||
Info.Category = ParserGetInt(L"Section", L"Category", FindFileData.cFileName);
|
||||
if (Info.Category == -1)
|
||||
continue;
|
||||
}
|
||||
|
||||
if (EnumType != Info.Category && EnumType != ENUM_ALL_AVAILABLE) continue;
|
||||
|
||||
GET_STRING1(L"Name", Info.szName);
|
||||
GET_STRING1(L"URLDownload", Info.szUrlDownload);
|
||||
|
||||
GET_STRING2(L"RegName", Info.szRegName);
|
||||
GET_STRING2(L"Version", Info.szVersion);
|
||||
GET_STRING2(L"Licence", Info.szLicence);
|
||||
GET_STRING2(L"Description", Info.szDesc);
|
||||
GET_STRING2(L"Size", Info.szSize);
|
||||
GET_STRING2(L"URLSite", Info.szUrlSite);
|
||||
GET_STRING2(L"CDPath", Info.szCDPath);
|
||||
|
||||
if (!lpEnumProc(Info)) break;
|
||||
}
|
||||
while (FindNextFileW(hFind, &FindFileData) != 0);
|
||||
|
||||
FindClose(hFind);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
@@ -0,0 +1,57 @@
|
||||
/*
|
||||
* PROJECT: ReactOS Applications Manager
|
||||
* LICENSE: GPL - See COPYING in the top level directory
|
||||
* FILE: base/applications/rapps/installdlg.c
|
||||
* PURPOSE: "Download and Install" Dialog
|
||||
* PROGRAMMERS: Dmitry Chapyshev ([email protected])
|
||||
*/
|
||||
|
||||
#include "rapps.h"
|
||||
|
||||
static PAPPLICATION_INFO AppInfo;
|
||||
|
||||
|
||||
static
|
||||
INT_PTR CALLBACK
|
||||
InstallDlgProc(HWND hDlg, UINT Msg, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
switch (Msg)
|
||||
{
|
||||
case WM_INITDIALOG:
|
||||
{
|
||||
|
||||
}
|
||||
break;
|
||||
|
||||
case WM_COMMAND:
|
||||
{
|
||||
switch (LOWORD(wParam))
|
||||
{
|
||||
case IDOK:
|
||||
case IDCANCEL:
|
||||
EndDialog(hDlg, LOWORD(wParam));
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
BOOL
|
||||
InstallApplication(INT Index)
|
||||
{
|
||||
if (!IS_AVAILABLE_ENUM(SelectedEnumType))
|
||||
return FALSE;
|
||||
|
||||
AppInfo = (PAPPLICATION_INFO) ListViewGetlParam(Index);
|
||||
if (!AppInfo) return FALSE;
|
||||
|
||||
DialogBox(hInst,
|
||||
MAKEINTRESOURCE(IDD_INSTALL_DIALOG),
|
||||
hMainWnd,
|
||||
InstallDlgProc);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
@@ -0,0 +1,253 @@
|
||||
/*
|
||||
* PROJECT: ReactOS Applications Manager
|
||||
* LICENSE: GPL - See COPYING in the top level directory
|
||||
* FILE: base/applications/rapps/installed.c
|
||||
* PURPOSE: Functions for working with installed applications
|
||||
* PROGRAMMERS: Dmitry Chapyshev ([email protected])
|
||||
*/
|
||||
|
||||
#include "rapps.h"
|
||||
|
||||
|
||||
BOOL
|
||||
GetApplicationString(HKEY hKey, LPWSTR lpKeyName, LPWSTR lpString)
|
||||
{
|
||||
DWORD dwSize = MAX_PATH;
|
||||
|
||||
if (RegQueryValueExW(hKey,
|
||||
lpKeyName,
|
||||
NULL,
|
||||
NULL,
|
||||
(LPBYTE)lpString,
|
||||
&dwSize) == ERROR_SUCCESS)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
wcscpy(lpString, L"---");
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
BOOL
|
||||
IsInstalledApplication(LPWSTR lpRegName, BOOL IsUserKey)
|
||||
{
|
||||
DWORD dwSize = MAX_PATH, dwType;
|
||||
WCHAR szName[MAX_PATH];
|
||||
WCHAR szDisplayName[MAX_PATH];
|
||||
HKEY hKey, hSubKey;
|
||||
INT ItemIndex = 0;
|
||||
|
||||
if (RegOpenKeyW(IsUserKey ? HKEY_CURRENT_USER : HKEY_LOCAL_MACHINE,
|
||||
L"Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall",
|
||||
&hKey) != ERROR_SUCCESS)
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
while (RegEnumKeyExW(hKey, ItemIndex, szName, &dwSize, NULL, NULL, NULL, NULL) == ERROR_SUCCESS)
|
||||
{
|
||||
if (RegOpenKeyW(hKey, szName, &hSubKey) == ERROR_SUCCESS)
|
||||
{
|
||||
dwType = REG_SZ;
|
||||
dwSize = MAX_PATH;
|
||||
if (RegQueryValueExW(hSubKey,
|
||||
L"DisplayName",
|
||||
NULL,
|
||||
&dwType,
|
||||
(LPBYTE)szDisplayName,
|
||||
&dwSize) == ERROR_SUCCESS)
|
||||
{
|
||||
if (wcscmp(szDisplayName, lpRegName) == 0)
|
||||
{
|
||||
RegCloseKey(hSubKey);
|
||||
RegCloseKey(hKey);
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
RegCloseKey(hSubKey);
|
||||
dwSize = MAX_PATH;
|
||||
ItemIndex++;
|
||||
}
|
||||
|
||||
RegCloseKey(hKey);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
BOOL
|
||||
UninstallApplication(INT Index, BOOL bModify)
|
||||
{
|
||||
WCHAR szModify[] = L"ModifyPath";
|
||||
WCHAR szUninstall[] = L"UninstallString";
|
||||
WCHAR szPath[MAX_PATH];
|
||||
DWORD dwType, dwSize;
|
||||
INT ItemIndex;
|
||||
LVITEM Item;
|
||||
HKEY hKey;
|
||||
|
||||
if (!IS_INSTALLED_ENUM(SelectedEnumType))
|
||||
return FALSE;
|
||||
|
||||
if (Index == -1)
|
||||
{
|
||||
ItemIndex = (INT) SendMessageW(hListView, LVM_GETNEXTITEM, -1, LVNI_FOCUSED);
|
||||
if (ItemIndex == -1)
|
||||
return FALSE;
|
||||
}
|
||||
else
|
||||
{
|
||||
ItemIndex = Index;
|
||||
}
|
||||
|
||||
ZeroMemory(&Item, sizeof(LVITEM));
|
||||
|
||||
Item.mask = LVIF_PARAM;
|
||||
Item.iItem = ItemIndex;
|
||||
if (!ListView_GetItem(hListView, &Item))
|
||||
return FALSE;
|
||||
|
||||
hKey = (HKEY)Item.lParam;
|
||||
|
||||
dwType = REG_SZ;
|
||||
dwSize = MAX_PATH;
|
||||
if (RegQueryValueExW(hKey,
|
||||
bModify ? szModify : szUninstall,
|
||||
NULL,
|
||||
&dwType,
|
||||
(LPBYTE)szPath,
|
||||
&dwSize) != ERROR_SUCCESS)
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
return StartProcess(szPath, TRUE);
|
||||
}
|
||||
|
||||
|
||||
BOOL
|
||||
ShowInstalledAppInfo(INT Index)
|
||||
{
|
||||
WCHAR szText[MAX_PATH], szInfo[MAX_PATH];
|
||||
HKEY hKey = (HKEY) ListViewGetlParam(Index);
|
||||
|
||||
if (!hKey) return FALSE;
|
||||
|
||||
GetApplicationString(hKey, L"DisplayName", szText);
|
||||
NewRichEditText(szText, CFE_BOLD);
|
||||
|
||||
InsertRichEditText(L"\n", 0);
|
||||
|
||||
#define GET_INFO(a, b, c, d) \
|
||||
if (GetApplicationString(hKey, a, szInfo)) \
|
||||
{ \
|
||||
LoadStringW(hInst, b, szText, sizeof(szText) / sizeof(WCHAR)); \
|
||||
InsertRichEditText(szText, c); \
|
||||
InsertRichEditText(szInfo, d); \
|
||||
} \
|
||||
|
||||
GET_INFO(L"DisplayVersion", IDS_INFO_VERSION, CFE_BOLD, 0);
|
||||
GET_INFO(L"Publisher", IDS_INFO_PUBLISHER, CFE_BOLD, 0);
|
||||
GET_INFO(L"RegOwner", IDS_INFO_REGOWNER, CFE_BOLD, 0);
|
||||
GET_INFO(L"ProductID", IDS_INFO_PRODUCTID, CFE_BOLD, 0);
|
||||
GET_INFO(L"HelpLink", IDS_INFO_HELPLINK, CFE_BOLD, CFM_LINK);
|
||||
GET_INFO(L"HelpTelephone", IDS_INFO_HELPPHONE, CFE_BOLD, 0);
|
||||
GET_INFO(L"Readme", IDS_INFO_README, CFE_BOLD, 0);
|
||||
GET_INFO(L"Contact", IDS_INFO_CONTACT, CFE_BOLD, 0);
|
||||
GET_INFO(L"URLUpdateInfo", IDS_INFO_UPDATEINFO, CFE_BOLD, CFM_LINK);
|
||||
GET_INFO(L"URLInfoAbout", IDS_INFO_INFOABOUT, CFE_BOLD, CFM_LINK);
|
||||
GET_INFO(L"Comments", IDS_INFO_COMMENTS, CFE_BOLD, 0);
|
||||
GET_INFO(L"InstallDate", IDS_INFO_INSTALLDATE, CFE_BOLD, 0);
|
||||
GET_INFO(L"InstallLocation", IDS_INFO_INSTLOCATION, CFE_BOLD, 0);
|
||||
GET_INFO(L"InstallSource", IDS_INFO_INSTALLSRC, CFE_BOLD, 0);
|
||||
GET_INFO(L"UninstallString", IDS_INFO_UNINSTALLSTR, CFE_BOLD, 0);
|
||||
GET_INFO(L"InstallSource", IDS_INFO_INSTALLSRC, CFE_BOLD, 0);
|
||||
GET_INFO(L"ModifyPath", IDS_INFO_MODIFYPATH, CFE_BOLD, 0);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
BOOL
|
||||
EnumInstalledApplications(INT EnumType, BOOL IsUserKey, APPENUMPROC lpEnumProc)
|
||||
{
|
||||
DWORD dwSize = MAX_PATH, dwType, dwValue;
|
||||
BOOL bIsSystemComponent, bIsUpdate;
|
||||
WCHAR pszName[MAX_PATH];
|
||||
WCHAR pszParentKeyName[MAX_PATH];
|
||||
WCHAR pszDisplayName[MAX_PATH];
|
||||
HKEY hKey, hSubKey;
|
||||
LONG ItemIndex = 0;
|
||||
|
||||
if (RegOpenKeyW(IsUserKey ? HKEY_CURRENT_USER : HKEY_LOCAL_MACHINE,
|
||||
L"Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall",
|
||||
&hKey) != ERROR_SUCCESS)
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
while (RegEnumKeyExW(hKey, ItemIndex, pszName, &dwSize, NULL, NULL, NULL, NULL) == ERROR_SUCCESS)
|
||||
{
|
||||
if (RegOpenKeyW(hKey, pszName, &hSubKey) == ERROR_SUCCESS)
|
||||
{
|
||||
dwType = REG_DWORD;
|
||||
dwSize = sizeof(DWORD);
|
||||
|
||||
if (RegQueryValueExW(hSubKey,
|
||||
L"SystemComponent",
|
||||
NULL,
|
||||
&dwType,
|
||||
(LPBYTE)&dwValue,
|
||||
&dwSize) == ERROR_SUCCESS)
|
||||
{
|
||||
bIsSystemComponent = (dwValue == 0x1);
|
||||
}
|
||||
else
|
||||
{
|
||||
bIsSystemComponent = FALSE;
|
||||
}
|
||||
|
||||
dwType = REG_SZ;
|
||||
dwSize = MAX_PATH;
|
||||
bIsUpdate = (RegQueryValueExW(hSubKey,
|
||||
L"ParentKeyName",
|
||||
NULL,
|
||||
&dwType,
|
||||
(LPBYTE)pszParentKeyName,
|
||||
&dwSize) == ERROR_SUCCESS);
|
||||
|
||||
dwSize = MAX_PATH;
|
||||
if (RegQueryValueExW(hSubKey,
|
||||
L"DisplayName",
|
||||
NULL,
|
||||
&dwType,
|
||||
(LPBYTE)pszDisplayName,
|
||||
&dwSize) == ERROR_SUCCESS)
|
||||
{
|
||||
if (EnumType < ENUM_ALL_COMPONENTS || EnumType > ENUM_UPDATES)
|
||||
EnumType = ENUM_ALL_COMPONENTS;
|
||||
|
||||
if (!bIsSystemComponent)
|
||||
{
|
||||
if ((EnumType == ENUM_ALL_COMPONENTS) || /* All components */
|
||||
((EnumType == ENUM_APPLICATIONS) && (!bIsUpdate)) || /* Applications only */
|
||||
((EnumType == ENUM_UPDATES) && (bIsUpdate))) /* Updates only */
|
||||
{
|
||||
if (!lpEnumProc(ItemIndex, pszDisplayName, pszName, (LPARAM)hSubKey))
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
dwSize = MAX_PATH;
|
||||
ItemIndex++;
|
||||
}
|
||||
|
||||
RegCloseKey(hKey);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
@@ -0,0 +1,167 @@
|
||||
LANGUAGE LANG_BULGARIAN, SUBLANG_DEFAULT
|
||||
|
||||
IDR_MAINMENU MENU
|
||||
BEGIN
|
||||
POPUP "&Ôàéë"
|
||||
BEGIN
|
||||
MENUITEM "Íà&ñòðîéêè", ID_SETTINGS, GRAYED
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Èç&õîä", ID_EXIT
|
||||
END
|
||||
POPUP "&Ïðèëîæåíèÿ"
|
||||
BEGIN
|
||||
MENUITEM "&Ñëàãàíå", ID_INSTALL
|
||||
MENUITEM "&Ìàõàíå",ID_UNINSTALL
|
||||
MENUITEM "&Ïðîìÿíà", ID_MODIFY
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Î&ïðåñíÿâàíå", ID_REFRESH
|
||||
END
|
||||
POPUP "Ïîìîù"
|
||||
BEGIN
|
||||
MENUITEM "Ïîìîù", ID_HELP, GRAYED
|
||||
MENUITEM "Çà", ID_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
IDR_LINKMENU MENU
|
||||
BEGIN
|
||||
POPUP "popup"
|
||||
BEGIN
|
||||
MENUITEM "&Îòâàðÿíå íà âðúçêàòà â îáçîðíèê", ID_OPEN_LINK
|
||||
MENUITEM "&Çàïîìíÿíå íà âðúçêàòà â êîøíèöàòà", ID_COPY_LINK
|
||||
END
|
||||
END
|
||||
|
||||
IDR_APPLICATIONMENU MENU
|
||||
BEGIN
|
||||
POPUP "popup"
|
||||
BEGIN
|
||||
MENUITEM "&Ñëàãàíå", ID_INSTALL
|
||||
MENUITEM "&Ìàõàíå", ID_UNINSTALL
|
||||
MENUITEM "&Ïðîìÿíà", ID_MODIFY
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Î&ïðåñíÿâàíå", ID_REFRESH
|
||||
END
|
||||
END
|
||||
|
||||
IDD_SETTINGS_DIALOG DIALOGEX DISCARDABLE 0, 0, 386, 231
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Íàñòðîéêè"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
PUSHBUTTON "Äîáðå", IDOK, 255, 212, 60, 14
|
||||
PUSHBUTTON "Îòêàç", IDCANCEL, 320, 212, 60, 14
|
||||
END
|
||||
|
||||
IDD_INSTALL_DIALOG DIALOGEX DISCARDABLE 0, 0, 386, 231
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Ñâàëÿíå è ñëàãàíå"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
PUSHBUTTON "Äîáðå", IDOK, 255, 212, 60, 14
|
||||
PUSHBUTTON "Îòêàç", IDCANCEL, 320, 212, 60, 14
|
||||
END
|
||||
|
||||
IDD_DOWNLOAD_DIALOG 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_DOWNLOAD_PROGRESS, "msctls_progress32", WS_BORDER | PBS_SMOOTH, 10, 10, 200, 12
|
||||
LTEXT "", IDC_DOWNLOAD_STATUS, 10, 30, 200, 10, SS_CENTER
|
||||
PUSHBUTTON "Îòêàç", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP
|
||||
END
|
||||
|
||||
IDD_ABOUT_DIALOG DIALOGEX 22, 16, 210, 66
|
||||
STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
|
||||
CAPTION "Çà"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Óïðàâèòåëÿò çà ïðèëîæåíèÿ íà ÐåàêòÎÑ\nÂúçïðîèçâîäñòâåíè ïðàâà (C) 2009\nÄìèòðèé ×àïúéøåâ ([email protected])", IDC_STATIC, 48, 7, 150, 39
|
||||
PUSHBUTTON "Çàòâàðÿíå", IDOK, 133, 46, 50, 14
|
||||
ICON IDI_MAIN, IDC_STATIC, 10, 10, 7, 30
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_TOOLTIP_INSTALL "Ñëàãàíå"
|
||||
IDS_TOOLTIP_UNINSTALL "Ìàõàíå"
|
||||
IDS_TOOLTIP_MODIFY "Ïðîìÿíà"
|
||||
IDS_TOOLTIP_SETTINGS "Íàñòðîéêè"
|
||||
IDS_TOOLTIP_REFRESH "Îïðåñíÿâàíå"
|
||||
IDS_TOOLTIP_EXIT "Èçõîä"
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_APP_NAME "Èìå"
|
||||
IDS_APP_INST_VERSION "Èçäàíèå"
|
||||
IDS_APP_DESCRIPTION "Îïèñàíèå"
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_INFO_VERSION "\nÂåðñèÿ: "
|
||||
IDS_INFO_DESCRIPTION "\nÎïèñàíèå: "
|
||||
IDS_INFO_PUBLISHER "\nÈçäàòåë: "
|
||||
IDS_INFO_HELPLINK "\nÂðúçêà çà ïîìîù: "
|
||||
IDS_INFO_HELPPHONE "\nÒåëåôîí çà ïîìîù: "
|
||||
IDS_INFO_README "\nÏðî÷åòè ìå: "
|
||||
IDS_INFO_REGOWNER "\nÂïèñàí ñîáñòâåíèê: "
|
||||
IDS_INFO_PRODUCTID "\nÎçíà÷èòåë íà ïðîèçâåäåíèåòî: "
|
||||
IDS_INFO_CONTACT "\nÑâðúçêà: "
|
||||
IDS_INFO_UPDATEINFO "\nÑâåäåíèÿ çà îáíîâÿâàíå: "
|
||||
IDS_INFO_INFOABOUT "\nÑâåäåíèÿ çà: "
|
||||
IDS_INFO_COMMENTS "\nÇàáåëåæêè: "
|
||||
IDS_INFO_INSTLOCATION "\nÑëîæåíî â: "
|
||||
IDS_INFO_INSTALLSRC "\nÑëîæåíî îò: "
|
||||
IDS_INFO_UNINSTALLSTR "\nÍèç çà ïðåìàõâàíå: "
|
||||
IDS_INFO_MODIFYPATH "\nÏúò çà èçìåíåíèÿ: "
|
||||
IDS_INFO_INSTALLDATE "\nÄàòà íà ñëàãàíå: "
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_AINFO_VERSION "\nÂåðñèÿ: "
|
||||
IDS_AINFO_DESCRIPTION "\nÎïèñàíèå: "
|
||||
IDS_AINFO_SIZE "\nÐàçìåð: "
|
||||
IDS_AINFO_URLSITE "\nÄîìàøíà ñòðàíèöà: "
|
||||
IDS_AINFO_LICENCE "\nÐàçðåøèòåëíî: "
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_CAT_AUDIO "Çâóê"
|
||||
IDS_CAT_DEVEL "Ðàçðàáîòêà"
|
||||
IDS_CAT_DRIVERS "Âîäà÷è (äðàéâåðè)"
|
||||
IDS_CAT_EDU "Îáðàçîâàíèå"
|
||||
IDS_CAT_ENGINEER "Èíæåíåðñòâî"
|
||||
IDS_CAT_FINANCE "Ôèíàíñè"
|
||||
IDS_CAT_GAMES "Èãðè è çàáàâëåíèÿ"
|
||||
IDS_CAT_GRAPHICS "Ãðàôèêà"
|
||||
IDS_CAT_INTERNET "Èíòåðíåò è ìðåæà"
|
||||
IDS_CAT_LIBS "Áèáëèîòåêè"
|
||||
IDS_CAT_OFFICE "Ñëóæåáíè"
|
||||
IDS_CAT_OTHER "Äðóãè"
|
||||
IDS_CAT_SCIENCE "Íàóêà"
|
||||
IDS_CAT_TOOLS "Ñðåäñòâà"
|
||||
IDS_CAT_VIDEO "Âèäåî"
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_APPTITLE "Óïðàâèòåëÿò çà ïðèëîæåíèÿ íà ÐåàêòÎÑ"
|
||||
IDS_SEARCH_TEXT "Òúðñåíå"
|
||||
IDS_INSTALL "Ñëàãàíå"
|
||||
IDS_UNINSTALL "Ìàõàíå"
|
||||
IDS_MODIFY "Ïðîìÿíà"
|
||||
IDS_APPS_COUNT "Áðîé ïðèëîæåíèÿ: %d"
|
||||
IDS_WELCOME_TITLE "Óïðàâèòåëÿò çà ïðèëîæåíèÿ íà ÐåàêòÎÑ âè ïðèâåòñòâà!\n\n"
|
||||
IDS_WELCOME_TEXT "Èçáåðåòå ðàçäåë îò ëÿâàòà ñòðàíà, ñëåä êîåòî èçáåðåòå ïðèëîæåíèå çà ñëàãàíå èëè ïðåìàõâàíå.\nÑòðàíèöàòà íà ÐåàêòÎÑ: "
|
||||
IDS_WELCOME_URL "http://www.reactos.org"
|
||||
IDS_INSTALLED "Ñëîæåíè"
|
||||
IDS_AVAILABLEFORINST "Íàëè÷íî çà ñëàãàíå"
|
||||
IDS_UPDATES "Îáíîâëåíèÿ"
|
||||
IDS_APPLICATIONS "Ïðèëîæåíèÿ"
|
||||
IDS_DOWNLOAD_FOLDER "Ñâàëÿíèÿ"
|
||||
END
|
||||
@@ -0,0 +1,167 @@
|
||||
LANGUAGE LANG_GERMAN, SUBLANG_GERMAN
|
||||
|
||||
IDR_MAINMENU MENU
|
||||
BEGIN
|
||||
POPUP "&Datei"
|
||||
BEGIN
|
||||
MENUITEM "&Einstellungen", ID_SETTINGS, GRAYED
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Beenden", ID_EXIT
|
||||
END
|
||||
POPUP "&Programme"
|
||||
BEGIN
|
||||
MENUITEM "&Installieren", ID_INSTALL
|
||||
MENUITEM "&Deinstallieren",ID_UNINSTALL
|
||||
MENUITEM "&Ändern", ID_MODIFY
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Aktualisieren", ID_REFRESH
|
||||
END
|
||||
POPUP "Hilfe"
|
||||
BEGIN
|
||||
MENUITEM "Hilfe", ID_HELP, GRAYED
|
||||
MENUITEM "Über", ID_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
IDR_LINKMENU MENU
|
||||
BEGIN
|
||||
POPUP "popup"
|
||||
BEGIN
|
||||
MENUITEM "&Öffne den Link in einem Browser", ID_OPEN_LINK
|
||||
MENUITEM "&Kopiere den Link in die Zwischenablage", ID_COPY_LINK
|
||||
END
|
||||
END
|
||||
|
||||
IDR_APPLICATIONMENU MENU
|
||||
BEGIN
|
||||
POPUP "popup"
|
||||
BEGIN
|
||||
MENUITEM "&Installieren", ID_INSTALL
|
||||
MENUITEM "&Deinstallieren", ID_UNINSTALL
|
||||
MENUITEM "&Ändern", ID_MODIFY
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Aktualisieren", ID_REFRESH
|
||||
END
|
||||
END
|
||||
|
||||
IDD_SETTINGS_DIALOG DIALOGEX DISCARDABLE 0, 0, 386, 231
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Einstellungen"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
PUSHBUTTON "OK", IDOK, 255, 212, 60, 14
|
||||
PUSHBUTTON "Abbrechen", IDCANCEL, 320, 212, 60, 14
|
||||
END
|
||||
|
||||
IDD_INSTALL_DIALOG DIALOGEX DISCARDABLE 0, 0, 386, 231
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Herunterladen und installieren"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
PUSHBUTTON "OK", IDOK, 255, 212, 60, 14
|
||||
PUSHBUTTON "Abbrechen", IDCANCEL, 320, 212, 60, 14
|
||||
END
|
||||
|
||||
IDD_DOWNLOAD_DIALOG DIALOGEX LOADONCALL MOVEABLE DISCARDABLE 0, 0, 220, 76
|
||||
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Herunterladen..."
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "Progress1", IDC_DOWNLOAD_PROGRESS, "msctls_progress32", WS_BORDER | PBS_SMOOTH, 10, 10, 200, 12
|
||||
LTEXT "", IDC_DOWNLOAD_STATUS, 10, 30, 200, 10, SS_CENTER
|
||||
PUSHBUTTON "Abbrechen", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP
|
||||
END
|
||||
|
||||
IDD_ABOUT_DIALOG DIALOGEX 22, 16, 190, 66
|
||||
STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
|
||||
CAPTION "Über"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "ReactOS Anwendungsmanager\nCopyright (C) 2009\nby Dmitry Chapyshev ([email protected])", IDC_STATIC, 48, 7, 130, 39
|
||||
PUSHBUTTON "Schließen", IDOK, 133, 46, 50, 14
|
||||
ICON IDI_MAIN, IDC_STATIC, 10, 10, 7, 30
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_TOOLTIP_INSTALL "Installieren"
|
||||
IDS_TOOLTIP_UNINSTALL "Deinstallieren"
|
||||
IDS_TOOLTIP_MODIFY "Ändern"
|
||||
IDS_TOOLTIP_SETTINGS "Einstellungen"
|
||||
IDS_TOOLTIP_REFRESH "Aktualisieren"
|
||||
IDS_TOOLTIP_EXIT "Beenden"
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_APP_NAME "Name"
|
||||
IDS_APP_INST_VERSION "Version"
|
||||
IDS_APP_DESCRIPTION "Beschreibung"
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_INFO_VERSION "\nVersion: "
|
||||
IDS_INFO_DESCRIPTION "\nBeschreibung: "
|
||||
IDS_INFO_PUBLISHER "\nPublisher: "
|
||||
IDS_INFO_HELPLINK "\nHilfe-Link: "
|
||||
IDS_INFO_HELPPHONE "\nHilfe-Telefonnr.: "
|
||||
IDS_INFO_README "\nReadme: "
|
||||
IDS_INFO_REGOWNER "\nregistrierter Eigentümer: "
|
||||
IDS_INFO_PRODUCTID "\nProdukt-ID: "
|
||||
IDS_INFO_CONTACT "\nKontaktt: "
|
||||
IDS_INFO_UPDATEINFO "\nUpdate Information: "
|
||||
IDS_INFO_INFOABOUT "\nInformation über: "
|
||||
IDS_INFO_COMMENTS "\nKommentare: "
|
||||
IDS_INFO_INSTLOCATION "\nInstallationsort: "
|
||||
IDS_INFO_INSTALLSRC "\nInstallationsquelle: "
|
||||
IDS_INFO_UNINSTALLSTR "\nDeinstallationsstring: "
|
||||
IDS_INFO_MODIFYPATH "\nÄnderungspfad: "
|
||||
IDS_INFO_INSTALLDATE "\nInstallationsdatum: "
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_AINFO_VERSION "\nVersion: "
|
||||
IDS_AINFO_DESCRIPTION "\nBeschreibung: "
|
||||
IDS_AINFO_SIZE "\nGröße: "
|
||||
IDS_AINFO_URLSITE "\nHomepage: "
|
||||
IDS_AINFO_LICENCE "\nLizenz: "
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_CAT_AUDIO "Audio"
|
||||
IDS_CAT_DEVEL "Entwicklung"
|
||||
IDS_CAT_DRIVERS "Treiber"
|
||||
IDS_CAT_EDU "Edutainment"
|
||||
IDS_CAT_ENGINEER "Technische Anwendungen"
|
||||
IDS_CAT_FINANCE "Finanzen"
|
||||
IDS_CAT_GAMES "Spiele & Spaß"
|
||||
IDS_CAT_GRAPHICS "Grafik"
|
||||
IDS_CAT_INTERNET "Internet & Netzwerk"
|
||||
IDS_CAT_LIBS "Bibliotheken"
|
||||
IDS_CAT_OFFICE "Büro"
|
||||
IDS_CAT_OTHER "Sonstiges"
|
||||
IDS_CAT_SCIENCE "Wissenschaft"
|
||||
IDS_CAT_TOOLS "Werkzeuge"
|
||||
IDS_CAT_VIDEO "Video"
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_APPTITLE "ReactOS Anwendungsmanager"
|
||||
IDS_SEARCH_TEXT "Suche..."
|
||||
IDS_INSTALL "Installieren"
|
||||
IDS_UNINSTALL "Deinstallieren"
|
||||
IDS_MODIFY "Ändern"
|
||||
IDS_APPS_COUNT "Anzahl der Anwendungen: %d"
|
||||
IDS_WELCOME_TITLE "Willkommen im ReactOS Anwendungsmanager!\n\n"
|
||||
IDS_WELCOME_TEXT "Wählen Sie links eine Kategorie und dann eine Anwendung um sie zu installieren oder zu deinstallieren.\nReactOS Webseite: "
|
||||
IDS_WELCOME_URL "http://www.reactos.org"
|
||||
IDS_INSTALLED "Installiert"
|
||||
IDS_AVAILABLEFORINST "Zur Installation verfügbar"
|
||||
IDS_UPDATES "Updates"
|
||||
IDS_APPLICATIONS "Anwendungen"
|
||||
IDS_DOWNLOAD_FOLDER "Downloads"
|
||||
END
|
||||
@@ -0,0 +1,167 @@
|
||||
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
||||
|
||||
IDR_MAINMENU MENU
|
||||
BEGIN
|
||||
POPUP "&File"
|
||||
BEGIN
|
||||
MENUITEM "&Settings", ID_SETTINGS, GRAYED
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "E&xit", ID_EXIT
|
||||
END
|
||||
POPUP "&Programs"
|
||||
BEGIN
|
||||
MENUITEM "&Install", ID_INSTALL
|
||||
MENUITEM "&Uninstall",ID_UNINSTALL
|
||||
MENUITEM "&Modify", ID_MODIFY
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Refresh", ID_REFRESH
|
||||
END
|
||||
POPUP "Help"
|
||||
BEGIN
|
||||
MENUITEM "Help", ID_HELP, GRAYED
|
||||
MENUITEM "About", ID_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
IDR_LINKMENU MENU
|
||||
BEGIN
|
||||
POPUP "popup"
|
||||
BEGIN
|
||||
MENUITEM "&Open link in a browser", ID_OPEN_LINK
|
||||
MENUITEM "&Copy link to clipboard", ID_COPY_LINK
|
||||
END
|
||||
END
|
||||
|
||||
IDR_APPLICATIONMENU MENU
|
||||
BEGIN
|
||||
POPUP "popup"
|
||||
BEGIN
|
||||
MENUITEM "&Install", ID_INSTALL
|
||||
MENUITEM "&Uninstall", ID_UNINSTALL
|
||||
MENUITEM "&Modify", ID_MODIFY
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Refresh", ID_REFRESH
|
||||
END
|
||||
END
|
||||
|
||||
IDD_SETTINGS_DIALOG DIALOGEX DISCARDABLE 0, 0, 386, 231
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Settings"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
PUSHBUTTON "OK", IDOK, 255, 212, 60, 14
|
||||
PUSHBUTTON "Cancel", IDCANCEL, 320, 212, 60, 14
|
||||
END
|
||||
|
||||
IDD_INSTALL_DIALOG DIALOGEX DISCARDABLE 0, 0, 386, 231
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Download and Install"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
PUSHBUTTON "OK", IDOK, 255, 212, 60, 14
|
||||
PUSHBUTTON "Cancel", IDCANCEL, 320, 212, 60, 14
|
||||
END
|
||||
|
||||
IDD_DOWNLOAD_DIALOG 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_DOWNLOAD_PROGRESS, "msctls_progress32", WS_BORDER | PBS_SMOOTH, 10, 10, 200, 12
|
||||
LTEXT "", IDC_DOWNLOAD_STATUS, 10, 30, 200, 10, SS_CENTER
|
||||
PUSHBUTTON "Cancel", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP
|
||||
END
|
||||
|
||||
IDD_ABOUT_DIALOG DIALOGEX 22, 16, 190, 66
|
||||
STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
|
||||
CAPTION "About"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "ReactOS Applications Manager\nCopyright (C) 2009\nby Dmitry Chapyshev ([email protected])", IDC_STATIC, 48, 7, 130, 39
|
||||
PUSHBUTTON "Close", IDOK, 133, 46, 50, 14
|
||||
ICON IDI_MAIN, IDC_STATIC, 10, 10, 7, 30
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_TOOLTIP_INSTALL "Install"
|
||||
IDS_TOOLTIP_UNINSTALL "Uninstall"
|
||||
IDS_TOOLTIP_MODIFY "Modify"
|
||||
IDS_TOOLTIP_SETTINGS "Settings"
|
||||
IDS_TOOLTIP_REFRESH "Refresh"
|
||||
IDS_TOOLTIP_EXIT "Exit"
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_APP_NAME "Name"
|
||||
IDS_APP_INST_VERSION "Version"
|
||||
IDS_APP_DESCRIPTION "Description"
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_INFO_VERSION "\nVersion: "
|
||||
IDS_INFO_DESCRIPTION "\nDescription: "
|
||||
IDS_INFO_PUBLISHER "\nPublisher: "
|
||||
IDS_INFO_HELPLINK "\nHelp Link: "
|
||||
IDS_INFO_HELPPHONE "\nHelp Telephone: "
|
||||
IDS_INFO_README "\nReadme: "
|
||||
IDS_INFO_REGOWNER "\nRegistered Owner: "
|
||||
IDS_INFO_PRODUCTID "\nProductID: "
|
||||
IDS_INFO_CONTACT "\nContact: "
|
||||
IDS_INFO_UPDATEINFO "\nUpdate Information: "
|
||||
IDS_INFO_INFOABOUT "\nInformation About: "
|
||||
IDS_INFO_COMMENTS "\nComments: "
|
||||
IDS_INFO_INSTLOCATION "\nInstall Location: "
|
||||
IDS_INFO_INSTALLSRC "\nInstall Source: "
|
||||
IDS_INFO_UNINSTALLSTR "\nUninstall String: "
|
||||
IDS_INFO_MODIFYPATH "\nModify Path: "
|
||||
IDS_INFO_INSTALLDATE "\nInstall Date: "
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_AINFO_VERSION "\nVersion: "
|
||||
IDS_AINFO_DESCRIPTION "\nDescription: "
|
||||
IDS_AINFO_SIZE "\nSize: "
|
||||
IDS_AINFO_URLSITE "\nHome Page: "
|
||||
IDS_AINFO_LICENCE "\nLicence: "
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_CAT_AUDIO "Audio"
|
||||
IDS_CAT_DEVEL "Development"
|
||||
IDS_CAT_DRIVERS "Drivers"
|
||||
IDS_CAT_EDU "Edutainment"
|
||||
IDS_CAT_ENGINEER "Engineering"
|
||||
IDS_CAT_FINANCE "Finance"
|
||||
IDS_CAT_GAMES "Games & Fun"
|
||||
IDS_CAT_GRAPHICS "Graphics"
|
||||
IDS_CAT_INTERNET "Internet & Network"
|
||||
IDS_CAT_LIBS "Libraries"
|
||||
IDS_CAT_OFFICE "Office"
|
||||
IDS_CAT_OTHER "Other"
|
||||
IDS_CAT_SCIENCE "Science"
|
||||
IDS_CAT_TOOLS "Tools"
|
||||
IDS_CAT_VIDEO "Video"
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_APPTITLE "ReactOS Applications Manager"
|
||||
IDS_SEARCH_TEXT "Search..."
|
||||
IDS_INSTALL "Install"
|
||||
IDS_UNINSTALL "Uninstall"
|
||||
IDS_MODIFY "Modify"
|
||||
IDS_APPS_COUNT "Applications count: %d"
|
||||
IDS_WELCOME_TITLE "Welcome to ReactOS Application Manager!\n\n"
|
||||
IDS_WELCOME_TEXT "Choose a category on the left, then choose a application for install or uninstall.\nReactOS Web Site: "
|
||||
IDS_WELCOME_URL "http://www.reactos.org"
|
||||
IDS_INSTALLED "Installed"
|
||||
IDS_AVAILABLEFORINST "Available for installation"
|
||||
IDS_UPDATES "Updates"
|
||||
IDS_APPLICATIONS "Applications"
|
||||
IDS_DOWNLOAD_FOLDER "Downloads"
|
||||
END
|
||||
@@ -0,0 +1,167 @@
|
||||
LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT
|
||||
|
||||
IDR_MAINMENU MENU
|
||||
BEGIN
|
||||
POPUP "ファイル(&F)"
|
||||
BEGIN
|
||||
MENUITEM "設定(&S)", ID_SETTINGS, GRAYED
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "終了(&X)", ID_EXIT
|
||||
END
|
||||
POPUP "プログラム(&P)"
|
||||
BEGIN
|
||||
MENUITEM "インストール(&I)", ID_INSTALL
|
||||
MENUITEM "アンインストール(&U)",ID_UNINSTALL
|
||||
MENUITEM "変更(&M)", ID_MODIFY
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "更新(&R)", ID_REFRESH
|
||||
END
|
||||
POPUP "ヘルプ"
|
||||
BEGIN
|
||||
MENUITEM "ヘルプ", ID_HELP, GRAYED
|
||||
MENUITEM "バージョン情報", ID_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
IDR_LINKMENU MENU
|
||||
BEGIN
|
||||
POPUP "popup"
|
||||
BEGIN
|
||||
MENUITEM "ブラウザでリンクを開く(&O)", ID_OPEN_LINK
|
||||
MENUITEM "クリップボードにコピーする(&C)", ID_COPY_LINK
|
||||
END
|
||||
END
|
||||
|
||||
IDR_APPLICATIONMENU MENU
|
||||
BEGIN
|
||||
POPUP "popup"
|
||||
BEGIN
|
||||
MENUITEM "インストール(&I)", ID_INSTALL
|
||||
MENUITEM "アンインストール(&U)", ID_UNINSTALL
|
||||
MENUITEM "変更(&M)", ID_MODIFY
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "更新(&R)", ID_REFRESH
|
||||
END
|
||||
END
|
||||
|
||||
IDD_SETTINGS_DIALOG DIALOGEX DISCARDABLE 0, 0, 386, 231
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "設定"
|
||||
FONT 9, "MS UI Gothic"
|
||||
BEGIN
|
||||
PUSHBUTTON "OK", IDOK, 255, 212, 60, 14
|
||||
PUSHBUTTON "キャンセル", IDCANCEL, 320, 212, 60, 14
|
||||
END
|
||||
|
||||
IDD_INSTALL_DIALOG DIALOGEX DISCARDABLE 0, 0, 386, 231
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ダウンロードとインストール"
|
||||
FONT 9, "MS UI Gothic"
|
||||
BEGIN
|
||||
PUSHBUTTON "OK", IDOK, 255, 212, 60, 14
|
||||
PUSHBUTTON "キャンセル", IDCANCEL, 320, 212, 60, 14
|
||||
END
|
||||
|
||||
IDD_DOWNLOAD_DIALOG 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_DOWNLOAD_PROGRESS, "msctls_progress32", WS_BORDER | PBS_SMOOTH, 10, 10, 200, 12
|
||||
LTEXT "", IDC_DOWNLOAD_STATUS, 10, 30, 200, 10, SS_CENTER
|
||||
PUSHBUTTON "キャンセル", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP
|
||||
END
|
||||
|
||||
IDD_ABOUT_DIALOG DIALOGEX 22, 16, 190, 66
|
||||
STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
|
||||
CAPTION "バージョン情報"
|
||||
FONT 9, "MS UI Gothic"
|
||||
BEGIN
|
||||
LTEXT "ReactOS アプリケーション マネージャー\nCopyright (C) 2009\nby Dmitry Chapyshev ([email protected])", IDC_STATIC, 48, 7, 130, 39
|
||||
PUSHBUTTON "閉じる", IDOK, 133, 46, 50, 14
|
||||
ICON IDI_MAIN, IDC_STATIC, 10, 10, 7, 30
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_TOOLTIP_INSTALL "インストール"
|
||||
IDS_TOOLTIP_UNINSTALL "アンインストール"
|
||||
IDS_TOOLTIP_MODIFY "変更"
|
||||
IDS_TOOLTIP_SETTINGS "設定"
|
||||
IDS_TOOLTIP_REFRESH "更新"
|
||||
IDS_TOOLTIP_EXIT "終了"
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_APP_NAME "名前"
|
||||
IDS_APP_INST_VERSION "バージョン"
|
||||
IDS_APP_DESCRIPTION "概要"
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_INFO_VERSION "\nバージョン: "
|
||||
IDS_INFO_DESCRIPTION "\n概要: "
|
||||
IDS_INFO_PUBLISHER "\n発行元: "
|
||||
IDS_INFO_HELPLINK "\nヘルプへのリンク: "
|
||||
IDS_INFO_HELPPHONE "\nヘルプの電話番号: "
|
||||
IDS_INFO_README "\nReadmeの位置: "
|
||||
IDS_INFO_REGOWNER "\n登録された所有者: "
|
||||
IDS_INFO_PRODUCTID "\nプロダクトID: "
|
||||
IDS_INFO_CONTACT "\n連絡先: "
|
||||
IDS_INFO_UPDATEINFO "\nアップデート情報: "
|
||||
IDS_INFO_INFOABOUT "\nこれに関する情報: "
|
||||
IDS_INFO_COMMENTS "\nコメント: "
|
||||
IDS_INFO_INSTLOCATION "\nインストール場所: "
|
||||
IDS_INFO_INSTALLSRC "\nインストール元: "
|
||||
IDS_INFO_UNINSTALLSTR "\nアンインストールに使用する文字列: "
|
||||
IDS_INFO_MODIFYPATH "\n変更に使用するパス: "
|
||||
IDS_INFO_INSTALLDATE "\nインストールした日付: "
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_AINFO_VERSION "\nバージョン: "
|
||||
IDS_AINFO_DESCRIPTION "\n概要: "
|
||||
IDS_AINFO_SIZE "\nサイズ: "
|
||||
IDS_AINFO_URLSITE "\nホームページ: "
|
||||
IDS_AINFO_LICENCE "\nライセンス: "
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_CAT_AUDIO "オーディオ"
|
||||
IDS_CAT_DEVEL "開発"
|
||||
IDS_CAT_DRIVERS "ドライバ"
|
||||
IDS_CAT_EDU "教育"
|
||||
IDS_CAT_ENGINEER "工学"
|
||||
IDS_CAT_FINANCE "経営"
|
||||
IDS_CAT_GAMES "ゲームとお楽しみ"
|
||||
IDS_CAT_GRAPHICS "グラフィックス"
|
||||
IDS_CAT_INTERNET "インターネットとネットワーク"
|
||||
IDS_CAT_LIBS "ライブラリ"
|
||||
IDS_CAT_OFFICE "オフィス"
|
||||
IDS_CAT_OTHER "その他"
|
||||
IDS_CAT_SCIENCE "科学"
|
||||
IDS_CAT_TOOLS "ツール"
|
||||
IDS_CAT_VIDEO "ビデオ"
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_APPTITLE "ReactOS アプリケーション マネージャー"
|
||||
IDS_SEARCH_TEXT "検索..."
|
||||
IDS_INSTALL "インストール"
|
||||
IDS_UNINSTALL "アンインストール"
|
||||
IDS_MODIFY "変更"
|
||||
IDS_APPS_COUNT "アプリケーション数: %d"
|
||||
IDS_WELCOME_TITLE "ReactOS アプリケーション マネージャーへようこそ!\n\n"
|
||||
IDS_WELCOME_TEXT "左側からカテゴリを選択し、インストール又はアンインストールするアプリケーションを選んでください。\nReactOS ウェブ サイト: "
|
||||
IDS_WELCOME_URL "http://www.reactos.org"
|
||||
IDS_INSTALLED "インストール済み"
|
||||
IDS_AVAILABLEFORINST "インストール可能\"
|
||||
IDS_UPDATES "アップデート"
|
||||
IDS_APPLICATIONS "アプリケーション"
|
||||
IDS_DOWNLOAD_FOLDER "ダウンロード"
|
||||
END
|
||||
@@ -0,0 +1,167 @@
|
||||
LANGUAGE LANG_NORWEGIAN, SUBLANG_NEUTRAL
|
||||
|
||||
IDR_MAINMENU MENU
|
||||
BEGIN
|
||||
POPUP "&Fil"
|
||||
BEGIN
|
||||
MENUITEM "&Innstillinger", ID_SETTINGS, GRAYED
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "A&vslutt", ID_EXIT
|
||||
END
|
||||
POPUP "&Programmer"
|
||||
BEGIN
|
||||
MENUITEM "&Installere", ID_INSTALL
|
||||
MENUITEM "&Avinstallere",ID_UNINSTALL
|
||||
MENUITEM "&Endre", ID_MODIFY
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Oppdatere", ID_REFRESH
|
||||
END
|
||||
POPUP "Hjelp"
|
||||
BEGIN
|
||||
MENUITEM "Hjelp", ID_HELP, GRAYED
|
||||
MENUITEM "Om", ID_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
IDR_LINKMENU MENU
|
||||
BEGIN
|
||||
POPUP "popup"
|
||||
BEGIN
|
||||
MENUITEM "&Åpne lenke i en nettleser", ID_OPEN_LINK
|
||||
MENUITEM "&Kopier lenke til utklipptavlen", ID_COPY_LINK
|
||||
END
|
||||
END
|
||||
|
||||
IDR_APPLICATIONMENU MENU
|
||||
BEGIN
|
||||
POPUP "popup"
|
||||
BEGIN
|
||||
MENUITEM "&Installere", ID_INSTALL
|
||||
MENUITEM "&Avinstallere", ID_UNINSTALL
|
||||
MENUITEM "&Endre", ID_MODIFY
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Oppdater", ID_REFRESH
|
||||
END
|
||||
END
|
||||
|
||||
IDD_SETTINGS_DIALOG DIALOGEX DISCARDABLE 0, 0, 386, 231
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Innstillinger"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
PUSHBUTTON "OK", IDOK, 255, 212, 60, 14
|
||||
PUSHBUTTON "Avbryt", IDCANCEL, 320, 212, 60, 14
|
||||
END
|
||||
|
||||
IDD_INSTALL_DIALOG DIALOGEX DISCARDABLE 0, 0, 386, 231
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Last ned og installere"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
PUSHBUTTON "OK", IDOK, 255, 212, 60, 14
|
||||
PUSHBUTTON "Avbryt", IDCANCEL, 320, 212, 60, 14
|
||||
END
|
||||
|
||||
IDD_DOWNLOAD_DIALOG DIALOGEX LOADONCALL MOVEABLE DISCARDABLE 0, 0, 220, 76
|
||||
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Lastet ned..."
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "Progress1", IDC_DOWNLOAD_PROGRESS, "msctls_progress32", WS_BORDER | PBS_SMOOTH, 10, 10, 200, 12
|
||||
LTEXT "", IDC_DOWNLOAD_STATUS, 10, 30, 200, 10, SS_CENTER
|
||||
PUSHBUTTON "Avbryt", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP
|
||||
END
|
||||
|
||||
IDD_ABOUT_DIALOG DIALOGEX 22, 16, 190, 66
|
||||
STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
|
||||
CAPTION "Om"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "ReactOS Programbehandler\nEnerett (C) 2009\nav Dmitry Chapyshev ([email protected])", IDC_STATIC, 48, 7, 130, 39
|
||||
PUSHBUTTON "Lukk", IDOK, 133, 46, 50, 14
|
||||
ICON IDI_MAIN, IDC_STATIC, 10, 10, 7, 30
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_TOOLTIP_INSTALL "Installere"
|
||||
IDS_TOOLTIP_UNINSTALL "Avinstallere"
|
||||
IDS_TOOLTIP_MODIFY "Rediger"
|
||||
IDS_TOOLTIP_SETTINGS "Innstillinger"
|
||||
IDS_TOOLTIP_REFRESH "Oppdatere"
|
||||
IDS_TOOLTIP_EXIT "Avslutt"
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_APP_NAME "Navn"
|
||||
IDS_APP_INST_VERSION "Versjon"
|
||||
IDS_APP_DESCRIPTION "Beskrivelse"
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_INFO_VERSION "\nVersjon: "
|
||||
IDS_INFO_DESCRIPTION "\nBeskrivelse: "
|
||||
IDS_INFO_PUBLISHER "\nUtgiver: "
|
||||
IDS_INFO_HELPLINK "\nHjelpelenke: "
|
||||
IDS_INFO_HELPPHONE "\nHjelptelefon: "
|
||||
IDS_INFO_README "\nLes meg: "
|
||||
IDS_INFO_REGOWNER "\nRegistert eier: "
|
||||
IDS_INFO_PRODUCTID "\nProdukt ID: "
|
||||
IDS_INFO_CONTACT "\nKontakt: "
|
||||
IDS_INFO_UPDATEINFO "\nOppdatert informasjon: "
|
||||
IDS_INFO_INFOABOUT "\nInformasjon om: "
|
||||
IDS_INFO_COMMENTS "\nKomentarer: "
|
||||
IDS_INFO_INSTLOCATION "\nInstallering plassering: "
|
||||
IDS_INFO_INSTALLSRC "\nInstallering kilde: "
|
||||
IDS_INFO_UNINSTALLSTR "\nAvinstallering plassering: "
|
||||
IDS_INFO_MODIFYPATH "\nEndret mappe: "
|
||||
IDS_INFO_INSTALLDATE "\nInstallert dato: "
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_AINFO_VERSION "\nVersjon: "
|
||||
IDS_AINFO_DESCRIPTION "\nBeskrivelse: "
|
||||
IDS_AINFO_SIZE "\nStørrelse: "
|
||||
IDS_AINFO_URLSITE "\nHjemmeside: "
|
||||
IDS_AINFO_LICENCE "\nLisens: "
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_CAT_AUDIO "Lyd"
|
||||
IDS_CAT_DEVEL "Utvikling"
|
||||
IDS_CAT_DRIVERS "Drivere"
|
||||
IDS_CAT_EDU "Edutainment"
|
||||
IDS_CAT_ENGINEER "Engineering"
|
||||
IDS_CAT_FINANCE "Finans"
|
||||
IDS_CAT_GAMES "Spill & morro"
|
||||
IDS_CAT_GRAPHICS "Grafikk"
|
||||
IDS_CAT_INTERNET "Internett & Nettverk"
|
||||
IDS_CAT_LIBS "Biblioteker"
|
||||
IDS_CAT_OFFICE "Kontor"
|
||||
IDS_CAT_OTHER "Andre"
|
||||
IDS_CAT_SCIENCE "Vitenskap"
|
||||
IDS_CAT_TOOLS "Verktøy"
|
||||
IDS_CAT_VIDEO "Filmer"
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_APPTITLE "ReactOS programbehandler"
|
||||
IDS_SEARCH_TEXT "Søk..."
|
||||
IDS_INSTALL "Installere"
|
||||
IDS_UNINSTALL "Avinstallere"
|
||||
IDS_MODIFY "Endre"
|
||||
IDS_APPS_COUNT "Program oppsummering: %d"
|
||||
IDS_WELCOME_TITLE "Velkommen til ReactOS programbehandler!\n\n"
|
||||
IDS_WELCOME_TEXT "Velg en kategori til venstre, og velg et program for installere eller avinstallere programvaren.\nReactOS internettside: "
|
||||
IDS_WELCOME_URL "http://www.reactos.org"
|
||||
IDS_INSTALLED "Installert"
|
||||
IDS_AVAILABLEFORINST "Tilgjengelig for installasjon"
|
||||
IDS_UPDATES "Oppdateringer"
|
||||
IDS_APPLICATIONS "Programmer"
|
||||
IDS_DOWNLOAD_FOLDER "Nedlastinger"
|
||||
END
|
||||
@@ -0,0 +1,169 @@
|
||||
// * translated by Caemyr - Olaf Siejka (Aug, 2009)
|
||||
|
||||
LANGUAGE LANG_POLISH, SUBLANG_DEFAULT
|
||||
|
||||
IDR_MAINMENU MENU
|
||||
BEGIN
|
||||
POPUP "&Plik"
|
||||
BEGIN
|
||||
MENUITEM "&Ustawienia", ID_SETTINGS, GRAYED
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Wyjœcie", ID_EXIT
|
||||
END
|
||||
POPUP "&Programy"
|
||||
BEGIN
|
||||
MENUITEM "&Instaluj", ID_INSTALL
|
||||
MENUITEM "&Odinstaluj",ID_UNINSTALL
|
||||
MENUITEM "&Modyfikuj", ID_MODIFY
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "O&dœwie¿", ID_REFRESH
|
||||
END
|
||||
POPUP "Pomoc"
|
||||
BEGIN
|
||||
MENUITEM "Pomoc", ID_HELP, GRAYED
|
||||
MENUITEM "O programie", ID_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
IDR_LINKMENU MENU
|
||||
BEGIN
|
||||
POPUP "popup"
|
||||
BEGIN
|
||||
MENUITEM "&Otwórz link w przegl¹darce", ID_OPEN_LINK
|
||||
MENUITEM "&Skopiuj link do przegl¹darki", ID_COPY_LINK
|
||||
END
|
||||
END
|
||||
|
||||
IDR_APPLICATIONMENU MENU
|
||||
BEGIN
|
||||
POPUP "popup"
|
||||
BEGIN
|
||||
MENUITEM "&Instaluj", ID_INSTALL
|
||||
MENUITEM "&odinstaluj", ID_UNINSTALL
|
||||
MENUITEM "&Modyfikuj", ID_MODIFY
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Odœwie¿", ID_REFRESH
|
||||
END
|
||||
END
|
||||
|
||||
IDD_SETTINGS_DIALOG DIALOGEX DISCARDABLE 0, 0, 386, 231
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Ustawienia"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
PUSHBUTTON "OK", IDOK, 255, 212, 60, 14
|
||||
PUSHBUTTON "Anuluj", IDCANCEL, 320, 212, 60, 14
|
||||
END
|
||||
|
||||
IDD_INSTALL_DIALOG DIALOGEX DISCARDABLE 0, 0, 386, 231
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Œci¹gnij i zainstaluj"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
PUSHBUTTON "OK", IDOK, 255, 212, 60, 14
|
||||
PUSHBUTTON "Anuluj", IDCANCEL, 320, 212, 60, 14
|
||||
END
|
||||
|
||||
IDD_DOWNLOAD_DIALOG 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¹gnij..."
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "Progress1", IDC_DOWNLOAD_PROGRESS, "msctls_progress32", WS_BORDER | PBS_SMOOTH, 10, 10, 200, 12
|
||||
LTEXT "", IDC_DOWNLOAD_STATUS, 10, 30, 200, 10, SS_CENTER
|
||||
PUSHBUTTON "Anuluj", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP
|
||||
END
|
||||
|
||||
IDD_ABOUT_DIALOG DIALOGEX 22, 16, 190, 66
|
||||
STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
|
||||
CAPTION "O programie"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "ReactOS Applications Manager\nCopyright (C) 2009\nby Dmitry Chapyshev ([email protected])", IDC_STATIC, 48, 7, 130, 39
|
||||
PUSHBUTTON "Close", IDOK, 133, 46, 50, 14
|
||||
ICON IDI_MAIN, IDC_STATIC, 10, 10, 7, 30
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_TOOLTIP_INSTALL "Instaluj"
|
||||
IDS_TOOLTIP_UNINSTALL "Odinstaluj"
|
||||
IDS_TOOLTIP_MODIFY "Modyfikuj"
|
||||
IDS_TOOLTIP_SETTINGS "Ustawienia"
|
||||
IDS_TOOLTIP_REFRESH "Odœwie¿"
|
||||
IDS_TOOLTIP_EXIT "Wyjœcie"
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_APP_NAME "Nazwa"
|
||||
IDS_APP_INST_VERSION "Wersja"
|
||||
IDS_APP_DESCRIPTION "Opis"
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_INFO_VERSION "\nWersja: "
|
||||
IDS_INFO_DESCRIPTION "\nOpis: "
|
||||
IDS_INFO_PUBLISHER "\nAutor: "
|
||||
IDS_INFO_HELPLINK "\nLink do pomocy: "
|
||||
IDS_INFO_HELPPHONE "\nInfolinia: "
|
||||
IDS_INFO_README "\nPrzeczytaj.to: "
|
||||
IDS_INFO_REGOWNER "\nW³aœciciel: "
|
||||
IDS_INFO_PRODUCTID "\nProductID: "
|
||||
IDS_INFO_CONTACT "\nKontakt: "
|
||||
IDS_INFO_UPDATEINFO "\nAktualizacje: "
|
||||
IDS_INFO_INFOABOUT "\nInformacje: "
|
||||
IDS_INFO_COMMENTS "\nKomentarze: "
|
||||
IDS_INFO_INSTLOCATION "\nScie¿ka instalacji: "
|
||||
IDS_INFO_INSTALLSRC "\n�ród³o instalacji: "
|
||||
IDS_INFO_UNINSTALLSTR "\nKomenda deinstalacji: "
|
||||
IDS_INFO_MODIFYPATH "\nModify Path: "
|
||||
IDS_INFO_INSTALLDATE "\nData instalacji: "
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_AINFO_VERSION "\nWersja: "
|
||||
IDS_AINFO_DESCRIPTION "\nOpis: "
|
||||
IDS_AINFO_SIZE "\nRozmiar: "
|
||||
IDS_AINFO_URLSITE "\nStrona: "
|
||||
IDS_AINFO_LICENCE "\nLicencja: "
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_CAT_AUDIO "DŸwiêk"
|
||||
IDS_CAT_DEVEL "Programowanie"
|
||||
IDS_CAT_DRIVERS "Sterowniki"
|
||||
IDS_CAT_EDU "Edukacja"
|
||||
IDS_CAT_ENGINEER "In¿ynieria"
|
||||
IDS_CAT_FINANCE "Finanse"
|
||||
IDS_CAT_GAMES "Gry i rozrywka"
|
||||
IDS_CAT_GRAPHICS "Grafika"
|
||||
IDS_CAT_INTERNET "Internet i Sieci"
|
||||
IDS_CAT_LIBS "Biblioteki"
|
||||
IDS_CAT_OFFICE "Biurowe"
|
||||
IDS_CAT_OTHER "Inne"
|
||||
IDS_CAT_SCIENCE "Nauka"
|
||||
IDS_CAT_TOOLS "Narzêdzia"
|
||||
IDS_CAT_VIDEO "Wideo"
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_APPTITLE "Mened¿er aplikacji ReactOS"
|
||||
IDS_SEARCH_TEXT "Szukaj..."
|
||||
IDS_INSTALL "Instaluj"
|
||||
IDS_UNINSTALL "Odinstaluj"
|
||||
IDS_MODIFY "Modyfikuj"
|
||||
IDS_APPS_COUNT "Licznik aplikacji: %d"
|
||||
IDS_WELCOME_TITLE "Witamy w Mened¿erze aplikacji ReactOS!\n\n"
|
||||
IDS_WELCOME_TEXT "Z listy po lewej wybierz kategoriê, a nastêpnie aplikacjê by j¹ zainstalowaæ lub odinstalowaæ.\nStrona projektu ReactOS: "
|
||||
IDS_WELCOME_URL "http://www.reactos.org"
|
||||
IDS_INSTALLED "Zainstalowane"
|
||||
IDS_AVAILABLEFORINST "Dostêpne"
|
||||
IDS_UPDATES "Uaktualnienia"
|
||||
IDS_APPLICATIONS "Aplikacje"
|
||||
IDS_DOWNLOAD_FOLDER "Œci¹gniête"
|
||||
END
|
||||
@@ -0,0 +1,167 @@
|
||||
LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
|
||||
|
||||
IDR_MAINMENU MENU
|
||||
BEGIN
|
||||
POPUP "&Ôàéë"
|
||||
BEGIN
|
||||
MENUITEM "&Ïàðàìåòðû", ID_SETTINGS, GRAYED
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Âûõîä", ID_EXIT
|
||||
END
|
||||
POPUP "&Ïðîãðàììû"
|
||||
BEGIN
|
||||
MENUITEM "&Óñòàíîâèòü", ID_INSTALL
|
||||
MENUITEM "&Óäàëèòü", ID_UNINSTALL
|
||||
MENUITEM "&Èçìåíèòü", ID_MODIFY
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Îáíîâèòü", ID_REFRESH
|
||||
END
|
||||
POPUP "Ñïðàâêà"
|
||||
BEGIN
|
||||
MENUITEM "Ñîäåðæàíèå", ID_HELP, GRAYED
|
||||
MENUITEM "Î ïðîãðàììå", ID_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
IDR_LINKMENU MENU
|
||||
BEGIN
|
||||
POPUP "popup"
|
||||
BEGIN
|
||||
MENUITEM "&Îòêðûòü ññûëêó â áðàóçåðå", ID_OPEN_LINK
|
||||
MENUITEM "&Êîïèðîâàòü ññûëêó â áóôåð", ID_COPY_LINK
|
||||
END
|
||||
END
|
||||
|
||||
IDR_APPLICATIONMENU MENU
|
||||
BEGIN
|
||||
POPUP "popup"
|
||||
BEGIN
|
||||
MENUITEM "&Óñòàíîâèòü", ID_INSTALL
|
||||
MENUITEM "&Óäàëèòü", ID_UNINSTALL
|
||||
MENUITEM "&Èçìåíèòü", ID_MODIFY
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Îáíîâèòü", ID_REFRESH
|
||||
END
|
||||
END
|
||||
|
||||
IDD_SETTINGS_DIALOG DIALOGEX DISCARDABLE 0, 0, 386, 231
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Ïàðàìåòðû"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
PUSHBUTTON "OK", IDOK, 255, 212, 60, 14
|
||||
PUSHBUTTON "Îòìåíà", IDCANCEL, 320, 212, 60, 14
|
||||
END
|
||||
|
||||
IDD_INSTALL_DIALOG DIALOGEX DISCARDABLE 0, 0, 386, 231
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Ñêà÷àòü è óñòàíîâèòü"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
PUSHBUTTON "OK", IDOK, 255, 212, 60, 14
|
||||
PUSHBUTTON "Îòìåíà", IDCANCEL, 320, 212, 60, 14
|
||||
END
|
||||
|
||||
IDD_DOWNLOAD_DIALOG 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_DOWNLOAD_PROGRESS, "msctls_progress32", WS_BORDER | PBS_SMOOTH, 10, 10, 200, 12
|
||||
LTEXT "", IDC_DOWNLOAD_STATUS, 10, 30, 200, 10, SS_CENTER
|
||||
PUSHBUTTON "Îòìåíà", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP
|
||||
END
|
||||
|
||||
IDD_ABOUT_DIALOG DIALOGEX 22, 16, 190, 66
|
||||
STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
|
||||
CAPTION "Î ïðîãðàììå"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Ìåíåäæåð ïðèëîæåíèé ReactOS\nÀâòîðñêèå ïðàâà (C) 2009\nÄìèòðèé ×àïûøåâ ([email protected])", IDC_STATIC, 48, 7, 130, 39
|
||||
PUSHBUTTON "Çàêðûòü", IDOK, 133, 46, 50, 14
|
||||
ICON IDI_MAIN, IDC_STATIC, 10, 10, 7, 30
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_TOOLTIP_INSTALL "Óñòàíîâèòü"
|
||||
IDS_TOOLTIP_UNINSTALL "Óäàëèòü"
|
||||
IDS_TOOLTIP_MODIFY "Èçìåíèòü"
|
||||
IDS_TOOLTIP_SETTINGS "Ïàðàìåòðû"
|
||||
IDS_TOOLTIP_REFRESH "Îáíîâèòü"
|
||||
IDS_TOOLTIP_EXIT "Âûõîä"
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_APP_NAME "Íàçâàíèå"
|
||||
IDS_APP_INST_VERSION "Âåðñèÿ"
|
||||
IDS_APP_DESCRIPTION "Îïèñàíèå"
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_INFO_VERSION "\nÂåðñèÿ: "
|
||||
IDS_INFO_DESCRIPTION "\nÎïèñàíèå: "
|
||||
IDS_INFO_PUBLISHER "\nÈçäàòåëü: "
|
||||
IDS_INFO_HELPLINK "\nÑñûëêà ïîääåðæêè: "
|
||||
IDS_INFO_HELPPHONE "\nÒåëåôîí ïîääåðæêè: "
|
||||
IDS_INFO_README "\nÔàéë ""Readme"": "
|
||||
IDS_INFO_REGOWNER "\nÇàðåãèñòðèðîâàííûé âëàäåëåö: "
|
||||
IDS_INFO_PRODUCTID "\nÊîä ïðîäóêòà: "
|
||||
IDS_INFO_CONTACT "\nÊîíòàêò: "
|
||||
IDS_INFO_UPDATEINFO "\nÈíôîðìàöèÿ îá îáíîâëåíèÿõ: "
|
||||
IDS_INFO_INFOABOUT "\nÈíôîðìàöèÿ î ïðîãðàììå: "
|
||||
IDS_INFO_COMMENTS "\nÊîììåíòàðèè: "
|
||||
IDS_INFO_INSTLOCATION "\nÓñòàíîâëåíî èç: "
|
||||
IDS_INFO_INSTALLSRC "\nÈñòî÷íèê óñòàíîâêè: "
|
||||
IDS_INFO_UNINSTALLSTR "\nÑòðîêà äëÿ óäàëåíèÿ: "
|
||||
IDS_INFO_MODIFYPATH "\nÑòðîêà äëÿ èçìåíåíèÿ: "
|
||||
IDS_INFO_INSTALLDATE "\nÄàòà óñòàíîâêè: "
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_AINFO_VERSION "\nÂåðñèÿ: "
|
||||
IDS_AINFO_DESCRIPTION "\nÎïèñàíèå: "
|
||||
IDS_AINFO_SIZE "\nÐàçìåð: "
|
||||
IDS_AINFO_URLSITE "\nÄîìàøíÿÿ ñòðàíèöà: "
|
||||
IDS_AINFO_LICENCE "\nËèöåíçèÿ: "
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_CAT_AUDIO "Àóäèî"
|
||||
IDS_CAT_DEVEL "Ðàçðàáîòêà"
|
||||
IDS_CAT_DRIVERS "Äðàéâåðû"
|
||||
IDS_CAT_EDU "Îáðàçîâàíèå"
|
||||
IDS_CAT_ENGINEER "Èíæåíåðíûå"
|
||||
IDS_CAT_FINANCE "Ôèíàíñû"
|
||||
IDS_CAT_GAMES "Èãðû è ðàçâëå÷åíèÿ"
|
||||
IDS_CAT_GRAPHICS "Ãðàôèêà"
|
||||
IDS_CAT_INTERNET "Èíòåðíåò è ñåòü"
|
||||
IDS_CAT_LIBS "Áèáëèîòåêè"
|
||||
IDS_CAT_OFFICE "Îôèñ"
|
||||
IDS_CAT_OTHER "Ðàçíîå"
|
||||
IDS_CAT_SCIENCE "Íàóêà"
|
||||
IDS_CAT_TOOLS "Èíñòðóìåíòû"
|
||||
IDS_CAT_VIDEO "Âèäåî"
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_APPTITLE "Ìåíåäæåð ïðèëîæåíèé ReactOS"
|
||||
IDS_SEARCH_TEXT "Ïîèñê..."
|
||||
IDS_INSTALL "Óñòàíîâèòü"
|
||||
IDS_UNINSTALL "Óäàëèòü"
|
||||
IDS_MODIFY "Èçìåíèòü"
|
||||
IDS_APPS_COUNT "Êîëè÷åñòâî: %d"
|
||||
IDS_WELCOME_TITLE "Äîáðî ïîæàëîâàòü â ""Ìåíåäæåð ïðèëîæåíèé ReactOS""!\n\n"
|
||||
IDS_WELCOME_TEXT "Âûáåðèòå êàòåãîðèþ ñëåâà è ïðèëîæåíèå äëÿ óñòàíîâêè èëè óäàëåíèÿ.\nÑàéò ReactOS: "
|
||||
IDS_WELCOME_URL "http://www.reactos.org"
|
||||
IDS_INSTALLED "Óñòàíîâëåííûå"
|
||||
IDS_AVAILABLEFORINST "Äîñòóïíî äëÿ óñòàíîâêè"
|
||||
IDS_UPDATES "Îáíîâëåíèÿ"
|
||||
IDS_APPLICATIONS "Ïðèëîæåíèÿ"
|
||||
IDS_DOWNLOAD_FOLDER "Downloads"
|
||||
END
|
||||
@@ -0,0 +1,172 @@
|
||||
/* TRANSLATOR : Mário Kaèmár /Mario Kacmar/ aka Kario ([email protected])
|
||||
* DATE OF TR.: 29-08-2009
|
||||
* LAST CHANGE: 29-08-2009
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_SLOVAK, SUBLANG_DEFAULT
|
||||
|
||||
IDR_MAINMENU MENU
|
||||
BEGIN
|
||||
POPUP "&Súbor"
|
||||
BEGIN
|
||||
MENUITEM "&Nastavenia", ID_SETTINGS, GRAYED
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "S&konèi�", ID_EXIT
|
||||
END
|
||||
POPUP "&Programy"
|
||||
BEGIN
|
||||
MENUITEM "&Inštalova�", ID_INSTALL
|
||||
MENUITEM "O&dinštalova�", ID_UNINSTALL
|
||||
MENUITEM "&Zmeni�", ID_MODIFY
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Obnovi�", ID_REFRESH
|
||||
END
|
||||
POPUP "Pomocník"
|
||||
BEGIN
|
||||
MENUITEM "Pomocník", ID_HELP, GRAYED
|
||||
MENUITEM "Èo je ...", ID_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
IDR_LINKMENU MENU
|
||||
BEGIN
|
||||
POPUP "popup"
|
||||
BEGIN
|
||||
MENUITEM "&Otvori� linku v prehliadaèi", ID_OPEN_LINK
|
||||
MENUITEM "&Kopírova� linku do schránky", ID_COPY_LINK
|
||||
END
|
||||
END
|
||||
|
||||
IDR_APPLICATIONMENU MENU
|
||||
BEGIN
|
||||
POPUP "popup"
|
||||
BEGIN
|
||||
MENUITEM "&Inštalova�", ID_INSTALL
|
||||
MENUITEM "O&dinštalova�", ID_UNINSTALL
|
||||
MENUITEM "&Zmeni�", ID_MODIFY
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Obnovi�", ID_REFRESH
|
||||
END
|
||||
END
|
||||
|
||||
IDD_SETTINGS_DIALOG DIALOGEX DISCARDABLE 0, 0, 386, 231
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Nastavenia"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
PUSHBUTTON "OK", IDOK, 255, 212, 60, 14
|
||||
PUSHBUTTON "Zruši�", IDCANCEL, 320, 212, 60, 14
|
||||
END
|
||||
|
||||
IDD_INSTALL_DIALOG DIALOGEX DISCARDABLE 0, 0, 386, 231
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Stiahnu� a nainštalova�"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
PUSHBUTTON "OK", IDOK, 255, 212, 60, 14
|
||||
PUSHBUTTON "Zruši�", IDCANCEL, 320, 212, 60, 14
|
||||
END
|
||||
|
||||
IDD_DOWNLOAD_DIALOG 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 ..." // Stiahnu� ???
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "Progress1", IDC_DOWNLOAD_PROGRESS, "msctls_progress32", WS_BORDER | PBS_SMOOTH, 10, 10, 200, 12
|
||||
LTEXT "", IDC_DOWNLOAD_STATUS, 10, 30, 200, 10, SS_CENTER
|
||||
PUSHBUTTON "Zruši�", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP
|
||||
END
|
||||
|
||||
IDD_ABOUT_DIALOG DIALOGEX 22, 16, 190, 66
|
||||
STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
|
||||
CAPTION "Èo je Manažér aplikácií systému ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Manažér aplikácií systému ReactOS\nAutorské práva (C) 2009\nod Dmitry Chapyshev ([email protected])\nPreklad: Mário Kaèmár ([email protected])", IDC_STATIC, 48, 7, 130, 39
|
||||
PUSHBUTTON "Zavrie�", IDOK, 133, 46, 50, 14
|
||||
ICON IDI_MAIN, IDC_STATIC, 10, 10, 7, 30
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_TOOLTIP_INSTALL "Inštalova�"
|
||||
IDS_TOOLTIP_UNINSTALL "Odinštalova�"
|
||||
IDS_TOOLTIP_MODIFY "Zmeni�"
|
||||
IDS_TOOLTIP_SETTINGS "Nastavenia"
|
||||
IDS_TOOLTIP_REFRESH "Obnovi�"
|
||||
IDS_TOOLTIP_EXIT "Skonèi�"
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_APP_NAME "Názov"
|
||||
IDS_APP_INST_VERSION "Verzia"
|
||||
IDS_APP_DESCRIPTION "Popis"
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_INFO_VERSION "\nVerzia: "
|
||||
IDS_INFO_DESCRIPTION "\nPopis: "
|
||||
IDS_INFO_PUBLISHER "\nPublisher: "
|
||||
IDS_INFO_HELPLINK "\nHelp Link: "
|
||||
IDS_INFO_HELPPHONE "\nHelp Telephone: "
|
||||
IDS_INFO_README "\nReadme: "
|
||||
IDS_INFO_REGOWNER "\nRegistered Owner: "
|
||||
IDS_INFO_PRODUCTID "\nProductID: "
|
||||
IDS_INFO_CONTACT "\nKontakt: "
|
||||
IDS_INFO_UPDATEINFO "\nUpdate Information: "
|
||||
IDS_INFO_INFOABOUT "\nInformation About: "
|
||||
IDS_INFO_COMMENTS "\nComments: "
|
||||
IDS_INFO_INSTLOCATION "\nInstall Location: "
|
||||
IDS_INFO_INSTALLSRC "\nInstall Source: "
|
||||
IDS_INFO_UNINSTALLSTR "\nUninstall String: "
|
||||
IDS_INFO_MODIFYPATH "\nModify Path: "
|
||||
IDS_INFO_INSTALLDATE "\nInstall Date: "
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_AINFO_VERSION "\nVerzia: "
|
||||
IDS_AINFO_DESCRIPTION "\nPopis: "
|
||||
IDS_AINFO_SIZE "\nVe¾kos�: "
|
||||
IDS_AINFO_URLSITE "\nDomovská stránka: "
|
||||
IDS_AINFO_LICENCE "\nLicencia: "
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_CAT_AUDIO "Audio"
|
||||
IDS_CAT_DEVEL "Vývojárske" // Development, vývoj??
|
||||
IDS_CAT_DRIVERS "Ovládaèe" // Drivers
|
||||
IDS_CAT_EDU "Vzdelávacie" // Edutainment
|
||||
IDS_CAT_ENGINEER "Inžinierske" // Engineering, konštrukèné??
|
||||
IDS_CAT_FINANCE "Finanèné" // Finance, peòažníctvo??
|
||||
IDS_CAT_GAMES "Hry & zábava" // Games & Fun, zábavné??
|
||||
IDS_CAT_GRAPHICS "Grafické" // Graphics
|
||||
IDS_CAT_INTERNET "Internet & sie�"
|
||||
IDS_CAT_LIBS "Knižnice"
|
||||
IDS_CAT_OFFICE "Kancelárske" // Office
|
||||
IDS_CAT_OTHER "Iné"
|
||||
IDS_CAT_SCIENCE "Vedecké" // Science
|
||||
IDS_CAT_TOOLS "Nástroje" // Tools
|
||||
IDS_CAT_VIDEO "Video"
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_APPTITLE "Manažér aplikácií systému ReactOS"
|
||||
IDS_SEARCH_TEXT "H¾ada�..."
|
||||
IDS_INSTALL "Inštalova�"
|
||||
IDS_UNINSTALL "Odinštalova�"
|
||||
IDS_MODIFY "Zmeni�"
|
||||
IDS_APPS_COUNT "Poèet programov: %d"
|
||||
IDS_WELCOME_TITLE "Víta Vás Manažér aplikácií systému ReactOS!\n\n" // ReactOS Application Manager
|
||||
IDS_WELCOME_TEXT "Vyberte si kategóriu na ¾avej strane, potom vyberte aplikáciu, ktorú chcete nainštalova� alebo odinštalova�.\nWebstránka projektu ReactOS: "
|
||||
IDS_WELCOME_URL "http://www.reactos.org"
|
||||
IDS_INSTALLED "Nainštalované"
|
||||
IDS_AVAILABLEFORINST "Dostupné pre nainštalovanie"
|
||||
IDS_UPDATES "Aktualizácie"
|
||||
IDS_APPLICATIONS "Aplikácie"
|
||||
IDS_DOWNLOAD_FOLDER "S�ahovania" // Downloads
|
||||
END
|
||||
@@ -0,0 +1,175 @@
|
||||
/*
|
||||
* PROJECT: ReactOS ReactOS Applications Manager
|
||||
* LICENSE: GPL - See COPYING in the top level directory
|
||||
* FILE: base/applications/rapps/lang/uk-UA.rc
|
||||
* PURPOSE: Ukraianian Language File for ReactOS ReactOS Applications Manager
|
||||
* TRANSLATOR: Sakara Yevhen
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
|
||||
|
||||
IDR_MAINMENU MENU
|
||||
BEGIN
|
||||
POPUP "&Ôàéë"
|
||||
BEGIN
|
||||
MENUITEM "&Íàëàøòóâàííÿ", ID_SETTINGS, GRAYED
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Â&èõ³ä", ID_EXIT
|
||||
END
|
||||
POPUP "&Ïðîãðàìè"
|
||||
BEGIN
|
||||
MENUITEM "&Âñòàíîâèòè", ID_INSTALL
|
||||
MENUITEM "&Âèäàëèòè",ID_UNINSTALL
|
||||
MENUITEM "&Çì³íèòè", ID_MODIFY
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Îíîâèòè", ID_REFRESH
|
||||
END
|
||||
POPUP "Äîâ³äêà"
|
||||
BEGIN
|
||||
MENUITEM "Äîâ³äêà", ID_HELP, GRAYED
|
||||
MENUITEM "Ïðî ïðîãðàìó...", ID_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
IDR_LINKMENU MENU
|
||||
BEGIN
|
||||
POPUP "popup"
|
||||
BEGIN
|
||||
MENUITEM "&³äêðèòè ïîñèëàííÿ â áðàóçåð³", ID_OPEN_LINK
|
||||
MENUITEM "&Êîï³þâàòè ïîñèëàííÿ â áóôåð îáì³íó", ID_COPY_LINK
|
||||
END
|
||||
END
|
||||
|
||||
IDR_APPLICATIONMENU MENU
|
||||
BEGIN
|
||||
POPUP "popup"
|
||||
BEGIN
|
||||
MENUITEM "&Âñòàíîâèòè", ID_INSTALL
|
||||
MENUITEM "&Âèäàëèòè", ID_UNINSTALL
|
||||
MENUITEM "&Çì³íèòè", ID_MODIFY
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Îíîâèòè", ID_REFRESH
|
||||
END
|
||||
END
|
||||
|
||||
IDD_SETTINGS_DIALOG DIALOGEX DISCARDABLE 0, 0, 386, 231
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Íàëàøòóâàííÿ"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
PUSHBUTTON "Òàê", IDOK, 255, 212, 60, 14
|
||||
PUSHBUTTON "ͳ", IDCANCEL, 320, 212, 60, 14
|
||||
END
|
||||
|
||||
IDD_INSTALL_DIALOG DIALOGEX DISCARDABLE 0, 0, 386, 231
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Çàâàíòàæèòè ³ âñòàíîâèòè"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
PUSHBUTTON "Òàê", IDOK, 255, 212, 60, 14
|
||||
PUSHBUTTON "ͳ", IDCANCEL, 320, 212, 60, 14
|
||||
END
|
||||
|
||||
IDD_DOWNLOAD_DIALOG 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_DOWNLOAD_PROGRESS, "msctls_progress32", WS_BORDER | PBS_SMOOTH, 10, 10, 200, 12
|
||||
LTEXT "", IDC_DOWNLOAD_STATUS, 10, 30, 200, 10, SS_CENTER
|
||||
PUSHBUTTON "³äì³íèòè", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP
|
||||
END
|
||||
|
||||
IDD_ABOUT_DIALOG DIALOGEX 22, 16, 190, 66
|
||||
STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
|
||||
CAPTION "Ïðî ïðîãðàìó..."
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Ìåíåäæåð äîäàòê³â ReactOS\nCopyright (C) 2009\nby Dmitry Chapyshev ([email protected])", IDC_STATIC, 48, 7, 130, 39
|
||||
PUSHBUTTON "Çàêðèòè", IDOK, 133, 46, 50, 14
|
||||
ICON IDI_MAIN, IDC_STATIC, 10, 10, 7, 30
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_TOOLTIP_INSTALL "Âñòàíîâèòè"
|
||||
IDS_TOOLTIP_UNINSTALL "Âèäàëèòè"
|
||||
IDS_TOOLTIP_MODIFY "Çì³íèòè"
|
||||
IDS_TOOLTIP_SETTINGS "Íàëàøòóâàííÿ"
|
||||
IDS_TOOLTIP_REFRESH "Îíîâèòè"
|
||||
IDS_TOOLTIP_EXIT "Âèõ³ä"
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_APP_NAME "²ì’ÿ"
|
||||
IDS_APP_INST_VERSION "Âåðñ³ÿ"
|
||||
IDS_APP_DESCRIPTION "Îïèñ"
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_INFO_VERSION "\nÂåðñ³ÿ: "
|
||||
IDS_INFO_DESCRIPTION "\nÎïèñ: "
|
||||
IDS_INFO_PUBLISHER "\nÂèäàâåöü: "
|
||||
IDS_INFO_HELPLINK "\nÏîñèëàííÿ ï³äòðèìêè: "
|
||||
IDS_INFO_HELPPHONE "\nÒåëåôîí ï³äòðèìêè: "
|
||||
IDS_INFO_README "\n²íôîðìàö³ÿ: "
|
||||
IDS_INFO_REGOWNER "\nÇàðåºñòðîâàíèé âëàñíèê: "
|
||||
IDS_INFO_PRODUCTID "\nID ïðîäóêòó: "
|
||||
IDS_INFO_CONTACT "\nÊîíòàêòíà ³íôîðìàö³ÿ: "
|
||||
IDS_INFO_UPDATEINFO "\nÎíîâëåííÿ ³íôîðìàö³¿: "
|
||||
IDS_INFO_INFOABOUT "\nÏðî ³íôîðìàö³ÿ: "
|
||||
IDS_INFO_COMMENTS "\nÊîìåíòàð³: "
|
||||
IDS_INFO_INSTLOCATION "\nÂñòàíîâëåííÿ ìîâíèõ ëîêàö³é: "
|
||||
IDS_INFO_INSTALLSRC "\nÂñòàíîâèòè âèõ³äíèé êîä: "
|
||||
IDS_INFO_UNINSTALLSTR "\nÂèäàëèòè ðÿäîê: "
|
||||
IDS_INFO_MODIFYPATH "\nÇì³íèòè øëÿõ: "
|
||||
IDS_INFO_INSTALLDATE "\nÂñòàíîâèòè äàòó: "
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_AINFO_VERSION "\nÂåðñ³ÿ: "
|
||||
IDS_AINFO_DESCRIPTION "\nÎïèñ: "
|
||||
IDS_AINFO_SIZE "\nÐîçì³ð: "
|
||||
IDS_AINFO_URLSITE "\nÄîìàøíÿ ñòîð³íêà: "
|
||||
IDS_AINFO_LICENCE "\n˳öåíç³ÿ: "
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_CAT_AUDIO "Àóä³î"
|
||||
IDS_CAT_DEVEL "Ðîçðîáêà"
|
||||
IDS_CAT_DRIVERS "Äðàéâåðè"
|
||||
IDS_CAT_EDU "Ðîçâèòîê"
|
||||
IDS_CAT_ENGINEER "Òåõí³êà"
|
||||
IDS_CAT_FINANCE "Ô³íàíñè "
|
||||
IDS_CAT_GAMES "²ãðè òà ðîçâàãè"
|
||||
IDS_CAT_GRAPHICS "Ãðàô³êà"
|
||||
IDS_CAT_INTERNET "²íòåðíåò ³ ìåðåæà"
|
||||
IDS_CAT_LIBS "Á³áë³îòåêè"
|
||||
IDS_CAT_OFFICE "Îô³ñ"
|
||||
IDS_CAT_OTHER "²íøå"
|
||||
IDS_CAT_SCIENCE "Íàóêà"
|
||||
IDS_CAT_TOOLS "²íñòðóìåíòè"
|
||||
IDS_CAT_VIDEO "³äåî"
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_APPTITLE "Ìåíåäæåð äîäàòê³â ReactOS"
|
||||
IDS_SEARCH_TEXT "Ïîøóê..."
|
||||
IDS_INSTALL "Âñòàíîâèòè"
|
||||
IDS_UNINSTALL "Âèäàëèòè"
|
||||
IDS_MODIFY "Çì³íèòè"
|
||||
IDS_APPS_COUNT "ʳëüê³ñòü äîäàòê³â: %d"
|
||||
IDS_WELCOME_TITLE "Ëàñêàâî ïðîñèìî â Ìåíåäæåð äîäàòê³â ReactOS!\n\n"
|
||||
IDS_WELCOME_TEXT "Âèáåð³òü êàòåãîð³þ çë³âà, à ïîò³ì âèáåð³òü ïðîãðàìè äëÿ âñòàíîâëåííÿ ÷è âèäàëåííÿ.\nÑòîð³íêà ReactOS: "
|
||||
IDS_WELCOME_URL "http://www.reactos.org"
|
||||
IDS_INSTALLED "Âñòàíîâëåíà"
|
||||
IDS_AVAILABLEFORINST "Äîñòóïí³ äëÿ âñòàíîâëåííÿ"
|
||||
IDS_UPDATES "Îíîâëåííÿ"
|
||||
IDS_APPLICATIONS "Äîäàòêè"
|
||||
IDS_DOWNLOAD_FOLDER "Çàâàíòàæåííÿ"
|
||||
END
|
||||
@@ -0,0 +1,122 @@
|
||||
/*
|
||||
* PROJECT: ReactOS Applications Manager
|
||||
* LICENSE: GPL - See COPYING in the top level directory
|
||||
* FILE: base/applications/rapps/listview.c
|
||||
* PURPOSE: ListView functions
|
||||
* PROGRAMMERS: Dmitry Chapyshev ([email protected])
|
||||
*/
|
||||
|
||||
#include "rapps.h"
|
||||
|
||||
HWND hListView;
|
||||
BOOL bAscending = TRUE;
|
||||
|
||||
|
||||
PVOID
|
||||
ListViewGetlParam(INT Index)
|
||||
{
|
||||
INT ItemIndex;
|
||||
LVITEM Item;
|
||||
|
||||
if (Index == -1)
|
||||
{
|
||||
ItemIndex = (INT) SendMessage(hListView, LVM_GETNEXTITEM, -1, LVNI_FOCUSED);
|
||||
if (ItemIndex == -1)
|
||||
return NULL;
|
||||
}
|
||||
else
|
||||
{
|
||||
ItemIndex = Index;
|
||||
}
|
||||
|
||||
ZeroMemory(&Item, sizeof(LVITEM));
|
||||
|
||||
Item.mask = LVIF_PARAM;
|
||||
Item.iItem = ItemIndex;
|
||||
if (!ListView_GetItem(hListView, &Item))
|
||||
return NULL;
|
||||
|
||||
return (PVOID)Item.lParam;
|
||||
}
|
||||
|
||||
BOOL
|
||||
ListViewAddColumn(INT Index, LPWSTR lpText, INT Width, INT Format)
|
||||
{
|
||||
LV_COLUMN Column;
|
||||
|
||||
ZeroMemory(&Column, sizeof(LV_COLUMN));
|
||||
|
||||
Column.mask = LVCF_FMT | LVCF_TEXT | LVCF_WIDTH | LVCF_SUBITEM;
|
||||
Column.iSubItem = Index;
|
||||
Column.pszText = (LPTSTR)lpText;
|
||||
Column.cx = Width;
|
||||
Column.fmt = Format;
|
||||
|
||||
return (ListView_InsertColumn(hListView, Index, &Column) == -1) ? FALSE : TRUE;
|
||||
}
|
||||
|
||||
INT
|
||||
ListViewAddItem(INT ItemIndex, INT IconIndex, LPWSTR lpText, LPARAM lParam)
|
||||
{
|
||||
LV_ITEMW Item;
|
||||
|
||||
ZeroMemory(&Item, sizeof(LV_ITEM));
|
||||
|
||||
Item.mask = LVIF_TEXT | LVIF_PARAM | LVIF_STATE | LVIF_IMAGE;
|
||||
Item.pszText = lpText;
|
||||
Item.lParam = lParam;
|
||||
Item.iItem = ItemIndex;
|
||||
Item.iImage = IconIndex;
|
||||
|
||||
return ListView_InsertItem(hListView, &Item);
|
||||
}
|
||||
|
||||
INT
|
||||
CALLBACK
|
||||
ListViewCompareFunc(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort)
|
||||
{
|
||||
WCHAR Item1[MAX_STR_LEN], Item2[MAX_STR_LEN];
|
||||
LVFINDINFO IndexInfo;
|
||||
INT Index;
|
||||
|
||||
IndexInfo.flags = LVFI_PARAM;
|
||||
|
||||
IndexInfo.lParam = lParam1;
|
||||
Index = ListView_FindItem(hListView, -1, &IndexInfo);
|
||||
ListView_GetItemText(hListView, Index, (INT)lParamSort, Item1, sizeof(Item1) / sizeof(WCHAR));
|
||||
|
||||
IndexInfo.lParam = lParam2;
|
||||
Index = ListView_FindItem(hListView, -1, &IndexInfo);
|
||||
ListView_GetItemText(hListView, Index, (INT)lParamSort, Item2, sizeof(Item2) / sizeof(WCHAR));
|
||||
|
||||
if (bAscending)
|
||||
return wcscmp(Item2, Item1);
|
||||
else
|
||||
return wcscmp(Item1, Item2);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
BOOL
|
||||
CreateListView(HWND hwnd)
|
||||
{
|
||||
hListView = CreateWindowExW(WS_EX_CLIENTEDGE,
|
||||
WC_LISTVIEWW,
|
||||
L"",
|
||||
WS_CHILD | WS_VISIBLE | LVS_SORTASCENDING | LVS_REPORT | LVS_SINGLESEL,
|
||||
205, 28, 465, 250,
|
||||
hwnd,
|
||||
NULL,
|
||||
hInst,
|
||||
NULL);
|
||||
|
||||
if (!hListView)
|
||||
{
|
||||
/* TODO: Show error message */
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
(VOID) ListView_SetExtendedListViewStyle(hListView, LVS_EX_FULLROWSELECT);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
@@ -0,0 +1,402 @@
|
||||
/* PROJECT: ReactOS Applications Manager
|
||||
* LICENSE: GPL - See COPYING in the top level directory
|
||||
* FILE: base/applications/rapps/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 ([email protected])
|
||||
* Copyright 2009 Dmitry Chapyshev ([email protected])
|
||||
*/
|
||||
/*
|
||||
* Based on Wine dlls/shdocvw/shdocvw_main.c
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#define COBJMACROS
|
||||
#define WIN32_NO_STATUS
|
||||
|
||||
#include "rapps.h"
|
||||
#include "resource.h"
|
||||
|
||||
#include <commctrl.h>
|
||||
#include <shlobj.h>
|
||||
#include <shlwapi.h>
|
||||
#include <urlmon.h>
|
||||
|
||||
static PAPPLICATION_INFO AppInfo;
|
||||
|
||||
typedef struct _IBindStatusCallbackImpl
|
||||
{
|
||||
const IBindStatusCallbackVtbl *vtbl;
|
||||
LONG ref;
|
||||
HWND hDialog;
|
||||
BOOL *pbCancelled;
|
||||
} IBindStatusCallbackImpl;
|
||||
|
||||
static
|
||||
HRESULT WINAPI
|
||||
dlQueryInterface(IBindStatusCallback* This, REFIID riid, void** ppvObject)
|
||||
{
|
||||
if (!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)
|
||||
{
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
static
|
||||
HRESULT WINAPI
|
||||
dlGetPriority(IBindStatusCallback* iface, LONG* pnPriority)
|
||||
{
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
static
|
||||
HRESULT WINAPI
|
||||
dlOnLowResource( IBindStatusCallback* iface, DWORD reserved)
|
||||
{
|
||||
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_DOWNLOAD_PROGRESS);
|
||||
if (Item && ulProgressMax)
|
||||
{
|
||||
SendMessageW(Item, PBM_SETPOS, ((ULONGLONG)ulProgress * 100) / ulProgressMax, 0);
|
||||
}
|
||||
|
||||
Item = GetDlgItem(This->hDialog, IDC_DOWNLOAD_STATUS);
|
||||
if (Item && 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;
|
||||
return E_ABORT;
|
||||
}
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
static
|
||||
HRESULT WINAPI
|
||||
dlOnStopBinding(IBindStatusCallback* iface, HRESULT hresult, LPCWSTR szError)
|
||||
{
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
static
|
||||
HRESULT WINAPI
|
||||
dlGetBindInfo(IBindStatusCallback* iface, DWORD* grfBINDF, BINDINFO* pbindinfo)
|
||||
{
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
static
|
||||
HRESULT WINAPI
|
||||
dlOnDataAvailable(IBindStatusCallback* iface, DWORD grfBSCF,
|
||||
DWORD dwSize, FORMATETC* pformatetc, STGMEDIUM* pstgmed)
|
||||
{
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
static
|
||||
HRESULT WINAPI
|
||||
dlOnObjectAvailable(IBindStatusCallback* iface, REFIID riid, IUnknown* punk)
|
||||
{
|
||||
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)
|
||||
{
|
||||
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 = NULL;
|
||||
DWORD dwSize = MAX_PATH;
|
||||
|
||||
/* built the path for the download */
|
||||
p = wcsrchr(AppInfo->szUrlDownload, L'/');
|
||||
if (!p) goto end;
|
||||
|
||||
/* Create default download path */
|
||||
if (GetWindowsDirectoryW(path, sizeof(path) / sizeof(WCHAR)))
|
||||
{
|
||||
WCHAR DPath[MAX_PATH];
|
||||
int i;
|
||||
for (i = 0; i < 4; i++)
|
||||
{
|
||||
if (i == 3)
|
||||
{
|
||||
DPath[i] = '\0';
|
||||
break;
|
||||
}
|
||||
DPath[i] = path[i];
|
||||
}
|
||||
LoadStringW(hInst, IDS_DOWNLOAD_FOLDER, path, sizeof(path) / sizeof(WCHAR));
|
||||
wcscat(DPath, path);
|
||||
wcscpy(path, DPath);
|
||||
}
|
||||
|
||||
if (wcslen(AppInfo->szUrlDownload) > 4)
|
||||
{
|
||||
if (AppInfo->szUrlDownload[wcslen(AppInfo->szUrlDownload) - 4] == '.' &&
|
||||
AppInfo->szUrlDownload[wcslen(AppInfo->szUrlDownload) - 3] == 'c' &&
|
||||
AppInfo->szUrlDownload[wcslen(AppInfo->szUrlDownload) - 2] == 'a' &&
|
||||
AppInfo->szUrlDownload[wcslen(AppInfo->szUrlDownload) - 1] == 'b')
|
||||
{
|
||||
if (!GetCurrentDirectoryW(MAX_PATH, path))
|
||||
goto end;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (RegOpenKeyW(HKEY_LOCAL_MACHINE,
|
||||
L"Software\\ReactOS\\rappmgr",
|
||||
&hKey) == ERROR_SUCCESS)
|
||||
{
|
||||
if ((RegQueryValueExW(hKey,
|
||||
L"DownloadFolder",
|
||||
NULL,
|
||||
NULL,
|
||||
(LPBYTE)&path,
|
||||
&dwSize) != ERROR_SUCCESS) && (path[0] == 0))
|
||||
{
|
||||
RegCloseKey(hKey);
|
||||
goto end;
|
||||
}
|
||||
RegCloseKey(hKey);
|
||||
}
|
||||
}
|
||||
}
|
||||
else goto end;
|
||||
|
||||
if (GetFileAttributesW(path) == 0xFFFFFFFF)
|
||||
{
|
||||
if (!CreateDirectoryW(path, NULL))
|
||||
goto end;
|
||||
}
|
||||
|
||||
wcscat(path, L"\\");
|
||||
wcscat(path, p + 1);
|
||||
|
||||
/* download it */
|
||||
bTempfile = TRUE;
|
||||
dl = CreateDl(Context, &bCancelled);
|
||||
r = URLDownloadToFileW(NULL, AppInfo->szUrlDownload, path, 0, dl);
|
||||
if (dl) IBindStatusCallback_Release(dl);
|
||||
if (S_OK != r)
|
||||
{
|
||||
MessageBoxW(0, L"Download error!", NULL, 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);
|
||||
}
|
||||
EndDialog(Dlg, 0);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static
|
||||
INT_PTR CALLBACK
|
||||
DownloadDlgProc(HWND Dlg, UINT Msg, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
HANDLE Thread;
|
||||
DWORD ThreadId;
|
||||
HWND Item;
|
||||
|
||||
switch (Msg)
|
||||
{
|
||||
case WM_INITDIALOG:
|
||||
|
||||
SetWindowLongPtrW(Dlg, GWLP_USERDATA, 0);
|
||||
Item = GetDlgItem(Dlg, IDC_DOWNLOAD_PROGRESS);
|
||||
if (Item)
|
||||
{
|
||||
SendMessageW(Item, PBM_SETRANGE, 0, MAKELPARAM(0, 100));
|
||||
SendMessageW(Item, PBM_SETPOS, 0, 0);
|
||||
}
|
||||
|
||||
Thread = CreateThread(NULL, 0, ThreadFunc, Dlg, 0, &ThreadId);
|
||||
if (!Thread) return FALSE;
|
||||
CloseHandle(Thread);
|
||||
return TRUE;
|
||||
|
||||
case WM_COMMAND:
|
||||
if (wParam == IDCANCEL)
|
||||
{
|
||||
SetWindowLongPtrW(Dlg, GWLP_USERDATA, 1);
|
||||
PostMessageW(Dlg, WM_CLOSE, 0, 0);
|
||||
}
|
||||
return FALSE;
|
||||
|
||||
case WM_CLOSE:
|
||||
EndDialog(Dlg, 0);
|
||||
return TRUE;
|
||||
|
||||
default:
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
BOOL
|
||||
DownloadApplication(INT Index)
|
||||
{
|
||||
if (!IS_AVAILABLE_ENUM(SelectedEnumType))
|
||||
return FALSE;
|
||||
|
||||
AppInfo = (PAPPLICATION_INFO) ListViewGetlParam(Index);
|
||||
if (!AppInfo) return FALSE;
|
||||
|
||||
DialogBoxW(hInst,
|
||||
MAKEINTRESOURCEW(IDD_DOWNLOAD_DIALOG),
|
||||
hMainWnd,
|
||||
DownloadDlgProc);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
VOID
|
||||
DownloadApplicationsDB(LPWSTR lpUrl)
|
||||
{
|
||||
APPLICATION_INFO IntInfo;
|
||||
|
||||
ZeroMemory(&IntInfo, sizeof(APPLICATION_INFO));
|
||||
wcscpy(IntInfo.szUrlDownload, lpUrl);
|
||||
|
||||
AppInfo = &IntInfo;
|
||||
|
||||
DialogBoxW(hInst,
|
||||
MAKEINTRESOURCEW(IDD_DOWNLOAD_DIALOG),
|
||||
hMainWnd,
|
||||
DownloadDlgProc);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
|
||||
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
|
||||
<dependency>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity type='win32'
|
||||
name='Microsoft.Windows.Common-Controls'
|
||||
version='6.0.0.0'
|
||||
processorArchitecture='*'
|
||||
publicKeyToken='6595b64144ccf1df'
|
||||
language='*' />
|
||||
</dependentAssembly>
|
||||
</dependency>
|
||||
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
|
||||
<security>
|
||||
<requestedPrivileges>
|
||||
<requestedExecutionLevel level='highestAvailable' uiAccess='false' />
|
||||
</requestedPrivileges>
|
||||
</security>
|
||||
</trustInfo>
|
||||
</assembly>
|
||||
@@ -0,0 +1,246 @@
|
||||
/*
|
||||
* PROJECT: ReactOS Applications Manager
|
||||
* LICENSE: GPL - See COPYING in the top level directory
|
||||
* FILE: base/applications/rapps/misc.c
|
||||
* PURPOSE: Misc functions
|
||||
* PROGRAMMERS: Dmitry Chapyshev ([email protected])
|
||||
*/
|
||||
|
||||
#include "rapps.h"
|
||||
|
||||
|
||||
/* SESSION Operation */
|
||||
#define EXTRACT_FILLFILELIST 0x00000001
|
||||
#define EXTRACT_EXTRACTFILES 0x00000002
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int erfOper;
|
||||
int erfType;
|
||||
BOOL fError;
|
||||
} ERF, *PERF;
|
||||
|
||||
struct FILELIST
|
||||
{
|
||||
LPSTR FileName;
|
||||
struct FILELIST *next;
|
||||
BOOL DoExtract;
|
||||
};
|
||||
|
||||
typedef struct
|
||||
{
|
||||
INT FileSize;
|
||||
ERF Error;
|
||||
struct FILELIST *FileList;
|
||||
INT FileCount;
|
||||
INT Operation;
|
||||
CHAR Destination[MAX_PATH];
|
||||
CHAR CurrentFile[MAX_PATH];
|
||||
CHAR Reserved[MAX_PATH];
|
||||
struct FILELIST *FilterList;
|
||||
} SESSION;
|
||||
|
||||
HRESULT (WINAPI *pfnExtract)(SESSION *dest, LPCSTR szCabName);
|
||||
|
||||
|
||||
INT
|
||||
GetSystemColorDepth(VOID)
|
||||
{
|
||||
DEVMODE pDevMode;
|
||||
INT ColorDepth;
|
||||
|
||||
pDevMode.dmSize = sizeof(DEVMODE);
|
||||
pDevMode.dmDriverExtra = 0;
|
||||
|
||||
if (!EnumDisplaySettings(NULL, ENUM_CURRENT_SETTINGS, &pDevMode))
|
||||
{
|
||||
/* TODO: Error message */
|
||||
return ILC_COLOR;
|
||||
}
|
||||
|
||||
switch (pDevMode.dmBitsPerPel)
|
||||
{
|
||||
case 32: ColorDepth = ILC_COLOR32; break;
|
||||
case 24: ColorDepth = ILC_COLOR24; break;
|
||||
case 16: ColorDepth = ILC_COLOR16; break;
|
||||
case 8: ColorDepth = ILC_COLOR8; break;
|
||||
case 4: ColorDepth = ILC_COLOR4; break;
|
||||
default: ColorDepth = ILC_COLOR; break;
|
||||
}
|
||||
|
||||
return ColorDepth;
|
||||
}
|
||||
|
||||
int
|
||||
GetWindowWidth(HWND hwnd)
|
||||
{
|
||||
RECT Rect;
|
||||
|
||||
GetWindowRect(hwnd, &Rect);
|
||||
return (Rect.right - Rect.left);
|
||||
}
|
||||
|
||||
int
|
||||
GetWindowHeight(HWND hwnd)
|
||||
{
|
||||
RECT Rect;
|
||||
|
||||
GetWindowRect(hwnd, &Rect);
|
||||
return (Rect.bottom - Rect.top);
|
||||
}
|
||||
|
||||
int
|
||||
GetClientWindowWidth(HWND hwnd)
|
||||
{
|
||||
RECT Rect;
|
||||
|
||||
GetClientRect(hwnd, &Rect);
|
||||
return (Rect.right - Rect.left);
|
||||
}
|
||||
|
||||
int
|
||||
GetClientWindowHeight(HWND hwnd)
|
||||
{
|
||||
RECT Rect;
|
||||
|
||||
GetClientRect(hwnd, &Rect);
|
||||
return (Rect.bottom - Rect.top);
|
||||
}
|
||||
|
||||
VOID
|
||||
CopyTextToClipboard(LPCWSTR lpszText)
|
||||
{
|
||||
if(OpenClipboard(NULL))
|
||||
{
|
||||
HGLOBAL ClipBuffer;
|
||||
WCHAR *Buffer;
|
||||
|
||||
EmptyClipboard();
|
||||
ClipBuffer = GlobalAlloc(GMEM_DDESHARE, (wcslen(lpszText) + 1) * sizeof(TCHAR));
|
||||
Buffer = (WCHAR*)GlobalLock(ClipBuffer);
|
||||
wcscpy(Buffer, lpszText);
|
||||
GlobalUnlock(ClipBuffer);
|
||||
|
||||
SetClipboardData(CF_UNICODETEXT, ClipBuffer);
|
||||
|
||||
CloseClipboard();
|
||||
}
|
||||
}
|
||||
|
||||
VOID
|
||||
SetWelcomeText(VOID)
|
||||
{
|
||||
WCHAR szText[MAX_STR_LEN*3];
|
||||
|
||||
LoadStringW(hInst, IDS_WELCOME_TITLE, szText, sizeof(szText) / sizeof(WCHAR));
|
||||
NewRichEditText(szText, CFE_BOLD);
|
||||
|
||||
LoadStringW(hInst, IDS_WELCOME_TEXT, szText, sizeof(szText) / sizeof(WCHAR));
|
||||
InsertRichEditText(szText, 0);
|
||||
|
||||
LoadStringW(hInst, IDS_WELCOME_URL, szText, sizeof(szText) / sizeof(WCHAR));
|
||||
InsertRichEditText(szText, CFM_LINK);
|
||||
}
|
||||
|
||||
VOID
|
||||
ShowPopupMenu(HWND hwnd, UINT MenuID)
|
||||
{
|
||||
HMENU hPopupMenu = GetSubMenu(LoadMenuW(hInst, MAKEINTRESOURCEW(MenuID)), 0);
|
||||
POINT pt;
|
||||
|
||||
GetCursorPos(&pt);
|
||||
|
||||
SetForegroundWindow(hwnd);
|
||||
TrackPopupMenu(hPopupMenu, 0, pt.x, pt.y, 0, hMainWnd, NULL);
|
||||
|
||||
DestroyMenu(hPopupMenu);
|
||||
}
|
||||
|
||||
BOOL
|
||||
StartProcess(LPWSTR lpPath, BOOL Wait)
|
||||
{
|
||||
PROCESS_INFORMATION pi;
|
||||
STARTUPINFOW si;
|
||||
DWORD dwRet;
|
||||
MSG msg;
|
||||
|
||||
ZeroMemory(&si, sizeof(si));
|
||||
si.cb = sizeof(si);
|
||||
si.wShowWindow = SW_SHOW;
|
||||
|
||||
if (!CreateProcessW(NULL, lpPath, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi))
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
CloseHandle(pi.hThread);
|
||||
if (Wait) EnableWindow(hMainWnd, FALSE);
|
||||
|
||||
while (Wait)
|
||||
{
|
||||
dwRet = MsgWaitForMultipleObjects(1, &pi.hProcess, FALSE, INFINITE, QS_ALLEVENTS);
|
||||
if (dwRet == WAIT_OBJECT_0 + 1)
|
||||
{
|
||||
while (PeekMessageW(&msg, NULL, 0, 0, PM_REMOVE))
|
||||
{
|
||||
TranslateMessage(&msg);
|
||||
DispatchMessage(&msg);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (dwRet == WAIT_OBJECT_0 || dwRet == WAIT_FAILED)
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
CloseHandle(pi.hProcess);
|
||||
|
||||
if (Wait)
|
||||
{
|
||||
EnableWindow(hMainWnd, TRUE);
|
||||
SetForegroundWindow(hMainWnd);
|
||||
SetFocus(hMainWnd);
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
BOOL
|
||||
ExtractFilesFromCab(LPWSTR lpCabName, LPWSTR lpOutputPath)
|
||||
{
|
||||
HINSTANCE hCabinetDll;
|
||||
CHAR szCabName[MAX_PATH];
|
||||
SESSION Dest;
|
||||
HRESULT Result;
|
||||
|
||||
hCabinetDll = LoadLibraryW(L"cabinet.dll");
|
||||
if (hCabinetDll)
|
||||
{
|
||||
pfnExtract = (void *) GetProcAddress(hCabinetDll, "Extract");
|
||||
if (pfnExtract)
|
||||
{
|
||||
ZeroMemory(&Dest, sizeof(SESSION));
|
||||
|
||||
WideCharToMultiByte(CP_ACP, 0, lpOutputPath, -1, Dest.Destination, MAX_PATH, NULL, NULL);
|
||||
WideCharToMultiByte(CP_ACP, 0, lpCabName, -1, szCabName, MAX_PATH, NULL, NULL);
|
||||
Dest.Operation = EXTRACT_FILLFILELIST;
|
||||
|
||||
Result = pfnExtract(&Dest, szCabName);
|
||||
if (Result == S_OK)
|
||||
{
|
||||
Dest.Operation = EXTRACT_EXTRACTFILES;
|
||||
Result = pfnExtract(&Dest, szCabName);
|
||||
if (Result == S_OK)
|
||||
{
|
||||
FreeLibrary(hCabinetDll);
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
}
|
||||
FreeLibrary(hCabinetDll);
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
@@ -0,0 +1,737 @@
|
||||
/*
|
||||
* PROJECT: ReactOS Applications Manager
|
||||
* LICENSE: GPL - See COPYING in the top level directory
|
||||
* FILE: base/applications/rapps/parser.c
|
||||
* PURPOSE: Parser functions
|
||||
* PROGRAMMERS: Dmitry Chapyshev ([email protected])
|
||||
*/
|
||||
|
||||
#include "rapps.h"
|
||||
|
||||
typedef LONG NTSTATUS;
|
||||
|
||||
typedef struct _UNICODE_STRING {
|
||||
USHORT Length;
|
||||
USHORT MaximumLength;
|
||||
PWSTR Buffer;
|
||||
} UNICODE_STRING, *PUNICODE_STRING;
|
||||
|
||||
void WINAPI RtlInitUnicodeString(PUNICODE_STRING,PCWSTR);
|
||||
NTSTATUS WINAPI RtlUnicodeStringToInteger(const UNICODE_STRING*,ULONG,ULONG*);
|
||||
BOOLEAN WINAPI RtlIsTextUnicode(LPCVOID,INT,INT*);
|
||||
|
||||
static const char bom_utf8[] = {0xEF,0xBB,0xBF};
|
||||
|
||||
typedef enum
|
||||
{
|
||||
ENCODING_UTF8 = 1,
|
||||
ENCODING_UTF16LE,
|
||||
ENCODING_UTF16BE
|
||||
} ENCODING;
|
||||
|
||||
typedef struct tagSECTIONKEY
|
||||
{
|
||||
WCHAR *value;
|
||||
struct tagSECTIONKEY *next;
|
||||
WCHAR name[1];
|
||||
} SECTIONKEY;
|
||||
|
||||
typedef struct tagSECTION
|
||||
{
|
||||
struct tagSECTIONKEY *key;
|
||||
struct tagSECTION *next;
|
||||
WCHAR name[1];
|
||||
} SECTION;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
BOOL changed;
|
||||
SECTION *section;
|
||||
WCHAR *filename;
|
||||
ENCODING encoding;
|
||||
} ITEMS;
|
||||
|
||||
|
||||
#define N_CACHED_ITEMS 10
|
||||
static ITEMS *ItemsArray[N_CACHED_ITEMS] = {NULL};
|
||||
#define CurProfile (ItemsArray[0])
|
||||
#define IS_ENTRY_COMMENT(str) ((str)[0] == ';')
|
||||
#define ParserIsSpace(c) (iswspace(c) || c == 0x1a)
|
||||
|
||||
|
||||
static
|
||||
WCHAR*
|
||||
memchrW(const WCHAR *ptr, WCHAR ch, size_t n)
|
||||
{
|
||||
const WCHAR *end;
|
||||
for (end = ptr + n; ptr < end; ptr++)
|
||||
if (*ptr == ch)
|
||||
return (WCHAR *)(ULONG_PTR)ptr;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static
|
||||
WCHAR
|
||||
*memrchrW(const WCHAR *ptr, WCHAR ch, size_t n)
|
||||
{
|
||||
const WCHAR *end;
|
||||
WCHAR *ret = NULL;
|
||||
for (end = ptr + n; ptr < end; ptr++)
|
||||
if (*ptr == ch)
|
||||
ret = (WCHAR *)(ULONG_PTR)ptr;
|
||||
return ret;
|
||||
}
|
||||
|
||||
static
|
||||
void
|
||||
ParserCopyEntry(LPWSTR buffer, LPCWSTR value, int len, BOOL strip_quote)
|
||||
{
|
||||
WCHAR quote = '\0';
|
||||
|
||||
if (!buffer) return;
|
||||
|
||||
if (strip_quote && ((*value == '\'') || (*value == '\"')))
|
||||
{
|
||||
if (value[1] && (value[wcslen(value)-1] == *value))
|
||||
quote = *value++;
|
||||
}
|
||||
|
||||
lstrcpynW(buffer, value, len);
|
||||
if (quote && (len >= (int)wcslen(value))) buffer[wcslen(buffer)-1] = '\0';
|
||||
}
|
||||
|
||||
static
|
||||
void
|
||||
ParserByteSwapShortBuffer(WCHAR * buffer, int len)
|
||||
{
|
||||
int i;
|
||||
USHORT * shortbuffer = buffer;
|
||||
for (i = 0; i < len; i++)
|
||||
shortbuffer[i] = (shortbuffer[i] >> 8) | (shortbuffer[i] << 8);
|
||||
}
|
||||
|
||||
static
|
||||
void
|
||||
ParserWriteMarker(HANDLE hFile, ENCODING encoding)
|
||||
{
|
||||
DWORD dwBytesWritten;
|
||||
WCHAR bom;
|
||||
|
||||
switch (encoding)
|
||||
{
|
||||
case ENCODING_UTF8:
|
||||
WriteFile(hFile, bom_utf8, sizeof(bom_utf8), &dwBytesWritten, NULL);
|
||||
break;
|
||||
|
||||
case ENCODING_UTF16LE:
|
||||
bom = 0xFEFF;
|
||||
WriteFile(hFile, &bom, sizeof(bom), &dwBytesWritten, NULL);
|
||||
break;
|
||||
|
||||
case ENCODING_UTF16BE:
|
||||
bom = 0xFFFE;
|
||||
WriteFile(hFile, &bom, sizeof(bom), &dwBytesWritten, NULL);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static
|
||||
void
|
||||
ParserWriteLine(HANDLE hFile, WCHAR * szLine, int len, ENCODING encoding)
|
||||
{
|
||||
char * write_buffer;
|
||||
int write_buffer_len;
|
||||
DWORD dwBytesWritten;
|
||||
|
||||
switch (encoding)
|
||||
{
|
||||
case ENCODING_UTF8:
|
||||
write_buffer_len = WideCharToMultiByte(CP_UTF8, 0, szLine, len, NULL, 0, NULL, NULL);
|
||||
write_buffer = HeapAlloc(GetProcessHeap(), 0, write_buffer_len);
|
||||
if (!write_buffer) return;
|
||||
len = WideCharToMultiByte(CP_UTF8, 0, szLine, len, write_buffer, write_buffer_len, NULL, NULL);
|
||||
WriteFile(hFile, write_buffer, len, &dwBytesWritten, NULL);
|
||||
HeapFree(GetProcessHeap(), 0, write_buffer);
|
||||
break;
|
||||
|
||||
case ENCODING_UTF16LE:
|
||||
WriteFile(hFile, szLine, len * sizeof(WCHAR), &dwBytesWritten, NULL);
|
||||
break;
|
||||
|
||||
case ENCODING_UTF16BE:
|
||||
ParserByteSwapShortBuffer(szLine, len);
|
||||
WriteFile(hFile, szLine, len * sizeof(WCHAR), &dwBytesWritten, NULL);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static
|
||||
void
|
||||
ParserSave(HANDLE hFile, const SECTION *section, ENCODING encoding)
|
||||
{
|
||||
SECTIONKEY *key;
|
||||
WCHAR *buffer, *p;
|
||||
|
||||
ParserWriteMarker(hFile, encoding);
|
||||
|
||||
for ( ; section; section = section->next)
|
||||
{
|
||||
int len = 0;
|
||||
|
||||
if (section->name[0]) len += wcslen(section->name) + 4;
|
||||
|
||||
for (key = section->key; key; key = key->next)
|
||||
{
|
||||
len += wcslen(key->name) + 2;
|
||||
if (key->value) len += wcslen(key->value) + 1;
|
||||
}
|
||||
|
||||
buffer = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR));
|
||||
if (!buffer) return;
|
||||
|
||||
p = buffer;
|
||||
if (section->name[0])
|
||||
{
|
||||
*p++ = '[';
|
||||
wcscpy(p, section->name);
|
||||
p += wcslen(p);
|
||||
*p++ = ']';
|
||||
*p++ = '\r';
|
||||
*p++ = '\n';
|
||||
}
|
||||
|
||||
for (key = section->key; key; key = key->next)
|
||||
{
|
||||
wcscpy(p, key->name);
|
||||
p += wcslen(p);
|
||||
if (key->value)
|
||||
{
|
||||
*p++ = '=';
|
||||
wcscpy(p, key->value);
|
||||
p += wcslen(p);
|
||||
}
|
||||
*p++ = '\r';
|
||||
*p++ = '\n';
|
||||
}
|
||||
ParserWriteLine(hFile, buffer, len, encoding);
|
||||
HeapFree(GetProcessHeap(), 0, buffer);
|
||||
}
|
||||
}
|
||||
|
||||
static
|
||||
void
|
||||
ParserFree(SECTION *section)
|
||||
{
|
||||
SECTION *next_section;
|
||||
SECTIONKEY *key, *next_key;
|
||||
|
||||
for ( ; section; section = next_section)
|
||||
{
|
||||
for (key = section->key; key; key = next_key)
|
||||
{
|
||||
next_key = key->next;
|
||||
HeapFree(GetProcessHeap(), 0, key->value);
|
||||
HeapFree(GetProcessHeap(), 0, key);
|
||||
}
|
||||
next_section = section->next;
|
||||
HeapFree(GetProcessHeap(), 0, section);
|
||||
}
|
||||
}
|
||||
|
||||
static
|
||||
ENCODING
|
||||
ParserDetectTextEncoding(const void * buffer, int * len)
|
||||
{
|
||||
INT flags = IS_TEXT_UNICODE_SIGNATURE |
|
||||
IS_TEXT_UNICODE_REVERSE_SIGNATURE |
|
||||
IS_TEXT_UNICODE_ODD_LENGTH;
|
||||
|
||||
if (*len >= sizeof(bom_utf8) && !memcmp(buffer, bom_utf8, sizeof(bom_utf8)))
|
||||
{
|
||||
*len = sizeof(bom_utf8);
|
||||
return ENCODING_UTF8;
|
||||
}
|
||||
|
||||
RtlIsTextUnicode((void *)buffer, *len, &flags);
|
||||
|
||||
if (flags & IS_TEXT_UNICODE_SIGNATURE)
|
||||
{
|
||||
*len = sizeof(WCHAR);
|
||||
return ENCODING_UTF16LE;
|
||||
}
|
||||
|
||||
if (flags & IS_TEXT_UNICODE_REVERSE_SIGNATURE)
|
||||
{
|
||||
*len = sizeof(WCHAR);
|
||||
return ENCODING_UTF16BE;
|
||||
}
|
||||
|
||||
*len = 0;
|
||||
|
||||
return ENCODING_UTF8;
|
||||
}
|
||||
|
||||
static
|
||||
SECTION
|
||||
*ParserLoad(HANDLE hFile, ENCODING * pEncoding)
|
||||
{
|
||||
void *buffer_base, *pBuffer;
|
||||
WCHAR * szFile;
|
||||
const WCHAR *szLineStart, *szLineEnd;
|
||||
const WCHAR *szValueStart, *szEnd, *next_line;
|
||||
int line = 0, len;
|
||||
SECTION *section, *first_section;
|
||||
SECTION **next_section;
|
||||
SECTIONKEY *key, *prev_key, **next_key;
|
||||
DWORD dwFileSize;
|
||||
|
||||
dwFileSize = GetFileSize(hFile, NULL);
|
||||
if (dwFileSize == INVALID_FILE_SIZE || dwFileSize == 0)
|
||||
return NULL;
|
||||
|
||||
buffer_base = HeapAlloc(GetProcessHeap(), 0 , dwFileSize);
|
||||
if (!buffer_base)
|
||||
return NULL;
|
||||
|
||||
if (!ReadFile(hFile, buffer_base, dwFileSize, &dwFileSize, NULL))
|
||||
{
|
||||
HeapFree(GetProcessHeap(), 0, buffer_base);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
len = dwFileSize;
|
||||
*pEncoding = ParserDetectTextEncoding(buffer_base, &len);
|
||||
|
||||
pBuffer = (char *)buffer_base + len;
|
||||
dwFileSize -= len;
|
||||
|
||||
switch (*pEncoding)
|
||||
{
|
||||
case ENCODING_UTF8:
|
||||
len = MultiByteToWideChar(CP_UTF8, 0, pBuffer, dwFileSize, NULL, 0);
|
||||
szFile = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR));
|
||||
if (!szFile)
|
||||
{
|
||||
HeapFree(GetProcessHeap(), 0, buffer_base);
|
||||
return NULL;
|
||||
}
|
||||
MultiByteToWideChar(CP_UTF8, 0, pBuffer, dwFileSize, szFile, len);
|
||||
szEnd = szFile + len;
|
||||
break;
|
||||
|
||||
case ENCODING_UTF16LE:
|
||||
szFile = pBuffer;
|
||||
szEnd = (WCHAR *)((char *)pBuffer + dwFileSize);
|
||||
break;
|
||||
|
||||
case ENCODING_UTF16BE:
|
||||
szFile = pBuffer;
|
||||
szEnd = (WCHAR *)((char *)pBuffer + dwFileSize);
|
||||
ParserByteSwapShortBuffer(szFile, dwFileSize / sizeof(WCHAR));
|
||||
break;
|
||||
|
||||
default:
|
||||
HeapFree(GetProcessHeap(), 0, buffer_base);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
first_section = HeapAlloc(GetProcessHeap(), 0, sizeof(*section));
|
||||
if (first_section == NULL)
|
||||
{
|
||||
if (szFile != pBuffer)
|
||||
HeapFree(GetProcessHeap(), 0, szFile);
|
||||
HeapFree(GetProcessHeap(), 0, buffer_base);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
first_section->name[0] = 0;
|
||||
first_section->key = NULL;
|
||||
first_section->next = NULL;
|
||||
next_section = &first_section->next;
|
||||
next_key = &first_section->key;
|
||||
prev_key = NULL;
|
||||
next_line = szFile;
|
||||
|
||||
while (next_line < szEnd)
|
||||
{
|
||||
szLineStart = next_line;
|
||||
next_line = memchrW(szLineStart, '\n', szEnd - szLineStart);
|
||||
if (!next_line) next_line = memchrW(szLineStart, '\r', szEnd - szLineStart);
|
||||
if (!next_line) next_line = szEnd;
|
||||
else next_line++;
|
||||
szLineEnd = next_line;
|
||||
|
||||
line++;
|
||||
|
||||
while (szLineStart < szLineEnd && ParserIsSpace(*szLineStart)) szLineStart++;
|
||||
while ((szLineEnd > szLineStart) && ParserIsSpace(szLineEnd[-1])) szLineEnd--;
|
||||
|
||||
if (szLineStart >= szLineEnd)
|
||||
continue;
|
||||
|
||||
if (*szLineStart == '[')
|
||||
{
|
||||
const WCHAR * szSectionEnd;
|
||||
if ((szSectionEnd = memrchrW(szLineStart, ']', szLineEnd - szLineStart)))
|
||||
{
|
||||
szLineStart++;
|
||||
len = (int)(szSectionEnd - szLineStart);
|
||||
if (!(section = HeapAlloc(GetProcessHeap(), 0, sizeof(*section) + len * sizeof(WCHAR))))
|
||||
break;
|
||||
memcpy(section->name, szLineStart, len * sizeof(WCHAR));
|
||||
section->name[len] = '\0';
|
||||
section->key = NULL;
|
||||
section->next = NULL;
|
||||
*next_section = section;
|
||||
next_section = §ion->next;
|
||||
next_key = §ion->key;
|
||||
prev_key = NULL;
|
||||
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
len = szLineEnd - szLineStart;
|
||||
if ((szValueStart = memchrW(szLineStart, '=', szLineEnd - szLineStart)) != NULL)
|
||||
{
|
||||
const WCHAR *szNameEnd = szValueStart;
|
||||
while ((szNameEnd > szLineStart) && ParserIsSpace(szNameEnd[-1])) szNameEnd--;
|
||||
len = szNameEnd - szLineStart;
|
||||
szValueStart++;
|
||||
while (szValueStart < szLineEnd && ParserIsSpace(*szValueStart)) szValueStart++;
|
||||
}
|
||||
|
||||
if (len || !prev_key || *prev_key->name)
|
||||
{
|
||||
if (!(key = HeapAlloc(GetProcessHeap(), 0, sizeof(*key) + len * sizeof(WCHAR)))) break;
|
||||
memcpy(key->name, szLineStart, len * sizeof(WCHAR));
|
||||
key->name[len] = '\0';
|
||||
if (szValueStart)
|
||||
{
|
||||
len = (int)(szLineEnd - szValueStart);
|
||||
key->value = HeapAlloc(GetProcessHeap(), 0, (len + 1) * sizeof(WCHAR));
|
||||
memcpy(key->value, szValueStart, len * sizeof(WCHAR));
|
||||
key->value[len] = '\0';
|
||||
}
|
||||
else key->value = NULL;
|
||||
|
||||
key->next = NULL;
|
||||
*next_key = key;
|
||||
next_key = &key->next;
|
||||
prev_key = key;
|
||||
}
|
||||
}
|
||||
|
||||
if (szFile != pBuffer)
|
||||
HeapFree(GetProcessHeap(), 0, szFile);
|
||||
HeapFree(GetProcessHeap(), 0, buffer_base);
|
||||
|
||||
return first_section;
|
||||
}
|
||||
|
||||
static
|
||||
SECTIONKEY
|
||||
*ParserFind(SECTION **section, LPCWSTR section_name, LPCWSTR key_name, BOOL create, BOOL create_always)
|
||||
{
|
||||
LPCWSTR p;
|
||||
int seclen, keylen;
|
||||
|
||||
while (ParserIsSpace(*section_name)) section_name++;
|
||||
if (*section_name)
|
||||
p = section_name + wcslen(section_name) - 1;
|
||||
else
|
||||
p = section_name;
|
||||
|
||||
while ((p > section_name) && ParserIsSpace(*p)) p--;
|
||||
seclen = p - section_name + 1;
|
||||
|
||||
while (ParserIsSpace(*key_name)) key_name++;
|
||||
if (*key_name)
|
||||
p = key_name + wcslen(key_name) - 1;
|
||||
else
|
||||
p = key_name;
|
||||
|
||||
while ((p > key_name) && ParserIsSpace(*p)) p--;
|
||||
keylen = p - key_name + 1;
|
||||
|
||||
while (*section)
|
||||
{
|
||||
if (((*section)->name[0])
|
||||
&& (!(_wcsnicmp((*section)->name, section_name, seclen)))
|
||||
&& (((*section)->name)[seclen] == '\0'))
|
||||
{
|
||||
SECTIONKEY **key = &(*section)->key;
|
||||
|
||||
while (*key)
|
||||
{
|
||||
if(!create_always)
|
||||
{
|
||||
if ((!(_wcsnicmp((*key)->name, key_name, keylen)))
|
||||
&& (((*key)->name)[keylen] == '\0'))
|
||||
return *key;
|
||||
}
|
||||
key = &(*key)->next;
|
||||
}
|
||||
if (!create)
|
||||
return NULL;
|
||||
if (!(*key = HeapAlloc(GetProcessHeap(), 0, sizeof(SECTIONKEY) + wcslen(key_name) * sizeof(WCHAR))))
|
||||
return NULL;
|
||||
wcscpy((*key)->name, key_name);
|
||||
(*key)->value = NULL;
|
||||
(*key)->next = NULL;
|
||||
return *key;
|
||||
}
|
||||
section = &(*section)->next;
|
||||
}
|
||||
if (!create) return NULL;
|
||||
*section = HeapAlloc(GetProcessHeap(), 0, sizeof(SECTION) + wcslen(section_name) * sizeof(WCHAR));
|
||||
if(*section == NULL) return NULL;
|
||||
wcscpy((*section)->name, section_name);
|
||||
(*section)->next = NULL;
|
||||
if (!((*section)->key = HeapAlloc(GetProcessHeap(), 0,
|
||||
sizeof(SECTIONKEY) + wcslen(key_name) * sizeof(WCHAR))))
|
||||
{
|
||||
HeapFree(GetProcessHeap(), 0, *section);
|
||||
return NULL;
|
||||
}
|
||||
wcscpy((*section)->key->name, key_name);
|
||||
(*section)->key->value = NULL;
|
||||
(*section)->key->next = NULL;
|
||||
return (*section)->key;
|
||||
}
|
||||
|
||||
static
|
||||
BOOL
|
||||
ParserFlushFile(void)
|
||||
{
|
||||
HANDLE hFile = NULL;
|
||||
|
||||
if (!CurProfile) return FALSE;
|
||||
|
||||
if (!CurProfile->changed) return TRUE;
|
||||
|
||||
hFile = CreateFileW(CurProfile->filename, GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE,
|
||||
NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
|
||||
|
||||
if (hFile == INVALID_HANDLE_VALUE) return FALSE;
|
||||
|
||||
ParserSave(hFile, CurProfile->section, CurProfile->encoding);
|
||||
|
||||
CloseHandle(hFile);
|
||||
CurProfile->changed = FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static
|
||||
void
|
||||
ParserReleaseFile(void)
|
||||
{
|
||||
ParserFlushFile();
|
||||
ParserFree(CurProfile->section);
|
||||
HeapFree(GetProcessHeap(), 0, CurProfile->filename);
|
||||
CurProfile->changed = FALSE;
|
||||
CurProfile->section = NULL;
|
||||
CurProfile->filename = NULL;
|
||||
CurProfile->encoding = ENCODING_UTF8;
|
||||
}
|
||||
|
||||
static
|
||||
BOOL
|
||||
ParserOpen(LPCWSTR filename, BOOL write_access)
|
||||
{
|
||||
WCHAR szDir[MAX_PATH];
|
||||
WCHAR buffer[MAX_PATH];
|
||||
HANDLE hFile = INVALID_HANDLE_VALUE;
|
||||
int i, j;
|
||||
ITEMS *tempProfile;
|
||||
static const WCHAR wszSeparator[] = L"\\rapps\\";
|
||||
|
||||
if (!CurProfile)
|
||||
for (i = 0; i < N_CACHED_ITEMS; i++)
|
||||
{
|
||||
ItemsArray[i] = HeapAlloc(GetProcessHeap(), 0, sizeof(ITEMS));
|
||||
if (ItemsArray[i] == NULL) break;
|
||||
ItemsArray[i]->changed = FALSE;
|
||||
ItemsArray[i]->section = NULL;
|
||||
ItemsArray[i]->filename = NULL;
|
||||
ItemsArray[i]->encoding = ENCODING_UTF8;
|
||||
}
|
||||
|
||||
GetCurrentDirectoryW(MAX_PATH, szDir);
|
||||
|
||||
wcscpy(buffer, szDir);
|
||||
wcscat(buffer, wszSeparator);
|
||||
wcscat(buffer, filename);
|
||||
|
||||
hFile = CreateFileW(buffer, GENERIC_READ | (write_access ? GENERIC_WRITE : 0),
|
||||
FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, NULL,
|
||||
OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
|
||||
|
||||
if ((hFile == INVALID_HANDLE_VALUE) && (GetLastError() != ERROR_FILE_NOT_FOUND))
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
for (i = 0; i < N_CACHED_ITEMS; i++)
|
||||
{
|
||||
if ((ItemsArray[i]->filename && !wcscmp(buffer, ItemsArray[i]->filename)))
|
||||
{
|
||||
if (i)
|
||||
{
|
||||
ParserFlushFile();
|
||||
tempProfile = ItemsArray[i];
|
||||
for (j = i; j > 0; j--)
|
||||
ItemsArray[j] = ItemsArray[j - 1];
|
||||
CurProfile = tempProfile;
|
||||
}
|
||||
if (hFile != INVALID_HANDLE_VALUE)
|
||||
{
|
||||
CloseHandle(hFile);
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
ParserFlushFile();
|
||||
|
||||
if (i == N_CACHED_ITEMS)
|
||||
{
|
||||
tempProfile = ItemsArray[N_CACHED_ITEMS - 1];
|
||||
for (i = N_CACHED_ITEMS - 1; i > 0; i--)
|
||||
ItemsArray[i] = ItemsArray[i - 1];
|
||||
CurProfile = tempProfile;
|
||||
}
|
||||
|
||||
if (CurProfile->filename) ParserReleaseFile();
|
||||
|
||||
CurProfile->filename = HeapAlloc(GetProcessHeap(), 0, (wcslen(buffer) + 1) * sizeof(WCHAR));
|
||||
if (CurProfile->filename == NULL)
|
||||
return FALSE;
|
||||
|
||||
wcscpy(CurProfile->filename, buffer);
|
||||
|
||||
if (hFile != INVALID_HANDLE_VALUE)
|
||||
{
|
||||
CurProfile->section = ParserLoad(hFile, &CurProfile->encoding);
|
||||
CloseHandle(hFile);
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static
|
||||
INT
|
||||
ParserGetSection(SECTION *section, LPCWSTR section_name, LPWSTR buffer, UINT len, BOOL return_values)
|
||||
{
|
||||
SECTIONKEY *key;
|
||||
|
||||
if (!buffer)
|
||||
return 0;
|
||||
|
||||
while (section)
|
||||
{
|
||||
if (section->name[0] && !_wcsicmp(section->name, section_name))
|
||||
{
|
||||
UINT oldlen = len;
|
||||
for (key = section->key; key; key = key->next)
|
||||
{
|
||||
if (len <= 2) break;
|
||||
if (!*key->name) continue; /* Skip empty lines */
|
||||
if (IS_ENTRY_COMMENT(key->name)) continue; /* Skip comments */
|
||||
if (!return_values && !key->value) continue; /* Skip lines w.o. '=' */
|
||||
|
||||
ParserCopyEntry(buffer, key->name, len - 1, 0);
|
||||
len -= wcslen(buffer) + 1;
|
||||
buffer += wcslen(buffer) + 1;
|
||||
|
||||
if (len < 2) break;
|
||||
if (return_values && key->value)
|
||||
{
|
||||
buffer[-1] = '=';
|
||||
ParserCopyEntry(buffer, key->value, len - 1, 0);
|
||||
len -= wcslen(buffer) + 1;
|
||||
buffer += wcslen(buffer) + 1;
|
||||
}
|
||||
}
|
||||
*buffer = '\0';
|
||||
if (len <= 1)
|
||||
{
|
||||
buffer[-1] = '\0';
|
||||
return oldlen - 2;
|
||||
}
|
||||
return oldlen - len;
|
||||
}
|
||||
section = section->next;
|
||||
}
|
||||
buffer[0] = buffer[1] = '\0';
|
||||
return 0;
|
||||
}
|
||||
|
||||
static
|
||||
INT
|
||||
ParserInternalGetString(LPCWSTR section, LPCWSTR key_name, LPWSTR buffer, UINT len)
|
||||
{
|
||||
SECTIONKEY *key = NULL;
|
||||
static const WCHAR empty_strW[] = { 0 };
|
||||
|
||||
if (!buffer || !len) return 0;
|
||||
|
||||
if (key_name)
|
||||
{
|
||||
if (!key_name[0])
|
||||
{
|
||||
ParserCopyEntry(buffer, empty_strW, len, TRUE);
|
||||
return wcslen(buffer);
|
||||
}
|
||||
key = ParserFind(&CurProfile->section, section, key_name, FALSE, FALSE);
|
||||
ParserCopyEntry(buffer, (key && key->value) ? key->value : empty_strW,
|
||||
len, TRUE);
|
||||
return wcslen(buffer);
|
||||
}
|
||||
|
||||
if (section && section[0])
|
||||
{
|
||||
INT ret = ParserGetSection(CurProfile->section, section, buffer, len, FALSE);
|
||||
if (!buffer[0])
|
||||
{
|
||||
ParserCopyEntry(buffer, empty_strW, len, TRUE);
|
||||
ret = wcslen(buffer);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
buffer[0] = '\0';
|
||||
return 0;
|
||||
}
|
||||
|
||||
INT
|
||||
ParserGetString(LPCWSTR Section, LPCWSTR ValueName, LPWSTR Buffer, UINT Len, LPCWSTR FileName)
|
||||
{
|
||||
if (Section == NULL) return 0;
|
||||
|
||||
if (ParserOpen(FileName, FALSE))
|
||||
return ParserInternalGetString(Section, ValueName, Buffer, Len);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
UINT
|
||||
ParserGetInt(LPCWSTR Section, LPCWSTR ValueName, LPCWSTR FileName)
|
||||
{
|
||||
WCHAR Buffer[30];
|
||||
UNICODE_STRING BufferW;
|
||||
ULONG Result;
|
||||
|
||||
if (!ParserGetString(Section,
|
||||
ValueName,
|
||||
Buffer,
|
||||
sizeof(Buffer) / sizeof(WCHAR),
|
||||
FileName))
|
||||
return -1;
|
||||
|
||||
if (!Buffer[0]) return -1;
|
||||
|
||||
RtlInitUnicodeString(&BufferW, Buffer);
|
||||
RtlUnicodeStringToInteger(&BufferW, 0, &Result);
|
||||
return Result;
|
||||
}
|
||||
@@ -0,0 +1,154 @@
|
||||
#ifndef _RAPPS_H__
|
||||
#define _RAPPS_H__
|
||||
|
||||
#include <windows.h>
|
||||
#include <commctrl.h>
|
||||
#include <richedit.h>
|
||||
#include <shlwapi.h>
|
||||
#include <wchar.h>
|
||||
|
||||
#include "resource.h"
|
||||
|
||||
#define APPLICATION_DATEBASE_URL L"http://opendn.org/rappmgr.cab"
|
||||
|
||||
#define SPLIT_WIDTH 4
|
||||
#define MAX_STR_LEN 256
|
||||
|
||||
#define LISTVIEW_ICON_SIZE 24
|
||||
#define TREEVIEW_ICON_SIZE 24
|
||||
|
||||
/* EnumType flags for EnumInstalledApplications */
|
||||
#define ENUM_ALL_COMPONENTS 30
|
||||
#define ENUM_APPLICATIONS 31
|
||||
#define ENUM_UPDATES 32
|
||||
/* EnumType flags for EnumAvailableApplications */
|
||||
#define ENUM_ALL_AVAILABLE 0
|
||||
#define ENUM_CAT_AUDIO 1
|
||||
#define ENUM_CAT_VIDEO 2
|
||||
#define ENUM_CAT_GRAPHICS 3
|
||||
#define ENUM_CAT_GAMES 4
|
||||
#define ENUM_CAT_INTERNET 5
|
||||
#define ENUM_CAT_OFFICE 6
|
||||
#define ENUM_CAT_DEVEL 7
|
||||
#define ENUM_CAT_EDU 8
|
||||
#define ENUM_CAT_ENGINEER 9
|
||||
#define ENUM_CAT_FINANCE 10
|
||||
#define ENUM_CAT_SCIENCE 11
|
||||
#define ENUM_CAT_TOOLS 12
|
||||
#define ENUM_CAT_DRIVERS 13
|
||||
#define ENUM_CAT_LIBS 14
|
||||
#define ENUM_CAT_OTHER 15
|
||||
|
||||
#define ENUM_INSTALLED_MIN ENUM_ALL_COMPONENTS
|
||||
#define ENUM_INSTALLED_MAX ENUM_UPDATES
|
||||
#define ENUM_AVAILABLE_MIN ENUM_ALL_AVAILABLE
|
||||
#define ENUM_AVAILABLE_MAX ENUM_CAT_OTHER
|
||||
|
||||
#define IS_INSTALLED_ENUM(a) (a >= ENUM_INSTALLED_MIN && a <= ENUM_INSTALLED_MAX)
|
||||
#define IS_AVAILABLE_ENUM(a) (a >= ENUM_AVAILABLE_MIN && a <= ENUM_AVAILABLE_MAX)
|
||||
|
||||
/* aboutdlg.c */
|
||||
VOID ShowAboutDialog(VOID);
|
||||
|
||||
/* available.c */
|
||||
typedef struct
|
||||
{
|
||||
INT Category;
|
||||
WCHAR szName[MAX_PATH];
|
||||
WCHAR szRegName[MAX_PATH];
|
||||
WCHAR szVersion[MAX_PATH];
|
||||
WCHAR szLicence[MAX_PATH];
|
||||
WCHAR szDesc[MAX_PATH];
|
||||
WCHAR szSize[MAX_PATH];
|
||||
WCHAR szUrlSite[MAX_PATH];
|
||||
WCHAR szUrlDownload[MAX_PATH];
|
||||
WCHAR szCDPath[MAX_PATH];
|
||||
|
||||
} APPLICATION_INFO, *PAPPLICATION_INFO;
|
||||
|
||||
/* available.c */
|
||||
typedef BOOL (CALLBACK *AVAILENUMPROC)(APPLICATION_INFO Info);
|
||||
BOOL EnumAvailableApplications(INT EnumType, AVAILENUMPROC lpEnumProc);
|
||||
BOOL ShowAvailableAppInfo(INT Index);
|
||||
|
||||
/* installdlg.c */
|
||||
BOOL InstallApplication(INT Index);
|
||||
|
||||
/* installed.c */
|
||||
typedef BOOL (CALLBACK *APPENUMPROC)(INT ItemIndex, LPWSTR lpName, LPWSTR lpKeyName, LPARAM lParam);
|
||||
BOOL EnumInstalledApplications(INT EnumType, BOOL IsUserKey, APPENUMPROC lpEnumProc);
|
||||
BOOL GetApplicationString(HKEY hKey, LPWSTR lpKeyName, LPWSTR lpString);
|
||||
BOOL ShowInstalledAppInfo(INT Index);
|
||||
BOOL UninstallApplication(INT Index, BOOL bModify);
|
||||
BOOL IsInstalledApplication(LPWSTR lpRegName, BOOL IsUserKey);
|
||||
|
||||
/* winmain.c */
|
||||
extern HWND hMainWnd;
|
||||
extern HINSTANCE hInst;
|
||||
extern INT SelectedEnumType;
|
||||
|
||||
/* listview.c */
|
||||
extern HWND hListView;
|
||||
extern BOOL bAscending;
|
||||
BOOL CreateListView(HWND hwnd);
|
||||
BOOL ListViewAddColumn(INT Index, LPWSTR lpText, INT Width, INT Format);
|
||||
INT ListViewAddItem(INT ItemIndex, INT IconIndex, LPWSTR lpText, LPARAM lParam);
|
||||
INT CALLBACK ListViewCompareFunc(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort);
|
||||
PVOID ListViewGetlParam(INT Index);
|
||||
|
||||
/* loaddlg.c */
|
||||
BOOL DownloadApplication(INT Index);
|
||||
VOID DownloadApplicationsDB(LPWSTR lpUrl);
|
||||
|
||||
/* misc.c */
|
||||
INT GetSystemColorDepth(VOID);
|
||||
int GetWindowWidth(HWND hwnd);
|
||||
int GetWindowHeight(HWND hwnd);
|
||||
int GetClientWindowWidth(HWND hwnd);
|
||||
int GetClientWindowHeight(HWND hwnd);
|
||||
VOID CopyTextToClipboard(LPCWSTR lpszText);
|
||||
VOID SetWelcomeText(VOID);
|
||||
VOID ShowPopupMenu(HWND hwnd, UINT MenuID);
|
||||
BOOL StartProcess(LPWSTR lpPath, BOOL Wait);
|
||||
BOOL ExtractFilesFromCab(LPWSTR lpCabName, LPWSTR lpOutputPath);
|
||||
|
||||
/* parser.c */
|
||||
INT ParserGetString(LPCWSTR section, LPCWSTR entry, LPWSTR buffer, UINT len, LPCWSTR filename);
|
||||
UINT ParserGetInt(LPCWSTR section, LPCWSTR entry, LPCWSTR filename);
|
||||
|
||||
/* richedit.c */
|
||||
extern HWND hRichEdit;
|
||||
extern PWSTR pLink;
|
||||
BOOL CreateRichEdit(HWND hwnd);
|
||||
VOID RichEditOnLink(HWND hwnd, ENLINK *Link);
|
||||
VOID InsertRichEditText(LPCWSTR lpszText, DWORD dwEffects);
|
||||
VOID NewRichEditText(LPCWSTR lpszText, DWORD dwEffects);
|
||||
|
||||
/* settingsdlg.c */
|
||||
VOID CreateSettingsDlg(HWND hwnd);
|
||||
|
||||
/* splitter.c */
|
||||
extern HWND hVSplitter;
|
||||
extern HWND hHSplitter;
|
||||
BOOL CreateVSplitBar(HWND hwnd);
|
||||
BOOL CreateHSplitBar(HWND hwnd);
|
||||
int GetHSplitterPos(VOID);
|
||||
VOID SetHSplitterPos(int Pos);
|
||||
|
||||
/* statusbar.c */
|
||||
extern HWND hStatusBar;
|
||||
BOOL CreateStatusBar(HWND hwnd);
|
||||
VOID SetStatusBarText(LPCWSTR lpszText);
|
||||
|
||||
/* toolbar.c */
|
||||
extern HWND hToolBar;
|
||||
extern HWND hSearchBar;
|
||||
BOOL CreateToolBar(HWND hwnd);
|
||||
VOID ToolBarOnGetDispInfo(LPTOOLTIPTEXT lpttt);
|
||||
|
||||
/* treeview.c */
|
||||
extern HWND hTreeView;
|
||||
BOOL CreateTreeView(HWND hwnd);
|
||||
HTREEITEM TreeViewAddItem(HTREEITEM hParent, LPWSTR lpText, INT Image, INT SelectedImage, LPARAM lParam);
|
||||
|
||||
#endif /* _RAPPS_H__ */
|
||||
@@ -0,0 +1,31 @@
|
||||
<module name="rapps" type="win32gui" installbase="system32" installname="rapps.exe" unicode="yes">
|
||||
<include base="rapps">.</include>
|
||||
|
||||
<library>advapi32</library>
|
||||
<library>comctl32</library>
|
||||
<library>kernel32</library>
|
||||
<library>gdi32</library>
|
||||
<library>urlmon</library>
|
||||
<library>user32</library>
|
||||
<library>uuid</library>
|
||||
<library>shell32</library>
|
||||
<library>shlwapi</library>
|
||||
<library>ntdll</library>
|
||||
|
||||
<file>aboutdlg.c</file>
|
||||
<file>available.c</file>
|
||||
<file>installdlg.c</file>
|
||||
<file>installed.c</file>
|
||||
<file>listview.c</file>
|
||||
<file>loaddlg.c</file>
|
||||
<file>misc.c</file>
|
||||
<file>parser.c</file>
|
||||
<file>richedit.c</file>
|
||||
<file>settingsdlg.c</file>
|
||||
<file>splitter.c</file>
|
||||
<file>statusbar.c</file>
|
||||
<file>toolbar.c</file>
|
||||
<file>treeview.c</file>
|
||||
<file>winmain.c</file>
|
||||
<file>rapps.rc</file>
|
||||
</module>
|
||||
@@ -0,0 +1,40 @@
|
||||
#include "rapps.h"
|
||||
|
||||
#define REACTOS_STR_FILE_DESCRIPTION "ReactOS Applications Manager\0"
|
||||
#define REACTOS_STR_INTERNAL_NAME "rapps\0"
|
||||
#define REACTOS_STR_ORIGINAL_FILENAME "rapps.exe\0"
|
||||
#include <reactos/version.rc>
|
||||
|
||||
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
|
||||
|
||||
IDI_MAIN ICON DISCARDABLE "res/main.ico"
|
||||
IDI_EXIT ICON DISCARDABLE "res/exit.ico"
|
||||
IDI_INSTALL ICON DISCARDABLE "res/install.ico"
|
||||
IDI_UNINSTALL ICON DISCARDABLE "res/uninstall.ico"
|
||||
IDI_SETTINGS ICON DISCARDABLE "res/settings.ico"
|
||||
IDI_MODIFY ICON DISCARDABLE "res/modify.ico"
|
||||
IDI_REFRESH ICON DISCARDABLE "res/refresh.ico"
|
||||
IDI_APPS ICON DISCARDABLE "res/apps.ico"
|
||||
IDI_APPUPD ICON DISCARDABLE "res/appupd.ico"
|
||||
IDI_CATEGORY ICON DISCARDABLE "res/cat.ico"
|
||||
|
||||
/* Categories */
|
||||
IDI_CAT_AUDIO ICON DISCARDABLE "res/cats/audio.ico"
|
||||
IDI_CAT_DEVEL ICON DISCARDABLE "res/cats/devel.ico"
|
||||
IDI_CAT_DRIVERS ICON DISCARDABLE "res/cats/drivers.ico"
|
||||
IDI_CAT_EDU ICON DISCARDABLE "res/cats/edu.ico"
|
||||
IDI_CAT_ENGINEER ICON DISCARDABLE "res/cats/engineer.ico"
|
||||
IDI_CAT_FINANCE ICON DISCARDABLE "res/cats/finance.ico"
|
||||
IDI_CAT_GAMES ICON DISCARDABLE "res/cats/games.ico"
|
||||
IDI_CAT_GRAPHICS ICON DISCARDABLE "res/cats/graphics.ico"
|
||||
IDI_CAT_INTERNET ICON DISCARDABLE "res/cats/internet.ico"
|
||||
IDI_CAT_LIBS ICON DISCARDABLE "res/cats/libs.ico"
|
||||
IDI_CAT_OFFICE ICON DISCARDABLE "res/cats/office.ico"
|
||||
IDI_CAT_OTHER ICON DISCARDABLE "res/cats/other.ico"
|
||||
IDI_CAT_SCIENCE ICON DISCARDABLE "res/cats/science.ico"
|
||||
IDI_CAT_TOOLS ICON DISCARDABLE "res/cats/tools.ico"
|
||||
IDI_CAT_VIDEO ICON DISCARDABLE "res/cats/video.ico"
|
||||
|
||||
1 24 DISCARDABLE "manifest.xml"
|
||||
|
||||
#include "rsrc.rc"
|
||||
@@ -0,0 +1,18 @@
|
||||
; UTF-8
|
||||
|
||||
[Section]
|
||||
Name = AbiWord
|
||||
Version = 2.6.4
|
||||
Licence = GPL
|
||||
Description = Word processor.
|
||||
Size = 5.9MB
|
||||
Category = 6
|
||||
URLSite = http://www.abiword.org
|
||||
URLDownload = http://www.abiword.org/downloads/abiword/2.6.4/Windows/abiword-setup-2.6.4.exe
|
||||
CDPath = none
|
||||
|
||||
[Section.0407]
|
||||
Description = Textverarbeitung
|
||||
|
||||
[Section.0415]
|
||||
Description = Edytor tekstu
|
||||
@@ -0,0 +1,25 @@
|
||||
; UTF-8
|
||||
|
||||
[Section]
|
||||
Name = AC97 Driver for VirtualBox
|
||||
Version = 5.10.00.3610
|
||||
Licence = Unknown
|
||||
Description = Unzip in the "ReactOS" folder then restart ReactOS twice.
|
||||
Size = 186kB
|
||||
Category = 13
|
||||
URLSite = Unknown
|
||||
URLDownload = http://svn.reactos.org/packages/ac97_vbox.exe
|
||||
CDPath = none
|
||||
|
||||
|
||||
[Section.0407]
|
||||
Name = AC97 Treiber für VirtualBox
|
||||
Licence = Unbekannt
|
||||
Description = Entpacken in das "ReactOS"-Verzeichnis und ReactOS zweimal neustarten.
|
||||
URLSite = Unbekannt
|
||||
|
||||
[Section.0415]
|
||||
Name = Sterownik AC97 dla VirtualBox
|
||||
Licence = Nieznana
|
||||
Description = Rozpakuj zawartość w folderze "ReactOS" i dwukrotnie zrestartuj system.
|
||||
URLSite = Nieznana
|
||||
@@ -0,0 +1,19 @@
|
||||
; UTF-8
|
||||
|
||||
[Section]
|
||||
Name = Audio Grabber
|
||||
Version = 1.83 SE
|
||||
Licence = Freeware
|
||||
Description = A very good CD Ripper/Audio File Converter.
|
||||
Size = 1.6MB
|
||||
Category = 1
|
||||
URLSite = http://www.audiograbber.com-us.net/
|
||||
URLDownload = http://www.audiograbber.de/files/4898276276/agsetup183se.exe
|
||||
CDPath = none
|
||||
|
||||
|
||||
[Section.0407]
|
||||
Description = Ein sehr guter CD-Ripper/Audio-Datei-Konverter.
|
||||
|
||||
[Section.0415]
|
||||
Description = Bardzo dobry CD Ripper/konwerter plików audio.
|
||||
@@ -0,0 +1,19 @@
|
||||
; UTF-8
|
||||
|
||||
[Section]
|
||||
Name = Diablo II
|
||||
Version = 1.4
|
||||
Licence = Shareware
|
||||
Description = Diablo 2 Shareware. zeckensack's glide wrapper is req. to run it.
|
||||
Size = 132MB
|
||||
Category = 4
|
||||
URLSite = http://www.blizzard.com/diablo2
|
||||
URLDownload = http://ftp.freenet.de./pub/filepilot/windows/spiele/diabloiidemo.exe
|
||||
CDPath = none
|
||||
|
||||
|
||||
[Section.0407]
|
||||
Description = Diablo 2 Shareware. zeckensacks glide wrapper wird zum Ausführen benötigt.
|
||||
|
||||
[Section.0415]
|
||||
Description = Diablo 2 Shareware. Do poprawnego działania wymagany jest zainstalowany zeckensacks glide wrapper.
|
||||
@@ -0,0 +1,19 @@
|
||||
; UTF-8
|
||||
|
||||
[Section]
|
||||
Name = DOSBox
|
||||
Version = 0.73
|
||||
Licence = GPL
|
||||
Description = DOSBox is a DOS emulator.
|
||||
Size = 1.4MB
|
||||
Category = 15
|
||||
URLSite = http://www.dosbox.com
|
||||
URLDownload = http://ovh.dl.sourceforge.net/sourceforge/dosbox/DOSBox0.73-win32-installer.exe
|
||||
CDPath = none
|
||||
|
||||
|
||||
[Section.0407]
|
||||
Description = DOSBox ist ein DOS Emulator.
|
||||
|
||||
[Section.0415]
|
||||
Description = DOSBox - emulator DOSa.
|
||||
@@ -0,0 +1,37 @@
|
||||
; UTF-8
|
||||
|
||||
[Section]
|
||||
Name = Mozilla Firefox 2.0
|
||||
Version = 2.0.0.20
|
||||
Licence = MPL/GPL/LGPL
|
||||
Description = The most popular and one of the best free Web Browsers out there.
|
||||
Size = 5.8M
|
||||
Category = 5
|
||||
URLSite = http://www.mozilla.com/en-US/
|
||||
URLDownload = http://releases.mozilla.org/pub/mozilla.org/firefox/releases/2.0.0.20/win32/en-US/Firefox%20Setup%202.0.0.20.exe
|
||||
CDPath = none
|
||||
|
||||
[Section.0419]
|
||||
Description = Один из самых популярных и лучших бесплатных браузеров.
|
||||
Size = 6.4M
|
||||
URLSite = http://www.mozilla-europe.org/ru/
|
||||
URLDownload = http://releases.mozilla.org/pub/mozilla.org/firefox/releases/2.0.0.20/win32/ru/Firefox%20Setup%202.0.0.20.exe
|
||||
|
||||
|
||||
[Section.0407]
|
||||
Description = Der populärste und einer der besten freien Webbrowser.
|
||||
Size = 5.5M
|
||||
URLSite = http://www.mozilla-europe.org/de/
|
||||
URLDownload = http://releases.mozilla.org/pub/mozilla.org/firefox/releases/2.0.0.20/win32/de/Firefox%20Setup%202.0.0.20.exe
|
||||
|
||||
[Section.0405]
|
||||
Description = Mest populære og best også gratis nettleserene der ute.
|
||||
Size = 5.6M
|
||||
URLSite = http://www.mozilla-europe.org/no/
|
||||
URLDownload = http://releases.mozilla.org/pub/mozilla.org/firefox/releases/2.0.0.20/win32/nb-NO/Firefox%20Setup%202.0.0.20.exe
|
||||
|
||||
[Section.0415]
|
||||
Description = Najpopularniejsza i jedna z najlepszych darmowych przeglądarek internetowych.
|
||||
Size = 6.3M
|
||||
URLSite = http://www.mozilla-europe.org/pl/
|
||||
URLDownload = http://releases.mozilla.org/pub/mozilla.org/firefox/releases/2.0.0.20/win32/pl/Firefox%20Setup%202.0.0.20.exe
|
||||
@@ -0,0 +1,37 @@
|
||||
; UTF-8
|
||||
|
||||
[Section]
|
||||
Name = Mozilla Firefox 3.0
|
||||
Version = 3.0.13
|
||||
Licence = MPL/GPL/LGPL
|
||||
Description = The most popular and one of the best free Web Browsers out there.
|
||||
Size = 7.1M
|
||||
Category = 5
|
||||
URLSite = http://www.mozilla.com/en-US/
|
||||
URLDownload = http://releases.mozilla.org/pub/mozilla.org/firefox/releases/3.0.13/win32/en-US/Firefox%20Setup%203.0.13.exe
|
||||
CDPath = none
|
||||
|
||||
[Section.0419]
|
||||
Description = Один из самых популярных и лучших бесплатных браузеров.
|
||||
Size = 7.4M
|
||||
URLSite = http://www.mozilla-europe.org/ru/
|
||||
URLDownload = http://releases.mozilla.org/pub/mozilla.org/firefox/releases/3.0.13/win32/ru/Firefox%20Setup%203.0.13.exe
|
||||
|
||||
|
||||
[Section.0407]
|
||||
Description = Der populärste und einer der besten freien Webbrowser.
|
||||
Size = 6.9M
|
||||
URLSite = http://www.mozilla-europe.org/de/
|
||||
URLDownload = http://releases.mozilla.org/pub/mozilla.org/firefox/releases/3.0.13/win32/de/Firefox%20Setup%203.0.13.exe
|
||||
|
||||
[Section.0405]
|
||||
Description = Mest populære og best også gratis nettleserene der ute.
|
||||
Size = 6.9M
|
||||
URLSite = http://www.mozilla-europe.org/no/
|
||||
URLDownload = http://releases.mozilla.org/pub/mozilla.org/firefox/releases/3.0.13/win32/nb-NO/Firefox%20Setup%203.0.13.exe
|
||||
|
||||
[Section.0415]
|
||||
Description = Najpopularniejsza i jedna z najlepszych darmowych przeglądarek internetowych.
|
||||
Size = 7.8M
|
||||
URLSite = http://www.mozilla-europe.org/pl/
|
||||
URLDownload = http://releases.mozilla.org/pub/mozilla.org/firefox/releases/3.0.13/win32/pl/Firefox%20Setup%203.0.13.exe
|
||||
@@ -0,0 +1,19 @@
|
||||
; UTF-8
|
||||
|
||||
[Section]
|
||||
Name = FreeBASIC
|
||||
Version = 0.20.0b
|
||||
Licence = GPL/LGPL
|
||||
Description = Open Source BASIC Compiler. The BASIC syntax is compatible to QBASIC.
|
||||
Size = 5.5MB
|
||||
Category = 7
|
||||
URLSite = http://www.freebasic.net/
|
||||
URLDownload = http://ovh.dl.sourceforge.net/sourceforge/fbc/FreeBASIC-v0.20.0b-win32.exe
|
||||
CDPath = none
|
||||
|
||||
|
||||
[Section.0407]
|
||||
Description = Open Source BASIC Compiler. Die BASIC Syntax ist kompatibel zu QBASIC.
|
||||
|
||||
[Section.0415]
|
||||
Description = Otwarty kompilator BASIC, ze składnią kompatybilną z QBASIC.
|
||||
@@ -0,0 +1,18 @@
|
||||
; UTF-8
|
||||
|
||||
[Section]
|
||||
Name = GlidewrapZbag
|
||||
Version = 0.84c
|
||||
Licence = Freeware
|
||||
Description = glidewrapper needed to run Diablo 2 on ReactOS.
|
||||
Size = 249kB
|
||||
Category = 3
|
||||
URLSite = http://www.zeckensack.de/glide/index.html
|
||||
URLDownload = http://www.zeckensack.de/glide/archive/GlideWrapper084c.exe
|
||||
CDPath = none
|
||||
|
||||
[Section.0407]
|
||||
Description = glidewrapper ist erforderlich um Diablo2 in ReactOS auszuführen.
|
||||
|
||||
[Section.0415]
|
||||
Description = glidewrapper jest potrzebny do uruchomienia Diablo2 w ReactOS-ie.
|
||||
@@ -0,0 +1,22 @@
|
||||
; UTF-8
|
||||
|
||||
[Section]
|
||||
Name = IrfanView
|
||||
Version = 4.23
|
||||
Licence = Freeware (for personal use)
|
||||
Description = Viewer for all kinds of graphics/audio files/video files.
|
||||
Size = 1.3MB
|
||||
Category = 3
|
||||
URLSite = http://www.irfanview.com
|
||||
URLDownload = http://irfanview.tuwien.ac.at/iview425_setup.exe
|
||||
CDPath = none
|
||||
|
||||
|
||||
[Section.0407]
|
||||
Licence = Freeware für nichtkommerzielle Nutzung
|
||||
Description = Anzeigeprogramm für alle Arten von Grafik-/Audio- oder Video-Dateien.
|
||||
|
||||
[Section.0415]
|
||||
Licence = Freeware (dla użytku domowego)
|
||||
Description = Przeglądarka dla bardzo wielu typów obrazów, plików audio oraz wideo.
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
; UTF-8
|
||||
|
||||
[Section]
|
||||
Name = IrfanView Plugins
|
||||
Version = 4.25
|
||||
Licence = Freeware (for personal use)
|
||||
Description = Additional Plugins for supporting more file types.
|
||||
Size = 7.7MB
|
||||
Category = 3
|
||||
URLSite = http://www.irfanview.com
|
||||
URLDownload = http://irfanview.tuwien.ac.at/plugins/irfanview_plugins_425_setup.exe
|
||||
CDPath = none
|
||||
|
||||
|
||||
[Section.0407]
|
||||
Licence = Freeware für nichtkommerzielle Nutzung
|
||||
Description = Zusätzlich Plugins zur Unterstützung von weiteren Dateitypen.
|
||||
|
||||
[Section.0407]
|
||||
Licence = Freeware (dla użytku domowego)
|
||||
Description = Wtyczki otwierające dodatkowe typy plików w Irfanview.
|
||||
@@ -0,0 +1,19 @@
|
||||
; UTF-8
|
||||
|
||||
[Section]
|
||||
Name = LBreakout2
|
||||
Version = 2.4.1
|
||||
Licence = GPL
|
||||
Description = Breakout Clone using SDL libs.
|
||||
Size = 3.1MB
|
||||
Category = 4
|
||||
URLSite = http://lgames.sourceforge.net/index.php?project=LBreakout2
|
||||
URLDownload = http://ovh.dl.sourceforge.net/sourceforge/lgames/lbreakout2-2.4.1-win32.exe
|
||||
CDPath = none
|
||||
|
||||
|
||||
[Section.0407]
|
||||
Description = Breakout-Klon verwendet SDL Bibliothek.
|
||||
|
||||
[Section.0415]
|
||||
Description = Klon Breakouta/Arkanoida napisany przy u¿yciu biblioteki SDL.
|
||||
@@ -0,0 +1,18 @@
|
||||
; UTF-8
|
||||
|
||||
[Section]
|
||||
Name = LGeneral
|
||||
Version = 1.1
|
||||
Licence = GPL
|
||||
Description = Panzer General Clone using SDL libs.
|
||||
Size = 2.0MB
|
||||
Category = 4
|
||||
URLSite = http://lgames.sourceforge.net/index.php?project=LGeneral
|
||||
URLDownload = http://ovh.dl.sourceforge.net/sourceforge/lgames/lgeneral-1.1-win32.exe
|
||||
CDPath = none
|
||||
|
||||
[Section.0407]
|
||||
Description = Panzer-General-Klon verwendet SDL Bibliotheken.
|
||||
|
||||
[Section.0415]
|
||||
Description = Klon gry Panzer General napisany przy u¿yciu biblioteki SDL.
|
||||
@@ -0,0 +1,19 @@
|
||||
; UTF-8
|
||||
|
||||
[Section]
|
||||
Name = LMarbles
|
||||
Version = 1.0.6
|
||||
Licence = GPL
|
||||
Description = Atomix Clone using SDL libs.
|
||||
Size = 1.4MB
|
||||
Category = 4
|
||||
URLSite = http://lgames.sourceforge.net/index.php?project=LMarbles
|
||||
URLDownload = http://ovh.dl.sourceforge.net/sourceforge/lgames/lmarbles-1.0.6-win32.exe
|
||||
CDPath = none
|
||||
|
||||
|
||||
[Section.0407]
|
||||
Description = Atomix-Klon verwendet SDL Bibliotheken.
|
||||
|
||||
[Section.0415]
|
||||
Description = Klon gry Atomix, u¿ywaj¹cy biblioteki SDL.
|
||||
@@ -0,0 +1,23 @@
|
||||
; UTF-8
|
||||
|
||||
[Section]
|
||||
Name = OLE Viewer and Microsoft Foundation Classes version 4
|
||||
Version = 4.0
|
||||
Licence = Unknown
|
||||
Description = MFC 4 is needed by some applications.
|
||||
Size = 865kB
|
||||
Category = 14
|
||||
URLSite = http://support.microsoft.com/kb/122244
|
||||
URLDownload = http://download.microsoft.com/download/ole/ole2v/3.5/w351/en-us/ole2v.exe
|
||||
CDPath = none
|
||||
|
||||
|
||||
[Section.0407]
|
||||
Name = OLE Anzeige und Microsoft Foundation Classes Version 4
|
||||
Licence = Unbekannt
|
||||
Description = MFC 4 wird von einigen Anwendungen benötigt.
|
||||
|
||||
[Section.0415]
|
||||
Name = Przeglądarka OLE oraz MFC (Microsoft Foundation Classes) wersja 4
|
||||
Licence = Nieznana
|
||||
Description = Biblioteka MFC 4 jest używana przez część aplikacji.
|
||||
@@ -0,0 +1,19 @@
|
||||
; UTF-8
|
||||
|
||||
[Section]
|
||||
Name = MinGW
|
||||
Version = 5.1.4
|
||||
Licence = Public domain/GPL
|
||||
Description = A Port of the GNU toolchain with GCC, GDB, GNU make, etc.
|
||||
Size = 136kb
|
||||
Category = 7
|
||||
URLSite = http://mingw.org/
|
||||
URLDownload = http://ovh.dl.sourceforge.net/sourceforge/mingw/MinGW-5.1.4.exe
|
||||
CDPath = none
|
||||
|
||||
|
||||
[Section.0407]
|
||||
Description = Eine Portierung der GNU Werkzeugkette mit GCC, GDB, GNU make usw.
|
||||
|
||||
[Section.0415]
|
||||
Description = Kompilator GCC dla platformy Windows wraz z dodatkowymi narzêdziami (GDB, make, itd.).
|
||||
@@ -0,0 +1,19 @@
|
||||
; UTF-8
|
||||
|
||||
[Section]
|
||||
Name = Miranda IM
|
||||
Version = 0.8.5
|
||||
Licence = GPL
|
||||
Description = Open source multiprotocol instant messaging application - May not work completely.
|
||||
Size = 1.6MB
|
||||
Category = 5
|
||||
URLSite = http://www.miranda-im.org/
|
||||
URLDownload = http://miranda.googlecode.com/files/miranda-im-v0.8.5-unicode.exe
|
||||
CDPath = none
|
||||
|
||||
|
||||
[Section.0407]
|
||||
Description = Open source Multiprotocol Instant Messaging Anwendung - funktioniert möglicherweise nicht vollständig.
|
||||
|
||||
[Section.0415]
|
||||
Description = Otwarty komunikator internetowy, obsługujący wiele różnych protokołów (m.in. GG, Tlen, Jabber, ICQ, IRC) - może nie działać prawidłowo.
|
||||
@@ -0,0 +1,19 @@
|
||||
; UTF-8
|
||||
|
||||
[Section]
|
||||
Name = mIRC
|
||||
Version = 6.35
|
||||
Licence = Shareware
|
||||
Description = The most popular client for the Internet Relay Chat (IRC).
|
||||
Size = 1.66M
|
||||
Category = 5
|
||||
URLSite = http://www.mirc.com
|
||||
URLDownload = http://mirc.bigchief.dk/mirc635.exe
|
||||
CDPath = none
|
||||
|
||||
|
||||
[Section.0407]
|
||||
Description = Der populärste Client für Internet Relay Chat (IRC).
|
||||
|
||||
[Section.0415]
|
||||
Description = Najpopularniejszy klient IRC (Internet Relay Chat).
|
||||
@@ -0,0 +1,21 @@
|
||||
; UTF-8
|
||||
|
||||
[Section]
|
||||
Name = Microsoft XML 3
|
||||
Version = 3.0
|
||||
Licence = Unknown
|
||||
Description = MSXML3 is needed for some MSI Installers.
|
||||
Size = 1.0MB
|
||||
Category = 14
|
||||
URLSite = http://www.microsoft.com/downloads/details.aspx?FamilyID=28494391-052B-42FF-9674-F752BDCA9582&displaylang=en
|
||||
URLDownload = http://download.microsoft.com/download/8/8/8/888f34b7-4f54-4f06-8dac-fa29b19f33dd/msxml3.msi
|
||||
CDPath = none
|
||||
|
||||
|
||||
[Section.0407]
|
||||
Licence = Unbekannt
|
||||
Description = MSXML3 wird von einige MSI Installern benötigt.
|
||||
|
||||
[Section.0415]
|
||||
Licence = Nieznana
|
||||
Description = Niektóre spośród plików instalacyjnych MSI potrzebują parsera MSXML3.
|
||||
@@ -0,0 +1,19 @@
|
||||
; UTF-8
|
||||
|
||||
[Section]
|
||||
Name = Off By One Browser
|
||||
Version = 3.5d
|
||||
Licence = Freeware
|
||||
Description = The Off By One Browser is a very small and fast web browser with full HTML 3.2 support.
|
||||
Size = 0.98M
|
||||
Category = 5
|
||||
URLSite = http://offbyone.com
|
||||
URLDownload = http://offbyone.com/offbyone/images/OffByOneSetup.exe
|
||||
CDPath = none
|
||||
|
||||
|
||||
[Section.0407]
|
||||
Description = Der Off-By-One-Browser ist ein sehr kleiner und schneller Webbrowser mit voller HTML 3.2 Unterstützung.
|
||||
|
||||
[Section.0415]
|
||||
Description = Bardzo mała i szybka przeglądarka internetowa z pełną obsługą HTML 3.2.
|
||||
@@ -0,0 +1,25 @@
|
||||
; UTF-8
|
||||
|
||||
[Section]
|
||||
Name = OpenOffice 2.4
|
||||
Version = 2.4.2
|
||||
Licence = LGPL
|
||||
Description = THE Open Source Office Suite.
|
||||
Size = 127MB
|
||||
Category = 6
|
||||
URLSite = http://www.openoffice.org
|
||||
URLDownload = http://ftp.plusline.de/OpenOffice/stable/2.4.2/OOo_2.4.2_Win32Intel_install_wJRE_en-US.exe
|
||||
CDPath = none
|
||||
|
||||
|
||||
[Section.0407]
|
||||
Description = DIE Open Source Office Suite
|
||||
URLSite = http://de.openoffice.org
|
||||
Size = 114.2MB
|
||||
URLDownload = http://ftp.tu-chemnitz.de/pub/openoffice/localized/de/2.4.2/OOo_2.4.2_Win32Intel_install_de.exe
|
||||
|
||||
[Section.0415]
|
||||
URLSite = http://pl.openoffice.org/
|
||||
Description = Otwarty pakiet biurowy
|
||||
URLDownload = http://www.mirrorservice.org/sites/download.openoffice.org/localized/pl/2.4.2/OOo_2.4.2_Win32Intel_install_wJRE_pl.exe
|
||||
Size = 128.0M
|
||||
@@ -0,0 +1,26 @@
|
||||
; UTF-8
|
||||
|
||||
[Section]
|
||||
Name = OpenOffice 3.0
|
||||
Version = 3.1.0
|
||||
Licence = LGPL
|
||||
Description = THE Open Source Office Suite.
|
||||
Size = 134.3MB
|
||||
Category = 6
|
||||
URLSite = http://www.openoffice.org
|
||||
URLDownload = http://ftp.tu-chemnitz.de/pub/openoffice/stable/3.1.0/OOo_3.1.0_Win32Intel_install_en-US.exe
|
||||
CDPath = none
|
||||
|
||||
|
||||
[Section.0407]
|
||||
Description = DIE Open Source Office Suite
|
||||
URLSite = http://de.openoffice.org
|
||||
Size = 156.8MB
|
||||
Version = 3.1.1
|
||||
URLDownload = http://ftp.tu-chemnitz.de/pub/openoffice/localized/de/3.1.1/OOo_3.1.1_Win32Intel_install_wJRE_de.exe
|
||||
|
||||
[Section.0415]
|
||||
Description = Otwarty pakiet biurowy
|
||||
URLSite = http://pl.openoffice.org
|
||||
Size = 147.1MB
|
||||
URLDownload = http://ftp.tu-chemnitz.de/pub/openoffice/localized/pl/3.1.0/OOo_3.1.0_Win32Intel_install_wJRE_pl.exe
|
||||
@@ -0,0 +1,19 @@
|
||||
; UTF-8
|
||||
|
||||
[Section]
|
||||
Name = OpenTTD
|
||||
Version = 0.7.2
|
||||
Licence = GPL v2
|
||||
Description = Open Source clone of the "Transport Tycoon Deluxe" game engine. You need a copy of Transport Tycoon.
|
||||
Size = 2.9MB
|
||||
Category = 4
|
||||
URLSite = http://www.openttd.org
|
||||
URLDownload = http://ovh.dl.sourceforge.net/sourceforge/openttd/openttd-0.7.2-win32.exe
|
||||
CDPath = none
|
||||
|
||||
|
||||
[Section.0407]
|
||||
Description = Open Source Klon der "Transport Tycoon Deluxe" Spiel-Engine. Sie benötigen eine Kopie von Transport Tycoon.
|
||||
|
||||
[Section.0415]
|
||||
Description = Otwarty klon silnika gry "Transport Tycoon Deluxe". Do poprawnego działania potrzebna jest kopia gry Transport Tycoon.
|
||||
@@ -0,0 +1,21 @@
|
||||
; UTF-8
|
||||
|
||||
[Section]
|
||||
Name = Opera
|
||||
Version = 9.64
|
||||
Licence = Freeware
|
||||
Description = The popular Opera Browser with many advanced features and including a Mail and BitTorrent client.
|
||||
Size = 7.1M
|
||||
Category = 5
|
||||
URLSite = http://www.opera.com/
|
||||
URLDownload = http://ftp.opera.com/pub/opera/win/964/int/Opera_964_int_Setup.exe
|
||||
CDPath = none
|
||||
|
||||
[Section.0419]
|
||||
Description = Популярный браузер со многими дополнительными возможностями, включающий почтовый и BitTorrent клиент.
|
||||
|
||||
[Section.0407]
|
||||
Description = Der populäre Opera Browser mit vielen fortschrittlichen Eigenschaften, enthält einen Mail und BitTorrent Client.
|
||||
|
||||
[Section.0415]
|
||||
Description = Popularna przeglądarka internetowa z wieloma zaawansowanymi funkcjami, zawierająca klientów: poczty oraz BitTorrent.
|
||||
@@ -0,0 +1,19 @@
|
||||
; UTF-8
|
||||
|
||||
[Section]
|
||||
Name = PuTTY
|
||||
Version = 0.60
|
||||
Licence = MIT
|
||||
Description = A free SSH, Telnet, rlogin, and raw TCP client.
|
||||
Size = 1.7MB
|
||||
Category = 5
|
||||
URLSite = http://www.chiark.greenend.org.uk/~sgtatham/putty/
|
||||
URLDownload = http://the.earth.li/~sgtatham/putty/latest/x86/putty-0.60-installer.exe
|
||||
CDPath = none
|
||||
|
||||
|
||||
[Section.0407]
|
||||
Description = Ein freier SSH-, Telnet-, rlogin- und TCP-Client
|
||||
|
||||
[Section.0415]
|
||||
Description = Darmowy klient obs³uguj¹cy protoko³y SSH, Telnet, rlogin oraz bezpoœrednie TCP.
|
||||
@@ -0,0 +1,19 @@
|
||||
; UTF-8
|
||||
|
||||
[Section]
|
||||
Name = ReactOS Build Environment
|
||||
Version = 1.4.4
|
||||
Licence = GPL
|
||||
Description = Allows you to build the ReactOS Source. For more instructions see ReactOS wiki.
|
||||
Size = 14.9MB
|
||||
Category = 7
|
||||
URLSite = http://reactos.org/wiki/Build_Environment
|
||||
URLDownload = http://ovh.dl.sourceforge.net/sourceforge/reactos/RosBE-1.4.4.exe
|
||||
CDPath = none
|
||||
|
||||
|
||||
[Section.0407]
|
||||
Description = Erlaubt es Ihnen ReactOS aus den Quellen zu bauen. Im ReactOS-Wiki finden Sie dazu nähere Anweisungen.
|
||||
|
||||
[Section.0415]
|
||||
Description = Pozwala zbudować obraz płyty ReactOS ze źródeł. Więcej informacji na Wiki ReactOS.
|
||||
@@ -0,0 +1,19 @@
|
||||
; UTF-8
|
||||
|
||||
[Section]
|
||||
Name = Samba TNG
|
||||
Version = 0.4.99cvs
|
||||
Licence = GPL
|
||||
Description = This tool allows you to access your Windows shared folders/printers with ReactOS.
|
||||
Size = 1MB
|
||||
Category = 5
|
||||
URLSite = http://samba-tng.org
|
||||
URLDownload = http://svn.reactos.org/packages/samba-tng.exe
|
||||
CDPath = none
|
||||
|
||||
|
||||
[Section.0407]
|
||||
Description = Dieses Werkzeug erlaubt den Zugriff auf Windows' gemeinsame Verzeichnisse und Drucker aus ReactOS heraus.
|
||||
|
||||
[Section.0415]
|
||||
Description = Narzêdzie pozwalaj¹ce na dostêp z poziomu ReactOSa do wspó³dzielonych folderów/drukarek Windows.
|
||||
@@ -0,0 +1,19 @@
|
||||
; UTF-8
|
||||
|
||||
[Section]
|
||||
Name = ScummVM
|
||||
Version = 0.13.1
|
||||
Licence = GPL
|
||||
Description = Sam and Max, Day of the Tentacle, etc on ReactOS.
|
||||
Size = 2.9MB
|
||||
Category = 4
|
||||
URLSite = http://scummvm.org/
|
||||
URLDownload = http://ovh.dl.sourceforge.net/sourceforge/scummvm/scummvm-0.13.1-win32.exe
|
||||
CDPath = none
|
||||
|
||||
|
||||
[Section.0407]
|
||||
Description = Sam and Max, Day of the Tentacle usw in ReactOS
|
||||
|
||||
[Section.0415]
|
||||
Description = Program pozwalaj¹cy uruchomiæ stare gry przygodowe (Sam and Max, Day of the Tentacle, Monkey Island) w ReactOS
|
||||
@@ -0,0 +1,19 @@
|
||||
; UTF-8
|
||||
|
||||
[Section]
|
||||
Name = Simple Direct Media Layer (SDL) Mixer
|
||||
Version = 1.2.8
|
||||
Licence = LGPL
|
||||
Description = Needed for some Open Source Games to run. You need 7-Zip or a similar Utility to extract it.
|
||||
Size = 307kB
|
||||
Category = 14
|
||||
URLSite = http://www.libsdl.org/projects/SDL_mixer/
|
||||
URLDownload = http://www.libsdl.org/projects/SDL_mixer/release/SDL_mixer-1.2.8-win32.zip
|
||||
CDPath = none
|
||||
|
||||
|
||||
[Section.0407]
|
||||
Description = Erforderlich um einige Open Source Spiele auszuführen. Sie brauchen 7-Zip oder einen ähnlichen Entpacker um es zu entpacken.
|
||||
|
||||
[Section.0415]
|
||||
Description = Biblioteka wymagana przez niektóre gry (zwłaszcza te o otwartym źródle). Do jej rozpakowania potrzebny jest 7-Zip lub podobny program.
|
||||
@@ -0,0 +1,20 @@
|
||||
; UTF-8
|
||||
|
||||
[Section]
|
||||
Name = Simple Direct Media Layer (SDL) Runtime
|
||||
Version = 1.2.13
|
||||
Licence = LGPL
|
||||
Description = Needed for many Open Source Games to run. You need 7-Zip or a similar Utility to extract it.
|
||||
Size = 145kB
|
||||
Category = 14
|
||||
URLSite = http://www.libsdl.org/
|
||||
URLDownload = http://www.libsdl.org/release/SDL-1.2.13-win32.zip
|
||||
CDPath = none
|
||||
|
||||
[Section.0407]
|
||||
Name = Simple Direct Media Layer (SDL) Laufzeitsystem
|
||||
Description = Erforderlich um einige Open Source Spiele auszuführen. Sie brauchen 7-Zip oder einen ähnlichen Entpacker um es zu entpacken.
|
||||
|
||||
[Section.0415]
|
||||
Name = Biblioteka uruchomieniowa Simple Direct Media Layer (SDL)
|
||||
Description = Wymagana przez wiele gier (głównie o otwartym źródle). Do jej rozpakowania potrzebny jest program 7-Zip lub podobny.
|
||||
@@ -0,0 +1,27 @@
|
||||
; UTF-8
|
||||
|
||||
[Section]
|
||||
Name = Mozilla SeaMonkey
|
||||
Version = 1.1.17
|
||||
Licence = MPL/GPL/LGPL
|
||||
Description = Mozilla Suite is alive. This is the one and only Browser, Mail, Chat, and Composer bundle you will ever need.
|
||||
Size = 12.4MB
|
||||
Category = 5
|
||||
URLSite = http://www.seamonkey-project.org/
|
||||
URLDownload = http://ftp.df.lth.se/mozilla/seamonkey/releases/1.1.17/seamonkey-1.1.17.en-US.win32.installer.exe
|
||||
CDPath = none
|
||||
|
||||
[Section.0419]
|
||||
Description = Продолжение Mozilla Suite. Включает браузер, почтовый клиент, IRC-клиент и HTML-редактор.
|
||||
Size = 9.0MB
|
||||
URLDownload = http://releases.mozilla.org/pub/mozilla.org/seamonkey/releases/1.1.17/contrib-localized/seamonkey-1.1.17.ru-RU.win32.installer.exe
|
||||
|
||||
[Section.0407]
|
||||
Description = Mozilla Suite ist lebendig. Dies ist das einzige Browser-, Mail-, Chat- and Composerwerkzeug-Bundle welches Sie benötigen.
|
||||
Size = 9.0MB
|
||||
URLDownload = http://ftp.df.lth.se/mozilla/seamonkey/releases/1.1.17/contrib-localized/seamonkey-1.1.17.de-AT.win32.installer.exe
|
||||
|
||||
[Section.0415]
|
||||
Description = Pakiet Mozilla żyje. W zestawie: przeglądarka, klient poczty, IRC oraz Edytor HTML - wszystko, czego potrzebujesz.
|
||||
Size = 12.4MB
|
||||
URLDownload = http://releases.mozilla.org/pub/mozilla.org/seamonkey/releases/1.1.17/contrib-localized/seamonkey-1.1.17.pl-PL.win32.installer.exe
|
||||
@@ -0,0 +1,20 @@
|
||||
; UTF-8
|
||||
|
||||
[Section]
|
||||
Name = SMPlayer
|
||||
Version = 0.6.8
|
||||
Licence = GPL
|
||||
Description = SMPlayer.
|
||||
Size = 13.38MB
|
||||
Category = 1
|
||||
URLSite = http://smplayer.sourceforge.net/
|
||||
URLDownload = http://dfn.dl.sourceforge.net/sourceforge/smplayer/smplayer_0.6.8_setup.exe
|
||||
CDPath = none
|
||||
|
||||
|
||||
[Section.0407]
|
||||
URLSite = http://smplayer.sourceforge.net/index.php?tr_lang=de
|
||||
|
||||
[Section.0415]
|
||||
URLSite = http://smplayer.sourceforge.net/index.php?tr_lang=pl
|
||||
Description = Graficzna nak³adka na MPlayer, otwarty odtwarzacz filmów.
|
||||
@@ -0,0 +1,30 @@
|
||||
; UTF-8
|
||||
|
||||
[Section]
|
||||
Name = Mozilla Thunderbird 2.0
|
||||
Version = 2.0.0.23
|
||||
Licence = MPL/GPL/LGPL
|
||||
Description = The most popular and one of the best free Mail Clients out there.
|
||||
Size = 6.2M
|
||||
Category = 5
|
||||
URLSite = http://www.mozilla-europe.org/en/products/thunderbird/
|
||||
URLDownload = http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/2.0.0.23/win32/en-US/Thunderbird%20Setup%202.0.0.23.exe
|
||||
CDPath = none
|
||||
|
||||
[Section.0419]
|
||||
Description = Один из самых популярных и лучших бесплатных почтовых клиентов.
|
||||
Size = 7.1M
|
||||
URLSite = http://www.mozilla-europe.org/ru/products/thunderbird/
|
||||
URLDownload = http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/2.0.0.23/win32/ru/Thunderbird%20Setup%202.0.0.23.exe
|
||||
|
||||
[Section.0407]
|
||||
Description = Der populärste und einer der besten freien Mail-Clients.
|
||||
Size = 6.4M
|
||||
URLSite = http://www.mozilla-europe.org/de/products/thunderbird/
|
||||
URLDownload = http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/2.0.0.23/win32/de/Thunderbird%20Setup%202.0.0.23.exe
|
||||
|
||||
[Section.0415]
|
||||
Description = Najpopularniejszy i jeden z najlepszych darmowych klientów poczty.
|
||||
Size = 7.2M
|
||||
URLSite = http://www.mozilla-europe.org/pl/products/thunderbird/
|
||||
URLDownload = http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/2.0.0.23/win32/pl/Thunderbird%20Setup%202.0.0.23.exe
|
||||
@@ -0,0 +1,18 @@
|
||||
; UTF-8
|
||||
|
||||
[Section]
|
||||
Name = Tile World
|
||||
Version = 1.3.0
|
||||
Licence = GPL
|
||||
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.
|
||||
Size = 1.2MB
|
||||
Category = 4
|
||||
URLSite = http://www.muppetlabs.com/~breadbox/software/tworld/
|
||||
URLDownload = http://www.muppetlabs.com/~breadbox/pub/software/tworld/tworld-1.3.0-win32-CCLP2.exe
|
||||
CDPath = none
|
||||
|
||||
[Section.0407]
|
||||
Description = Schöner Klon von Chip's Challenge ursprünglich etnwickelt für Atari Lynx. Enthält CCLP2 Graphics Pack, deshalb wird das urheberrechtlich geschützte Original nicht benötigt.
|
||||
|
||||
[Section.0415]
|
||||
Description = Udany klon gry Chip's Challenge z Atari Lynx. Zawiera darmowy zestaw grafik CCLP2.
|
||||
@@ -0,0 +1,18 @@
|
||||
; UTF-8
|
||||
|
||||
[Section]
|
||||
Name = TuxPaint
|
||||
Version = 0.9.21
|
||||
Licence = GPL
|
||||
Description = An Open Source bitmap graphics editor geared towards young children.
|
||||
Size = 10MB
|
||||
Category = 3
|
||||
URLSite = http://tuxpaint.org
|
||||
URLDownload = http://ovh.dl.sourceforge.net/sourceforge/tuxpaint/tuxpaint-0.9.21-win32-installer.exe
|
||||
CDPath = none
|
||||
|
||||
[Section.0407]
|
||||
Description = Ein Open Source Bitmap Zeichenprogramm für kleine Kinder.
|
||||
|
||||
[Section.0415]
|
||||
Description = Otwarty program graficzny przeznaczony głównie dla dzieci.
|
||||
@@ -0,0 +1,24 @@
|
||||
; UTF-8
|
||||
|
||||
[Section]
|
||||
Name = µTorrent
|
||||
Version = 1.8.4
|
||||
Licence = Freeware for non-commercial uses
|
||||
Description = Small and fast BitTorrent Client.
|
||||
Size = 282K
|
||||
Category = 5
|
||||
URLSite = http://www.utorrent.com/
|
||||
URLDownload = http://download.utorrent.com/1.8.3/utorrent.exe
|
||||
CDPath = none
|
||||
|
||||
[Section.0419]
|
||||
Licence = Бесплатная для не комерческого использования
|
||||
Description = Маленький и быстрый BitTorrent клиент.
|
||||
|
||||
[Section.0407]
|
||||
Licence = Freeware für nichtkommerzielle Nutzung
|
||||
Description = Kleiner und schneller BitTorrent Client.
|
||||
|
||||
[Section.0415]
|
||||
Licence = Freeware (do użytku domowego)
|
||||
Description = Mały i szybki klient BitTorrent.
|
||||
@@ -0,0 +1,20 @@
|
||||
; UTF-8
|
||||
|
||||
[Section]
|
||||
Name = Visual Basic 5 Runtime
|
||||
Version = 5.0
|
||||
Licence = Unknown
|
||||
Description = Visual Basic 5 Runtime.
|
||||
Size = 970kB
|
||||
Category = 14
|
||||
URLSite = http://support.microsoft.com/kb/180071
|
||||
URLDownload = http://download.microsoft.com/download/vb50pro/utility/1/win98/en-us/msvbvm50.exe
|
||||
CDPath = none
|
||||
|
||||
[Section.0407]
|
||||
Licence = Unbekannt
|
||||
Description = Visual Basic 5 Laufzeitsystem
|
||||
|
||||
[Section.0415]
|
||||
Licence = Nieznana
|
||||
Description = Biblioteki uruchomieniowe Visual Basic 5
|
||||
@@ -0,0 +1,20 @@
|
||||
; UTF-8
|
||||
|
||||
[Section]
|
||||
Name = Visual Basic 6 Runtime
|
||||
Version = 6.0
|
||||
Licence = Unknown
|
||||
Description = Visual Basic 6 Runtime.
|
||||
Size = 1.0MB
|
||||
Category = 14
|
||||
URLSite = http://support.microsoft.com/kb/192461
|
||||
URLDownload = http://download.microsoft.com/download/vb60pro/install/6/win98me/en-us/vbrun60.exe
|
||||
CDPath = none
|
||||
|
||||
[Section.0407]
|
||||
Licence = Unbekannt
|
||||
Description = Visual Basic 6 Laufzeitsystem
|
||||
|
||||
[Section.0415]
|
||||
Licence = Nieznana
|
||||
Description = Biblioteki uruchomieniowe Visual Basic 6
|
||||
@@ -0,0 +1,20 @@
|
||||
; UTF-8
|
||||
|
||||
[Section]
|
||||
Name = Visual Studio 2005 Runtime
|
||||
Version = 7.0
|
||||
Licence = Unknown
|
||||
Description = Visual Studio 2005 Runtime.
|
||||
Size = 2.6MB
|
||||
Category = 14
|
||||
URLSite = http://www.microsoft.com/Downloads/details.aspx?displaylang=en&FamilyID=32bc1bee-a3f9-4c13-9c99-220b62a191ee
|
||||
URLDownload = http://download.microsoft.com/download/d/3/4/d342efa6-3266-4157-a2ec-5174867be706/vcredist_x86.exe
|
||||
CDPath = none
|
||||
|
||||
[Section.0407]
|
||||
Licence = Unbekannt
|
||||
Description = Visual Studio 2005 Laufzeitsystem
|
||||
|
||||
[Section.0415]
|
||||
Licence = Nieznana
|
||||
Description = Biblioteki uruchomieniowe Visual Studio 2005
|
||||
@@ -0,0 +1,20 @@
|
||||
; UTF-8
|
||||
|
||||
[Section]
|
||||
Name = Visual Studio 2005 Runtime SP1
|
||||
Version = 7.1
|
||||
Licence = Unknown
|
||||
Description = Visual Studio 2005 Runtime SP1.
|
||||
Size = 2.6MB
|
||||
Category = 14
|
||||
URLSite = http://www.microsoft.com/downloads/details.aspx?FamilyID=200b2fd9-ae1a-4a14-984d-389c36f85647&displaylang=en
|
||||
URLDownload = http://download.microsoft.com/download/e/1/c/e1c773de-73ba-494a-a5ba-f24906ecf088/vcredist_x86.exe
|
||||
CDPath = none
|
||||
|
||||
[Section.0407]
|
||||
Licence = Unbekannt
|
||||
Description = Visual Studio 2005 Laufzeitsystem SP1
|
||||
|
||||
[Section.0415]
|
||||
Licence = Nieznana
|
||||
Description = Biblioteki uruchomieniowe Visual Studio 2005 SP1
|
||||
@@ -0,0 +1,20 @@
|
||||
; UTF-8
|
||||
|
||||
[Section]
|
||||
Name = Visual Studio 2008 Runtime
|
||||
Version = 8.0
|
||||
Licence = Unknown
|
||||
Description = Visual Studio 2008 Runtime.
|
||||
Size = 1.7MB
|
||||
Category = 14
|
||||
URLSite = http://www.microsoft.com/DOWNLOADS/details.aspx?FamilyID=9b2da534-3e03-4391-8a4d-074b9f2bc1bf&displaylang=en
|
||||
URLDownload = http://download.microsoft.com/download/1/1/1/1116b75a-9ec3-481a-a3c8-1777b5381140/vcredist_x86.exe
|
||||
CDPath = none
|
||||
|
||||
[Section.0407]
|
||||
Licence = Unbekannt
|
||||
Description = Visual Studio 2008 Laufzeitsystem
|
||||
|
||||
[Section.0415]
|
||||
Licence = Nieznana
|
||||
Description = Biblioteki uruchomieniowe Visual Studio 2008
|
||||
@@ -0,0 +1,20 @@
|
||||
; UTF-8
|
||||
|
||||
[Section]
|
||||
Name = Visual Studio 6 Runtime
|
||||
Version = 6.0
|
||||
Licence = Unknown
|
||||
Description = Visual Studio 6 Runtime.
|
||||
Size = 1.7MB
|
||||
Category = 14
|
||||
URLSite = http://support.microsoft.com/kb/259403
|
||||
URLDownload = http://download.microsoft.com/download/vc60pro/update/1/w9xnt4/en-us/vc6redistsetup_enu.exe
|
||||
CDPath = none
|
||||
|
||||
[Section.0407]
|
||||
Licence = Unbekannt
|
||||
Description = Visual Studio 6 Laufzeitsystem
|
||||
|
||||
[Section.0415]
|
||||
Licence = Nieznana
|
||||
Description = Biblioteki uruchomieniowe Visual Studio 6
|
||||
@@ -0,0 +1,18 @@
|
||||
; UTF-8
|
||||
|
||||
[Section]
|
||||
Name = WinBoard
|
||||
Version = 4.2.7b
|
||||
Licence = GPL 3
|
||||
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.
|
||||
Size = 5.9MB
|
||||
Category = 4
|
||||
URLSite = http://www.gnu.org/software/xboard/
|
||||
URLDownload = http://ftp.gnu.org/gnu/winboard/winboard-4_2_7b.exe
|
||||
CDPath = none
|
||||
|
||||
[Section.0407]
|
||||
Description = WinBoard ist ein grafisches Schachbrett für Windows/ReactOS welches als Nutzerinterface für GNU Chess, Crafty oder andere Schachprogramme, für Internet Schachserver und für Briefschach dient.
|
||||
|
||||
[Section.0415]
|
||||
Description = Graficzna szachownica dla systemu Windows/ReactOS, która może służyć jako graficzna nakładka dla GNU Chess, Crafty, lub innych programów szachowych(w tym internetowych serwerów szachowych) lub szachów korespondencyjnych.
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 4.1 KiB |
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user