diff --git a/base/applications/calc/lang/ro-RO.rc b/base/applications/calc/lang/ro-RO.rc index 1860f966555..d4e206f7da7 100644 --- a/base/applications/calc/lang/ro-RO.rc +++ b/base/applications/calc/lang/ro-RO.rc @@ -1,3 +1,4 @@ +/* Ștefan Fulea (stefan dot fulea at mail dot md) */ LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL /* Dialogs */ @@ -535,11 +536,11 @@ END /* Lengths */ STRINGTABLE BEGIN - IDS_LENGTH_ANGSTROMS "Ångströms" + IDS_LENGTH_ANGSTROMS "Ångströmi" IDS_LENGTH_ASTRONOMICAL_UNITS "Unități astronomice" IDS_LENGTH_BARLEYCORNS "Grani" IDS_LENGTH_CENTIMETERS "Centimetri" - IDS_LENGTH_CHAINS_UK "Chains (Marea Britanie)" + IDS_LENGTH_CHAINS_UK "Lanțuri (Marea Britanie)" IDS_LENGTH_CHI "Chi" IDS_LENGTH_CHOU "Chou" IDS_LENGTH_CHR "Chr" @@ -567,7 +568,7 @@ BEGIN IDS_LENGTH_MILLIMETERS "Milimetri" IDS_LENGTH_NAUTICAL_MILES "Mile nautice" IDS_LENGTH_NIEU "Nieu" - IDS_LENGTH_PARSECS "Parsecs" + IDS_LENGTH_PARSECS "Parseci" IDS_LENGTH_PICAS "Picas" IDS_LENGTH_RI_JAPAN "Ri (Japonia)" IDS_LENGTH_RI_KOREA "Ri (Corea)" diff --git a/base/applications/cmdutils/help/lang/pl-PL.rc b/base/applications/cmdutils/help/lang/pl-PL.rc index 0d892ad0bcc..2338b2c9718 100644 --- a/base/applications/cmdutils/help/lang/pl-PL.rc +++ b/base/applications/cmdutils/help/lang/pl-PL.rc @@ -5,20 +5,21 @@ * http://www.reactos.org * IRC: irc.freenode.net #reactos-pl; * UTF-8 conversion by Caemyr (May, 2011) + * Updated by Saibamen - Adam Stachowicz (saibamenppl@gmail.com) (November, 2013) */ LANGUAGE LANG_POLISH, SUBLANG_DEFAULT STRINGTABLE BEGIN - IDS_NO_ENTRY "This command is not supported by the help utility.\nTry ""%s /?""\n." + IDS_NO_ENTRY "To polecenie nie jest obsługiwane przez narzędzie pomocy.\nSpróbuj ""%s /?""\n." END STRINGTABLE BEGIN - IDS_USAGE "Provides Help information for ReactOS commands.\n\n\ -HELP [command]\n\n\ - command - Display help information for this command.\n" + IDS_USAGE "Podaje informacje o poleceniach ReactOS.\n\n\ +HELP [polecenie]\n\n\ + polecenie - wyświetla informacje o tym poleceniu.\n" IDS_HELP1 "Lista wszystkich dostępnych komend (+opisy)\n\n\ help komenda\n\ komenda /? Wyświetla dokładny opis danej komendy\n\n\ diff --git a/base/applications/cmdutils/help/lang/ro-RO.rc b/base/applications/cmdutils/help/lang/ro-RO.rc index 467f6e56870..d5ba86bc290 100644 --- a/base/applications/cmdutils/help/lang/ro-RO.rc +++ b/base/applications/cmdutils/help/lang/ro-RO.rc @@ -2,23 +2,21 @@ * FILE: base/shell/cmd/lang/ro-RO.rc * ReactOS Project (http://www.reactos.org) * AUTHOR: Magnus Olsen, 2005 - * TRANSLATOR: Fulea Ștefan (PM on ReactOS Forum to fulea.stefan) - * CHANGE LOG: 2011-08-25 initial translation - * 2011-10-30 UTF-8 encoding (with diacritics conversion), minor changes + * TRANSLATOR: Ștefan Fulea (stefan dot fulea at mail dot md) */ LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL STRINGTABLE BEGIN - IDS_NO_ENTRY "This command is not supported by the help utility.\nTry ""%s /?""\n." + IDS_NO_ENTRY "Această comandă nu este recunoscută de utilitarul manual.\nÎncercați ""%s /?""\n." END STRINGTABLE BEGIN - IDS_USAGE "Provides Help information for ReactOS commands.\n\n\ -HELP [command]\n\n\ - command - Display help information for this command.\n" + IDS_USAGE "Oferă informații de manual referitoare la comenzile ReactOS.\n\n\ +HELP [comandă]\n\n\ + comandă - Afișează informații de manual pentru această comandă.\n" IDS_HELP1 "Enumeră toate comenzile disponibile (+ descriere)\n\n\ help comandă\n\ comandă /? Pentru mai multe informații referitoare la o anume comandă.\n\n\ diff --git a/base/applications/cmdutils/hostname/hostname.rc b/base/applications/cmdutils/hostname/hostname.rc index e05ec34455d..f5612248850 100644 --- a/base/applications/cmdutils/hostname/hostname.rc +++ b/base/applications/cmdutils/hostname/hostname.rc @@ -30,6 +30,9 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL #ifdef LANGUAGE_PL_PL #include "lang/pl-PL.rc" #endif +#ifdef LANGUAGE_RO_RO + #include "lang/ro-RO.rc" +#endif #ifdef LANGUAGE_SQ_AL #include "lang/sq-AL.rc" -#endif \ No newline at end of file +#endif diff --git a/base/applications/cmdutils/hostname/lang/ro-RO.rc b/base/applications/cmdutils/hostname/lang/ro-RO.rc new file mode 100644 index 00000000000..21947c61a10 --- /dev/null +++ b/base/applications/cmdutils/hostname/lang/ro-RO.rc @@ -0,0 +1,9 @@ +/* Ștefan Fulea (stefan dot fulea at mail dot md) */ +LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL + +STRINGTABLE +BEGIN + IDS_USAGE "Tipărește numele gazdei curente.\n\nhostname" + IDS_NOSET "hostname -s nu este acceptat." + IDS_ERROR "Eroare Win32" +END diff --git a/base/applications/cmdutils/taskkill/lang/ro-RO.rc b/base/applications/cmdutils/taskkill/lang/ro-RO.rc new file mode 100644 index 00000000000..a0767a855a5 --- /dev/null +++ b/base/applications/cmdutils/taskkill/lang/ro-RO.rc @@ -0,0 +1,21 @@ +/* Translator: Ștefan Fulea (stefan dot fulea at mail dot md) */ + +LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL + +STRINGTABLE +BEGIN + STRING_USAGE "taskkill [/?] [/f] [/im NumeProces | /pid IdProces]\n" + STRING_INVALID_OPTION "Eroare: Opțiune specificată nevalidă sau necunoscută.\n" + STRING_INVALID_PARAM "Eroare: Parametrul de comandă specificat este nevalid.\n" + STRING_MISSING_OPTION "Eroare: Trebuie specificată una dintre opțiunile /im sau /pid.\n" + STRING_MISSING_PARAM "Eroare: Opțiunea %1 necesită un parametru.\n" + STRING_MUTUAL_EXCLUSIVE "Eroare: Opțiunile /im și /pid sunt reciproc exclusive.\n" + STRING_CLOSE_PID_SEARCH "Către fereastra procesului cu PID %1!u! a fost emis un mesaj de închidere.\n" + STRING_CLOSE_PROC_SRCH "Către fereastra procesului «%1» cu PID %2!u! a fost emis un mesaj de închidere.\n" + STRING_TERM_PID_SEARCH "Procesul cu PID %1!u! a fost oprit în mod forțat.\n" + STRING_TERM_PROC_SEARCH "Procesul «%1» cu PID %2!u! a fost oprit în mod forțat.\n" + STRING_SEARCH_FAILED "Eroare: Nu se poate găsi procesul «%1».\n" + STRING_ENUM_FAILED "Eroare: Nu se poate enumera lista de procese.\n" + STRING_TERMINATE_FAILED "Eroare: Procesul «%1» nu poate fi oprit.\n" + STRING_SELF_TERMINATION "Eroare: Auto-terminarea nu este permisă.\n" +END diff --git a/base/applications/cmdutils/taskkill/taskkill.rc b/base/applications/cmdutils/taskkill/taskkill.rc index 3988d27a154..7b4de57d80c 100644 --- a/base/applications/cmdutils/taskkill/taskkill.rc +++ b/base/applications/cmdutils/taskkill/taskkill.rc @@ -36,6 +36,9 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL #ifdef LANGUAGE_EN_US #include "lang/en-US.rc" #endif +#ifdef LANGUAGE_RO_RO + #include "lang/ro-RO.rc" +#endif #ifdef LANGAUGE_SQ_AL #include "lang/sq-AL.rc" -#endif \ No newline at end of file +#endif diff --git a/base/applications/cmdutils/wmic/lang/ro-RO.rc b/base/applications/cmdutils/wmic/lang/ro-RO.rc new file mode 100644 index 00000000000..09bf39f833e --- /dev/null +++ b/base/applications/cmdutils/wmic/lang/ro-RO.rc @@ -0,0 +1,10 @@ +/* Translator: Ștefan Fulea (stefan dot fulea at mail dot md) */ + +LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL + +STRINGTABLE +BEGIN + STRING_CMDLINE_NOT_SUPPORTED "Eroare: Comandă nerecunoscută.\n" + STRING_ALIAS_NOT_FOUND "Eroare: Nu se poate găsi alias.\n" + STRING_INVALID_QUERY "Eroare: Cerere nevalidă.\n" +END diff --git a/base/applications/cmdutils/wmic/wmic.rc b/base/applications/cmdutils/wmic/wmic.rc index ed18cf2e73d..0f54d11e54f 100644 --- a/base/applications/cmdutils/wmic/wmic.rc +++ b/base/applications/cmdutils/wmic/wmic.rc @@ -34,6 +34,9 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL #ifdef LANGUAGE_EN_US #include "lang/en-US.rc" #endif +#ifdef LANGUAGE_RO_RO + #include "lang/ro-RO.rc" +#endif #ifdef LANGUAGE_SQ_AL #include "lang/sq-AL.rc" -#endif \ No newline at end of file +#endif diff --git a/base/applications/cmdutils/xcopy/lang/Ro.rc b/base/applications/cmdutils/xcopy/lang/Ro.rc index 942d15c6b36..c1b61889813 100644 --- a/base/applications/cmdutils/xcopy/lang/Ro.rc +++ b/base/applications/cmdutils/xcopy/lang/Ro.rc @@ -1,18 +1,19 @@ +/* Ștefan Fulea (stefan dot fulea at mail dot md) */ LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL STRINGTABLE BEGIN - STRING_INVPARMS "Număr de parametri nevalid - Utilizați xcopy /? pentru ajutor\n" - STRING_INVPARM "Parametru nevalid „%1” - Utilizați xcopy /? pentru ajutor\n" - STRING_PAUSE "Apăsați pe pentru a începe copierea\n" + STRING_INVPARMS "Număr de parametri nevalid - Utilizați xcopy /? pentru manual\n" + STRING_INVPARM "Parametru nevalid «%1» - Utilizați xcopy /? pentru manual\n" + STRING_PAUSE "Apăsați pe «Enter» pentru a începe copierea\n" STRING_SIMCOPY "%1!d! fișier(e) ar fi copiat(e)\n" STRING_COPY "%1!d! fișier(e) copiat(e)\n" - STRING_QISDIR "„%1” este un nume de fișier sau un director\ndin destinație?\n(F - Fișier, D - Director)\n" + STRING_QISDIR "«%1» este un nume de fișier sau un director\ndin destinație?\n(F - Fișier, D - Director)\n" STRING_SRCPROMPT "%1? (Da|Nu)\n" STRING_OVERWRITE "Se suprascrie %1? (Da|Nu|Toate)\n" - STRING_COPYFAIL "Copierea „%1” în „%2” a eșuat cu cod de retur %3!d!\n" - STRING_OPENFAIL "Deschiderea „%1” a eșuat\n" - STRING_READFAIL "Citirea „%1” a eșuat\n" + STRING_COPYFAIL "Copierea «%1» în «%2» a eșuat cu cod de retur %3!d!\n" + STRING_OPENFAIL "Deschiderea «%1» a eșuat\n" + STRING_READFAIL "Citirea «%1» a eșuat\n" STRING_YES_CHAR "D" STRING_NO_CHAR "N" STRING_ALL_CHAR "T" diff --git a/base/applications/dxdiag/lang/bg-BG.rc b/base/applications/dxdiag/lang/bg-BG.rc index 0633e9a8f9f..2faa036b953 100644 --- a/base/applications/dxdiag/lang/bg-BG.rc +++ b/base/applications/dxdiag/lang/bg-BG.rc @@ -53,8 +53,8 @@ BEGIN RTEXT "Производител:", -1, 20, 35, 80, 10 RTEXT "Вид на чипа:", -1, 20, 45, 80, 10 RTEXT "Вид ЦАП:", -1, 20, 55, 80, 10 - RTEXT "Обща памет около:", -1, 20, 65, 80, 10 - RTEXT "Режим на екрана:", -1, 20, 75, 80, 10 + RTEXT "Обща памет около:", -1, 14, 65, 80, 10 + RTEXT "Режим на екрана:", -1, 14, 75, 80, 10 RTEXT "Екран:", -1, 20, 85, 80, 10 LTEXT "", IDC_STATIC_ADAPTER_ID, 95, 25, 150, 10 LTEXT "", IDC_STATIC_ADAPTER_VENDOR, 95, 35, 150, 10 @@ -189,7 +189,7 @@ BEGIN IDS_DEVICE_MANUFACTURER "ОЗ на производителя" IDS_DEVICE_PRODUCT "ОЗ на произведението" IDS_DEVICE_FORCEFEEDBACK "Водач за силова обратна връзка" - IDS_NOT_APPLICABLE "Неприложимо" + IDS_NOT_APPLICABLE "n/a" IDS_OPTION_YES "Да" IDS_DIRECTPLAY_COL_NAME1 "Име" IDS_DIRECTPLAY_COL_NAME2 "Регистър" diff --git a/base/applications/dxdiag/lang/cs-CZ.rc b/base/applications/dxdiag/lang/cs-CZ.rc index 586ce8e12f1..9f35ba68e57 100644 --- a/base/applications/dxdiag/lang/cs-CZ.rc +++ b/base/applications/dxdiag/lang/cs-CZ.rc @@ -58,8 +58,8 @@ BEGIN RTEXT "Výrobce:", -1, 20, 35, 70, 10 RTEXT "Typ čipu:", -1, 20, 45, 70, 10 RTEXT "Typ DAC:", -1, 20, 55, 70, 10 - RTEXT "Celková paměť:", -1, 20, 65, 70, 10 - RTEXT "Zobrazovací mód:", -1, 20, 75, 70, 10 + RTEXT "Celková paměť:", -1, 14, 65, 75, 10 + RTEXT "Zobrazovací mód:", -1, 14, 75, 75, 10 RTEXT "Monitor:", -1, 20, 85, 70, 10 LTEXT "", IDC_STATIC_ADAPTER_ID, 95, 25, 150, 10 LTEXT "", IDC_STATIC_ADAPTER_VENDOR, 95, 35, 150, 10 @@ -194,7 +194,7 @@ BEGIN IDS_DEVICE_MANUFACTURER "ID výrobce" IDS_DEVICE_PRODUCT "ID produktu" IDS_DEVICE_FORCEFEEDBACK "Ovladač Force Feedback" - IDS_NOT_APPLICABLE "Nelze aplikovat" + IDS_NOT_APPLICABLE "n/a" IDS_OPTION_YES "Ano" IDS_DIRECTPLAY_COL_NAME1 "Název" IDS_DIRECTPLAY_COL_NAME2 "Registr" diff --git a/base/applications/dxdiag/lang/de-DE.rc b/base/applications/dxdiag/lang/de-DE.rc index 353416c7cac..350c273ddd9 100644 --- a/base/applications/dxdiag/lang/de-DE.rc +++ b/base/applications/dxdiag/lang/de-DE.rc @@ -53,8 +53,8 @@ BEGIN RTEXT "Hersteller:", -1, 20, 35, 70, 10 RTEXT "Chiptyp:", -1, 20, 45, 70, 10 RTEXT "DAC-Typ:", -1, 20, 55, 70, 10 - RTEXT "Gesamtspeicher ca.:", -1, 20, 65, 70, 10 - RTEXT "Anzeigemodus:", -1, 20, 75, 70, 10 + RTEXT "Gesamtspeicher ca.:", -1, 14, 65, 75, 10 + RTEXT "Anzeigemodus:", -1, 14, 75, 75, 10 RTEXT "Monitor:", -1, 20, 85, 70, 10 LTEXT "", IDC_STATIC_ADAPTER_ID, 95, 25, 150, 10 LTEXT "", IDC_STATIC_ADAPTER_VENDOR, 95, 35, 150, 10 @@ -189,7 +189,7 @@ BEGIN IDS_DEVICE_MANUFACTURER "Herstellererkennung" IDS_DEVICE_PRODUCT "Produkterkennung" IDS_DEVICE_FORCEFEEDBACK "Force-Feedback-Treiber" - IDS_NOT_APPLICABLE "Nicht zutreffend" + IDS_NOT_APPLICABLE "n/a" IDS_OPTION_YES "Ja" IDS_DIRECTPLAY_COL_NAME1 "Name" IDS_DIRECTPLAY_COL_NAME2 "Registrierung" diff --git a/base/applications/dxdiag/lang/en-US.rc b/base/applications/dxdiag/lang/en-US.rc index daab260d319..9583e1aab53 100644 --- a/base/applications/dxdiag/lang/en-US.rc +++ b/base/applications/dxdiag/lang/en-US.rc @@ -53,8 +53,8 @@ BEGIN RTEXT "Manufacturer:", -1, 20, 35, 70, 10 RTEXT "Chip Type:", -1, 20, 45, 70, 10 RTEXT "DAC Type:", -1, 20, 55, 70, 10 - RTEXT "Approx. Total Memory:", -1, 20, 65, 70, 10 - RTEXT "Current Display Mode:", -1, 20, 75, 70, 10 + RTEXT "Approx. Total Memory:", -1, 14, 65, 75, 10 + RTEXT "Current Display Mode:", -1, 14, 75, 75, 10 RTEXT "Monitor:", -1, 20, 85, 70, 10 LTEXT "", IDC_STATIC_ADAPTER_ID, 95, 25, 150, 10 LTEXT "", IDC_STATIC_ADAPTER_VENDOR, 95, 35, 150, 10 @@ -189,7 +189,7 @@ BEGIN IDS_DEVICE_MANUFACTURER "Manufacturer ID" IDS_DEVICE_PRODUCT "Product ID" IDS_DEVICE_FORCEFEEDBACK "Force Feedback-Driver" - IDS_NOT_APPLICABLE "Not applicable" + IDS_NOT_APPLICABLE "n/a" IDS_OPTION_YES "Yes" IDS_DIRECTPLAY_COL_NAME1 "Name" IDS_DIRECTPLAY_COL_NAME2 "Registry" diff --git a/base/applications/dxdiag/lang/es-ES.rc b/base/applications/dxdiag/lang/es-ES.rc index 365d5654058..e9e2d96f69c 100644 --- a/base/applications/dxdiag/lang/es-ES.rc +++ b/base/applications/dxdiag/lang/es-ES.rc @@ -55,8 +55,8 @@ BEGIN RTEXT "Fabricante:", -1, 20, 35, 70, 10 RTEXT "Tipo de Chip:", -1, 20, 45, 70, 10 RTEXT "Ipo de DAC:", -1, 20, 55, 70, 10 - RTEXT "Memoria total aprox.:", -1, 20, 65, 70, 10 - RTEXT "Resolución actual:", -1, 20, 75, 70, 10 + RTEXT "Memoria total aprox.:", -1, 14, 65, 75, 10 + RTEXT "Resolución actual:", -1, 14, 75, 75, 10 RTEXT "Monitor:", -1, 20, 85, 70, 10 LTEXT "", IDC_STATIC_ADAPTER_ID, 95, 25, 150, 10 LTEXT "", IDC_STATIC_ADAPTER_VENDOR, 95, 35, 150, 10 @@ -191,7 +191,7 @@ BEGIN IDS_DEVICE_MANUFACTURER "ID del fabricante" IDS_DEVICE_PRODUCT "ID del producto" IDS_DEVICE_FORCEFEEDBACK "Forzar recuperación del controlador" - IDS_NOT_APPLICABLE "No aplicable" + IDS_NOT_APPLICABLE "n/a" IDS_OPTION_YES "Sí" IDS_DIRECTPLAY_COL_NAME1 "Nombre" IDS_DIRECTPLAY_COL_NAME2 "Registro" diff --git a/base/applications/dxdiag/lang/fr-FR.rc b/base/applications/dxdiag/lang/fr-FR.rc index 43e9ed884bc..ca1a8713610 100644 --- a/base/applications/dxdiag/lang/fr-FR.rc +++ b/base/applications/dxdiag/lang/fr-FR.rc @@ -53,8 +53,8 @@ BEGIN RTEXT "Fabricant :", -1, 20, 35, 70, 10 RTEXT "Type de puce :", -1, 20, 45, 70, 10 RTEXT "Type de DAC :", -1, 20, 55, 70, 10 - RTEXT "Mémoire totale approx. :", -1, 20, 65, 70, 10 - RTEXT "Mode d'affichage actuelle:", -1, 20, 75, 70, 10 + RTEXT "Mémoire totale approx. :", -1, 14, 65, 75, 10 + RTEXT "Mode d'affichage actuelle:", -1, 14, 75, 75, 10 RTEXT "Moniteur :", -1, 20, 85, 70, 10 LTEXT "", IDC_STATIC_ADAPTER_ID, 95, 25, 150, 10 LTEXT "", IDC_STATIC_ADAPTER_VENDOR, 95, 35, 150, 10 @@ -189,7 +189,7 @@ BEGIN IDS_DEVICE_MANUFACTURER "ID fabricant" IDS_DEVICE_PRODUCT "ID produit" IDS_DEVICE_FORCEFEEDBACK "Périphérique à retour de force" - IDS_NOT_APPLICABLE "Non appliquable" + IDS_NOT_APPLICABLE "n/a" IDS_OPTION_YES "Oui" IDS_DIRECTPLAY_COL_NAME1 "Nom" IDS_DIRECTPLAY_COL_NAME2 "Registre" diff --git a/base/applications/dxdiag/lang/he-IL.rc b/base/applications/dxdiag/lang/he-IL.rc index f88bbb45a6f..216b0894715 100644 --- a/base/applications/dxdiag/lang/he-IL.rc +++ b/base/applications/dxdiag/lang/he-IL.rc @@ -54,8 +54,8 @@ BEGIN RTEXT "יצרן:", -1, 20, 35, 70, 10 RTEXT "סוג שבב:", -1, 20, 45, 70, 10 RTEXT "סוג DAC:", -1, 20, 55, 70, 10 - RTEXT "זיכרון כולל בקירוב:", -1, 20, 65, 70, 10 - RTEXT "מצב תצוגה נוכחי:", -1, 20, 75, 70, 10 + RTEXT "זיכרון כולל בקירוב:", -1, 14, 65, 75, 10 + RTEXT "מצב תצוגה נוכחי:", -1, 14, 75, 75, 10 RTEXT "צג:", -1, 20, 85, 70, 10 LTEXT "", IDC_STATIC_ADAPTER_ID, 95, 25, 150, 10 LTEXT "", IDC_STATIC_ADAPTER_VENDOR, 95, 35, 150, 10 @@ -190,7 +190,7 @@ BEGIN IDS_DEVICE_MANUFACTURER "מזהה ספק" IDS_DEVICE_PRODUCT "מזהה מוצר" IDS_DEVICE_FORCEFEEDBACK "Force Feedback מנהל התקן" - IDS_NOT_APPLICABLE "Not applicable" + IDS_NOT_APPLICABLE "n/a" IDS_OPTION_YES "כן" IDS_DIRECTPLAY_COL_NAME1 "שם" IDS_DIRECTPLAY_COL_NAME2 "רשום" diff --git a/base/applications/dxdiag/lang/it-IT.rc b/base/applications/dxdiag/lang/it-IT.rc index 41735037e67..15b3fc7125f 100644 --- a/base/applications/dxdiag/lang/it-IT.rc +++ b/base/applications/dxdiag/lang/it-IT.rc @@ -53,8 +53,8 @@ BEGIN RTEXT "Fabbricante:", -1, 20, 35, 70, 10 RTEXT "Chip Type:", -1, 20, 45, 70, 10 RTEXT "DAC Type:", -1, 20, 55, 70, 10 - RTEXT "Totale memnoria (Approssimativo):", -1, 20, 65, 70, 10 - RTEXT "Modalità di visualizzazione corrente:", -1, 20, 75, 70, 10 + RTEXT "Totale memnoria (Approssimativo):", -1, 14, 65, 75, 10 + RTEXT "Modalità di visualizzazione corrente:", -1, 14, 75, 75, 10 RTEXT "Monitor:", -1, 20, 85, 70, 10 LTEXT "", IDC_STATIC_ADAPTER_ID, 95, 25, 150, 10 LTEXT "", IDC_STATIC_ADAPTER_VENDOR, 95, 35, 150, 10 @@ -189,7 +189,7 @@ BEGIN IDS_DEVICE_MANUFACTURER "Manufacturer ID" IDS_DEVICE_PRODUCT "Product ID" IDS_DEVICE_FORCEFEEDBACK "Forza Feedback-Driver" - IDS_NOT_APPLICABLE "Non applicabile" + IDS_NOT_APPLICABLE "n/a" IDS_OPTION_YES "Si" IDS_DIRECTPLAY_COL_NAME1 "Nome" IDS_DIRECTPLAY_COL_NAME2 "Registro" diff --git a/base/applications/dxdiag/lang/ja-JP.rc b/base/applications/dxdiag/lang/ja-JP.rc index 7e2a6ddd9b0..608dc399787 100644 --- a/base/applications/dxdiag/lang/ja-JP.rc +++ b/base/applications/dxdiag/lang/ja-JP.rc @@ -53,8 +53,8 @@ BEGIN RTEXT "製造元:", -1, 20, 35, 70, 10 RTEXT "チップの種類:", -1, 20, 45, 70, 10 RTEXT "DAC の種類:", -1, 20, 55, 70, 10 - RTEXT "概算メモリ合計:", -1, 20, 65, 70, 10 - RTEXT "現在のディスプレイ モード:", -1, 20, 75, 70, 10 + RTEXT "概算メモリ合計:", -1, 14, 65, 75, 10 + RTEXT "現在のディスプレイ モード:", -1, 14, 75, 75, 10 RTEXT "モニタ:", -1, 20, 85, 70, 10 LTEXT "", IDC_STATIC_ADAPTER_ID, 95, 25, 150, 10 LTEXT "", IDC_STATIC_ADAPTER_VENDOR, 95, 35, 150, 10 diff --git a/base/applications/dxdiag/lang/ko-KR.rc b/base/applications/dxdiag/lang/ko-KR.rc index 9403bc72ca1..79e77327bc1 100644 --- a/base/applications/dxdiag/lang/ko-KR.rc +++ b/base/applications/dxdiag/lang/ko-KR.rc @@ -55,8 +55,8 @@ BEGIN RTEXT "제조자:", -1, 20, 35, 70, 10 RTEXT "칩 타입:", -1, 20, 45, 70, 10 RTEXT "DAC 타입:", -1, 20, 55, 70, 10 - RTEXT "총 메모리:", -1, 20, 65, 70, 10 - RTEXT "현재 디스플레이 모드:", -1, 20, 75, 70, 10 + RTEXT "총 메모리:", -1, 14, 65, 75, 10 + RTEXT "현재 디스플레이 모드:", -1, 14, 75, 75, 10 RTEXT "모니터:", -1, 20, 85, 70, 10 LTEXT "", IDC_STATIC_ADAPTER_ID, 95, 25, 150, 10 LTEXT "", IDC_STATIC_ADAPTER_VENDOR, 95, 35, 150, 10 diff --git a/base/applications/dxdiag/lang/nl-NL.rc b/base/applications/dxdiag/lang/nl-NL.rc index 0bc503331f2..b7d4955be2d 100644 --- a/base/applications/dxdiag/lang/nl-NL.rc +++ b/base/applications/dxdiag/lang/nl-NL.rc @@ -53,8 +53,8 @@ BEGIN RTEXT "Fabrikans:", -1, 20, 35, 70, 10 RTEXT "Chip-type:", -1, 20, 45, 70, 10 RTEXT "DAC-type:", -1, 20, 55, 70, 10 - RTEXT "Totaal geheugen:", -1, 20, 65, 70, 10 - RTEXT "Huidige resolutie:", -1, 20, 75, 70, 10 + RTEXT "Totaal geheugen:", -1, 14, 65, 75, 10 + RTEXT "Huidige resolutie:", -1, 14, 75, 75, 10 RTEXT "Beeldscherm:", -1, 20, 85, 70, 10 LTEXT "", IDC_STATIC_ADAPTER_ID, 95, 25, 150, 10 LTEXT "", IDC_STATIC_ADAPTER_VENDOR, 95, 35, 150, 10 diff --git a/base/applications/dxdiag/lang/no-NO.rc b/base/applications/dxdiag/lang/no-NO.rc index 3d1dbca0bbe..b656f5a455e 100644 --- a/base/applications/dxdiag/lang/no-NO.rc +++ b/base/applications/dxdiag/lang/no-NO.rc @@ -53,8 +53,8 @@ BEGIN RTEXT "Fabrikant:", -1, 20, 35, 70, 10 RTEXT "Brikketype:", -1, 20, 45, 70, 10 RTEXT "DAC type:", -1, 20, 55, 70, 10 - RTEXT "Cirka total minne:", -1, 20, 65, 70, 10 - RTEXT "Gjeldende skjermmodus:", -1, 20, 75, 70, 10 + RTEXT "Cirka total minne:", -1, 14, 65, 75, 10 + RTEXT "Gjeldende skjermmodus:", -1, 14, 75, 75, 10 RTEXT "Skjerm:", -1, 20, 85, 70, 10 LTEXT "", IDC_STATIC_ADAPTER_ID, 95, 25, 150, 10 LTEXT "", IDC_STATIC_ADAPTER_VENDOR, 95, 35, 150, 10 @@ -189,7 +189,7 @@ BEGIN IDS_DEVICE_MANUFACTURER "Fabrikant ID" IDS_DEVICE_PRODUCT "Produkt ID" IDS_DEVICE_FORCEFEEDBACK "Force Feedback-driver" - IDS_NOT_APPLICABLE "Ikke gjeldende" + IDS_NOT_APPLICABLE "n/a" IDS_OPTION_YES "Ja" IDS_DIRECTPLAY_COL_NAME1 "Navn" IDS_DIRECTPLAY_COL_NAME2 "Register" diff --git a/base/applications/dxdiag/lang/pl-PL.rc b/base/applications/dxdiag/lang/pl-PL.rc index c0f5716b1cb..92e5c84b17d 100644 --- a/base/applications/dxdiag/lang/pl-PL.rc +++ b/base/applications/dxdiag/lang/pl-PL.rc @@ -62,8 +62,8 @@ BEGIN RTEXT "Producent:", -1, 20, 35, 70, 10 RTEXT "GPU:", -1, 20, 45, 70, 10 RTEXT "Typ DAC:", -1, 20, 55, 70, 10 - RTEXT "Pamięć:", -1, 20, 65, 70, 10 - RTEXT "Bieżąca rozdzielczość:", -1, 20, 75, 70, 10 + RTEXT "Pamięć:", -1, 14, 65, 75, 10 + RTEXT "Bieżąca rozdzielczość:", -1, 14, 75, 75, 10 RTEXT "Monitor:", -1, 20, 85, 70, 10 LTEXT "", IDC_STATIC_ADAPTER_ID, 95, 25, 150, 10 LTEXT "", IDC_STATIC_ADAPTER_VENDOR, 95, 35, 150, 10 @@ -198,7 +198,7 @@ BEGIN IDS_DEVICE_MANUFACTURER "ID Producenta" IDS_DEVICE_PRODUCT "ID Produktu" IDS_DEVICE_FORCEFEEDBACK "Sterowniki Force-Feedback" - IDS_NOT_APPLICABLE "Nie stosowane" + IDS_NOT_APPLICABLE "n/a" IDS_OPTION_YES "Tak" IDS_DIRECTPLAY_COL_NAME1 "Nazwa" IDS_DIRECTPLAY_COL_NAME2 "Rejestr" diff --git a/base/applications/dxdiag/lang/pt-BR.rc b/base/applications/dxdiag/lang/pt-BR.rc index fcacdcc8093..f3b9b079a42 100644 --- a/base/applications/dxdiag/lang/pt-BR.rc +++ b/base/applications/dxdiag/lang/pt-BR.rc @@ -55,8 +55,8 @@ BEGIN RTEXT "Fabricante:", -1, 20, 35, 70, 10 RTEXT "Tipo de processador:", -1, 20, 45, 70, 10 RTEXT "Conv. analógico-digital:", -1, 20, 55, 70, 10 - RTEXT "Total aprox. memória:", -1, 20, 65, 70, 10 - RTEXT "Modo de exib. atual:", -1, 20, 75, 70, 10 + RTEXT "Total aprox. memória:", -1, 14, 65, 75, 10 + RTEXT "Modo de exib. atual:", -1, 14, 75, 75, 10 RTEXT "Monitor:", -1, 20, 85, 70, 10 LTEXT "", IDC_STATIC_ADAPTER_ID, 95, 25, 150, 10 LTEXT "", IDC_STATIC_ADAPTER_VENDOR, 95, 35, 150, 10 @@ -191,7 +191,7 @@ BEGIN IDS_DEVICE_MANUFACTURER "Identificação do fornecedor" IDS_DEVICE_PRODUCT "Identificação do produto (Product ID)" IDS_DEVICE_FORCEFEEDBACK "Driver do Force Feedback" - IDS_NOT_APPLICABLE "Não aplicável" + IDS_NOT_APPLICABLE "n/a" IDS_OPTION_YES "Sim" IDS_DIRECTPLAY_COL_NAME1 "Nome" IDS_DIRECTPLAY_COL_NAME2 "Registro" diff --git a/base/applications/dxdiag/lang/ro-RO.rc b/base/applications/dxdiag/lang/ro-RO.rc index 5bc970bbc97..69fec0a4a42 100644 --- a/base/applications/dxdiag/lang/ro-RO.rc +++ b/base/applications/dxdiag/lang/ro-RO.rc @@ -60,8 +60,8 @@ BEGIN RTEXT "Producător:", -1, 20, 35, 70, 10 RTEXT "Tipul cipului:", -1, 20, 45, 70, 10 RTEXT "Tipul CDA:", -1, 20, 55, 70, 10 - RTEXT "Memorie aprox.:", -1, 20, 65, 70, 10 - RTEXT "Afișare curentă:", -1, 20, 75, 70, 10 + RTEXT "Memorie aprox.:", -1, 14, 65, 75, 10 + RTEXT "Afișare curentă:", -1, 14, 75, 75, 10 RTEXT "Ecran:", -1, 20, 85, 70, 10 LTEXT "", IDC_STATIC_ADAPTER_ID, 95, 25, 150, 10 LTEXT "", IDC_STATIC_ADAPTER_VENDOR, 95, 35, 150, 10 @@ -196,7 +196,7 @@ BEGIN IDS_DEVICE_MANUFACTURER "ID producător" IDS_DEVICE_PRODUCT "ID produs" IDS_DEVICE_FORCEFEEDBACK "Forțează reacția modulului-pilot" - IDS_NOT_APPLICABLE "Neaplicabil" + IDS_NOT_APPLICABLE "n/a" IDS_OPTION_YES "Da" IDS_DIRECTPLAY_COL_NAME1 "Nume" IDS_DIRECTPLAY_COL_NAME2 "Registru" diff --git a/base/applications/dxdiag/lang/ru-RU.rc b/base/applications/dxdiag/lang/ru-RU.rc index cf5e009d8b3..0f66564e786 100644 --- a/base/applications/dxdiag/lang/ru-RU.rc +++ b/base/applications/dxdiag/lang/ru-RU.rc @@ -53,8 +53,8 @@ BEGIN RTEXT "Изготовитель:", -1, 20, 35, 70, 10 RTEXT "Тип микросхем:", -1, 20, 45, 70, 10 RTEXT "Тип конвертера DAC:", -1, 15, 55, 75, 10 - RTEXT "Всего памяти:", -1, 20, 65, 70, 10 - RTEXT "Режим экрана:", -1, 20, 75, 70, 10 + RTEXT "Всего памяти:", -1, 14, 65, 75, 10 + RTEXT "Режим экрана:", -1, 14, 75, 75, 10 RTEXT "Монитор:", -1, 20, 85, 70, 10 LTEXT "", IDC_STATIC_ADAPTER_ID, 95, 25, 150, 10 LTEXT "", IDC_STATIC_ADAPTER_VENDOR, 95, 35, 150, 10 diff --git a/base/applications/dxdiag/lang/sk-SK.rc b/base/applications/dxdiag/lang/sk-SK.rc index 137387f5f81..d9282c71849 100644 --- a/base/applications/dxdiag/lang/sk-SK.rc +++ b/base/applications/dxdiag/lang/sk-SK.rc @@ -58,8 +58,8 @@ BEGIN RTEXT "Výrobca:", -1, 20, 35, 70, 10 RTEXT "Typ čipu:", -1, 20, 45, 70, 10 RTEXT "Typ D-A konvertora:", -1, 20, 55, 70, 10 - RTEXT "Pribl. celková pamäť:", -1, 20, 65, 70, 10 - RTEXT "Súčasný mód obrazovky:", -1, 20, 75, 70, 10 + RTEXT "Pribl. celková pamäť:", -1, 14, 65, 75, 10 + RTEXT "Súčasný mód obrazovky:", -1, 14, 75, 75, 10 RTEXT "Monitor:", -1, 20, 85, 70, 10 LTEXT "", IDC_STATIC_ADAPTER_ID, 95, 25, 150, 10 LTEXT "", IDC_STATIC_ADAPTER_VENDOR, 95, 35, 150, 10 @@ -194,7 +194,7 @@ BEGIN IDS_DEVICE_MANUFACTURER "ID výrobcu" IDS_DEVICE_PRODUCT "ID produktu" IDS_DEVICE_FORCEFEEDBACK "Ovládač Force Feedback" - IDS_NOT_APPLICABLE "Not applicable" + IDS_NOT_APPLICABLE "n/a" IDS_OPTION_YES "Áno" IDS_DIRECTPLAY_COL_NAME1 "Názov" IDS_DIRECTPLAY_COL_NAME2 "Registry" diff --git a/base/applications/dxdiag/lang/sq-AL.rc b/base/applications/dxdiag/lang/sq-AL.rc index 2516f102b94..39c17f634e3 100644 --- a/base/applications/dxdiag/lang/sq-AL.rc +++ b/base/applications/dxdiag/lang/sq-AL.rc @@ -57,8 +57,8 @@ BEGIN RTEXT "Prodhuesi:", -1, 20, 35, 70, 10 RTEXT "Tipi i procesorit:", -1, 20, 45, 70, 10 RTEXT "Tipi DAC:", -1, 20, 55, 70, 10 - RTEXT "Memoria Totale:", -1, 20, 65, 70, 10 - RTEXT "Modaliteti vizual aktual:", -1, 20, 75, 70, 10 + RTEXT "Memoria Totale:", -1, 14, 65, 75, 10 + RTEXT "Modaliteti vizual aktual:", -1, 14, 75, 75, 10 RTEXT "Monitor:", -1, 20, 85, 70, 10 LTEXT "", IDC_STATIC_ADAPTER_ID, 95, 25, 150, 10 LTEXT "", IDC_STATIC_ADAPTER_VENDOR, 95, 35, 150, 10 @@ -193,7 +193,7 @@ BEGIN IDS_DEVICE_MANUFACTURER "ID e proshuesit" IDS_DEVICE_PRODUCT "ID e produktit" IDS_DEVICE_FORCEFEEDBACK "Detyro prapaveprimin e Driverit" - IDS_NOT_APPLICABLE "Nuk aplikohet" + IDS_NOT_APPLICABLE "n/a" IDS_OPTION_YES "Po" IDS_DIRECTPLAY_COL_NAME1 "Emri" IDS_DIRECTPLAY_COL_NAME2 "Regjistri" diff --git a/base/applications/dxdiag/lang/sv-SE.rc b/base/applications/dxdiag/lang/sv-SE.rc index 248f8c125fd..380e0213bc1 100644 --- a/base/applications/dxdiag/lang/sv-SE.rc +++ b/base/applications/dxdiag/lang/sv-SE.rc @@ -60,8 +60,8 @@ BEGIN RTEXT "Fabrikat:", -1, 20, 35, 70, 10 RTEXT "Chip typ:", -1, 20, 45, 70, 10 RTEXT "DAC type:", -1, 20, 55, 70, 10 - RTEXT "Uppskattat total minne:", -1, 20, 65, 70, 10 - RTEXT "Aktuellt Bildskärmsläge:", -1, 20, 75, 70, 10 + RTEXT "Uppskattat total minne:", -1, 14, 65, 75, 10 + RTEXT "Aktuellt Bildskärmsläge:", -1, 14, 75, 75, 10 RTEXT "Bildskärm:", -1, 20, 85, 70, 10 LTEXT "", IDC_STATIC_ADAPTER_ID, 95, 25, 150, 10 LTEXT "", IDC_STATIC_ADAPTER_VENDOR, 95, 35, 150, 10 @@ -196,7 +196,7 @@ BEGIN IDS_DEVICE_MANUFACTURER "Tillverkarens ID" IDS_DEVICE_PRODUCT "Produkt ID" IDS_DEVICE_FORCEFEEDBACK "Force Feedback-driver" - IDS_NOT_APPLICABLE "Icke applicerbar" + IDS_NOT_APPLICABLE "n/a" IDS_OPTION_YES "Ja" IDS_DIRECTPLAY_COL_NAME1 "Namn" IDS_DIRECTPLAY_COL_NAME2 "Register" diff --git a/base/applications/dxdiag/lang/tr-TR.rc b/base/applications/dxdiag/lang/tr-TR.rc index 0e325ae1780..2c28296129c 100644 --- a/base/applications/dxdiag/lang/tr-TR.rc +++ b/base/applications/dxdiag/lang/tr-TR.rc @@ -55,8 +55,8 @@ BEGIN RTEXT "Üretici:", -1, 20, 35, 70, 10 RTEXT "Yonga Türü:", -1, 20, 45, 70, 10 RTEXT "DAC Türü:", -1, 20, 55, 70, 10 - RTEXT "Yaklaşık Toplam Bellek:", -1, 20, 65, 70, 10 - RTEXT "Geçerli Görüntü Seçeneği:", -1, 20, 75, 70, 10 + RTEXT "Yaklaşık Toplam Bellek:", -1, 14, 65, 75, 10 + RTEXT "Geçerli Görüntü Seçeneği:", -1, 14, 75, 75, 10 RTEXT "Göstergeç:", -1, 20, 85, 70, 10 LTEXT "", IDC_STATIC_ADAPTER_ID, 95, 25, 150, 10 LTEXT "", IDC_STATIC_ADAPTER_VENDOR, 95, 35, 150, 10 @@ -191,7 +191,7 @@ BEGIN IDS_DEVICE_MANUFACTURER "Üretici Kimliği" IDS_DEVICE_PRODUCT "Ürün Kimliği" IDS_DEVICE_FORCEFEEDBACK "Güç Dönütlü Sürücüsü" - IDS_NOT_APPLICABLE "Uygulanamaz" + IDS_NOT_APPLICABLE "n/a" IDS_OPTION_YES "Evet" IDS_DIRECTPLAY_COL_NAME1 "Ad" IDS_DIRECTPLAY_COL_NAME2 "Değer" diff --git a/base/applications/dxdiag/lang/zh-TW.rc b/base/applications/dxdiag/lang/zh-TW.rc index 3caf5f49b35..9f9e328909c 100644 --- a/base/applications/dxdiag/lang/zh-TW.rc +++ b/base/applications/dxdiag/lang/zh-TW.rc @@ -61,8 +61,8 @@ BEGIN RTEXT "製造商:", -1, 20, 35, 70, 10 RTEXT "晶片類型:", -1, 20, 45, 70, 10 RTEXT "DAC 類型:", -1, 20, 55, 70, 10 - RTEXT "記憶體總計約:", -1, 20, 65, 70, 10 - RTEXT "目前顯示模式:", -1, 20, 75, 70, 10 + RTEXT "記憶體總計約:", -1, 14, 65, 75, 10 + RTEXT "目前顯示模式:", -1, 14, 75, 75, 10 RTEXT "顯示器:", -1, 20, 85, 70, 10 LTEXT "", IDC_STATIC_ADAPTER_ID, 95, 25, 150, 10 LTEXT "", IDC_STATIC_ADAPTER_VENDOR, 95, 35, 150, 10 diff --git a/base/applications/fontview/fontview.c b/base/applications/fontview/fontview.c index 16adf374c83..fd3f844c7fa 100644 --- a/base/applications/fontview/fontview.c +++ b/base/applications/fontview/fontview.c @@ -197,12 +197,12 @@ WinMain (HINSTANCE hThisInstance, wincl.cbClsExtra = 0; wincl.cbWndExtra = 0; wincl.hInstance = hThisInstance; - wincl.hIcon = LoadIcon (NULL, IDI_APPLICATION); + wincl.hIcon = LoadIcon (GetModuleHandle(NULL), MAKEINTRESOURCE(IDI_TT)); wincl.hCursor = LoadCursor (NULL, IDC_ARROW); wincl.hbrBackground = (HBRUSH)COLOR_BACKGROUND; wincl.lpszMenuName = NULL; wincl.lpszClassName = g_szFontViewClassName; - wincl.hIconSm = LoadIcon (NULL, IDI_APPLICATION); + wincl.hIconSm = LoadIcon (GetModuleHandle(NULL), MAKEINTRESOURCE(IDI_TT)); /* Register the window class, and if it fails quit the program */ if (!RegisterClassExW (&wincl)) diff --git a/base/applications/fontview/fontview.rc b/base/applications/fontview/fontview.rc index 07ff5665d89..2ffdce3f8a8 100644 --- a/base/applications/fontview/fontview.rc +++ b/base/applications/fontview/fontview.rc @@ -13,8 +13,8 @@ IDI_TT ICON "ttf.ico" STRINGTABLE BEGIN - IDS_CHARSLOWER "abcdefghijklmnopqrstuvmxyz" - IDS_CHARSUPPER "ABCDEFGHIJKLMNOPQRSTUVMXYZ" + IDS_CHARSLOWER "abcdefghijklmnopqrstuvwxyz" + IDS_CHARSUPPER "ABCDEFGHIJKLMNOPQRSTUVWXYZ" IDS_SPECIALCHARS "0123456789.:,;(*!?')" END diff --git a/base/applications/fontview/resource.h b/base/applications/fontview/resource.h index d4d6b98b095..417a2899f52 100644 --- a/base/applications/fontview/resource.h +++ b/base/applications/fontview/resource.h @@ -13,3 +13,5 @@ #define IDS_CHARSLOWER 700 #define IDS_CHARSUPPER 701 #define IDS_SPECIALCHARS 702 + +#define IDI_TT 800 diff --git a/base/applications/mmc/lang/bg-BG.rc b/base/applications/mmc/lang/bg-BG.rc index aa3465c314a..f6492745c94 100644 --- a/base/applications/mmc/lang/bg-BG.rc +++ b/base/applications/mmc/lang/bg-BG.rc @@ -4,7 +4,7 @@ IDM_CONSOLE_SMALL MENU BEGIN POPUP "&Файл" BEGIN - MENUITEM "New\tStrg+N", IDM_FILE_NEW + MENUITEM "New\tCtrl+N", IDM_FILE_NEW MENUITEM SEPARATOR MENUITEM "Из&ход\tAlt+F4", IDM_FILE_EXIT END @@ -18,7 +18,7 @@ IDM_CONSOLE_LARGE MENU BEGIN POPUP "&Файл" BEGIN - MENUITEM "New\tStrg+N", IDM_FILE_NEW + MENUITEM "New\tCtrl+N", IDM_FILE_NEW MENUITEM SEPARATOR MENUITEM "Из&ход\tAlt+F4", IDM_FILE_EXIT END diff --git a/base/applications/mmc/lang/ca-ES.rc b/base/applications/mmc/lang/ca-ES.rc index dc4e8b4777f..dd45ddbfbfa 100644 --- a/base/applications/mmc/lang/ca-ES.rc +++ b/base/applications/mmc/lang/ca-ES.rc @@ -4,7 +4,7 @@ IDM_CONSOLE_SMALL MENU BEGIN POPUP "&Fitxer" BEGIN - MENUITEM "New\tStrg+N", IDM_FILE_NEW + MENUITEM "New\tCtrl+N", IDM_FILE_NEW MENUITEM SEPARATOR MENUITEM "&Sortida\tAlt+F4", IDM_FILE_EXIT END @@ -18,7 +18,7 @@ IDM_CONSOLE_LARGE MENU BEGIN POPUP "&Fitxer" BEGIN - MENUITEM "New\tStrg+N", IDM_FILE_NEW + MENUITEM "New\tCtrl+N", IDM_FILE_NEW MENUITEM SEPARATOR MENUITEM "&Sortida\tAlt+F4", IDM_FILE_EXIT END diff --git a/base/applications/mmc/lang/cs-CZ.rc b/base/applications/mmc/lang/cs-CZ.rc index aadc6c09fba..d2deb6b12c7 100644 --- a/base/applications/mmc/lang/cs-CZ.rc +++ b/base/applications/mmc/lang/cs-CZ.rc @@ -9,7 +9,7 @@ IDM_CONSOLE_SMALL MENU BEGIN POPUP "&Soubor" BEGIN - MENUITEM "New\tStrg+N", IDM_FILE_NEW + MENUITEM "New\tCtrl+N", IDM_FILE_NEW MENUITEM SEPARATOR MENUITEM "Uk&ončit\tAlt+F4", IDM_FILE_EXIT END @@ -23,7 +23,7 @@ IDM_CONSOLE_LARGE MENU BEGIN POPUP "&Soubor" BEGIN - MENUITEM "New\tStrg+N", IDM_FILE_NEW + MENUITEM "New\tCtrl+N", IDM_FILE_NEW MENUITEM SEPARATOR MENUITEM "Uk&ončit\tAlt+F4", IDM_FILE_EXIT END diff --git a/base/applications/mmc/lang/el-GR.rc b/base/applications/mmc/lang/el-GR.rc index 8f223e81976..372c817395c 100644 --- a/base/applications/mmc/lang/el-GR.rc +++ b/base/applications/mmc/lang/el-GR.rc @@ -4,7 +4,7 @@ IDM_CONSOLE_SMALL MENU BEGIN POPUP "&Αρχείο" BEGIN - MENUITEM "New\tStrg+N", IDM_FILE_NEW + MENUITEM "New\tCtrl+N", IDM_FILE_NEW MENUITEM SEPARATOR MENUITEM "Έ&ξοδος\tAlt+F4", IDM_FILE_EXIT END @@ -18,7 +18,7 @@ IDM_CONSOLE_LARGE MENU BEGIN POPUP "&Αρχείο" BEGIN - MENUITEM "New\tStrg+N", IDM_FILE_NEW + MENUITEM "New\tCtrl+N", IDM_FILE_NEW MENUITEM SEPARATOR MENUITEM "Έ&ξοδος\tAlt+F4", IDM_FILE_EXIT END diff --git a/base/applications/mmc/lang/en-US.rc b/base/applications/mmc/lang/en-US.rc index f5128ff1be3..5b872b91511 100644 --- a/base/applications/mmc/lang/en-US.rc +++ b/base/applications/mmc/lang/en-US.rc @@ -4,7 +4,7 @@ IDM_CONSOLE_SMALL MENU BEGIN POPUP "&File" BEGIN - MENUITEM "New\tStrg+N", IDM_FILE_NEW + MENUITEM "New\tCtrl+N", IDM_FILE_NEW MENUITEM SEPARATOR MENUITEM "E&xit\tAlt+F4", IDM_FILE_EXIT END @@ -18,7 +18,7 @@ IDM_CONSOLE_LARGE MENU BEGIN POPUP "&File" BEGIN - MENUITEM "New\tStrg+N", IDM_FILE_NEW + MENUITEM "New\tCtrl+N", IDM_FILE_NEW MENUITEM SEPARATOR MENUITEM "E&xit\tAlt+F4", IDM_FILE_EXIT END diff --git a/base/applications/mmc/lang/es-ES.rc b/base/applications/mmc/lang/es-ES.rc index 247ddb29bc2..27d7546704a 100644 --- a/base/applications/mmc/lang/es-ES.rc +++ b/base/applications/mmc/lang/es-ES.rc @@ -9,7 +9,7 @@ IDM_CONSOLE_SMALL MENU BEGIN POPUP "&Archivo" BEGIN - MENUITEM "New\tStrg+N", IDM_FILE_NEW + MENUITEM "New\tCtrl+N", IDM_FILE_NEW MENUITEM SEPARATOR MENUITEM "Sa&lir\tAlt+F4", IDM_FILE_EXIT END @@ -23,7 +23,7 @@ IDM_CONSOLE_LARGE MENU BEGIN POPUP "&Archivo" BEGIN - MENUITEM "New\tStrg+N", IDM_FILE_NEW + MENUITEM "New\tCtrl+N", IDM_FILE_NEW MENUITEM SEPARATOR MENUITEM "Sa&lir\tAlt+F4", IDM_FILE_EXIT END diff --git a/base/applications/mmc/lang/fr-FR.rc b/base/applications/mmc/lang/fr-FR.rc index 29c97fef13c..67eb0dab336 100644 --- a/base/applications/mmc/lang/fr-FR.rc +++ b/base/applications/mmc/lang/fr-FR.rc @@ -4,7 +4,7 @@ IDM_CONSOLE_SMALL MENU BEGIN POPUP "&Fichier" BEGIN - MENUITEM "New\tStrg+N", IDM_FILE_NEW + MENUITEM "New\tCtrl+N", IDM_FILE_NEW MENUITEM SEPARATOR MENUITEM "Quitter\tAlt+F4", IDM_FILE_EXIT END @@ -18,7 +18,7 @@ IDM_CONSOLE_LARGE MENU BEGIN POPUP "&Fichier" BEGIN - MENUITEM "New\tStrg+N", IDM_FILE_NEW + MENUITEM "New\tCtrl+N", IDM_FILE_NEW MENUITEM SEPARATOR MENUITEM "Quitter\tAlt+F4", IDM_FILE_EXIT END diff --git a/base/applications/mmc/lang/he-IL.rc b/base/applications/mmc/lang/he-IL.rc index 5511bfcd647..60e96d59d5f 100644 --- a/base/applications/mmc/lang/he-IL.rc +++ b/base/applications/mmc/lang/he-IL.rc @@ -4,7 +4,7 @@ IDM_CONSOLE_SMALL MENU BEGIN POPUP "&קובץ" BEGIN - MENUITEM "New\tStrg+N", IDM_FILE_NEW + MENUITEM "New\tCtrl+N", IDM_FILE_NEW MENUITEM SEPARATOR MENUITEM "&יציאה\tAlt+F4", IDM_FILE_EXIT END @@ -18,7 +18,7 @@ IDM_CONSOLE_LARGE MENU BEGIN POPUP "&קובץ" BEGIN - MENUITEM "New\tStrg+N", IDM_FILE_NEW + MENUITEM "New\tCtrl+N", IDM_FILE_NEW MENUITEM SEPARATOR MENUITEM "&יציאה\tAlt+F4", IDM_FILE_EXIT END diff --git a/base/applications/mmc/lang/it-IT.rc b/base/applications/mmc/lang/it-IT.rc index 686054b15b6..5928255be87 100644 --- a/base/applications/mmc/lang/it-IT.rc +++ b/base/applications/mmc/lang/it-IT.rc @@ -4,7 +4,7 @@ IDM_CONSOLE_SMALL MENU BEGIN POPUP "&File" BEGIN - MENUITEM "New\tStrg+N", IDM_FILE_NEW + MENUITEM "New\tCtrl+N", IDM_FILE_NEW MENUITEM SEPARATOR MENUITEM "E&sci\tAlt+F4", IDM_FILE_EXIT END @@ -18,7 +18,7 @@ IDM_CONSOLE_LARGE MENU BEGIN POPUP "&File" BEGIN - MENUITEM "New\tStrg+N", IDM_FILE_NEW + MENUITEM "New\tCtrl+N", IDM_FILE_NEW MENUITEM SEPARATOR MENUITEM "E&sci\tAlt+F4", IDM_FILE_EXIT END diff --git a/base/applications/mmc/lang/ko-KR.rc b/base/applications/mmc/lang/ko-KR.rc index fdf8b0405b9..873757fb949 100644 --- a/base/applications/mmc/lang/ko-KR.rc +++ b/base/applications/mmc/lang/ko-KR.rc @@ -6,7 +6,7 @@ IDM_CONSOLE_SMALL MENU BEGIN POPUP "파일(&F)" BEGIN - MENUITEM "New\tStrg+N", IDM_FILE_NEW + MENUITEM "New\tCtrl+N", IDM_FILE_NEW MENUITEM SEPARATOR MENUITEM "종료(&E)\tAlt+F4", IDM_FILE_EXIT END @@ -20,7 +20,7 @@ IDM_CONSOLE_LARGE MENU BEGIN POPUP "파일(&F)" BEGIN - MENUITEM "New\tStrg+N", IDM_FILE_NEW + MENUITEM "New\tCtrl+N", IDM_FILE_NEW MENUITEM SEPARATOR MENUITEM "종료(&E)\tAlt+F4", IDM_FILE_EXIT END diff --git a/base/applications/mmc/lang/lt-LT.rc b/base/applications/mmc/lang/lt-LT.rc index d22d9f1fe73..4b32c1adb90 100644 --- a/base/applications/mmc/lang/lt-LT.rc +++ b/base/applications/mmc/lang/lt-LT.rc @@ -6,7 +6,7 @@ IDM_CONSOLE_SMALL MENU BEGIN POPUP "&Byla" BEGIN - MENUITEM "New\tStrg+N", IDM_FILE_NEW + MENUITEM "New\tCtrl+N", IDM_FILE_NEW MENUITEM SEPARATOR MENUITEM "&Baigti\tAlt+F4", IDM_FILE_EXIT END @@ -20,7 +20,7 @@ IDM_CONSOLE_LARGE MENU BEGIN POPUP "&Byla" BEGIN - MENUITEM "New\tStrg+N", IDM_FILE_NEW + MENUITEM "New\tCtrl+N", IDM_FILE_NEW MENUITEM SEPARATOR MENUITEM "&Baigti\tAlt+F4", IDM_FILE_EXIT END diff --git a/base/applications/mmc/lang/no-NO.rc b/base/applications/mmc/lang/no-NO.rc index e7c35ca297c..3988789b855 100644 --- a/base/applications/mmc/lang/no-NO.rc +++ b/base/applications/mmc/lang/no-NO.rc @@ -4,7 +4,7 @@ IDM_CONSOLE_SMALL MENU BEGIN POPUP "&Fil" BEGIN - MENUITEM "New\tStrg+N", IDM_FILE_NEW + MENUITEM "New\tCtrl+N", IDM_FILE_NEW MENUITEM SEPARATOR MENUITEM "&Avslutt\tAlt+F4", IDM_FILE_EXIT END @@ -18,7 +18,7 @@ IDM_CONSOLE_LARGE MENU BEGIN POPUP "&Fil" BEGIN - MENUITEM "New\tStrg+N", IDM_FILE_NEW + MENUITEM "New\tCtrl+N", IDM_FILE_NEW MENUITEM SEPARATOR MENUITEM "&Avslutt\tAlt+F4", IDM_FILE_EXIT END diff --git a/base/applications/mmc/lang/pl-PL.rc b/base/applications/mmc/lang/pl-PL.rc index a131528b791..6b3b58ecde5 100644 --- a/base/applications/mmc/lang/pl-PL.rc +++ b/base/applications/mmc/lang/pl-PL.rc @@ -11,7 +11,7 @@ IDM_CONSOLE_SMALL MENU BEGIN POPUP "Pl&ik" BEGIN - MENUITEM "New\tStrg+N", IDM_FILE_NEW + MENUITEM "New\tCtrl+N", IDM_FILE_NEW MENUITEM SEPARATOR MENUITEM "Za&kończ\tAlt+F4", IDM_FILE_EXIT END @@ -25,7 +25,7 @@ IDM_CONSOLE_LARGE MENU BEGIN POPUP "Pl&ik" BEGIN - MENUITEM "New\tStrg+N", IDM_FILE_NEW + MENUITEM "New\tCtrl+N", IDM_FILE_NEW MENUITEM SEPARATOR MENUITEM "Za&kończ\tAlt+F4", IDM_FILE_EXIT END diff --git a/base/applications/mmc/lang/pt-BR.rc b/base/applications/mmc/lang/pt-BR.rc index 83df077fe3e..d6f63a52d91 100644 --- a/base/applications/mmc/lang/pt-BR.rc +++ b/base/applications/mmc/lang/pt-BR.rc @@ -4,7 +4,7 @@ IDM_CONSOLE_SMALL MENU BEGIN POPUP "&Arquivo" BEGIN - MENUITEM "New\tStrg+N", IDM_FILE_NEW + MENUITEM "New\tCtrl+N", IDM_FILE_NEW MENUITEM SEPARATOR MENUITEM "Sai&r\tAlt+F4", IDM_FILE_EXIT END @@ -18,7 +18,7 @@ IDM_CONSOLE_LARGE MENU BEGIN POPUP "&Arquivo" BEGIN - MENUITEM "New\tStrg+N", IDM_FILE_NEW + MENUITEM "New\tCtrl+N", IDM_FILE_NEW MENUITEM SEPARATOR MENUITEM "Sai&r\tAlt+F4", IDM_FILE_EXIT END diff --git a/base/applications/mmc/lang/ro-RO.rc b/base/applications/mmc/lang/ro-RO.rc index 78dee5468cb..8520b52f176 100644 --- a/base/applications/mmc/lang/ro-RO.rc +++ b/base/applications/mmc/lang/ro-RO.rc @@ -1,8 +1,7 @@ /* * FILE: base/applications/mmc/lang/ro-RO.rc * ReactOS Project (http://www.reactos.org) - * TRANSLATOR: Fulea Ștefan (PM on ReactOS Forum at fulea.stefan) - * CHANGE LOG: 2011-08-21 initial translation + * TRANSLATOR: Ștefan Fulea (stefan dot fulea at mail dot md) */ LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL @@ -11,7 +10,7 @@ IDM_CONSOLE_SMALL MENU BEGIN POPUP "&Fișier" BEGIN - MENUITEM "New\tStrg+N", IDM_FILE_NEW + MENUITEM "&Nou\tCtrl+N", IDM_FILE_NEW MENUITEM SEPARATOR MENUITEM "I&eșire\tAlt+F4", IDM_FILE_EXIT END @@ -25,7 +24,7 @@ IDM_CONSOLE_LARGE MENU BEGIN POPUP "&Fișier" BEGIN - MENUITEM "New\tStrg+N", IDM_FILE_NEW + MENUITEM "&Nou\tCtrl+N", IDM_FILE_NEW MENUITEM SEPARATOR MENUITEM "I&eșire\tAlt+F4", IDM_FILE_EXIT END diff --git a/base/applications/mmc/lang/ru-RU.rc b/base/applications/mmc/lang/ru-RU.rc index 8373a719431..ff02bd1226b 100644 --- a/base/applications/mmc/lang/ru-RU.rc +++ b/base/applications/mmc/lang/ru-RU.rc @@ -6,7 +6,7 @@ IDM_CONSOLE_SMALL MENU BEGIN POPUP "&Файл" BEGIN - MENUITEM "New\tStrg+N", IDM_FILE_NEW + MENUITEM "New\tCtrl+N", IDM_FILE_NEW MENUITEM SEPARATOR MENUITEM "&Выход\tAlt+F4", IDM_FILE_EXIT END @@ -20,7 +20,7 @@ IDM_CONSOLE_LARGE MENU BEGIN POPUP "&Файл" BEGIN - MENUITEM "New\tStrg+N", IDM_FILE_NEW + MENUITEM "New\tCtrl+N", IDM_FILE_NEW MENUITEM SEPARATOR MENUITEM "&Выход\tAlt+F4", IDM_FILE_EXIT END diff --git a/base/applications/mmc/lang/sk-SK.rc b/base/applications/mmc/lang/sk-SK.rc index 680ab105a88..353203dd46d 100644 --- a/base/applications/mmc/lang/sk-SK.rc +++ b/base/applications/mmc/lang/sk-SK.rc @@ -12,7 +12,7 @@ IDM_CONSOLE_SMALL MENU BEGIN POPUP "&Súbor" BEGIN - MENUITEM "New\tStrg+N", IDM_FILE_NEW + MENUITEM "New\tCtrl+N", IDM_FILE_NEW MENUITEM SEPARATOR MENUITEM "&Skončiť\tAlt+F4", IDM_FILE_EXIT END @@ -26,7 +26,7 @@ IDM_CONSOLE_LARGE MENU BEGIN POPUP "&Súbor" BEGIN - MENUITEM "New\tStrg+N", IDM_FILE_NEW + MENUITEM "New\tCtrl+N", IDM_FILE_NEW MENUITEM SEPARATOR MENUITEM "&Skončiť\tAlt+F4", IDM_FILE_EXIT END diff --git a/base/applications/mmc/lang/sq-AL.rc b/base/applications/mmc/lang/sq-AL.rc index d7ec98e04e4..7913c49b0a9 100644 --- a/base/applications/mmc/lang/sq-AL.rc +++ b/base/applications/mmc/lang/sq-AL.rc @@ -8,7 +8,7 @@ IDM_CONSOLE_SMALL MENU BEGIN POPUP "&File" BEGIN - MENUITEM "I Ri\tStrg+N", IDM_FILE_NEW + MENUITEM "I Ri\tCtrl+N", IDM_FILE_NEW MENUITEM SEPARATOR MENUITEM "D&il\tAlt+F4", IDM_FILE_EXIT END @@ -22,7 +22,7 @@ IDM_CONSOLE_LARGE MENU BEGIN POPUP "&File" BEGIN - MENUITEM "I Ri\tStrg+N", IDM_FILE_NEW + MENUITEM "I Ri\tCtrl+N", IDM_FILE_NEW MENUITEM SEPARATOR MENUITEM "D&il\tAlt+F4", IDM_FILE_EXIT END diff --git a/base/applications/mmc/lang/sv-SE.rc b/base/applications/mmc/lang/sv-SE.rc index c5bf4192a68..474dd363465 100644 --- a/base/applications/mmc/lang/sv-SE.rc +++ b/base/applications/mmc/lang/sv-SE.rc @@ -6,7 +6,7 @@ IDM_CONSOLE_SMALL MENU BEGIN POPUP "&Arkiv" BEGIN - MENUITEM "New\tStrg+N", IDM_FILE_NEW + MENUITEM "New\tCtrl+N", IDM_FILE_NEW MENUITEM SEPARATOR MENUITEM "&Avsluta\tAlt+F4", IDM_FILE_EXIT END @@ -20,7 +20,7 @@ IDM_CONSOLE_LARGE MENU BEGIN POPUP "&Arkiv" BEGIN - MENUITEM "New\tStrg+N", IDM_FILE_NEW + MENUITEM "New\tCtrl+N", IDM_FILE_NEW MENUITEM SEPARATOR MENUITEM "&Avsluta\tAlt+F4", IDM_FILE_EXIT END diff --git a/base/applications/mmc/lang/tr-TR.rc b/base/applications/mmc/lang/tr-TR.rc index a9288e7249a..ce784400633 100644 --- a/base/applications/mmc/lang/tr-TR.rc +++ b/base/applications/mmc/lang/tr-TR.rc @@ -6,7 +6,7 @@ IDM_CONSOLE_SMALL MENU BEGIN POPUP "&Kütük" BEGIN - MENUITEM "&Yeni\tStrg+N", IDM_FILE_NEW + MENUITEM "&Yeni\tCtrl+N", IDM_FILE_NEW MENUITEM SEPARATOR MENUITEM "&Çıkış\tAlt+F4", IDM_FILE_EXIT END @@ -20,7 +20,7 @@ IDM_CONSOLE_LARGE MENU BEGIN POPUP "&Kütük" BEGIN - MENUITEM "&Yeni\tStrg+N", IDM_FILE_NEW + MENUITEM "&Yeni\tCtrl+N", IDM_FILE_NEW MENUITEM SEPARATOR MENUITEM "&Çıkış\tAlt+F4", IDM_FILE_EXIT END diff --git a/base/applications/mmc/lang/uk-UA.rc b/base/applications/mmc/lang/uk-UA.rc index 513b6411bd9..e8e4b0653cf 100644 --- a/base/applications/mmc/lang/uk-UA.rc +++ b/base/applications/mmc/lang/uk-UA.rc @@ -12,7 +12,7 @@ IDM_CONSOLE_SMALL MENU BEGIN POPUP "&Файл" BEGIN - MENUITEM "New\tStrg+N", IDM_FILE_NEW + MENUITEM "New\tCtrl+N", IDM_FILE_NEW MENUITEM SEPARATOR MENUITEM "В&ихід\tAlt+F4", IDM_FILE_EXIT END @@ -26,7 +26,7 @@ IDM_CONSOLE_LARGE MENU BEGIN POPUP "&Файл" BEGIN - MENUITEM "New\tStrg+N", IDM_FILE_NEW + MENUITEM "New\tCtrl+N", IDM_FILE_NEW MENUITEM SEPARATOR MENUITEM "В&ихід\tAlt+F4", IDM_FILE_EXIT END diff --git a/base/applications/mmc/lang/zh-CN.rc b/base/applications/mmc/lang/zh-CN.rc index a5897206d46..f5bafbb0c46 100644 --- a/base/applications/mmc/lang/zh-CN.rc +++ b/base/applications/mmc/lang/zh-CN.rc @@ -12,7 +12,7 @@ IDM_CONSOLE_SMALL MENU BEGIN POPUP "档案(&F)" BEGIN - MENUITEM "New\tStrg+N", IDM_FILE_NEW + MENUITEM "New\tCtrl+N", IDM_FILE_NEW MENUITEM SEPARATOR MENUITEM "结束(&X)\tAlt+F4", IDM_FILE_EXIT END @@ -26,7 +26,7 @@ IDM_CONSOLE_LARGE MENU BEGIN POPUP "档案(&F)" BEGIN - MENUITEM "New\tStrg+N", IDM_FILE_NEW + MENUITEM "New\tCtrl+N", IDM_FILE_NEW MENUITEM SEPARATOR MENUITEM "结束(&X)\tAlt+F4", IDM_FILE_EXIT END diff --git a/base/applications/mmc/lang/zh-TW.rc b/base/applications/mmc/lang/zh-TW.rc index ee2b985ecc5..3c01e531a12 100644 --- a/base/applications/mmc/lang/zh-TW.rc +++ b/base/applications/mmc/lang/zh-TW.rc @@ -12,7 +12,7 @@ IDM_CONSOLE_SMALL MENU BEGIN POPUP "檔案(&F)" BEGIN - MENUITEM "New\tStrg+N", IDM_FILE_NEW + MENUITEM "New\tCtrl+N", IDM_FILE_NEW MENUITEM SEPARATOR MENUITEM "結束(&X)\tAlt+F4", IDM_FILE_EXIT END @@ -26,7 +26,7 @@ IDM_CONSOLE_LARGE MENU BEGIN POPUP "檔案(&F)" BEGIN - MENUITEM "New\tStrg+N", IDM_FILE_NEW + MENUITEM "New\tCtrl+N", IDM_FILE_NEW MENUITEM SEPARATOR MENUITEM "結束(&X)\tAlt+F4", IDM_FILE_EXIT END diff --git a/base/applications/mplay32/lang/bg-BG.rc b/base/applications/mplay32/lang/bg-BG.rc index cc4d89e48a1..094f82da059 100644 --- a/base/applications/mplay32/lang/bg-BG.rc +++ b/base/applications/mplay32/lang/bg-BG.rc @@ -13,6 +13,12 @@ BEGIN MENUITEM SEPARATOR MENUITEM "Из&ход", IDM_EXIT END + POPUP "&Device" + BEGIN + MENUITEM "&Properties", IDM_DEVPROPS + MENUITEM SEPARATOR + MENUITEM "&Volume Control", IDM_VOLUMECTL + END POPUP "Помо&щ" BEGIN MENUITEM "&За...", IDM_ABOUT @@ -31,4 +37,5 @@ BEGIN IDS_TOOLTIP_FORWARD "Търсене напред" IDS_APPTITLE "Мултимедийният възпроизводител на РеактОС" IDS_PLAY "Възпроизвеждане" + IDS_DEFAULTMCIERRMSG "No description is available for this error" END diff --git a/base/applications/mplay32/lang/cs-CZ.rc b/base/applications/mplay32/lang/cs-CZ.rc index 2074b409d96..54b2642e454 100644 --- a/base/applications/mplay32/lang/cs-CZ.rc +++ b/base/applications/mplay32/lang/cs-CZ.rc @@ -14,6 +14,12 @@ BEGIN MENUITEM SEPARATOR MENUITEM "&Ukončit", IDM_EXIT END + POPUP "&Device" + BEGIN + MENUITEM "&Properties", IDM_DEVPROPS + MENUITEM SEPARATOR + MENUITEM "&Volume Control", IDM_VOLUMECTL + END POPUP "&Nápověda" BEGIN MENUITEM "&O programu...", IDM_ABOUT @@ -32,4 +38,5 @@ BEGIN IDS_TOOLTIP_FORWARD "Přeskočit vpřed" IDS_APPTITLE "ReactOS Přehrávač multimédií" IDS_PLAY "Přehrát" + IDS_DEFAULTMCIERRMSG "No description is available for this error" END diff --git a/base/applications/mplay32/lang/de-DE.rc b/base/applications/mplay32/lang/de-DE.rc index 4d088738a5d..da981305d96 100644 --- a/base/applications/mplay32/lang/de-DE.rc +++ b/base/applications/mplay32/lang/de-DE.rc @@ -9,6 +9,12 @@ BEGIN MENUITEM SEPARATOR MENUITEM "&Beenden", IDM_EXIT END + POPUP "&Gerät" + BEGIN + MENUITEM "&Eigenschaften", IDM_DEVPROPS + MENUITEM SEPARATOR + MENUITEM "&Lautstärkeregelung", IDM_VOLUMECTL + END POPUP "&Hilfe" BEGIN MENUITEM "&Über...", IDM_ABOUT @@ -27,4 +33,5 @@ BEGIN IDS_TOOLTIP_FORWARD "Weiter" IDS_APPTITLE "ReactOS Multimedia Player" IDS_PLAY "Abspielen" + IDS_DEFAULTMCIERRMSG "Für diesen Fehler steht keine Beschreibung zur Verfügung" END diff --git a/base/applications/mplay32/lang/en-US.rc b/base/applications/mplay32/lang/en-US.rc index fc72ee5890a..1d051caff2f 100644 --- a/base/applications/mplay32/lang/en-US.rc +++ b/base/applications/mplay32/lang/en-US.rc @@ -9,6 +9,12 @@ BEGIN MENUITEM SEPARATOR MENUITEM "&Exit", IDM_EXIT END + POPUP "&Device" + BEGIN + MENUITEM "&Properties", IDM_DEVPROPS + MENUITEM SEPARATOR + MENUITEM "&Volume Control", IDM_VOLUMECTL + END POPUP "&Help" BEGIN MENUITEM "&About...", IDM_ABOUT @@ -27,4 +33,5 @@ BEGIN IDS_TOOLTIP_FORWARD "Skip Forward" IDS_APPTITLE "ReactOS Multimedia Player" IDS_PLAY "Play" + IDS_DEFAULTMCIERRMSG "No description is available for this error" END diff --git a/base/applications/mplay32/lang/es-ES.rc b/base/applications/mplay32/lang/es-ES.rc index 5ffe585da6d..32820edce02 100644 --- a/base/applications/mplay32/lang/es-ES.rc +++ b/base/applications/mplay32/lang/es-ES.rc @@ -9,6 +9,12 @@ BEGIN MENUITEM SEPARATOR MENUITEM "&Salir", IDM_EXIT END + POPUP "&Device" + BEGIN + MENUITEM "&Properties", IDM_DEVPROPS + MENUITEM SEPARATOR + MENUITEM "&Volume Control", IDM_VOLUMECTL + END POPUP "Ay&uda" BEGIN MENUITEM "&Acerca de...", IDM_ABOUT @@ -27,4 +33,5 @@ BEGIN IDS_TOOLTIP_FORWARD "Marca siguiente" IDS_APPTITLE "Reproductor Multimedia de ReactOS" IDS_PLAY "Reproducir" + IDS_DEFAULTMCIERRMSG "No description is available for this error" END diff --git a/base/applications/mplay32/lang/fr-FR.rc b/base/applications/mplay32/lang/fr-FR.rc index b683ae6f968..9a16e97fd2c 100644 --- a/base/applications/mplay32/lang/fr-FR.rc +++ b/base/applications/mplay32/lang/fr-FR.rc @@ -9,6 +9,12 @@ BEGIN MENUITEM SEPARATOR MENUITEM "&Quitter", IDM_EXIT END + POPUP "&Device" + BEGIN + MENUITEM "&Properties", IDM_DEVPROPS + MENUITEM SEPARATOR + MENUITEM "&Volume Control", IDM_VOLUMECTL + END POPUP "&Aide" BEGIN MENUITEM "&À propos...", IDM_ABOUT @@ -27,4 +33,5 @@ BEGIN IDS_TOOLTIP_FORWARD "Suivant" IDS_APPTITLE "ReactOS Multimedia Player" IDS_PLAY "Lire" + IDS_DEFAULTMCIERRMSG "No description is available for this error" END diff --git a/base/applications/mplay32/lang/he-IL.rc b/base/applications/mplay32/lang/he-IL.rc index 03a06db8ffc..b4509eae544 100644 --- a/base/applications/mplay32/lang/he-IL.rc +++ b/base/applications/mplay32/lang/he-IL.rc @@ -9,6 +9,12 @@ BEGIN MENUITEM SEPARATOR MENUITEM "&יציאה", IDM_EXIT END + POPUP "&Device" + BEGIN + MENUITEM "&Properties", IDM_DEVPROPS + MENUITEM SEPARATOR + MENUITEM "&Volume Control", IDM_VOLUMECTL + END POPUP "&עזרה" BEGIN MENUITEM "&אודות", IDM_ABOUT @@ -27,4 +33,5 @@ BEGIN IDS_TOOLTIP_FORWARD "דלג קדימה" IDS_APPTITLE "נגן המולטימדיה של ReactOS" IDS_PLAY "נגן" + IDS_DEFAULTMCIERRMSG "No description is available for this error" END diff --git a/base/applications/mplay32/lang/it-IT.rc b/base/applications/mplay32/lang/it-IT.rc index d254ea720c2..3787b5fe3ed 100644 --- a/base/applications/mplay32/lang/it-IT.rc +++ b/base/applications/mplay32/lang/it-IT.rc @@ -9,6 +9,12 @@ BEGIN MENUITEM SEPARATOR MENUITEM "&Esci", IDM_EXIT END + POPUP "&Device" + BEGIN + MENUITEM "&Properties", IDM_DEVPROPS + MENUITEM SEPARATOR + MENUITEM "&Volume Control", IDM_VOLUMECTL + END POPUP "&Aiuto" BEGIN MENUITEM "&Informazioni...", IDM_ABOUT @@ -27,4 +33,5 @@ BEGIN IDS_TOOLTIP_FORWARD "Successivo" IDS_APPTITLE "Riproduttore multimediale ReactOS" IDS_PLAY "Riproduci" + IDS_DEFAULTMCIERRMSG "No description is available for this error" END diff --git a/base/applications/mplay32/lang/ja-JP.rc b/base/applications/mplay32/lang/ja-JP.rc index 2bfbe8de568..cb620a0818e 100644 --- a/base/applications/mplay32/lang/ja-JP.rc +++ b/base/applications/mplay32/lang/ja-JP.rc @@ -9,6 +9,12 @@ BEGIN MENUITEM SEPARATOR MENUITEM "終了(&E)", IDM_EXIT END + POPUP "&Device" + BEGIN + MENUITEM "&Properties", IDM_DEVPROPS + MENUITEM SEPARATOR + MENUITEM "&Volume Control", IDM_VOLUMECTL + END POPUP "ヘルプ(&H)" BEGIN MENUITEM "バージョン情報(&A)...", IDM_ABOUT @@ -27,4 +33,5 @@ BEGIN IDS_TOOLTIP_FORWARD "前へスキップ" IDS_APPTITLE "ReactOS マルチメディア プレーヤー" IDS_PLAY "再生" + IDS_DEFAULTMCIERRMSG "No description is available for this error" END diff --git a/base/applications/mplay32/lang/nl-NL.rc b/base/applications/mplay32/lang/nl-NL.rc index 18ee7a38639..228f59d5692 100644 --- a/base/applications/mplay32/lang/nl-NL.rc +++ b/base/applications/mplay32/lang/nl-NL.rc @@ -9,6 +9,12 @@ BEGIN MENUITEM SEPARATOR MENUITEM "&Afsluiten", IDM_EXIT END + POPUP "&Device" + BEGIN + MENUITEM "&Properties", IDM_DEVPROPS + MENUITEM SEPARATOR + MENUITEM "&Volume Control", IDM_VOLUMECTL + END POPUP "&Help" BEGIN MENUITEM "&Over...", IDM_ABOUT @@ -27,4 +33,5 @@ BEGIN IDS_TOOLTIP_FORWARD "Volgende" IDS_APPTITLE "ReactOS Multimedia Player" IDS_PLAY "Play" + IDS_DEFAULTMCIERRMSG "No description is available for this error" END diff --git a/base/applications/mplay32/lang/no-NO.rc b/base/applications/mplay32/lang/no-NO.rc index b998b4ea2be..558d5127973 100644 --- a/base/applications/mplay32/lang/no-NO.rc +++ b/base/applications/mplay32/lang/no-NO.rc @@ -9,6 +9,12 @@ BEGIN MENUITEM SEPARATOR MENUITEM "&Avslutt", IDM_EXIT END + POPUP "&Device" + BEGIN + MENUITEM "&Properties", IDM_DEVPROPS + MENUITEM SEPARATOR + MENUITEM "&Volume Control", IDM_VOLUMECTL + END POPUP "&Hjelp" BEGIN MENUITEM "&Om...", IDM_ABOUT @@ -27,4 +33,5 @@ BEGIN IDS_TOOLTIP_FORWARD "Spole fremover" IDS_APPTITLE "ReactOS Multimedia avspiller" IDS_PLAY "Spill" + IDS_DEFAULTMCIERRMSG "No description is available for this error" END diff --git a/base/applications/mplay32/lang/pl-PL.rc b/base/applications/mplay32/lang/pl-PL.rc index b7f98777d47..1b89df31e3f 100644 --- a/base/applications/mplay32/lang/pl-PL.rc +++ b/base/applications/mplay32/lang/pl-PL.rc @@ -16,6 +16,12 @@ BEGIN MENUITEM SEPARATOR MENUITEM "&Wyjdź", IDM_EXIT END + POPUP "&Device" + BEGIN + MENUITEM "&Properties", IDM_DEVPROPS + MENUITEM SEPARATOR + MENUITEM "&Volume Control", IDM_VOLUMECTL + END POPUP "&Pomoc" BEGIN MENUITEM "&O programie...", IDM_ABOUT @@ -34,4 +40,5 @@ BEGIN IDS_TOOLTIP_FORWARD "Przeskocz do przodu" IDS_APPTITLE "ReactOS Multimedia Player" IDS_PLAY "Odtwórz" + IDS_DEFAULTMCIERRMSG "No description is available for this error" END diff --git a/base/applications/mplay32/lang/pt-BR.rc b/base/applications/mplay32/lang/pt-BR.rc index 06dadb423af..5724bfb2097 100644 --- a/base/applications/mplay32/lang/pt-BR.rc +++ b/base/applications/mplay32/lang/pt-BR.rc @@ -11,6 +11,12 @@ BEGIN MENUITEM SEPARATOR MENUITEM "&Sair", IDM_EXIT END + POPUP "&Device" + BEGIN + MENUITEM "&Properties", IDM_DEVPROPS + MENUITEM SEPARATOR + MENUITEM "&Volume Control", IDM_VOLUMECTL + END POPUP "A&juda" BEGIN MENUITEM "&Sobre...", IDM_ABOUT @@ -29,4 +35,5 @@ BEGIN IDS_TOOLTIP_FORWARD "Pular Próxima" IDS_APPTITLE "ReactOS Multimedia Player" IDS_PLAY "Executar" + IDS_DEFAULTMCIERRMSG "No description is available for this error" END diff --git a/base/applications/mplay32/lang/ro-RO.rc b/base/applications/mplay32/lang/ro-RO.rc index fa982ada400..c95e48f008f 100644 --- a/base/applications/mplay32/lang/ro-RO.rc +++ b/base/applications/mplay32/lang/ro-RO.rc @@ -1,8 +1,7 @@ /* * FILE: base/applications/mplay32/lang/ro-RO.rc * ReactOS Project (http://www.reactos.org) - * TRANSLATOR: Fulea Ștefan (PM on ReactOS Forum at fulea.stefan) - * LAST CHANGE: 2011-12-19 minor changes + * TRANSLATOR: Ștefan Fulea (stefan dot fulea at mail dot md) */ LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL @@ -16,6 +15,12 @@ BEGIN MENUITEM SEPARATOR MENUITEM "I&eșire", IDM_EXIT END + POPUP "&Dispozitiv" + BEGIN + MENUITEM "&Proprietăți…", IDM_DEVPROPS + MENUITEM SEPARATOR + MENUITEM "Control &volum…", IDM_VOLUMECTL + END POPUP "&?" BEGIN MENUITEM "&Despre…", IDM_ABOUT @@ -34,4 +39,5 @@ BEGIN IDS_TOOLTIP_FORWARD "Salt la următor" IDS_APPTITLE "Lector multimedia" IDS_PLAY "Lecturare" + IDS_DEFAULTMCIERRMSG "Nu există descriere pentru această eroare" END diff --git a/base/applications/mplay32/lang/ru-RU.rc b/base/applications/mplay32/lang/ru-RU.rc index 9b7672683af..58355bd5f28 100644 --- a/base/applications/mplay32/lang/ru-RU.rc +++ b/base/applications/mplay32/lang/ru-RU.rc @@ -9,6 +9,12 @@ BEGIN MENUITEM SEPARATOR MENUITEM "&Выход", IDM_EXIT END + POPUP "&Device" + BEGIN + MENUITEM "&Properties", IDM_DEVPROPS + MENUITEM SEPARATOR + MENUITEM "&Volume Control", IDM_VOLUMECTL + END POPUP "&Помощь" BEGIN MENUITEM "&О программе...", IDM_ABOUT @@ -27,4 +33,5 @@ BEGIN IDS_TOOLTIP_FORWARD "Вперед" IDS_APPTITLE "Проигрыватель ReactOS" IDS_PLAY "Воспроизвести" + IDS_DEFAULTMCIERRMSG "No description is available for this error" END diff --git a/base/applications/mplay32/lang/sk-SK.rc b/base/applications/mplay32/lang/sk-SK.rc index 59f226f8af1..06786d6391b 100644 --- a/base/applications/mplay32/lang/sk-SK.rc +++ b/base/applications/mplay32/lang/sk-SK.rc @@ -14,6 +14,12 @@ BEGIN MENUITEM SEPARATOR MENUITEM "S&končiť", IDM_EXIT END + POPUP "&Device" + BEGIN + MENUITEM "&Properties", IDM_DEVPROPS + MENUITEM SEPARATOR + MENUITEM "&Volume Control", IDM_VOLUMECTL + END POPUP "&Pomocník" BEGIN MENUITEM "Č&o je...", IDM_ABOUT @@ -32,4 +38,5 @@ BEGIN IDS_TOOLTIP_FORWARD "Preskočiť dopredu" IDS_APPTITLE "Multimediálny prehrávač systému ReactOS" IDS_PLAY "Prehrať" + IDS_DEFAULTMCIERRMSG "No description is available for this error" END diff --git a/base/applications/mplay32/lang/sq-AL.rc b/base/applications/mplay32/lang/sq-AL.rc index 8543fe0d43e..60f1acefc20 100644 --- a/base/applications/mplay32/lang/sq-AL.rc +++ b/base/applications/mplay32/lang/sq-AL.rc @@ -13,6 +13,12 @@ BEGIN MENUITEM SEPARATOR MENUITEM "&Dil", IDM_EXIT END + POPUP "&Device" + BEGIN + MENUITEM "&Properties", IDM_DEVPROPS + MENUITEM SEPARATOR + MENUITEM "&Volume Control", IDM_VOLUMECTL + END POPUP "&Ndihmë" BEGIN MENUITEM "&Rreth...", IDM_ABOUT @@ -31,4 +37,5 @@ BEGIN IDS_TOOLTIP_FORWARD "Kalo para" IDS_APPTITLE "Programi muzikor i ReactOS" IDS_PLAY "Fillo" + IDS_DEFAULTMCIERRMSG "No description is available for this error" END diff --git a/base/applications/mplay32/lang/sv-SE.rc b/base/applications/mplay32/lang/sv-SE.rc index 8221a7d1c43..da17bec4694 100644 --- a/base/applications/mplay32/lang/sv-SE.rc +++ b/base/applications/mplay32/lang/sv-SE.rc @@ -16,6 +16,12 @@ BEGIN MENUITEM SEPARATOR MENUITEM "&Avsluta", IDM_EXIT END + POPUP "&Device" + BEGIN + MENUITEM "&Properties", IDM_DEVPROPS + MENUITEM SEPARATOR + MENUITEM "&Volume Control", IDM_VOLUMECTL + END POPUP "&Hjälp" BEGIN MENUITEM "&Om...", IDM_ABOUT @@ -34,4 +40,5 @@ BEGIN IDS_TOOLTIP_FORWARD "Spola fremåt" IDS_APPTITLE "ReactOS Multimediaspelare" IDS_PLAY "Play" + IDS_DEFAULTMCIERRMSG "No description is available for this error" END diff --git a/base/applications/mplay32/lang/tr-TR.rc b/base/applications/mplay32/lang/tr-TR.rc index ebd1bc0e949..187004ca956 100644 --- a/base/applications/mplay32/lang/tr-TR.rc +++ b/base/applications/mplay32/lang/tr-TR.rc @@ -11,6 +11,12 @@ BEGIN MENUITEM SEPARATOR MENUITEM "&Çıkış", IDM_EXIT END + POPUP "&Device" + BEGIN + MENUITEM "&Properties", IDM_DEVPROPS + MENUITEM SEPARATOR + MENUITEM "&Volume Control", IDM_VOLUMECTL + END POPUP "&Yardım" BEGIN MENUITEM "&Hakkında", IDM_ABOUT @@ -29,4 +35,5 @@ BEGIN IDS_TOOLTIP_FORWARD "Bir Sonraki" IDS_APPTITLE "Ortam Oynatıcısı" IDS_PLAY "Çal" + IDS_DEFAULTMCIERRMSG "No description is available for this error" END diff --git a/base/applications/mplay32/lang/uk-UA.rc b/base/applications/mplay32/lang/uk-UA.rc index da6e2fb609d..395a693fc9e 100644 --- a/base/applications/mplay32/lang/uk-UA.rc +++ b/base/applications/mplay32/lang/uk-UA.rc @@ -17,6 +17,12 @@ BEGIN MENUITEM SEPARATOR MENUITEM "&Вихід", IDM_EXIT END + POPUP "&Device" + BEGIN + MENUITEM "&Properties", IDM_DEVPROPS + MENUITEM SEPARATOR + MENUITEM "&Volume Control", IDM_VOLUMECTL + END POPUP "&Довідка" BEGIN MENUITEM "&Про програму...", IDM_ABOUT @@ -35,4 +41,5 @@ BEGIN IDS_TOOLTIP_FORWARD "Вперед" IDS_APPTITLE "Програвач ReactOS" IDS_PLAY "Відтворити" + IDS_DEFAULTMCIERRMSG "No description is available for this error" END diff --git a/base/applications/mplay32/lang/zh-CN.rc b/base/applications/mplay32/lang/zh-CN.rc index 59e7bb7928d..3c3068d3574 100644 --- a/base/applications/mplay32/lang/zh-CN.rc +++ b/base/applications/mplay32/lang/zh-CN.rc @@ -11,6 +11,12 @@ BEGIN MENUITEM SEPARATOR MENUITEM "退出(&E)", IDM_EXIT END + POPUP "&Device" + BEGIN + MENUITEM "&Properties", IDM_DEVPROPS + MENUITEM SEPARATOR + MENUITEM "&Volume Control", IDM_VOLUMECTL + END POPUP "帮助(&H)" BEGIN MENUITEM "关于... (&A)", IDM_ABOUT @@ -29,4 +35,5 @@ BEGIN IDS_TOOLTIP_FORWARD "向前跳过" IDS_APPTITLE "ReactOS 多媒体播放器" IDS_PLAY "播放" + IDS_DEFAULTMCIERRMSG "No description is available for this error" END diff --git a/base/applications/mplay32/lang/zh-TW.rc b/base/applications/mplay32/lang/zh-TW.rc index e9a2d90c172..a2a8bdeb8c6 100644 --- a/base/applications/mplay32/lang/zh-TW.rc +++ b/base/applications/mplay32/lang/zh-TW.rc @@ -17,6 +17,12 @@ BEGIN MENUITEM SEPARATOR MENUITEM "結束(&E)", IDM_EXIT END + POPUP "&Device" + BEGIN + MENUITEM "&Properties", IDM_DEVPROPS + MENUITEM SEPARATOR + MENUITEM "&Volume Control", IDM_VOLUMECTL + END POPUP "說明(&H)" BEGIN MENUITEM "關於(&A)...", IDM_ABOUT @@ -35,4 +41,5 @@ BEGIN IDS_TOOLTIP_FORWARD "快轉" IDS_APPTITLE "ReactOS 多媒體播放器" IDS_PLAY "播放" + IDS_DEFAULTMCIERRMSG "No description is available for this error" END diff --git a/base/applications/mplay32/mplay32.c b/base/applications/mplay32/mplay32.c index 5c6d047ee94..e5dc33009b6 100644 --- a/base/applications/mplay32/mplay32.c +++ b/base/applications/mplay32/mplay32.c @@ -12,6 +12,7 @@ HINSTANCE hInstance = NULL; HWND hTrackBar = NULL; HWND hToolBar = NULL; +HMENU hMainMenu = NULL; TCHAR szAppTitle[256] = _T(""); TCHAR szPrevFile[MAX_PATH] = _T("\0"); WORD wDeviceId; @@ -19,17 +20,6 @@ BOOL bIsOpened = FALSE; BOOL bIsPaused = FALSE; UINT MaxFilePos = 0; -/* Known types table */ -static const TYPEBYEXT ExtTypes[] = -{ - { _T(".wav"), WAVE_FILE }, - { _T(".wave"), WAVE_FILE }, - { _T(".mid"), MIDI_FILE }, - { _T(".midi"), MIDI_FILE }, - { _T(".cda"), AUDIOCD_FILE }, - { _T(".avi"), AVI_FILE }, - { _T("\0"), 0 } -}; /* ToolBar Buttons */ static const TBBUTTON Buttons[] = @@ -44,6 +34,26 @@ static const TBBUTTON Buttons[] = {TBICON_FORWARD, IDC_FORWARD, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, 0} }; +void EnableMenuItems(void) +{ + MCI_GENERIC_PARMS mciGeneric; + DWORD dwError; + + EnableMenuItem(hMainMenu, IDM_CLOSE_FILE, MF_BYCOMMAND | MF_ENABLED); + + dwError = mciSendCommand(wDeviceId, MCI_CONFIGURE, MCI_TEST, (DWORD_PTR)&mciGeneric); + if (dwError == 0) + { + EnableMenuItem(hMainMenu, IDM_DEVPROPS, MF_BYCOMMAND | MF_ENABLED); + } +} + +void DisableMenuItems(void) +{ + EnableMenuItem(hMainMenu, IDM_CLOSE_FILE, MF_BYCOMMAND | MF_GRAYED); + EnableMenuItem(hMainMenu, IDM_DEVPROPS, MF_BYCOMMAND | MF_GRAYED); +} + static VOID SetImageList(HWND hwnd) { @@ -91,6 +101,21 @@ SetImageList(HWND hwnd) (LPARAM)hImageList)); } +static VOID +ShowMCIError(HWND hwnd, DWORD dwError) +{ + TCHAR szErrorMessage[256]; + TCHAR szTempMessage[300]; + + if (mciGetErrorString(dwError, szErrorMessage, sizeof(szErrorMessage) / sizeof(TCHAR)) == FALSE) + { + LoadString(hInstance, IDS_DEFAULTMCIERRMSG, szErrorMessage, sizeof(szErrorMessage) / sizeof(TCHAR)); + } + + _stprintf(szTempMessage, _T("MMSYS%u: %s"), dwError, szErrorMessage); + MessageBox(hwnd, szTempMessage, szAppTitle, MB_OK | MB_ICONEXCLAMATION); +} + static VOID InitControls(HWND hwnd) { @@ -141,43 +166,39 @@ InitControls(HWND hwnd) SendMessage(hToolBar, TB_ADDBUTTONS, NumButtons, (LPARAM)Buttons); } -static UINT -IsSupportedFileExtension(LPTSTR lpFileName) +static BOOL +IsSupportedFileExtension(LPTSTR lpFileName, LPTSTR lpDeviceName, LPDWORD dwSize) { - TCHAR szExt[MAX_PATH]; - INT DotPos = 0, i, j; + HKEY hKey; + DWORD dwType; + TCHAR *pathend; - for (i = _tcslen(lpFileName); i >= 0; --i) + pathend = _tcsrchr(lpFileName, '.'); + + if (pathend == NULL) { - if (lpFileName[i] == '.') - { - DotPos = _tcslen(lpFileName) - i; - break; - } + return FALSE; } - if (!DotPos) return UNSUPPORTED_FILE; + pathend++; - szExt[DotPos + 1] = _T('\0'); - for (i = _tcslen(lpFileName), j = DotPos; j >= 0; --i, --j) + if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, _T("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\MCI Extensions"), 0, KEY_READ, &hKey) == ERROR_SUCCESS) { - szExt[j] = lpFileName[i]; + if (RegQueryValueEx(hKey, pathend, NULL, &dwType, (LPBYTE)lpDeviceName, dwSize) == ERROR_SUCCESS) + { + RegCloseKey(hKey); + if (dwType != REG_SZ) + { + return FALSE; + } + + return TRUE; + } + + RegCloseKey(hKey); } - for (i = 0; ; i++) - { - if (ExtTypes[i].uType == UNSUPPORTED_FILE) - { - return UNSUPPORTED_FILE; - } - - if (_tcscmp(ExtTypes[i].szExt, szExt) == 0) - { - return ExtTypes[i].uType; - } - } - - return UNSUPPORTED_FILE; + return FALSE; } static DWORD @@ -193,6 +214,8 @@ CloseMciDevice(VOID) bIsOpened = FALSE; } + DisableMenuItems(); + return TRUE; } @@ -218,7 +241,7 @@ OpenMciDevice(HWND hwnd, LPTSTR lpType, LPTSTR lpFileName) dwError = mciSendCommand(0, MCI_OPEN, MCI_OPEN_TYPE | MCI_OPEN_ELEMENT | MCI_WAIT, (DWORD_PTR)&mciOpen); if (dwError != 0) { - MessageBox(0, _T("Can't open device! (1)"), NULL, MB_OK); + ShowMCIError(hwnd, dwError); return dwError; } @@ -227,7 +250,7 @@ OpenMciDevice(HWND hwnd, LPTSTR lpType, LPTSTR lpFileName) dwError = mciSendCommand(mciOpen.wDeviceID, MCI_STATUS, MCI_STATUS_ITEM | MCI_WAIT, (DWORD_PTR)&mciStatus); if (dwError != 0) { - MessageBox(0, _T("Can't open device! (2)"), NULL, MB_OK); + ShowMCIError(hwnd, dwError); return dwError; } @@ -261,6 +284,9 @@ OpenMciDevice(HWND hwnd, LPTSTR lpType, LPTSTR lpFileName) wDeviceId = mciOpen.wDeviceID; bIsOpened = TRUE; _tcscpy(szPrevFile, lpFileName); + + EnableMenuItems(); + return TRUE; } @@ -288,14 +314,14 @@ SeekPlayback(HWND hwnd, DWORD dwNewPos) dwError = mciSendCommand(wDeviceId, MCI_SEEK, MCI_WAIT | MCI_TO, (DWORD_PTR)&mciSeek); if (dwError != 0) { - MessageBox(hwnd, _T("SeekPlayback: Can't seek!"), NULL, MB_OK); + ShowMCIError(hwnd, dwError); } mciPlay.dwCallback = (DWORD_PTR)hwnd; dwError = mciSendCommand(wDeviceId, MCI_PLAY, MCI_NOTIFY, (DWORD_PTR)&mciPlay); if (dwError != 0) { - MessageBox(hwnd, _T("SeekPlayback: Can't play!"), NULL, MB_OK); + ShowMCIError(hwnd, dwError); } } } @@ -357,7 +383,7 @@ PausePlayback(HWND hwnd) dwError = mciSendCommand(wDeviceId, MCI_PAUSE, MCI_WAIT, (DWORD_PTR)&mciGeneric); if (dwError != 0) { - MessageBox(hwnd, _T("Can't pause!"), NULL, MB_OK); + ShowMCIError(hwnd, dwError); } bIsPaused = TRUE; } @@ -374,12 +400,25 @@ ResumePlayback(HWND hwnd) dwError = mciSendCommand(wDeviceId, MCI_RESUME, MCI_WAIT, (DWORD_PTR)&mciGeneric); if (dwError != 0) { - MessageBox(hwnd, _T("Can't resume!"), NULL, MB_OK); + ShowMCIError(hwnd, dwError); } bIsPaused = FALSE; } } +static VOID +ShowDeviceProperties(HWND hwnd) +{ + MCI_GENERIC_PARMS mciGeneric; + DWORD dwError; + + dwError = mciSendCommand(wDeviceId, MCI_CONFIGURE, MCI_WAIT, (DWORD_PTR)&mciGeneric); + if (dwError != 0) + { + MessageBox(0, _T("Can't display the device properties!"), NULL, MB_OK); + } +} + VOID CALLBACK PlayTimerProc(HWND hwnd, UINT uMsg, UINT_PTR idEvent, DWORD dwTime) { @@ -407,7 +446,9 @@ PlayFile(HWND hwnd, LPTSTR lpFileName) { MCI_PLAY_PARMS mciPlay; TCHAR szLocalFileName[MAX_PATH]; - UINT FileType; + TCHAR szDeviceName[MAX_PATH]; + DWORD dwSize; + BOOL IsSupported; MCIERROR mciError; if (lpFileName == NULL) @@ -427,25 +468,13 @@ PlayFile(HWND hwnd, LPTSTR lpFileName) return; } - FileType = IsSupportedFileExtension(szLocalFileName); + dwSize = sizeof(szDeviceName) - 2; + _tcsnset(szDeviceName, _T('\0'), dwSize / sizeof(TCHAR)); + IsSupported = IsSupportedFileExtension(szLocalFileName, szDeviceName, &dwSize); - switch (FileType) + if (IsSupported == TRUE) { - case UNSUPPORTED_FILE: - MessageBox(hwnd, _T("Unsupported format!"), NULL, MB_OK); - return; - case WAVE_FILE: - OpenMciDevice(hwnd, _T("waveaudio"), szLocalFileName); - break; - case MIDI_FILE: - OpenMciDevice(hwnd, _T("sequencer"), szLocalFileName); - break; - case AUDIOCD_FILE: - OpenMciDevice(hwnd, _T("cdaudio"), szLocalFileName); - break; - case AVI_FILE: - OpenMciDevice(hwnd, _T("avivideo"), szLocalFileName); - break; + OpenMciDevice(hwnd, szDeviceName, szLocalFileName); } SetTimer(hwnd, IDT_PLAYTIMER, 100, (TIMERPROC) PlayTimerProc); @@ -459,7 +488,7 @@ PlayFile(HWND hwnd, LPTSTR lpFileName) mciError = mciSendCommand(wDeviceId, MCI_PLAY, MCI_NOTIFY | MCI_FROM /*| MCI_TO*/, (DWORD_PTR)&mciPlay); if (mciError != 0) { - MessageBox(hwnd, _T("Can't play!"), NULL, MB_OK); + ShowMCIError(hwnd, mciError); } } @@ -502,8 +531,21 @@ MainWndProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam) { case WM_CREATE: InitControls(hwnd); + hMainMenu = GetMenu(hwnd); break; + case WM_DROPFILES: + { + HDROP drophandle; + TCHAR droppedfile[MAX_PATH]; + + drophandle = (HDROP)wParam; + DragQueryFile(drophandle, 0, droppedfile, sizeof(droppedfile)); + DragFinish(drophandle); + PlayFile(hwnd, droppedfile); + break; + } + case WM_NOTIFY: { LPNMHDR pnmhdr = (LPNMHDR)lParam; @@ -641,6 +683,14 @@ MainWndProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam) _tcscpy(szPrevFile, _T("\0")); break; + case IDM_DEVPROPS: + ShowDeviceProperties(hwnd); + break; + + case IDM_VOLUMECTL: + ShellExecute(hwnd, NULL, _T("SNDVOL32.EXE"), NULL, NULL, SW_SHOWNORMAL); + break; + case IDM_ABOUT: { HICON mplayIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_MAIN)); @@ -670,6 +720,7 @@ _tWinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPTSTR lpCmdLine, INT nCmdShow) TCHAR szClassName[] = _T("ROSMPLAY32"); HWND hwnd; MSG msg; + DWORD dwError; hInstance = hInst; @@ -699,6 +750,16 @@ _tWinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPTSTR lpCmdLine, INT nCmdShow) hInstance, NULL); + DragAcceptFiles(hwnd, TRUE); + + DisableMenuItems(); + + dwError = SearchPath(NULL, _T("SNDVOL32.EXE"), NULL, 0, NULL, NULL); + if (dwError == 0) + { + EnableMenuItem(hMainMenu, IDM_VOLUMECTL, MF_BYCOMMAND | MF_GRAYED); + } + /* Show it */ ShowWindow(hwnd, SW_SHOW); UpdateWindow(hwnd); diff --git a/base/applications/mplay32/mplay32.h b/base/applications/mplay32/mplay32.h index 2e5cc51327e..77c68ae7809 100644 --- a/base/applications/mplay32/mplay32.h +++ b/base/applications/mplay32/mplay32.h @@ -3,9 +3,11 @@ #include #include #include +#include #include #include #include +#include #include #include diff --git a/base/applications/mplay32/resource.h b/base/applications/mplay32/resource.h index ed3a11a28bd..ea7588585e0 100644 --- a/base/applications/mplay32/resource.h +++ b/base/applications/mplay32/resource.h @@ -24,6 +24,7 @@ #define IDS_TOOLTIP_FORWARD 107 #define IDS_ALL_TYPES_FILTER 108 #define IDS_PLAY 109 +#define IDS_DEFAULTMCIERRMSG 110 /* Menu */ #define IDR_MAINMENU 500 @@ -33,6 +34,8 @@ #define IDM_CLOSE_FILE 1001 #define IDM_EXIT 1002 #define IDM_ABOUT 1003 +#define IDM_VOLUMECTL 1004 +#define IDM_DEVPROPS 1005 /* ToolBar Icons */ #define TBICON_PLAY 0 diff --git a/base/applications/msconfig/freeldrpage.c b/base/applications/msconfig/freeldrpage.c index d1ed529d3fc..41f4e11be73 100644 --- a/base/applications/msconfig/freeldrpage.c +++ b/base/applications/msconfig/freeldrpage.c @@ -33,15 +33,27 @@ LoadBootIni(WCHAR *szDrive, HWND hDlg) FILE * file; UINT length; LRESULT pos; + HRESULT hr; - wcscpy(szBuffer, szDrive); - wcscat(szBuffer, L"freeldr.ini"); + hr = StringCbCopyW(szBuffer, sizeof(szBuffer), szDrive); + if (FAILED(hr)) + return FALSE; + + hr = StringCbCatW(szBuffer, sizeof(szBuffer), L"freeldr.ini"); + if (FAILED(hr)) + return FALSE; file = _wfopen(szBuffer, L"rt"); if (!file) { - wcscpy(szBuffer, szDrive); - wcscat(szBuffer, L"boot.ini"); + hr = StringCbCopyW(szBuffer, sizeof(szBuffer), szDrive); + if (FAILED(hr)) + return FALSE; + + hr = StringCbCatW(szBuffer, sizeof(szBuffer), L"boot.ini"); + if (FAILED(hr)) + return FALSE; + file = _wfopen(szBuffer, L"rt"); if (!file) return FALSE; @@ -137,7 +149,7 @@ FreeLdrPageWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) if (pos != LB_ERR) { LPARAM res = SendMessage((HWND)lParam, LB_GETITEMDATA, pos, 0); - if (!res) //line is not a default one + if (!res) /* line is not a default one */ SendMessage((HWND)lParam, LB_SETCURSEL, Settings.szDefaultPos, 0); else Settings.szDefaultPos = pos; diff --git a/base/applications/msconfig/lang/ro-RO.rc b/base/applications/msconfig/lang/ro-RO.rc index 0337f92190f..4e9ddc3f7e8 100644 --- a/base/applications/msconfig/lang/ro-RO.rc +++ b/base/applications/msconfig/lang/ro-RO.rc @@ -1,4 +1,4 @@ -/* 2011.12.18 - Fulea Ștefan: minor correction */ +/* Ștefan Fulea (stefan dot fulea at mail dot md) */ LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL @@ -166,7 +166,7 @@ END STRINGTABLE BEGIN - IDS_SERVICES_STATUS_RUNNING "Merge" + IDS_SERVICES_STATUS_RUNNING "Pornit" IDS_SERVICES_STATUS_STOPPED "Oprit" IDS_SERVICES_YES "Da" IDS_SERVICES_UNKNOWN "Nespecificat" diff --git a/base/applications/msconfig/msconfig.c b/base/applications/msconfig/msconfig.c index a57c212599a..69ad608ba7f 100644 --- a/base/applications/msconfig/msconfig.c +++ b/base/applications/msconfig/msconfig.c @@ -25,18 +25,72 @@ HICON hDialogIcon = NULL; void MsConfig_OnTabWndSelChange(void); +//////////////////////////////////////////////////////////////////////////////// +// Taken from WinSpy++ 1.7 +// http://www.catch22.net/software/winspy +// Copyright (c) 2002 by J Brown +// + +// +// Copied from uxtheme.h +// If you have this new header, then delete these and +// #include instead! +// +#define ETDT_DISABLE 0x00000001 +#define ETDT_ENABLE 0x00000002 +#define ETDT_USETABTEXTURE 0x00000004 +#define ETDT_ENABLETAB (ETDT_ENABLE | ETDT_USETABTEXTURE) + +// +typedef HRESULT (WINAPI * ETDTProc) (HWND, DWORD); + +// +// Try to call EnableThemeDialogTexture, if uxtheme.dll is present +// +BOOL EnableDialogTheme(HWND hwnd) +{ + HMODULE hUXTheme; + ETDTProc fnEnableThemeDialogTexture; + + hUXTheme = LoadLibrary(_T("uxtheme.dll")); + + if(hUXTheme) + { + fnEnableThemeDialogTexture = + (ETDTProc)GetProcAddress(hUXTheme, "EnableThemeDialogTexture"); + + if(fnEnableThemeDialogTexture) + { + fnEnableThemeDialogTexture(hwnd, ETDT_ENABLETAB); + + FreeLibrary(hUXTheme); + return TRUE; + } + else + { + // Failed to locate API! + FreeLibrary(hUXTheme); + return FALSE; + } + } + else + { + // Not running under XP? Just fail gracefully + return FALSE; + } +} BOOL OnCreate(HWND hWnd) { TCHAR szTemp[256]; TCITEM item; hTabWnd = GetDlgItem(hWnd, IDC_TAB); - hGeneralPage = CreateDialog(hInst, MAKEINTRESOURCE(IDD_GENERAL_PAGE), hWnd, GeneralPageWndProc); - hSystemPage = CreateDialog(hInst, MAKEINTRESOURCE(IDD_SYSTEM_PAGE), hWnd, SystemPageWndProc); - hFreeLdrPage = CreateDialog(hInst, MAKEINTRESOURCE(IDD_FREELDR_PAGE), hWnd, FreeLdrPageWndProc); - hServicesPage = CreateDialog(hInst, MAKEINTRESOURCE(IDD_SERVICES_PAGE), hWnd, ServicesPageWndProc); - hStartupPage = CreateDialog(hInst, MAKEINTRESOURCE(IDD_STARTUP_PAGE), hWnd, StartupPageWndProc); - hToolsPage = CreateDialog(hInst, MAKEINTRESOURCE(IDD_TOOLS_PAGE), hWnd, ToolsPageWndProc); + hGeneralPage = CreateDialog(hInst, MAKEINTRESOURCE(IDD_GENERAL_PAGE), hWnd, GeneralPageWndProc); EnableDialogTheme(hGeneralPage); + hSystemPage = CreateDialog(hInst, MAKEINTRESOURCE(IDD_SYSTEM_PAGE), hWnd, SystemPageWndProc); EnableDialogTheme(hSystemPage); + hFreeLdrPage = CreateDialog(hInst, MAKEINTRESOURCE(IDD_FREELDR_PAGE), hWnd, FreeLdrPageWndProc); EnableDialogTheme(hFreeLdrPage); + hServicesPage = CreateDialog(hInst, MAKEINTRESOURCE(IDD_SERVICES_PAGE), hWnd, ServicesPageWndProc); EnableDialogTheme(hServicesPage); + hStartupPage = CreateDialog(hInst, MAKEINTRESOURCE(IDD_STARTUP_PAGE), hWnd, StartupPageWndProc); EnableDialogTheme(hStartupPage); + hToolsPage = CreateDialog(hInst, MAKEINTRESOURCE(IDD_TOOLS_PAGE), hWnd, ToolsPageWndProc); EnableDialogTheme(hToolsPage); LoadString(hInst, IDS_MSCONFIG, szTemp, 256); SetWindowText(hWnd, szTemp); diff --git a/base/applications/msconfig/precomp.h b/base/applications/msconfig/precomp.h index 70af3be3d4a..5aea3aa0d85 100644 --- a/base/applications/msconfig/precomp.h +++ b/base/applications/msconfig/precomp.h @@ -11,6 +11,7 @@ #include #include #include +#include #include "msconfig.h" #include "resource.h" diff --git a/base/applications/msconfig/srvpage.c b/base/applications/msconfig/srvpage.c index eb159b420d9..88b1d74be2c 100644 --- a/base/applications/msconfig/srvpage.c +++ b/base/applications/msconfig/srvpage.c @@ -99,7 +99,7 @@ GetServices ( void ) ENUM_SERVICE_STATUS_PROCESS *pServiceStatus = NULL; ScHandle = OpenSCManager(NULL, NULL, SC_MANAGER_ENUMERATE_SERVICE); - if (ScHandle != INVALID_HANDLE_VALUE) + if (ScHandle != NULL) { if (EnumServicesStatusEx(ScHandle, SC_ENUM_PROCESS_INFO, SERVICE_WIN32, SERVICE_STATE_ALL, (LPBYTE)pServiceStatus, 0, &BytesNeeded, &NumServices, &ResumeHandle, 0) == 0) { @@ -107,7 +107,7 @@ GetServices ( void ) if (GetLastError() == ERROR_MORE_DATA) { /* reserve memory for service info array */ - pServiceStatus = (ENUM_SERVICE_STATUS_PROCESS *) HeapAlloc(GetProcessHeap(), 0, BytesNeeded); + pServiceStatus = HeapAlloc(GetProcessHeap(), 0, BytesNeeded); if (!pServiceStatus) return; @@ -145,16 +145,21 @@ GetServices ( void ) BytesNeeded = 0; hService = OpenService(ScHandle, pServiceStatus[Index].lpServiceName, SC_MANAGER_CONNECT); - if (hService != INVALID_HANDLE_VALUE) + if (hService != NULL) { /* check if service is required by the system*/ if (!QueryServiceConfig2(hService, SERVICE_CONFIG_FAILURE_ACTIONS, (LPBYTE)NULL, 0, &BytesNeeded)) { if (GetLastError() == ERROR_INSUFFICIENT_BUFFER) { - pServiceFailureActions = (LPSERVICE_FAILURE_ACTIONS) HeapAlloc(GetProcessHeap(), 0, BytesNeeded); + pServiceFailureActions = HeapAlloc(GetProcessHeap(), 0, BytesNeeded); if (pServiceFailureActions == NULL) + { + HeapFree(GetProcessHeap(), 0, pServiceStatus); + CloseServiceHandle(hService); + CloseServiceHandle(ScHandle); return; + } if (!QueryServiceConfig2(hService, SERVICE_CONFIG_FAILURE_ACTIONS, (LPBYTE)pServiceFailureActions, BytesNeeded, &BytesNeeded)) { @@ -196,7 +201,7 @@ GetServices ( void ) { if (GetLastError() == ERROR_INSUFFICIENT_BUFFER) { - pServiceConfig = (LPQUERY_SERVICE_CONFIG) HeapAlloc(GetProcessHeap(), 0, BytesNeeded); + pServiceConfig = HeapAlloc(GetProcessHeap(), 0, BytesNeeded); if (pServiceConfig == NULL) { HeapFree(GetProcessHeap(), 0, pServiceStatus); @@ -238,7 +243,7 @@ GetServices ( void ) dwLen = GetFileVersionInfoSize(FileName, &dwHandle); if (dwLen) { - lpData = (TCHAR*) HeapAlloc(GetProcessHeap(), 0, dwLen); + lpData = HeapAlloc(GetProcessHeap(), 0, dwLen); if (lpData == NULL) { HeapFree(GetProcessHeap(), 0, pServiceStatus); diff --git a/base/applications/msconfig/startuppage.c b/base/applications/msconfig/startuppage.c index 557bd86c35e..e14cb9da870 100644 --- a/base/applications/msconfig/startuppage.c +++ b/base/applications/msconfig/startuppage.c @@ -93,7 +93,7 @@ GetDisabledAutostartEntriesFromRegistry (TCHAR * szBasePath) { dwValueLength = MAX_KEY_LENGTH; dwDataLength = MAX_VALUE_NAME; - Data = (TCHAR*) HeapAlloc(GetProcessHeap(), 0, MAX_VALUE_NAME * sizeof(TCHAR)); + Data = HeapAlloc(GetProcessHeap(), 0, MAX_VALUE_NAME * sizeof(TCHAR)); if (Data == NULL) break; @@ -160,7 +160,7 @@ GetAutostartEntriesFromRegistry ( HKEY hRootKey, TCHAR* KeyName ) { dwValueLength = MAX_KEY_LENGTH; dwDataLength = MAX_VALUE_NAME; - Data = (TCHAR*) HeapAlloc(GetProcessHeap(), 0, MAX_VALUE_NAME * sizeof(TCHAR)); + Data = HeapAlloc(GetProcessHeap(), 0, MAX_VALUE_NAME * sizeof(TCHAR)); if (Data == NULL) break; retVal = RegEnumValue(hKey, Index, lpValueName, &dwValueLength, NULL, &dwType, (LPBYTE)Data, &dwDataLength); diff --git a/base/applications/msconfig/systempage.c b/base/applications/msconfig/systempage.c index aad0b8c5dfc..bde2f5f5cc1 100644 --- a/base/applications/msconfig/systempage.c +++ b/base/applications/msconfig/systempage.c @@ -23,9 +23,15 @@ LoadSystemIni(WCHAR * szPath, HWND hDlg) FILE* file; UINT length; TVINSERTSTRUCT insert; + HRESULT hr; - wcscpy(szBuffer, szPath); - wcscat(szBuffer, L"\\system.ini"); + hr = StringCbCopyW(szBuffer, sizeof(szBuffer), szPath); + if (FAILED(hr)) + return FALSE; + + hr = StringCbCatW(szBuffer, sizeof(szBuffer), L"\\system.ini"); + if (FAILED(hr)) + return FALSE; file = _wfopen(szBuffer, L"rt"); if (!file) diff --git a/base/applications/mscutils/devmgmt/lang/pl-PL.rc b/base/applications/mscutils/devmgmt/lang/pl-PL.rc index 6e3f376e3c4..4e827d4a766 100644 --- a/base/applications/mscutils/devmgmt/lang/pl-PL.rc +++ b/base/applications/mscutils/devmgmt/lang/pl-PL.rc @@ -28,7 +28,7 @@ BEGIN MENUITEM "Zaso&by według typu", IDC_RESBYTYPE, GRAYED MENUITEM "Za&soby według połączenia", IDC_RESBYCONN, GRAYED MENUITEM SEPARATOR - MENUITEM "Show hidden devices", IDC_SHOWHIDDEN + MENUITEM "Pokaż ukryte urządzenia", IDC_SHOWHIDDEN END POPUP "Pomo&c" BEGIN diff --git a/base/applications/mscutils/eventvwr/eventvwr.c b/base/applications/mscutils/eventvwr/eventvwr.c index f04b5118621..4bf6442a737 100644 --- a/base/applications/mscutils/eventvwr/eventvwr.c +++ b/base/applications/mscutils/eventvwr/eventvwr.c @@ -55,11 +55,13 @@ static const WCHAR szWindowClass[] = L"EVENTVWR"; /* the main window cl #define MAX_LOADSTRING 255 /* Globals */ -HINSTANCE hInst; /* current instance */ -WCHAR szTitle[MAX_LOADSTRING]; /* The title bar text */ -HWND hwndMainWindow; /* Main window */ -HWND hwndListView; /* ListView control */ -HWND hwndStatus; /* Status bar */ +HINSTANCE hInst; /* current instance */ +WCHAR szTitle[MAX_LOADSTRING]; /* The title bar text */ +WCHAR szTitleTemplate[MAX_LOADSTRING]; /* The logged-on title bar text */ +HWND hwndMainWindow; /* Main window */ +HWND hwndListView; /* ListView control */ +HWND hwndStatus; /* Status bar */ +WCHAR szStatusBarTemplate[MAX_LOADSTRING]; /* The status bar text */ PEVENTLOGRECORD *g_RecordPtrs = NULL; DWORD g_TotalRecords = 0; @@ -97,6 +99,8 @@ wWinMain(HINSTANCE hInstance, /* Initialize global strings */ LoadStringW(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING); + LoadStringW(hInstance, IDS_APP_TITLE_EX, szTitleTemplate, MAX_LOADSTRING); + LoadStringW(hInstance, IDS_STATUS_MSG, szStatusBarTemplate, MAX_LOADSTRING); MyRegisterClass(hInstance); /* Perform application initialization: */ @@ -687,7 +691,7 @@ QueryEventMessages(LPWSTR lpMachineName, EndDialog(hwndDlg, 0); - i = swprintf(szWindowTitle, L"%s - %s Log on \\\\", szTitle, lpLogName); /* i = number of characters written */ + i = swprintf(szWindowTitle, szTitleTemplate, szTitle, lpLogName); /* i = number of characters written */ /* lpComputerName can be NULL here if no records was read */ dwMaxLength = sizeof(szWindowTitle) / sizeof(WCHAR) - i; if(!lpComputerName) @@ -695,7 +699,7 @@ QueryEventMessages(LPWSTR lpMachineName, else _snwprintf(szWindowTitle+i, dwMaxLength, L"%s", lpComputerName); - swprintf(szStatusText, L"%s has %lu event(s)", lpLogName, dwTotalRecords); + swprintf(szStatusText, szStatusBarTemplate, lpLogName, dwTotalRecords); // Update the status bar SendMessageW(hwndStatus, SB_SETTEXT, (WPARAM)0, (LPARAM)szStatusText); diff --git a/base/applications/mscutils/eventvwr/lang/bg-BG.rc b/base/applications/mscutils/eventvwr/lang/bg-BG.rc index dcc4cc7aa29..f6675c4c5a6 100644 --- a/base/applications/mscutils/eventvwr/lang/bg-BG.rc +++ b/base/applications/mscutils/eventvwr/lang/bg-BG.rc @@ -85,6 +85,8 @@ END STRINGTABLE BEGIN IDS_APP_TITLE "Преглед на събития" + IDS_APP_TITLE_EX "%s - %s Log on \\\\" + IDS_STATUS_MSG "%s has %lu event(s)" IDS_EVENTSTRINGIDNOTFOUND "Не е намерено описанието на събитие ( %lu ) в източник ( %s ). Възможно е местият компютър да няма нужните сведения в регистъра или DLL файловет, нужни за показване на съобщения от отдалечен компютър." IDS_EVENTLOG_ERROR_TYPE "Error" IDS_EVENTLOG_WARNING_TYPE "Warning" diff --git a/base/applications/mscutils/eventvwr/lang/de-DE.rc b/base/applications/mscutils/eventvwr/lang/de-DE.rc index f4884c87a57..0746977d64e 100644 --- a/base/applications/mscutils/eventvwr/lang/de-DE.rc +++ b/base/applications/mscutils/eventvwr/lang/de-DE.rc @@ -87,6 +87,8 @@ END STRINGTABLE BEGIN IDS_APP_TITLE "Ereignisanzeige" + IDS_APP_TITLE_EX "%s - %s Log on \\\\" + IDS_STATUS_MSG "%s has %lu event(s)" IDS_EVENTSTRINGIDNOTFOUND "Die Bezeichnung für die Ereignis-ID ( %lu ) in der Quelle ( %s ) kann nicht gefunden werden. Es könnte sein, dass der Lokale Computer die notwendigen Registry Einträge oder Nachrichten DLLs, um Nachrichten von Remoten Computern anzuzeigen, nicht besitzt." IDS_EVENTLOG_ERROR_TYPE "Fehler" IDS_EVENTLOG_WARNING_TYPE "Warnung" diff --git a/base/applications/mscutils/eventvwr/lang/el-GR.rc b/base/applications/mscutils/eventvwr/lang/el-GR.rc index 2dc1505dcf8..fe198ee4d7a 100644 --- a/base/applications/mscutils/eventvwr/lang/el-GR.rc +++ b/base/applications/mscutils/eventvwr/lang/el-GR.rc @@ -87,6 +87,8 @@ END STRINGTABLE BEGIN IDS_APP_TITLE "Event Viewer" + IDS_APP_TITLE_EX "%s - %s Log on \\\\" + IDS_STATUS_MSG "%s has %lu event(s)" IDS_EVENTSTRINGIDNOTFOUND "The description for Event ID ( %lu ) in Source ( %s ) cannot be found. The local computer may not have the necessary registry information or message DLL files to display messages from a remote computer." IDS_EVENTLOG_ERROR_TYPE "Αφάλμα" IDS_EVENTLOG_WARNING_TYPE "Προειδοποίηση" diff --git a/base/applications/mscutils/eventvwr/lang/en-US.rc b/base/applications/mscutils/eventvwr/lang/en-US.rc index 6c785553c8f..e9eea40bc21 100644 --- a/base/applications/mscutils/eventvwr/lang/en-US.rc +++ b/base/applications/mscutils/eventvwr/lang/en-US.rc @@ -93,6 +93,8 @@ END STRINGTABLE BEGIN IDS_APP_TITLE "Event Viewer" + IDS_APP_TITLE_EX "%s - %s Log on \\\\" + IDS_STATUS_MSG "%s has %lu event(s)" IDS_EVENTSTRINGIDNOTFOUND "The description for Event ID ( %lu ) in Source ( %s ) cannot be found. The local computer may not have the necessary registry information or message DLL files to display messages from a remote computer." IDS_EVENTLOG_ERROR_TYPE "Error" IDS_EVENTLOG_WARNING_TYPE "Warning" diff --git a/base/applications/mscutils/eventvwr/lang/es-ES.rc b/base/applications/mscutils/eventvwr/lang/es-ES.rc index 698c80bae70..7c10b92ee6c 100644 --- a/base/applications/mscutils/eventvwr/lang/es-ES.rc +++ b/base/applications/mscutils/eventvwr/lang/es-ES.rc @@ -87,6 +87,8 @@ END STRINGTABLE BEGIN IDS_APP_TITLE "Visor de sucesos" + IDS_APP_TITLE_EX "%s - %s Log on \\\\" + IDS_STATUS_MSG "%s has %lu event(s)" IDS_EVENTSTRINGIDNOTFOUND "La descripción para el evento con ID ( %lu ) y origen ( %s ) no pudo ser recuperada.El equipo local puede no tener la información necesaria en el registro o las DLLs requeridas para mostrar los mensajes de un equipo remoto." IDS_EVENTLOG_ERROR_TYPE "Error" IDS_EVENTLOG_WARNING_TYPE "Advertencia" diff --git a/base/applications/mscutils/eventvwr/lang/fr-FR.rc b/base/applications/mscutils/eventvwr/lang/fr-FR.rc index 58b2abec475..7dc973dba26 100644 --- a/base/applications/mscutils/eventvwr/lang/fr-FR.rc +++ b/base/applications/mscutils/eventvwr/lang/fr-FR.rc @@ -87,6 +87,8 @@ END STRINGTABLE BEGIN IDS_APP_TITLE "Visionneuse d'événements" + IDS_APP_TITLE_EX "%s - %s Log on \\\\" + IDS_STATUS_MSG "%s has %lu event(s)" IDS_EVENTSTRINGIDNOTFOUND "La description pour l'événement d'ID ( %lu ) dans la source ( %s ) ne peut être trouvée. L'ordinateur local pourrait ne pas avoir les informations registres nécéssaires ou les fichiers DLL de message pour afficher les messages depuis un ordinateur distant." IDS_EVENTLOG_ERROR_TYPE "Erreur" IDS_EVENTLOG_WARNING_TYPE "Avertissement" diff --git a/base/applications/mscutils/eventvwr/lang/he-IL.rc b/base/applications/mscutils/eventvwr/lang/he-IL.rc index 6abc3b2b718..828d78ac815 100644 --- a/base/applications/mscutils/eventvwr/lang/he-IL.rc +++ b/base/applications/mscutils/eventvwr/lang/he-IL.rc @@ -87,6 +87,8 @@ END STRINGTABLE BEGIN IDS_APP_TITLE "יומן האירועים" + IDS_APP_TITLE_EX "%s - %s Log on \\\\" + IDS_STATUS_MSG "%s has %lu event(s)" IDS_EVENTSTRINGIDNOTFOUND "The description for Event ID ( %lu ) in Source ( %s ) cannot be found. The local computer may not have the necessary registry information or message DLL files to display messages from a remote computer." IDS_EVENTLOG_ERROR_TYPE "שגיאה" IDS_EVENTLOG_WARNING_TYPE "אזהרה" diff --git a/base/applications/mscutils/eventvwr/lang/it-IT.rc b/base/applications/mscutils/eventvwr/lang/it-IT.rc index befba59ff76..9067f5379d3 100644 --- a/base/applications/mscutils/eventvwr/lang/it-IT.rc +++ b/base/applications/mscutils/eventvwr/lang/it-IT.rc @@ -87,6 +87,8 @@ END STRINGTABLE BEGIN IDS_APP_TITLE "Visualizzatore eventi" + IDS_APP_TITLE_EX "%s - %s Log on \\\\" + IDS_STATUS_MSG "%s has %lu event(s)" IDS_EVENTSTRINGIDNOTFOUND "La descrizione per l'ID evento ( %lu ) proveniente da ( %s ) non può essere trovata. Il computer locale potrebbe non avere le informazioni sul registry necessarie o i file DLL con i messaggi necessari per la visualizzazione da un computer remoto." IDS_EVENTLOG_ERROR_TYPE "Errore" IDS_EVENTLOG_WARNING_TYPE "Avviso" diff --git a/base/applications/mscutils/eventvwr/lang/ja-JP.rc b/base/applications/mscutils/eventvwr/lang/ja-JP.rc index 2fedf0c147e..7f744962c5d 100644 --- a/base/applications/mscutils/eventvwr/lang/ja-JP.rc +++ b/base/applications/mscutils/eventvwr/lang/ja-JP.rc @@ -87,6 +87,8 @@ END STRINGTABLE BEGIN IDS_APP_TITLE "イベント ビューア" + IDS_APP_TITLE_EX "%s - %s Log on \\\\" + IDS_STATUS_MSG "%s has %lu event(s)" IDS_EVENTSTRINGIDNOTFOUND "イベント ID (%lu) (ソース %s 内) に関する説明が見つかりませんでした。 リモート コンピュータからメッセージを表示するために必要なレジストリ情報またはメッセージ DLL ファイルがローカル コンピュータにない可能性があります。" IDS_EVENTLOG_ERROR_TYPE "エラー" IDS_EVENTLOG_WARNING_TYPE "警告" diff --git a/base/applications/mscutils/eventvwr/lang/ko-KR.rc b/base/applications/mscutils/eventvwr/lang/ko-KR.rc index dab9507a3d9..eab4d0f0a25 100644 --- a/base/applications/mscutils/eventvwr/lang/ko-KR.rc +++ b/base/applications/mscutils/eventvwr/lang/ko-KR.rc @@ -87,6 +87,8 @@ END STRINGTABLE BEGIN IDS_APP_TITLE "이벤트 뷰어" + IDS_APP_TITLE_EX "%s - %s Log on \\\\" + IDS_STATUS_MSG "%s has %lu event(s)" IDS_EVENTSTRINGIDNOTFOUND "( %s ) 의 이벤트ID ( %lu ) 에 대한 설명을 찾을 수 없습니다. 로컬 컴퓨터가 원격 컴퓨터의 메세지를 표시하는데 필요한 레지스트리나 DLL 파일을 가지지 않고 있을수 있습니다." IDS_EVENTLOG_ERROR_TYPE "에러" IDS_EVENTLOG_WARNING_TYPE "경고" diff --git a/base/applications/mscutils/eventvwr/lang/no-NO.rc b/base/applications/mscutils/eventvwr/lang/no-NO.rc index 40aa2f92fb4..2a5fb469962 100644 --- a/base/applications/mscutils/eventvwr/lang/no-NO.rc +++ b/base/applications/mscutils/eventvwr/lang/no-NO.rc @@ -85,6 +85,8 @@ END STRINGTABLE BEGIN IDS_APP_TITLE "Hendelseliste" + IDS_APP_TITLE_EX "%s - %s Log on \\\\" + IDS_STATUS_MSG "%s has %lu event(s)" IDS_EVENTSTRINGIDNOTFOUND "Beskrivelsen for Hendelse ID ( %lu ) i kilden ( %s ) kan ikke bli finnet. Lokale datamaskinen har ikke nødvendige register informasjon eller melding DLL filer for å vise melding fra en fjern datamaskin." IDS_EVENTLOG_ERROR_TYPE "Feil" IDS_EVENTLOG_WARNING_TYPE "Advarseler" diff --git a/base/applications/mscutils/eventvwr/lang/pl-PL.rc b/base/applications/mscutils/eventvwr/lang/pl-PL.rc index 9a1b824abb8..985e7fddd05 100644 --- a/base/applications/mscutils/eventvwr/lang/pl-PL.rc +++ b/base/applications/mscutils/eventvwr/lang/pl-PL.rc @@ -87,6 +87,8 @@ END STRINGTABLE BEGIN IDS_APP_TITLE "Podgląd zdarzeń" + IDS_APP_TITLE_EX "%s - %s Log on \\\\" + IDS_STATUS_MSG "%s has %lu event(s)" IDS_EVENTSTRINGIDNOTFOUND "Opis zdarzenia dla danego numeru ID: ( %lu ) nie został odnaleziony w źródle: ( %s ). Ten komputer może nie miec wystarczających informacji w rejestrze, albo bibliotek DLL, aby wyświetlić wiadomości z komputera zdalnego." IDS_EVENTLOG_ERROR_TYPE "Błąd" IDS_EVENTLOG_WARNING_TYPE "Ostrzeżenie" diff --git a/base/applications/mscutils/eventvwr/lang/pt-BR.rc b/base/applications/mscutils/eventvwr/lang/pt-BR.rc index 6dcc22a62e4..a91125b78ae 100644 --- a/base/applications/mscutils/eventvwr/lang/pt-BR.rc +++ b/base/applications/mscutils/eventvwr/lang/pt-BR.rc @@ -87,6 +87,8 @@ END STRINGTABLE BEGIN IDS_APP_TITLE "Visualizador de Eventos" + IDS_APP_TITLE_EX "%s - %s Log on \\\\" + IDS_STATUS_MSG "%s has %lu event(s)" IDS_EVENTSTRINGIDNOTFOUND "A descrição para Event ID ( %lu ) em Fonte ( %s ) não foi encontrado. O computador local talvez não possua a informação de registro necessária ou mensagem de arquivos DLL para exibir mensagens de um computador remoto." IDS_EVENTLOG_ERROR_TYPE "Erro" IDS_EVENTLOG_WARNING_TYPE "Aviso" diff --git a/base/applications/mscutils/eventvwr/lang/ro-RO.rc b/base/applications/mscutils/eventvwr/lang/ro-RO.rc index 331ff23206c..0df0e0e61b5 100644 --- a/base/applications/mscutils/eventvwr/lang/ro-RO.rc +++ b/base/applications/mscutils/eventvwr/lang/ro-RO.rc @@ -87,6 +87,8 @@ END STRINGTABLE BEGIN IDS_APP_TITLE "Observator de evenimente" + IDS_APP_TITLE_EX "%s - %s autentificat pe \\\\" + IDS_STATUS_MSG "%s are %lu eveniment(e)" IDS_EVENTSTRINGIDNOTFOUND "Nu se poate găsi descrierea evenimentului cu ID-ul ( %lu ) în sursa ( %s ). Este posibil ca în calculatorul local să nu existe informațiile de registru necesare sau fișierele dll de mesaje să afișeze mesaje de la un calculator din rețea." IDS_EVENTLOG_ERROR_TYPE "Eroare" IDS_EVENTLOG_WARNING_TYPE "Avertisment" diff --git a/base/applications/mscutils/eventvwr/lang/ru-RU.rc b/base/applications/mscutils/eventvwr/lang/ru-RU.rc index 7c531edb03d..c9a85bcf232 100644 --- a/base/applications/mscutils/eventvwr/lang/ru-RU.rc +++ b/base/applications/mscutils/eventvwr/lang/ru-RU.rc @@ -87,6 +87,8 @@ END STRINGTABLE BEGIN IDS_APP_TITLE "Просмотр событий" + IDS_APP_TITLE_EX "%s - %s Log on \\\\" + IDS_STATUS_MSG "%s has %lu event(s)" IDS_EVENTSTRINGIDNOTFOUND "Не найдено описание для события с кодом ( %lu ) в источнике ( %s ). Возможно, на локальном компьютере нет нужных данных в реестре или файлов DLL сообщений для отображения сообщений удаленного компьютера." IDS_EVENTLOG_ERROR_TYPE "Ошибка" IDS_EVENTLOG_WARNING_TYPE "Предупреждение" diff --git a/base/applications/mscutils/eventvwr/lang/sk-SK.rc b/base/applications/mscutils/eventvwr/lang/sk-SK.rc index 3002b8efb2d..784e9969178 100644 --- a/base/applications/mscutils/eventvwr/lang/sk-SK.rc +++ b/base/applications/mscutils/eventvwr/lang/sk-SK.rc @@ -90,6 +90,8 @@ END STRINGTABLE BEGIN IDS_APP_TITLE "Zobrazovač udalostí" + IDS_APP_TITLE_EX "%s - %s Log on \\\\" + IDS_STATUS_MSG "%s has %lu event(s)" IDS_EVENTSTRINGIDNOTFOUND "Popis pre udalosť ID ( %lu ) zo zdroja ( %s ) nebol nájdený. The local computer may not have the necessary registry information or message DLL files to display messages from a remote computer." IDS_EVENTLOG_ERROR_TYPE "Chyba" IDS_EVENTLOG_WARNING_TYPE "Upozornenie" diff --git a/base/applications/mscutils/eventvwr/lang/sq-AL.rc b/base/applications/mscutils/eventvwr/lang/sq-AL.rc index 7e7735df62f..2b4d5b251d3 100644 --- a/base/applications/mscutils/eventvwr/lang/sq-AL.rc +++ b/base/applications/mscutils/eventvwr/lang/sq-AL.rc @@ -93,6 +93,8 @@ END STRINGTABLE BEGIN IDS_APP_TITLE "Shikues ngjarjesh" + IDS_APP_TITLE_EX "%s - %s Log on \\\\" + IDS_STATUS_MSG "%s has %lu event(s)" IDS_EVENTSTRINGIDNOTFOUND "Përshkrimi për ngjarjet ID ( %lu ) në burim ( %s ) nuk gjindet. Kompjuter vendas mund të mos ketë informacionin e regjistrit te nevojshem ose mesazhin për dokumentat DLL për të shfaqur nga një kompjuter në distancë." IDS_EVENTLOG_ERROR_TYPE "Error" IDS_EVENTLOG_WARNING_TYPE "Paralajmërim" diff --git a/base/applications/mscutils/eventvwr/lang/sv-SE.rc b/base/applications/mscutils/eventvwr/lang/sv-SE.rc index 96bec452411..e8073ee58f4 100644 --- a/base/applications/mscutils/eventvwr/lang/sv-SE.rc +++ b/base/applications/mscutils/eventvwr/lang/sv-SE.rc @@ -87,6 +87,8 @@ END STRINGTABLE BEGIN IDS_APP_TITLE "Händelselogg" + IDS_APP_TITLE_EX "%s - %s Log on \\\\" + IDS_STATUS_MSG "%s has %lu event(s)" IDS_EVENTSTRINGIDNOTFOUND "Beskrivning av Händelse ID ( %lu ) i källan ( %s ) kan inte hittas. Lokal dator har inte nödvendig registerinformation eller meddelander DLL filer for å vise meddelander från en fjärr dator." IDS_EVENTLOG_ERROR_TYPE "Fel" IDS_EVENTLOG_WARNING_TYPE "Varning" diff --git a/base/applications/mscutils/eventvwr/lang/tr-TR.rc b/base/applications/mscutils/eventvwr/lang/tr-TR.rc index 7187f5a1e0c..611b504c56a 100644 --- a/base/applications/mscutils/eventvwr/lang/tr-TR.rc +++ b/base/applications/mscutils/eventvwr/lang/tr-TR.rc @@ -87,6 +87,8 @@ END STRINGTABLE BEGIN IDS_APP_TITLE "Olay Görüntüleyicisi" + IDS_APP_TITLE_EX "%s - %s Log on \\\\" + IDS_STATUS_MSG "%s has %lu event(s)" IDS_EVENTSTRINGIDNOTFOUND "Kaynaktaki olay kimliği (%lu) için açıklama (%s) bulunamadı. Yerli bilgisayarda, uzaktaki bilgisayardan ileti görüntülemesi için gerekli, değer bilgileri veyâ kitaplıklar olmayabilir." IDS_EVENTLOG_ERROR_TYPE "Yanlışlık" IDS_EVENTLOG_WARNING_TYPE "Uyarı" diff --git a/base/applications/mscutils/eventvwr/lang/uk-UA.rc b/base/applications/mscutils/eventvwr/lang/uk-UA.rc index 5981e340b68..88718cba75e 100644 --- a/base/applications/mscutils/eventvwr/lang/uk-UA.rc +++ b/base/applications/mscutils/eventvwr/lang/uk-UA.rc @@ -87,6 +87,8 @@ END STRINGTABLE BEGIN IDS_APP_TITLE "Оглядач подій" + IDS_APP_TITLE_EX "%s - %s Log on \\\\" + IDS_STATUS_MSG "%s has %lu event(s)" IDS_EVENTSTRINGIDNOTFOUND "Опис для Ідентифікатора події( %lu ) за джерелом( %s ) не знайдено. Локальний комп'ютер може не мати необхідної інформації в реєстрі чи DLL файлів повідомлень для відображення повідомлень, що надходять від віддаленого комп'ютера." IDS_EVENTLOG_ERROR_TYPE "Помилка" IDS_EVENTLOG_WARNING_TYPE "Попередження" diff --git a/base/applications/mscutils/eventvwr/lang/zh-CN.rc b/base/applications/mscutils/eventvwr/lang/zh-CN.rc index 3464b930a89..abdcb19a734 100644 --- a/base/applications/mscutils/eventvwr/lang/zh-CN.rc +++ b/base/applications/mscutils/eventvwr/lang/zh-CN.rc @@ -87,6 +87,8 @@ END STRINGTABLE BEGIN IDS_APP_TITLE "事件查看器" + IDS_APP_TITLE_EX "%s - %s Log on \\\\" + IDS_STATUS_MSG "%s has %lu event(s)" IDS_EVENTSTRINGIDNOTFOUND "来源 ( %s ) 中的事件 ID ( %lu ) 的描述无法找到。本地计算机可能没有显示来自远程计算机消息所必需的注册表信息或消息 DLL 文件。" IDS_EVENTLOG_ERROR_TYPE "错误" IDS_EVENTLOG_WARNING_TYPE "警告" diff --git a/base/applications/mscutils/eventvwr/resource.h b/base/applications/mscutils/eventvwr/resource.h index 50c7c270282..66e3032a9d7 100644 --- a/base/applications/mscutils/eventvwr/resource.h +++ b/base/applications/mscutils/eventvwr/resource.h @@ -49,6 +49,8 @@ /* String IDs */ #define IDS_APP_TITLE 103 +#define IDS_APP_TITLE_EX 104 +#define IDS_STATUS_MSG 106 #define IDS_EVENTSTRINGIDNOTFOUND 209 #define IDS_EVENTLOG_ERROR_TYPE 251 #define IDS_EVENTLOG_WARNING_TYPE 252 diff --git a/base/applications/mspaint/lang/ro-RO.rc b/base/applications/mspaint/lang/ro-RO.rc index ad5a3825748..31fa396b3ff 100644 --- a/base/applications/mspaint/lang/ro-RO.rc +++ b/base/applications/mspaint/lang/ro-RO.rc @@ -3,8 +3,7 @@ * LICENSE: LGPL * FILE: base/applications/mspaint/lang/ro-RO.rc * PURPOSE: Romanian Language resource file - * TRANSLATORS: Petru Dimitriu - * Fulea Ștefan (2011-12-19): minor changes + * TRANSLATORS: Petru Dimitriu, Ștefan Fulea */ LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL @@ -19,8 +18,8 @@ BEGIN MENUITEM "&Păstrare în…", IDM_FILESAVEAS MENUITEM SEPARATOR MENUITEM "Pune pe fundal (în ca&rou)", IDM_FILEASWALLPAPERPLANE - MENUITEM "Pune pe fundal (¢rat)", IDM_FILEASWALLPAPERCENTERED - MENUITEM "Pune pe fundal (e&xtins)", IDM_FILEASWALLPAPERSTRETCHED + MENUITEM "Pune pe fundal (¢rată)", IDM_FILEASWALLPAPERCENTERED + MENUITEM "Pune pe fundal (e&xtinsă)", IDM_FILEASWALLPAPERSTRETCHED MENUITEM SEPARATOR MENUITEM "I&eșire\tAlt+F4", IDM_FILEEXIT END @@ -66,20 +65,20 @@ BEGIN END POPUP "&Imagine" BEGIN - MENUITEM "&Rotire/Oglindire…\tCtrl+R", IDM_IMAGEROTATEMIRROR - MENUITEM "Stretch/Skew...\tCtrl+W", IDM_IMAGESTRETCHSKEW - MENUITEM "&Trunchiază", IDM_IMAGECROP + MENUITEM "R&otire/Oglindire…\tCtrl+R", IDM_IMAGEROTATEMIRROR + MENUITEM "Întin&dere/Înclinare…\tCtrl+W", IDM_IMAGESTRETCHSKEW + MENUITEM "&Recoltează", IDM_IMAGECROP MENUITEM "In&versează culorile\tCtrl+I", IDM_IMAGEINVERTCOLORS MENUITEM "&Atribute…\tCtrl+E", IDM_IMAGEATTRIBUTES MENUITEM "Șt&erge imaginea", IDM_IMAGEDELETEIMAGE - MENUITEM "Mod &opac", IDM_IMAGEDRAWOPAQUE + MENUITEM "&Mod opac", IDM_IMAGEDRAWOPAQUE END POPUP "&Culori" BEGIN MENUITEM "&Editare paletă…", IDM_COLORSEDITPALETTE MENUITEM SEPARATOR - MENUITEM "Modern palette", IDM_COLORSMODERNPALETTE - MENUITEM "Old palette", IDM_COLORSOLDPALETTE + MENUITEM "Paletă &modernă", IDM_COLORSMODERNPALETTE + MENUITEM "Paletă &veche", IDM_COLORSOLDPALETTE END POPUP "&?" BEGIN @@ -158,9 +157,9 @@ END IDD_STRETCHSKEW DIALOGEX 100, 100, 225, 150 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU FONT 8, "MS Shell Dlg" -CAPTION "Stretch and skew image" +CAPTION "Întindere și înclinare imagine" BEGIN - GROUPBOX "Stretch", IDD_STRETCHSKEWGROUPSTRETCH, 6, 6, 158, 66 + GROUPBOX "Întindere", IDD_STRETCHSKEWGROUPSTRETCH, 6, 6, 158, 66 ICON IDI_HORZSTRETCH, IDD_STRETCHSKEWICONHSTRETCH, 12, 18, 32, 32 LTEXT "Orizontală:", IDD_STRETCHSKEWTEXTHSTRETCH, 45, 24, 40, 10 EDITTEXT IDD_STRETCHSKEWEDITHSTRETCH, 90, 23, 32, 12 @@ -169,15 +168,15 @@ BEGIN LTEXT "Verticală:", IDD_STRETCHSKEWTEXTVSTRETCH, 45, 49, 40, 10 EDITTEXT IDD_STRETCHSKEWEDITVSTRETCH, 90, 48, 32, 12 LTEXT "%", IDD_STRETCHSKEWTEXTVPERCENT, 125, 49, 15, 10 - GROUPBOX "Skew", IDD_STRETCHSKEWGROUPSKEW, 6, 76, 158, 66 + GROUPBOX "Înclinare", IDD_STRETCHSKEWGROUPSKEW, 6, 76, 158, 66 ICON IDI_HORZSKEW, IDD_STRETCHSKEWICONHSKEW, 12, 88, 32, 32 LTEXT "Orizontală:", IDD_STRETCHSKEWTEXTHSKEW, 45, 94, 40, 10 EDITTEXT IDD_STRETCHSKEWEDITHSKEW, 90, 93, 32, 12 - LTEXT "degrees", IDD_STRETCHSKEWTEXTHDEG, 125, 94, 30, 10 + LTEXT "grade", IDD_STRETCHSKEWTEXTHDEG, 125, 94, 30, 10 ICON IDI_VERTSKEW, IDD_STRETCHSKEWICONVSKEW, 12, 113, 32, 32 LTEXT "Verticală:", IDD_STRETCHSKEWTEXTVSKEW, 45, 119, 40, 10 EDITTEXT IDD_STRETCHSKEWEDITVSKEW, 90, 118, 32, 12 - LTEXT "degrees", IDD_STRETCHSKEWTEXTVDEG, 125, 119, 30, 10 + LTEXT "grade", IDD_STRETCHSKEWTEXTVDEG, 125, 119, 30, 10 DEFPUSHBUTTON "Con&firmă", IDOK, 170, 8, 48, 14 PUSHBUTTON "A&nulează", IDCANCEL, 170, 24, 48, 14 END @@ -211,8 +210,8 @@ BEGIN IDS_SAVEFILTER "Bitmap pe 24 biți (*.bmp;*.dib)\1*.bmp;*.dib\1" IDS_FILESIZE "%d octeți" IDS_PRINTRES "%d x %d pixeli pe metru" - IDS_INTNUMBERS "Please enter integral numbers only!" - IDS_PERCENTAGE "The percentage must be between 1 and 500." - IDS_ANGLE "The angle must be between -89 and 89." - IDS_LOADERRORTEXT "The file %s could not be loaded." + IDS_INTNUMBERS "Introduceți doar numere întregi!" + IDS_PERCENTAGE "Procentajul trebuie să fie între 1 și 500." + IDS_ANGLE "Unghiul trebuie să fie între -89 și 89." + IDS_LOADERRORTEXT "Fișierul %s nu poate fi încărcat." END diff --git a/base/applications/mspaint/lang/ru-RU.rc b/base/applications/mspaint/lang/ru-RU.rc index de319283b60..c9a13842a45 100644 --- a/base/applications/mspaint/lang/ru-RU.rc +++ b/base/applications/mspaint/lang/ru-RU.rc @@ -58,7 +58,7 @@ BEGIN POPUP "&Рисунок" BEGIN MENUITEM "&Отразить/повернуть...\tCtrl+R", IDM_IMAGEROTATEMIRROR - MENUITEM "Stretch/Skew...\tCtrl+W", IDM_IMAGESTRETCHSKEW + MENUITEM "Растянуть/Наклонить...\tCtrl+W", IDM_IMAGESTRETCHSKEW MENUITEM "Обре&зать", IDM_IMAGECROP MENUITEM "О&братить цвета\tCtrl+I", IDM_IMAGEINVERTCOLORS MENUITEM "&Атрибуты...\tCtrl+E", IDM_IMAGEATTRIBUTES @@ -69,8 +69,8 @@ BEGIN BEGIN MENUITEM "&Изменить палитру...", IDM_COLORSEDITPALETTE MENUITEM SEPARATOR - MENUITEM "Modern palette", IDM_COLORSMODERNPALETTE - MENUITEM "Old palette", IDM_COLORSOLDPALETTE + MENUITEM "Модернизированный вид", IDM_COLORSMODERNPALETTE + MENUITEM "Старый вид", IDM_COLORSOLDPALETTE END POPUP "&?" BEGIN @@ -149,9 +149,9 @@ END IDD_STRETCHSKEW DIALOGEX 100, 100, 225, 150 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU FONT 8, "MS Shell Dlg" -CAPTION "Stretch and skew image" +CAPTION "Растяжение и наклон" BEGIN - GROUPBOX "Stretch", IDD_STRETCHSKEWGROUPSTRETCH, 6, 6, 158, 66 + GROUPBOX "Растянуть", IDD_STRETCHSKEWGROUPSTRETCH, 6, 6, 158, 66 ICON IDI_HORZSTRETCH, IDD_STRETCHSKEWICONHSTRETCH, 12, 18, 32, 32 LTEXT "По горизонтали:", IDD_STRETCHSKEWTEXTHSTRETCH, 45, 24, 40, 10 EDITTEXT IDD_STRETCHSKEWEDITHSTRETCH, 90, 23, 32, 12 @@ -160,15 +160,15 @@ BEGIN LTEXT "По вертикали:", IDD_STRETCHSKEWTEXTVSTRETCH, 45, 49, 40, 10 EDITTEXT IDD_STRETCHSKEWEDITVSTRETCH, 90, 48, 32, 12 LTEXT "%", IDD_STRETCHSKEWTEXTVPERCENT, 125, 49, 15, 10 - GROUPBOX "Skew", IDD_STRETCHSKEWGROUPSKEW, 6, 76, 158, 66 + GROUPBOX "Наклонить", IDD_STRETCHSKEWGROUPSKEW, 6, 76, 158, 66 ICON IDI_HORZSKEW, IDD_STRETCHSKEWICONHSKEW, 12, 88, 32, 32 LTEXT "По горизонтали:", IDD_STRETCHSKEWTEXTHSKEW, 45, 94, 40, 10 EDITTEXT IDD_STRETCHSKEWEDITHSKEW, 90, 93, 32, 12 - LTEXT "degrees", IDD_STRETCHSKEWTEXTHDEG, 125, 94, 30, 10 + LTEXT "градусов", IDD_STRETCHSKEWTEXTHDEG, 125, 94, 30, 10 ICON IDI_VERTSKEW, IDD_STRETCHSKEWICONVSKEW, 12, 113, 32, 32 LTEXT "По вертикали:", IDD_STRETCHSKEWTEXTVSKEW, 45, 119, 40, 10 EDITTEXT IDD_STRETCHSKEWEDITVSKEW, 90, 118, 32, 12 - LTEXT "degrees", IDD_STRETCHSKEWTEXTVDEG, 125, 119, 30, 10 + LTEXT "градусов", IDD_STRETCHSKEWTEXTVDEG, 125, 119, 30, 10 DEFPUSHBUTTON "OK", IDOK, 170, 8, 48, 14 PUSHBUTTON "Отмена", IDCANCEL, 170, 24, 48, 14 END @@ -202,8 +202,8 @@ BEGIN IDS_SAVEFILTER "24-разрядный рисунок (*.bmp;*.dib)\1*.bmp;*.dib\1" IDS_FILESIZE "%d байт" IDS_PRINTRES "%d x %d пикселей на метр" - IDS_INTNUMBERS "Please enter integral numbers only!" - IDS_PERCENTAGE "The percentage must be between 1 and 500." - IDS_ANGLE "The angle must be between -89 and 89." - IDS_LOADERRORTEXT "The file %s could not be loaded." + IDS_INTNUMBERS, "Необходимо вводить только целые числа!" + IDS_PERCENTAGE, "Процент должен быть в интервале от 1 до 500." + IDS_ANGLE, "Угол должен быть в интервале от -89 до 89." + IDS_LOADERRORTEXT, "Невозможно загрузить файл %s." END diff --git a/base/applications/network/wlanconf/lang/ro-RO.rc b/base/applications/network/wlanconf/lang/ro-RO.rc new file mode 100644 index 00000000000..84aeb50c91b --- /dev/null +++ b/base/applications/network/wlanconf/lang/ro-RO.rc @@ -0,0 +1,37 @@ +LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL + +STRINGTABLE +BEGIN + IDS_USAGE "\nConfigurează un adaptor WLAN.\n\n\ +WLANCONF [-c SSID [-w WEP] [-a]] [-d] [-s]\n\n\ +\t-c SSID\t\tConectează la un SSID furnizat,\n\ +\t-w WEP\t\tSpecifică o cheie WEP.\n\ +\t-a\t\tSpecifică faptul că rețeaua vizată e ad-hoc.\n\ +\t-d\t\tDeconectează de la punctul curent de acces.\n\ +\t-s\t\tIdentifică și afișează într-o listă punctele\n\ +\t\t\tde acces din apropiere.\n\n\ +Apelul fără parametri va oferi informații despre conexiunea WLAN curentă.\n" + IDS_NO_NETWORK "Nu sunt găsite rețele în apropiere.\n" + IDS_NO_WLAN_ADAPTER "Nu sunt identificate adaptoare WLAN în sistem.\n" + IDS_SUCCESS "Operația a fost îndeplinită cu succes.\n" + IDS_WLAN_DISCONNECT "\nWLAN este deconectat\n" + IDS_MSG_WEP_ENABLED "WEP activat: %s\n" + IDS_MSG_NETWORK_MODE "Modul rețelei: %s\n" + IDS_MSG_CURRENT_WIRELESS "\nInformația de configurare a rețelei fără-fir curente:\n\n" + IDS_MSG_ENCRYPTED "Criptat: %s\n" + IDS_MSG_NETWORK_TYPE "Tipul rețelei: %s\n" + IDS_MSG_RSSI "RSSI: %i dBm\n" + IDS_MSG_SUPPORT_RATE "Rate acceptate (Mbps): " + IDS_MSG_TRANSMISSION_POWER "Puterea transmisiei: %d mW\n" + IDS_MSG_ANTENNA_COUNT "Antena contată: %d\n" + IDS_MSG_TRANSMIT_ANTENNA "Antena emițătoare: %d\n" + IDS_MSG_TRANSMIT_ANTENNA_ANY "Antena emițătoare: Oricare\n" + IDS_MSG_RECEIVE_ANTENNA "Antena receptoare: %d\n" + IDS_MSG_RECEIVE_ANTENNA_ANY "Antena receptoare: Oricare\n" + IDS_MSG_FRAGMENT_THRESHOLD "Pragul de fragmentare: %d octeți\n" + IDS_MSG_RTS_THRESHOLD "Pragul RTS: %d octeți\n" + IDS_YES "Da" + IDS_NO "Nu" + IDS_ADHOC "Adhoc" + IDS_INFRASTRUCTURE "Infrastructură" +END diff --git a/base/applications/network/wlanconf/wlanconf.rc b/base/applications/network/wlanconf/wlanconf.rc index 89e27357a0f..3cdb47c6571 100644 --- a/base/applications/network/wlanconf/wlanconf.rc +++ b/base/applications/network/wlanconf/wlanconf.rc @@ -28,6 +28,9 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL #ifdef LANGUAGE_PL_PL #include "lang/pl-PL.rc" #endif +#ifdef LANGUAGE_RO_RO + #include "lang/ro-RO.rc" +#endif #ifdef LANGUAGE_SQ_AL #include "lang/sq-AL.rc" -#endif \ No newline at end of file +#endif diff --git a/base/applications/rapps/available.c b/base/applications/rapps/available.c index ec43a8b1b24..e4f4193adee 100644 --- a/base/applications/rapps/available.c +++ b/base/applications/rapps/available.c @@ -46,39 +46,47 @@ DeleteCurrentAppsDB(VOID) WCHAR szSearchPath[MAX_PATH]; WCHAR szPath[MAX_PATH]; WCHAR szTmp[MAX_PATH]; + HRESULT hr; + BOOL result = TRUE; - if (!GetCurrentDirectoryW(MAX_PATH, szPath)) + if (!GetStorageDirectory(szPath, sizeof(szPath) / sizeof(szPath[0]))) return FALSE; - swprintf(szCabPath, L"%s\\rappmgr.cab", szPath); + hr = StringCbPrintfW(szCabPath, sizeof(szCabPath), + L"%ls\\rappmgr.cab", + szPath); + if (FAILED(hr)) + return FALSE; - if (GetFileAttributesW(szCabPath) != INVALID_FILE_ATTRIBUTES) - { - if (!DeleteFileW(szCabPath)) - return FALSE; - } + result = result && DeleteFileW(szCabPath); - wcscat(szPath, L"\\rapps\\"); - swprintf(szSearchPath, L"%s*.txt", szPath); + hr = StringCbCatW(szPath, sizeof(szPath), L"\\rapps\\"); + if (FAILED(hr)) + return FALSE; + + hr = StringCbPrintfW(szSearchPath, sizeof(szSearchPath), + L"%ls*.txt", + szPath); + if (FAILED(hr)) + return FALSE; hFind = FindFirstFileW(szSearchPath, &FindFileData); if (hFind == INVALID_HANDLE_VALUE) - return TRUE; + return result; do { - swprintf(szTmp, L"%s%s", szPath, FindFileData.cFileName); - if (!DeleteFileW(szTmp)) - { - FindClose(hFind); - return FALSE; - } - } - while (FindNextFileW(hFind, &FindFileData) != 0); + hr = StringCbPrintfW(szTmp, sizeof(szTmp), + L"%ls%ls", + szPath, FindFileData.cFileName); + if (FAILED(hr)) + continue; + result = result && DeleteFileW(szTmp); + } while (FindNextFileW(hFind, &FindFileData) != 0); FindClose(hFind); - return TRUE; + return result; } @@ -94,13 +102,22 @@ UpdateAppsDB(VOID) DownloadApplicationsDB(APPLICATION_DATEBASE_URL); - if (!GetCurrentDirectoryW(MAX_PATH, szPath)) + if (!GetStorageDirectory(szPath, sizeof(szPath) / sizeof(szPath[0]))) return FALSE; - swprintf(szCabPath, L"%s\\rappmgr.cab", szPath); + if (FAILED(StringCbPrintfW(szCabPath, sizeof(szCabPath), + L"%ls\\rappmgr.cab", + szPath))) + { + return FALSE; + } - wcscat(szPath, L"\\rapps\\"); - wcscpy(szAppsPath, szPath); + if (FAILED(StringCbPrintfW(szAppsPath, sizeof(szAppsPath), + L"%ls\\rapps\\", + szPath))) + { + return FALSE; + } ExtractFilesFromCab(szCabPath, szAppsPath); @@ -119,16 +136,23 @@ EnumAvailableApplications(INT EnumType, AVAILENUMPROC lpEnumProc) WCHAR szCabPath[MAX_PATH]; WCHAR szLocale[4 + 1]; APPLICATION_INFO Info; + HRESULT hr; - if (!GetCurrentDirectoryW(MAX_PATH, szPath)) - { + if (!GetStorageDirectory(szPath, sizeof(szPath) / sizeof(szPath[0]))) return FALSE; - } - swprintf(szCabPath, L"%s\\rappmgr.cab", szPath); + hr = StringCbPrintfW(szCabPath, sizeof(szCabPath), + L"%ls\\rappmgr.cab", + szPath); + if (FAILED(hr)) + return FALSE; - wcscat(szPath, L"\\rapps\\"); - wcscpy(szAppsPath, szPath); + hr = StringCbCatW(szPath, sizeof(szPath), L"\\rapps\\"); + if (FAILED(hr)) + return FALSE; + hr = StringCbCopyW(szAppsPath, sizeof(szAppsPath), szPath); + if (FAILED(hr)) + return FALSE; if (!CreateDirectory(szPath, NULL) && GetLastError() != ERROR_ALREADY_EXISTS) @@ -136,10 +160,9 @@ EnumAvailableApplications(INT EnumType, AVAILENUMPROC lpEnumProc) return FALSE; } - GetLocaleInfoW(GetUserDefaultLCID(), LOCALE_ILANGUAGE, szLocale, sizeof(szLocale) / sizeof(WCHAR)); - wcscat(szSectionLocale, szLocale); - - wcscat(szPath, L"*.txt"); + hr = StringCbCatW(szPath, sizeof(szPath), L"*.txt"); + if (FAILED(hr)) + return FALSE; hFind = FindFirstFileW(szPath, &FindFileData); if (hFind == INVALID_HANDLE_VALUE) @@ -153,6 +176,16 @@ EnumAvailableApplications(INT EnumType, AVAILENUMPROC lpEnumProc) return FALSE; } + if (!GetLocaleInfoW(GetUserDefaultLCID(), LOCALE_ILANGUAGE, + szLocale, sizeof(szLocale) / sizeof(WCHAR))) + { + return FALSE; + } + + hr = StringCbCatW(szSectionLocale, sizeof(szSectionLocale), szLocale); + if (FAILED(hr)) + 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)) \ @@ -187,8 +220,7 @@ EnumAvailableApplications(INT EnumType, AVAILENUMPROC lpEnumProc) GET_STRING2(L"CDPath", Info.szCDPath); if (!lpEnumProc(Info)) break; - } - while (FindNextFileW(hFind, &FindFileData) != 0); + } while (FindNextFileW(hFind, &FindFileData) != 0); FindClose(hFind); diff --git a/base/applications/rapps/installed.c b/base/applications/rapps/installed.c index 57adbb6604f..fe244727505 100644 --- a/base/applications/rapps/installed.c +++ b/base/applications/rapps/installed.c @@ -23,7 +23,7 @@ GetApplicationString(HKEY hKey, LPWSTR lpKeyName, LPWSTR lpString) return TRUE; } - wcscpy(lpString, L"---"); + (VOID)StringCchCopyW(lpString, MAX_PATH, L"---"); return FALSE; } diff --git a/base/applications/rapps/lang/bg-BG.rc b/base/applications/rapps/lang/bg-BG.rc index 86ede8f41b6..f3037bd6903 100644 --- a/base/applications/rapps/lang/bg-BG.rc +++ b/base/applications/rapps/lang/bg-BG.rc @@ -190,7 +190,6 @@ BEGIN IDS_APPLICATIONS "Приложения" IDS_CHOOSE_FOLDER_TEXT "Изберете папка, в която да се свалят приложенията:" IDS_CHOOSE_FOLDER_ERROR "Указали сте несъществуваща папка!" - IDS_USER_NOT_ADMIN "Трябва да имате управнически права, за да запуснете „Управителя за приложения на РеактОС“!" IDS_APP_REG_REMOVE "Уверен ли сте, че искате да изтриете данните за сложеното приложение от регистъра?" IDS_INFORMATION "Сведения" IDS_UNABLE_TO_REMOVE "Премахването на данните за приложението от регистъра е невъзможно!" diff --git a/base/applications/rapps/lang/cs-CZ.rc b/base/applications/rapps/lang/cs-CZ.rc index 14adff0fe67..24810bb4402 100644 --- a/base/applications/rapps/lang/cs-CZ.rc +++ b/base/applications/rapps/lang/cs-CZ.rc @@ -191,7 +191,6 @@ BEGIN IDS_APPLICATIONS "Aplikace" IDS_CHOOSE_FOLDER_TEXT "Zvolte složku, do které se budou ukládat stažené soubory:" IDS_CHOOSE_FOLDER_ERROR "Zvolená složka neexistuje. Vytvořit?" - IDS_USER_NOT_ADMIN "Ke spuštění ""ReactOS Manažera aplikací"" je třeba být administrátor!" IDS_APP_REG_REMOVE "Určitě odstranit data instalovaného programu z registru?" IDS_INFORMATION "Informace" IDS_UNABLE_TO_REMOVE "Nepodařilo se odstranit data programu z registru!" diff --git a/base/applications/rapps/lang/de-DE.rc b/base/applications/rapps/lang/de-DE.rc index b1c78199071..c2a2dbeea4f 100644 --- a/base/applications/rapps/lang/de-DE.rc +++ b/base/applications/rapps/lang/de-DE.rc @@ -186,7 +186,6 @@ BEGIN IDS_APPLICATIONS "Anwendungen" IDS_CHOOSE_FOLDER_TEXT "Wählen Sie ein Verzeichnis aus, das zum Herunterladen verwendet werden soll:" IDS_CHOOSE_FOLDER_ERROR "Sie haben ein nicht existierendes Verzeichnis angegeben! Neu anlegen?" - IDS_USER_NOT_ADMIN "Sie müssen als Administrator angemeldet sein, um den Anwendungsmanager zu starten!" IDS_APP_REG_REMOVE "Sind Sie sich sicher, dass Sie die Daten dieses Programms aus der Registry entfernen möchten?" IDS_INFORMATION "Informationen" IDS_UNABLE_TO_REMOVE "Konnte die Daten nicht aus der Registry löschen!" diff --git a/base/applications/rapps/lang/en-US.rc b/base/applications/rapps/lang/en-US.rc index 06c6d0c81e8..7d198375fb2 100644 --- a/base/applications/rapps/lang/en-US.rc +++ b/base/applications/rapps/lang/en-US.rc @@ -186,7 +186,6 @@ BEGIN IDS_APPLICATIONS "Applications" IDS_CHOOSE_FOLDER_TEXT "Choose a folder which will store Downloads:" IDS_CHOOSE_FOLDER_ERROR "The folder you have specified does not exist. Create it?" - IDS_USER_NOT_ADMIN "You must be an administrator to start ""ReactOS Applications Manager""!" IDS_APP_REG_REMOVE "Are you sure you want to delete the data on the installed program from the registry?" IDS_INFORMATION "Information" IDS_UNABLE_TO_REMOVE "Unable to remove data on the program from the registry!" diff --git a/base/applications/rapps/lang/es-ES.rc b/base/applications/rapps/lang/es-ES.rc index 26ebaea043b..4c61ccbb11c 100644 --- a/base/applications/rapps/lang/es-ES.rc +++ b/base/applications/rapps/lang/es-ES.rc @@ -186,7 +186,6 @@ BEGIN IDS_APPLICATIONS "Aplicaciones" IDS_CHOOSE_FOLDER_TEXT "Seleccione una carpeta donde se descargarán los programas:" IDS_CHOOSE_FOLDER_ERROR "¡La carpeta especificada no existe!" - IDS_USER_NOT_ADMIN "¡Debe tener privilegios de administrador para ejecutar ""ReactOS Applications Manager""!" IDS_APP_REG_REMOVE "¿Esta seguro que quiere borrar los datos del programa instalado del registro?" IDS_INFORMATION "Información" IDS_UNABLE_TO_REMOVE "!Imposible eliminar los datos del programa del registro!" diff --git a/base/applications/rapps/lang/fr-FR.rc b/base/applications/rapps/lang/fr-FR.rc index d800827189a..8704703e8d4 100644 --- a/base/applications/rapps/lang/fr-FR.rc +++ b/base/applications/rapps/lang/fr-FR.rc @@ -186,7 +186,6 @@ BEGIN IDS_APPLICATIONS "Applications" IDS_CHOOSE_FOLDER_TEXT "Choisissez un dossier dans lequel les programmes seront téléchargés :" IDS_CHOOSE_FOLDER_ERROR "Le dossier que vous avez spécifié n'existe pas. Le créer ?" - IDS_USER_NOT_ADMIN "Vous devez être un administrateur pour démarrer ""ReactOS Applications Manager""!" IDS_APP_REG_REMOVE "Etes-vous sûr de vouloir supprimer les données du programme installé du registre ?" IDS_INFORMATION "Information" IDS_UNABLE_TO_REMOVE "Impossible de supprimer les données du programme du registre !" diff --git a/base/applications/rapps/lang/he-IL.rc b/base/applications/rapps/lang/he-IL.rc index 6b449eb3f17..9f467b69d2d 100644 --- a/base/applications/rapps/lang/he-IL.rc +++ b/base/applications/rapps/lang/he-IL.rc @@ -188,7 +188,6 @@ BEGIN IDS_APPLICATIONS "יישומים" IDS_CHOOSE_FOLDER_TEXT "Choose a folder which will store Downloads:" IDS_CHOOSE_FOLDER_ERROR "The folder you have specified does not exist. Create it?" - IDS_USER_NOT_ADMIN "You must be an administrator to start ""ReactOS Applications Manager""!" IDS_APP_REG_REMOVE "Are you sure you want to delete the data on the installed program from the registry?" IDS_INFORMATION "מידע" IDS_UNABLE_TO_REMOVE "Unable to remove data on the program from the registry!" diff --git a/base/applications/rapps/lang/it-IT.rc b/base/applications/rapps/lang/it-IT.rc index 38c360cdc58..149b0cbd575 100644 --- a/base/applications/rapps/lang/it-IT.rc +++ b/base/applications/rapps/lang/it-IT.rc @@ -186,7 +186,6 @@ BEGIN IDS_APPLICATIONS "Applicazioni" IDS_CHOOSE_FOLDER_TEXT "Scegliere una cartella dove scaricare le applicazioni:" IDS_CHOOSE_FOLDER_ERROR "La cartella indicata non esiste. Vuoi crearla?" - IDS_USER_NOT_ADMIN "Dovete essere Amministratore per avviare ""ReactOS Applications Manager""!" IDS_APP_REG_REMOVE "Sicuro di voler cancellare dal registry i dati sui programmi installati?" IDS_INFORMATION "Informazioni" IDS_UNABLE_TO_REMOVE "Impossibile cancellare i dati dal registry!" diff --git a/base/applications/rapps/lang/ja-JP.rc b/base/applications/rapps/lang/ja-JP.rc index cb406303cd7..c0116d3c304 100644 --- a/base/applications/rapps/lang/ja-JP.rc +++ b/base/applications/rapps/lang/ja-JP.rc @@ -186,7 +186,6 @@ BEGIN IDS_APPLICATIONS "アプリケーション" IDS_CHOOSE_FOLDER_TEXT "プログラムのダウンロードに使用するフォルダを選択してください:" IDS_CHOOSE_FOLDER_ERROR "指定されたフォルダは存在しません!" - IDS_USER_NOT_ADMIN """ReactOS アプリケーション マネージャ"" を起動するには管理者権限である必要があります!" IDS_APP_REG_REMOVE "レジストリからインストールされたプログラムに関するデータを削除してもよろしいですか?" IDS_INFORMATION "情報" IDS_UNABLE_TO_REMOVE "レジストリからこのプログラムに関するデータを削除できません!" diff --git a/base/applications/rapps/lang/no-NO.rc b/base/applications/rapps/lang/no-NO.rc index a4f316acc2a..518b109dec5 100644 --- a/base/applications/rapps/lang/no-NO.rc +++ b/base/applications/rapps/lang/no-NO.rc @@ -186,7 +186,6 @@ BEGIN IDS_APPLICATIONS "Programmer" IDS_CHOOSE_FOLDER_TEXT "Choose a folder which will be used for downloading of programs:" IDS_CHOOSE_FOLDER_ERROR "You have specified a nonexistent folder!" - IDS_USER_NOT_ADMIN "You should be administrator for start ""ReactOS Applications Manager""!" IDS_APP_REG_REMOVE "Are you sure you want to delete the data on the installed program from the registry?" IDS_INFORMATION "Information" IDS_UNABLE_TO_REMOVE "Unable to remove data on the program from the registry!" diff --git a/base/applications/rapps/lang/pl-PL.rc b/base/applications/rapps/lang/pl-PL.rc index 297241bcb4e..101f18a1c93 100644 --- a/base/applications/rapps/lang/pl-PL.rc +++ b/base/applications/rapps/lang/pl-PL.rc @@ -194,7 +194,6 @@ BEGIN IDS_APPLICATIONS "Aplikacje" IDS_CHOOSE_FOLDER_TEXT "Wybierz katalog, w którym będa zapisywane pobrane programy:" IDS_CHOOSE_FOLDER_ERROR "Wybrałeś nieistniejący katalog! Czy chcesz utworzyć nowy?" - IDS_USER_NOT_ADMIN "Musisz mieć uprawnienia administratora, aby uruchomić ""Menedżer aplikacji ReactOS""!" IDS_APP_REG_REMOVE "Czy na pewno chcesz usunąć wpis tego programu z rejestru?" IDS_INFORMATION "Informacja" IDS_UNABLE_TO_REMOVE "Nie można było usunąć wpisu z rejestru!" diff --git a/base/applications/rapps/lang/pt-BR.rc b/base/applications/rapps/lang/pt-BR.rc index 979671e3992..bbd429998c8 100644 --- a/base/applications/rapps/lang/pt-BR.rc +++ b/base/applications/rapps/lang/pt-BR.rc @@ -188,7 +188,6 @@ BEGIN IDS_APPLICATIONS "Aplicativos" IDS_CHOOSE_FOLDER_TEXT "Escolha uma pasta para armazenar os Downloads:" IDS_CHOOSE_FOLDER_ERROR "A pasta especificada não existe. Deseja criá-la?" - IDS_USER_NOT_ADMIN "Você deve possuir privilégios administrativos para iniciar ""Central de Aplicativos ReactOS""!" IDS_APP_REG_REMOVE "Você tem certeza que deseja apagar as informações do programa instalado do registro?" IDS_INFORMATION "Informações" IDS_UNABLE_TO_REMOVE "Não foi possível remover as informações do programa do registro!" diff --git a/base/applications/rapps/lang/ro-RO.rc b/base/applications/rapps/lang/ro-RO.rc index e040a2efb58..55011b8938f 100644 --- a/base/applications/rapps/lang/ro-RO.rc +++ b/base/applications/rapps/lang/ro-RO.rc @@ -1,8 +1,7 @@ /* * FILE: base/applications/rapps/lang/ro-RO.rc * ReactOS Project (http://www.reactos.org) - * TRANSLATOR: Fulea Ștefan (PM on ReactOS Forum at fulea.stefan) - * LAST CHANGE: 2011-12-18 small correnctions + * TRANSLATOR: Ștefan Fulea (stefan dot fulea at mail dot md) */ LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL @@ -25,7 +24,7 @@ BEGIN MENUITEM SEPARATOR MENUITEM "Împ&rospătează", ID_REFRESH MENUITEM SEPARATOR - MENUITEM "Update Da&tabase", ID_RESETDB + MENUITEM "&Actualizează baza de date", ID_RESETDB END POPUP "&?" BEGIN @@ -55,7 +54,7 @@ BEGIN MENUITEM SEPARATOR MENUITEM "Împ&rospătează", ID_REFRESH MENUITEM SEPARATOR - MENUITEM "Update Da&tabase", ID_RESETDB + MENUITEM "&Actualizează baza de date", ID_RESETDB END END @@ -193,7 +192,6 @@ BEGIN IDS_APPLICATIONS "Aplicații" IDS_CHOOSE_FOLDER_TEXT "Specificați un dosar destinație pentru descărcări:" IDS_CHOOSE_FOLDER_ERROR "Dosarul specificat nu există. Doriți crearea lui?" - IDS_USER_NOT_ADMIN "Pentru a porni „Gestionar de aplicații ReactOS” sunt necesare drepturi de administrator!" IDS_APP_REG_REMOVE "Sigur doriți să ștergeți datele din registru pentru această aplicațe?" IDS_INFORMATION "Informație" IDS_UNABLE_TO_REMOVE "Nu se pot elimina datele din registru pentru această aplicație!" diff --git a/base/applications/rapps/lang/ru-RU.rc b/base/applications/rapps/lang/ru-RU.rc index 4d378fe8265..a37a8e33224 100644 --- a/base/applications/rapps/lang/ru-RU.rc +++ b/base/applications/rapps/lang/ru-RU.rc @@ -186,7 +186,6 @@ BEGIN IDS_APPLICATIONS "Приложения" IDS_CHOOSE_FOLDER_TEXT "Выберите папку, которая будет использоваться для загрузки программ:" IDS_CHOOSE_FOLDER_ERROR "Вы указали несуществующую папку!" - IDS_USER_NOT_ADMIN "Вы должны быть администратором для запуска ""Менеджера приложений ReactOS""!" IDS_APP_REG_REMOVE "Вы действительно хотите удалить данные об установленной программе из реестра?" IDS_INFORMATION "Информация" IDS_UNABLE_TO_REMOVE "Не удалось удалить данные о программе из реестра!" diff --git a/base/applications/rapps/lang/sk-SK.rc b/base/applications/rapps/lang/sk-SK.rc index fa14233bfd2..63e16a249e7 100644 --- a/base/applications/rapps/lang/sk-SK.rc +++ b/base/applications/rapps/lang/sk-SK.rc @@ -191,7 +191,6 @@ BEGIN IDS_APPLICATIONS "Aplikácie" IDS_CHOOSE_FOLDER_TEXT "Vyberte priečinok, ktorý sa použije pre sťahovanie programov:" IDS_CHOOSE_FOLDER_ERROR "Zvolili ste si neexistujúci priečinok!" - IDS_USER_NOT_ADMIN "Mali by ste byť administrátor pre spustenie ""Manažéra aplikácií systému ReactOS""!" IDS_APP_REG_REMOVE "Naozaj chcete vymazať údaje o nainštalovanom programe z registrov?" IDS_INFORMATION "Informácie" IDS_UNABLE_TO_REMOVE "Nie je možné odstrániť z registrov údaje o programe!" diff --git a/base/applications/rapps/lang/sq-AL.rc b/base/applications/rapps/lang/sq-AL.rc index e86b74a8201..1432b924ce7 100644 --- a/base/applications/rapps/lang/sq-AL.rc +++ b/base/applications/rapps/lang/sq-AL.rc @@ -190,7 +190,6 @@ BEGIN IDS_APPLICATIONS "Aplicacione" IDS_CHOOSE_FOLDER_TEXT "Zgjidh nje dosje ku do duhen Downloadusit:" IDS_CHOOSE_FOLDER_ERROR "Dosja qe keni zgjedhur nuk ekziston. Krijoje?" - IDS_USER_NOT_ADMIN "Ju duhet te jeni administrator per te filluar ""ReactOS Applications Manager""!" IDS_APP_REG_REMOVE "Jeni te sigurt qe do ti fshini informacionet e programit te instaluar nga regjistri?" IDS_INFORMATION "Informacione" IDS_UNABLE_TO_REMOVE "E pamundur te fshihen informacionet e programit nga regjistri!" diff --git a/base/applications/rapps/lang/sv-SE.rc b/base/applications/rapps/lang/sv-SE.rc index 6d2ff9e2f35..d3082ffb506 100644 --- a/base/applications/rapps/lang/sv-SE.rc +++ b/base/applications/rapps/lang/sv-SE.rc @@ -193,7 +193,6 @@ BEGIN IDS_APPLICATIONS "Program" IDS_CHOOSE_FOLDER_TEXT "Välj en mapp som kommer att användas för nerladdning av program:" IDS_CHOOSE_FOLDER_ERROR "Du har specificrat en ej existerande mapp! Vill du skapa den?" - IDS_USER_NOT_ADMIN "Du måste vara administratör för att starta ""ReactOS programhanterare""!" IDS_APP_REG_REMOVE "Är du säker på att du vill ta bort data det installerade programmets data från registret?" IDS_INFORMATION "Information" IDS_UNABLE_TO_REMOVE "Det gick ej att ta bort programmets data från registret!" diff --git a/base/applications/rapps/lang/tr-TR.rc b/base/applications/rapps/lang/tr-TR.rc index 7663ee664fd..97623391c34 100644 --- a/base/applications/rapps/lang/tr-TR.rc +++ b/base/applications/rapps/lang/tr-TR.rc @@ -188,7 +188,6 @@ BEGIN IDS_APPLICATIONS "Yazılımlar" IDS_CHOOSE_FOLDER_TEXT "İndirme dizinini seçiniz:" IDS_CHOOSE_FOLDER_ERROR "Belirttiğiniz dizin yok. Belirttiğiniz dizin oluşturulsun mu?" - IDS_USER_NOT_ADMIN "ReactOS Yazılım Yöneticisi'ni yönetici olarak çalıştırmalısınız." IDS_APP_REG_REMOVE "Bu yazılımın bilgilerini Değer Defteri'nden kaldırmayı onaylıyor musunuz?" IDS_INFORMATION "Bilgi" IDS_UNABLE_TO_REMOVE "Bu yazılımın bilgileri Değer Defteri'nden kaldırılamıyor." diff --git a/base/applications/rapps/lang/uk-UA.rc b/base/applications/rapps/lang/uk-UA.rc index 824be5e1670..d7d06155dcf 100644 --- a/base/applications/rapps/lang/uk-UA.rc +++ b/base/applications/rapps/lang/uk-UA.rc @@ -194,7 +194,6 @@ BEGIN IDS_APPLICATIONS "Додатки" IDS_CHOOSE_FOLDER_TEXT "Оберіть теку, яка буде використовуватися для завантаження програм:" IDS_CHOOSE_FOLDER_ERROR "Ви вказали неіснуючу теку!" - IDS_USER_NOT_ADMIN "Ви повинні бути адміністратором для запуску ""Менеджера програм ReactOS""!" IDS_APP_REG_REMOVE "Ви дійсно хочете видалити дані про встановлену програму з реєстру?" IDS_INFORMATION "Інформація" IDS_UNABLE_TO_REMOVE "Не вдалося видалити дані про програму з реєстру!" diff --git a/base/applications/rapps/lang/zh-CN.rc b/base/applications/rapps/lang/zh-CN.rc index 454140b0e4a..15cb09097d1 100644 --- a/base/applications/rapps/lang/zh-CN.rc +++ b/base/applications/rapps/lang/zh-CN.rc @@ -188,7 +188,6 @@ BEGIN IDS_APPLICATIONS "应用程序" IDS_CHOOSE_FOLDER_TEXT "请选择用来保存下载文件的文件夹:" IDS_CHOOSE_FOLDER_ERROR "您选择的文件夹不存在。创建吗?" - IDS_USER_NOT_ADMIN "您必须以管理员权限启动 ""ReactOS 程序管理器""!" IDS_APP_REG_REMOVE "您确定要从注册表删除该程序的数据吗?" IDS_INFORMATION "信息" IDS_UNABLE_TO_REMOVE "无法从注册表删除该程序的数据!" diff --git a/base/applications/rapps/lang/zh-TW.rc b/base/applications/rapps/lang/zh-TW.rc index 4acec1dd564..649b662532c 100644 --- a/base/applications/rapps/lang/zh-TW.rc +++ b/base/applications/rapps/lang/zh-TW.rc @@ -188,7 +188,6 @@ BEGIN IDS_APPLICATIONS "應用程式" IDS_CHOOSE_FOLDER_TEXT "請選擇用來儲存下載檔案的資料夾:" IDS_CHOOSE_FOLDER_ERROR "您選擇的資料夾不存在。創建嗎?" - IDS_USER_NOT_ADMIN "您必須以管理員許可權啟動 ""ReactOS 程式管理器""!" IDS_APP_REG_REMOVE "您確定要從登錄檔刪除該程式的資料嗎?" IDS_INFORMATION "資訊" IDS_UNABLE_TO_REMOVE "無法從登錄檔刪除該程式的資料!" diff --git a/base/applications/rapps/listview.c b/base/applications/rapps/listview.c index f343e996aa0..7c65cabc08a 100644 --- a/base/applications/rapps/listview.c +++ b/base/applications/rapps/listview.c @@ -105,7 +105,7 @@ CreateListView(HWND hwnd) WS_CHILD | WS_VISIBLE | LVS_SORTASCENDING | LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS, 205, 28, 465, 250, hwnd, - NULL, + GetSubMenu(LoadMenuW(hInst, MAKEINTRESOURCEW(IDR_APPLICATIONMENU)), 0), hInst, NULL); diff --git a/base/applications/rapps/loaddlg.c b/base/applications/rapps/loaddlg.c index ae2ca11306c..c4c17ffcab2 100644 --- a/base/applications/rapps/loaddlg.c +++ b/base/applications/rapps/loaddlg.c @@ -227,12 +227,16 @@ ThreadFunc(LPVOID Context) AppInfo->szUrlDownload[len - 1] == 'b') { bCab = TRUE; - if (!GetCurrentDirectoryW(MAX_PATH, path)) + if (!GetStorageDirectory(path, sizeof(path) / sizeof(path[0]))) goto end; } else { - wcscpy(path, SettingsInfo.szDownloadDir); + if (FAILED(StringCbCopyW(path, sizeof(path), + SettingsInfo.szDownloadDir))) + { + goto end; + } } } else goto end; @@ -243,8 +247,10 @@ ThreadFunc(LPVOID Context) goto end; } - wcscat(path, L"\\"); - wcscat(path, p + 1); + if (FAILED(StringCbCatW(path, sizeof(path), L"\\"))) + goto end; + if (FAILED(StringCbCatW(path, sizeof(path), p + 1))) + goto end; /* download it */ bTempfile = TRUE; @@ -353,7 +359,12 @@ DownloadApplicationsDB(LPWSTR lpUrl) APPLICATION_INFO IntInfo; ZeroMemory(&IntInfo, sizeof(APPLICATION_INFO)); - wcscpy(IntInfo.szUrlDownload, lpUrl); + if (FAILED(StringCbCopyW(IntInfo.szUrlDownload, + sizeof(IntInfo.szUrlDownload), + lpUrl))) + { + return; + } AppInfo = &IntInfo; diff --git a/base/applications/rapps/misc.c b/base/applications/rapps/misc.c index 348404e4d4d..2bb16b6950b 100644 --- a/base/applications/rapps/misc.c +++ b/base/applications/rapps/misc.c @@ -111,18 +111,23 @@ GetClientWindowHeight(HWND hwnd) VOID CopyTextToClipboard(LPCWSTR lpszText) { - if(OpenClipboard(NULL)) + HRESULT hr; + + if (OpenClipboard(NULL)) { HGLOBAL ClipBuffer; WCHAR *Buffer; + DWORD cchBuffer; EmptyClipboard(); - ClipBuffer = GlobalAlloc(GMEM_DDESHARE, (wcslen(lpszText) + 1) * sizeof(TCHAR)); - Buffer = (WCHAR*)GlobalLock(ClipBuffer); - wcscpy(Buffer, lpszText); + cchBuffer = wcslen(lpszText) + 1; + ClipBuffer = GlobalAlloc(GMEM_DDESHARE, cchBuffer * sizeof(WCHAR)); + Buffer = GlobalLock(ClipBuffer); + hr = StringCchCopyW(Buffer, cchBuffer, lpszText); GlobalUnlock(ClipBuffer); - SetClipboardData(CF_UNICODETEXT, ClipBuffer); + if (SUCCEEDED(hr)) + SetClipboardData(CF_UNICODETEXT, ClipBuffer); CloseClipboard(); } @@ -144,17 +149,35 @@ SetWelcomeText(VOID) } VOID -ShowPopupMenu(HWND hwnd, UINT MenuID) +ShowPopupMenu(HWND hwnd, UINT MenuID, UINT DefaultItem) { - HMENU hPopupMenu = GetSubMenu(LoadMenuW(hInst, MAKEINTRESOURCEW(MenuID)), 0); + HMENU hMenu = NULL; + HMENU hPopupMenu; + MENUITEMINFO mii; POINT pt; + if (MenuID) + { + hMenu = LoadMenuW(hInst, MAKEINTRESOURCEW(MenuID)); + hPopupMenu = GetSubMenu(hMenu, 0); + } + else + hPopupMenu = GetMenu(hwnd); + + ZeroMemory(&mii, sizeof(mii)); + mii.cbSize = sizeof(mii); + mii.fMask = MIIM_STATE; + GetMenuItemInfo(hPopupMenu, DefaultItem, FALSE, &mii); + if (!(mii.fState & MFS_GRAYED)) + SetMenuDefaultItem(hPopupMenu, DefaultItem, FALSE); + GetCursorPos(&pt); SetForegroundWindow(hwnd); TrackPopupMenu(hPopupMenu, 0, pt.x, pt.y, 0, hMainWnd, NULL); - DestroyMenu(hPopupMenu); + if (hMenu) + DestroyMenu(hMenu); } BOOL @@ -208,6 +231,26 @@ StartProcess(LPWSTR lpPath, BOOL Wait) return TRUE; } +BOOL +GetStorageDirectory(PWCHAR lpDirectory, DWORD cch) +{ + if (cch < MAX_PATH) + return FALSE; + + if (!SHGetSpecialFolderPathW(NULL, lpDirectory, CSIDL_LOCAL_APPDATA, TRUE)) + return FALSE; + + if (FAILED(StringCchCatW(lpDirectory, cch, L"\\rapps"))) + return FALSE; + + if (!CreateDirectoryW(lpDirectory, NULL) && + GetLastError() != ERROR_ALREADY_EXISTS) + { + return FALSE; + } + + return TRUE; +} BOOL ExtractFilesFromCab(LPWSTR lpCabName, LPWSTR lpOutputPath) @@ -261,13 +304,13 @@ InitLogs(VOID) if (RegCreateKeyExW(HKEY_LOCAL_MACHINE, szBuf, 0, NULL, REG_OPTION_NON_VOLATILE, - KEY_WRITE, NULL, &hKey, &dwDisp) != ERROR_SUCCESS) + KEY_WRITE, NULL, &hKey, &dwDisp) != ERROR_SUCCESS) { return; } - if (!GetCurrentDirectoryW(MAX_PATH, szPath)) return; - wcscat(szPath, L"\\rapps.exe"); + if (!GetModuleFileName(NULL, szPath, sizeof(szPath) / sizeof(szPath[0]))) + return; if (RegSetValueExW(hKey, L"EventMessageFile", @@ -276,13 +319,13 @@ InitLogs(VOID) (LPBYTE)szPath, (DWORD)(wcslen(szPath) + 1) * sizeof(WCHAR)) != ERROR_SUCCESS) { - RegCloseKey(hKey); + RegCloseKey(hKey); return; } - dwData = EVENTLOG_ERROR_TYPE | EVENTLOG_WARNING_TYPE | - EVENTLOG_INFORMATION_TYPE; - + dwData = EVENTLOG_ERROR_TYPE | EVENTLOG_WARNING_TYPE | + EVENTLOG_INFORMATION_TYPE; + if (RegSetValueExW(hKey, L"TypesSupported", 0, @@ -290,7 +333,7 @@ InitLogs(VOID) (LPBYTE)&dwData, sizeof(DWORD)) != ERROR_SUCCESS) { - RegCloseKey(hKey); + RegCloseKey(hKey); return; } @@ -301,7 +344,7 @@ InitLogs(VOID) (LPBYTE)szPath, (DWORD)(wcslen(szPath) + 1) * sizeof(WCHAR)) != ERROR_SUCCESS) { - RegCloseKey(hKey); + RegCloseKey(hKey); return; } @@ -312,7 +355,7 @@ InitLogs(VOID) (LPBYTE)&dwCategoryNum, sizeof(DWORD)) != ERROR_SUCCESS) { - RegCloseKey(hKey); + RegCloseKey(hKey); return; } diff --git a/base/applications/rapps/parser.c b/base/applications/rapps/parser.c index 807ffcae67a..0bd162c6fea 100644 --- a/base/applications/rapps/parser.c +++ b/base/applications/rapps/parser.c @@ -176,7 +176,8 @@ ParserSave(HANDLE hFile, const SECTION *section, ENCODING encoding) for ( ; section; section = section->next) { - int len = 0; + size_t len = 0; + size_t remaining; if (section->name[0]) len += wcslen(section->name) + 4; @@ -190,28 +191,28 @@ ParserSave(HANDLE hFile, const SECTION *section, ENCODING encoding) if (!buffer) return; p = buffer; + remaining = len; if (section->name[0]) { - *p++ = '['; - wcscpy(p, section->name); - p += wcslen(p); - *p++ = ']'; - *p++ = '\r'; - *p++ = '\n'; + StringCchPrintfExW(p, remaining, &p, &remaining, 0, + L"[%ls]\r\n", + section->name); } 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); + StringCchPrintfExW(p, remaining, &p, &remaining, 0, + L"%ls=%ls\r\n", + key->name, key->value); + } + else + { + StringCchPrintfExW(p, remaining, &p, &remaining, 0, + L"%ls\r\n", + key->name); } - *p++ = '\r'; - *p++ = '\n'; } ParserWriteLine(hFile, buffer, len, encoding); HeapFree(GetProcessHeap(), 0, buffer); @@ -434,6 +435,7 @@ SECTIONKEY *ParserFind(SECTION **section, LPCWSTR section_name, LPCWSTR key_name, BOOL create, BOOL create_always) { LPCWSTR p; + DWORD cch; int seclen, keylen; while (ParserIsSpace(*section_name)) section_name++; @@ -474,9 +476,10 @@ SECTIONKEY } if (!create) return NULL; - if (!(*key = HeapAlloc(GetProcessHeap(), 0, sizeof(SECTIONKEY) + wcslen(key_name) * sizeof(WCHAR)))) + cch = wcslen(key_name) + 1; + if (!(*key = HeapAlloc(GetProcessHeap(), 0, FIELD_OFFSET(SECTIONKEY, name) + cch * sizeof(WCHAR)))) return NULL; - wcscpy((*key)->name, key_name); + StringCchCopyW((*key)->name, cch, key_name); (*key)->value = NULL; (*key)->next = NULL; return *key; @@ -484,17 +487,19 @@ SECTIONKEY 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); + cch = wcslen(section_name) + 1; + *section = HeapAlloc(GetProcessHeap(), 0, FIELD_OFFSET(SECTION, name) + cch * sizeof(WCHAR)); + if (*section == NULL) return NULL; + StringCchCopyW((*section)->name, cch, section_name); (*section)->next = NULL; + cch = wcslen(key_name) + 1; if (!((*section)->key = HeapAlloc(GetProcessHeap(), 0, - sizeof(SECTIONKEY) + wcslen(key_name) * sizeof(WCHAR)))) + FIELD_OFFSET(SECTIONKEY, name) + cch * sizeof(WCHAR)))) { HeapFree(GetProcessHeap(), 0, *section); return NULL; } - wcscpy((*section)->key->name, key_name); + StringCchCopyW((*section)->key->name, cch, key_name); (*section)->key->value = NULL; (*section)->key->next = NULL; return (*section)->key; @@ -541,10 +546,10 @@ ParserOpen(LPCWSTR filename, BOOL write_access) { WCHAR szDir[MAX_PATH]; WCHAR buffer[MAX_PATH]; + DWORD cch; 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++) @@ -557,11 +562,15 @@ ParserOpen(LPCWSTR filename, BOOL write_access) ItemsArray[i]->encoding = ENCODING_UTF8; } - GetCurrentDirectoryW(MAX_PATH, szDir); + if (!GetStorageDirectory(szDir, sizeof(szDir) / sizeof(szDir[0]))) + return FALSE; - wcscpy(buffer, szDir); - wcscat(buffer, wszSeparator); - wcscat(buffer, filename); + if (FAILED(StringCbPrintfW(buffer, sizeof(buffer), + L"%ls\\rapps\\%ls", + szDir, filename))) + { + return FALSE; + } hFile = CreateFileW(buffer, GENERIC_READ | (write_access ? GENERIC_WRITE : 0), FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, NULL, @@ -605,11 +614,12 @@ ParserOpen(LPCWSTR filename, BOOL write_access) if (CurProfile->filename) ParserReleaseFile(); - CurProfile->filename = HeapAlloc(GetProcessHeap(), 0, (wcslen(buffer) + 1) * sizeof(WCHAR)); + cch = wcslen(buffer) + 1; + CurProfile->filename = HeapAlloc(GetProcessHeap(), 0, cch * sizeof(WCHAR)); if (CurProfile->filename == NULL) return FALSE; - wcscpy(CurProfile->filename, buffer); + StringCchCopyW(CurProfile->filename, cch, buffer); if (hFile != INVALID_HANDLE_VALUE) { diff --git a/base/applications/rapps/rapps.h b/base/applications/rapps/rapps.h index 28744f87f90..7d29c2fdcb6 100644 --- a/base/applications/rapps/rapps.h +++ b/base/applications/rapps/rapps.h @@ -15,6 +15,7 @@ #include #include #include +#include #include @@ -148,8 +149,9 @@ int GetClientWindowWidth(HWND hwnd); int GetClientWindowHeight(HWND hwnd); VOID CopyTextToClipboard(LPCWSTR lpszText); VOID SetWelcomeText(VOID); -VOID ShowPopupMenu(HWND hwnd, UINT MenuID); +VOID ShowPopupMenu(HWND hwnd, UINT MenuID, UINT DefaultItem); BOOL StartProcess(LPWSTR lpPath, BOOL Wait); +BOOL GetStorageDirectory(PWCHAR lpDirectory, DWORD cch); BOOL ExtractFilesFromCab(LPWSTR lpCabName, LPWSTR lpOutputPath); VOID InitLogs(VOID); VOID FreeLogs(VOID); diff --git a/base/applications/rapps/rapps/7zip.txt b/base/applications/rapps/rapps/7zip.txt index a2fe9717bc1..4136c17f64f 100644 --- a/base/applications/rapps/rapps/7zip.txt +++ b/base/applications/rapps/rapps/7zip.txt @@ -2,13 +2,13 @@ [Section] Name = 7-Zip -Version = 9.30a +Version = 9.32a Licence = LGPL Description = Utility to create and open 7zip, zip, tar, rar and other archive files. -Size = 1.1MB +Size = 1.1 MB Category = 12 URLSite = http://www.7-zip.org/ -URLDownload = http://dl.7-zip.org/7z930.exe +URLDownload = http://dl.7-zip.org/7z932.exe CDPath = none [Section.0407] @@ -19,7 +19,7 @@ Description = Utilidad para crear y abrir 7zip, zip, tar, rar y otros archivos c [Section.040c] Description = Utilitaire pour créer et ouvrir les fichiers 7zip, zip, tar, rar et autres archives. -Size = 1,03 Mo +Size = 1,1 Mo [Section.0410] Description = Utilità per creare e aprire 7zip, zip, tar, rar e altri file archivio. @@ -32,7 +32,7 @@ Description = Narzędzie do tworzenia i otwierania plików typu 7zip, zip, tar, [Section.0418] Description = Utilitar pentru crearea și deschiderea arhivelor 7zip, zip, tar, rar și altele. -Size = 1,03 Mo +Size = 1,1 Mo [Section.041f] Description = 7z, zip, tar, rar ve diğer birçok sıkıştırma biçimini destekleyen bir araç. diff --git a/base/applications/rapps/rapps/abiword.txt b/base/applications/rapps/rapps/abiword.txt index 90fd0f801b3..15479c38706 100644 --- a/base/applications/rapps/rapps/abiword.txt +++ b/base/applications/rapps/rapps/abiword.txt @@ -2,13 +2,13 @@ [Section] Name = AbiWord -Version = 2.6.8 +Version = 2.9.4 Licence = GPL Description = Word processor. -Size = 5.64MB +Size = 9.4 MB Category = 6 URLSite = http://www.abisource.com/ -URLDownload = http://www.abisource.com/downloads/abiword/2.6.8/Windows/abiword-setup-2.6.8.exe +URLDownload = http://www.abisource.com/downloads/abiword/2.9.4/Windows/abiword-setup-2.9.4.exe CDPath = none [Section.0407] @@ -19,7 +19,7 @@ Description = Procesador de textos. [Section.040c] Description = Éditeur de texte. -Size = 5,64 Mo +Size = 9,4 Mo [Section.0410] Description = Editor di testo. @@ -32,7 +32,7 @@ Description = Edytor tekstu. [Section.0418] Description = Procesor de text. -Size = 5,64 Mo +Size = 9,4 Mo [Section.041f] Description = Bir kelime işlemci. diff --git a/base/applications/rapps/rapps/abiword28x.txt b/base/applications/rapps/rapps/abiword26.txt similarity index 76% rename from base/applications/rapps/rapps/abiword28x.txt rename to base/applications/rapps/rapps/abiword26.txt index acee06bfc14..56437ab5336 100644 --- a/base/applications/rapps/rapps/abiword28x.txt +++ b/base/applications/rapps/rapps/abiword26.txt @@ -2,13 +2,13 @@ [Section] Name = AbiWord -Version = 2.9.4 +Version = 2.6.8 Licence = GPL Description = Word processor. -Size = 9.4MB +Size = 5.64 MB Category = 6 URLSite = http://www.abisource.com/ -URLDownload = http://www.abisource.com/downloads/abiword/2.9.4/Windows/abiword-setup-2.9.4.exe +URLDownload = http://www.abisource.com/downloads/abiword/2.6.8/Windows/abiword-setup-2.6.8.exe CDPath = none [Section.0407] @@ -19,7 +19,7 @@ Description = Procesador de textos. [Section.040c] Description = Éditeur de texte. -Size = 9,4 Mo +Size = 5,64 Mo [Section.0410] Description = Editor di testo. @@ -32,7 +32,7 @@ Description = Edytor tekstu. [Section.0418] Description = Procesor de text. -Size = 9,4 Mo +Size = 5,64 Mo [Section.041f] Description = Bir kelime işlemci. diff --git a/base/applications/rapps/rapps/abyss.txt b/base/applications/rapps/rapps/abyss.txt index fa7e43d586b..5bd38809ff6 100644 --- a/base/applications/rapps/rapps/abyss.txt +++ b/base/applications/rapps/rapps/abyss.txt @@ -5,7 +5,7 @@ Name = Abyss Web server X1 Version = 2.9.0.1 Licence = Freeware Description = Abyss Web Server enables you to host your Web sites on your computer. It supports secure SSL/TLS connections (HTTPS) as well as a wide range of Web technologies. It can also run advanced PHP, Perl, Python, ASP, ASP.NET, and Ruby on Rails Web applications, which can be backed by databases such as MySQL, SQLite, MS SQL Server, MS Access, or Oracle. -Size = 2.1MB +Size = 2.1 MB Category = 5 URLSite = http://www.aprelium.com/ URLDownload = http://www.aprelium.com/data/abwsx1.exe @@ -19,7 +19,7 @@ Description = Abyss Web Server le permite alojar sitios Web en su ordenador. Sop [Section.040c] Description = Abyss Web Server vous permet d'héberger vos sites internet sur votre ordinateur. Il supporte les connexions sécurisées SSL/TLS (HTTPS) ainsi qu'un grand nombre de technologies web. Il peut également faire tourner des applications web PHP, Perl, Python, ASP, ASP.Net, Ruby et Ruby on Rails, qui peuvent être associées à des bases de données telles que MySQL, SQLite, MS SQL Server, MS Access ou Oracle. -Size = 1,94 Mo +Size = 2,1 Mo [Section.0410] Description = Abyss Web Server consente di ospitare i vostri siti Web sul computer. Supporta connessioni sicure SSL / TLS (HTTPS), così come una vasta gamma di tecnologie web. E' inoltre possibile eseguire avanzato PHP, Perl, Python, ASP, ASP.NET, e Ruby on Rails, applicazioni Web che possono essere supportate da database come MySQL, SQLite, MS SQL Server, MS Access, o Oracle. @@ -33,8 +33,9 @@ Może także uruchamiać zaawansowane aplikacje internetowe takie jak PHP, Perl, Mogą one zostać oparte o MySQL, SQLite, MS SQL Server, MS Access, lub Oracle. [Section.0418] +Licence = Gratuită Description = Abyss Web Server vă permite găzduirea de pagini Web pe calculatorul dumneavoastră. Oferă conexiuni securizate SSL/TLS (HTTPS) și multe alte tehnologii Web. Poate executa aplicații Web avansate ]n PHP, Perl, Python, ASP, ASP.NET și Ruby on Rails, ce pot fi susținute de baze de date ca MySQL, SQLite, MS SQL Server, MS Access, sau Oracle. -Size = 1,94 Mo +Size = 2,1 Mo [Section.041f] Name = Abyss Örütbağ Sunucusu X1 diff --git a/base/applications/rapps/rapps/ac97forvirtualbox.txt b/base/applications/rapps/rapps/ac97forvirtualbox.txt index 017208a04e1..68e60a516d3 100644 --- a/base/applications/rapps/rapps/ac97forvirtualbox.txt +++ b/base/applications/rapps/rapps/ac97forvirtualbox.txt @@ -5,7 +5,7 @@ Name = AC97 Driver for VirtualBox Version = 5.10.00.3610 Licence = Unknown Description = Unzip in the "ReactOS" folder then restart ReactOS twice. -Size = 185.5kB +Size = 185.5 kB Category = 13 URLDownload = http://svn.reactos.org/packages/ac97_vbox.exe CDPath = none diff --git a/base/applications/rapps/rapps/alreader.txt b/base/applications/rapps/rapps/alreader.txt index c3214cc6b0a..7b9de55755f 100644 --- a/base/applications/rapps/rapps/alreader.txt +++ b/base/applications/rapps/rapps/alreader.txt @@ -4,7 +4,7 @@ Name = AlReader Description = A FB2 eBook Reader. URLSite = http://www.alreader.com -Size = 4.6MB +Size = 4.6 MB Category = 6 URLDownload = http://svn.reactos.org/packages/AlReader2Setup.exe CDPath = none @@ -12,8 +12,12 @@ CDPath = none [Section.0407] Description = Ein FB2 eBook Reader. -[Section.041f] -Description = Bir FB2 e-Kitap ouyucusu. - [Section.0410] Description = Un eBook Reader. + +[Section.0418] +Description = Cititor de cărți electronice în format FB2. +Size = 4,6 Mo + +[Section.041f] +Description = Bir FB2 e-Kitap ouyucusu. diff --git a/base/applications/rapps/rapps/ants.txt b/base/applications/rapps/rapps/ants.txt index 5007a9325e5..6aff220bac3 100644 --- a/base/applications/rapps/rapps/ants.txt +++ b/base/applications/rapps/rapps/ants.txt @@ -5,7 +5,7 @@ Name = Ants Version = N/A Licence = Freeware Description = A card strategic game. You're building your own castle and trying to destroy enemy castle. You need a ZIP decompression program to install it. -Size = 632 KB +Size = 632 kB Category = 4 URLSite = http://peter.hostuju.cz/index.htm URLDownload = http://petr.hostuju.cz/program/download/ANTS.zip @@ -14,6 +14,11 @@ CDPath = none [Section.0407] Description = Ein strategisches Kartenspiel. Sie bauen Ihr eigenes Schloss und versuchen, die gegnerische Burg zu zerstören. Sie benötigen ein ZIP-Programm, um es zu installieren. +[Section.0418] +Licence = Gratuită +Description = Un joc strategic de cărți. Jucătorul își va construi un castel și încerca să distrugă castelele oponenților. Este necesar un utilitar de dezarhivare ZIP pentru a instala acest joc. +Size = 632 ko + [Section.041f] Name = Karıncalar Licence = Ücretsiz diff --git a/base/applications/rapps/rapps/audiograbber.txt b/base/applications/rapps/rapps/audiograbber.txt index 92bd2241f6e..24c1ade8235 100644 --- a/base/applications/rapps/rapps/audiograbber.txt +++ b/base/applications/rapps/rapps/audiograbber.txt @@ -5,7 +5,7 @@ Name = Audio Grabber Version = 1.83 SE Licence = Freeware Description = A very good CD Ripper/Audio File Converter. -Size = 4.35MB +Size = 4.35 MB Category = 1 URLSite = http://www.audiograbber.de/ URLDownload = http://www.audiograbber.de/files/4898276276/agsetup183se.exe @@ -31,6 +31,7 @@ Description = Een goede CD Ripper/Audio-bestandsomzetter. Description = Bardzo dobry CD Ripper/konwerter plików audio. [Section.0418] +Licence = Gratuită Description = Program de extragere conținuturi CD audio și de conversie a fișierelor de sunet. Size = 4,35 Mo diff --git a/base/applications/rapps/rapps/bittorrent.txt b/base/applications/rapps/rapps/bittorrent.txt index b7af5555e83..6b266a3bba8 100644 --- a/base/applications/rapps/rapps/bittorrent.txt +++ b/base/applications/rapps/rapps/bittorrent.txt @@ -5,7 +5,7 @@ Name = BitTorrent Version = 7.8 Licence = Freeware for non-commercial uses Description = The Original BitTorrent Client. -Size = 1.07KB +Size = 1.07 MB Category = 5 URLSite = http://www.bittorrent.com/ URLDownload = http://download-new.utorrent.com/endpoint/bittorrent/os/windows/track/stable/BitTorrent.exe diff --git a/base/applications/rapps/rapps/bochs.txt b/base/applications/rapps/rapps/bochs.txt index 52909b6df4d..ee4291f9ac2 100644 --- a/base/applications/rapps/rapps/bochs.txt +++ b/base/applications/rapps/rapps/bochs.txt @@ -14,5 +14,9 @@ CDPath = none [Section.0407] Description = Bochs ist ein portabler Open-Source IA-32 (x86) PC-Emulator geschrieben in C++, der auf den meisten populären Plattformen läuft. +[Section.0418] +Description = Bochs este un emulator PC (x86) cu surse publice și portabilitate înaltă, scris în C++, compatibil cu majoritatea platformelor. +Size = 4,7 Mo + [Section.041f] Description = Bochs; son derece taşınabilir, C++ ile yazılmış, en bilinen platformlarda çalışan, açık kaynak bir IA-32 (x86) PC öykünücüsüdür. diff --git a/base/applications/rapps/rapps/boswars.txt b/base/applications/rapps/rapps/boswars.txt index 5439943de88..5ada823e61a 100644 --- a/base/applications/rapps/rapps/boswars.txt +++ b/base/applications/rapps/rapps/boswars.txt @@ -5,7 +5,7 @@ Name = Bos Wars Version = 2.6.1 Licence = GPL Description = Bos Wars is a futuristic real time strategy game. To start the game, install Microsoft Visual C++ 2008 runtime. -Size = 62.3MB +Size = 62.3 MB Category = 4 URLSite = http://www.boswars.org URLDownload = http://www.boswars.org/dist/releases/BosWars-2.6.1.exe @@ -14,9 +14,13 @@ CDPath = none [Section.0407] Description = Bos Wars ist ein futuristisches Echtzeitstrategiespiel. Um das Spiel zu starten, installieren Sie die Microsoft Visual C++ 2008 Runtime. +[Section.0410] +Description = Bos Wars è un gioco futuristico di strategia in tempo reale. Per iniziare il gioco, installare Microsoft Visual C + + 2008 runtime. + +[Section.0418] +Description = Bos Wars e o strategie în timp real, futuristă. Pentru a porni jocul, instalați Microsoft Visual C++ 2008 Runtime. +Size = 62,3 Mo + [Section.041f] Name = Bos Savaşları Description = Bos Savaşları, gelecekçi ve gerçek zamanlı bir izlem oyunudur. Oyunu başlatmak için Mikroyazılım Basarî C++ 2008 Yürütücüsü'nü kurunuz. - -[Section.0410] -Description = Bos Wars è un gioco futuristico di strategia in tempo reale. Per iniziare il gioco, installare Microsoft Visual C + + 2008 runtime. \ No newline at end of file diff --git a/base/applications/rapps/rapps/chromium.txt b/base/applications/rapps/rapps/chromium.txt index 1f137e7fdb8..41c014bd13e 100644 --- a/base/applications/rapps/rapps/chromium.txt +++ b/base/applications/rapps/rapps/chromium.txt @@ -5,7 +5,7 @@ Name = Chromium B.S.U. Version = 0.9.13.2 Licence = GPL Description = Chromium B.S.U. is an arcade-style, top-scrolling space shooter. -Size = 2.3MB +Size = 2.3 MB Category = 4 URLSite = http://chromium-bsu.sourceforge.net URLDownload = http://files1.freesoft.ru/rep/701665/chromium-0.9.13.2.exe @@ -14,8 +14,12 @@ CDPath = none [Section.0407] Description = Chromium B.S.U. ist ein Arcade-Style, Top-Scrolling Space Shooter. +[Section.0410] +Description = Cromo B.S.U. è sparatutto spaziale. + +[Section.0418] +Description = Chromium B.S.U. este un joc de vânătoare în spațiul cosmic (arcadă 2D). +Size = 2,3 Mo + [Section.041f] Description = Chromium B.S.U., atari salonu oyunu türünde, üst kaydırmalı bir uzay nişancısıdır. - -[Section.0410] -Description = Cromo B.S.U. è sparatutto spaziale. \ No newline at end of file diff --git a/base/applications/rapps/rapps/cnt.txt b/base/applications/rapps/rapps/cnt.txt index bd878ba4d55..f0f366890b6 100644 --- a/base/applications/rapps/rapps/cnt.txt +++ b/base/applications/rapps/rapps/cnt.txt @@ -5,7 +5,7 @@ Name = Click-N-Type Virtual Keyboard Version = 3.03 Licence = Freeware Description = Freeware Virtual Keyboard App. -Size = 1.3MB +Size = 1.3 MB Category = 12 URLSite = http://http://cnt.lakefolks.com URLDownload = http://svn.reactos.org/packages/CNTzip.exe diff --git a/base/applications/rapps/rapps/comctl32ocx.txt b/base/applications/rapps/rapps/comctl32ocx.txt index 6e56c10b491..07fc30dfa84 100644 --- a/base/applications/rapps/rapps/comctl32ocx.txt +++ b/base/applications/rapps/rapps/comctl32ocx.txt @@ -5,7 +5,7 @@ Name = Microsoft Visual Basic 6.0 Common Controls Version = 6.0 Licence = Unknown Description = File needed by some applications. Contains: comctl32.ocx, mscomctl.ocx, advpack.dll. -Size = 913.73kB +Size = 913.73 kB Category = 14 URLSite = http://www.microsoft.com/downloads/details.aspx?FamilyID=25437D98-51D0-41C1-BB14-64662F5F62FE&displaylang=en URLDownload = http://download.microsoft.com/download/3/a/5/3a5925ac-e779-4b1c-bb01-af67dc2f96fc/VisualBasic6-KB896559-v1-ENU.exe diff --git a/base/applications/rapps/rapps/diablo2.txt b/base/applications/rapps/rapps/diablo2.txt index bcab811b4fe..870a509295e 100644 --- a/base/applications/rapps/rapps/diablo2.txt +++ b/base/applications/rapps/rapps/diablo2.txt @@ -5,7 +5,7 @@ Name = Diablo II Version = 1.4 Licence = Shareware Description = Diablo 2 Shareware. zeckensack's glide wrapper is required to run it. -Size = 131.9MB +Size = 131.9 MB Category = 4 URLSite = http://www.blizzard.com/diablo2/ URLDownload = http://pub.zoneofgames.ru/demos/diabloiidemo.exe @@ -31,6 +31,7 @@ Description = Diablo 2 Shareware. Maakt gebruik van zeckensack's glide wrapper. Description = Diablo 2 Shareware. Do poprawnego działania wymagany jest zainstalowany zeckensacks glide wrapper. [Section.0418] +Licence = Versiune de evaluare Description = Diablo 2 Shareware. Pentru execuție este necesar (pachetul) zeckensack's glide wrapper. Size = 131,9 Mo diff --git a/base/applications/rapps/rapps/dosblaster.txt b/base/applications/rapps/rapps/dosblaster.txt index afd009ce29e..1918daece56 100644 --- a/base/applications/rapps/rapps/dosblaster.txt +++ b/base/applications/rapps/rapps/dosblaster.txt @@ -5,7 +5,7 @@ Name = DosBlaster Version = 2.5 Licence = GPL Description = DosBlaster is a Shell extension which makes it possible to open any DOS executabe in DOSBox via right click. This version contains DOSBox 0.70, but can be simply updated by installing a newer DOSBox into the DosBlaster folders. -Size = 2.05MB +Size = 2.05 MB Category = 15 URLSite = http://dosblaster.sourceforge.net/ URLDownload = http://surfnet.dl.sourceforge.net/project/dosblaster/DosBlaster%202.5%20%28x86%29/Downloads/DosbasterSetup_2_5.exe diff --git a/base/applications/rapps/rapps/dosbox.txt b/base/applications/rapps/rapps/dosbox.txt index 73cb57b4967..4248978cf29 100644 --- a/base/applications/rapps/rapps/dosbox.txt +++ b/base/applications/rapps/rapps/dosbox.txt @@ -5,7 +5,7 @@ Name = DOSBox Version = 0.74 Licence = GPL Description = DOSBox is a DOS emulator. -Size = 1.38MB +Size = 1.38 MB Category = 15 URLSite = http://www.dosbox.com/ URLDownload = http://garr.dl.sourceforge.net/project/dosbox/dosbox/0.74/DOSBox0.74-win32-installer.exe diff --git a/base/applications/rapps/rapps/doublecommander.txt b/base/applications/rapps/rapps/doublecommander.txt index 86f3b1247d7..3779e6e47fa 100644 --- a/base/applications/rapps/rapps/doublecommander.txt +++ b/base/applications/rapps/rapps/doublecommander.txt @@ -2,13 +2,13 @@ [Section] Name = Double Commander -Version = 0.5.7 Beta +Version = 0.5.8 Beta Licence = GPL Description = Double Commander is an open source file manager with two panels side by side. You need 7-Zip or a similar Utility to extract it. -Size = 7.6MB +Size = 7.5 MB Category = 12 URLSite = http://doublecmd.sourceforge.net/ -URLDownload = http://freefr.dl.sourceforge.net/project/doublecmd/DC%20for%20Windows%2032%20bit/Double%20Commander%200.5.7%20beta/doublecmd-0.5.7.i386-win32.exe +URLDownload = http://freefr.dl.sourceforge.net/project/doublecmd/DC%20for%20Windows%2032%20bit/Double%20Commander%200.5.8%20beta/doublecmd-0.5.8.i386-win32.exe CDPath = none [Section.0407] @@ -25,7 +25,7 @@ Description = Double Commander to menedżer plików, o otwartym źródle, z klas [Section.0418] Description = Double Commander este un gestionar (open-source) de fișiere după modelul «două paneluri alăturate». Este necesar 7-Zip sau un utilitar similar de dezarhivare pentru a-l putea extrage. -Size = 7,6 Mo +Size = 7,5 Mo [Section.0419] Description = Double Commander - это открытый двухпанельный файловый менеджер. Вам нужен 7-Zip или подобная утилита для его распаковки. diff --git a/base/applications/rapps/rapps/dvdwritenow.txt b/base/applications/rapps/rapps/dvdwritenow.txt index 81d90a82e49..838209b2640 100644 --- a/base/applications/rapps/rapps/dvdwritenow.txt +++ b/base/applications/rapps/rapps/dvdwritenow.txt @@ -5,7 +5,7 @@ Name = DVD Write Now Version = 1.5.12 sp2 Licence = Freeware Description = A free direct CD/DVD recording software. Once installed, you can use your CD/DVD RW as USB Flash or removable hard drives. Along with this you can write to CD/DVD RW recorded with UDF filesystem. You can also read UDF disks created with other software. (Microsoft DVD−ROMs, RW disks recorded with Ahead InCD). You need a ZIP decompression program to install it. -Size = 1.2MB +Size = 1.2 MB Category = 12 URLSite = http://dwn.alter.org.ua/ URLDownload = http://dwn.alter.org.ua/downloads/dwn_1_5_12_sp2.zip @@ -17,6 +17,11 @@ Description = Eine kostenlose CD/DVD Brennsoftware. Sobald es installiert ist, k [Section.0410] Description = Un software di masterizzazione CD/DVD diretto e gratuito. Una volta installato, è possibile utilizzare il CD/DVD RW da flash USB o dischi rigidi rimovibili. Insieme a questo è possibile scrivere CD/DVD RW registrati con filesystem UDF. È anche possibile leggere i dischi UDF creati con altri software. (Microsoft DVD-ROM, dischi RW registrati con InCD Ahead). Il programma ha bisogno di un programma di decompressione ZIP per installarlo. +[Section.0418] +Licence = Gratuită +Description = Un program de înscriere CD/DVD directă. Odată instalat, puteți utiliza CD/DVD ca memorie USB sau disc dur detașabil. Pe lângă aceasta, veți putea scrie pe CD/DVD inscripționate cu sistem de fișiere UDF. Se pot de asemenea citi discuri UDF create cu alte programe. (Microsoft DVD-ROM, discuri RW inscripționate cu Ahead InCD). Este necesar un program de decompresie ZIP pentru a-l instala. +Size = 1,2 Mo + [Section.0419] Description = DVD Write Now - бесплатная программа для прямой записи на CD и DVD диски. Позволяет использовать перезаписываемые CD и DVD диски как USB-Flash или съемные жесткие диски, записывать файлы на перезаписываемые CD/DVD диски, созданные в формате UDF, и читать UDF-диски, созданные другими программами. URLSite = http://dwn.alter.org.ua/ru/ @@ -24,4 +29,4 @@ URLSite = http://dwn.alter.org.ua/ru/ [Section.041f] Name = DVD Şimdi Yaz Licence = Ücretsiz -Description = Ücretsiz bir doğrudan CD/DVD kaydedicisi. Kurulur kurulmaz CD/DVD RW'leri çıkartılabilir disk olarak kullanabilirsiniz. Bununla birlikte CD/DVD RW'leri UDF kütük dizgesiyle kaydedebilirsiniz. Ayrıca, Mikroyazılım DVD−ROM'ları, Ahead InCD ile kaydedilen RW diskleri gibi diğer yazılımlarla oluşturulan UDF diskleri okutabilirsiniz. Yazılımı kurmak için ZIP biçiminde çıkartma yeteneği olan bir yazılım gerekir. \ No newline at end of file +Description = Ücretsiz bir doğrudan CD/DVD kaydedicisi. Kurulur kurulmaz CD/DVD RW'leri çıkartılabilir disk olarak kullanabilirsiniz. Bununla birlikte CD/DVD RW'leri UDF kütük dizgesiyle kaydedebilirsiniz. Ayrıca, Mikroyazılım DVD−ROM'ları, Ahead InCD ile kaydedilen RW diskleri gibi diğer yazılımlarla oluşturulan UDF diskleri okutabilirsiniz. Yazılımı kurmak için ZIP biçiminde çıkartma yeteneği olan bir yazılım gerekir. diff --git a/base/applications/rapps/rapps/fap.txt b/base/applications/rapps/rapps/fap.txt index c019ab5e89c..feede833140 100644 --- a/base/applications/rapps/rapps/fap.txt +++ b/base/applications/rapps/rapps/fap.txt @@ -5,7 +5,7 @@ Name = Fox Audio Player Version = 0.10.0 Licence = GPL Description = Simple and lightweight audio player. -Size = 1.89MB +Size = 1.89 MB Category = 1 URLSite = http://foxaudioplayer.sourceforge.net/ URLDownload = http://svn.reactos.org/packages/fap-0.10.0-win32-bin.exe diff --git a/base/applications/rapps/rapps/fira.txt b/base/applications/rapps/rapps/fira.txt index 752a4ede973..b51e205db39 100644 --- a/base/applications/rapps/rapps/fira.txt +++ b/base/applications/rapps/rapps/fira.txt @@ -5,7 +5,7 @@ Name = Mozilla Fira Font Version = 1.0 Licence = Unknown Description = Mozilla Fira Font Pack, Includes Mono and Sans fonts. Unzip in the "ReactOS" folder. -Size = 543kB +Size = 543 kB Category = 14 URLSite = https://github.com/mozilla/Fira URLDownload = http://svn.reactos.org/packages/Fira.exe @@ -14,3 +14,8 @@ CDPath = none [Section.0407] Licence = Unbekannt Description = Mozilla Fira Font Pack, Beinhaltet Mono und Sans Schriften. Bitte in den "ReactOS" Ordner entpacken. + +[Section.0418] +Licence = Nespecificată +Description = Pachetul Mozilla Fira Font, include fonturile Mono și Sans. Dezarhivați în dosarul „ReactOS”. +Size = 543 ko diff --git a/base/applications/rapps/rapps/firefox5.txt b/base/applications/rapps/rapps/firefox.txt similarity index 75% rename from base/applications/rapps/rapps/firefox5.txt rename to base/applications/rapps/rapps/firefox.txt index c169a6af264..55c3ff89657 100644 --- a/base/applications/rapps/rapps/firefox5.txt +++ b/base/applications/rapps/rapps/firefox.txt @@ -1,84 +1,85 @@ ; UTF-8 [Section] -Name = Mozilla Firefox 25 -Version = 25.0.1 +Name = Mozilla Firefox 26 +Version = 26.0 Licence = MPL/GPL/LGPL Description = The most popular and one of the best free Web Browsers out there. -Size = 21.7MB +Size = 22.9 MB Category = 5 URLSite = http://www.mozilla.org/en-US/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/25.0.1/win32/en-US/Firefox%20Setup%2025.0.1.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/26.0/win32/en-US/Firefox%20Setup%2026.0.exe CDPath = none [Section.0407] Description = Der populärste und einer der besten freien Webbrowser. -Size = 21.5MB +Size = 22.8 MB URLSite = http://www.mozilla-europe.org/de/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/25.0.1/win32/de/Firefox%20Setup%2025.0.1.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/26.0/win32/de/Firefox%20Setup%2026.0.exe [Section.040a] Description = El más popular y uno de los mejores navegadores web gratuitos que hay. -Size = 21.5MB +Size = 22.7 MB URLSite = http://www.mozilla-europe.org/es/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/25.0.1/win32/es-ES/Firefox%20Setup%2025.0.1.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/26.0/win32/es-ES/Firefox%20Setup%2026.0.exe [Section.040c] Description = Le navigateur web gratuit le plus populaire et l'un des meilleurs. -Size = 21,8 Mo +Size = 23,0 Mo URLSite = http://www.mozilla-europe.org/fr/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/25.0.1/win32/fr/Firefox%20Setup%2025.0.1.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/26.0/win32/fr/Firefox%20Setup%2026.0.exe [Section.0410] Description = Il più popolare e uno dei migliori web browser gratuiti. -Size = 21.5MB +Size = 22.7 MB URLSite = http://www.mozilla-europe.org/it/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/25.0.1/win32/it/Firefox%20Setup%2025.0.1.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/26.0/win32/it/Firefox%20Setup%2026.0.exe [Section.0413] Description = De meest populaire en een van de beste gratis Web browsers. -Size = 22.2MB +Size = 23.4 MB URLSite = http://www.mozilla-europe.org/nl/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/25.0.1/win32/nl/Firefox%20Setup%2025.0.1.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/26.0/win32/nl/Firefox%20Setup%2026.0.exe [Section.0414] Description = Mest populære og best også gratis nettleserene der ute. -Size = 21.5MB +Size = 22.8 MB URLSite = http://www.mozilla-europe.org/no/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/25.0.1/win32/nb-NO/Firefox%20Setup%2025.0.1.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/26.0/win32/nb-NO/Firefox%20Setup%2026.0.exe [Section.0415] Description = Najpopularniejsza i jedna z najlepszych darmowych przeglądarek internetowych. -Size = 22.4MB +Size = 23.7 MB URLSite = http://www.mozilla-europe.org/pl/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/25.0.1/win32/pl/Firefox%20Setup%2025.0.1.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/26.0/win32/pl/Firefox%20Setup%2026.0.exe [Section.0418] Description = Cel mai popular și unul dintre cele mai bune navigatoare web gratuite existente. -Size = 22,0 Mo +Size = 23,3 Mo URLSite = http://www.mozilla-europe.org/ro/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/25.0.1/win32/ro/Firefox%20Setup%2025.0.1.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/26.0/win32/ro/Firefox%20Setup%2026.0.exe [Section.0419] Description = Один из самых популярных и лучших бесплатных браузеров. -Size = 22,0MB +Size = 23,2 MB URLSite = http://www.mozilla-europe.org/ru/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/25.0.1/win32/ru/Firefox%20Setup%2025.0.1.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/26.0/win32/ru/Firefox%20Setup%2026.0.exe [Section.041b] Description = Najpopulárnejší a jeden z najlepších slobodný webových prehliadačov. -Size = 22,2MB +Size = 23,4 MB URLSite = http://www.mozilla-europe.org/sk/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/25.0.1/win32/sk/Firefox%20Setup%2025.0.1.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/26.0/win32/sk/Firefox%20Setup%2026.0.exe [Section.041f] -Name = Mozilla Ateştilkisi 24 +Name = Mozilla Ateştilkisi 26 Description = Özgür örütbağ tarayıcıları arasında en tutulanı ve en iyisi. +Size = 22,8 MB URLSite = http://www.mozilla.org/tr/firefox/new/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/25.0.1/win32/tr/Firefox%20Setup%2025.0.1.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/26.0/win32/tr/Firefox%20Setup%2026.0.exe [Section.0422] Description = Найпопулярніший та один з кращих безплатних веб-браузерів. -Size = 22,0MB +Size = 23,2 MB URLSite = http://www.mozilla-europe.org/uk/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/25.0.1/win32/uk/Firefox%20Setup%2025.0.1.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/26.0/win32/uk/Firefox%20Setup%2026.0.exe diff --git a/base/applications/rapps/rapps/firefox2.txt b/base/applications/rapps/rapps/firefox2.txt index 6d2f9e0e2d8..5e5415027ea 100644 --- a/base/applications/rapps/rapps/firefox2.txt +++ b/base/applications/rapps/rapps/firefox2.txt @@ -5,7 +5,7 @@ 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.77MB +Size = 5.77 MB Category = 5 URLSite = http://www.mozilla.org/en-US/ URLDownload = http://svn.reactos.org/packages/Firefox%20Setup%202.0.0.20.exe diff --git a/base/applications/rapps/rapps/firefox3.txt b/base/applications/rapps/rapps/firefox3.txt index 2e780ae1b16..a626b0f52c6 100644 --- a/base/applications/rapps/rapps/firefox3.txt +++ b/base/applications/rapps/rapps/firefox3.txt @@ -5,7 +5,7 @@ Name = Mozilla Firefox 3.0 Version = 3.0.19 Licence = MPL/GPL/LGPL Description = The most popular and one of the best free Web Browsers out there. -Size = 7.16MB +Size = 7.16 MB Category = 5 URLSite = http://www.mozilla.org/en-US/ URLDownload = http://svn.reactos.org/packages/Firefox%20Setup%203.0.19.exe diff --git a/base/applications/rapps/rapps/firefox36.txt b/base/applications/rapps/rapps/firefox36.txt index 0170a515fd2..def222a68fe 100644 --- a/base/applications/rapps/rapps/firefox36.txt +++ b/base/applications/rapps/rapps/firefox36.txt @@ -5,7 +5,7 @@ Name = Mozilla Firefox 3.6 Version = 3.6.28 Licence = MPL/GPL/LGPL Description = The most popular and one of the best free Web Browsers out there. -Size = 8.22MB +Size = 8.22 MB Category = 5 URLSite = http://www.mozilla.org/en-US/ URLDownload = http://svn.reactos.org/packages/Firefox%20Setup%203.6.28.exe diff --git a/base/applications/rapps/rapps/freebasic.txt b/base/applications/rapps/rapps/freebasic.txt index d5c455e9e7f..faba829297c 100644 --- a/base/applications/rapps/rapps/freebasic.txt +++ b/base/applications/rapps/rapps/freebasic.txt @@ -5,7 +5,7 @@ Name = FreeBASIC Version = 0.90.1 Licence = GPL/LGPL Description = Open Source BASIC Compiler. The BASIC syntax is compatible to QBASIC. -Size = 7.4MB +Size = 7.4 MB Category = 7 URLSite = http://www.freebasic.net/ URLDownload = http://garr.dl.sourceforge.net/project/fbc/Binaries%20-%20Windows/FreeBASIC-0.90.1-win32.exe @@ -27,7 +27,7 @@ Description = Compilatore BASIC open source. La sintassi del BASIC è compatibil [Section.0415] Description = Otwarty kompilator BASIC, ze składnią kompatybilną z QBASIC. -[Section.0419] +[Section.0418] Description = Compilator (open-source) BASIC. Sintaxa BASIC este compatibilă cu QBASIC. Size = 7,4 Mo diff --git a/base/applications/rapps/rapps/glidewrapzbag.txt b/base/applications/rapps/rapps/glidewrapzbag.txt index 0d0004f0add..4b5a8273cfc 100644 --- a/base/applications/rapps/rapps/glidewrapzbag.txt +++ b/base/applications/rapps/rapps/glidewrapzbag.txt @@ -5,7 +5,7 @@ Name = GlidewrapZbag Version = 0.84c Licence = Freeware Description = glidewrapper needed to run Diablo 2 on ReactOS. -Size = 249.02kB +Size = 249.02 kB Category = 3 URLSite = http://www.zeckensack.de/glide/ URLDownload = http://www.zeckensack.de/glide/archive/GlideWrapper084c.exe diff --git a/base/applications/rapps/rapps/globulation2.txt b/base/applications/rapps/rapps/globulation2.txt index 21247cddf77..4006ffdb537 100644 --- a/base/applications/rapps/rapps/globulation2.txt +++ b/base/applications/rapps/rapps/globulation2.txt @@ -5,7 +5,7 @@ Name = Globulation2 Version = 0.9.4.4 Licence = GPL Description = Globulation 2 is a real-time strategy game. The game minimizes gaming micromanagement by automatically assigning tasks to units. -Size = 13.5MB +Size = 13.5 MB Category = 4 URLSite = http://www.globulation2.org URLDownload = http://dl.sv.nongnu.org/releases/glob2/0.9.4/glob2-0.9.4.4.exe @@ -17,5 +17,9 @@ Description = Globulation 2 ist ein Echtzeitstrategiespiel. Das Spiel vereinfach [Section.0410] Description = Globulation 2 è un gioco di strategia in tempo reale. +[Section.0418] +Description = Globulation 2 este un joc de strategie în timp real. Jocul minimizează microgestiunea prin alocarea automată de sarcini unităților. +Size = 13,5 Mo + [Section.041f] Description = Globulation 2, gerçek zamanlı bir izlem oyunudur. Bu oyun, birimlere kendiliğinden görevler atayarak oyun mikroyönetimini en aza indirir. diff --git a/base/applications/rapps/rapps/hover.txt b/base/applications/rapps/rapps/hover.txt index b4664de4106..cf119f1afab 100644 --- a/base/applications/rapps/rapps/hover.txt +++ b/base/applications/rapps/rapps/hover.txt @@ -5,7 +5,7 @@ Name = Hover! Version = 1.0 Licence = MS EULA Description = The classic Hover CTF game which was found on the Windows 95 CD. -Size = 6.2MB +Size = 6.2 MB Category = 4 URLDownload = http://svn.reactos.org/packages/Hover.exe CDPath = none @@ -16,5 +16,9 @@ Description = Das klassische Hover CTF Spiel, dass auf der Windows 95 CD zu find [Section.0410] Description = Il classico gioco Hover CTF che trovate sul CD di Windows 95. +[Section.0418] +Description = Jocul clasic Hover CTF, care se găsea pe CD-ul Windows 95. +Size = 6,2 Mo + [Section.041f] -Description = Pencereler 95 CD'sinde bulunan bir bayrak kapmaca oyunu. \ No newline at end of file +Description = Pencereler 95 CD'sinde bulunan bir bayrak kapmaca oyunu. diff --git a/base/applications/rapps/rapps/hxd.txt b/base/applications/rapps/rapps/hxd.txt index 9388ccb1f15..1918c697754 100644 --- a/base/applications/rapps/rapps/hxd.txt +++ b/base/applications/rapps/rapps/hxd.txt @@ -5,7 +5,7 @@ Name = HxD Version = 1.7.7.0 Licence = Freeware Description = A good hex editor. -Size = 852 KB +Size = 852 kB Category = 7 URLSite = http://mh-nexus.de/en/ URLDownload = http://mh-nexus.de/downloads/HxDSetupEN.zip @@ -14,7 +14,12 @@ CDPath = none [Section.0407] Description = Ein guter HEX Editor. +[Section.0418] +Licence = Gratuită +Description = Un bun editor hexazecimal. +Licence = Gratuită +Size = 852 ko + [Section.041f] Licence = Ücretsiz Description = İyi bir onaltılık düzenleyici. -Size = 854KB diff --git a/base/applications/rapps/rapps/indiftpd.txt b/base/applications/rapps/rapps/indiftpd.txt index 2fc39f391d5..39e10f45e46 100644 --- a/base/applications/rapps/rapps/indiftpd.txt +++ b/base/applications/rapps/rapps/indiftpd.txt @@ -5,7 +5,7 @@ Name = IndiFTPD Version = 1.0.9 Beta Licence = GPL Description = IndiFTPD is a standalone FTP server that functions as a single executable. It is designed for situations when a user does not want to install/configure a server on the system (or does not have permission to do so) and wants to quickly get a server running. -Size = 556kB +Size = 556 kB Category = 5 URLSite = http://www.dftpd.com/products.php#indiftpd URLDownload = http://www.dftpd.com/files/IndiFTPD/1.0.9_beta/Windows/Intel/indiftpd.exe @@ -17,5 +17,9 @@ Description = IndiFTPD ist ein eigenständiger FTP Server in einer einzigen Anwe [Section.0410] Description = IndiFTPD è un server FTP autonomo che funziona come un unico eseguibile. È stato progettato per le situazioni quando un utente non vuole installare / configurare un server sul sistema (o non ha il permesso di farlo), e vuole ottenere rapidamente un server che esegue. +[Section.0418] +Description = IndiFTPD este un server FTP de sine stătător, într-un singur executabil. A fost gândit pentru situațiile în care un utilizator nu dorește instalarea/configurarea unui server în sistem (sau nu deține privelegiile necesare) însă dorește obținerea rapidă a unui server funcțional. +Size = 556 ko + [Section.041f] Description = IndiFTPD, bağımsız (bir tek çalıştırılabilir kütükten oluşan) bir FTP sunucusudur. Bu yazılım, çabucak çalışan bir sunucuya iye olmak isteyen, ancak dizgesinde bir sunucu kurmak/ayarlamak istemeyen veyâ dizgesine bir sunucu kuramayan/ayarlayamayan kullanıcılar için tasarlanmıştır. diff --git a/base/applications/rapps/rapps/irfanview.txt b/base/applications/rapps/rapps/irfanview.txt index 9edeefb8e03..34793ece0c3 100644 --- a/base/applications/rapps/rapps/irfanview.txt +++ b/base/applications/rapps/rapps/irfanview.txt @@ -2,13 +2,13 @@ [Section] Name = IrfanView -Version = 4.36 +Version = 4.37 Licence = Freeware (for personal use) Description = Viewer for all kinds of graphics/audio files/video files. -Size = 1.77MB +Size = 1.8 MB Category = 3 URLSite = http://www.irfanview.com/ -URLDownload = http://ring.maffin.ad.jp/archives/pc/forest/i/irfanview/10829/iview436_setup.exe +URLDownload = http://ring.maffin.ad.jp/archives/pc/forest/i/irfanview/10829/iview437_setup.exe CDPath = none [Section.0407] @@ -22,7 +22,7 @@ Description = Visor para toda clase de archivos de imagen,audio y video. [Section.040c] Licence = Gratuit (pour un usage personnel) Description = Visionneur pour tous les types de fichiers graphiques/audio/vidéo. -Size = 1,57 Mo +Size = 1,8 Mo [Section.0410] Licence = Gratuita (per uso personale) @@ -38,8 +38,8 @@ Description = Przeglądarka dla bardzo wielu typów obrazów, plików audio oraz [Section.0418] Licence = Gratuită (pentru uz personal) -Description = Lector pentru multiple formate de fișiere grafice/audio/video. -Size = 1,57 Mo +Description = Lector pentru multiple formaturi de fișiere grafice/audio/video. +Size = 1,8 Mo [Section.041f] Licence = Şahsî kullanımlar için ücretsiz. diff --git a/base/applications/rapps/rapps/irfanviewplugins.txt b/base/applications/rapps/rapps/irfanviewplugins.txt index de16f630bf9..19a5b407f57 100644 --- a/base/applications/rapps/rapps/irfanviewplugins.txt +++ b/base/applications/rapps/rapps/irfanviewplugins.txt @@ -2,13 +2,13 @@ [Section] Name = IrfanView Plugins -Version = 4.36 +Version = 4.37 Licence = Freeware (for personal use) Description = Additional Plugins for supporting more file types. -Size = 9.85MB +Size = 10.2 MB Category = 3 URLSite = http://www.irfanview.com/ -URLDownload = http://ring.maffin.ad.jp/archives/pc/forest/i/irfanview/10830/irfanview_plugins_436_setup.exe +URLDownload = http://ring.maffin.ad.jp/archives/pc/forest/i/irfanview/10830/irfanview_plugins_437_setup.exe CDPath = none [Section.0407] @@ -22,7 +22,7 @@ Description = Complementos adicionales para soportar más formatos. [Section.040c] Licence = Gratuit (pour un usage personnel) Description = Modules additionnels pour supporter plus de types de fichiers. -Size = 9,85 Mo +Size = 10,2 Mo [Section.0410] Licence = Gratuita (per uso personale) @@ -39,7 +39,7 @@ Description = Wtyczki otwierające dodatkowe typy plików w Irfanview. [Section.0418] Licence = Gratuită (pentru uz personal) Description = Extensii adiționale pentru a spori numărul de formate de fișiere recunoscute. -Size = 9,85 Mo +Size = 10,2 Mo [Section.041f] Name = IrfanView Eklentileri diff --git a/base/applications/rapps/rapps/kdewin.txt b/base/applications/rapps/rapps/kdewin.txt index 4feb453c642..57ac0c9eb3e 100644 --- a/base/applications/rapps/rapps/kdewin.txt +++ b/base/applications/rapps/rapps/kdewin.txt @@ -5,7 +5,7 @@ Name = K Desktop Environment Version = 1.0.0 Licence = GPL Description = KDE for Windows. -Size = 2.16MB +Size = 2.16 MB Category = 15 URLSite = http://www.winkde.org/ URLDownload = http://www.winkde.org/pub/kde/ports/win32/installer/kdewin-installer-gui-1.0.0.exe diff --git a/base/applications/rapps/rapps/kyodai.txt b/base/applications/rapps/rapps/kyodai.txt index 609cd702306..199fe0089f7 100644 --- a/base/applications/rapps/rapps/kyodai.txt +++ b/base/applications/rapps/rapps/kyodai.txt @@ -5,7 +5,7 @@ Name = Kyodai Mahjongg Version = 21.42 Licence = Shareware Description = One of the best Mahjongg Solitaire games out there. -Size = 13.8MB +Size = 13.8 MB Category = 4 URLDownload = http://files.cynagames.com/kyo2006.exe CDPath = none @@ -16,6 +16,11 @@ Description = Eines der besten Mahjongg Solitaire Spiele im Netz. [Section.0410] Description = Uno dei migliori giochi di Mahjongg Solitaire. +[Section.0418] +Licence = Versiune de evaluare +Description = Unul dintre cele mai bune jocuri de pasiență Mahjongg. +Size = 13,8 Mo + [Section.041f] Name = Kyodai Çin Dominosu Licence = Kısıtlı diff --git a/base/applications/rapps/rapps/lautus.txt b/base/applications/rapps/rapps/lautus.txt deleted file mode 100644 index e353c695f6b..00000000000 --- a/base/applications/rapps/rapps/lautus.txt +++ /dev/null @@ -1,22 +0,0 @@ -; UTF-8 - -[Section] -Name = Lautus UXTheme -Version = 1.0 -License = GPLv2 -Description = Theme made specially for ReactOS. Unzip in the "ReactOS" folder, then set the themeing service to "Automatic" and start it. -URLSite = http://www.reactos.org/forum/viewtopic.php?f=25&t=9293 -Size = 341kB -Category = 15 -URLDownload = http://svn.reactos.org/packages/Lautus.exe -CDPath = none - -[Section.0407] -Description = Theme, der speziell für ReactOS entwickelt wird. Entpacken in das "ReactOS"-Verzeichnis, dann den Design Dienst auf "Automatisch" stellen und starten. - -[Section.0410] -Description = Tema creato appositamente per ReactOS. Scompattare nella cartella "ReactOS", quindi impostare il servizio themeing "Automatico" e avviarlo. - -[Section.041f] -Name = Lautus Teması -Description = ReactOS'a husûsî olarak yapılmış bir tema. Bunu, ReactOS'un dizinine çıkartıp "Temalar" hizmetini "Kendiliğinden" olarak ayarlayınız ve bu hizmeti başlatınız. diff --git a/base/applications/rapps/rapps/lazaruside.txt b/base/applications/rapps/rapps/lazaruside.txt index c0f0f8887de..88edf67d93a 100644 --- a/base/applications/rapps/rapps/lazaruside.txt +++ b/base/applications/rapps/rapps/lazaruside.txt @@ -5,7 +5,7 @@ Name = Lazarus Version = 1.0.14 Licence = modified LGPL, GPL Description = A cross-platform integrated development environment (IDE) that lets you create visual (GUI) and non-visual Object Pascal programs, and uses the Free Pascal compiler to generate your executable. -Size = 111MB +Size = 111 MB Category = 7 URLSite = http://www.lazarus.freepascal.org/ URLDownload = http://garr.dl.sourceforge.net/project/lazarus/Lazarus%20Windows%2032%20bits/Lazarus%201.0.14/lazarus-1.0.14-fpc-2.6.2-win32.exe @@ -17,6 +17,11 @@ Description = Eine plattformunabhängige, integrierte Entwicklungsumgebung (IDE) [Section.0410] Description = Un ambiente di sviluppo integrato (IDE) cross-platform che consente di creare interfacce grafiche (GUI) e programmi non visivi Object Pascal, e utilizza il compilatore Free Pascal per generare l'eseguibile. +[Section.0418] +Licence = GPL, LGPL modificată +Description = Un mediu integrat de dezvoltare (IDE) multi-platformă care vă permite crearea de programe Object Pascal, atât vizuale (GUI) cât și ne-vizuale, și utilizează compilatorul Free Pascal pentru a genera executabile. +Size = 111 Mo + [Section.041f] Licence = Değiştirilmiş LGPL, GPL Description = Basarî ve basarî olmayan Nesne Paskal çizeylemleri oluşturmayı sağlayan, Özgür Paskal derleyicisini kullanarak çalıştırabilir kütük oluşturan bir çapraz platform tümleşik geliştirme ortamı. diff --git a/base/applications/rapps/rapps/lbreakout2.txt b/base/applications/rapps/rapps/lbreakout2.txt index 082fba4d98c..ef44c465b84 100644 --- a/base/applications/rapps/rapps/lbreakout2.txt +++ b/base/applications/rapps/rapps/lbreakout2.txt @@ -5,7 +5,7 @@ Name = LBreakout2 Version = 2.4.1 Licence = GPL Description = Breakout Clone using SDL libs. -Size = 3.03MB +Size = 3.03 MB Category = 4 URLSite = http://lgames.sourceforge.net/index.php?project=LBreakout2 URLDownload = http://garr.dl.sourceforge.net/project/lgames/binaries/lbreakout2-2.4.1-win32.exe diff --git a/base/applications/rapps/rapps/lgeneral.txt b/base/applications/rapps/rapps/lgeneral.txt index a7186f0498a..8af26d96f6b 100644 --- a/base/applications/rapps/rapps/lgeneral.txt +++ b/base/applications/rapps/rapps/lgeneral.txt @@ -5,7 +5,7 @@ Name = LGeneral Version = 1.1 Licence = GPL Description = Panzer General Clone using SDL libs. -Size = 1.92MB +Size = 1.92 MB Category = 4 URLSite = http://lgames.sourceforge.net/index.php?project=LGeneral URLDownload = http://garr.dl.sourceforge.net/project/lgames/binaries/lgeneral-1.1-win32.exe diff --git a/base/applications/rapps/rapps/libreoffice.txt b/base/applications/rapps/rapps/libreoffice.txt index 52bc14e980c..14fc408d33a 100644 --- a/base/applications/rapps/rapps/libreoffice.txt +++ b/base/applications/rapps/rapps/libreoffice.txt @@ -2,13 +2,13 @@ [Section] Name = LibreOffice -Version = 4.1.3 +Version = 4.1.4 Licence = LGPL Description = Former called OpenOffice. Open Source Office Suite. -Size = 205.09MB +Size = 205.9 MB Category = 6 URLSite = http://www.documentfoundation.org/ -URLDownload = http://download.documentfoundation.org/libreoffice/stable/4.1.3/win/x86/LibreOffice_4.1.3_Win_x86.msi +URLDownload = http://download.documentfoundation.org/libreoffice/stable/4.1.4/win/x86/LibreOffice_4.1.4_Win_x86.msi CDPath = none [Section.0407] @@ -19,7 +19,7 @@ Description = La suite de ofimática de código abierto. [Section.040c] Description = Précédemment appelé OpenOffice. Suite bureautique open source. -Size = 205,09 Mo +Size = 205,9 Mo [Section.0410] Description = Precedentemente chiamato OpenOffice. Open Source Office Suite. @@ -32,7 +32,7 @@ Description = Otwarty pakiet biurowy. [Section.0418] Description = Fostul OpenOffice. Suita de aplicații de birotică open-source. -Size = 205,09 Mo +Size = 205,9 Mo [Section.041f] Description = OpenOffice gibi bir açık kaynak büro takımı. diff --git a/base/applications/rapps/rapps/lmarbles.txt b/base/applications/rapps/rapps/lmarbles.txt index 2456171531e..793ed19a810 100644 --- a/base/applications/rapps/rapps/lmarbles.txt +++ b/base/applications/rapps/rapps/lmarbles.txt @@ -5,7 +5,7 @@ Name = LMarbles Version = 1.0.6 Licence = GPL Description = Atomix Clone using SDL libs. -Size = 1.39MB +Size = 1.39 MB Category = 4 URLSite = http://lgames.sourceforge.net/index.php?project=LMarbles URLDownload = http://garr.dl.sourceforge.net/project/lgames/binaries/lmarbles-1.0.6-win32.exe diff --git a/base/applications/rapps/rapps/mfc40.txt b/base/applications/rapps/rapps/mfc40.txt index b1571f37ada..090bd87badb 100644 --- a/base/applications/rapps/rapps/mfc40.txt +++ b/base/applications/rapps/rapps/mfc40.txt @@ -5,7 +5,7 @@ Name = OLE Viewer and Microsoft Foundation Classes version 4 Version = 4.0 Licence = Unknown Description = MFC 4 is needed by some applications. Contains: mfc40.dll, msvcrt40.dll. -Size = 865.04kB +Size = 865.04 kB Category = 14 URLSite = http://support.microsoft.com/kb/122244/ URLDownload = http://svn.reactos.org/packages/ole2v.exe diff --git a/base/applications/rapps/rapps/mirandaim.txt b/base/applications/rapps/rapps/mirandaim.txt index ec79d75b7a9..72e3d7836a6 100644 --- a/base/applications/rapps/rapps/mirandaim.txt +++ b/base/applications/rapps/rapps/mirandaim.txt @@ -2,13 +2,13 @@ [Section] Name = Miranda IM -Version = 0.10.19 +Version = 0.10.21 Licence = GPL Description = Open source multiprotocol instant messaging application - May not work completely. -Size = 2.81MB +Size = 2.82 MB Category = 5 URLSite = http://www.miranda-im.org/ -URLDownload = http://files.miranda-im.org/stable/0.10.19.0/miranda-im-v0.10.19-unicode.exe +URLDownload = http://files.miranda-im.org/stable/0.10.21.0/miranda-im-v0.10.21-unicode.exe CDPath = none [Section.0407] @@ -19,7 +19,7 @@ Description = Aplicación de mensajería instantánea multiprotocolo de código [Section.040c] Description = Application de messagerie instantannée multi-protocoles open source - pourrait ne pas fonctionner complètement. -Size = 2,81 Mo +Size = 2,82 Mo [Section.0410] Description = Multi-protocollo open source per applicazioni di messaggistica istantanea - potrebbe non funzionare del tutto. @@ -32,7 +32,7 @@ Description = Otwarty komunikator internetowy, obsługujący wiele różnych pro [Section.0418] Description = Aplicație de mesagerie instant multiprotocol (open-source) - posibil cu limitări în funcționalitate. -Size = 2,81 Mo +Size = 2,82 Mo [Section.041f] Description = Bir açık kaynak, çoklu iletişim kurallı ve evgin iletileşme yazılımı. Eksiksiz olarak çalışmayabilir. diff --git a/base/applications/rapps/rapps/mirc.txt b/base/applications/rapps/rapps/mirc.txt index 80b483bab4c..2c61974914d 100644 --- a/base/applications/rapps/rapps/mirc.txt +++ b/base/applications/rapps/rapps/mirc.txt @@ -5,7 +5,7 @@ Name = mIRC 7 Version = 7.32 Licence = Shareware Description = The most popular client for the Internet Relay Chat (IRC). -Size = 1.85MB +Size = 1.85 MB Category = 5 URLSite = http://www.mirc.com/ URLDownload = http://download.mirc.com/8/mirc732.exe diff --git a/base/applications/rapps/rapps/mirc6.txt b/base/applications/rapps/rapps/mirc6.txt index 90b4285183e..e36df3e1c22 100644 --- a/base/applications/rapps/rapps/mirc6.txt +++ b/base/applications/rapps/rapps/mirc6.txt @@ -5,7 +5,7 @@ Name = mIRC 6 Version = 6.35 Licence = Shareware Description = The most popular client for the Internet Relay Chat (IRC). -Size = 1.67MB +Size = 1.67 MB Category = 5 URLSite = http://www.mirc.com/ URLDownload = http://svn.reactos.org/packages/mirc635.exe diff --git a/base/applications/rapps/rapps/mono2.txt b/base/applications/rapps/rapps/mono2.txt index fab90b602ae..60cbf4ec4d8 100644 --- a/base/applications/rapps/rapps/mono2.txt +++ b/base/applications/rapps/rapps/mono2.txt @@ -5,10 +5,10 @@ Name = Mono .net Development Framework Version = 2.11.4 Licence = Unknown Description = Open-source .net Framework. -Size = 91.93MB +Size = 91.93 MB Category = 14 URLSite = http://www.mono-project.com/Main_Page -URLDownload = http://origin-download.mono-project.com/archive/2.11.4/windows-installer/mono-2.11.4-gtksharp-2.12.11-win32-0.exe +URLDownload = http://download.mono-project.com/archive/2.11.4/windows-installer/mono-2.11.4-gtksharp-2.12.11-win32-0.exe CDPath = none [Section.0407] diff --git a/base/applications/rapps/rapps/mpc.txt b/base/applications/rapps/rapps/mpc.txt index b9c2d4b2feb..7e0b75531f5 100644 --- a/base/applications/rapps/rapps/mpc.txt +++ b/base/applications/rapps/rapps/mpc.txt @@ -5,7 +5,7 @@ Name = Media Player Classic Home Cinema Version = 1.7.1 Licence = GPL Description = A media player. -Size = 9.8MB +Size = 9.8 MB Category = 2 URLSite = http://mpc-hc.org/ URLDownload = http://garr.dl.sourceforge.net/project/mpc-hc/MPC%20HomeCinema%20-%20Win32/MPC-HC_v1.7.1_x86/MPC-HC.1.7.1.x86.exe @@ -19,7 +19,7 @@ Description = Reproductor multimedia. [Section.040c] Description = Un lecteur media. -Size = 9,6 Mo +Size = 9,8 Mo [Section.0410] Description = Lettore multimediale. @@ -32,7 +32,7 @@ Description = Odtwarzacz multimediów. [Section.0418] Description = Lector multimedia. -Size = 9,6 Mo +Size = 9,8 Mo [Section.0419] Description = Мультимедийный проигрыватель. diff --git a/base/applications/rapps/rapps/mpxplay.txt b/base/applications/rapps/rapps/mpxplay.txt new file mode 100644 index 00000000000..b7201871989 --- /dev/null +++ b/base/applications/rapps/rapps/mpxplay.txt @@ -0,0 +1,22 @@ +; UTF-8 + +[Section] +Name = Mpxplay +Version = 1.60b +Licence = GPL +Description = Mpxplay is a 32-bit console audio player for Windows. You need 7-Zip or a similar Utility to extract it. +Size = 520 kB +Category = 1 +URLSite = http://mpxplay.sourceforge.net/ +URLDownload = http://garr.dl.sourceforge.net/project/mpxplay/Mpxplay/Mpxplay%20v1.60%20final/mpxp160w.zip +CDPath = none + +[Section.0407] +Description = Mpxplay ist ein konsolenbasierter 32-bit Audio Player für Windows. Zum extrahieren wird 7-Zip oder ein ähnliches Tool benötigt. + +[Section.0418] +Description = Mpxplay este un lector audio de tip consolă, pe 32-biți pentru Windows. E necesar un utilitar de dezarhivare de tip ZIP. +Size = 520 ko + +[Section.0419] +Description = Mpxplay - 32-разрядный консольный аудиоплеер для Windows. Вам нужен 7-Zip или подобная утилита для его распаковки. diff --git a/base/applications/rapps/rapps/msxml3.txt b/base/applications/rapps/rapps/msxml3.txt index 4c435c2d9ed..7fbb7494cd2 100644 --- a/base/applications/rapps/rapps/msxml3.txt +++ b/base/applications/rapps/rapps/msxml3.txt @@ -5,7 +5,7 @@ Name = Microsoft XML 3 Version = 3.0 Licence = Unknown Description = MSXML3 is needed for some MSI Installers. Contains: msxml3.dll, msxml3a.dll, msxml3r.dll. -Size = 1.85MB +Size = 1.85 MB Category = 14 URLSite = http://www.microsoft.com/downloads/details.aspx?FamilyID=28494391-052B-42FF-9674-F752BDCA9582&displaylang=en URLDownload = ftp://ftp.uni-rostock.de/pub/tools/microsoft/XML/US/msxml3.msi diff --git a/base/applications/rapps/rapps/net11.txt b/base/applications/rapps/rapps/net11.txt index 012328550cc..9cd7435d817 100644 --- a/base/applications/rapps/rapps/net11.txt +++ b/base/applications/rapps/rapps/net11.txt @@ -5,7 +5,7 @@ Name = Microsoft .NET Framework Version 1.1 Redistributable Package Version = 1.1 Licence = Unknown Description = Microsoft .NET Framework Version 1.1 - Redistributable Package. -Size = 23.14MB +Size = 23.14 MB Category = 14 URLSite = http://www.microsoft.com/en-us/download/details.aspx?id=26 URLDownload = http://download.microsoft.com/download/a/a/c/aac39226-8825-44ce-90e3-bf8203e74006/dotnetfx.exe diff --git a/base/applications/rapps/rapps/net20.txt b/base/applications/rapps/rapps/net20.txt index c06e787e97d..c420d0ccafe 100644 --- a/base/applications/rapps/rapps/net20.txt +++ b/base/applications/rapps/rapps/net20.txt @@ -5,7 +5,7 @@ Name = Microsoft .NET Framework Version 2.0 Redistributable Package Version = 2.0 Licence = Unknown Description = Microsoft .NET Framework Version 2.0 - Redistributable Package. -Size = 22.42MB +Size = 22.42 MB Category = 14 URLSite = http://www.microsoft.com/downloads/details.aspx?FamilyID=0856eacb-4362-4b0d-8edd-aab15c5e04f5 URLDownload = http://download.microsoft.com/download/5/6/7/567758a3-759e-473e-bf8f-52154438565a/dotnetfx.exe diff --git a/base/applications/rapps/rapps/net20sp2.txt b/base/applications/rapps/rapps/net20sp2.txt index 49b941b7633..f7b9800b800 100644 --- a/base/applications/rapps/rapps/net20sp2.txt +++ b/base/applications/rapps/rapps/net20sp2.txt @@ -5,7 +5,7 @@ Name = Microsoft .NET Framework Version 2.0 Service Pack 2 Version = 2.0SP2 Licence = Unknown Description = Microsoft .NET Framework Version 2.0 Service Pack 2. -Size = 23.84MB +Size = 23.84 MB Category = 14 URLSite = http://www.microsoft.com/en-us/download/details.aspx?id=1639 URLDownload = http://download.microsoft.com/download/c/6/e/c6e88215-0178-4c6c-b5f3-158ff77b1f38/NetFx20SP2_x86.exe diff --git a/base/applications/rapps/rapps/npp.txt b/base/applications/rapps/rapps/npp.txt index 8c74bf4c891..323b4bbebd3 100644 --- a/base/applications/rapps/rapps/npp.txt +++ b/base/applications/rapps/rapps/npp.txt @@ -2,13 +2,13 @@ [Section] Name = Notepad++ -Version = 6.5.1 +Version = 6.5.3 Licence = GPL Description = A text editor. -Size = 7.2MB +Size = 7.25 MB Category = 6 URLSite = http://notepad-plus-plus.org/ -URLDownload = http://download.tuxfamily.org/notepadplus/6.5.1/npp.6.5.1.Installer.exe +URLDownload = http://download.tuxfamily.org/notepadplus/6.5.3/npp.6.5.3.Installer.exe CDPath = none [Section.0407] @@ -19,7 +19,7 @@ Description = Un editor de text. [Section.040c] Description = Un éditeur de texte. -Size = 7,2 Mo +Size = 7,25 Mo [Section.0410] Description = Un editor di testo. @@ -31,8 +31,8 @@ Description = Een teksteditor. Description = Edytor tekstu. [Section.0418] -Description = A text editor. -Size = 7,2 Mo +Description = Un editor de text. +Size = 7,25 Mo [Section.0419] Description = Текстовый редактор. diff --git a/base/applications/rapps/rapps/offbyone.txt b/base/applications/rapps/rapps/offbyone.txt index 57cc7ee49ae..11e687e34b5 100644 --- a/base/applications/rapps/rapps/offbyone.txt +++ b/base/applications/rapps/rapps/offbyone.txt @@ -5,7 +5,7 @@ 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 = 1010.89MB +Size = 1010.89 kB Category = 5 URLSite = http://offbyone.com/offbyone/ URLDownload = http://offbyone.com/offbyone/images/OffByOneSetup.exe diff --git a/base/applications/rapps/rapps/opencodecs.txt b/base/applications/rapps/rapps/opencodecs.txt index e7c5bc3a161..9ce211ecb29 100644 --- a/base/applications/rapps/rapps/opencodecs.txt +++ b/base/applications/rapps/rapps/opencodecs.txt @@ -5,7 +5,7 @@ Name = xiph.org OpenCodecs Version = 0.85.17777 License = BSD Description = DirectShow Filters for the Ogg Vorbis, Speex, Theora, FLAC, and WebM file formats. -Size = 2.53MB +Size = 2.53 MB Category = 1 URLSite = http://xiph.org/dshow/ URLDownload = http://downloads.xiph.org/releases/oggdsf/opencodecs_0.85.17777.exe @@ -17,5 +17,9 @@ Description = DirectShow Filter für Ogg Vorbis, Speex, Theora, FLAC, und WebM D [Section.0410] Description = I filtri DirectShow per la Ogg Vorbis, Speex, Theora, FLAC e formati di file WebM. +[Section.0418] +Description = Filtrele DirectShow pentru formatele de fișiere Ogg Vorbis, Speex, Theora, FLAC și WebM. +Size = 2,53 Mo + [Section.041f] Description = Ogg Vorbis, Speex, Theora, FLAC ve WebM kütük türleri için DirectShow süzgeçleri. diff --git a/base/applications/rapps/rapps/openoffice3.0.txt b/base/applications/rapps/rapps/openoffice.txt similarity index 90% rename from base/applications/rapps/rapps/openoffice3.0.txt rename to base/applications/rapps/rapps/openoffice.txt index 44fa387375d..0224c618c82 100644 --- a/base/applications/rapps/rapps/openoffice3.0.txt +++ b/base/applications/rapps/rapps/openoffice.txt @@ -5,7 +5,7 @@ Name = OpenOffice 4.0 Version = 4.0.1 Licence = LGPL Description = THE Open Source Office Suite. -Size = 136.79MB +Size = 136.79 MB Category = 6 URLSite = http://www.openoffice.org/ URLDownload = http://heanet.dl.sourceforge.net/project/openofficeorg.mirror/4.0.1/binaries/en-US/Apache_OpenOffice_4.0.1_Win_x86_install_en-US.exe @@ -14,13 +14,13 @@ CDPath = none [Section.0407] Description = DIE Open Source Office Suite. URLSite = http://de.openoffice.org/ -Size = 154.88MB +Size = 154.88 MB URLDownload = http://heanet.dl.sourceforge.net/project/openofficeorg.mirror/4.0.1/binaries/de/Apache_OpenOffice_4.0.1_Win_x86_install_de.exe [Section.040a] Description = La suite de ofimática de código abierto. URLSite = http://es.openoffice.org/ -Size = 126.29MB +Size = 126.29 MB URLDownload = http://heanet.dl.sourceforge.net/project/openofficeorg.mirror/4.0.1/binaries/es/Apache_OpenOffice_4.0.1_Win_x86_install_es.exe [Section.040c] @@ -31,21 +31,21 @@ URLDownload = http://heanet.dl.sourceforge.net/project/openofficeorg.mirror/4.0. [Section.0410] URLSite = http://it.openoffice.org/ -Size = 132.39MB +Size = 132.39 MB URLDownload = http://heanet.dl.sourceforge.net/project/openofficeorg.mirror/4.0.1/binaries/it/Apache_OpenOffice_4.0.1_Win_x86_install_it.exe [Section.0413] Description = Open-bron Office Pakket. URLSite = http://nl.openoffice.org/ -Size = 132.11MB +Size = 132.11 MB URLDownload = http://heanet.dl.sourceforge.net/project/openofficeorg.mirror/4.0.1/binaries/nl/Apache_OpenOffice_4.0.1_Win_x86_install_nl.exe [Section.0415] Description = Otwarty pakiet biurowy. URLSite = http://pl.openoffice.org/ -Size = 136.79MB +Size = 136.79 MB -[Section.0419] +[Section.0418] Description = Suita de aplicații de birotică open-source. Size = 136,79 Mo URLSite = http://www.openoffice.org/ro/ @@ -57,10 +57,10 @@ URLSite = http://tr.openoffice.org/ [Section.0422] Description = Відкритий офісний пакет. URLSite = http://ua.openoffice.org/ -Size = 136.79MB +Size = 136.79 MB [Section.0813] Description = Open-bron Office Pakket. URLSite = http://nl.openoffice.org/ -Size = 132.11MB +Size = 132.11 MB URLDownload = http://heanet.dl.sourceforge.net/project/openofficeorg.mirror/4.0.1/binaries/nl/Apache_OpenOffice_4.0.1_Win_x86_install_nl.exe diff --git a/base/applications/rapps/rapps/openoffice2.4.txt b/base/applications/rapps/rapps/openoffice2.4.txt index 2776c545123..2437bea1f4d 100644 --- a/base/applications/rapps/rapps/openoffice2.4.txt +++ b/base/applications/rapps/rapps/openoffice2.4.txt @@ -5,7 +5,7 @@ Name = OpenOffice 2.4 Version = 2.4.3 Licence = LGPL Description = THE Open Source Office Suite. -Size = 113MB +Size = 113 MB Category = 6 URLSite = http://www.openoffice.org/ URLDownload = http://archive.services.openoffice.org/pub/openoffice-archive/stable/2.4.3/OOo_2.4.3_Win32Intel_install_en-US.exe @@ -14,13 +14,13 @@ CDPath = none [Section.0407] Description = DIE Open Source Office Suite. URLSite = http://de.openoffice.org/ -Size = 114.25MB +Size = 114.25 MB URLDownload = http://archive.services.openoffice.org/pub/openoffice-archive/localized/de/2.4.3/OOo_2.4.3_Win32Intel_install_de.exe [Section.040a] Description = La suite de ofimática de código abierto. URLSite = http://es.openoffice.org/ -Size = 113.87MB +Size = 113.87 MB URLDownload = http://archive.services.openoffice.org/pub/openoffice-archive/localized/es/2.4.3/OOo_2.4.3_Win32Intel_install_es.exe [Section.040c] @@ -32,7 +32,7 @@ URLDownload = http://archive.services.openoffice.org/pub/openoffice-archive/loca [Section.0410] URLSite = http://it.openoffice.org/ -Size = 113.79MB +Size = 113.79 MB URLDownload = http://archive.services.openoffice.org/pub/openoffice-archive/localized/it/2.4.3/OOo_2.4.3_Win32Intel_install_it.exe [Section.0413] @@ -40,14 +40,14 @@ Version = 2.4.2 URLSite = http://nl.openoffice.org/ Description = Open-bron Office Pakket. URLDownload = http://archive.services.openoffice.org/pub/openoffice-archive/localized/nl/2.4.2/OOo_2.4.2_Win32Intel_install_nl.exe -Size = 113.8MB +Size = 113.8 MB [Section.0415] Version = 2.4.2 URLSite = http://pl.openoffice.org/ Description = Otwarty pakiet biurowy. URLDownload = http://archive.services.openoffice.org/pub/openoffice-archive/localized/pl/2.4.2/OOo_2.4.2_Win32Intel_install_pl.exe -Size = 113.92MB +Size = 113.92 MB [Section.0418] Description = Suita de aplicații de birotică open-source. @@ -61,11 +61,11 @@ URLSite = http://tr.openoffice.org/ URLSite = http://ua.openoffice.org/ Description = Відкритий офісний пакет. URLDownload = http://archive.services.openoffice.org/pub/openoffice-archive/localized/ru/2.4.3/OOo_2.4.3_Win32Intel_install_ru.exe -Size = 114.76MB +Size = 114.76 MB [Section.0813] Version = 2.4.2 URLSite = http://nl.openoffice.org/ Description = Open-bron Office Pakket. URLDownload = http://archive.services.openoffice.org/pub/openoffice-archive/localized/nl/2.4.2/OOo_2.4.2_Win32Intel_install_nl.exe -Size = 113.8MB +Size = 113.8 MB diff --git a/base/applications/rapps/rapps/openttd.txt b/base/applications/rapps/rapps/openttd.txt index d80846a5600..1c7358ae04d 100644 --- a/base/applications/rapps/rapps/openttd.txt +++ b/base/applications/rapps/rapps/openttd.txt @@ -5,7 +5,7 @@ Name = OpenTTD Version = 1.3.3 Licence = GPL v2 Description = Open Source clone of the "Transport Tycoon Deluxe" game engine. You need a copy of Transport Tycoon. -Size = 6.75MB +Size = 6.75 MB Category = 4 URLSite = http://www.openttd.org/ URLDownload = http://binaries.openttd.org/releases/1.3.3/openttd-1.3.3-windows-win32.exe diff --git a/base/applications/rapps/rapps/opera.txt b/base/applications/rapps/rapps/opera.txt index 1659be4a347..a462c1a6d74 100644 --- a/base/applications/rapps/rapps/opera.txt +++ b/base/applications/rapps/rapps/opera.txt @@ -5,7 +5,7 @@ Name = Opera Version = 12.16 Licence = Freeware Description = The popular Opera Browser with many advanced features and including a Mail and BitTorrent client. -Size = 12.56MB +Size = 12.56 MB Category = 5 URLSite = http://www.opera.com/ URLDownload = http://ftp.opera.com/pub/opera/win/1216/int/Opera_1216_int_Setup.exe diff --git a/base/applications/rapps/rapps/opera9.txt b/base/applications/rapps/rapps/opera9.txt index c6c0e897430..92b9094959d 100644 --- a/base/applications/rapps/rapps/opera9.txt +++ b/base/applications/rapps/rapps/opera9.txt @@ -5,7 +5,7 @@ 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.21MB +Size = 7.21 MB Category = 5 URLSite = http://www.opera.com/ URLDownload = http://arc.opera.com/pub/opera/win/964/int/Opera_964_int_Setup.exe diff --git a/base/applications/rapps/rapps/pengupop.txt b/base/applications/rapps/rapps/pengupop.txt index 3a70fec7947..95a1617ff94 100644 --- a/base/applications/rapps/rapps/pengupop.txt +++ b/base/applications/rapps/rapps/pengupop.txt @@ -5,7 +5,7 @@ Name = Pengupop Version = 2.2.3 Licence = GPL Description = The purpose of this game is to shoot colored orbs into your playfield, so they form groups of three or more. -Size = 384KB +Size = 384 kB Category = 4 URLDownload = http://svn.reactos.org/packages/Pengupop.exe CDPath = none @@ -16,5 +16,9 @@ Description = Das Ziel des Spiels ist es farbige Orbs ins Spielfeld zu feuern, s [Section.0410] Description = Lo scopo di questo gioco è quello di sparare sfere colorate nel vostro campo di gioco, in modo da formare gruppi di tre o più. +[Section.0418] +Description = Scopul acestui joc este de a arunca globuri colorate în propriul teren pentru a forma grupuri de câte trei sau mai multe. +Size = 384 ko + [Section.041f] Description = Oyunun amacı, oyun alanınızda üç ya da daha çok takımdan oluşan renkli küreleri vurmaktır. diff --git a/base/applications/rapps/rapps/photofiltre7.txt b/base/applications/rapps/rapps/photofiltre.txt similarity index 81% rename from base/applications/rapps/rapps/photofiltre7.txt rename to base/applications/rapps/rapps/photofiltre.txt index 1fb3dca2574..72d201f0ce6 100644 --- a/base/applications/rapps/rapps/photofiltre7.txt +++ b/base/applications/rapps/rapps/photofiltre.txt @@ -1,11 +1,11 @@ -; UTF-8 +; UTF-8 [Section] Name = PhotoFiltre 7 Version = 7.1.2 Licence = Freeware Description = This version with layers but more limited than the Studio X version. PhotoFiltre Studio is a complete image retouching program. -Size = 4,99 MB +Size = 4.99 MB Category = 3 URLSite = http://www.photofiltre-studio.com/pf7-en.htm URLDownload = http://static.infomaniak.ch/photofiltre/utils/pf7/pf7-setup-en.exe @@ -14,6 +14,11 @@ CDPath = none [Section.0407] Description = Version mit Layers, aber eingeschänkter als die Studio-X Version. PhotoFiltre Studio ist ein komplettes Bildretuschier-Programm. +[Section.0418] +Licence = Gratuită +Description = PhotoFiltre Studio este o aplicație completă de retușare a imaginilor. +Size = 4,99 Mo + [Section.041f] Licence = Ücretsiz Description = Bu sürüm, katmanlarla gelmektedir ancak Stüdyo X sürümünden daha kısıtlıdır. PhotoFiltre Stüdyo, eksiksiz bir resim düzeltme yazılımıdır. diff --git a/base/applications/rapps/rapps/Pingus.txt b/base/applications/rapps/rapps/pingus.txt similarity index 81% rename from base/applications/rapps/rapps/Pingus.txt rename to base/applications/rapps/rapps/pingus.txt index 45c60b30c7f..ac3c9107a48 100644 --- a/base/applications/rapps/rapps/Pingus.txt +++ b/base/applications/rapps/rapps/pingus.txt @@ -5,7 +5,7 @@ Name = Pingus Version = 0.7.6 Licence = GPL Description = Pingus is a free Lemmings-like puzzle game. -Size = 16.0MB +Size = 16.0 MB Category = 4 URLSite = http://pingus.seul.org URLDownload = http://pingus.googlecode.com/files/Pingus-0.7.6.exe @@ -17,5 +17,9 @@ Description = Pingus ist ein freies Lemings-ähnliches Puzzle Spiel. [Section.0410] Description = Pingus è un gioco gratuito simile a Lemmings. +[Section.0418] +Description = Pingus este un joc-enigmă asemănător cu Lemmings. +Size = 16,0 Mo + [Section.041f] Description = Pingus, ücretsiz, Yaban Sıçanları gibi bir bulmaca oyunudur. diff --git a/base/applications/rapps/rapps/pspad.txt b/base/applications/rapps/rapps/pspad.txt index 769d6b229a3..eb98e684608 100644 --- a/base/applications/rapps/rapps/pspad.txt +++ b/base/applications/rapps/rapps/pspad.txt @@ -5,7 +5,7 @@ Name = PSPad Version = 4.5.7 Licence = Freeware Description = A text editor. -Size = 4.46MB +Size = 4.46 MB Category = 6 URLSite = http://www.pspad.com URLDownload = http://31.31.78.126/pspad/pspad457inst_en.exe @@ -31,7 +31,8 @@ Description = Een teksteditor. Description = Edytor tekstu. [Section.0418] -Description = A text editor. +Licence = Gratuită +Description = Un editor de text. Size = 4,46 Mo [Section.0419] diff --git a/base/applications/rapps/rapps/ptanks.txt b/base/applications/rapps/rapps/ptanks.txt index 619f3f66eb9..d3fae1e3654 100644 --- a/base/applications/rapps/rapps/ptanks.txt +++ b/base/applications/rapps/rapps/ptanks.txt @@ -14,6 +14,11 @@ CDPath = none [Section.0407] Description = Das schnellste Artillerie-Spiel, das Sie jemals gespielt haben. +[Section.0418] +Licence = Versiune de evaluare +Description = Cel mai rapid joc de artilerie pe care-l veți juca vreodată. +Size = 2,86 Mo + [Section.041f] Name = Küçük Tanklar Licence = Kısıtlı diff --git a/base/applications/rapps/rapps/putty.txt b/base/applications/rapps/rapps/putty.txt index adb2c118a2a..07cae93fc51 100644 --- a/base/applications/rapps/rapps/putty.txt +++ b/base/applications/rapps/rapps/putty.txt @@ -5,7 +5,7 @@ Name = PuTTY Version = 0.63 Licence = MIT Description = A free SSH, Telnet, rlogin, and raw TCP client. -Size = 1.78MB +Size = 1.78 MB Category = 5 URLSite = http://www.chiark.greenend.org.uk/~sgtatham/putty/ URLDownload = http://the.earth.li/~sgtatham/putty/latest/x86/putty-0.63-installer.exe diff --git a/base/applications/rapps/rapps/python.txt b/base/applications/rapps/rapps/python.txt index 2e52fb4eab9..1e737da2b30 100644 --- a/base/applications/rapps/rapps/python.txt +++ b/base/applications/rapps/rapps/python.txt @@ -1,45 +1,45 @@ -; UTF-8 - -[Section] -Name = Python 2 -Version = 2.7.6 -Licence = GPL/LGPL -Description = A remarkably powerful dynamic programming language. -Size = 15.48MB -Category = 7 -URLSite = http://www.python.org/ -URLDownload = http://www.python.org/ftp/python/2.7.6/python-2.7.6.msi -CDPath = none - -[Section.0407] -Description = Eine sehr mächtige, dynamische Programmiersprache. - -[Section.040a] -Description = Un lenguaje de programación dinámico sumamente potente. - -[Section.040c] -Description = Un langage de programmation dynamique remarquablement puissant. -Size = 15,48 Mo - -[Section.0410] -Description = Un Linguaggio di programmazione dinamico e potente. - -[Section.0413] -Description = Een opmerkelijk krachtige dynamische programmeertaal. - -[Section.0415] -Description = Potęży i dynamiczny język programowania. - -[Section.0418] -Description = Un limbaj de programare dinamic și puternic. -Size = 15,48 Mo - -[Section.041f] -Name = Piton 2 -Description = İlgi çekici, güçlü ve devingen bir çizeylemleme dili. - -[Section.0422] -Description = Дуже потужна динамічна мова програмування. - -[Section.0813] -Description = Een opmerkelijk krachtige dynamische programmeertaal. +; UTF-8 + +[Section] +Name = Python 3 +Version = 3.3.3 +Licence = GPL/LGPL +Description = A remarkably powerful dynamic programming language. +Size = 19.6 MB +Category = 7 +URLSite = http://www.python.org/ +URLDownload = http://www.python.org/ftp/python/3.3.3/python-3.3.3.msi +CDPath = none + +[Section.0407] +Description = Eine sehr mächtige, dynamische Programmiersprache. + +[Section.040a] +Description = Un lenguaje de programación dinámico sumamente potente. + +[Section.040c] +Description = Un langage de programmation dynamique remarquablement puissant. +Size = 19,6 Mo + +[Section.0410] +Description = Un Linguaggio di programmazione dinamico e potente. + +[Section.0413] +Description = Een opmerkelijk krachtige dynamische programmeertaal. + +[Section.0415] +Description = Potęży i dynamiczny język programowania. + +[Section.0418] +Description = Un limbaj de programare dinamic și puternic. +Size = 19,6 Mo + +[Section.041f] +Name = Piton 3 +Description = İlgi çekici, güçlü ve devingen bir çizeylemleme dili. + +[Section.0422] +Description = Дуже потужна динамічна мова програмування. + +[Section.0813] +Description = Een opmerkelijk krachtige dynamische programmeertaal. diff --git a/base/applications/rapps/rapps/python3.txt b/base/applications/rapps/rapps/python2.txt similarity index 83% rename from base/applications/rapps/rapps/python3.txt rename to base/applications/rapps/rapps/python2.txt index f40a12c91f9..da1209200c6 100644 --- a/base/applications/rapps/rapps/python3.txt +++ b/base/applications/rapps/rapps/python2.txt @@ -1,45 +1,45 @@ -; UTF-8 - -[Section] -Name = Python 3 -Version = 3.3.3 -Licence = GPL/LGPL -Description = A remarkably powerful dynamic programming language. -Size = 19.6MB -Category = 7 -URLSite = http://www.python.org/ -URLDownload = http://www.python.org/ftp/python/3.3.3/python-3.3.3.msi -CDPath = none - -[Section.0407] -Description = Eine sehr mächtige, dynamische Programmiersprache. - -[Section.040a] -Description = Un lenguaje de programación dinámico sumamente potente. - -[Section.040c] -Description = Un langage de programmation dynamique remarquablement puissant. -Size = 19,6 Mo - -[Section.0410] -Description = Un Linguaggio di programmazione dinamico e potente. - -[Section.0413] -Description = Een opmerkelijk krachtige dynamische programmeertaal. - -[Section.0415] -Description = Potęży i dynamiczny język programowania. - -[Section.0418] -Description = Un limbaj de programare dinamic și puternic. -Size = 19,6 Mo - -[Section.041f] -Name = Piton 3 -Description = İlgi çekici, güçlü ve devingen bir çizeylemleme dili. - -[Section.0422] -Description = Дуже потужна динамічна мова програмування. - -[Section.0813] -Description = Een opmerkelijk krachtige dynamische programmeertaal. +; UTF-8 + +[Section] +Name = Python 2 +Version = 2.7.6 +Licence = GPL/LGPL +Description = A remarkably powerful dynamic programming language. +Size = 15.48 MB +Category = 7 +URLSite = http://www.python.org/ +URLDownload = http://www.python.org/ftp/python/2.7.6/python-2.7.6.msi +CDPath = none + +[Section.0407] +Description = Eine sehr mächtige, dynamische Programmiersprache. + +[Section.040a] +Description = Un lenguaje de programación dinámico sumamente potente. + +[Section.040c] +Description = Un langage de programmation dynamique remarquablement puissant. +Size = 15,48 Mo + +[Section.0410] +Description = Un Linguaggio di programmazione dinamico e potente. + +[Section.0413] +Description = Een opmerkelijk krachtige dynamische programmeertaal. + +[Section.0415] +Description = Potęży i dynamiczny język programowania. + +[Section.0418] +Description = Un limbaj de programare dinamic și puternic. +Size = 15,48 Mo + +[Section.041f] +Name = Piton 2 +Description = İlgi çekici, güçlü ve devingen bir çizeylemleme dili. + +[Section.0422] +Description = Дуже потужна динамічна мова програмування. + +[Section.0813] +Description = Een opmerkelijk krachtige dynamische programmeertaal. diff --git a/base/applications/rapps/rapps/qb64sdl.txt b/base/applications/rapps/rapps/qb64sdl.txt index 1c5a06bc070..2d13be09774 100644 --- a/base/applications/rapps/rapps/qb64sdl.txt +++ b/base/applications/rapps/rapps/qb64sdl.txt @@ -14,6 +14,11 @@ CDPath = none [Section.0407] Description = QB64 ist ein Self-Hosting BASIC-Compiler für Microsoft Windows, Linux und Mac OS X, entwickelt, um mit Microsoft QBasic und Microsoft QuickBASIC kompatibel zu sein. Sie müssen 7-Zip oder ein ähnliches Dienstprogramm installiert haben, um es zu extrahieren. +[Section.0418] +Licence = Gratuită +Description = QB64 este un compilator BASIC auto-compilabil pentru Windows, Linux și Mac OS X, conceput pentru a fi compatibil cu Microsoft QBasic și Microsoft QuickBASIC. Este necesar un utilitar de derarhivare de tip ZIP. +Size = 33,1 Mo + [Section.041f] Name = QB64 (SDL sürümü) Licence = Ücretsiz diff --git a/base/applications/rapps/rapps/qmmp.txt b/base/applications/rapps/rapps/qmmp.txt index a05d8aafb45..0f4d5fe3a0e 100644 --- a/base/applications/rapps/rapps/qmmp.txt +++ b/base/applications/rapps/rapps/qmmp.txt @@ -5,7 +5,7 @@ Name = Qt-based Multimedia Player Version = 0.7.3 Licence = GPL Description = Qmmp is an audio-player, written with the help of the Qt library. The user interface is similar to WinAMP or XMMS. Alternative user interfaces also are available. -Size = 16.0MB +Size = 16.0 MB Category = 1 URLSite = http://qmmp.ylsoftware.com/index.php URLDownload = http://qmmp.ylsoftware.com/files/windows/qmmp-0.7.3-win32.exe @@ -14,5 +14,9 @@ CDPath = none [Section.0407] Description = Qmmp ist ein Audio-Player, der mit Hilfe der Qt Bibliothek geschrieben wurde. Die Benutzeroberfläche ist ähnlich zu WinAMP oder XMMS. Alternative Benutzeroberflächen sind ebenfalls verfügbar. +[Section.0418] +Description = Qmmp este un lector audio, ce utilizează biblioteca QT. Interfața de utilizare e asemănătoare cu cea din WinAMP sau XMMS. De asemenea sunt disponibile interfețe de utilizare alternative. +Size = 16,0 Mo + [Section.0419] -Description = Аудиоплеер Qmmp (Qt-based Multimedia Player). \ No newline at end of file +Description = Аудиоплеер Qmmp (Qt-based Multimedia Player). diff --git a/base/applications/rapps/rapps/remood.txt b/base/applications/rapps/rapps/remood.txt index ba167a70422..701ad16141f 100644 --- a/base/applications/rapps/rapps/remood.txt +++ b/base/applications/rapps/rapps/remood.txt @@ -5,7 +5,7 @@ Name = ReMooD Version = 0.8a Licence = GPL Description = ReMooD is a source port of Doom Legacy. It aims to provide the classic Legacy Experience with new features and more stability. -Size = 1.15MB +Size = 1.15 MB Category = 4 URLSite = http://remood.sourceforge.net/ URLDownload = http://garr.dl.sourceforge.net/project/remood/ReMooD/0.8a/remoodsetup-win32_08a.exe diff --git a/base/applications/rapps/rapps/reshack.txt b/base/applications/rapps/rapps/reshack.txt index d43998f237e..b8e6e775957 100644 --- a/base/applications/rapps/rapps/reshack.txt +++ b/base/applications/rapps/rapps/reshack.txt @@ -5,7 +5,7 @@ Name = Resource Hacker Version = 3.6.0 Licence = Freeware Description = Resource Hacker, is a freeware utility to view, modify, rename, add, delete and extract resources in 32bit & 64bit Windows executables and resource files (*.res). -Size = 730 KB +Size = 730 kB Category = 7 URLSite = http://www.angusj.com/resourcehacker/ URLDownload = http://www.angusj.com/resourcehacker/reshack_setup.exe @@ -14,6 +14,11 @@ CDPath = none [Section.0407] Description = Resource Hacker ist ein Freeware-Tool zum anzeigen, ändern, umbenennen, hinzufügen, löschen und extrahieren von Ressourcen in 32-Bit & 64-Bit-Windows Anwendungen und Ressourcen-Dateien (*. Res). +[Section.0418] +Licence = Gratuită +Description = Resource Hacker este un utilitar gratuit pentru inspectarea, modificarea, redenumirea, adăugarea, ștergerea și extragerea resurselor din fișierele resursă (*.res) și fișierele executabile pe 32 și 64 de biți pentru Windows. +Size = 730 ko + [Section.041f] Name = Kaynak Korsancısı Licence = Ücretsiz diff --git a/base/applications/rapps/rapps/rocks.txt b/base/applications/rapps/rapps/rocks.txt index e5308250f7a..176202c2a5e 100644 --- a/base/applications/rapps/rapps/rocks.txt +++ b/base/applications/rapps/rapps/rocks.txt @@ -14,5 +14,9 @@ CDPath = none [Section.0407] Description = Arcade-Style Spiel für UNIX, Mac OS X, Windows und DOS in der Tradition von: "Boulder Dash" (C64), "Emerald Mine" (Amiga), "Supaplex" (Amiga / PC), "Sokoban" (PC). Sie benötigen ein ZIP-Programm, um es zu installieren. +[Section.0418] +Description = Un joc de tip arcadă pentru UNIX, Mac OS X, Windows și DOS; respectând tradiția: "Boulder Dash" (C64), "Emerald Mine" (Amiga), "Supaplex" (Amiga/PC), "Sokoban" (PC). +Size = 2,42 Mo + [Section.041f] Description = UNIX, Mac OS X, Pencereler ve DOS için yapılmış, atari oyun salonu türünde bir oyun. Şu gelenekleri içerir: "Boulder Dash" (C64), "Zümrüt Mâdeni" (Amiga), "Supaplex" (Amiga ve PC), "Sokoban" (PC). Yazılımı kurmak için ZIP biçiminde çıkartma yeteneği olan bir yazılım gerekir. diff --git a/base/applications/rapps/rapps/rosbe.txt b/base/applications/rapps/rapps/rosbe.txt index 6f4b12eba8a..8a3abfc9191 100644 --- a/base/applications/rapps/rapps/rosbe.txt +++ b/base/applications/rapps/rapps/rosbe.txt @@ -5,7 +5,7 @@ Name = ReactOS Build Environment Version = 2.1 Licence = GPL Description = Allows you to build the ReactOS Source. For more instructions see ReactOS wiki. -Size = 31.6MB +Size = 31.6 MB Category = 7 URLSite = http://reactos.org/wiki/Build_Environment URLDownload = http://heanet.dl.sourceforge.net/project/reactos/RosBE-Windows/i386/2.1/RosBE-2.1.exe diff --git a/base/applications/rapps/rapps/rosbeamd64.txt b/base/applications/rapps/rapps/rosbeamd64.txt index b0544b16353..76a3755d710 100644 --- a/base/applications/rapps/rapps/rosbeamd64.txt +++ b/base/applications/rapps/rapps/rosbeamd64.txt @@ -5,7 +5,7 @@ Name = ReactOS Build Environment AMD64 Addon Version = 1.3 Licence = GPL Description = Allows you to build the ReactOS AMD64 Source. For more instructions see ReactOS wiki. -Size = 15.83MB +Size = 15.83 MB Category = 7 URLSite = http://reactos.org/wiki/Build_Environment/ URLDownload = http://sunet.dl.sourceforge.net/project/reactos/RosBE-Windows/amd64/1.3/RosBE64-1.3.exe diff --git a/base/applications/rapps/rapps/rosbearm.txt b/base/applications/rapps/rapps/rosbearm.txt index 60551551281..aa9c0282eb7 100644 --- a/base/applications/rapps/rapps/rosbearm.txt +++ b/base/applications/rapps/rapps/rosbearm.txt @@ -5,7 +5,7 @@ Name = ReactOS Build Environment ARM Addon Version = 1.0 Licence = GPL Description = Allows you to build the ReactOS ARM Source. For more instructions see ReactOS wiki. -Size = 11.15MB +Size = 11.15 MB Category = 7 URLSite = http://reactos.org/wiki/Build_Environment/ URLDownload = http://garr.dl.sourceforge.net/project/reactos/RosBE-Windows/arm/1.0/RosBE-ARM-1.0.exe diff --git a/base/applications/rapps/rapps/sambatng.txt b/base/applications/rapps/rapps/sambatng.txt index 365ec0327de..755e621b0c0 100644 --- a/base/applications/rapps/rapps/sambatng.txt +++ b/base/applications/rapps/rapps/sambatng.txt @@ -5,7 +5,7 @@ Name = Samba TNG Version = 0.5-RC1 Licence = GPL Description = This tool allows you to access your Windows shared folders/printers with ReactOS. -Size = 2.13MB +Size = 2.13 MB Category = 5 URLSite = http://samba-tng.org/ URLDownload = http://svn.reactos.org/packages/samba-tng.exe diff --git a/base/applications/rapps/rapps/sbforvmware.txt b/base/applications/rapps/rapps/sbforvmware.txt index e3a5bcfd4db..f47d83fe21b 100644 --- a/base/applications/rapps/rapps/sbforvmware.txt +++ b/base/applications/rapps/rapps/sbforvmware.txt @@ -5,7 +5,7 @@ Name = SoundBlaster Driver for VMWare Version = 5.12.1.5017 Licence = Unknown Description = Unzip in the "ReactOS" folder then restart ReactOS twice. -Size = 2.22MB +Size = 2.22 MB Category = 13 URLDownload = http://svn.reactos.org/packages/sb_vmware.exe CDPath = none @@ -51,7 +51,6 @@ Name = Modul pilot SoundBlaster pentru VMWare Licence = Nespecificată Description = Dezarhivați în dosarul „ReactOS” apoi reporniți ReactOS de două ori. Size = 2,22 Mo -URLSite = Nespecificat [Section.0419] Name = Драйвер SoundBlaster для VMWare @@ -72,4 +71,3 @@ Description = Pозархівуйте вміст в теку "ReactOS" післ Name = SoundBlaster Driver voor VMWare Licence = Ongekend Description = Pak uit in de "ReactOS" folder en start ReactOS tweemaal opnieuw op. - diff --git a/base/applications/rapps/rapps/scite.txt b/base/applications/rapps/rapps/scite.txt index b82c2af73d0..1fe5fd90630 100644 --- a/base/applications/rapps/rapps/scite.txt +++ b/base/applications/rapps/rapps/scite.txt @@ -2,13 +2,13 @@ [Section] Name = SciTE -Version = 3.3.6 +Version = 3.3.7 Licence = Freeware Description = SciTE is a SCIntilla based Text Editor. Originally built to demonstrate Scintilla, it has grown to be a generally useful editor with facilities for building and running programs. -Size = 720kB +Size = 722 kB Category = 7 URLSite = http://www.scintilla.org/ -URLDownload = http://heanet.dl.sourceforge.net/project/scintilla/SciTE/3.3.6/Sc336.exe +URLDownload = http://heanet.dl.sourceforge.net/project/scintilla/SciTE/3.3.7/Sc337.exe CDPath = none [Section.0407] @@ -19,7 +19,7 @@ Description = Editor de texto basado en SCIntilla. Originalmente creado para dem [Section.040c] Description = SciTE est un éditeur de texte basé sur SCIntilla. Originelement réalisé pour montrer Scintilla, il a évolué pour devenir un éditeur généralement utile avec des options pour compiler et lancer des programmes. -Size = 720 ko +Size = 722 ko [Section.0410] Description = SciTE è un editor di testo basato scintilla. Originariamente costruito per dimostrare Scintilla, è cresciuto fino a essere un editor generalmente utile con strutture per la creazione e l'esecuzione di programmi. @@ -33,7 +33,7 @@ Description = SciTE to edytor tekstu bazowany na SCIntilla. Oryginalnie stworzon [Section.0418] Licence = Gratuită Description = SciTE este un editor de text bazat pe SCIntilla. Construit inițial pentru a demonstra Scintilla, a crescut ulterior într-un editor de uz general cu funcționalități de compilare și execuție a programelor. -Size = 720 ko +Size = 722 ko [Section.041f] Licence = Ücretsiz diff --git a/base/applications/rapps/rapps/scummvm.txt b/base/applications/rapps/rapps/scummvm.txt index 5e7b263bfb4..875e01dbece 100644 --- a/base/applications/rapps/rapps/scummvm.txt +++ b/base/applications/rapps/rapps/scummvm.txt @@ -5,7 +5,7 @@ Name = ScummVM Version = 1.6.0 Licence = GPL Description = Sam and Max, Day of the Tentacle, etc on ReactOS. -Size = 6.28MB +Size = 6.28 MB Category = 4 URLSite = http://scummvm.org/ URLDownload = http://heanet.dl.sourceforge.net/project/scummvm/scummvm/1.6.0/scummvm-1.6.0-win32.exe diff --git a/base/applications/rapps/rapps/sdl_mixer.txt b/base/applications/rapps/rapps/sdl_mixer.txt index 5cc730d8e9a..e291ece2d7b 100644 --- a/base/applications/rapps/rapps/sdl_mixer.txt +++ b/base/applications/rapps/rapps/sdl_mixer.txt @@ -5,7 +5,7 @@ Name = Simple Direct Media Layer (SDL) Mixer Version = 1.2.12 Licence = LGPL Description = Needed for some Open Source Games to run. You need 7-Zip or a similar Utility to extract it. -Size = 548.02kB +Size = 548.02 kB Category = 14 URLSite = http://www.libsdl.org/projects/SDL_mixer/ URLDownload = http://www.libsdl.org/projects/SDL_mixer/release/SDL_mixer-1.2.12-win32.zip diff --git a/base/applications/rapps/rapps/sdl_runtime.txt b/base/applications/rapps/rapps/sdl_runtime.txt index cdda4f514f3..efd877e21f1 100644 --- a/base/applications/rapps/rapps/sdl_runtime.txt +++ b/base/applications/rapps/rapps/sdl_runtime.txt @@ -5,7 +5,7 @@ Name = Simple Direct Media Layer (SDL) Runtime Version = 1.2.15 Licence = LGPL Description = Needed for many Open Source Games to run. You need 7-Zip or a similar Utility to extract it. -Size = 136.67kB +Size = 136.67 kB Category = 14 URLSite = http://www.libsdl.org/ URLDownload = http://www.libsdl.org/release/SDL-1.2.15-win32.zip diff --git a/base/applications/rapps/rapps/seamonkey.txt b/base/applications/rapps/rapps/seamonkey.txt index 1da50881189..153b6f48815 100644 --- a/base/applications/rapps/rapps/seamonkey.txt +++ b/base/applications/rapps/rapps/seamonkey.txt @@ -2,59 +2,60 @@ [Section] Name = Mozilla SeaMonkey -Version = 2.22.1 +Version = 2.23 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 = 21.83MB +Size = 23.90 MB Category = 5 URLSite = http://www.seamonkey-project.org/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/seamonkey/releases/2.22.1/win32/en-US/SeaMonkey%20Setup%202.22.1.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/seamonkey/releases/2.23/win32/en-US/SeaMonkey%20Setup%202.23.exe CDPath = none [Section.0407] Description = Mozilla Suite lebt. Dies ist das einzige Browser-, Mail-, Chat- and Composerwerkzeug-Bundle welches Sie benötigen. -Size = 21.71MB -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/seamonkey/releases/2.22.1/win32/de/SeaMonkey%20Setup%202.22.1.exe +Size = 23.80 MB +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/seamonkey/releases/2.23/win32/de/SeaMonkey%20Setup%202.23.exe [Section.040a] Description = La suite de Mozilla está viva. Es el primero y único navegador web, gestor de correo, lector de noticias, Chat y editor HTML que necesitarás. -Size = 21.69MB -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/seamonkey/releases/2.22.1/win32/es-ES/SeaMonkey%20Setup%202.22.1.exe +Size = 23.79 MB +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/seamonkey/releases/2.23/win32/es-ES/SeaMonkey%20Setup%202.23.exe [Section.040c] Description = La suite Mozilla est en vie. Ceci est le seul et l'unique package navigateur, client mail, client chat et composer dont vous aurez besoin. -Size = 21,97 Mo -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/seamonkey/releases/2.22.1/win32/fr/SeaMonkey%20Setup%202.22.1.exe +Size = 24,06 Mo +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/seamonkey/releases/2.23/win32/fr/SeaMonkey%20Setup%202.23.exe [Section.0410] Description = Mozilla Suite è vivo. Questo è l'unico e solo Browser, Mail, Chat, e Composer di cui avrete mai bisogno... -Size = 21.62MB -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/seamonkey/releases/2.22.1/win32/it/SeaMonkey%20Setup%202.22.1.exe +Size = 23.71 MB +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/seamonkey/releases/2.23/win32/it/SeaMonkey%20Setup%202.23.exe [Section.0413] Description = Mozilla Suite bundelt alle applicaties voor het Web: Browser, Mail, Chat, Composer. -Size = 22.31MB -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/seamonkey/releases/2.22.1/win32/nl/SeaMonkey%20Setup%202.22.1.exe +Size = 24.40 MB +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/seamonkey/releases/2.23/win32/nl/SeaMonkey%20Setup%202.23.exe [Section.0415] Description = Pakiet Mozilla żyje. W zestawie: przeglądarka, klient poczty, IRC oraz Edytor HTML - wszystko, czego potrzebujesz. -Size = 22.56MB -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/seamonkey/releases/2.22.1/win32/pl/SeaMonkey%20Setup%202.22.1.exe +Size = 24.72 MB +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/seamonkey/releases/2.23/win32/pl/SeaMonkey%20Setup%202.23.exe [Section.0418] Description = Suita Mozilla. Acest pachet ce încorporează navigator, poștă electronică, client IRC și editor HTML, acoperind astfel o arie largă de necesități. -Size = 21,59 Mo +Size = 23,90 Mo [Section.0419] Description = Продолжение Mozilla Suite. Включает браузер, почтовый клиент, IRC-клиент и HTML-редактор. -Size = 22.17MB -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/seamonkey/releases/2.22.1/win32/ru/SeaMonkey%20Setup%202.22.1.exe +Size = 24.27 MB +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/seamonkey/releases/2.23/win32/ru/SeaMonkey%20Setup%202.23.exe [Section.041f] Description = Bu; yalnızca Tarayıcı, Mail, Söyleşi ve Yazar'dan oluşan, hiç gereksinim duymayacağınız bir bohçadır. -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/seamonkey/releases/2.22.1/win32/tr/SeaMonkey%20Setup%202.22.1.exe +Size = 23.83 MB +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/seamonkey/releases/2.23/win32/tr/SeaMonkey%20Setup%202.23.exe [Section.0422] Description = Продовження Mozilla Suite. Включає в себе браузер, поштовий клієнт, IRC-клієнт та HTML-редактор. -Size = 22.03MB -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/seamonkey/releases/2.22.1/win32/ru/SeaMonkey%20Setup%202.22.1.exe +Size = 24.27 MB +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/seamonkey/releases/2.23/win32/ru/SeaMonkey%20Setup%202.23.exe diff --git a/base/applications/rapps/rapps/smplayer.txt b/base/applications/rapps/rapps/smplayer.txt index 3b888e3804a..f44922728f3 100644 --- a/base/applications/rapps/rapps/smplayer.txt +++ b/base/applications/rapps/rapps/smplayer.txt @@ -5,7 +5,7 @@ Name = SMPlayer Version = 0.8.6 Licence = GPL Description = Graphical Frontend for MPlayer. -Size = 16.98MB +Size = 16.98 MB Category = 2 URLSite = http://smplayer.sourceforge.net/ URLDownload = http://freefr.dl.sourceforge.net/project/smplayer/SMPlayer/0.8.6/smplayer-0.8.6-win32.exe diff --git a/base/applications/rapps/rapps/stamina.txt b/base/applications/rapps/rapps/stamina.txt index c2464809d9a..8b68bf181d2 100644 --- a/base/applications/rapps/rapps/stamina.txt +++ b/base/applications/rapps/rapps/stamina.txt @@ -4,7 +4,7 @@ Name = Stamina 2.5 Description = Free typing tutor. URLSite = http://stamina.ru -Size = 4.7MB +Size = 4.7 MB Category = 8 URLDownload = http://stamina.ru/files/StaminaSetup.exe CDPath = none @@ -12,5 +12,9 @@ CDPath = none [Section.0407] Description = Ein freies Schreiblernprogramm. +[Section.0418] +Description = Tutor gratuit pentru dactilografiere. +Size = 4,7 Mo + [Section.041f] Description = Ücretsiz bir düğme takımında yazma öğreticisi. diff --git a/base/applications/rapps/rapps/steam.txt b/base/applications/rapps/rapps/steam.txt index dcea4d7a53a..99a3ca30e10 100644 --- a/base/applications/rapps/rapps/steam.txt +++ b/base/applications/rapps/rapps/steam.txt @@ -5,7 +5,7 @@ Name = STEAM Version = 1.0 Licence = Freeware Description = The STEAM Gaming platform used by many games these days. -Size = 1.59MB +Size = 1.59 MB Category = 4 URLSite = http://steampowered.com/ URLDownload = http://storefront.steampowered.com/download/SteamInstall.msi diff --git a/base/applications/rapps/rapps/sumatrapdf.txt b/base/applications/rapps/rapps/sumatrapdf.txt index ff40157b54c..e42c2548812 100644 --- a/base/applications/rapps/rapps/sumatrapdf.txt +++ b/base/applications/rapps/rapps/sumatrapdf.txt @@ -5,7 +5,7 @@ Name = SumatraPDF Version = 2.4 Licence = GPLv3 Description = Sumatra PDF is a slim, free, open-source PDF reader. Portable out of the box. -Size = 4.0MB +Size = 4.0 MB Category = 6 URLSite = http://blog.kowalczyk.info/software/sumatrapdf/free-pdf-reader.html URLDownload = https://kjkpub.s3.amazonaws.com/sumatrapdf/rel/SumatraPDF-2.4-install.exe diff --git a/base/applications/rapps/rapps/superdxb.txt b/base/applications/rapps/rapps/superdxb.txt index 4e7d1fa0930..588015799aa 100644 --- a/base/applications/rapps/rapps/superdxb.txt +++ b/base/applications/rapps/rapps/superdxb.txt @@ -14,6 +14,11 @@ CDPath = none [Section.0407] Description = Super DX-Ball ist ein lebendiges und buntes Brick-Breaking-Spiel. +[Section.0418] +Licence = Versiune de evaluare +Description = Un joc ce implică spargerea de cărămizi. +Size = 3,8 Mo + [Section.041f] Name = Süper DX-Ball Licence = Kısıtlı diff --git a/base/applications/rapps/rapps/superfinder.txt b/base/applications/rapps/rapps/superfinder.txt index c3cc21fb19c..9c1bdd7afd9 100644 --- a/base/applications/rapps/rapps/superfinder.txt +++ b/base/applications/rapps/rapps/superfinder.txt @@ -5,7 +5,7 @@ Name = Super Finder XT Version = 1.6.3.2 Licence = Freeware Description = A fast and feature rich search Application. -Size = 4.94MB +Size = 4.94 MB Category = 12 URLSite = http://fsl.sytes.net/ssearchxt.html URLDownload = http://www.webalice.it/guido.vinaio/releases/setup_SuperFinderXT.exe diff --git a/base/applications/rapps/rapps/supertux.txt b/base/applications/rapps/rapps/supertux.txt index b22b2b3d12d..cfb8cfdec26 100644 --- a/base/applications/rapps/rapps/supertux.txt +++ b/base/applications/rapps/rapps/supertux.txt @@ -5,7 +5,7 @@ Name = SuperTux Version = 0.1.3 Licence = GPL Description = SuperTux is a free, open-source two-dimensional platform game. -Size = 7.3MB +Size = 7.3 MB Category = 4 URLSite = http://www.supertux.lethargik.org URLDownload = http://files1.freesoft.ru/rep/694851/supertux-0.1.3-setup.exe @@ -17,5 +17,9 @@ Description = SuperTux ist ein zweidimensionales, freies, Open Source Plattforms [Section.0410] Description = SuperTux è un gioco open-source a 2D. +[Section.0418] +Description = SuperTux este un joc gratuit, cu surse publice, pe platformă bi-dimensională. +Size = 7,3 Mo + [Section.041f] Description = SuperTux, ücretsiz, iki boyutlu ve açık kaynak bir platform oyunudur. diff --git a/base/applications/rapps/rapps/tahoma.txt b/base/applications/rapps/rapps/tahoma.txt index 6ccf73dee87..2ef5721c04a 100644 --- a/base/applications/rapps/rapps/tahoma.txt +++ b/base/applications/rapps/rapps/tahoma.txt @@ -5,7 +5,7 @@ Name = Microsoft Tahoma Font Version = 1.0 Licence = Unknown Description = Tahoma Font pack needed by some apps (Steam). Contains: Tahoma.ttf, Tahomabd.ttf. -Size = 305.12kB +Size = 305.12 kB Category = 14 URLSite = http://support.microsoft.com/ URLDownload = http://download.microsoft.com/download/office97pro/fonts/1/w95/en-us/tahoma32.exe diff --git a/base/applications/rapps/rapps/thunderbird.txt b/base/applications/rapps/rapps/thunderbird.txt index d60d16af1d6..f0e9c7cac28 100644 --- a/base/applications/rapps/rapps/thunderbird.txt +++ b/base/applications/rapps/rapps/thunderbird.txt @@ -1,60 +1,73 @@ -; UTF-8 - -[Section] -Name = Mozilla Thunderbird -Version = 3.1.20 -Licence = MPL/GPL/LGPL -Description = The most popular and one of the best free Mail Clients out there. -Size = 9.06MB -Category = 5 -URLSite = http://www.mozilla.org/en/thunderbird/ -URLDownload = http://svn.reactos.org/packages/Thunderbird%20Setup%203.1.20.exe -CDPath = none - -[Section.0407] -Description = Der populärste und einer der besten freien Mail-Clients. -URLSite = http://www.mozilla-europe.org/de/products/thunderbird/ - -[Section.040a] -Description = El más popular y uno de los mejores clientes mail que hay. -URLSite = http://www.mozilla-europe.org/es/products/thunderbird/ - -[Section.040c] -Description = Le plus populaire et l'un des meilleurs clients mail gratuits disponible. -Size = 9,06 Mo -URLSite = http://www.mozilla-europe.org/fr/products/thunderbird/ - -[Section.0410] -Description = Il più popolare e il migliore Clients mail gratuito. -URLSite = http://www.mozilla-europe.org/it/products/thunderbird/ - -[Section.0413] -Description = De meest populaire en een van de beste gratis e-mail-programma's. -URLSite = http://www.mozilla-europe.org/nl/products/thunderbird/ - -[Section.0415] -Description = Najpopularniejszy i jeden z najlepszych darmowych klientów poczty. -URLSite = http://www.mozilla-europe.org/pl/products/thunderbird/ - -[Section.0418] -Description = Cel mai popular și unul dintre cele mai bune clientele gratuite de poștă electronică. -Size = 9,06 Mo -URLSite = http://www.mozilla-europe.org/ro/products/thunderbird/ - -[Section.0419] -Description = Один из самых популярных и лучших бесплатных почтовых клиентов. -URLSite = http://www.mozilla-europe.org/ru/products/thunderbird/ - -[Section.041f] -Name = Mozilla Yıldırımkuşu -Description = Özgür mail istemcileri arasında en tutulanı ve en iyisi. -URLSite = https://www.mozilla.org/tr/products/thunderbird/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/3.1.20/win32/tr/Thunderbird%20Setup%203.1.20.exe - -[Section.0422] -Description = Найпопулярніший та один з кращих поштових клієнтів. -URLSite = http://www.mozillamessaging.com/uk/thunderbird/ - -[Section.0813] -Description = De meest populaire en een van de beste gratis e-mail-programma's. -URLSite = http://www.mozilla-europe.org/nl/products/thunderbird/ +; UTF-8 + +[Section] +Name = Mozilla Thunderbird 24 +Version = 24.2.0 +Licence = MPL/GPL/LGPL +Description = The most popular and one of the best free Mail Clients out there. +Size = 21.12 MB +Category = 5 +URLSite = http://www.mozilla.org/en/thunderbird/ +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/24.2.0/win32/en-US/Thunderbird%20Setup%2024.2.0.exe +CDPath = none + +[Section.0407] +Description = Der populärste und einer der besten freien Mail-Clients. +Size = 20.96 MB +URLSite = http://www.mozilla-europe.org/de/products/thunderbird/ +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/24.2.0/win32/de/Thunderbird%20Setup%2024.2.0.exe + +[Section.040a] +Description = El más popular y uno de los mejores clientes mail que hay. +Size = 20.92 MB +URLSite = http://www.mozilla-europe.org/es/products/thunderbird/ +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/24.2.0/win32/es-ES/Thunderbird%20Setup%2024.2.0.exe + +[Section.040c] +Description = Le plus populaire et l'un des meilleurs clients mail gratuits disponible. +Size = 21,27 Mo +URLSite = http://www.mozilla-europe.org/fr/products/thunderbird/ +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/24.2.0/win32/fr/Thunderbird%20Setup%2024.2.0.exe + +[Section.0410] +Description = Il più popolare e il migliore Clients mail gratuito. +Size = 20.91 MB +URLSite = http://www.mozilla-europe.org/it/products/thunderbird/ +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/24.2.0/win32/it/Thunderbird%20Setup%2024.2.0.exe + +[Section.0413] +Description = De meest populaire en een van de beste gratis e-mail-programma's. +Size = 21.61 MB +URLSite = http://www.mozilla-europe.org/nl/products/thunderbird/ +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/24.2.0/win32/nl/Thunderbird%20Setup%2024.2.0.exe + +[Section.0415] +Description = Najpopularniejszy i jeden z najlepszych darmowych klientów poczty. +Size = 21.80 MB +URLSite = http://www.mozilla-europe.org/pl/products/thunderbird/ +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/24.2.0/win32/pl/Thunderbird%20Setup%2024.2.0.exe + +[Section.0418] +Description = Cel mai popular și unul dintre cele mai bune clientele gratuite de poștă electronică. +Size = 21,48 Mo +URLSite = http://www.mozilla-europe.org/ro/products/thunderbird/ +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/24.2.0/win32/ro/Thunderbird%20Setup%2024.2.0.exe + +[Section.0419] +Description = Один из самых популярных и лучших бесплатных почтовых клиентов. +Size = 21.38 MB +URLSite = http://www.mozilla-europe.org/ru/products/thunderbird/ +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/24.2.0/win32/ru/Thunderbird%20Setup%2024.2.0.exe + +[Section.041f] +Name = Mozilla Yıldırımkuşu +Description = Özgür mail istemcileri arasında en tutulanı ve en iyisi. +Size = 20,99 MB +URLSite = https://www.mozilla.org/tr/products/thunderbird/ +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/24.2.0/win32/tr/Thunderbird%20Setup%2024.2.0.exe + +[Section.0422] +Description = Найпопулярніший та один з кращих поштових клієнтів. +Size = 21.41 MB +URLSite = http://www.mozillamessaging.com/uk/thunderbird/ +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/24.2.0/win32/uk/Thunderbird%20Setup%2024.2.0.exe diff --git a/base/applications/rapps/rapps/thunderbird5.txt b/base/applications/rapps/rapps/thunderbird3.txt similarity index 56% rename from base/applications/rapps/rapps/thunderbird5.txt rename to base/applications/rapps/rapps/thunderbird3.txt index c84f79c69a6..d329ccba321 100644 --- a/base/applications/rapps/rapps/thunderbird5.txt +++ b/base/applications/rapps/rapps/thunderbird3.txt @@ -1,72 +1,60 @@ -; UTF-8 - -[Section] -Name = Mozilla Thunderbird 24 -Version = 24.1.1 -Licence = MPL/GPL/LGPL -Description = The most popular and one of the best free Mail Clients out there. -Size = 21.12MB -Category = 5 -URLSite = http://www.mozilla.org/en/thunderbird/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/24.1.1/win32/en-US/Thunderbird%20Setup%2024.1.1.exe -CDPath = none - -[Section.0407] -Description = Der populärste und einer der besten freien Mail-Clients. -Size = 20.96MB -URLSite = http://www.mozilla-europe.org/de/products/thunderbird/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/24.1.1/win32/de/Thunderbird%20Setup%2024.1.1.exe - -[Section.040a] -Description = El más popular y uno de los mejores clientes mail que hay. -Size = 21.12MB -URLSite = http://www.mozilla-europe.org/es/products/thunderbird/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/24.1.1/win32/es-ES/Thunderbird%20Setup%2024.1.1.exe - -[Section.040c] -Description = Le plus populaire et l'un des meilleurs clients mail gratuits disponible. -Size = 21,26 Mo -URLSite = http://www.mozilla-europe.org/fr/products/thunderbird/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/24.1.1/win32/fr/Thunderbird%20Setup%2024.1.1.exe - -[Section.0410] -Description = Il più popolare e il migliore Clients mail gratuito. -Size = 20.91MB -URLSite = http://www.mozilla-europe.org/it/products/thunderbird/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/24.1.1/win32/it/Thunderbird%20Setup%2024.1.1.exe - -[Section.0413] -Description = De meest populaire en een van de beste gratis e-mail-programma's. -Size = 21.60MB -URLSite = http://www.mozilla-europe.org/nl/products/thunderbird/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/24.1.1/win32/nl/Thunderbird%20Setup%2024.1.1.exe - -[Section.0415] -Description = Najpopularniejszy i jeden z najlepszych darmowych klientów poczty. -Size = 21.79MB -URLSite = http://www.mozilla-europe.org/pl/products/thunderbird/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/24.1.1/win32/pl/Thunderbird%20Setup%2024.1.1.exe - -[Section.0418] -Description = Cel mai popular și unul dintre cele mai bune clientele gratuite de poștă electronică. -Size = 21,47 Mo -URLSite = http://www.mozilla-europe.org/ro/products/thunderbird/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/24.1.1/win32/ro/Thunderbird%20Setup%2024.1.1.exe - -[Section.0419] -Description = Один из самых популярных и лучших бесплатных почтовых клиентов. -Size = 21.38MB -URLSite = http://www.mozilla-europe.org/ru/products/thunderbird/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/24.1.1/win32/ru/Thunderbird%20Setup%2024.1.1.exe - -[Section.041f] -Name = Mozilla Yıldırımkuşu -Description = Özgür mail istemcileri arasında en tutulanı ve en iyisi. -URLSite = https://www.mozilla.org/tr/products/thunderbird/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/24.1.1/win32/tr/Thunderbird%20Setup%2024.1.1.exe - -[Section.0422] -Description = Найпопулярніший та один з кращих поштових клієнтів. -Size = 21.40MB -URLSite = http://www.mozillamessaging.com/uk/thunderbird/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/24.1.1/win32/uk/Thunderbird%20Setup%2024.1.1.exe +; UTF-8 + +[Section] +Name = Mozilla Thunderbird +Version = 3.1.20 +Licence = MPL/GPL/LGPL +Description = The most popular and one of the best free Mail Clients out there. +Size = 9.06 MB +Category = 5 +URLSite = http://www.mozilla.org/en/thunderbird/ +URLDownload = http://svn.reactos.org/packages/Thunderbird%20Setup%203.1.20.exe +CDPath = none + +[Section.0407] +Description = Der populärste und einer der besten freien Mail-Clients. +URLSite = http://www.mozilla-europe.org/de/products/thunderbird/ + +[Section.040a] +Description = El más popular y uno de los mejores clientes mail que hay. +URLSite = http://www.mozilla-europe.org/es/products/thunderbird/ + +[Section.040c] +Description = Le plus populaire et l'un des meilleurs clients mail gratuits disponible. +Size = 9,06 Mo +URLSite = http://www.mozilla-europe.org/fr/products/thunderbird/ + +[Section.0410] +Description = Il più popolare e il migliore Clients mail gratuito. +URLSite = http://www.mozilla-europe.org/it/products/thunderbird/ + +[Section.0413] +Description = De meest populaire en een van de beste gratis e-mail-programma's. +URLSite = http://www.mozilla-europe.org/nl/products/thunderbird/ + +[Section.0415] +Description = Najpopularniejszy i jeden z najlepszych darmowych klientów poczty. +URLSite = http://www.mozilla-europe.org/pl/products/thunderbird/ + +[Section.0418] +Description = Cel mai popular și unul dintre cele mai bune clientele gratuite de poștă electronică. +Size = 9,06 Mo +URLSite = http://www.mozilla-europe.org/ro/products/thunderbird/ + +[Section.0419] +Description = Один из самых популярных и лучших бесплатных почтовых клиентов. +URLSite = http://www.mozilla-europe.org/ru/products/thunderbird/ + +[Section.041f] +Name = Mozilla Yıldırımkuşu +Description = Özgür mail istemcileri arasında en tutulanı ve en iyisi. +URLSite = https://www.mozilla.org/tr/products/thunderbird/ +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/3.1.20/win32/tr/Thunderbird%20Setup%203.1.20.exe + +[Section.0422] +Description = Найпопулярніший та один з кращих поштових клієнтів. +URLSite = http://www.mozillamessaging.com/uk/thunderbird/ + +[Section.0813] +Description = De meest populaire en een van de beste gratis e-mail-programma's. +URLSite = http://www.mozilla-europe.org/nl/products/thunderbird/ diff --git a/base/applications/rapps/rapps/tileworld.txt b/base/applications/rapps/rapps/tileworld.txt index 555652a01c0..39adafdd6cd 100644 --- a/base/applications/rapps/rapps/tileworld.txt +++ b/base/applications/rapps/rapps/tileworld.txt @@ -5,7 +5,7 @@ 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.16MB +Size = 1.16 MB 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 diff --git a/base/applications/rapps/rapps/totalcommander.txt b/base/applications/rapps/rapps/totalcommander.txt index 2d94b4fb302..b8b3c1e1eed 100644 --- a/base/applications/rapps/rapps/totalcommander.txt +++ b/base/applications/rapps/rapps/totalcommander.txt @@ -5,7 +5,7 @@ Name = Total Commander Version = 8.01 Licence = Shareware Description = Total Commander is a file manager with two panels side by side. -Size = 3.3MB +Size = 3.3 MB Category = 12 URLSite = http://www.ghisler.com/ URLDownload = http://www.slo.ru/download/total_commander/tcm801x32.exe @@ -24,8 +24,9 @@ Description = Total Commander is een bestandsbeheerder met twee panelen zij aan Description = Total Commander to popularny menedżer plików z dwoma panelami, ustawionymi obok siebie. [Section.0418] +Licence = Versiune de evaluare Description = Total Commander este un gestionar de fișiere după modelul «două paneluri alăturate». -Size = 3,25 Mo +Size = 3,3 Mo [Section.041f] Name = Eksiksiz Komutan @@ -34,4 +35,3 @@ Description = Eksiksiz Komutan, yan yana iki bölmenin bulunduğu bir kütük y [Section.0813] Description = Total Commander is een bestandsbeheerder met twee panelen zij aan zij. - diff --git a/base/applications/rapps/rapps/tuxpaint.txt b/base/applications/rapps/rapps/tuxpaint.txt index 28bb06b50cc..5612fb08a5b 100644 --- a/base/applications/rapps/rapps/tuxpaint.txt +++ b/base/applications/rapps/rapps/tuxpaint.txt @@ -5,7 +5,7 @@ Name = TuxPaint Version = 0.9.21c Licence = GPL Description = An Open Source bitmap graphics editor geared towards young children. -Size = 10.42MB +Size = 10.42 MB Category = 3 URLSite = http://tuxpaint.org/ URLDownload = http://garr.dl.sourceforge.net/project/tuxpaint/tuxpaint/0.9.21c/tuxpaint-0.9.21c-win32-installer.exe diff --git a/base/applications/rapps/rapps/ultravnc.txt b/base/applications/rapps/rapps/ultravnc.txt index d1e27fdbc08..cdda4cd2320 100644 --- a/base/applications/rapps/rapps/ultravnc.txt +++ b/base/applications/rapps/rapps/ultravnc.txt @@ -5,7 +5,7 @@ Name = UltraVNC Version = 1.1.9.0 Licence = GPL Description = Open-source VNC client/server. -Size = 3.27MB +Size = 3.27 MB Category = 5 URLSite = http://www.uvnc.com/ URLDownload = http://support1.uvnc.com/download/1190/UltraVNC_1_1_9_X86_Setup.exe diff --git a/base/applications/rapps/rapps/utorrent.txt b/base/applications/rapps/rapps/utorrent.txt index 232287c607d..a7cd4b01f71 100644 --- a/base/applications/rapps/rapps/utorrent.txt +++ b/base/applications/rapps/rapps/utorrent.txt @@ -5,7 +5,7 @@ Name = µTorrent Version = 3.3.2 Licence = Freeware for non-commercial uses Description = Small and fast BitTorrent Client. -Size = 1020.58kB +Size = 1020.58 kB Category = 5 URLSite = http://www.utorrent.com/ URLDownload = http://download-new.utorrent.com/endpoint/utorrent/os/windows/track/stable/utorrent.exe diff --git a/base/applications/rapps/rapps/vb5run.txt b/base/applications/rapps/rapps/vb5run.txt index 25d546a6536..4f0002d7bb8 100644 --- a/base/applications/rapps/rapps/vb5run.txt +++ b/base/applications/rapps/rapps/vb5run.txt @@ -5,7 +5,7 @@ Name = Visual Basic 5 Runtime Version = 5.0 Licence = Unknown Description = Visual Basic 5 Runtime. Contains: advpack.dll, asycfilt.dll, comcat.dll, msvbvm50.dll, oleaut32.dll, olepro32.dll. -Size = 969.59kB +Size = 969.59 kB Category = 14 URLSite = http://support.microsoft.com/kb/180071/ URLDownload = http://download.microsoft.com/download/vb50pro/utility/1/win98/en-us/msvbvm50.exe diff --git a/base/applications/rapps/rapps/vb6run.txt b/base/applications/rapps/rapps/vb6run.txt index d03fb92c4fb..e2f8467a6c2 100644 --- a/base/applications/rapps/rapps/vb6run.txt +++ b/base/applications/rapps/rapps/vb6run.txt @@ -5,7 +5,7 @@ Name = Visual Basic 6 Runtime Version = 6.0 Licence = Unknown Description = Visual Basic 6 Runtime. Contains: advpack.dll, asycfilt.dll, comcat.dll, msvbvm60.dll, oleaut32.dll, olepro32.dll. -Size = 1.02MB +Size = 1.02 MB Category = 14 URLSite = http://support.microsoft.com/kb/192461/ URLDownload = http://download.microsoft.com/download/5/a/d/5ad868a0-8ecd-4bb0-a882-fe53eb7ef348/VB6.0-KB290887-X86.exe diff --git a/base/applications/rapps/rapps/vc2005sp1run.txt b/base/applications/rapps/rapps/vc2005sp1run.txt index c947c58d86e..a85ed400f59 100644 --- a/base/applications/rapps/rapps/vc2005sp1run.txt +++ b/base/applications/rapps/rapps/vc2005sp1run.txt @@ -5,7 +5,7 @@ Name = Microsoft Visual C++ 2005 SP1 Redistributable Package Version = 7.1 Licence = Unknown Description = Visual Studio 2005 Runtime SP1. Contains: atl80.dll, mfc80.dll, mfcm80.dll, mfcm80u.dll, msdia80.dll, msvcm80.dll, msvcp80.dll, msvcr80.dll, vcomp.dll. -Size = 2.6MB +Size = 2.6 MB Category = 14 URLSite = http://www.microsoft.com/en-us/download/details.aspx?id=5638 URLDownload = http://download.microsoft.com/download/e/1/c/e1c773de-73ba-494a-a5ba-f24906ecf088/vcredist_x86.exe diff --git a/base/applications/rapps/rapps/vc2008sp1run.txt b/base/applications/rapps/rapps/vc2008sp1run.txt index 5c0450811f9..7ccdbb2d249 100644 --- a/base/applications/rapps/rapps/vc2008sp1run.txt +++ b/base/applications/rapps/rapps/vc2008sp1run.txt @@ -5,7 +5,7 @@ Name = Microsoft Visual C++ 2008 SP1 Redistributable Package Version = 8.0 Licence = Unknown Description = Visual Studio 2008 SP1 Runtime. Contains: atl90.dll, mfc90.dll, mfc90u.dll, mfcm90.dll, mfcm90u.dll, msdia90.dll, msvcm90.dll, msvcp90.dll, msvcr90.dll, vcomp90.dll. -Size = 4.02MB +Size = 4.02 MB Category = 14 URLSite = http://www.microsoft.com/en-us/download/details.aspx?id=5582 URLDownload = http://download.microsoft.com/download/d/d/9/dd9a82d0-52ef-40db-8dab-795376989c03/vcredist_x86.exe diff --git a/base/applications/rapps/rapps/vc2010run.txt b/base/applications/rapps/rapps/vc2010run.txt index 19cf3140cdc..f894eb474a5 100644 --- a/base/applications/rapps/rapps/vc2010run.txt +++ b/base/applications/rapps/rapps/vc2010run.txt @@ -5,7 +5,7 @@ Name = Microsoft Visual C++ 2010 Redistributable Package Version = 8.0 Licence = Unknown Description = Visual Studio 2010 Runtime. Contains: atl100.dll, mfc100.dll, mfc100u.dll, mfcm100.dll, mfcm100u.dll, msdia100.dll, msvcm100.dll, msvcp100.dll, msvcr100.dll, vcomp100.dll. -Size = 4.8MB +Size = 4.8 MB Category = 14 URLSite = http://www.microsoft.com/en-us/download/details.aspx?id=5555 URLDownload = http://download.microsoft.com/download/5/B/C/5BC5DBB3-652D-4DCE-B14A-475AB85EEF6E/vcredist_x86.exe @@ -22,7 +22,7 @@ Description = Librerias Visual Studio 2010. Incluye: atl100.dll, mfc100.dll, mfc [Section.040c] Licence = Inconnue Description = Bibliothèque Visual Studio 2010. Contient: atl100.dll, mfc100.dll, mfc100u.dll, mfcm100.dll, mfcm100u.dll, msdia100.dll, msvcm100.dll, msvcp100.dll, msvcr100.dll, vcomp100.dll. -Size = 4.02 Mo +Size = 4.8 Mo [Section.0410] Licence = Sconosciuta @@ -39,7 +39,7 @@ Description = Biblioteki uruchomieniowe Visual Studio 2010. Zawiera: atl100.dll, [Section.0418] Licence = Necunoscută Description = Visual Studio 2010 Runtime. Conține: atl100.dll, mfc100.dll, mfc90u.dll, mfcm100.dll, mfcm90u.dll, msdia100.dll, msvcm100.dll, msvcp100.dll, msvcr100.dll, vcomp100.dll. -Size = 4.02 Mo +Size = 4,8 Mo [Section.041f] Name = Mikroyazılım Basarî C++ 2010 Yeniden Dağıtılabilir Paket diff --git a/base/applications/rapps/rapps/vc6run.txt b/base/applications/rapps/rapps/vc6run.txt index 233bfd01a2c..c252105baa3 100644 --- a/base/applications/rapps/rapps/vc6run.txt +++ b/base/applications/rapps/rapps/vc6run.txt @@ -5,7 +5,7 @@ Name = Microsoft Visual C++ 6 Redistributable Package Version = 6.0 Licence = Unknown Description = Visual Studio 6 Runtime. Contains: advpack.dll, asycfilt.dll, atla.dll, atlu.dll, comcat.dll, mfc42.dll, mfc42u.dll, msvcirt.dll, msvcp60.dll, msvcrt.dll, oleaut32.dll, olepro32.dll. -Size = 1.75MB +Size = 1.75 MB Category = 14 URLSite = http://support.microsoft.com/kb/259403/ URLDownload = http://download.microsoft.com/download/vc60pro/Update/2/W9XNT4/EN-US/VC6RedistSetup_deu.exe diff --git a/base/applications/rapps/rapps/vlc.txt b/base/applications/rapps/rapps/vlc.txt index 46cf94502de..eaf22be7b6d 100644 --- a/base/applications/rapps/rapps/vlc.txt +++ b/base/applications/rapps/rapps/vlc.txt @@ -2,13 +2,13 @@ [Section] Name = VLC media player -Version = 2.1.1 +Version = 2.1.2 Licence = GPL Description = A media player. -Size = 23.2MB +Size = 23.0 MB Category = 2 URLSite = http://www.videolan.org/vlc/ -URLDownload = http://mirror.de.leaseweb.net/videolan/vlc/2.1.1/win32/vlc-2.1.1-win32.exe +URLDownload = http://mirror.de.leaseweb.net/videolan/vlc/2.1.2/win32/vlc-2.1.2-win32.exe CDPath = none [Section.0407] @@ -19,7 +19,7 @@ Description = Reproductor multimedia. [Section.040c] Description = Un lecteur media. -Size = 23,2 Mo +Size = 23,0 Mo [Section.0410] Description = Lettore multimediale. @@ -32,7 +32,7 @@ Description = Odtwarzacz multimediów. [Section.0418] Description = Lector multimedia. -Size = 23,2 Mo +Size = 23,0 Mo [Section.0419] Description = Мультимедийный проигрыватель. diff --git a/base/applications/rapps/rapps/winboard.txt b/base/applications/rapps/rapps/winboard.txt index c39a3c68901..473db5eaabc 100644 --- a/base/applications/rapps/rapps/winboard.txt +++ b/base/applications/rapps/rapps/winboard.txt @@ -5,7 +5,7 @@ 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.93MB +Size = 5.93 MB Category = 4 URLSite = http://www.gnu.org/software/xboard/ URLDownload = http://ftp.gnu.org/old-gnu/xboard/winboard/winboard-4_2_7b.exe diff --git a/base/applications/rapps/rapps/wme9.txt b/base/applications/rapps/rapps/wme9.txt index 6f884a3e037..b09a45ff172 100644 --- a/base/applications/rapps/rapps/wme9.txt +++ b/base/applications/rapps/rapps/wme9.txt @@ -5,7 +5,7 @@ Name = Windows Media Encoder 9 Version = 9.0 Licence = Unknown Description = Windows Media Encoder 9 -Size = 9.46MB +Size = 9.46 MB Category = 14 URLSite = http://www.microsoft.com/en-us/download/details.aspx?id=17792 URLDownload = http://download.microsoft.com/download/8/1/f/81f9402f-efdd-439d-b2a4-089563199d47/WMEncoder.exe diff --git a/base/applications/rapps/rapps/zaz.txt b/base/applications/rapps/rapps/zaz.txt index 30726bfb3e6..1f97db481f2 100644 --- a/base/applications/rapps/rapps/zaz.txt +++ b/base/applications/rapps/rapps/zaz.txt @@ -5,7 +5,7 @@ Name = Zaz Version = 1.0.0 Licence = GPL Description = Zaz is a free software arcade action puzzle computer game, a little bit like Frozen Bubble. -Size = 21.0MB +Size = 21.0 MB Category = 4 URLSite = http://zaz.sourceforge.net URLDownload = http://files1.freesoft.ru/rep/704321/Zaz-1.0.0-Setup.exe @@ -17,5 +17,9 @@ Description = Zaz ist ein freies Arcade Action Puzzle Spiel, ein wenig wie Froze [Section.0410] Description = Zaz è un puzzle game gratuito, simile a Frozen Bubble. +[Section.0418] +Description = Zaz este un joc de acțiune de tip enigmă/arcadă, asemănător cu Frozen Bubble. +Size = 21,0 Mo + [Section.041f] Description = Zaz, atari salonu oyunu türünde, gelişimli bir bulmaca oyunudur. Bir nebze Donmuş Kabarcıklar'a benzemektedir. \ No newline at end of file diff --git a/base/applications/rapps/resource.h b/base/applications/rapps/resource.h index 9d5aa80631f..96f3c2121d6 100644 --- a/base/applications/rapps/resource.h +++ b/base/applications/rapps/resource.h @@ -87,7 +87,6 @@ #define IDS_APPLICATIONS 112 #define IDS_CHOOSE_FOLDER_TEXT 113 #define IDS_CHOOSE_FOLDER_ERROR 114 -#define IDS_USER_NOT_ADMIN 115 #define IDS_APP_REG_REMOVE 116 #define IDS_INFORMATION 117 #define IDS_UNABLE_TO_REMOVE 118 diff --git a/base/applications/rapps/richedit.c b/base/applications/rapps/richedit.c index fad3ba39321..970a328f0ce 100644 --- a/base/applications/rapps/richedit.c +++ b/base/applications/rapps/richedit.c @@ -23,10 +23,10 @@ RichEditOnLink(HWND hwnd, ENLINK *Link) { if (pLink) HeapFree(GetProcessHeap(), 0, pLink); - pLink = (PWSTR) HeapAlloc(GetProcessHeap(), - 0, - (max(Link->chrg.cpMin, Link->chrg.cpMax) - - min(Link->chrg.cpMin, Link->chrg.cpMax) + 1) * sizeof(WCHAR)); + pLink = HeapAlloc(GetProcessHeap(), + 0, + (max(Link->chrg.cpMin, Link->chrg.cpMax) - + min(Link->chrg.cpMin, Link->chrg.cpMax) + 1) * sizeof(WCHAR)); if (!pLink) { /* TODO: Error message */ @@ -36,7 +36,7 @@ RichEditOnLink(HWND hwnd, ENLINK *Link) SendMessageW(hRichEdit, EM_SETSEL, Link->chrg.cpMin, Link->chrg.cpMax); SendMessageW(hRichEdit, EM_GETSELTEXT, 0, (LPARAM)pLink); - ShowPopupMenu(hwnd, IDR_LINKMENU); + ShowPopupMenu(hwnd, IDR_LINKMENU, -1); } break; } diff --git a/base/applications/rapps/settingsdlg.c b/base/applications/rapps/settingsdlg.c index 5bbda1d2cfc..7f3a5fba409 100644 --- a/base/applications/rapps/settingsdlg.c +++ b/base/applications/rapps/settingsdlg.c @@ -113,7 +113,9 @@ SettingsDlgProc(HWND hDlg, UINT Msg, WPARAM wParam, LPARAM lParam) if (dwAttr != INVALID_FILE_ATTRIBUTES && (dwAttr & FILE_ATTRIBUTE_DIRECTORY)) { - wcscpy(NewSettingsInfo.szDownloadDir, szDir); + StringCbCopyW(NewSettingsInfo.szDownloadDir, + sizeof(NewSettingsInfo.szDownloadDir), + szDir); } else { diff --git a/base/applications/rapps/winmain.c b/base/applications/rapps/winmain.c index 18925595310..f88eb942320 100644 --- a/base/applications/rapps/winmain.c +++ b/base/applications/rapps/winmain.c @@ -10,19 +10,37 @@ #include +#define SEARCH_TIMER_ID 'SR' + HWND hMainWnd; HINSTANCE hInst; HIMAGELIST hImageTreeView = NULL; INT SelectedEnumType = ENUM_ALL_COMPONENTS; SETTINGS_INFO SettingsInfo; +PCWSTR (WINAPI *pStrStrIW)(PCWSTR, PCWSTR); + +WCHAR szSearchPattern[MAX_STR_LEN] = L""; +BOOL SearchEnabled = TRUE; + +BOOL +SearchPatternMatch(PCWSTR szHaystack, PCWSTR szNeedle) +{ + if (!*szNeedle) + return TRUE; + /* TODO: Improve pattern search beyond a simple case-insensitive substring search. */ + return pStrStrIW(szHaystack, szNeedle) != NULL; +} + VOID FillDefaultSettings(PSETTINGS_INFO pSettingsInfo) { pSettingsInfo->bSaveWndPos = TRUE; pSettingsInfo->bUpdateAtStart = FALSE; pSettingsInfo->bLogEnabled = TRUE; - wcscpy(pSettingsInfo->szDownloadDir, L"C:\\Downloads"); + StringCbCopyW(pSettingsInfo->szDownloadDir, + sizeof(pSettingsInfo->szDownloadDir), + L"C:\\Downloads"); pSettingsInfo->bDelInstaller = FALSE; pSettingsInfo->Maximized = FALSE; @@ -38,7 +56,7 @@ LoadSettings(VOID) HKEY hKey; DWORD dwSize; - if (RegOpenKeyExW(HKEY_LOCAL_MACHINE, L"Software\\ReactOS\\rapps", 0, KEY_READ, &hKey) == ERROR_SUCCESS) + if (RegOpenKeyExW(HKEY_CURRENT_USER, L"Software\\ReactOS\\rapps", 0, KEY_READ, &hKey) == ERROR_SUCCESS) { dwSize = sizeof(SETTINGS_INFO); if (RegQueryValueExW(hKey, L"Settings", NULL, NULL, (LPBYTE)&SettingsInfo, &dwSize) == ERROR_SUCCESS) @@ -71,7 +89,7 @@ SaveSettings(HWND hwnd) SettingsInfo.Maximized = (IsZoomed(hwnd) || (wp.flags & WPF_RESTORETOMAXIMIZED)); } - if (RegCreateKeyExW(HKEY_LOCAL_MACHINE, L"Software\\ReactOS\\rapps", 0, NULL, + if (RegCreateKeyExW(HKEY_CURRENT_USER, L"Software\\ReactOS\\rapps", 0, NULL, REG_OPTION_NON_VOLATILE, KEY_WRITE, NULL, &hKey, NULL) == ERROR_SUCCESS) { RegSetValueExW(hKey, L"Settings", 0, REG_BINARY, (LPBYTE)&SettingsInfo, sizeof(SETTINGS_INFO)); @@ -105,6 +123,9 @@ EnumInstalledAppProc(INT ItemIndex, LPWSTR lpName, INSTALLED_INFO Info) WCHAR szText[MAX_PATH]; INT Index; + if (!SearchPatternMatch(lpName, szSearchPattern)) + return TRUE; + ItemInfo = HeapAlloc(GetProcessHeap(), 0, sizeof(INSTALLED_INFO)); if (!ItemInfo) return FALSE; @@ -113,10 +134,10 @@ EnumInstalledAppProc(INT ItemIndex, LPWSTR lpName, INSTALLED_INFO Info) Index = ListViewAddItem(ItemIndex, 0, lpName, (LPARAM)ItemInfo); /* Get version info */ - GetApplicationString((HKEY)ItemInfo->hSubKey, L"DisplayVersion", szText); + GetApplicationString(ItemInfo->hSubKey, L"DisplayVersion", szText); ListView_SetItemText(hListView, Index, 1, szText); /* Get comments */ - GetApplicationString((HKEY)ItemInfo->hSubKey, L"Comments", szText); + GetApplicationString(ItemInfo->hSubKey, L"Comments", szText); ListView_SetItemText(hListView, Index, 2, szText); return TRUE; @@ -144,6 +165,12 @@ EnumAvailableAppProc(APPLICATION_INFO Info) PAPPLICATION_INFO ItemInfo; INT Index; + if (!SearchPatternMatch(Info.szName, szSearchPattern) && + !SearchPatternMatch(Info.szDesc, szSearchPattern)) + { + return TRUE; + } + /* Only add a ListView entry if... - no RegName was supplied (so we cannot determine whether the application is installed or not) or - a RegName was supplied and the application is not installed @@ -212,12 +239,14 @@ UpdateApplicationsList(INT EnumType) /* Destroy old image list */ if (hImageListView) - ImageList_Destroy(hImageListView); + ImageList_Destroy(hImageListView); SelectedEnumType = EnumType; LoadStringW(hInst, IDS_APPS_COUNT, szBuffer2, sizeof(szBuffer2) / sizeof(WCHAR)); - swprintf(szBuffer1, szBuffer2, ListView_GetItemCount(hListView)); + StringCbPrintfW(szBuffer1, sizeof(szBuffer1), + szBuffer2, + ListView_GetItemCount(hListView)); SetStatusBarText(szBuffer1); SetWelcomeText(); @@ -330,7 +359,9 @@ InitControls(HWND hwnd) InitCategoriesList(); LoadStringW(hInst, IDS_APPS_COUNT, szBuffer2, sizeof(szBuffer2) / sizeof(WCHAR)); - swprintf(szBuffer1, szBuffer2, ListView_GetItemCount(hListView)); + StringCbPrintfW(szBuffer1, sizeof(szBuffer1), + szBuffer2, + ListView_GetItemCount(hListView)); SetStatusBarText(szBuffer1); return TRUE; } @@ -338,6 +369,13 @@ InitControls(HWND hwnd) return FALSE; } +VOID CALLBACK +SearchTimerProc(HWND hwnd, UINT uMsg, UINT_PTR idEvent, DWORD dwTime) +{ + KillTimer(hwnd, SEARCH_TIMER_ID); + UpdateApplicationsList(-1); +} + VOID MainWndOnCommand(HWND hwnd, WPARAM wParam, LPARAM lParam) { @@ -355,7 +393,11 @@ MainWndOnCommand(HWND hwnd, WPARAM wParam, LPARAM lParam) LoadStringW(hInst, IDS_SEARCH_TEXT, szBuf, sizeof(szBuf) / sizeof(WCHAR)); GetWindowTextW(hSearchBar, szWndText, MAX_STR_LEN); - if (wcscmp(szBuf, szWndText) == 0) SetWindowTextW(hSearchBar, L""); + if (wcscmp(szBuf, szWndText) == 0) + { + SearchEnabled = FALSE; + SetWindowTextW(hSearchBar, L""); + } } break; @@ -365,14 +407,37 @@ MainWndOnCommand(HWND hwnd, WPARAM wParam, LPARAM lParam) if (wcslen(szBuf) < 1) { LoadStringW(hInst, IDS_SEARCH_TEXT, szBuf, sizeof(szBuf) / sizeof(WCHAR)); + SearchEnabled = FALSE; SetWindowTextW(hSearchBar, szBuf); } } break; case EN_CHANGE: - /* TODO: Implement search */ - break; + { + WCHAR szWndText[MAX_STR_LEN]; + + if (!SearchEnabled) + { + SearchEnabled = TRUE; + break; + } + + LoadStringW(hInst, IDS_SEARCH_TEXT, szBuf, sizeof(szBuf) / sizeof(WCHAR)); + GetWindowTextW(hSearchBar, szWndText, MAX_STR_LEN); + if (wcscmp(szBuf, szWndText) != 0) + { + StringCbCopy(szSearchPattern, sizeof(szSearchPattern), + szWndText); + } + else + { + szSearchPattern[0] = UNICODE_NULL; + } + + SetTimer(hwnd, SEARCH_TIMER_ID, 250, SearchTimerProc); + } + break; } return; @@ -523,6 +588,25 @@ MainWndOnSize(HWND hwnd, WPARAM wParam, LPARAM lParam) EndDeferWindowPos(hdwp); } +BOOL IsSelectedNodeInstalled(void) +{ + HTREEITEM hSelectedItem = TreeView_GetSelection(hTreeView); + TV_ITEM tItem; + + tItem.mask = TVIF_PARAM | TVIF_HANDLE; + tItem.hItem = hSelectedItem; + TreeView_GetItem(hTreeView, &tItem); + switch (tItem.lParam) + { + case IDS_INSTALLED: + case IDS_APPLICATIONS: + case IDS_UPDATES: + return TRUE; + default: + return FALSE; + } +} + LRESULT CALLBACK MainWindowProc(HWND hwnd, UINT Msg, WPARAM wParam, LPARAM lParam) { @@ -532,8 +616,6 @@ MainWindowProc(HWND hwnd, UINT Msg, WPARAM wParam, LPARAM lParam) if (!InitControls(hwnd)) PostMessage(hwnd, WM_CLOSE, 0, 0); - if (SettingsInfo.bUpdateAtStart) - UpdateAppsDB(); break; case WM_COMMAND: @@ -629,6 +711,42 @@ MainWindowProc(HWND hwnd, UINT Msg, WPARAM wParam, LPARAM lParam) break; } } + + /* Disable/enable items based on treeview selection */ + if (IsSelectedNodeInstalled()) + { + EnableMenuItem(GetMenu(hwnd), ID_REGREMOVE, MF_ENABLED); + EnableMenuItem(GetMenu(hwnd), ID_INSTALL, MF_GRAYED); + EnableMenuItem(GetMenu(hwnd), ID_UNINSTALL, MF_ENABLED); + EnableMenuItem(GetMenu(hwnd), ID_MODIFY, MF_ENABLED); + + EnableMenuItem(GetMenu(hListView), ID_REGREMOVE, MF_ENABLED); + EnableMenuItem(GetMenu(hListView), ID_INSTALL, MF_GRAYED); + EnableMenuItem(GetMenu(hListView), ID_UNINSTALL, MF_ENABLED); + EnableMenuItem(GetMenu(hListView), ID_MODIFY, MF_ENABLED); + + SendMessage(hToolBar, TB_ENABLEBUTTON, ID_REGREMOVE, TRUE); + SendMessage(hToolBar, TB_ENABLEBUTTON, ID_INSTALL, FALSE); + SendMessage(hToolBar, TB_ENABLEBUTTON, ID_UNINSTALL, TRUE); + SendMessage(hToolBar, TB_ENABLEBUTTON, ID_MODIFY, TRUE); + } + else + { + EnableMenuItem(GetMenu(hwnd), ID_REGREMOVE, MF_GRAYED); + EnableMenuItem(GetMenu(hwnd), ID_INSTALL, MF_ENABLED); + EnableMenuItem(GetMenu(hwnd), ID_UNINSTALL, MF_GRAYED); + EnableMenuItem(GetMenu(hwnd), ID_MODIFY, MF_GRAYED); + + EnableMenuItem(GetMenu(hListView), ID_REGREMOVE, MF_GRAYED); + EnableMenuItem(GetMenu(hListView), ID_INSTALL, MF_ENABLED); + EnableMenuItem(GetMenu(hListView), ID_UNINSTALL, MF_GRAYED); + EnableMenuItem(GetMenu(hListView), ID_MODIFY, MF_GRAYED); + + SendMessage(hToolBar, TB_ENABLEBUTTON, ID_REGREMOVE, FALSE); + SendMessage(hToolBar, TB_ENABLEBUTTON, ID_INSTALL, TRUE); + SendMessage(hToolBar, TB_ENABLEBUTTON, ID_UNINSTALL, FALSE); + SendMessage(hToolBar, TB_ENABLEBUTTON, ID_MODIFY, FALSE); + } } break; @@ -671,19 +789,34 @@ MainWindowProc(HWND hwnd, UINT Msg, WPARAM wParam, LPARAM lParam) break; case NM_CLICK: - if (data->hwndFrom == hListView) + { + if (data->hwndFrom == hListView && ((LPNMLISTVIEW)lParam)->iItem != -1) { if (IS_INSTALLED_ENUM(SelectedEnumType)) ShowInstalledAppInfo(-1); if (IS_AVAILABLE_ENUM(SelectedEnumType)) ShowAvailableAppInfo(-1); } - break; + } + break; + + case NM_DBLCLK: + { + if (data->hwndFrom == hListView && ((LPNMLISTVIEW)lParam)->iItem != -1) + { + SendMessage(hwnd, WM_COMMAND, ID_INSTALL, 0); //Won't do anything if the program is already installed + } + } + break; case NM_RCLICK: - if (data->hwndFrom == hListView) - ShowPopupMenu(hListView, IDR_APPLICATIONMENU); - break; + { + if (data->hwndFrom == hListView && ((LPNMLISTVIEW)lParam)->iItem != -1) + { + ShowPopupMenu(hListView, 0, ID_INSTALL); + } + } + break; case EN_LINK: RichEditOnLink(hwnd, (ENLINK*)lParam); @@ -771,29 +904,25 @@ wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int nSh WNDCLASSEXW WndClass = {0}; WCHAR szWindowClass[] = L"ROSAPPMGR"; WCHAR szWindowName[MAX_STR_LEN]; - WCHAR szErrorText[MAX_STR_LEN]; HANDLE hMutex = NULL; MSG Msg; - switch (GetUserDefaultUILanguage()) - { - case MAKELANGID(LANG_HEBREW, SUBLANG_DEFAULT): - SetProcessDefaultLayout(LAYOUT_RTL); - break; + /* FIXME: CORE-7786 requires this to be loaded at runtime because we + * would get comctl32's version otherwise */ + pStrStrIW = (PVOID)GetProcAddress(GetModuleHandle(L"shlwapi"), "StrStrIW"); - default: - break; - } + switch (GetUserDefaultUILanguage()) + { + case MAKELANGID(LANG_HEBREW, SUBLANG_DEFAULT): + SetProcessDefaultLayout(LAYOUT_RTL); + break; + + default: + break; + } hInst = hInstance; - if (!IsUserAnAdmin()) - { - LoadStringW(hInst, IDS_USER_NOT_ADMIN, szErrorText, sizeof(szErrorText) / sizeof(WCHAR)); - MessageBox(0, szErrorText, NULL, MB_OK | MB_ICONWARNING); - return 1; - } - hMutex = CreateMutexW(NULL, FALSE, szWindowClass); if ((!hMutex) || (GetLastError() == ERROR_ALREADY_EXISTS)) { @@ -845,9 +974,12 @@ wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int nSh if (!hMainWnd) goto Exit; /* Show it */ - ShowWindow(hMainWnd, SW_SHOW); + ShowWindow(hMainWnd, nShowCmd); UpdateWindow(hMainWnd); + if (SettingsInfo.bUpdateAtStart) + UpdateAppsDB(); + /* Message Loop */ while (GetMessage(&Msg, NULL, 0, 0)) { diff --git a/base/applications/regedit/lang/ro-RO.rc b/base/applications/regedit/lang/ro-RO.rc index a07011310f3..547e307234d 100644 --- a/base/applications/regedit/lang/ro-RO.rc +++ b/base/applications/regedit/lang/ro-RO.rc @@ -1,3 +1,5 @@ +/* Translator: Ștefan Fulea (stefan dot fulea at mail dot md) */ + LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL ID_ACCEL ACCELERATORS @@ -394,10 +396,10 @@ END STRINGTABLE BEGIN - IDS_IMPORT_PROMPT "Adding information can unintentionally change or delete values and cause components to stop working correctly.\nIf you do not trust the source of this information in '%s', do not add it to registry.\n\nAre you sure you want to continue?" - IDS_IMPORT_OK "The keys and values contained in '%s' have been successfully added to the registry." - IDS_IMPORT_ERROR "Cannot import '%s': Error opening the file. There may be a disk, file system error or file may not exist." - IDS_EXPORT_ERROR "Cannot export '%s': Error creating or writing to the file. There may be a disk or file system error." + IDS_IMPORT_PROMPT "Adăugarea de informații poate în mod neintenționat modifica sau șterge valori (de registru) și cauza funcționare incorectă. Dacă nu aveți încredere în sursa acestei informații din '%s', nu o adăugați în registru.\n\nSigur doriți să continuați?" + IDS_IMPORT_OK "Cheile și valorile conținute în '%s' au fost adăugate cu succes în registru." + IDS_IMPORT_ERROR "Nu se poate importa '%s': Eroare la deschiderea fișierului. Poate fi o problemă a mediului de stocare, a sistemului de fișiere sau fișierul în cauză să nu existe." + IDS_EXPORT_ERROR "Nu se poate exoprta '%s': Eroare la crearea sau scrierea în fișier. Poate fi o problemă a mediului de stocare sau a sistemului de fișiere." END STRINGTABLE diff --git a/base/applications/shutdown/lang/ro-RO.rc b/base/applications/shutdown/lang/ro-RO.rc index 80b826a5e78..cec53cb89bc 100644 --- a/base/applications/shutdown/lang/ro-RO.rc +++ b/base/applications/shutdown/lang/ro-RO.rc @@ -1,103 +1,107 @@ +/* Translator: Ștefan Fulea (stefan dot fulea at mail dot md) */ + LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL /* Dialog */ IDD_GUI DIALOGEX 0, 0, 240, 255 STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Remote Shutdown" +CAPTION "Închidere la distanță" FONT 8, "MS Shell Dlg" BEGIN - DEFPUSHBUTTON "&OK", IDC_OK, 125, 232, 50, 14 - PUSHBUTTON "&Cancel", IDC_CANCEL, 178, 232, 50, 14 - LTEXT "Co&mputers:", IDC_STATIC, 9, 9, 35, 36 + DEFPUSHBUTTON "Con&firmă", IDC_OK, 125, 232, 50, 14 + PUSHBUTTON "A&nulează", IDC_CANCEL, 178, 232, 50, 14 + LTEXT "&Calculatoare:", IDC_STATIC, 9, 9, 35, 36 LISTBOX IDC_COMPUTER_LIST, 8, 19, 162, 55 - PUSHBUTTON "&Add...", IDC_ADD_SYSTEM, 179, 19, 50, 14 - PUSHBUTTON "&Remove", IDC_REMOVE_SYSTEM, 179, 36, 50, 14, WS_DISABLED - PUSHBUTTON "&Browse...", IDC_BROWSE_SYSTEM, 179, 53, 50, 14 - LTEXT "Action", IDC_ACTION, 11, 81, 20, 14 + PUSHBUTTON "&Adăugare…", IDC_ADD_SYSTEM, 179, 19, 50, 14 + PUSHBUTTON "&Elimină", IDC_REMOVE_SYSTEM, 179, 36, 50, 14, WS_DISABLED + PUSHBUTTON "&Specificare…", IDC_BROWSE_SYSTEM, 179, 53, 50, 14 + LTEXT "Acțiune", IDC_ACTION, 11, 81, 20, 14 COMBOBOX IDC_ACTION_TYPE, 37, 79, 129, 14, WS_TABSTOP | CBS_DROPDOWN - CHECKBOX "Warn users", IDC_WARN_USERS, 175, 79, 55, 14, BS_AUTOCHECKBOX | WS_TABSTOP - LTEXT "Display warning for", IDC_SHOW_WARN_ONE, 11, 99, 65, 14 + CHECKBOX "Avertizează utilizatorii", IDC_WARN_USERS, 175, 79, 55, 14, BS_AUTOCHECKBOX | WS_TABSTOP + LTEXT "Fișați avertisment pentru", IDC_SHOW_WARN_ONE, 11, 99, 65, 14 EDITTEXT IDC_SHOW_WARN, 78, 97, 41, 14 - LTEXT "second(s)", IDC_SHOW_WARN_TWO, 124, 99, 32, 10 - GROUPBOX "Shutdown Event Tracker", IDC_STATIC, 5, 114, 224, 114 - LTEXT "Reason:", IDC_STATIC, 16, 130, 27, 8 - CHECKBOX "Planned", IDC_PLANNED, 175, 130, 40, 12, BS_AUTOCHECKBOX | WS_TABSTOP + LTEXT "secunde", IDC_SHOW_WARN_TWO, 124, 99, 32, 10 + GROUPBOX "Jurnal de evenimente-închideri", IDC_STATIC, 5, 114, 224, 114 + LTEXT "Motiv:", IDC_STATIC, 16, 130, 27, 8 + CHECKBOX "Planificat", IDC_PLANNED, 175, 130, 40, 12, BS_AUTOCHECKBOX | WS_TABSTOP COMBOBOX IDC_REASON_CODE, 17, 142, 198, 13, WS_TABSTOP | CBS_DROPDOWN - LTEXT "Comm&ent:", IDC_COMMENT_CAPTION, 16, 159, 38, 8 + LTEXT "Co&mentariu:", IDC_COMMENT_CAPTION, 16, 159, 38, 8 EDITTEXT IDC_COMMENT_TEXT, 17, 171, 198, 50, WS_VSCROLL END /* Information and error messages */ STRINGTABLE BEGIN - IDS_USAGE "ReactOS Shutdown Utility\n\ + IDS_USAGE "Utilitar de închidere ReactOS\n\ \n\ -Usage: shutdown [/?] [/i | /l | /s | /r | /g | /a | /p | /h | /e] [/f]\n\ - [/m \\\\computer][/t xxx][/d [p|u:]xx:yy [/c ""comment""]]\n\ +Utilizare: shutdown [/?] [/i | /l | /s | /r | /g | /a | /p | /h | /e] [/f]\n\ + [/m \\\\calculator][/t xxx][/d [p|u:]xx:yy [/c «comentariu»]]\n\ \n\ - No arguments or /? Display this help.\n\ - /i Show the graphical user interface (GUI). This option must be the\n\ - first one.\n\ - /l Log off on the local system only. Cannot be used with /m or /d.\n\ - /s Shutdown the computer.\n\ - /r Restart the computer.\n\ - /g Restart the computer and restart all the registered applications.\n\ - /a Cancel a delayed shutdown. Can only be used during the delay\n\ - period.\n\ - /p Shutdown the local computer without any timeout or warning. Can be\n\ - used with /d or /f.\n\ - /h Hibernate the local computer. Usable with /f.\n\ - /e Document the reason for the unexpected computer shutdown.\n\ - /m \\\\computer Specify the target computer (UNC/IP address).\n\ - /t xxx Set the timeout period to xxx seconds before shutting down.\n\ - The valid range starts from 0 to 315360000 (10 years),\n\ - 30 being the default value.\n\ - /c ""comment"" Comment on the reason for shutdown or restart.\n\ - 512 characters maximum allowed.\n\ - /f Force running applications to close without warning users. If you\n\ - do not specify any other parameter, this option will also log off.\n\ - /d [p|u:]xx:yy Give the reason code for the shutdown or the restart.\n\ - p indicates that the shutdown or the restart is planned.\n\ - u indicates that the reason is defined by the user.\n\ - If neither p nor u are specified, the shutdown or the restart are\n\ - not planned.\n\ - xx is the major reason code (positive integer smaller than 256).\n\ - yy is the minor reason code (positive integer smaller than 65536).\n" + Fără argumente sau /? Se afișează acest manual.\n\ + /i Afișarea interfeței grafice de utilizator (GUI). Această\n\ + opțiune trebuie să preceadă.\n\ + /l Desautentificare locală. Nu poate fi utilizată cu /m sau /d.\n\ + /s Închidere calculator.\n\ + /r Repornire calculator.\n\ + /g Repornire calculator plus repornirea tuturor aplicațiilor\n\ + înregistrate.\n\ + /a Anularea unei închideri întârziate. Poate fi utilizată doar în\n\ + perioada de întârziere.\n\ + /p Închiderea calculatorului fără avertisment sau cronometrare\n\ + inversă. Poate fi utilizată cu /d sau /f.\n\ + /h Hibernarea calculatorului local. Utilizabilă cu /f.\n\ + /e Documentarea motivului pentru închiderea neprevăzută.\n\ + /m \\\\calculator Specificarea unui calculator țintă (adresă UNC/IP).\n\ + /t xxx Instituie cronometrarea unei perioade de xxx secunde înainte de\n\ + închidere. Domeniul de valori valide este de la 0 la 315360000\n\ + (10 ani), 30 fiind valoarea implicită.\n\ + /c «comentariu» Comentarea motivului pentru închidere sau repornire.\n\ + Sunt permise maxim 512 caractere.\n\ + /f Forțarea închiderii aplicațiilor curente fără avertizarea\n\ + utilizatorilor. Dacă nu sunt specificați alți parametri, această\n\ + opțiune implică și deautentificarea.\n\ + /d [p|u:]xx:yy Oferă un ca motiv un cod pentru închidere sau repornire.\n\ + p indică planificarea închiderii sau repornirii calculatorului.\n\ + u indică faptul că motivul este definit de utilizator.\n\ + Dacă nici p nici u nu sunt specificați, închiderea sau repornirea\n\ + nu sunt planificate.\n\ + xx este codul pentru motivul major (întreg pozitiv sub 256).\n\ + yy este codul pentru motivul minor (întreg pozitiv sub 65536).\n" - IDS_ERROR_SHUTDOWN_REBOOT "ERROR: Unable to shutdown and restart at the same time.\n" - IDS_ERROR_TIMEOUT "ERROR: Timeout value of %u is out of bounds (0-315360000).\n" - IDS_ERROR_ABORT "ERROR: Unable to abort the shutdown of the system.\n" - IDS_ERROR_LOGOFF "ERROR: Unable to logoff the system.\n" - IDS_ERROR_SHUTDOWN "ERROR: Unable to shutdown the system.\n" - IDS_ERROR_RESTART "ERROR: Unable to restart the system.\n" - IDS_ERROR_MAX_COMMENT_LENGTH "ERROR: Comment length exceeds maximum character limit set by the system.\n" - IDS_ERROR_HIBERNATE "ERROR: Unable to send system into hibernation mode.\n" - IDS_ERROR_HIBERNATE_LOCAL "ERROR: Hibernation mode cannot be started remotely.\n" - IDS_ERROR_HIBERNATE_ENABLED "ERROR: Hibernation mode is not enabled.\n" - IDS_ERROR_DIALOG_CAPTION "Remote Shutdown" - IDS_ERROR_DIALOG_INIT "Unable to display the graphical user interface." + IDS_ERROR_SHUTDOWN_REBOOT "Eroare: Nu se poate închide și reporni în același timp.\n" + IDS_ERROR_TIMEOUT "Eroare: Valoarea %u a cronometrului este în afara limitelor valide (0-315360000).\n" + IDS_ERROR_ABORT "Eroare: Închiderea sistemului nu poate fi anulată.\n" + IDS_ERROR_LOGOFF "Eroare: Deautentificarea din sistem nu poate fi executată.\n" + IDS_ERROR_SHUTDOWN "Eroare: Sistemul nu poate fi închis.\n" + IDS_ERROR_RESTART "Eroare: Sistemul nu poate fi repornit.\n" + IDS_ERROR_MAX_COMMENT_LENGTH "Eroare: Numărul de caractere al comentariului depășește limita impusă de sistem.\n" + IDS_ERROR_HIBERNATE "Eroare: Sistemul nu poate fi pus în hibernare.\n" + IDS_ERROR_HIBERNATE_LOCAL "Eroare: Hibernarea nu poate fi comandată la distanță.\n" + IDS_ERROR_HIBERNATE_ENABLED "Eroare: Modul de hibernare nu este activat.\n" + IDS_ERROR_DIALOG_CAPTION "Închidere la distanță" + IDS_ERROR_DIALOG_INIT "Nu se poate afișa interfața grafică de utilizator." END /* Remote shutdown action strings */ STRINGTABLE BEGIN - IDS_ACTION_SHUTDOWN "Shutdown the system" - IDS_ACTION_RESTART "Restart the system" - IDS_ACTION_UNEXPECTED_SHUTDOWN "Annotate the unexpected shutdown" + IDS_ACTION_SHUTDOWN "Închide sistemul" + IDS_ACTION_RESTART "Repornește sistemul" + IDS_ACTION_UNEXPECTED_SHUTDOWN "Adnotează închiderea neprevăzută" END /* Remote shutdown reason strings */ STRINGTABLE BEGIN - IDS_REASON_OTHER "Other" - IDS_REASON_HARDWARE_MAINTENANCE "Hardware: Maintenance" - IDS_REASON_HARDWARE_INSTALL "Hardware: Installation" - IDS_REASON_OS_RECOVER "Operating System: Recovery" - IDS_REASON_OS_RECONFIGURE "Operating System: Reconfigure" - IDS_REASON_APP_MAINTENANCE "Application: Maintenance" - IDS_REASON_APP_INSTALL "Application: Installation" - IDS_REASON_APP_UNRESPONSIVE "Application: Unresponsive" - IDS_REASON_APP_UNSTABLE "Application: Unstable" - IDS_REASON_SECURITY "Security Issue" - IDS_REASON_NETWORK "Loss of network connectivity" + IDS_REASON_OTHER "Altul" + IDS_REASON_HARDWARE_MAINTENANCE "Hardware: Mentenanță" + IDS_REASON_HARDWARE_INSTALL "Hardware: Instalare" + IDS_REASON_OS_RECOVER "Sistem de operare: Recuperare" + IDS_REASON_OS_RECONFIGURE "Sistem de operare: Reconfigurare" + IDS_REASON_APP_MAINTENANCE "Aplicații: Mentenanță" + IDS_REASON_APP_INSTALL "Aplicații: Instalare" + IDS_REASON_APP_UNRESPONSIVE "Aplicații: Neresponsivitate" + IDS_REASON_APP_UNSTABLE "Aplicații: Instabilitate" + IDS_REASON_SECURITY "Probleme de securitate" + IDS_REASON_NETWORK "Pierdere conexiune de rețea" END diff --git a/base/applications/shutdown/misc.c b/base/applications/shutdown/misc.c index a245bfa37af..bbd8d42c3ea 100644 --- a/base/applications/shutdown/misc.c +++ b/base/applications/shutdown/misc.c @@ -8,6 +8,8 @@ #include "precomp.h" +#include + const DWORD defaultReason = SHTDN_REASON_MAJOR_OTHER | SHTDN_REASON_MINOR_OTHER; REASON shutdownReason[] = diff --git a/base/applications/shutdown/precomp.h b/base/applications/shutdown/precomp.h index 95080b61bf4..43cb0994969 100644 --- a/base/applications/shutdown/precomp.h +++ b/base/applications/shutdown/precomp.h @@ -2,16 +2,13 @@ #define __SHUTDOWN_PRECOMP_H /* INCLUDES ******************************************************************/ + #include + #include #include #include #include -#include -#include -#include -#include -// #include // Shutdown codes #include "resource.h" @@ -60,4 +57,4 @@ VOID DisplayError(DWORD dwError); /* gui.c */ BOOL ShutdownGuiMain(struct CommandLineOptions opts); -#endif +#endif /* __SHUTDOWN_PRECOMP_H */ diff --git a/base/applications/shutdown/shutdown.c b/base/applications/shutdown/shutdown.c index 0c348138163..37942e55113 100644 --- a/base/applications/shutdown/shutdown.c +++ b/base/applications/shutdown/shutdown.c @@ -7,6 +7,10 @@ #include "precomp.h" +#include +#include +#include + /* * This takes strings from a resource stringtable * and outputs it to the console. diff --git a/base/applications/sndrec32/CMakeLists.txt b/base/applications/sndrec32/CMakeLists.txt index 72640fc35ae..c3e720286d2 100644 --- a/base/applications/sndrec32/CMakeLists.txt +++ b/base/applications/sndrec32/CMakeLists.txt @@ -13,5 +13,5 @@ add_executable(sndrec32 rsrc.rc) set_module_type(sndrec32 win32gui UNICODE) -add_importlibs(sndrec32 winmm user32 msacm32 comctl32 comdlg32 gdi32 msvcrt kernel32) +add_importlibs(sndrec32 winmm user32 msacm32 comctl32 comdlg32 gdi32 msvcrt kernel32 shell32) add_cd_file(TARGET sndrec32 DESTINATION reactos/system32 FOR all) diff --git a/base/applications/sndrec32/lang/cs-CZ.rc b/base/applications/sndrec32/lang/cs-CZ.rc index 0963de67b96..6bd4b9a8fd0 100644 --- a/base/applications/sndrec32/lang/cs-CZ.rc +++ b/base/applications/sndrec32/lang/cs-CZ.rc @@ -18,7 +18,7 @@ FONT 8, "MS Shell Dlg", 0, 0, 0x1 BEGIN ICON IDI_SNDREC32, -1, 19, 14, 21, 20 LTEXT "ReactOS Záznam zvuku, verze 1.0", IDC_STATIC, 56, 16, 114, 8, SS_NOPREFIX - LTEXT "Copyright (C) 2009", IDC_STATIC, 55, 25, 114, 8 + LTEXT "Copyright (C) 2009", IDC_STATIC, 56, 25, 114, 8 DEFPUSHBUTTON "OK", IDOK, 139, 54, 50, 14, WS_GROUP END @@ -26,18 +26,43 @@ IDR_MENU1 MENU BEGIN POPUP "Soubor" BEGIN - MENUITEM "Nový", ID_NEW + MENUITEM "Nový", ID_FILE_NEW MENUITEM "Otevřít...", ID_FILE_OPEN MENUITEM "Uložit", ID_FILE_SAVE, GRAYED MENUITEM "Uložit jako...", ID_FILE_SAVEAS, GRAYED + MENUITEM "Restore...", ID_FILE_RESTORE, GRAYED + MENUITEM "Properties", ID_FILE_PROPERTIES MENUITEM SEPARATOR - MENUITEM "Konec", ID_EXIT + MENUITEM "Konec", ID_FILE_EXIT END - MENUITEM "todo1", 0 - MENUITEM "todo2", 0 - POPUP "?" + POPUP "&Edit" BEGIN - MENUITEM "O programu...", ID__ABOUT + MENUITEM "&Copy", ID_EDIT_COPY + MENUITEM "&Paste Insert", ID_EDIT_PASTE, GRAYED + MENUITEM "Paste Mi&x", ID_EDIT_PASTEMIX, GRAYED + MENUITEM SEPARATOR + MENUITEM "&Insert File...", ID_EDIT_INSERTFILE + MENUITEM "&Mix with File...", ID_EDIT_MIXFILE + MENUITEM SEPARATOR + MENUITEM "Delete &Before Current Position",ID_EDIT_DELETEBEFORE, GRAYED + MENUITEM "Delete &After Current Position",ID_EDIT_DELETEAFTER, GRAYED + MENUITEM SEPARATOR + MENUITEM "A&udio Properties", ID_EDIT_AUDIOPROPS + END + POPUP "Effect&s" + BEGIN + MENUITEM "&Increase Volume (by 25%)", ID_EFFECTS_INCVOL + MENUITEM "&Decrease Volume", ID_EFFECTS_DECVOL + MENUITEM SEPARATOR + MENUITEM "&Increase Speed (by 100%)", ID_EFFECTS_INCSPD + MENUITEM "&Decrease Speed", ID_EFFECTS_DECSPD + MENUITEM SEPARATOR + MENUITEM "&Add Echo", ID_EFFECTS_ECHO + MENUITEM "&Reverse", ID_EFFECTS_REVERSE + END + POPUP "&?" + BEGIN + MENUITEM "O programu...", ID_ABOUT END END diff --git a/base/applications/sndrec32/lang/de-DE.rc b/base/applications/sndrec32/lang/de-DE.rc index 6689b4fa2a6..fdfb8a7a0f2 100644 --- a/base/applications/sndrec32/lang/de-DE.rc +++ b/base/applications/sndrec32/lang/de-DE.rc @@ -12,27 +12,52 @@ CAPTION "Information zum Audiorecorder" FONT 8, "MS Shell Dlg", 0, 0, 0x1 BEGIN ICON IDI_SNDREC32, -1, 19, 14, 21, 20 - LTEXT "ReactOS Audiorecorder, Version 1.0", IDC_STATIC, 16, 16, 134, 8, SS_NOPREFIX - LTEXT "Copyright (C) 2009", IDC_STATIC, 16, 25, 134, 8 + LTEXT "ReactOS Audiorecorder, Version 1.0", IDC_STATIC, 56, 16, 134, 8, SS_NOPREFIX + LTEXT "Copyright (C) 2009", IDC_STATIC, 56, 25, 134, 8 DEFPUSHBUTTON "OK", IDOK, 139, 54, 50, 14, WS_GROUP END IDR_MENU1 MENU BEGIN - POPUP "Datei" + POPUP "&Datei" BEGIN - MENUITEM "Neu", ID_NEW - MENUITEM "Öffnen...", ID_FILE_OPEN - MENUITEM "Speichern", ID_FILE_SAVE, GRAYED - MENUITEM "Speichern unter...", ID_FILE_SAVEAS, GRAYED + MENUITEM "Neu", ID_FILE_NEW + MENUITEM "Ö&ffnen...", ID_FILE_OPEN + MENUITEM "&Speichern", ID_FILE_SAVE, GRAYED + MENUITEM "Speichern &unter...", ID_FILE_SAVEAS, GRAYED + MENUITEM "&Wiederherstellen...", ID_FILE_RESTORE, GRAYED + MENUITEM "&Eigenschaften", ID_FILE_PROPERTIES MENUITEM SEPARATOR - MENUITEM "Beenden", ID_EXIT + MENUITEM "&Beenden", ID_FILE_EXIT END - MENUITEM "todo1", 0 - MENUITEM "todo2", 0 - POPUP "?" + POPUP "&Bearbeiten" BEGIN - MENUITEM "Über...", ID__ABOUT + MENUITEM "&Kopieren", ID_EDIT_COPY + MENUITEM "&Einfügen", ID_EDIT_PASTE, GRAYED + MENUITEM "&Mix Einfügen", ID_EDIT_PASTEMIX, GRAYED + MENUITEM SEPARATOR + MENUITEM "&Datei einfügen...", ID_EDIT_INSERTFILE + MENUITEM "D&atei einmischen...", ID_EDIT_MIXFILE + MENUITEM SEPARATOR + MENUITEM "Vor aktueller Position &löschen",ID_EDIT_DELETEBEFORE, GRAYED + MENUITEM "Nach aktueller Position lö&schen",ID_EDIT_DELETEAFTER, GRAYED + MENUITEM SEPARATOR + MENUITEM "A&udioeigenschaften", ID_EDIT_AUDIOPROPS + END + POPUP "&Effekte" + BEGIN + MENUITEM "Lautstärke &erhöhen (um 25%)",ID_EFFECTS_INCVOL + MENUITEM "Lautstärke &verringern", ID_EFFECTS_DECVOL + MENUITEM SEPARATOR + MENUITEM "Geschwindigkeit er&höhen (um 100%)",ID_EFFECTS_INCSPD + MENUITEM "Geschwindigkeit ver&ringern", ID_EFFECTS_DECSPD + MENUITEM SEPARATOR + MENUITEM "E&cho hinzufügen", ID_EFFECTS_ECHO + MENUITEM "&Umkehren", ID_EFFECTS_REVERSE + END + POPUP "&?" + BEGIN + MENUITEM "Inf&o...", ID_ABOUT END END diff --git a/base/applications/sndrec32/lang/en-US.rc b/base/applications/sndrec32/lang/en-US.rc index 351d1b5d9ed..02d571b89c5 100644 --- a/base/applications/sndrec32/lang/en-US.rc +++ b/base/applications/sndrec32/lang/en-US.rc @@ -13,7 +13,7 @@ FONT 8, "MS Shell Dlg", 0, 0, 0x1 BEGIN ICON IDI_SNDREC32, -1, 19, 14, 21, 20 LTEXT "ReactOS Sound Recorder, version 1.0", IDC_STATIC, 56, 16, 114, 8, SS_NOPREFIX - LTEXT "Copyright (C) 2009", IDC_STATIC, 55, 25, 114, 8 + LTEXT "Copyright (C) 2009", IDC_STATIC, 56, 25, 114, 8 DEFPUSHBUTTON "OK", IDOK, 139, 54, 50, 14, WS_GROUP END @@ -21,18 +21,43 @@ IDR_MENU1 MENU BEGIN POPUP "File" BEGIN - MENUITEM "New", ID_NEW + MENUITEM "New", ID_FILE_NEW MENUITEM "Open...", ID_FILE_OPEN MENUITEM "Save", ID_FILE_SAVE, GRAYED MENUITEM "Save As...", ID_FILE_SAVEAS, GRAYED + MENUITEM "Restore...", ID_FILE_RESTORE, GRAYED + MENUITEM "Properties", ID_FILE_PROPERTIES MENUITEM SEPARATOR - MENUITEM "Exit", ID_EXIT + MENUITEM "Exit", ID_FILE_EXIT END - MENUITEM "todo1", 0 - MENUITEM "todo2", 0 - POPUP "?" + POPUP "&Edit" BEGIN - MENUITEM "About...", ID__ABOUT + MENUITEM "&Copy", ID_EDIT_COPY + MENUITEM "&Paste Insert", ID_EDIT_PASTE, GRAYED + MENUITEM "Paste Mi&x", ID_EDIT_PASTEMIX, GRAYED + MENUITEM SEPARATOR + MENUITEM "&Insert File...", ID_EDIT_INSERTFILE + MENUITEM "&Mix with File...", ID_EDIT_MIXFILE + MENUITEM SEPARATOR + MENUITEM "Delete &Before Current Position", ID_EDIT_DELETEBEFORE, GRAYED + MENUITEM "Delete &After Current Position", ID_EDIT_DELETEAFTER, GRAYED + MENUITEM SEPARATOR + MENUITEM "A&udio Properties", ID_EDIT_AUDIOPROPS + END + POPUP "Effect&s" + BEGIN + MENUITEM "&Increase Volume (by 25%)", ID_EFFECTS_INCVOL + MENUITEM "&Decrease Volume", ID_EFFECTS_DECVOL + MENUITEM SEPARATOR + MENUITEM "&Increase Speed (by 100%)", ID_EFFECTS_INCSPD + MENUITEM "&Decrease Speed", ID_EFFECTS_DECSPD + MENUITEM SEPARATOR + MENUITEM "&Add Echo", ID_EFFECTS_ECHO + MENUITEM "&Reverse", ID_EFFECTS_REVERSE + END + POPUP "&?" + BEGIN + MENUITEM "About...", ID_ABOUT END END diff --git a/base/applications/sndrec32/lang/es-ES.rc b/base/applications/sndrec32/lang/es-ES.rc index 3b7c490eb81..ec6e7661082 100644 --- a/base/applications/sndrec32/lang/es-ES.rc +++ b/base/applications/sndrec32/lang/es-ES.rc @@ -13,7 +13,7 @@ FONT 8, "MS Shell Dlg", 0, 0, 0x1 BEGIN ICON IDI_SNDREC32, -1, 19, 14, 21, 20 LTEXT "Grabadora de sonidos ReactOS, version 1.0", IDC_STATIC, 56, 16, 114, 8, SS_NOPREFIX - LTEXT "Copyright (C) 2009", IDC_STATIC, 55, 25, 114, 8 + LTEXT "Copyright (C) 2009", IDC_STATIC, 56, 25, 114, 8 DEFPUSHBUTTON "Aceptar", IDOK, 139, 54, 50, 14, WS_GROUP END @@ -21,18 +21,43 @@ IDR_MENU1 MENU BEGIN POPUP "Archivo" BEGIN - MENUITEM "Nuevo", ID_NEW + MENUITEM "Nuevo", ID_FILE_NEW MENUITEM "Abrir...", ID_FILE_OPEN MENUITEM "Guardar", ID_FILE_SAVE, GRAYED MENUITEM "Guardar como...", ID_FILE_SAVEAS, GRAYED + MENUITEM "Restore...", ID_FILE_RESTORE, GRAYED + MENUITEM "Properties", ID_FILE_PROPERTIES MENUITEM SEPARATOR - MENUITEM "Salir", ID_EXIT + MENUITEM "Salir", ID_FILE_EXIT + END + POPUP "&Edit" + BEGIN + MENUITEM "&Copy", ID_EDIT_COPY + MENUITEM "&Paste Insert", ID_EDIT_PASTE, GRAYED + MENUITEM "Paste Mi&x", ID_EDIT_PASTEMIX, GRAYED + MENUITEM SEPARATOR + MENUITEM "&Insert File...", ID_EDIT_INSERTFILE + MENUITEM "&Mix with File...", ID_EDIT_MIXFILE + MENUITEM SEPARATOR + MENUITEM "Delete &Before Current Position",ID_EDIT_DELETEBEFORE, GRAYED + MENUITEM "Delete &After Current Position",ID_EDIT_DELETEAFTER, GRAYED + MENUITEM SEPARATOR + MENUITEM "A&udio Properties", ID_EDIT_AUDIOPROPS + END + POPUP "Effect&s" + BEGIN + MENUITEM "&Increase Volume (by 25%)", ID_EFFECTS_INCVOL + MENUITEM "&Decrease Volume", ID_EFFECTS_DECVOL + MENUITEM SEPARATOR + MENUITEM "&Increase Speed (by 100%)", ID_EFFECTS_INCSPD + MENUITEM "&Decrease Speed", ID_EFFECTS_DECSPD + MENUITEM SEPARATOR + MENUITEM "&Add Echo", ID_EFFECTS_ECHO + MENUITEM "&Reverse", ID_EFFECTS_REVERSE END - MENUITEM "todo1", 0 - MENUITEM "todo2", 0 POPUP "?" BEGIN - MENUITEM "Acerca de...", ID__ABOUT + MENUITEM "Acerca de...", ID_ABOUT END END diff --git a/base/applications/sndrec32/lang/fr-FR.rc b/base/applications/sndrec32/lang/fr-FR.rc index d50f714bcae..aee2226c943 100644 --- a/base/applications/sndrec32/lang/fr-FR.rc +++ b/base/applications/sndrec32/lang/fr-FR.rc @@ -13,7 +13,7 @@ FONT 8, "MS Shell Dlg", 0, 0, 0x1 BEGIN ICON IDI_SNDREC32, -1, 19, 14, 21, 20 LTEXT "Enregistreur de Son ReactOS, version 1.0", IDC_STATIC, 56, 16, 114, 8, SS_NOPREFIX - LTEXT "Copyright (C) 2009", IDC_STATIC, 55, 25, 114, 8 + LTEXT "Copyright (C) 2009", IDC_STATIC, 56, 25, 114, 8 DEFPUSHBUTTON "Accepter", IDOK, 139, 54, 50, 14, WS_GROUP END @@ -21,18 +21,43 @@ IDR_MENU1 MENU BEGIN POPUP "Fichier" BEGIN - MENUITEM "Nouveau", ID_NEW + MENUITEM "Nouveau", ID_FILE_NEW MENUITEM "Ouvrir...", ID_FILE_OPEN MENUITEM "Enregistrer", ID_FILE_SAVE, GRAYED MENUITEM "Enregistrer sous...", ID_FILE_SAVEAS, GRAYED + MENUITEM "Restore...", ID_FILE_RESTORE, GRAYED + MENUITEM "Properties", ID_FILE_PROPERTIES MENUITEM SEPARATOR - MENUITEM "Sortir", ID_EXIT + MENUITEM "Sortir", ID_FILE_EXIT + END + POPUP "&Edit" + BEGIN + MENUITEM "&Copy", ID_EDIT_COPY + MENUITEM "&Paste Insert", ID_EDIT_PASTE, GRAYED + MENUITEM "Paste Mi&x", ID_EDIT_PASTEMIX, GRAYED + MENUITEM SEPARATOR + MENUITEM "&Insert File...", ID_EDIT_INSERTFILE + MENUITEM "&Mix with File...", ID_EDIT_MIXFILE + MENUITEM SEPARATOR + MENUITEM "Delete &Before Current Position",ID_EDIT_DELETEBEFORE, GRAYED + MENUITEM "Delete &After Current Position",ID_EDIT_DELETEAFTER, GRAYED + MENUITEM SEPARATOR + MENUITEM "A&udio Properties", ID_EDIT_AUDIOPROPS + END + POPUP "Effect&s" + BEGIN + MENUITEM "&Increase Volume (by 25%)", ID_EFFECTS_INCVOL + MENUITEM "&Decrease Volume", ID_EFFECTS_DECVOL + MENUITEM SEPARATOR + MENUITEM "&Increase Speed (by 100%)", ID_EFFECTS_INCSPD + MENUITEM "&Decrease Speed", ID_EFFECTS_DECSPD + MENUITEM SEPARATOR + MENUITEM "&Add Echo", ID_EFFECTS_ECHO + MENUITEM "&Reverse", ID_EFFECTS_REVERSE END - MENUITEM "todo1", 0 - MENUITEM "todo2", 0 POPUP "?" BEGIN - MENUITEM "À propos...", ID__ABOUT + MENUITEM "À propos...", ID_ABOUT END END diff --git a/base/applications/sndrec32/lang/he-IL.rc b/base/applications/sndrec32/lang/he-IL.rc index b955fdddccf..9d4b4edb5d6 100644 --- a/base/applications/sndrec32/lang/he-IL.rc +++ b/base/applications/sndrec32/lang/he-IL.rc @@ -13,7 +13,7 @@ FONT 8, "MS Shell Dlg", 0, 0, 0x1 BEGIN ICON IDI_SNDREC32, -1, 19, 14, 21, 20 LTEXT "רשמקול של ReactOS גרסה 1.0", IDC_STATIC, 56, 16, 114, 8, SS_NOPREFIX - LTEXT "זכויות יוצרים (C) 2009", IDC_STATIC, 55, 25, 114, 8 + LTEXT "זכויות יוצרים (C) 2009", IDC_STATIC, 56, 25, 114, 8 DEFPUSHBUTTON "אישור", IDOK, 139, 54, 50, 14, WS_GROUP END @@ -21,18 +21,43 @@ IDR_MENU1 MENU BEGIN POPUP "קובץ" BEGIN - MENUITEM "חדש", ID_NEW + MENUITEM "חדש", ID_FILE_NEW MENUITEM "פתח...", ID_FILE_OPEN MENUITEM "שמור", ID_FILE_SAVE, GRAYED MENUITEM "שמור בשם...", ID_FILE_SAVEAS, GRAYED + MENUITEM "Restore...", ID_FILE_RESTORE, GRAYED + MENUITEM "Properties", ID_FILE_PROPERTIES MENUITEM SEPARATOR - MENUITEM "יציאה", ID_EXIT + MENUITEM "יציאה", ID_FILE_EXIT + END + POPUP "&Edit" + BEGIN + MENUITEM "&Copy", ID_EDIT_COPY + MENUITEM "&Paste Insert", ID_EDIT_PASTE, GRAYED + MENUITEM "Paste Mi&x", ID_EDIT_PASTEMIX, GRAYED + MENUITEM SEPARATOR + MENUITEM "&Insert File...", ID_EDIT_INSERTFILE + MENUITEM "&Mix with File...", ID_EDIT_MIXFILE + MENUITEM SEPARATOR + MENUITEM "Delete &Before Current Position",ID_EDIT_DELETEBEFORE, GRAYED + MENUITEM "Delete &After Current Position",ID_EDIT_DELETEAFTER, GRAYED + MENUITEM SEPARATOR + MENUITEM "A&udio Properties", ID_EDIT_AUDIOPROPS + END + POPUP "Effect&s" + BEGIN + MENUITEM "&Increase Volume (by 25%)", ID_EFFECTS_INCVOL + MENUITEM "&Decrease Volume", ID_EFFECTS_DECVOL + MENUITEM SEPARATOR + MENUITEM "&Increase Speed (by 100%)", ID_EFFECTS_INCSPD + MENUITEM "&Decrease Speed", ID_EFFECTS_DECSPD + MENUITEM SEPARATOR + MENUITEM "&Add Echo", ID_EFFECTS_ECHO + MENUITEM "&Reverse", ID_EFFECTS_REVERSE END - MENUITEM "todo1", 0 - MENUITEM "todo2", 0 POPUP "?" BEGIN - MENUITEM "אודות...", ID__ABOUT + MENUITEM "אודות...", ID_ABOUT END END diff --git a/base/applications/sndrec32/lang/it-IT.rc b/base/applications/sndrec32/lang/it-IT.rc index ff6ef28a545..e0b80f72988 100644 --- a/base/applications/sndrec32/lang/it-IT.rc +++ b/base/applications/sndrec32/lang/it-IT.rc @@ -13,7 +13,7 @@ FONT 8, "MS Shell Dlg", 0, 0, 0x1 BEGIN ICON IDI_SNDREC32, -1, 19, 14, 21, 20 LTEXT "ReactOS registratore audio, versione 1.0", IDC_STATIC, 56, 16, 114, 8, SS_NOPREFIX - LTEXT "Copyright (C) 2009", IDC_STATIC, 55, 25, 114, 8 + LTEXT "Copyright (C) 2009", IDC_STATIC, 56, 25, 114, 8 DEFPUSHBUTTON "OK", IDOK, 139, 54, 50, 14, WS_GROUP END @@ -21,18 +21,43 @@ IDR_MENU1 MENU BEGIN POPUP "File" BEGIN - MENUITEM "Nuovo", ID_NEW + MENUITEM "Nuovo", ID_FILE_NEW MENUITEM "Apri...", ID_FILE_OPEN MENUITEM "Salva", ID_FILE_SAVE, GRAYED MENUITEM "Salva con nome...", ID_FILE_SAVEAS, GRAYED + MENUITEM "Restore...", ID_FILE_RESTORE, GRAYED + MENUITEM "Properties", ID_FILE_PROPERTIES MENUITEM SEPARATOR - MENUITEM "Esci", ID_EXIT + MENUITEM "Esci", ID_FILE_EXIT + END + POPUP "&Edit" + BEGIN + MENUITEM "&Copy", ID_EDIT_COPY + MENUITEM "&Paste Insert", ID_EDIT_PASTE, GRAYED + MENUITEM "Paste Mi&x", ID_EDIT_PASTEMIX, GRAYED + MENUITEM SEPARATOR + MENUITEM "&Insert File...", ID_EDIT_INSERTFILE + MENUITEM "&Mix with File...", ID_EDIT_MIXFILE + MENUITEM SEPARATOR + MENUITEM "Delete &Before Current Position",ID_EDIT_DELETEBEFORE, GRAYED + MENUITEM "Delete &After Current Position",ID_EDIT_DELETEAFTER, GRAYED + MENUITEM SEPARATOR + MENUITEM "A&udio Properties", ID_EDIT_AUDIOPROPS + END + POPUP "Effect&s" + BEGIN + MENUITEM "&Increase Volume (by 25%)", ID_EFFECTS_INCVOL + MENUITEM "&Decrease Volume", ID_EFFECTS_DECVOL + MENUITEM SEPARATOR + MENUITEM "&Increase Speed (by 100%)", ID_EFFECTS_INCSPD + MENUITEM "&Decrease Speed", ID_EFFECTS_DECSPD + MENUITEM SEPARATOR + MENUITEM "&Add Echo", ID_EFFECTS_ECHO + MENUITEM "&Reverse", ID_EFFECTS_REVERSE END - MENUITEM "todo1", 0 - MENUITEM "todo2", 0 POPUP "?" BEGIN - MENUITEM "Informazioni...", ID__ABOUT + MENUITEM "Informazioni...", ID_ABOUT END END diff --git a/base/applications/sndrec32/lang/ja-JP.rc b/base/applications/sndrec32/lang/ja-JP.rc index 39febb3cb63..8f10c969f44 100644 --- a/base/applications/sndrec32/lang/ja-JP.rc +++ b/base/applications/sndrec32/lang/ja-JP.rc @@ -13,7 +13,7 @@ FONT 9, "MS UI Gothic", 0, 0, 0x1 BEGIN ICON IDI_SNDREC32, -1, 19, 14, 21, 20 LTEXT "reactOS_sndrec32, バージョン 1.0", IDC_STATIC, 56, 16, 114, 8, SS_NOPREFIX - LTEXT "Copyright (C) 2009", IDC_STATIC, 55, 25, 114, 8 + LTEXT "Copyright (C) 2009", IDC_STATIC, 56, 25, 114, 8 DEFPUSHBUTTON "OK", IDOK, 139, 54, 50, 14, WS_GROUP END @@ -21,18 +21,43 @@ IDR_MENU1 MENU BEGIN POPUP "ファイル" BEGIN - MENUITEM "新規作成", ID_NEW + MENUITEM "新規作成", ID_FILE_NEW MENUITEM "開く...", ID_FILE_OPEN MENUITEM "上書き保存", ID_FILE_SAVE, GRAYED MENUITEM "名前をつけて保存...", ID_FILE_SAVEAS, GRAYED + MENUITEM "Restore...", ID_FILE_RESTORE, GRAYED + MENUITEM "Properties", ID_FILE_PROPERTIES MENUITEM SEPARATOR - MENUITEM "終了", ID_EXIT + MENUITEM "終了", ID_FILE_EXIT + END + POPUP "&Edit" + BEGIN + MENUITEM "&Copy", ID_EDIT_COPY + MENUITEM "&Paste Insert", ID_EDIT_PASTE, GRAYED + MENUITEM "Paste Mi&x", ID_EDIT_PASTEMIX, GRAYED + MENUITEM SEPARATOR + MENUITEM "&Insert File...", ID_EDIT_INSERTFILE + MENUITEM "&Mix with File...", ID_EDIT_MIXFILE + MENUITEM SEPARATOR + MENUITEM "Delete &Before Current Position",ID_EDIT_DELETEBEFORE, GRAYED + MENUITEM "Delete &After Current Position",ID_EDIT_DELETEAFTER, GRAYED + MENUITEM SEPARATOR + MENUITEM "A&udio Properties", ID_EDIT_AUDIOPROPS + END + POPUP "Effect&s" + BEGIN + MENUITEM "&Increase Volume (by 25%)", ID_EFFECTS_INCVOL + MENUITEM "&Decrease Volume", ID_EFFECTS_DECVOL + MENUITEM SEPARATOR + MENUITEM "&Increase Speed (by 100%)", ID_EFFECTS_INCSPD + MENUITEM "&Decrease Speed", ID_EFFECTS_DECSPD + MENUITEM SEPARATOR + MENUITEM "&Add Echo", ID_EFFECTS_ECHO + MENUITEM "&Reverse", ID_EFFECTS_REVERSE END - MENUITEM "todo1", 0 - MENUITEM "todo2", 0 POPUP "?" BEGIN - MENUITEM "バージョン情報...", ID__ABOUT + MENUITEM "バージョン情報...", ID_ABOUT END END diff --git a/base/applications/sndrec32/lang/pl-PL.rc b/base/applications/sndrec32/lang/pl-PL.rc index 6823a92a36e..c86f1fd2a4a 100644 --- a/base/applications/sndrec32/lang/pl-PL.rc +++ b/base/applications/sndrec32/lang/pl-PL.rc @@ -21,7 +21,7 @@ FONT 8, "MS Shell Dlg", 0, 0, 0x1 BEGIN ICON IDI_SNDREC32, -1, 19, 14, 21, 20 LTEXT "Rejestrator dźwięku ReactOS, wersja 1.0", IDC_STATIC, 56, 16, 114, 8, SS_NOPREFIX - LTEXT "Copyright (C) 2009", IDC_STATIC, 55, 25, 114, 8 + LTEXT "Copyright (C) 2009", IDC_STATIC, 56, 25, 114, 8 DEFPUSHBUTTON "OK", IDOK, 139, 54, 50, 14, WS_GROUP END @@ -29,18 +29,43 @@ IDR_MENU1 MENU BEGIN POPUP "Plik" BEGIN - MENUITEM "Nowy", ID_NEW + MENUITEM "Nowy", ID_FILE_NEW MENUITEM "Otwórz...", ID_FILE_OPEN MENUITEM "Zapisz", ID_FILE_SAVE, GRAYED MENUITEM "Zapisz jako...", ID_FILE_SAVEAS, GRAYED + MENUITEM "Restore...", ID_FILE_RESTORE, GRAYED + MENUITEM "Properties", ID_FILE_PROPERTIES MENUITEM SEPARATOR - MENUITEM "Wyjście", ID_EXIT + MENUITEM "Wyjście", ID_FILE_EXIT + END + POPUP "&Edit" + BEGIN + MENUITEM "&Copy", ID_EDIT_COPY + MENUITEM "&Paste Insert", ID_EDIT_PASTE, GRAYED + MENUITEM "Paste Mi&x", ID_EDIT_PASTEMIX, GRAYED + MENUITEM SEPARATOR + MENUITEM "&Insert File...", ID_EDIT_INSERTFILE + MENUITEM "&Mix with File...", ID_EDIT_MIXFILE + MENUITEM SEPARATOR + MENUITEM "Delete &Before Current Position",ID_EDIT_DELETEBEFORE, GRAYED + MENUITEM "Delete &After Current Position",ID_EDIT_DELETEAFTER, GRAYED + MENUITEM SEPARATOR + MENUITEM "A&udio Properties", ID_EDIT_AUDIOPROPS + END + POPUP "Effect&s" + BEGIN + MENUITEM "&Increase Volume (by 25%)", ID_EFFECTS_INCVOL + MENUITEM "&Decrease Volume", ID_EFFECTS_DECVOL + MENUITEM SEPARATOR + MENUITEM "&Increase Speed (by 100%)", ID_EFFECTS_INCSPD + MENUITEM "&Decrease Speed", ID_EFFECTS_DECSPD + MENUITEM SEPARATOR + MENUITEM "&Add Echo", ID_EFFECTS_ECHO + MENUITEM "&Reverse", ID_EFFECTS_REVERSE END - MENUITEM "todo1", 0 - MENUITEM "todo2", 0 POPUP "?" BEGIN - MENUITEM "O programie...", ID__ABOUT + MENUITEM "O programie...", ID_ABOUT END END diff --git a/base/applications/sndrec32/lang/ro-RO.rc b/base/applications/sndrec32/lang/ro-RO.rc index a8655a27146..7457039338e 100644 --- a/base/applications/sndrec32/lang/ro-RO.rc +++ b/base/applications/sndrec32/lang/ro-RO.rc @@ -1,10 +1,7 @@ /* * FILE: base/applications/sndrec32/lang/ro-RO.rc * ReactOS Project (http://www.reactos.org) - * TRANSLATOR: Fulea Ștefan (PM on ReactOS Forum to fulea.stefan) - * CHANGE LOG: 2011-08-25 initial translation - * 2011-08-30 technical correction (icon) - * 2011-10-30 minor changes + * TRANSLATOR: Ștefan Fulea (stefan dot fulea at mail dot md) */ LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL @@ -22,7 +19,7 @@ FONT 8, "MS Shell Dlg", 0, 0, 0x1 BEGIN ICON IDI_SNDREC32, -1, 19, 14, 21, 20 LTEXT "Înregistrator audio, versiunea 1.0", IDC_STATIC, 56, 16, 114, 8, SS_NOPREFIX - LTEXT "Drept de autor (C) 2009", IDC_STATIC, 55, 25, 114, 8 + LTEXT "Drept de autor (C) 2009", IDC_STATIC, 56, 25, 114, 8 DEFPUSHBUTTON "Î&nchide", IDOK, 139, 54, 50, 14, WS_GROUP END @@ -30,18 +27,43 @@ IDR_MENU1 MENU BEGIN POPUP "&Fișier" BEGIN - MENUITEM "&Nou", ID_NEW + MENUITEM "&Nou", ID_FILE_NEW MENUITEM "&Deschidere…", ID_FILE_OPEN MENUITEM "Pă&strează", ID_FILE_SAVE, GRAYED MENUITEM "&Păstrare în…", ID_FILE_SAVEAS, GRAYED + MENUITEM "&Reconstituire…", ID_FILE_RESTORE, GRAYED + MENUITEM "Pr&oprietăți…", ID_FILE_PROPERTIES MENUITEM SEPARATOR - MENUITEM "I&eșire", ID_EXIT + MENUITEM "I&eșire", ID_FILE_EXIT + END + POPUP "&Editare" + BEGIN + MENUITEM "&Copiază", ID_EDIT_COPY + MENUITEM "&Lipește inserție", ID_EDIT_PASTE, GRAYED + MENUITEM "Lipește mi&x", ID_EDIT_PASTEMIX, GRAYED + MENUITEM SEPARATOR + MENUITEM "&Inserare fișier…", ID_EDIT_INSERTFILE + MENUITEM "&Mixare cu fișier…", ID_EDIT_MIXFILE + MENUITEM SEPARATOR + MENUITEM "Șterge în&ainte de poziția curentă",ID_EDIT_DELETEBEFORE, GRAYED + MENUITEM "Șterge d&upă poziția curentă",ID_EDIT_DELETEAFTER, GRAYED + MENUITEM SEPARATOR + MENUITEM "&Proprietăți audio…", ID_EDIT_AUDIOPROPS + END + POPUP "Efe&cte" + BEGIN + MENUITEM "&Crește volum (cu 25%)", ID_EFFECTS_INCVOL + MENUITEM "&Descrește volum", ID_EFFECTS_DECVOL + MENUITEM SEPARATOR + MENUITEM "C&rește viteză (cu 100%)", ID_EFFECTS_INCSPD + MENUITEM "D&escrește viteză", ID_EFFECTS_DECSPD + MENUITEM SEPARATOR + MENUITEM "&Adaugă ecou", ID_EFFECTS_ECHO + MENUITEM "In&versează", ID_EFFECTS_REVERSE END - MENUITEM "todo1", 0 - MENUITEM "todo2", 0 POPUP "&?" BEGIN - MENUITEM "&Despre…", ID__ABOUT + MENUITEM "&Despre…", ID_ABOUT END END diff --git a/base/applications/sndrec32/lang/sk-SK.rc b/base/applications/sndrec32/lang/sk-SK.rc index b0425862851..4c83e9004bc 100644 --- a/base/applications/sndrec32/lang/sk-SK.rc +++ b/base/applications/sndrec32/lang/sk-SK.rc @@ -18,7 +18,7 @@ FONT 8, "MS Shell Dlg", 0, 0, 0x1 BEGIN ICON IDI_SNDREC32, -1, 19, 14, 21, 20 LTEXT "reactOS_sndrec32, verzia 1.0", IDC_STATIC, 56, 16, 114, 8, SS_NOPREFIX - LTEXT "Autorské práva (C) 2009", IDC_STATIC, 55, 25, 114, 8 + LTEXT "Autorské práva (C) 2009", IDC_STATIC, 56, 25, 114, 8 DEFPUSHBUTTON "OK", IDOK, 139, 54, 50, 14, WS_GROUP END @@ -26,18 +26,43 @@ IDR_MENU1 MENU BEGIN POPUP "&Súbor" BEGIN - MENUITEM "Nový", ID_NEW + MENUITEM "Nový", ID_FILE_NEW MENUITEM "Otvoriť...", ID_FILE_OPEN MENUITEM "Uložiť", ID_FILE_SAVE, GRAYED MENUITEM "Uložiť ako...", ID_FILE_SAVEAS, GRAYED + MENUITEM "Restore...", ID_FILE_RESTORE, GRAYED + MENUITEM "Properties", ID_FILE_PROPERTIES MENUITEM SEPARATOR - MENUITEM "Skončiť", ID_EXIT + MENUITEM "Skončiť", ID_FILE_EXIT END - MENUITEM "todo1", 0 - MENUITEM "todo2", 0 + POPUP "&Edit" + BEGIN + MENUITEM "&Copy", ID_EDIT_COPY + MENUITEM "&Paste Insert", ID_EDIT_PASTE, GRAYED + MENUITEM "Paste Mi&x", ID_EDIT_PASTEMIX, GRAYED + MENUITEM SEPARATOR + MENUITEM "&Insert File...", ID_EDIT_INSERTFILE + MENUITEM "&Mix with File...", ID_EDIT_MIXFILE + MENUITEM SEPARATOR + MENUITEM "Delete &Before Current Position",ID_EDIT_DELETEBEFORE, GRAYED + MENUITEM "Delete &After Current Position",ID_EDIT_DELETEAFTER, GRAYED + MENUITEM SEPARATOR + MENUITEM "A&udio Properties", ID_EDIT_AUDIOPROPS + END + POPUP "Effect&s" + BEGIN + MENUITEM "&Increase Volume (by 25%)", ID_EFFECTS_INCVOL + MENUITEM "&Decrease Volume", ID_EFFECTS_DECVOL + MENUITEM SEPARATOR + MENUITEM "&Increase Speed (by 100%)", ID_EFFECTS_INCSPD + MENUITEM "&Decrease Speed", ID_EFFECTS_DECSPD + MENUITEM SEPARATOR + MENUITEM "&Add Echo", ID_EFFECTS_ECHO + MENUITEM "&Reverse", ID_EFFECTS_REVERSE + END POPUP "?" BEGIN - MENUITEM "Č&o je...", ID__ABOUT + MENUITEM "Č&o je...", ID_ABOUT END END diff --git a/base/applications/sndrec32/lang/sq-AL.rc b/base/applications/sndrec32/lang/sq-AL.rc index 6c612556285..8f04a79fd2e 100644 --- a/base/applications/sndrec32/lang/sq-AL.rc +++ b/base/applications/sndrec32/lang/sq-AL.rc @@ -17,7 +17,7 @@ FONT 8, "MS Shell Dlg", 0, 0, 0x1 BEGIN ICON IDI_SNDREC32, -1, 19, 14, 21, 20 LTEXT "ReactOS Rregjistruesi i Zerit, versioni 1.0", IDC_STATIC, 56, 16, 114, 8, SS_NOPREFIX - LTEXT "T'drejtat (C) 2009", IDC_STATIC, 55, 25, 114, 8 + LTEXT "T'drejtat (C) 2009", IDC_STATIC, 56, 25, 114, 8 DEFPUSHBUTTON "OK", IDOK, 139, 54, 50, 14, WS_GROUP END @@ -25,18 +25,43 @@ IDR_MENU1 MENU BEGIN POPUP "File" BEGIN - MENUITEM "E Re ", ID_NEW + MENUITEM "E Re ", ID_FILE_NEW MENUITEM "Hap...", ID_FILE_OPEN MENUITEM "Ruaj", ID_FILE_SAVE, GRAYED MENUITEM "Ruaj si...", ID_FILE_SAVEAS, GRAYED + MENUITEM "Restore...", ID_FILE_RESTORE, GRAYED + MENUITEM "Properties", ID_FILE_PROPERTIES MENUITEM SEPARATOR - MENUITEM "Dil", ID_EXIT + MENUITEM "Dil", ID_FILE_EXIT + END + POPUP "&Edit" + BEGIN + MENUITEM "&Copy", ID_EDIT_COPY + MENUITEM "&Paste Insert", ID_EDIT_PASTE, GRAYED + MENUITEM "Paste Mi&x", ID_EDIT_PASTEMIX, GRAYED + MENUITEM SEPARATOR + MENUITEM "&Insert File...", ID_EDIT_INSERTFILE + MENUITEM "&Mix with File...", ID_EDIT_MIXFILE + MENUITEM SEPARATOR + MENUITEM "Delete &Before Current Position", ID_EDIT_DELETEBEFORE, GRAYED + MENUITEM "Delete &After Current Position", ID_EDIT_DELETEAFTER, GRAYED + MENUITEM SEPARATOR + MENUITEM "A&udio Properties", ID_EDIT_AUDIOPROPS + END + POPUP "Effect&s" + BEGIN + MENUITEM "&Increase Volume (by 25%)", ID_EFFECTS_INCVOL + MENUITEM "&Decrease Volume", ID_EFFECTS_DECVOL + MENUITEM SEPARATOR + MENUITEM "&Increase Speed (by 100%)", ID_EFFECTS_INCSPD + MENUITEM "&Decrease Speed", ID_EFFECTS_DECSPD + MENUITEM SEPARATOR + MENUITEM "&Add Echo", ID_EFFECTS_ECHO + MENUITEM "&Reverse", ID_EFFECTS_REVERSE END - MENUITEM "todo1", 0 - MENUITEM "todo2", 0 POPUP "?" BEGIN - MENUITEM "Rreth...", ID__ABOUT + MENUITEM "Rreth...", ID_ABOUT END END diff --git a/base/applications/sndrec32/lang/sv-SE.rc b/base/applications/sndrec32/lang/sv-SE.rc index d1ba321d34a..ec969d093ce 100644 --- a/base/applications/sndrec32/lang/sv-SE.rc +++ b/base/applications/sndrec32/lang/sv-SE.rc @@ -15,7 +15,7 @@ FONT 8, "MS Shell Dlg", 0, 0, 0x1 BEGIN ICON IDI_SNDREC32, -1, 19, 14, 21, 20 LTEXT "ReactOS_sndrec32, version 1.0", IDC_STATIC, 56, 16, 114, 8, SS_NOPREFIX - LTEXT "Copyright (C) 2009", IDC_STATIC, 55, 25, 114, 8 + LTEXT "Copyright (C) 2009", IDC_STATIC, 56, 25, 114, 8 DEFPUSHBUTTON "OK", IDOK, 139, 54, 50, 14, WS_GROUP END @@ -23,18 +23,43 @@ IDR_MENU1 MENU BEGIN POPUP "Arkiv" BEGIN - MENUITEM "Ny", ID_NEW + MENUITEM "Ny", ID_FILE_NEW MENUITEM "Öppna...", ID_FILE_OPEN MENUITEM "Spara", ID_FILE_SAVE, GRAYED MENUITEM "Spara som...", ID_FILE_SAVEAS, GRAYED + MENUITEM "Restore...", ID_FILE_RESTORE, GRAYED + MENUITEM "Properties", ID_FILE_PROPERTIES MENUITEM SEPARATOR - MENUITEM "Avsluta", ID_EXIT + MENUITEM "Avsluta", ID_FILE_EXIT + END + POPUP "&Edit" + BEGIN + MENUITEM "&Copy", ID_EDIT_COPY + MENUITEM "&Paste Insert", ID_EDIT_PASTE, GRAYED + MENUITEM "Paste Mi&x", ID_EDIT_PASTEMIX, GRAYED + MENUITEM SEPARATOR + MENUITEM "&Insert File...", ID_EDIT_INSERTFILE + MENUITEM "&Mix with File...", ID_EDIT_MIXFILE + MENUITEM SEPARATOR + MENUITEM "Delete &Before Current Position",ID_EDIT_DELETEBEFORE, GRAYED + MENUITEM "Delete &After Current Position",ID_EDIT_DELETEAFTER, GRAYED + MENUITEM SEPARATOR + MENUITEM "A&udio Properties", ID_EDIT_AUDIOPROPS + END + POPUP "Effect&s" + BEGIN + MENUITEM "&Increase Volume (by 25%)", ID_EFFECTS_INCVOL + MENUITEM "&Decrease Volume", ID_EFFECTS_DECVOL + MENUITEM SEPARATOR + MENUITEM "&Increase Speed (by 100%)", ID_EFFECTS_INCSPD + MENUITEM "&Decrease Speed", ID_EFFECTS_DECSPD + MENUITEM SEPARATOR + MENUITEM "&Add Echo", ID_EFFECTS_ECHO + MENUITEM "&Reverse", ID_EFFECTS_REVERSE END - MENUITEM "todo1", 0 - MENUITEM "todo2", 0 POPUP "Hjälp" BEGIN - MENUITEM "Om...", ID__ABOUT + MENUITEM "Om...", ID_ABOUT END END diff --git a/base/applications/sndrec32/lang/tr-TR.rc b/base/applications/sndrec32/lang/tr-TR.rc index 7a1ebaa2d28..f0b84298fd8 100644 --- a/base/applications/sndrec32/lang/tr-TR.rc +++ b/base/applications/sndrec32/lang/tr-TR.rc @@ -15,7 +15,7 @@ FONT 8, "MS Shell Dlg", 0, 0, 0x1 BEGIN ICON IDI_SNDREC32, -1, 19, 14, 21, 20 LTEXT "Ses Kaydedicisi: Sürüm 1.0", IDC_STATIC, 56, 16, 114, 8, SS_NOPREFIX - LTEXT "Tekif Hakkı - 2009", IDC_STATIC, 55, 25, 114, 8 + LTEXT "Tekif Hakkı - 2009", IDC_STATIC, 56, 25, 114, 8 DEFPUSHBUTTON "Tamam", IDOK, 139, 54, 50, 14, WS_GROUP END @@ -23,18 +23,43 @@ IDR_MENU1 MENU BEGIN POPUP "&Kütük" BEGIN - MENUITEM "&Yeni", ID_NEW + MENUITEM "&Yeni", ID_FILE_NEW MENUITEM "&Aç...", ID_FILE_OPEN MENUITEM "&Kaydet", ID_FILE_SAVE, GRAYED MENUITEM "Ay&rı Kaydet...", ID_FILE_SAVEAS, GRAYED + MENUITEM "Restore...", ID_FILE_RESTORE, GRAYED + MENUITEM "Properties", ID_FILE_PROPERTIES MENUITEM SEPARATOR - MENUITEM "&Çıkış", ID_EXIT + MENUITEM "&Çıkış", ID_FILE_EXIT + END + POPUP "&Edit" + BEGIN + MENUITEM "&Copy", ID_EDIT_COPY + MENUITEM "&Paste Insert", ID_EDIT_PASTE, GRAYED + MENUITEM "Paste Mi&x", ID_EDIT_PASTEMIX, GRAYED + MENUITEM SEPARATOR + MENUITEM "&Insert File...", ID_EDIT_INSERTFILE + MENUITEM "&Mix with File...", ID_EDIT_MIXFILE + MENUITEM SEPARATOR + MENUITEM "Delete &Before Current Position",ID_EDIT_DELETEBEFORE, GRAYED + MENUITEM "Delete &After Current Position",ID_EDIT_DELETEAFTER, GRAYED + MENUITEM SEPARATOR + MENUITEM "A&udio Properties", ID_EDIT_AUDIOPROPS + END + POPUP "Effect&s" + BEGIN + MENUITEM "&Increase Volume (by 25%)", ID_EFFECTS_INCVOL + MENUITEM "&Decrease Volume", ID_EFFECTS_DECVOL + MENUITEM SEPARATOR + MENUITEM "&Increase Speed (by 100%)", ID_EFFECTS_INCSPD + MENUITEM "&Decrease Speed", ID_EFFECTS_DECSPD + MENUITEM SEPARATOR + MENUITEM "&Add Echo", ID_EFFECTS_ECHO + MENUITEM "&Reverse", ID_EFFECTS_REVERSE END - MENUITEM "Yapılacak", 0 - MENUITEM "Yapılacak_2", 0 POPUP "&Yardım" BEGIN - MENUITEM "&Hakkında", ID__ABOUT + MENUITEM "&Hakkında", ID_ABOUT END END diff --git a/base/applications/sndrec32/lang/uk-UA.rc b/base/applications/sndrec32/lang/uk-UA.rc index 62226a4cf1e..e31a8a02f31 100644 --- a/base/applications/sndrec32/lang/uk-UA.rc +++ b/base/applications/sndrec32/lang/uk-UA.rc @@ -15,7 +15,7 @@ FONT 8, "MS Shell Dlg", 0, 0, 0x1 BEGIN ICON IDI_SNDREC32, -1, 19, 14, 21, 20 LTEXT "reactOS_sndrec32, версії 1.0", IDC_STATIC, 56, 16, 114, 8, SS_NOPREFIX - LTEXT "Copyright (C) 2009", IDC_STATIC, 55, 25, 114, 8 + LTEXT "Copyright (C) 2009", IDC_STATIC, 56, 25, 114, 8 DEFPUSHBUTTON "OK", IDOK, 139, 54, 50, 14, WS_GROUP END @@ -23,18 +23,43 @@ IDR_MENU1 MENU BEGIN POPUP "Файл" BEGIN - MENUITEM "Новий", ID_NEW + MENUITEM "Новий", ID_FILE_NEW MENUITEM "Відкрити...", ID_FILE_OPEN MENUITEM "Зберегти", ID_FILE_SAVE, GRAYED MENUITEM "Зберегти як...", ID_FILE_SAVEAS, GRAYED + MENUITEM "Restore...", ID_FILE_RESTORE, GRAYED + MENUITEM "Properties", ID_FILE_PROPERTIES MENUITEM SEPARATOR - MENUITEM "Вихід", ID_EXIT + MENUITEM "Вихід", ID_FILE_EXIT + END + POPUP "&Edit" + BEGIN + MENUITEM "&Copy", ID_EDIT_COPY + MENUITEM "&Paste Insert", ID_EDIT_PASTE, GRAYED + MENUITEM "Paste Mi&x", ID_EDIT_PASTEMIX, GRAYED + MENUITEM SEPARATOR + MENUITEM "&Insert File...", ID_EDIT_INSERTFILE + MENUITEM "&Mix with File...", ID_EDIT_MIXFILE + MENUITEM SEPARATOR + MENUITEM "Delete &Before Current Position",ID_EDIT_DELETEBEFORE, GRAYED + MENUITEM "Delete &After Current Position",ID_EDIT_DELETEAFTER, GRAYED + MENUITEM SEPARATOR + MENUITEM "A&udio Properties",ID_EDIT_AUDIOPROPS + END + POPUP "Effect&s" + BEGIN + MENUITEM "&Increase Volume (by 25%)", ID_EFFECTS_INCVOL + MENUITEM "&Decrease Volume", ID_EFFECTS_DECVOL + MENUITEM SEPARATOR + MENUITEM "&Increase Speed (by 100%)", ID_EFFECTS_INCSPD + MENUITEM "&Decrease Speed", ID_EFFECTS_DECSPD + MENUITEM SEPARATOR + MENUITEM "&Add Echo", ID_EFFECTS_ECHO + MENUITEM "&Reverse", ID_EFFECTS_REVERSE END - MENUITEM "todo1", 0 - MENUITEM "todo2", 0 POPUP "?" BEGIN - MENUITEM "Про програму...", ID__ABOUT + MENUITEM "Про програму...", ID_ABOUT END END diff --git a/base/applications/sndrec32/lang/zh-CN.rc b/base/applications/sndrec32/lang/zh-CN.rc index cd1c88a7341..8eae8b19866 100644 --- a/base/applications/sndrec32/lang/zh-CN.rc +++ b/base/applications/sndrec32/lang/zh-CN.rc @@ -15,7 +15,7 @@ FONT 8, "MS Shell Dlg", 0, 0, 0x1 BEGIN ICON IDI_SNDREC32, -1, 19, 14, 21, 20 LTEXT "ReactOS 录音机,版本 1.0", IDC_STATIC, 56, 16, 114, 8, SS_NOPREFIX - LTEXT "版权所有 (C) 2009", IDC_STATIC, 55, 25, 114, 8 + LTEXT "版权所有 (C) 2009", IDC_STATIC, 56, 25, 114, 8 DEFPUSHBUTTON "确定", IDOK, 139, 54, 50, 14, WS_GROUP END @@ -23,18 +23,43 @@ IDR_MENU1 MENU BEGIN POPUP "文件" BEGIN - MENUITEM "新建", ID_NEW + MENUITEM "新建", ID_FILE_NEW MENUITEM "打开...", ID_FILE_OPEN MENUITEM "保存", ID_FILE_SAVE, GRAYED MENUITEM "另存为...", ID_FILE_SAVEAS, GRAYED + MENUITEM "Restore...", ID_FILE_RESTORE, GRAYED + MENUITEM "Properties", ID_FILE_PROPERTIES MENUITEM SEPARATOR - MENUITEM "退出", ID_EXIT + MENUITEM "退出", ID_FILE_EXIT + END + POPUP "&Edit" + BEGIN + MENUITEM "&Copy", ID_EDIT_COPY + MENUITEM "&Paste Insert", ID_EDIT_PASTE, GRAYED + MENUITEM "Paste Mi&x", ID_EDIT_PASTEMIX, GRAYED + MENUITEM SEPARATOR + MENUITEM "&Insert File...", ID_EDIT_INSERTFILE + MENUITEM "&Mix with File...", ID_EDIT_MIXFILE + MENUITEM SEPARATOR + MENUITEM "Delete &Before Current Position",ID_EDIT_DELETEBEFORE, GRAYED + MENUITEM "Delete &After Current Position",ID_EDIT_DELETEAFTER, GRAYED + MENUITEM SEPARATOR + MENUITEM "A&udio Properties", ID_EDIT_AUDIOPROPS + END + POPUP "Effect&s" + BEGIN + MENUITEM "&Increase Volume (by 25%)", ID_EFFECTS_INCVOL + MENUITEM "&Decrease Volume", ID_EFFECTS_DECVOL + MENUITEM SEPARATOR + MENUITEM "&Increase Speed (by 100%)", ID_EFFECTS_INCSPD + MENUITEM "&Decrease Speed", ID_EFFECTS_DECSPD + MENUITEM SEPARATOR + MENUITEM "&Add Echo", ID_EFFECTS_ECHO + MENUITEM "&Reverse", ID_EFFECTS_REVERSE END - MENUITEM "todo1", 0 - MENUITEM "todo2", 0 POPUP "帮助" BEGIN - MENUITEM "关于...", ID__ABOUT + MENUITEM "关于...", ID_ABOUT END END diff --git a/base/applications/sndrec32/lang/zh-TW.rc b/base/applications/sndrec32/lang/zh-TW.rc index d8df7e11343..5017409b1a7 100644 --- a/base/applications/sndrec32/lang/zh-TW.rc +++ b/base/applications/sndrec32/lang/zh-TW.rc @@ -21,7 +21,7 @@ FONT 8, "MS Shell Dlg", 0, 0, 0x1 BEGIN ICON IDI_SNDREC32, -1, 19, 14, 21, 20 LTEXT "ReactOS 錄音機,版本 1.0", IDC_STATIC, 56, 16, 114, 8, SS_NOPREFIX - LTEXT "版權所有 (C) 2009", IDC_STATIC, 55, 25, 114, 8 + LTEXT "版權所有 (C) 2009", IDC_STATIC, 56, 25, 114, 8 DEFPUSHBUTTON "確定", IDOK, 139, 54, 50, 14, WS_GROUP END @@ -29,18 +29,43 @@ IDR_MENU1 MENU BEGIN POPUP "檔案" BEGIN - MENUITEM "新增", ID_NEW + MENUITEM "新增", ID_FILE_NEW MENUITEM "開啟...", ID_FILE_OPEN MENUITEM "儲存", ID_FILE_SAVE, GRAYED MENUITEM "另存為...", ID_FILE_SAVEAS, GRAYED + MENUITEM "Restore...", ID_FILE_RESTORE, GRAYED + MENUITEM "Properties", ID_FILE_PROPERTIES MENUITEM SEPARATOR - MENUITEM "結束", ID_EXIT + MENUITEM "結束", ID_FILE_EXIT + END + POPUP "&Edit" + BEGIN + MENUITEM "&Copy", ID_EDIT_COPY + MENUITEM "&Paste Insert", ID_EDIT_PASTE, GRAYED + MENUITEM "Paste Mi&x", ID_EDIT_PASTEMIX, GRAYED + MENUITEM SEPARATOR + MENUITEM "&Insert File...", ID_EDIT_INSERTFILE + MENUITEM "&Mix with File...", ID_EDIT_MIXFILE + MENUITEM SEPARATOR + MENUITEM "Delete &Before Current Position",ID_EDIT_DELETEBEFORE, GRAYED + MENUITEM "Delete &After Current Position",ID_EDIT_DELETEAFTER, GRAYED + MENUITEM SEPARATOR + MENUITEM "A&udio Properties", ID_EDIT_AUDIOPROPS + END + POPUP "Effect&s" + BEGIN + MENUITEM "&Increase Volume (by 25%)", ID_EFFECTS_INCVOL + MENUITEM "&Decrease Volume", ID_EFFECTS_DECVOL + MENUITEM SEPARATOR + MENUITEM "&Increase Speed (by 100%)", ID_EFFECTS_INCSPD + MENUITEM "&Decrease Speed", ID_EFFECTS_DECSPD + MENUITEM SEPARATOR + MENUITEM "&Add Echo", ID_EFFECTS_ECHO + MENUITEM "&Reverse", ID_EFFECTS_REVERSE END - MENUITEM "todo1", 0 - MENUITEM "todo2", 0 POPUP "說明" BEGIN - MENUITEM "關於...", ID__ABOUT + MENUITEM "關於...", ID_ABOUT END END diff --git a/base/applications/sndrec32/resource.h b/base/applications/sndrec32/resource.h index cdcbfd959a2..4da0f677459 100644 --- a/base/applications/sndrec32/resource.h +++ b/base/applications/sndrec32/resource.h @@ -38,13 +38,27 @@ #define IDS_STRING406 406 #define IDS_STRCHAN 406 -#define ID_FILE_NEW 32771 -#define ID_FILE_OPEN 32772 -#define ID_FILE_SAVE 32773 -#define ID_FILE_SAVEAS 32774 -#define ID_FILE_EXIT 32775 -#define ID__ABOUT 32776 -#define ID_EXIT 32777 -#define ID_NEW 32778 +#define ID_FILE_NEW 32771 +#define ID_FILE_OPEN 32772 +#define ID_FILE_SAVE 32773 +#define ID_FILE_SAVEAS 32774 +#define ID_FILE_RESTORE 32775 +#define ID_FILE_PROPERTIES 32776 +#define ID_FILE_EXIT 32777 +#define ID_ABOUT 32778 +#define ID_EDIT_COPY 32779 +#define ID_EDIT_PASTE 32780 +#define ID_EDIT_PASTEMIX 32781 +#define ID_EDIT_INSERTFILE 32782 +#define ID_EDIT_MIXFILE 32783 +#define ID_EDIT_DELETEBEFORE 32784 +#define ID_EDIT_DELETEAFTER 32785 +#define ID_EDIT_AUDIOPROPS 32786 +#define ID_EFFECTS_INCVOL 32787 +#define ID_EFFECTS_DECVOL 32788 +#define ID_EFFECTS_INCSPD 32789 +#define ID_EFFECTS_DECSPD 32790 +#define ID_EFFECTS_ECHO 32791 +#define ID_EFFECTS_REVERSE 32792 #define IDC_STATIC -1 diff --git a/base/applications/sndrec32/sndrec32.cpp b/base/applications/sndrec32/sndrec32.cpp index 6e3e77a8c64..f05a0dd5538 100644 --- a/base/applications/sndrec32/sndrec32.cpp +++ b/base/applications/sndrec32/sndrec32.cpp @@ -3,10 +3,16 @@ * FILE: base/applications/sndrec32/sndrec32.cpp * PURPOSE: Sound recording * PROGRAMMERS: Marco Pagliaricci (irc: rendar) + * Robert Naumann (gonzoMD) */ #include "stdafx.h" + +#include +#include + #include "sndrec32.h" +#include "shellapi.h" #ifndef _UNICODE #define gprintf _snprintf @@ -107,7 +113,7 @@ _tWinMain(HINSTANCE hInstance, MSG msg; HACCEL hAccelTable; - + s_info.cbSize = sizeof( NONCLIENTMETRICS ); InitCommonControls(); @@ -227,7 +233,7 @@ _tWinMain(HINSTANCE hInstance, return (int)msg.wParam; } -ATOM +ATOM MyRegisterClass(HINSTANCE hInstance) { WNDCLASSEX wcex; @@ -249,7 +255,7 @@ MyRegisterClass(HINSTANCE hInstance) return RegisterClassEx(&wcex); } -BOOL +BOOL InitInstance(HINSTANCE hInstance, int nCmdShow) { HWND hWnd; @@ -280,7 +286,7 @@ InitInstance(HINSTANCE hInstance, int nCmdShow) return TRUE; } -ATOM +ATOM MyRegisterClass_wave(HINSTANCE hInstance) { WNDCLASSEX wcex; @@ -302,7 +308,7 @@ MyRegisterClass_wave(HINSTANCE hInstance) return RegisterClassEx(&wcex); } -BOOL +BOOL InitInstance_wave(HWND f, HINSTANCE hInstance, int nCmdShow) @@ -337,7 +343,7 @@ InitInstance_wave(HWND f, } LRESULT -CALLBACK +CALLBACK WndProc_wave(HWND hWnd, UINT message, WPARAM wParam, @@ -420,7 +426,7 @@ WndProc_wave(HWND hWnd, } LRESULT -CALLBACK +CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, @@ -533,7 +539,7 @@ WndProc(HWND hWnd, switch (wmId) { - case ID_NEW: + case ID_FILE_NEW: if (!isnew) { if (AUD_IN->current_status() == snd::WAVEIN_RECORDING) @@ -595,7 +601,7 @@ WndProc(HWND hWnd, InvalidateRect(hWnd, &text2_rect, TRUE); break; - case ID__ABOUT: + case ID_ABOUT: DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, AboutDlgProc); return TRUE; break; @@ -609,17 +615,22 @@ WndProc(HWND hWnd, ofn.lpstrFilter = TEXT("Audio Files (*.wav)\0*.wav\0All Files (*.*)\0*.*\0"); ofn.lpstrFile = file_path; ofn.nMaxFile = MAX_PATH; - + ofn.lpstrDefExt = TEXT("wav"); - - if (GetSaveFileName (&ofn)) + + if (GetSaveFileName (&ofn)) { write_wav(file_path); EnableMenuItem(GetMenu(hWnd), ID_FILE_SAVE, MF_ENABLED); } break; - case ID_EXIT: + + case ID_EDIT_AUDIOPROPS: + ShellExecute(NULL, NULL, _T("rundll32.exe"), _T("shell32.dll,Control_RunDLL mmsys.cpl,ShowAudioPropertySheet"), NULL, SW_SHOWNORMAL); + break; + + case ID_FILE_EXIT: DestroyWindow(hWnd); break; @@ -739,7 +750,7 @@ WndProc(HWND hWnd, case WM_TIMER: switch (wParam) { - case 1: + case 1: if (stopped_flag) { KillTimer(hWnd, 1); @@ -830,7 +841,7 @@ WndProc(HWND hWnd, ExtTextOut(hdc, STRBUF_X, STRBUF_Y, - ETO_OPAQUE, + ETO_OPAQUE, 0, str_tmp, _tcslen(str_tmp), @@ -1104,7 +1115,7 @@ write_wav(TCHAR *f) TEXT("File Error, WriteFile() failed."), TEXT("ERROR"), MB_OK | MB_ICONERROR); - + CloseHandle(file); return FALSE; } @@ -1116,7 +1127,7 @@ write_wav(TCHAR *f) TEXT("File Error, WriteFile() failed."), TEXT("ERROR"), MB_OK | MB_ICONERROR); - + CloseHandle(file); return FALSE; } diff --git a/base/applications/sndrec32/stdafx.h b/base/applications/sndrec32/stdafx.h index d669203c956..b7467459dda 100644 --- a/base/applications/sndrec32/stdafx.h +++ b/base/applications/sndrec32/stdafx.h @@ -8,12 +8,11 @@ #define _sntprintf_s _snprintf_s #endif -#define WIN32_NO_STATUS #include #include + +#define WIN32_NO_STATUS #include #include #include #include -#include -#include diff --git a/base/applications/sndvol32/dialog.c b/base/applications/sndvol32/dialog.c index 59d3fd99d0b..1c83b610f2d 100644 --- a/base/applications/sndvol32/dialog.c +++ b/base/applications/sndvol32/dialog.c @@ -7,6 +7,8 @@ #include "sndvol32.h" +#include + #define XLEFT (30) #define XTOP (20) #define DIALOG_VOLUME_SIZE (150) diff --git a/base/applications/sndvol32/misc.c b/base/applications/sndvol32/misc.c index 17e3eb265bb..3c75ee95758 100644 --- a/base/applications/sndvol32/misc.c +++ b/base/applications/sndvol32/misc.c @@ -25,6 +25,8 @@ #include "sndvol32.h" +#include + static INT LengthOfStrResource(IN HINSTANCE hInst, IN UINT uID) diff --git a/base/applications/sndvol32/mixer.c b/base/applications/sndvol32/mixer.c index 3445184f5eb..16b2a1644a8 100644 --- a/base/applications/sndvol32/mixer.c +++ b/base/applications/sndvol32/mixer.c @@ -22,6 +22,7 @@ * FILE: subsys/system/sndvol32/mixer.c * PROGRAMMERS: Thomas Weidenmueller */ + #include "sndvol32.h" #define NO_MIXER_SELECTED ((UINT)(~0)) diff --git a/base/applications/sndvol32/sndvol32.c b/base/applications/sndvol32/sndvol32.c index a09718fe839..e31f43eb16c 100644 --- a/base/applications/sndvol32/sndvol32.c +++ b/base/applications/sndvol32/sndvol32.c @@ -22,8 +22,11 @@ * FILE: subsys/system/sndvol32/sndvol32.c * PROGRAMMERS: Thomas Weidenmueller */ + #include "sndvol32.h" +#include + HINSTANCE hAppInstance; ATOM MainWindowClass; HWND hMainWnd; diff --git a/base/applications/sndvol32/sndvol32.h b/base/applications/sndvol32/sndvol32.h index bab57c7cf01..cd9c7ad5b38 100644 --- a/base/applications/sndvol32/sndvol32.h +++ b/base/applications/sndvol32/sndvol32.h @@ -2,14 +2,12 @@ #define __SNDVOL32_H #include + #include #include -#include -#include #include #include #include -#include #include #include diff --git a/base/applications/taskmgr/about.c b/base/applications/taskmgr/about.c index ec8e5c12407..66510ac98c3 100644 --- a/base/applications/taskmgr/about.c +++ b/base/applications/taskmgr/about.c @@ -24,10 +24,10 @@ void OnAbout(void) { - TCHAR szTaskmgr[128]; + WCHAR szTaskmgr[128]; HICON taskmgrIcon = LoadIcon(hInst, MAKEINTRESOURCE(IDI_TASKMANAGER)); - LoadString(hInst, IDS_APP_TITLE, szTaskmgr, sizeof(szTaskmgr)/sizeof(TCHAR)); - ShellAbout(hMainWnd, szTaskmgr, 0, taskmgrIcon); + LoadStringW(hInst, IDS_APP_TITLE, szTaskmgr, sizeof(szTaskmgr)/sizeof(WCHAR)); + ShellAboutW(hMainWnd, szTaskmgr, 0, taskmgrIcon); DeleteObject(taskmgrIcon); } diff --git a/base/applications/taskmgr/dbgchnl.c b/base/applications/taskmgr/dbgchnl.c index 2473abdb597..e6231bd7eab 100644 --- a/base/applications/taskmgr/dbgchnl.c +++ b/base/applications/taskmgr/dbgchnl.c @@ -22,6 +22,8 @@ #include "precomp.h" +#include + /* TODO: * - the dialog box could be non modal * - in that case, diff --git a/base/applications/taskmgr/graphctl.c b/base/applications/taskmgr/graphctl.c index 0725d3b6b9d..177cd0eae9c 100644 --- a/base/applications/taskmgr/graphctl.c +++ b/base/applications/taskmgr/graphctl.c @@ -22,6 +22,8 @@ #include "precomp.h" +#include + WNDPROC OldGraphCtrlWndProc; static void GraphCtrl_Init(TGraphCtrl* this) diff --git a/base/applications/taskmgr/lang/ro-RO.rc b/base/applications/taskmgr/lang/ro-RO.rc index f302ab02a44..91c7de10491 100644 --- a/base/applications/taskmgr/lang/ro-RO.rc +++ b/base/applications/taskmgr/lang/ro-RO.rc @@ -1,4 +1,4 @@ -/* 2011.10.30 - Fulea Ștefan: minor changes */ +/* Ștefan Fulea (stefan dot fulea at mail dot md) */ LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL @@ -91,7 +91,7 @@ BEGIN MENUITEM "Ma&ximizează", ID_WINDOWS_MAXIMIZE MENUITEM "Aranjări în casca&dă", ID_WINDOWS_CASCADE MENUITEM SEPARATOR - MENUITEM "&Termină", ID_APPLICATION_PAGE_ENDTASK + MENUITEM "Op&rește", ID_APPLICATION_PAGE_ENDTASK MENUITEM "&Salt la proces", ID_APPLICATION_PAGE_GOTOPROCESS END END @@ -111,8 +111,8 @@ IDR_PROCESS_PAGE_CONTEXT MENU BEGIN POPUP "DUMMY" BEGIN - MENUITEM "&Termină procesul", ID_PROCESS_PAGE_ENDPROCESS - MENUITEM "Termină &arborele de procese", ID_PROCESS_PAGE_ENDPROCESSTREE + MENUITEM "Op&rește procesul", ID_PROCESS_PAGE_ENDPROCESS + MENUITEM "Oprește &arborele de procese", ID_PROCESS_PAGE_ENDPROCESSTREE MENUITEM "&Depanează", ID_PROCESS_PAGE_DEBUG MENUITEM SEPARATOR POPUP "&Stabilire prioritate" @@ -160,7 +160,7 @@ FONT 8, "MS Shell Dlg" BEGIN CONTROL "List2", IDC_PROCESSLIST, "SysListView32", LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | WS_BORDER | WS_TABSTOP, 7, 7, 233, 177 - PUSHBUTTON "&Termină procesul", IDC_ENDPROCESS, 171, 189, 69, 14 + PUSHBUTTON "Op&rește procesul", IDC_ENDPROCESS, 171, 189, 69, 14 CONTROL "Afișea&ză procesele tuturor utilizatorilor", IDC_SHOWALLPROCESSES, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 191, 150, 10 END @@ -176,7 +176,7 @@ BEGIN GROUPBOX "Memorie încărcată (ko)", IDC_COMMIT_CHARGE_FRAME, 5, 166, 121, 39, 0, WS_EX_TRANSPARENT GROUPBOX "Memorie fizică (ko)", IDC_PHYSICAL_MEMORY_FRAME, 136, 122, 106, 39, 0, WS_EX_TRANSPARENT GROUPBOX "Memorie nucleu (ko)", IDC_KERNEL_MEMORY_FRAME, 136, 166, 106, 39, 0, WS_EX_TRANSPARENT - LTEXT "Rutine de gestiune", IDS_TOTALS_HANDLE_COUNT, 12, 131, 125, 8 + LTEXT "Id. de gestiune", IDS_TOTALS_HANDLE_COUNT, 12, 131, 125, 8 LTEXT "Fire de execuție", IDS_TOTALS_THREAD_COUNT, 12, 140, 100, 8 LTEXT "Procese", IDS_TOTALS_PROCESS_COUNT, 12, 149, 100, 8 EDITTEXT IDC_TOTALS_HANDLE_COUNT, 75, 131, 45, 8, ES_RIGHT | ES_READONLY | diff --git a/base/applications/taskmgr/perfdata.c b/base/applications/taskmgr/perfdata.c index f8ed0f19a25..ac23b16c10c 100644 --- a/base/applications/taskmgr/perfdata.c +++ b/base/applications/taskmgr/perfdata.c @@ -22,6 +22,12 @@ #include "precomp.h" +#define WIN32_LEAN_AND_MEAN +#include + +#define NTOS_MODE_USER +#include + CRITICAL_SECTION PerfDataCriticalSection; PPERFDATA pPerfDataOld = NULL; /* Older perf data (saved to establish delta values) */ PPERFDATA pPerfData = NULL; /* Most recent copy of perf data */ diff --git a/base/applications/taskmgr/precomp.h b/base/applications/taskmgr/precomp.h index 2ed0c2a0fe7..d99e58fc2b8 100644 --- a/base/applications/taskmgr/precomp.h +++ b/base/applications/taskmgr/precomp.h @@ -5,37 +5,29 @@ #error Task-Manager uses NDK functions, so it can only be compiled with Unicode support enabled! #endif -#include #include -#include +#include #define WIN32_NO_STATUS -#define WIN32_LEAN_AND_MEAN #include #include -#define NTOS_MODE_USER -#include -#include +#include +#include +#include #include #include #include "column.h" #include "taskmgr.h" #include "perfdata.h" -#include "perfpage.h" -#include "about.h" #include "procpage.h" -#include "proclist.h" -#include "affinity.h" #include "applpage.h" #include "dbgchnl.h" -#include "debug.h" #include "endproc.h" #include "graph.h" #include "graphctl.h" #include "optnmenu.h" -#include "priority.h" #include "run.h" #include "trayicon.h" diff --git a/base/applications/taskmgr/proclist.c b/base/applications/taskmgr/proclist.c index bc8f1e58baa..15f0c13b48d 100644 --- a/base/applications/taskmgr/proclist.c +++ b/base/applications/taskmgr/proclist.c @@ -22,7 +22,6 @@ #include "precomp.h" - INT_PTR CALLBACK ProcessListWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam); WNDPROC OldProcessListWndProc; @@ -77,7 +76,7 @@ ProcessListWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) rcItem.left = LVIR_BOUNDS; SendMessageW(hWnd, LVM_GETITEMRECT, ListView_GetItemCount(hWnd) - 1, (LPARAM)&rcItem); rcClip.bottom = rcItem.bottom; - rcClip.right = rcItem.right; + rcClip.right = rcItem.right; rcItem.left = LVIR_ICON; SendMessageW(hWnd, LVM_GETITEMRECT, 0, (LPARAM)&rcItem); rcClip.left = rcItem.right; diff --git a/base/applications/taskmgr/procpage.c b/base/applications/taskmgr/procpage.c index 33ceb8c6e4c..007e678532d 100644 --- a/base/applications/taskmgr/procpage.c +++ b/base/applications/taskmgr/procpage.c @@ -23,6 +23,8 @@ #include "precomp.h" +#include "proclist.h" + #define CMP(x1, x2)\ (x1 < x2 ? -1 : (x1 > x2 ? 1 : 0)) @@ -468,25 +470,25 @@ void UpdateProcesses() BOOL ProcessRunning(ULONG ProcessId) { - HANDLE hProcess; - DWORD exitCode; + HANDLE hProcess; + DWORD exitCode; - if (ProcessId == 0) { - return TRUE; - } - - hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, ProcessId); - if (hProcess == NULL) { - return FALSE; - } + if (ProcessId == 0) { + return TRUE; + } - if (GetExitCodeProcess(hProcess, &exitCode)) { - CloseHandle(hProcess); - return (exitCode == STILL_ACTIVE); - } + hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, ProcessId); + if (hProcess == NULL) { + return FALSE; + } - CloseHandle(hProcess); - return FALSE; + if (GetExitCodeProcess(hProcess, &exitCode)) { + CloseHandle(hProcess); + return (exitCode == STILL_ACTIVE); + } + + CloseHandle(hProcess); + return FALSE; } void AddProcess(ULONG Index) diff --git a/base/applications/taskmgr/taskmgr.c b/base/applications/taskmgr/taskmgr.c index c1478780143..23ccc39fcd3 100644 --- a/base/applications/taskmgr/taskmgr.c +++ b/base/applications/taskmgr/taskmgr.c @@ -23,6 +23,12 @@ #include "precomp.h" +#include "perfpage.h" +#include "about.h" +#include "affinity.h" +#include "debug.h" +#include "priority.h" + #define STATUS_WINDOW 2001 /* Global Variables: */ diff --git a/base/applications/winhlp32/callback.c b/base/applications/winhlp32/callback.c index 4c95a106cce..7f7e169ba63 100644 --- a/base/applications/winhlp32/callback.c +++ b/base/applications/winhlp32/callback.c @@ -18,16 +18,8 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include -#include -#include -#include -#include - #include "winhelp.h" -WINE_DEFAULT_DEBUG_CHANNEL(winhelp); - static WORD CALLBACK WHD_GetFSError(void) { WINE_FIXME("()\n"); diff --git a/base/applications/winhlp32/hlpfile.c b/base/applications/winhlp32/hlpfile.c index fbde82e9d6c..096904f32ef 100644 --- a/base/applications/winhlp32/hlpfile.c +++ b/base/applications/winhlp32/hlpfile.c @@ -20,19 +20,8 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -//#include -#include -//#include -#include -//#include -#include -#include -#include - #include "winhelp.h" -WINE_DEFAULT_DEBUG_CHANNEL(winhelp); - static inline unsigned short GET_USHORT(const BYTE* buffer, unsigned i) { return (BYTE)buffer[i] + 0x100 * (BYTE)buffer[i + 1]; diff --git a/base/applications/winhlp32/lang/Bg.rc b/base/applications/winhlp32/lang/Bg.rc index 191b5d0f78d..089ae32134f 100644 --- a/base/applications/winhlp32/lang/Bg.rc +++ b/base/applications/winhlp32/lang/Bg.rc @@ -18,8 +18,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "winhelp_res.h" - LANGUAGE LANG_BULGARIAN, SUBLANG_DEFAULT /* Menu */ diff --git a/base/applications/winhlp32/lang/Cs.rc b/base/applications/winhlp32/lang/Cs.rc index 16fc70be2c1..28f63ad81f7 100644 --- a/base/applications/winhlp32/lang/Cs.rc +++ b/base/applications/winhlp32/lang/Cs.rc @@ -21,8 +21,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "winhelp_res.h" - LANGUAGE LANG_CZECH, SUBLANG_DEFAULT /* Czech strings in CP1250 */ diff --git a/base/applications/winhlp32/lang/Da.rc b/base/applications/winhlp32/lang/Da.rc index 7b2b6d114c7..2e5e0de158d 100644 --- a/base/applications/winhlp32/lang/Da.rc +++ b/base/applications/winhlp32/lang/Da.rc @@ -21,8 +21,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "winhelp_res.h" - #pragma code_page(65001) LANGUAGE LANG_DANISH, SUBLANG_DEFAULT diff --git a/base/applications/winhlp32/lang/De.rc b/base/applications/winhlp32/lang/De.rc index 22554aaa58d..e0576b18bb9 100644 --- a/base/applications/winhlp32/lang/De.rc +++ b/base/applications/winhlp32/lang/De.rc @@ -19,8 +19,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "winhelp_res.h" - LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL #pragma code_page(65001) diff --git a/base/applications/winhlp32/lang/En.rc b/base/applications/winhlp32/lang/En.rc index 6d987dbc7aa..555bfda0f8b 100644 --- a/base/applications/winhlp32/lang/En.rc +++ b/base/applications/winhlp32/lang/En.rc @@ -19,8 +19,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "winhelp_res.h" - /* Menu */ LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT diff --git a/base/applications/winhlp32/lang/Es.rc b/base/applications/winhlp32/lang/Es.rc index 940585e653d..7b6a3089114 100644 --- a/base/applications/winhlp32/lang/Es.rc +++ b/base/applications/winhlp32/lang/Es.rc @@ -20,8 +20,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "winhelp_res.h" - LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL /* Menu */ diff --git a/base/applications/winhlp32/lang/Fi.rc b/base/applications/winhlp32/lang/Fi.rc index eb5a95283bb..98238d214ed 100644 --- a/base/applications/winhlp32/lang/Fi.rc +++ b/base/applications/winhlp32/lang/Fi.rc @@ -20,8 +20,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "winhelp_res.h" - LANGUAGE LANG_FINNISH, SUBLANG_DEFAULT /* Menu */ diff --git a/base/applications/winhlp32/lang/Fr.rc b/base/applications/winhlp32/lang/Fr.rc index 2b8ea8f6200..3977a3b4b3d 100644 --- a/base/applications/winhlp32/lang/Fr.rc +++ b/base/applications/winhlp32/lang/Fr.rc @@ -20,8 +20,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "winhelp_res.h" - LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL /* UTF-8 */ diff --git a/base/applications/winhlp32/lang/He.rc b/base/applications/winhlp32/lang/He.rc index 2b9da4631a9..c3d89381f03 100644 --- a/base/applications/winhlp32/lang/He.rc +++ b/base/applications/winhlp32/lang/He.rc @@ -20,8 +20,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "winhelp_res.h" - #pragma code_page(65001) /* Menu */ diff --git a/base/applications/winhlp32/lang/Hu.rc b/base/applications/winhlp32/lang/Hu.rc index 7699677b1e2..07b0f6ccce0 100644 --- a/base/applications/winhlp32/lang/Hu.rc +++ b/base/applications/winhlp32/lang/Hu.rc @@ -20,8 +20,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "winhelp_res.h" - LANGUAGE LANG_HUNGARIAN, SUBLANG_DEFAULT /* Menu */ diff --git a/base/applications/winhlp32/lang/It.rc b/base/applications/winhlp32/lang/It.rc index f0dfd0c8573..e10c91c73fa 100644 --- a/base/applications/winhlp32/lang/It.rc +++ b/base/applications/winhlp32/lang/It.rc @@ -19,8 +19,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "winhelp_res.h" - /* UTF-8 */ #pragma code_page(65001) diff --git a/base/applications/winhlp32/lang/Ja.rc b/base/applications/winhlp32/lang/Ja.rc index a93e5a3b5e9..aeb0da7b6cc 100644 --- a/base/applications/winhlp32/lang/Ja.rc +++ b/base/applications/winhlp32/lang/Ja.rc @@ -19,8 +19,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "winhelp_res.h" - LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT /* UTF-8 */ diff --git a/base/applications/winhlp32/lang/Ko.rc b/base/applications/winhlp32/lang/Ko.rc index 1acc2db701b..37df48a213d 100644 --- a/base/applications/winhlp32/lang/Ko.rc +++ b/base/applications/winhlp32/lang/Ko.rc @@ -19,8 +19,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "winhelp_res.h" - #pragma code_page(65001) LANGUAGE LANG_KOREAN, SUBLANG_DEFAULT diff --git a/base/applications/winhlp32/lang/Lt.rc b/base/applications/winhlp32/lang/Lt.rc index 195740c3e3c..bfcd27fed21 100644 --- a/base/applications/winhlp32/lang/Lt.rc +++ b/base/applications/winhlp32/lang/Lt.rc @@ -18,8 +18,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "winhelp_res.h" - /* UTF-8 */ #pragma code_page(65001) diff --git a/base/applications/winhlp32/lang/Nl.rc b/base/applications/winhlp32/lang/Nl.rc index 08860098f3f..5250e8ebb15 100644 --- a/base/applications/winhlp32/lang/Nl.rc +++ b/base/applications/winhlp32/lang/Nl.rc @@ -19,8 +19,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "winhelp_res.h" - #pragma code_page(65001) LANGUAGE LANG_DUTCH, SUBLANG_NEUTRAL diff --git a/base/applications/winhlp32/lang/No.rc b/base/applications/winhlp32/lang/No.rc index a18dbc4f19e..036c150f85b 100644 --- a/base/applications/winhlp32/lang/No.rc +++ b/base/applications/winhlp32/lang/No.rc @@ -18,8 +18,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "winhelp_res.h" - LANGUAGE LANG_NORWEGIAN, SUBLANG_NORWEGIAN_BOKMAL /* Menu */ diff --git a/base/applications/winhlp32/lang/Pl.rc b/base/applications/winhlp32/lang/Pl.rc index fb2114d754b..23710bfe736 100644 --- a/base/applications/winhlp32/lang/Pl.rc +++ b/base/applications/winhlp32/lang/Pl.rc @@ -21,8 +21,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "winhelp_res.h" - LANGUAGE LANG_POLISH, SUBLANG_DEFAULT /* Menu */ diff --git a/base/applications/winhlp32/lang/Pt.rc b/base/applications/winhlp32/lang/Pt.rc index 86216754128..ab63da653ee 100644 --- a/base/applications/winhlp32/lang/Pt.rc +++ b/base/applications/winhlp32/lang/Pt.rc @@ -25,8 +25,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "winhelp_res.h" - #pragma code_page(65001) /* Menu */ diff --git a/base/applications/winhlp32/lang/Rm.rc b/base/applications/winhlp32/lang/Rm.rc index 60403f02d79..e58672bfed5 100644 --- a/base/applications/winhlp32/lang/Rm.rc +++ b/base/applications/winhlp32/lang/Rm.rc @@ -20,8 +20,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "winhelp_res.h" - LANGUAGE LANG_ROMANSH, SUBLANG_DEFAULT #pragma code_page(65001) diff --git a/base/applications/winhlp32/lang/Ro.rc b/base/applications/winhlp32/lang/Ro.rc index 69b088fef2a..5cd51d2635e 100644 --- a/base/applications/winhlp32/lang/Ro.rc +++ b/base/applications/winhlp32/lang/Ro.rc @@ -20,8 +20,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "winhelp_res.h" - LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL #pragma code_page(65001) diff --git a/base/applications/winhlp32/lang/Ru.rc b/base/applications/winhlp32/lang/Ru.rc index 456f7e2b168..ad30c3f561a 100644 --- a/base/applications/winhlp32/lang/Ru.rc +++ b/base/applications/winhlp32/lang/Ru.rc @@ -18,8 +18,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "winhelp_res.h" - /* UTF-8 */ #pragma code_page(65001) diff --git a/base/applications/winhlp32/lang/Si.rc b/base/applications/winhlp32/lang/Si.rc index 023b28a984a..1b0bce72a3c 100644 --- a/base/applications/winhlp32/lang/Si.rc +++ b/base/applications/winhlp32/lang/Si.rc @@ -18,8 +18,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "winhelp_res.h" - LANGUAGE LANG_SLOVENIAN, SUBLANG_DEFAULT #pragma code_page(65001) diff --git a/base/applications/winhlp32/lang/Sk.rc b/base/applications/winhlp32/lang/Sk.rc index d1abcff02c7..c2276bf3220 100644 --- a/base/applications/winhlp32/lang/Sk.rc +++ b/base/applications/winhlp32/lang/Sk.rc @@ -18,8 +18,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "winhelp_res.h" - LANGUAGE LANG_SLOVAK, SUBLANG_DEFAULT MAIN_MENU MENU diff --git a/base/applications/winhlp32/lang/Sq.rc b/base/applications/winhlp32/lang/Sq.rc index 25dcd798265..67b3112c5e4 100644 --- a/base/applications/winhlp32/lang/Sq.rc +++ b/base/applications/winhlp32/lang/Sq.rc @@ -20,8 +20,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "winhelp_res.h" - /* Menu */ LANGUAGE LANG_ALBANIAN, SUBLANG_NEUTRAL diff --git a/base/applications/winhlp32/lang/Sr.rc b/base/applications/winhlp32/lang/Sr.rc index a33e75adfce..a7bef59d987 100644 --- a/base/applications/winhlp32/lang/Sr.rc +++ b/base/applications/winhlp32/lang/Sr.rc @@ -19,8 +19,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "winhelp_res.h" - #pragma code_page(65001) /* Menu */ diff --git a/base/applications/winhlp32/lang/Sv.rc b/base/applications/winhlp32/lang/Sv.rc index c91332093ee..cf03e05806c 100644 --- a/base/applications/winhlp32/lang/Sv.rc +++ b/base/applications/winhlp32/lang/Sv.rc @@ -22,8 +22,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "winhelp_res.h" - LANGUAGE LANG_SWEDISH, SUBLANG_NEUTRAL /* Menu */ diff --git a/base/applications/winhlp32/lang/Tr.rc b/base/applications/winhlp32/lang/Tr.rc index aa061c5a969..32c2ba0d228 100644 --- a/base/applications/winhlp32/lang/Tr.rc +++ b/base/applications/winhlp32/lang/Tr.rc @@ -18,8 +18,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "winhelp_res.h" - LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT /* Menu */ diff --git a/base/applications/winhlp32/lang/Uk.rc b/base/applications/winhlp32/lang/Uk.rc index 8009697172f..e71332dc3b0 100644 --- a/base/applications/winhlp32/lang/Uk.rc +++ b/base/applications/winhlp32/lang/Uk.rc @@ -23,8 +23,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "winhelp_res.h" - /* UTF-8 */ #pragma code_page(65001) diff --git a/base/applications/winhlp32/lang/Zh.rc b/base/applications/winhlp32/lang/Zh.rc index 2532cb3fa54..5c40837d51e 100644 --- a/base/applications/winhlp32/lang/Zh.rc +++ b/base/applications/winhlp32/lang/Zh.rc @@ -21,8 +21,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "winhelp_res.h" - /* Chinese text is encoded in UTF-8 */ #pragma code_page(65001) diff --git a/base/applications/winhlp32/macro.c b/base/applications/winhlp32/macro.c index a44393fd8d4..5a86c8188fe 100644 --- a/base/applications/winhlp32/macro.c +++ b/base/applications/winhlp32/macro.c @@ -19,18 +19,9 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include -#include -#include -#include -#include -#include -#include -#include - #include "winhelp.h" -WINE_DEFAULT_DEBUG_CHANNEL(winhelp); +#include /**************************************************/ /* Macro table */ diff --git a/base/applications/winhlp32/macro.h b/base/applications/winhlp32/macro.h index e4f2a31cfde..a82b90e5f3e 100644 --- a/base/applications/winhlp32/macro.h +++ b/base/applications/winhlp32/macro.h @@ -19,11 +19,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -//#include - -//#include "windef.h" -#include - struct lexret { LPCSTR proto; BOOL bool; diff --git a/base/applications/winhlp32/macro.lex.yy.c b/base/applications/winhlp32/macro.lex.yy.c index 1f9a5e30eca..b7dc9c54758 100644 --- a/base/applications/winhlp32/macro.lex.yy.c +++ b/base/applications/winhlp32/macro.lex.yy.c @@ -502,21 +502,11 @@ char *yytext; #define YY_NO_INPUT 1 #line 26 "macro.lex.l" -#include "config.h" -#include -#include +#include #define YY_NO_UNISTD_H -#include "windef.h" -#include "winbase.h" -#include "wingdi.h" -#include "winuser.h" #include "winhelp.h" -#include "wine/debug.h" - -WINE_DEFAULT_DEBUG_CHANNEL(winhelp); - struct lex_data { LPCSTR macroptr; LPSTR strptr; diff --git a/base/applications/winhlp32/winhelp.c b/base/applications/winhlp32/winhelp.c index 0c08e02d2a6..754fc1ad6f6 100644 --- a/base/applications/winhlp32/winhelp.c +++ b/base/applications/winhlp32/winhelp.c @@ -22,30 +22,11 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include -#include -//#include -//#include -//#include - -#define NONAMELESSUNION -#define NONAMELESSSTRUCT - -#include -//#include "winbase.h" -#include -#include -#include #include "winhelp.h" -//#include "winhelp_res.h" -//#include "shellapi.h" + #include #include -#include - -WINE_DEFAULT_DEBUG_CHANNEL(winhelp); - WINHELP_GLOBALS Globals = {3, NULL, TRUE, NULL, NULL, NULL, NULL, NULL, {{{NULL,NULL}},0}, NULL}; #define CTL_ID_BUTTON 0x700 diff --git a/base/applications/winhlp32/winhelp.h b/base/applications/winhlp32/winhelp.h index ac3da225f92..b98c04f95fa 100644 --- a/base/applications/winhlp32/winhelp.h +++ b/base/applications/winhlp32/winhelp.h @@ -32,12 +32,29 @@ #ifndef RC_INVOKED -//#include +#include +#include +#include + +#define WIN32_NO_STATUS +#define _INC_WINDOWS +#define COM_NO_WINDOWS_H + +#define NONAMELESSUNION +#define NONAMELESSSTRUCT + +#include +#include +#include +#include +#include #include "hlpfile.h" -//#include "windef.h" -//#include "winbase.h" #include "macro.h" + +#include +WINE_DEFAULT_DEBUG_CHANNEL(winhelp); + #include "winhelp_res.h" typedef struct tagHelpButton diff --git a/base/applications/winver/winver.c b/base/applications/winver/winver.c index 1065b515d3a..b969d14e560 100644 --- a/base/applications/winver/winver.c +++ b/base/applications/winver/winver.c @@ -2,14 +2,14 @@ #include #include #include -#include -int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow) { +int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int nCmdShow) +{ static const WCHAR szROS[] = { 'R','e','a','c','t','O','S',0 }; UNREFERENCED_PARAMETER(lpCmdLine); UNREFERENCED_PARAMETER(nCmdShow); UNREFERENCED_PARAMETER(hPrevInstance); UNREFERENCED_PARAMETER(hInstance); - ShellAbout(0, szROS, 0, 0); + ShellAboutW(0, szROS, 0, 0); return 1; } diff --git a/base/applications/wordpad/lang/Ro.rc b/base/applications/wordpad/lang/Ro.rc index 8f310b928b8..3c49dd8c47c 100644 --- a/base/applications/wordpad/lang/Ro.rc +++ b/base/applications/wordpad/lang/Ro.rc @@ -2,6 +2,7 @@ * Copyright 2004 Krzysztof Foltman * Copyright 2010 Claudia Cotună * Michael Stefaniuc + * 2011 Fulea Ștefan * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -28,72 +29,72 @@ IDM_MAINMENU MENU BEGIN POPUP "&Fișier" BEGIN - MENUITEM "&Nou...\tCtrl+N", ID_FILE_NEW - MENUITEM "&Deschide...\tCtrl+O", ID_FILE_OPEN - MENUITEM "&Salvează\tCtrl+S", ID_FILE_SAVE - MENUITEM "S&alvează ca...", ID_FILE_SAVEAS + MENUITEM "&Nou…\tCtrl+N", ID_FILE_NEW + MENUITEM "&Deschidere…\tCtrl+O", ID_FILE_OPEN + MENUITEM "Pă&strează\tCtrl+S", ID_FILE_SAVE + MENUITEM "&Păstrare în…", ID_FILE_SAVEAS MENUITEM SEPARATOR - MENUITEM "Im&primă...\tCtrl+P", ID_PRINT - MENUITEM "Pre&vizualizare imprimare...", ID_PREVIEW - MENUITEM "&Opțiuni pagină...", ID_PRINTSETUP + MENUITEM "&Imprimare…\tCtrl+P", ID_PRINT + MENUITEM "Pre&vizionare imprimare…", ID_PREVIEW + MENUITEM "&Opțiuni pagină…", ID_PRINTSETUP MENUITEM SEPARATOR - MENUITEM "&Ieșire", ID_FILE_EXIT + MENUITEM "I&eșire", ID_FILE_EXIT END POPUP "&Editare" BEGIN - MENUITEM "&Anulează\tCtrl+Z", ID_EDIT_UNDO - MENUITEM "R&efă\tCtrl+Y", ID_EDIT_REDO + MENUITEM "Des&face\tCtrl+Z", ID_EDIT_UNDO + MENUITEM "&Reface\tCtrl+Y", ID_EDIT_REDO MENUITEM SEPARATOR - MENUITEM "&Taie\tCtrl+X", ID_EDIT_CUT + MENUITEM "&Decupează\tCtrl+X", ID_EDIT_CUT MENUITEM "&Copiază\tCtrl+C", ID_EDIT_COPY - MENUITEM "Li&pește\tCtrl+V", ID_EDIT_PASTE - MENUITEM "&Curăță\tDEL", ID_EDIT_CLEAR - MENUITEM "&Selectează tot\tCtrl+A", ID_EDIT_SELECTALL + MENUITEM "&Lipește\tCtrl+V", ID_EDIT_PASTE + MENUITEM "Șt&erge\tDEL", ID_EDIT_CLEAR + MENUITEM "Selecte&ază tot\tCtrl+A", ID_EDIT_SELECTALL MENUITEM SEPARATOR - MENUITEM "Cău&tare...\tCrtl+F", ID_FIND - MENUITEM "Caută &următorul\tF3", ID_FIND_NEXT - MENUITEM "Î&nlocuire...\tCtrl+H", ID_REPLACE + MENUITEM "Că&utare…\tCrtl+F", ID_FIND + MENUITEM "Caută u&rmătorul\tF3", ID_FIND_NEXT + MENUITEM "Î&nlocuire…\tCtrl+H", ID_REPLACE MENUITEM SEPARATOR MENUITEM "D&oar citire", ID_EDIT_READONLY MENUITEM "&Modificat", ID_EDIT_MODIFIED MENUITEM SEPARATOR - POPUP "S&uplimente" + POPUP "&Suplimente" BEGIN - MENUITEM "Detal&ii pentru selecție", ID_EDIT_SELECTIONINFO - MENUITEM "&Format caracter", ID_EDIT_CHARFORMAT - MENUITEM "For&mat caracter implicit", ID_EDIT_DEFCHARFORMAT - MENUITEM "Format ¶graf", ID_EDIT_PARAFORMAT - MENUITEM "Extra&ge textul", ID_EDIT_GETTEXT + MENUITEM "&Detalii pentru selecție", ID_EDIT_SELECTIONINFO + MENUITEM "Format &caracter", ID_EDIT_CHARFORMAT + MENUITEM "Format caracter i&mplicit", ID_EDIT_DEFCHARFORMAT + MENUITEM "Format p&aragraf", ID_EDIT_PARAFORMAT + MENUITEM "Extrage te&xtul", ID_EDIT_GETTEXT END END - POPUP "&Vizualizare" + POPUP "&Afișare" BEGIN - MENUITEM "Bara de unel&te", ID_TOGGLE_TOOLBAR - MENUITEM "Bara de &format", ID_TOGGLE_FORMATBAR + MENUITEM "Instrumente g&enerale", ID_TOGGLE_TOOLBAR + MENUITEM "Instrumente de &formatare", ID_TOGGLE_FORMATBAR MENUITEM "&Riglă", ID_TOGGLE_RULER - MENUITEM "Bară de &stare", ID_TOGGLE_STATUSBAR + MENUITEM "&Bară de stare", ID_TOGGLE_STATUSBAR MENUITEM SEPARATOR - MENUITEM "&Opțiuni...", ID_VIEWPROPERTIES + MENUITEM "&Opțiuni…", ID_VIEWPROPERTIES END POPUP "&Inserare" BEGIN - MENUITEM "&Data și ora...", ID_DATETIME + MENUITEM "&Data și ora…", ID_DATETIME END - POPUP "F&ormat" + POPUP "F&ormatare" BEGIN - MENUITEM "&Font...", ID_FONTSETTINGS + MENUITEM "&Font…", ID_FONTSETTINGS MENUITEM "Punct &bulină", ID_BULLET - MENUITEM "&Paragraf...", ID_PARAFORMAT - MENUITEM "&Taburi...", ID_TABSTOPS + MENUITEM "&Paragraf…", ID_PARAFORMAT + MENUITEM "&Taburi…", ID_TABSTOPS POPUP "Fun&dal" BEGIN MENUITEM "&Sistem\tCtrl+1", ID_BACK_1 - MENUITEM "Gălbui de &post-it\tCtrl+2", ID_BACK_2 + MENUITEM "&Gălbui de post-it\tCtrl+2", ID_BACK_2 END END - POPUP "&Ajutor" + POPUP "&?" BEGIN - MENUITEM "&Despre Wine Wordpad", ID_ABOUT + MENUITEM "&Despre Wine Wordpad…", ID_ABOUT END END @@ -101,12 +102,12 @@ IDM_POPUP MENU BEGIN POPUP "" BEGIN - MENUITEM "&Taie", ID_EDIT_CUT + MENUITEM "&Decupează", ID_EDIT_CUT MENUITEM "&Copiază", ID_EDIT_COPY MENUITEM "&Lipește", ID_EDIT_PASTE MENUITEM SEPARATOR MENUITEM "Punct &bulină", ID_BULLET - MENUITEM "&Paragraf...", ID_PARAFORMAT + MENUITEM "&Paragraf…", ID_PARAFORMAT END END @@ -130,7 +131,7 @@ BEGIN MENUITEM "Fuchsia", ID_COLOR_FUCHSIA MENUITEM "Culoarea apei", ID_COLOR_AQUA MENUITEM "Alb", ID_COLOR_WHITE - MENUITEM "Automatic", ID_COLOR_AUTOMATIC + MENUITEM "Automată", ID_COLOR_AUTOMATIC END END @@ -140,9 +141,9 @@ CAPTION "Data și ora" FONT 10, "MS Sans Serif" BEGIN LTEXT "Formate disponibile",-1,3,2,100,15 - LISTBOX IDC_DATETIME,3,12,80,65,LBS_NOINTEGRALHEIGHT | LBS_NOTIFY - PUSHBUTTON "&OK",IDOK,87,12,40,12 - PUSHBUTTON "&Anulează",IDCANCEL,87,26,40,12 + LISTBOX IDC_DATETIME,3,12,80,65,LBS_NOINTEGRALHEIGHT | LBS_NOTIFY + PUSHBUTTON "Con&firmă", IDOK,87,12,40,12 + PUSHBUTTON "A&nulează", IDCANCEL,87,26,40,12 END IDD_NEWFILE DIALOG 30, 20, 140, 80 @@ -150,10 +151,10 @@ STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU CAPTION "Nou" FONT 10, "MS Sans Serif" BEGIN - LTEXT "Nou tip de document",-1,3,2,100,15 - LISTBOX IDC_NEWFILE,3,12,90,65,LBS_NOINTEGRALHEIGHT - PUSHBUTTON "&OK",IDOK,97,12,40,12 - PUSHBUTTON "&Anulează",IDCANCEL,97,26,40,12 + LTEXT "Tip nou de document",-1,3,2,100,15 + LISTBOX IDC_NEWFILE,3,12,90,65,LBS_NOINTEGRALHEIGHT + PUSHBUTTON "Con&firmă", IDOK,97,12,40,12 + PUSHBUTTON "A&nulează", IDCANCEL,97,26,40,12 END IDD_PARAFORMAT DIALOG 30, 20, 200, 110 @@ -161,17 +162,17 @@ STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU CAPTION "Format paragraf" FONT 8, "MS Shell Dlg" BEGIN - GROUPBOX "Indentare", -1, 10, 10, 120, 68 - LTEXT "Stânga", -1, 15, 22, 40, 13 - EDITTEXT IDC_PARA_LEFT, 55, 20, 60, 13 - LTEXT "Dreapta", -1, 15, 40, 40, 13 - EDITTEXT IDC_PARA_RIGHT, 55, 38, 60, 13 - LTEXT "Primul rând", -1, 15, 58, 40, 13 - EDITTEXT IDC_PARA_FIRST, 55, 56, 60, 13 - LTEXT "Aliniere", -1, 15, 87, 40, 13 - COMBOBOX IDC_PARA_ALIGN, 55, 85, 60, 60, CBS_DROPDOWNLIST - PUSHBUTTON "&OK", IDOK, 137, 15, 50, 15 - PUSHBUTTON "&Anulează", IDCANCEL, 137, 33, 50, 15 + GROUPBOX "Indentare", -1, 10, 10, 120, 68 + LTEXT "Stânga", -1, 15, 22, 40, 13 + EDITTEXT IDC_PARA_LEFT, 55, 20, 60, 13 + LTEXT "Dreapta", -1, 15, 40, 40, 13 + EDITTEXT IDC_PARA_RIGHT, 55, 38, 60, 13 + LTEXT "Primul rând", -1, 15, 58, 40, 13 + EDITTEXT IDC_PARA_FIRST, 55, 56, 60, 13 + LTEXT "Aliniere", -1, 15, 87, 40, 13 + COMBOBOX IDC_PARA_ALIGN, 55, 85, 60, 60, CBS_DROPDOWNLIST + PUSHBUTTON "Con&firmă", IDOK, 137, 15, 50, 15 + PUSHBUTTON "A&nulează", IDCANCEL, 137, 33, 50, 15 END IDD_TABSTOPS DIALOG 30, 20, 200, 110 @@ -179,13 +180,13 @@ STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU CAPTION "Taburi" FONT 8, "MS SHell DLg" BEGIN - GROUPBOX "Spațiere tab", -1, 10, 10, 120, 90 - COMBOBOX IDC_TABSTOPS, 20, 20, 100, 60, CBS_SIMPLE - DEFPUSHBUTTON "&Adaugă", ID_TAB_ADD, 20, 80, 45, 15 - PUSHBUTTON "&Elimină", ID_TAB_DEL, 72, 80, 45, 15 - PUSHBUTTON "&OK", IDOK, 137, 15, 50, 15 - PUSHBUTTON "&Anulează", IDCANCEL, 137, 33, 50, 15 - PUSHBUTTON "E&limină tot", ID_TAB_EMPTY, 137, 51, 50, 15 + GROUPBOX "Spațiere tab", -1, 10, 10, 120, 90 + COMBOBOX IDC_TABSTOPS, 20, 20, 100, 60, CBS_SIMPLE + DEFPUSHBUTTON "&Adaugă", ID_TAB_ADD, 20, 80, 45, 15 + PUSHBUTTON "&Elimină", ID_TAB_DEL, 72, 80, 45, 15 + PUSHBUTTON "Con&firmă", IDOK, 137, 15, 50, 15 + PUSHBUTTON "A&nulează", IDCANCEL, 137, 33, 50, 15 + PUSHBUTTON "Elimină t&ot", ID_TAB_EMPTY, 137, 51, 50, 15 END IDD_FORMATOPTS DIALOG 0, 0, 280, 110 @@ -193,24 +194,24 @@ STYLE DS_SYSMODAL CAPTION "" FONT 8, "MS Shell Dlg" BEGIN - GROUPBOX "Despărțire rânduri", -1, 10, 10, 130, 85 - RADIOBUTTON "Fără desparțire râ&nduri", IDC_PAGEFMT_WN, 18, 25, 117, 15 - RADIOBUTTON "Încadrează textul în chenarul &ferestrei", IDC_PAGEFMT_WW, 18, 45, 117, 15 - RADIOBUTTON "Încadrează textul în limitele ri&glei", IDC_PAGEFMT_WM, 18, 65, 117, 15 - GROUPBOX "Bare de unelte", -1, 150, 10, 120, 85 - CHECKBOX "Bara de unel&te", IDC_PAGEFMT_TB, 160, 20, 80, 15 - CHECKBOX "Bara de &format", IDC_PAGEFMT_FB, 160, 38, 80, 15 - CHECKBOX "&Riglă", IDC_PAGEFMT_RU, 160, 56, 80, 15 - CHECKBOX "Bară de &stare", IDC_PAGEFMT_SB, 160, 74, 80, 15 - LTEXT "", IDC_PAGEFMT_ID, 0,0,0,0 + GROUPBOX "Despărțire rânduri", -1, 10, 10, 130, 85 + RADIOBUTTON "Fără &desparțire rânduri", IDC_PAGEFMT_WN, 18, 25, 117, 15 + RADIOBUTTON "Încadrează textul în &chenarul ferestrei", IDC_PAGEFMT_WW, 18, 45, 117, 15 + RADIOBUTTON "Încadrează textul în li&mitele riglei", IDC_PAGEFMT_WM, 18, 65, 117, 15 + GROUPBOX "Panouri de instrumente", -1, 150, 10, 120, 85 + CHECKBOX "Butoane g&enerale", IDC_PAGEFMT_TB, 160, 20, 80, 15 + CHECKBOX "Butoane de f&ormatare", IDC_PAGEFMT_FB, 160, 38, 80, 15 + CHECKBOX "&Riglă", IDC_PAGEFMT_RU, 160, 56, 80, 15 + CHECKBOX "&Bară de stare", IDC_PAGEFMT_SB, 160, 74, 80, 15 + LTEXT "", IDC_PAGEFMT_ID, 0,0,0,0 END STRINGTABLE BEGIN - STRING_ALL_FILES, "Toate documentele (*.*)" - STRING_TEXT_FILES_TXT, "Documentele text (*.txt)" - STRING_TEXT_FILES_UNICODE_TXT, "Documentele text unicode (*.txt)" - STRING_RICHTEXT_FILES_RTF, "Formatul de text îmbogățit (*.rtf)" + STRING_ALL_FILES, "Orice fișier (*.*)" + STRING_TEXT_FILES_TXT, "Documente text (*.txt)" + STRING_TEXT_FILES_UNICODE_TXT, "Documente text unicode (*.txt)" + STRING_RICHTEXT_FILES_RTF, "Format de text îmbogățit (*.rtf)" STRING_NEWFILE_RICHTEXT, "Document text îmbogățit" STRING_NEWFILE_TXT, "Document text" STRING_NEWFILE_TXT_UNICODE, "Document text unicode" @@ -252,7 +253,7 @@ END STRINGTABLE BEGIN STRING_DEFAULT_FILENAME, "Document" - STRING_PROMPT_SAVE_CHANGES, "Salvați modificările la „%s”?" + STRING_PROMPT_SAVE_CHANGES, "Păstrați modificările la „%s”?" STRING_SEARCH_FINISHED, "S-a terminat căutarea în document." STRING_LOAD_RICHED_FAILED, "Nu s-a putut încărca biblioteca RichEdit." STRING_SAVE_LOSEFORMATTING, "Ați ales să salvați în formatul de text simplu, care va pierde formatarea. Sigur doriți să continuați?" diff --git a/base/services/audiosrv/audiosrv.h b/base/services/audiosrv/audiosrv.h index 9cfcee1b0f3..4c64f319b68 100644 --- a/base/services/audiosrv/audiosrv.h +++ b/base/services/audiosrv/audiosrv.h @@ -7,16 +7,10 @@ */ #include + #include #include -#include -#include -#include -#include -#include -#include -#include -#include +#include #include #include diff --git a/base/services/audiosrv/debug.c b/base/services/audiosrv/debug.c index bdb34a190fc..df821afb51e 100644 --- a/base/services/audiosrv/debug.c +++ b/base/services/audiosrv/debug.c @@ -2,6 +2,8 @@ #include "audiosrv.h" +#include + void logmsg(char* string, ...) { va_list args; diff --git a/base/services/audiosrv/pnp.c b/base/services/audiosrv/pnp.c index e85da65117e..8ab76fbf9da 100644 --- a/base/services/audiosrv/pnp.c +++ b/base/services/audiosrv/pnp.c @@ -8,8 +8,13 @@ #include "audiosrv.h" -static HDEVNOTIFY device_notification_handle = NULL; +#include +#include +#include +#include +#include +static HDEVNOTIFY device_notification_handle = NULL; /* Finds all devices within the KSCATEGORY_AUDIO category and puts them diff --git a/base/services/audiosrv/pnp_list_lock.c b/base/services/audiosrv/pnp_list_lock.c index 1ac7e6545e2..43b604c0383 100644 --- a/base/services/audiosrv/pnp_list_lock.c +++ b/base/services/audiosrv/pnp_list_lock.c @@ -8,6 +8,8 @@ #include "audiosrv.h" +#include + static HANDLE audio_device_list_lock = NULL; BOOL diff --git a/base/services/eventlog/eventlog.c b/base/services/eventlog/eventlog.c index 84a34168448..7ac99c28a47 100644 --- a/base/services/eventlog/eventlog.c +++ b/base/services/eventlog/eventlog.c @@ -11,6 +11,9 @@ #include "eventlog.h" +#include +#include + #define NDEBUG #include diff --git a/base/services/eventlog/eventlog.h b/base/services/eventlog/eventlog.h index 768d26ad3d7..3f4afa249f4 100644 --- a/base/services/eventlog/eventlog.h +++ b/base/services/eventlog/eventlog.h @@ -9,18 +9,14 @@ #ifndef __EVENTLOG_H__ #define __EVENTLOG_H__ -#define WIN32_NO_STATUS +#include -#include +#define WIN32_NO_STATUS #include #include -#include -#include -#include -#include -#include -#include +#include +#include #include typedef struct _IO_ERROR_LPC diff --git a/base/services/eventlog/file.c b/base/services/eventlog/file.c index fb5a698492a..75ba6946374 100644 --- a/base/services/eventlog/file.c +++ b/base/services/eventlog/file.c @@ -11,6 +11,8 @@ #include "eventlog.h" +#include + #define NDEBUG #include @@ -1097,18 +1099,31 @@ NTSTATUS LogfClearFile(PLOGFILE LogFile, PUNICODE_STRING BackupFileName) { + NTSTATUS Status; + RtlAcquireResourceExclusive(&LogFile->Lock, TRUE); if (BackupFileName->Length > 0) { - /* FIXME: Write a backup file */ + /* Write a backup file */ + Status = LogfBackupFile(LogFile, + BackupFileName); + if (!NT_SUCCESS(Status)) + { + DPRINT1("LogfBackupFile failed (Status: 0x%08lx)\n", Status); + return Status; + } } - LogfInitializeNew(LogFile); + Status = LogfInitializeNew(LogFile); + if (!NT_SUCCESS(Status)) + { + DPRINT1("LogfInitializeNew failed (Status: 0x%08lx)\n", Status); + } RtlReleaseResource(&LogFile->Lock); - return STATUS_SUCCESS; + return Status; } diff --git a/base/services/eventlog/logport.c b/base/services/eventlog/logport.c index b8d1ad9d0b1..c54fb908d2a 100644 --- a/base/services/eventlog/logport.c +++ b/base/services/eventlog/logport.c @@ -11,6 +11,8 @@ #include "eventlog.h" +#include + #define NDEBUG #include diff --git a/base/services/rpcss/epmp.c b/base/services/rpcss/epmp.c index aef5fde0d30..5776cf6669e 100644 --- a/base/services/rpcss/epmp.c +++ b/base/services/rpcss/epmp.c @@ -18,10 +18,9 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include +#include "rpcss.h" #include -#include WINE_DEFAULT_DEBUG_CHANNEL(ole); diff --git a/base/services/rpcss/irotp.c b/base/services/rpcss/irotp.c index 368dea64ebd..bf9c5690eea 100644 --- a/base/services/rpcss/irotp.c +++ b/base/services/rpcss/irotp.c @@ -18,8 +18,8 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include -#include +#include "rpcss.h" + #include WINE_DEFAULT_DEBUG_CHANNEL(rpcss); diff --git a/base/services/rpcss/rpcss.h b/base/services/rpcss/rpcss.h index 67bbc52b38a..347a5cf9421 100644 --- a/base/services/rpcss/rpcss.h +++ b/base/services/rpcss/rpcss.h @@ -22,9 +22,20 @@ #define __WINE_RPCSS_H #include + +#define WIN32_NO_STATUS +#define _INC_WINDOWS +#define COM_NO_WINDOWS_H + +#define NONAMELESSUNION +#define NONAMELESSSTRUCT + #include #include -#include +#include +#include + +#include #endif /* __WINE_RPCSS_H */ diff --git a/base/services/rpcss/rpcss_main.c b/base/services/rpcss/rpcss_main.c index f2255020f9e..de2a9978543 100644 --- a/base/services/rpcss/rpcss_main.c +++ b/base/services/rpcss/rpcss_main.c @@ -43,11 +43,7 @@ * role of rpcss.exe in wine. */ -#define NONAMELESSUNION -#define NONAMELESSSTRUCT #include "rpcss.h" -#include -#include #include diff --git a/base/services/rpcss/service_main.c b/base/services/rpcss/service_main.c index 501e2a43e3b..fbff5f66ecb 100644 --- a/base/services/rpcss/service_main.c +++ b/base/services/rpcss/service_main.c @@ -9,6 +9,8 @@ #include "rpcss.h" +#include + #define NDEBUG #include diff --git a/base/services/svchost/netbios.c b/base/services/svchost/netbios.c index ba52b0e7d7b..8537e61a66d 100644 --- a/base/services/svchost/netbios.c +++ b/base/services/svchost/netbios.c @@ -10,6 +10,9 @@ #include "svchost.h" +#include +#include + /* GLOBALS *******************************************************************/ LONG GlobalNetBiosUseCount; diff --git a/base/services/svchost/security.cxx b/base/services/svchost/security.cxx index 8d4a22ec04a..342aaf0d4b0 100644 --- a/base/services/svchost/security.cxx +++ b/base/services/svchost/security.cxx @@ -11,6 +11,9 @@ extern "C" { #include "svchost.h" + +#include +#include } /* GLOBALS *******************************************************************/ diff --git a/base/services/svchost/svchost.c b/base/services/svchost/svchost.c index e114cd4de16..e1085d08a79 100644 --- a/base/services/svchost/svchost.c +++ b/base/services/svchost/svchost.c @@ -10,6 +10,8 @@ #include "svchost.h" +#include + /* GLOBALS *******************************************************************/ LIST_ENTRY DllList; diff --git a/base/services/svchost/svchost.h b/base/services/svchost/svchost.h index 0588d002fad..e871eedd5d7 100644 --- a/base/services/svchost/svchost.h +++ b/base/services/svchost/svchost.h @@ -7,11 +7,13 @@ */ #pragma once + #define WIN32_NO_STATUS -#include -#include -#include -#include +#define WIN32_LEAN_AND_MEAN + +#include +#include +#include // // FIXME: Should go in public headers diff --git a/base/services/tcpsvcs/daytime.c b/base/services/tcpsvcs/daytime.c index 309620650a4..e0b1981a3de 100644 --- a/base/services/tcpsvcs/daytime.c +++ b/base/services/tcpsvcs/daytime.c @@ -9,6 +9,8 @@ #include "tcpsvcs.h" +#include + static BOOL SendTime(SOCKET sock, CHAR *time) { diff --git a/base/services/tcpsvcs/qotd.c b/base/services/tcpsvcs/qotd.c index 0c1d3683d77..51cfb9e5796 100644 --- a/base/services/tcpsvcs/qotd.c +++ b/base/services/tcpsvcs/qotd.c @@ -9,6 +9,8 @@ #include "tcpsvcs.h" +#include + static WCHAR szFilePath[] = L"\\drivers\\etc\\quotes"; static BOOL diff --git a/base/services/tcpsvcs/tcpsvcs.c b/base/services/tcpsvcs/tcpsvcs.c index 6730eab14ff..345a19f5daf 100644 --- a/base/services/tcpsvcs/tcpsvcs.c +++ b/base/services/tcpsvcs/tcpsvcs.c @@ -9,6 +9,8 @@ #include "tcpsvcs.h" +#include + static WCHAR ServiceName[] = L"tcpsvcs"; volatile BOOL bShutdown = FALSE; diff --git a/base/services/tcpsvcs/tcpsvcs.h b/base/services/tcpsvcs/tcpsvcs.h index f470c71542d..12c11666bb0 100644 --- a/base/services/tcpsvcs/tcpsvcs.h +++ b/base/services/tcpsvcs/tcpsvcs.h @@ -1,13 +1,11 @@ -#define WIN32_NO_STATUS #include + +#define WIN32_NO_STATUS #include #include -#include -#include #define _INC_WINDOWS #include #include -#include #ifndef _MSC_VER #define _swprintf swprintf diff --git a/base/services/wlansvc/precomp.h b/base/services/wlansvc/precomp.h new file mode 100644 index 00000000000..dc7fc8fb760 --- /dev/null +++ b/base/services/wlansvc/precomp.h @@ -0,0 +1,15 @@ +#ifndef _WLANSVC_PCH_ +#define _WLANSVC_PCH_ + +#include + +#define WIN32_NO_STATUS +#define _INC_WINDOWS +#define COM_NO_WINDOWS_H + +#include +#include +#include +#include + +#endif /* _WLANSVC_PCH_ */ diff --git a/base/services/wlansvc/rpcserver.c b/base/services/wlansvc/rpcserver.c index 5c4ab548f89..844fafe0b22 100644 --- a/base/services/wlansvc/rpcserver.c +++ b/base/services/wlansvc/rpcserver.c @@ -6,9 +6,7 @@ * COPYRIGHT: Copyright 2009 Christoph von Wittich */ -/* INCLUDES ****************************************************************/ - -#include +#include "precomp.h" #define NDEBUG #include diff --git a/base/services/wlansvc/wlansvc.c b/base/services/wlansvc/wlansvc.c index 845991c16e7..77e128319d0 100644 --- a/base/services/wlansvc/wlansvc.c +++ b/base/services/wlansvc/wlansvc.c @@ -8,7 +8,7 @@ /* INCLUDES *****************************************************************/ -#include +#include "precomp.h" //#define NDEBUG #include diff --git a/base/setup/reactos/lang/ro-RO.rc b/base/setup/reactos/lang/ro-RO.rc index e7a5e60392e..f12aa7f14c4 100644 --- a/base/setup/reactos/lang/ro-RO.rc +++ b/base/setup/reactos/lang/ro-RO.rc @@ -1,20 +1,20 @@ -/* 2011.10.30 - Fulea Ștefan: UTF-8 encoding, diacritics, minor changes */ +/* Ștefan Fulea (stefan dot fulea at mail dot md) */ LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL IDD_STARTPAGE DIALOGEX 0, 0, 317, 193 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Instalare ReactOS" +CAPTION "Asistentul de instalare ReactOS" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Bun venit la Expertul de Instalare ReactOS", IDC_STARTTITLE, 115, 8, 195, 24 + LTEXT "Bun venit la Instalarea ReactOS", IDC_STARTTITLE, 115, 8, 195, 24 LTEXT "ReactOS încă nu poate fi instalat direct de pe acest CD! Pentru a instala ReactOS, reporniți calculatorul și utilizați acest CD în secvența de inițializare.", IDC_STATIC, 115, 40, 195, 100 - LTEXT "Apăsați pe „Termină” pentru a ieși.", IDC_STATIC, 115, 169, 195, 17 + LTEXT "Apăsați pe „Sfârșit” pentru a ieși.", IDC_STATIC, 115, 169, 195, 17 END IDD_LANGSELPAGE DIALOGEX 0, 0, 317, 193 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Instalare ReactOS" +CAPTION "Asistentul de instalare ReactOS" FONT 8, "MS Shell Dlg" BEGIN CONTROL "IDB_LOGO", IDB_ROSLOGO, "Static", WS_CHILD | WS_VISIBLE | SS_OWNERDRAW, 18, 0, 290, 99 @@ -27,7 +27,7 @@ END IDD_TYPEPAGE DIALOGEX 0, 0, 317, 193 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Instalare ReactOS" +CAPTION "Asistentul de instalare ReactOS" FONT 8, "MS Shell Dlg" BEGIN CONTROL "Tipul de instalare", IDC_STATIC, "Button", BS_GROUPBOX, 10, 0, 297, 172 @@ -38,7 +38,7 @@ END IDD_DEVICEPAGE DIALOGEX 0, 0, 317, 193 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Instalare ReactOS" +CAPTION "Asistentul de instalare ReactOS" FONT 8, "MS Shell Dlg" BEGIN CONTROL "Configurare dispozitive", IDC_STATIC, "Button", BS_GROUPBOX, 10, 0, 297, 172 @@ -53,7 +53,7 @@ END IDD_DRIVEPAGE DIALOGEX 0, 0, 317, 193 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Instalare ReactOS" +CAPTION "Asistentul de instalare ReactOS" FONT 8, "MS Shell Dlg" BEGIN CONTROL "Partiția pentru instalarea ReactOS", IDC_STATIC, "Button", BS_GROUPBOX, 10, 1, 298, 176 @@ -98,7 +98,7 @@ END IDD_SUMMARYPAGE DIALOGEX 0, 0, 317, 193 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Instalare ReactOS" +CAPTION "Asistentul de instalare ReactOS" FONT 8, "MS Shell Dlg" BEGIN CONTROL "Sumar", IDC_ACTION, "Button", BS_GROUPBOX, 10, 0, 297, 172 @@ -107,7 +107,7 @@ END IDD_PROCESSPAGE DIALOGEX 0, 0, 317, 193 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Instalare ReactOS" +CAPTION "Asistentul de instalare ReactOS" FONT 8, "MS Shell Dlg" BEGIN CONTROL "Acțiune de instalare", IDC_ACTION, "Button", BS_GROUPBOX, 10, 0, 297, 172 @@ -118,14 +118,14 @@ END IDD_RESTARTPAGE DIALOGEX 0, 0, 317, 193 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Încheiere instalare ReactOS" +CAPTION "Asistentul de instalare ReactOS" FONT 8, "MS Shell Dlg" BEGIN CONTROL "Finalizarea primei etape", IDC_FINISHTITLE, "Button", BS_GROUPBOX, 10, 0, 297, 172 LTEXT "Ați dus la bun sfârșit prima etapă de instalare a ReactOS", IDC_STATIC, 20, 50, 277, 10 - LTEXT "Când veți apăsa „Termină”, calculatorul va reporni.", IDC_STATIC, 20, 80, 277, 10 + LTEXT "Când veți apăsa „Sfârșit”, calculatorul va reporni.", IDC_STATIC, 20, 80, 277, 10 CONTROL "", IDC_RESTART_PROGRESS, "msctls_progress32", PBS_SMOOTH | WS_CHILD | WS_VISIBLE | WS_BORDER, 20, 120, 277, 8 - LTEXT "Dacă aveți vreun CD în calculator, scoateți-l, după care apăsați „Termină” pentru a reporni.", IDC_STATIC, 10, 180, 297, 20 + LTEXT "Dacă aveți vreun CD în calculator, scoateți-l, după care apăsați „Sfârșit” pentru a reporni.", IDC_STATIC, 10, 180, 297, 20 END STRINGTABLE diff --git a/base/setup/usetup/cabinet.c b/base/setup/usetup/cabinet.c index 50821cdaa94..9f0242557bc 100644 --- a/base/setup/usetup/cabinet.c +++ b/base/setup/usetup/cabinet.c @@ -10,6 +10,8 @@ #include "usetup.h" +#include + #define NDEBUG #include diff --git a/base/setup/usetup/genlist.c b/base/setup/usetup/genlist.c index a1f0f4dce0d..9073ca3880c 100644 --- a/base/setup/usetup/genlist.c +++ b/base/setup/usetup/genlist.c @@ -482,6 +482,20 @@ ScrollUpGenericList (PGENERIC_LIST List) } +VOID +RedrawGenericList(PGENERIC_LIST List) +{ + if (List->CurrentEntry == NULL) + return; + + if (List->Redraw) + { + DrawListEntries(List); + DrawScrollBarGenericList(List); + } +} + + VOID SetCurrentListEntry(PGENERIC_LIST List, PGENERIC_LIST_ENTRY Entry) { diff --git a/base/setup/usetup/genlist.h b/base/setup/usetup/genlist.h index 2d4cc74fbe2..8b09a5eaf58 100644 --- a/base/setup/usetup/genlist.h +++ b/base/setup/usetup/genlist.h @@ -69,6 +69,9 @@ ScrollPageUpGenericList(PGENERIC_LIST List); VOID ScrollToPositionGenericList (PGENERIC_LIST List, ULONG uIndex); +VOID +RedrawGenericList(PGENERIC_LIST List); + VOID SetCurrentListEntry(PGENERIC_LIST List, PGENERIC_LIST_ENTRY Entry); diff --git a/base/setup/usetup/interface/devinst.c b/base/setup/usetup/interface/devinst.c index bdda5a284f6..b19e5bf0db4 100644 --- a/base/setup/usetup/interface/devinst.c +++ b/base/setup/usetup/interface/devinst.c @@ -11,6 +11,10 @@ #define NDEBUG #include +#define INITGUID +#include +#include + BOOLEAN ResetDevice( IN LPCWSTR DeviceId) diff --git a/base/setup/usetup/interface/usetup.c b/base/setup/usetup/interface/usetup.c index c7686e07d8b..74bf8e64e0a 100644 --- a/base/setup/usetup/interface/usetup.c +++ b/base/setup/usetup/interface/usetup.c @@ -28,6 +28,12 @@ #include +#include "bootsup.h" +#include "chkdsk.h" +#include "format.h" +#include "drivesup.h" +#include "settings.h" + #define NDEBUG #include @@ -670,6 +676,8 @@ LanguagePage(PINPUT_RECORD Ir) { if (ConfirmQuit(Ir) == TRUE) return QUIT_PAGE; + else + RedrawGenericList(LanguageList); } else if (Ir->Event.KeyEvent.uChar.AsciiChar == 0x0D) /* ENTER */ { @@ -1348,7 +1356,7 @@ KeyboardSettingsPage(PINPUT_RECORD Ir) } } - return DISPLAY_SETTINGS_PAGE; + return KEYBOARD_SETTINGS_PAGE; } @@ -1414,7 +1422,7 @@ LayoutSettingsPage(PINPUT_RECORD Ir) } } - return DISPLAY_SETTINGS_PAGE; + return LAYOUT_SETTINGS_PAGE; } diff --git a/base/setup/usetup/lang/bg-BG.h b/base/setup/usetup/lang/bg-BG.h index f8ca9a7641c..e4be51b6421 100644 --- a/base/setup/usetup/lang/bg-BG.h +++ b/base/setup/usetup/lang/bg-BG.h @@ -1360,7 +1360,7 @@ MUI_ERROR bgBGErrorEntries[] = "\n" "ꧤ ਢ 﫮 㭨鮦 﫮 ⠡.\n" "\n" - " \x07 室 ᭥ F3." + " \x07 室 ᭥ F3.\n" " \x07 ᭥ ENTER தꫦ.", "F3 = 室 ENTER = தꫦ" }, diff --git a/base/setup/usetup/lang/de-DE.h b/base/setup/usetup/lang/de-DE.h index 0ec4b5cc6db..fb9857b9144 100644 --- a/base/setup/usetup/lang/de-DE.h +++ b/base/setup/usetup/lang/de-DE.h @@ -1346,12 +1346,12 @@ MUI_ERROR deDEErrorEntries[] = }, { //ERROR_WARN_PARTITION, - "Setup hat mindestens eine Festplatte mit einer inkompatiblen Partitionstabelle\n" - "gefunden, die nicht richtig verwendet werden kann!\n" + "Setup hat mindestens eine Festplatte mit einer inkompatiblen\n" + "Partitionstabelle gefunden, die nicht richtig verwendet werden kann!\n" "\n" "Partitionen zu erstellen/lschen kann die Partitionstabelle zerstren.\n" "\n" - " \x07 Drcken Sie F3, um das Setup zu beenden." + " \x07 Drcken Sie F3, um das Setup zu beenden.\n" " \x07 Drcken Sie ENTER, um das Setup Fortzusetzen.", "F3 = Beenden ENTER = Fortsetzen" }, diff --git a/base/setup/usetup/lang/el-GR.h b/base/setup/usetup/lang/el-GR.h index fd5cac13c73..91b88d6410c 100644 --- a/base/setup/usetup/lang/el-GR.h +++ b/base/setup/usetup/lang/el-GR.h @@ -1380,7 +1380,7 @@ MUI_ERROR elGRErrorEntries[] = "\n" " partitions ⯜ partiton table.\n" "\n" - " \x07 㩫 F3 㩜 ᩫ." + " \x07 㩫 F3 㩜 ᩫ.\n" " \x07 㩫 ENTER 婜.", "F3= 騞 ENTER = ⮜" }, diff --git a/base/setup/usetup/lang/et-EE.h b/base/setup/usetup/lang/et-EE.h index ec85f59065e..90dce3ffbd6 100644 --- a/base/setup/usetup/lang/et-EE.h +++ b/base/setup/usetup/lang/et-EE.h @@ -1350,7 +1350,7 @@ MUI_ERROR etEEErrorEntries[] = "\n" "Partitsioonide loomine vi kustutamine vib vigastada partitsioonitabelit.\n" "\n" - " \x07 Vajuta F3, et vljuda paigaldusest.." + " \x07 Vajuta F3, et vljuda paigaldusest..\n" " \x07 Vajuta ENTER, et jtkata.", "F3= Vlju ENTER = Jtka" }, diff --git a/base/setup/usetup/lang/fr-FR.h b/base/setup/usetup/lang/fr-FR.h index 7712bbe48e9..258afe6b439 100644 --- a/base/setup/usetup/lang/fr-FR.h +++ b/base/setup/usetup/lang/fr-FR.h @@ -1363,7 +1363,7 @@ MUI_ERROR frFRErrorEntries[] = "\n" "Crer ou effacer des partitions peut dtruire la table de partition.\n" "\n" - " \x07 Appuyer sur F3 pour quitter Setup." + " \x07 Appuyer sur F3 pour quitter Setup.\n" " \x07 Appuyer sur ENTRE pour continuer Setup.", "F3= Quitter ENTRE = Continuer" }, diff --git a/base/setup/usetup/lang/it-IT.h b/base/setup/usetup/lang/it-IT.h index b0992abe30c..0e4035713c5 100644 --- a/base/setup/usetup/lang/it-IT.h +++ b/base/setup/usetup/lang/it-IT.h @@ -1351,7 +1351,7 @@ MUI_ERROR itITErrorEntries[] = "\n" "Il creare o cancellare partizioni pu distruggere la tabella delle partizioni.\n" "\n" - " \x07 Premere F3 per uscire dal Setup." + " \x07 Premere F3 per uscire dal Setup.\n" " \x07 Premere INVIO per continuare.", "F3= Uscire INVIO = Continuare" }, diff --git a/base/setup/usetup/lang/lt-LT.h b/base/setup/usetup/lang/lt-LT.h index 576137e4dd6..d6f0c71c18a 100644 --- a/base/setup/usetup/lang/lt-LT.h +++ b/base/setup/usetup/lang/lt-LT.h @@ -1360,7 +1360,7 @@ MUI_ERROR ltLTErrorEntries[] = "\n" "Creating or deleting partitions can destroy the partition table.\n" "\n" - " \x07 Press F3 to quit Setup." + " \x07 Press F3 to quit Setup.\n" " \x07 Press ENTER to continue.", "F3= Quit ENTER = Continue" }, diff --git a/base/setup/usetup/lang/pl-PL.h b/base/setup/usetup/lang/pl-PL.h index e0c0c2ceed7..2cf3e6f8bfa 100644 --- a/base/setup/usetup/lang/pl-PL.h +++ b/base/setup/usetup/lang/pl-PL.h @@ -1359,7 +1359,7 @@ MUI_ERROR plPLErrorEntries[] = "\n" "Tworzenie lub kasowanie partycji moe zniszczy ca tablic partycji.\n" "\n" - " \x07 Nacinij F3, aby wyj z instalatora." + " \x07 Nacinij F3, aby wyj z instalatora.\n" " \x07 Nacinij ENTER, aby kontynuowa.", "F3= Wyjcie ENTER = Kontynuacja" }, diff --git a/base/setup/usetup/lang/ro-RO.h b/base/setup/usetup/lang/ro-RO.h index 46e4d15fd33..38dee78cff5 100644 --- a/base/setup/usetup/lang/ro-RO.h +++ b/base/setup/usetup/lang/ro-RO.h @@ -1,4 +1,4 @@ -//2011.10.30 - Fulea tefan: minor changes +/* tefan Fulea (stefan dot fulea at mail dot md) */ #pragma once MUI_LAYOUTS roROLayouts[] = @@ -153,19 +153,19 @@ static MUI_ENTRY roROIntroPageEntries[] = { 6, 8, - "Instalatorul ReactOS curent este nc ntr-un stadiu", + "Programul curent de instalare este nc ntr-un stadiu primar", TEXT_STYLE_NORMAL }, { 6, 9, - "primar de dezvoltare i nu conine toate funcionalitile", + "de dezvoltare i nu conine toate funcionalitile unei", TEXT_STYLE_NORMAL }, { 6, 10, - "unei aplicaii complete de instalare.", + "aplicaii de instalare complete.", TEXT_STYLE_NORMAL }, { @@ -177,31 +177,31 @@ static MUI_ENTRY roROIntroPageEntries[] = { 8, 14, - "- Instalatorul curent nu e capabil de mai mult de", + "- Programul curent de instalare nu e capabil de mai mult", TEXT_STYLE_NORMAL }, { 8, 15, - " o partiie per disc.", + " de o partiie per disc.", TEXT_STYLE_NORMAL }, { 8, 16, - "- Instalatorul curent nu poate terge partiia primar", + "- Programul curent de instalare nu poate terge o partiie", TEXT_STYLE_NORMAL }, { 8, 17, - " a unui dispozitiv ct timp exist partiii extinse.", + " primar ct timp exist partiii extinse.", TEXT_STYLE_NORMAL }, { 8, 18, - "- Instalatorul curent nu poate terge prima partiie", + "- Programul curent de instalare nu poate terge prima partiie", TEXT_STYLE_NORMAL }, { @@ -213,7 +213,7 @@ static MUI_ENTRY roROIntroPageEntries[] = { 8, 20, - "- Instalatorul curent poate opera doar cu sisteme", + "- Programul curent de instalare poate opera doar cu sisteme", TEXT_STYLE_NORMAL }, { @@ -277,61 +277,61 @@ static MUI_ENTRY roROLicensePageEntries[] = { 8, 8, - "Sistemul ReactOS este oferit n termenii GNU GPL, cu pri", + "Sistemul de operare ReactOS este oferit n termenii GNU GPL,", TEXT_STYLE_NORMAL }, { 8, 9, - "de cod din alte licene compatibile, cum ar fi licenele", + "cu pri de cod din alte licene compatibile, cum ar fi", TEXT_STYLE_NORMAL }, { 8, 10, - "X11, BSD i GNU LGPL.", + "licenele X11, BSD i GNU LGPL.", TEXT_STYLE_NORMAL }, { 8, 12, - "Toate softurile din componena sistemului ReactOS sunt prin", + "Toate componentele care fac parte din sistemul ReactOS sunt", TEXT_STYLE_NORMAL }, { 8, 13, - "urmare oferite sub licena GNU GPL meninndu-i n acelai", + "prin urmare oferite sub licen GNU GPL, meninndu-i n", TEXT_STYLE_NORMAL }, { 8, 14, - "timp i licenierea original.", + "acelai timp i licenierea original.", TEXT_STYLE_NORMAL }, { 8, 16, - "Acest soft nu are ataat nici restricie de utilizare", + "Acest sistem vine fr vreo restricie de utilizare, aceasta", TEXT_STYLE_NORMAL }, { 8, 17, - "cu aplicabilitate legislativ local i internaional.", + "fiind o condiie legislativ aplicabil att la nivel local", TEXT_STYLE_NORMAL }, { 8, 18, - "Licenierea se refer doar la distribuia ReactOS ctre", + "ct i internaional. Licenierea se refer doar la", TEXT_STYLE_NORMAL }, { 8, 19, - "pri tere.", + "distribuirea sistemului ReactOS ctre pri tere.", TEXT_STYLE_NORMAL }, { @@ -367,19 +367,25 @@ static MUI_ENTRY roROLicensePageEntries[] = { 8, 28, - "Acest aplicaie este distribuit n sperana c va fi util,", + "Acest sistem de operare este distribuit doar n sperana c", TEXT_STYLE_NORMAL }, { 8, 29, - "FR ns NICI O GARANIE; nici mcar cu garania implicit a", + "va fi util, neavnd ns ataat NICI O GARANIE; nici mcar", TEXT_STYLE_NORMAL }, { 8, 30, - "VANDABILITII sau a UTILITII NTR-UN SCOP ANUME.", + "garania implicit a VANDABILITII sau a UTILITII NTR-UN", + TEXT_STYLE_NORMAL + }, + { + 8, + 31, + "SCOP ANUME.", TEXT_STYLE_NORMAL }, { @@ -506,13 +512,13 @@ static MUI_ENTRY roRORepairPageEntries[] = { 6, 8, - "Instalatorul ReactOS este nc ntr-o faz incipient de dezvoltare", + "Programul de instalare ReactOS este nc ntr-o faz incipient de", TEXT_STYLE_NORMAL }, { 6, 9, - "i nu posed toat funcionalitatea unui instalator complet.", + "dezvoltare i nu posed o funcionalitate complet.", TEXT_STYLE_NORMAL }, { @@ -569,7 +575,7 @@ static MUI_ENTRY roROComputerPageEntries[] = { 6, 8, - "Dorii specificarea arhitecturii de calcul.", + "Dorii specificarea arhitecturii de calcul?", TEXT_STYLE_NORMAL }, { @@ -639,7 +645,7 @@ static MUI_ENTRY roROFlushPageEntries[] = { 0, 0, - "Eliberarea memoriei...", + "Se elibereaz memoria...", TEXT_TYPE_STATUS | TEXT_PADDING_BIG }, { @@ -707,7 +713,7 @@ static MUI_ENTRY roRODisplayPageEntries[] = { 6, 8, - "Dorii modificarea parametrilor grafici de afiare.", + "Dorii modificarea parametrilor grafici de afiare?", TEXT_STYLE_NORMAL }, { 8, @@ -804,7 +810,7 @@ static MUI_ENTRY roROBootPageEntries[] = { 6, 8, - "Instalatorul nu poate instala aplicaia de iniializare", + "Programul de instalare nu poate instala aplicaia de iniializare", TEXT_STYLE_NORMAL }, { @@ -909,12 +915,6 @@ static MUI_ENTRY roROFormatPartitionEntries[] = { 6, 8, - "Formatare partiie.", - TEXT_STYLE_NORMAL - }, - { - 6, - 10, "Urmeaz formatarea partiiei.", TEXT_STYLE_NORMAL }, @@ -1041,19 +1041,19 @@ static MUI_ENTRY roROBootLoaderEntries[] = { 8, 12, - "Instaleaz iniializator pe discul intern (MBR i VBR).", + "Instaleaz iniializatorul pe discul intern (MBR i VBR).", TEXT_STYLE_NORMAL }, { 8, 13, - "Instaleaz iniializator pe discul intern (doar VBR).", + "Instaleaz iniializatorul pe discul intern (doar VBR).", TEXT_STYLE_NORMAL }, { 8, 14, - "Instaleaz iniializator pe un disc flexibil.", + "Instaleaz iniializatorul pe un disc flexibil.", TEXT_STYLE_NORMAL }, { @@ -1087,7 +1087,7 @@ static MUI_ENTRY roROKeyboardSettingsEntries[] = { 6, 8, - "Dorii specificarea modelului tastaturii instalate.", + "Dorii specificarea modelului tastaturii instalate?", TEXT_STYLE_NORMAL }, { @@ -1139,7 +1139,7 @@ static MUI_ENTRY roROLayoutSettingsEntries[] = { 6, 8, - "Specificai pentru instalare un aranjament implicit al tastaturii.", + "Dorii specificarea unui aranjament implicit de tastatur?", TEXT_STYLE_NORMAL }, { @@ -1192,13 +1192,13 @@ static MUI_ENTRY roROPrepareCopyEntries[] = { 6, 8, - "Se fac pregtirile necesare pentru copierea de fiiere...", + "Se fac pregtirile necesare pentru copierea de fiiere.", TEXT_STYLE_NORMAL }, { 0, 0, - "Crearea listei de fiiere...", + "Se creaz lista de fiiere...", TEXT_TYPE_STATUS | TEXT_PADDING_BIG }, { @@ -1320,13 +1320,13 @@ static MUI_ENTRY roRORegistryEntries[] = { 6, 8, - "Actualizarea configuraiei sistemului.", + "Se actualizeaz configuraia sistemului...", TEXT_STYLE_NORMAL }, { 0, 0, - "Crearea registului...", + "Se creaz registrul...", TEXT_TYPE_STATUS | TEXT_PADDING_BIG }, { @@ -1347,7 +1347,7 @@ MUI_ERROR roROErrorEntries[] = "acum, va fi nevoie s o reluai din nou alt dat.\n" "\n" " \x07 Apsai ENTER pentru a continua instalarea.\n" - " \x07 Apsai F3 pentru a iei din Instalator.", + " \x07 Apsai F3 pentru a abandona instalarea.", "F3 = Ieire ENTER = Continuare" }, { @@ -1414,12 +1414,12 @@ MUI_ERROR roROErrorEntries[] = { //ERROR_WARN_PARTITION, "A fost gsit cel puin un disc cu tabel de partiii\n" - "nesuportat, ce nu pot fi gestionat corespunztor!\n" + "nerecunoscut, ce nu pot fi gestionat corespunztor!\n" "\n" "Crearea sau tergerea de partiii poate astfel cauza\n" "distrugerea tabelei de partiii." "\n" - " \x07 Apsai F3 pentru a iei din Instalator.\n" + " \x07 Apsai F3 pentru a abandona instalarea.\n" " \x07 Apsai ENTER pentru a continua.", "F3= Ieire ENTER = Continuare" }, @@ -1693,9 +1693,9 @@ MUI_STRING roROStrings[] = {STRING_NONFORMATTEDPART, "Alegei s instalai ReactOS pe partiie nou sau neformatat."}, {STRING_INSTALLONPART, - "Instalare ReactOS pe partiia"}, + "ReactOS va fi instalat pe partiia"}, {STRING_CHECKINGPART, - "Instalatorul verific acum partiia aleas."}, + "Programul de instalare verific acum partiia aleas."}, {STRING_QUITCONTINUE, "F3= Ieire ENTER = Continuare"}, {STRING_REBOOTCOMPUTER, @@ -1703,23 +1703,23 @@ MUI_STRING roROStrings[] = {STRING_TXTSETUPFAILED, "Nu s-a reuit gsirea sesiunii\n'%S' n TXTSETUP.SIF.\n"}, {STRING_COPYING, - " Copiere fiier: %S"}, + " Fiierul curent: %S"}, {STRING_SETUPCOPYINGFILES, - "Copierea fiierelor..."}, + "Se copie fiierele..."}, {STRING_REGHIVEUPDATE, - " Actualizare registrului..."}, + " Se actualizeaz registrul..."}, {STRING_IMPORTFILE, - " Importare %S..."}, + " Se import %S..."}, {STRING_DISPLAYETTINGSUPDATE, - " Actualizarea n registru a configuraiei grafice..."}, + " Se actualizeaz registrul configuraiei grafice..."}, {STRING_LOCALESETTINGSUPDATE, - " Actualizarea particularitilor locale..."}, + " Se actualizeaz particularitile locale..."}, {STRING_KEYBOARDSETTINGSUPDATE, - " Actualizarea configuraiei tastaturii..."}, + " Se actualizeaz configuraia tastaturii..."}, {STRING_CODEPAGEINFOUPDATE, - " Adugarea n registru a datelor de paginare..."}, + " Se adaug datele de paginare n registru..."}, {STRING_DONE, - " Terminat..."}, + " Terminat!"}, {STRING_REBOOTCOMPUTER2, " ENTER = Repornire calculator"}, {STRING_CONSOLEFAIL1, @@ -1729,13 +1729,13 @@ MUI_STRING roROStrings[] = {STRING_CONSOLEFAIL3, "Tastaturile USB nc nu sunt complet suportate\r\n"}, {STRING_FORMATTINGDISK, - "Formatarea discului"}, + "Se formateaz discul..."}, {STRING_CHECKINGDISK, - "Verificarea discului"}, + "Se verific discul..."}, {STRING_FORMATDISK1, - " Formatarea partiiei ca sistem de fiiere %S (formatare rapid) "}, + " Formateaz partiia ca sistem de fiiere %S (formatare rapid) "}, {STRING_FORMATDISK2, - " Formatarea partiiei ca sistem de fiiere %S "}, + " Formateaz partiia ca sistem de fiiere %S "}, {STRING_KEEPFORMAT, " Pstreaz sistemul de fiiere actual (fr schimbri) "}, {STRING_HDINFOPARTCREATE, diff --git a/base/setup/usetup/lang/ru-RU.h b/base/setup/usetup/lang/ru-RU.h index 606f5d926cc..bbfd631b414 100644 --- a/base/setup/usetup/lang/ru-RU.h +++ b/base/setup/usetup/lang/ru-RU.h @@ -1351,7 +1351,7 @@ MUI_ERROR ruRUErrorEntries[] = "\n" " 㤠 ࠧ ⠡ ࠧ.\n" "\n" - " \x07 F3 室 ⠭." + " \x07 F3 室 ⠭.\n" " \x07 ENTER த.", "F3 = 室 ENTER = த" }, diff --git a/base/setup/usetup/partlist.c b/base/setup/usetup/partlist.c index 3f8a98ab3dd..a678c94cf7e 100644 --- a/base/setup/usetup/partlist.c +++ b/base/setup/usetup/partlist.c @@ -26,6 +26,8 @@ #include "usetup.h" +#include + #define NDEBUG #include diff --git a/base/setup/usetup/usetup.h b/base/setup/usetup/usetup.h index 305cb858d5f..893e520b21b 100644 --- a/base/setup/usetup/usetup.h +++ b/base/setup/usetup/usetup.h @@ -41,7 +41,6 @@ #include #include #include -#include #include #include #include @@ -51,9 +50,6 @@ #include #include -/* DDK Disk Headers */ -#include - /* Internal Headers */ #include "interface/consup.h" #include "partlist.h" @@ -64,26 +60,15 @@ #include "infros.h" #include "filequeue.h" #endif -#include "bootsup.h" #include "registry.h" #include "fslist.h" -#include "chkdsk.h" -#include "format.h" #include "cabinet.h" #include "filesup.h" -#include "drivesup.h" #include "genlist.h" -#include "settings.h" #include "host.h" #include "mui.h" #include "errorcode.h" -#define INITGUID -#include -#include - -#include - extern HANDLE ProcessHeap; extern UNICODE_STRING SourceRootPath; extern UNICODE_STRING SourceRootDir; diff --git a/base/setup/vmwinst/lang/ro-RO.rc b/base/setup/vmwinst/lang/ro-RO.rc index 982227b80ef..05c7954a54d 100644 --- a/base/setup/vmwinst/lang/ro-RO.rc +++ b/base/setup/vmwinst/lang/ro-RO.rc @@ -1,14 +1,14 @@ /* * FILE: base/setup/vmwinst/lang/ro-RO.rc * ReactOS Project (http://www.reactos.org) - * TRANSLATOR: Fulea Ștefan (PM on ReactOS Forum to fulea.stefan) + * TRANSLATOR: Ștefan Fulea (stefan dot fulea at mail dot md) */ LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL IDD_WELCOMEPAGE DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Instalare module video" +CAPTION "Asistentul de instalare module video" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN LTEXT "Instalatorul ReactOS a descoperit faptul că ReactOS este executat în VMware(r).", -1, 117, 8, 140, 24 @@ -17,7 +17,7 @@ END IDD_INSERT_VMWARE_TOOLS DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Instalare module video" +CAPTION "Asistentul de instalare module video" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN LTEXT "Instalatorul ReactOS nu are inclus modulul pilot VMware(r) SVGA.\n\nDe aceea, mergeți la „VM” din meniul stației de lucru VMware(r) și alegeți instalarea instrumentelor VMware\n\n\nApăsați „Înainte” pentru a continua sau „Anulează” pentru a omite instalarea modulului pilot video SVGA.", -1, 25, 25, 225, 85 @@ -25,7 +25,7 @@ END IDD_INSTALLING_VMWARE_TOOLS DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Instalare module video" +CAPTION "Asistentul de instalare module video" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN LTEXT "{STATUS}", IDC_INSTALLINGSTATUS, 25, 68, 225, 8 @@ -34,7 +34,7 @@ END IDD_CONFIG DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Instalare module video" +CAPTION "Asistentul de instalare module video" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN LTEXT "Modulul pilot video VMware(r) SVGA a fost instalat cu succes. Alegeți rezoluția preferată a ecranului:", -1, 25, 5, 225, 20 @@ -55,41 +55,41 @@ END IDD_INSTALLATION_FAILED DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Instalare module video" +CAPTION "Asistentul de instalare module video" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN - LTEXT "Instalatorul ReactOS nu a reușit instalarea modulului pilot VMware(r) SVGA.\n\n\nAlegeți „Termină” pentru a reveni la instalarea ReactOS.", -1, 25, 25, 225, 85 + LTEXT "Instalatorul ReactOS nu a reușit instalarea modulului pilot VMware(r) SVGA.\n\n\nAlegeți „Sfârșit” pentru a reveni la instalarea ReactOS.", -1, 25, 25, 225, 85 END IDD_CHOOSEACTION DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Instalare module video" +CAPTION "Asistentul de instalare module video" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN LTEXT "Modulul pilot video VMware(r) SVGA este deja instalat.\n\nPuteți în continuare să:", -1, 25, 5, 225, 30 PUSHBUTTON "Configurați preferințele ecranului", IDC_CONFIGSETTINGS, 25, 40, 200, 15, BS_AUTORADIOBUTTON PUSHBUTTON "Utilizați un alt modul pilot video", IDC_USEOTHERDRIVER, 25, 55, 200, 15, BS_AUTORADIOBUTTON PUSHBUTTON "Dezinstalați modulul pilot VMware(r) SVGA", IDC_UNINSTALL, 25, 70, 200, 15, BS_AUTORADIOBUTTON - LTEXT "Alegeți „Înainte” pentru a continua sau „Anulează” pentru a părăsi acest expert.", -1, 25, 93, 225, 19 + LTEXT "Alegeți „Înainte” pentru a continua sau „Anulează” pentru a părăsi acest asistent.", -1, 25, 93, 225, 19 END IDD_SELECTDRIVER DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Instalare module video" +CAPTION "Asistentul de instalare module video" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN LTEXT "Alegeți modulul grafic pe care doriți să-l folosiți:", -1, 25, 25, 225, 15 PUSHBUTTON "Modulul pilot VGA al ReactOS", IDC_VGA, 25, 40, 225, 15, BS_AUTORADIOBUTTON PUSHBUTTON "Modulul pilot VBE (SVGA) al ReactOS", IDC_VBE, 25, 55, 225, 15, BS_AUTORADIOBUTTON - LTEXT "Apăsați „Termină” pentru a încheia acțiunea sau „Anulează” pentru a ieși din expert fără nici o modificare.", -1, 25, 93, 225, 20 + LTEXT "Apăsați „Sfârșit” pentru a încheia acțiunea sau „Anulează” pentru a părăsi asistentul de instalare fără nici o modificare.", -1, 25, 93, 225, 20 END IDD_DOUNINSTALL DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Instalare module video" +CAPTION "Asistentul de instalare module video" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN - LTEXT "Instalatorul ReactOS e pe cale de a vă dezinstala modulul pilot VMware(r) SVGA!!!\n\n\nApăsați „Termină” pentru a dezinstala modulul pilot sau „Anulează” pentru a-l lăsa așa cum este.", -1, 25, 25, 225, 85 + LTEXT "Instalatorul ReactOS e pe cale de a vă dezinstala modulul pilot VMware(r) SVGA!!!\n\n\nApăsați „Sfârșit” pentru a dezinstala modulul pilot sau „Anulează” pentru a-l lăsa așa cum este.", -1, 25, 25, 225, 85 END STRINGTABLE @@ -120,18 +120,18 @@ END STRINGTABLE BEGIN - IDD_INSERT_VMWARE_TOOLSTITLE "Expertul de instalare al modulului pilot VMware (r) SVGA" + IDD_INSERT_VMWARE_TOOLSTITLE "Asistentul de instalare al modulului pilot VMware (r) SVGA" IDD_INSERT_VMWARE_TOOLSSUBTITLE "Introduceți suportul CD-ROM cu instrumentele VMware." - IDD_INSTALLING_VMWARE_TOOLSTITLE "Expertul de instalare al modulului pilot VMware (r) SVGA" + IDD_INSTALLING_VMWARE_TOOLSTITLE "Asistentul de instalare al modulului pilot VMware (r) SVGA" IDD_INSTALLING_VMWARE_TOOLSSUBTITLE "Căutarea și copierea modulului pilot VMware (r) SVGA." - IDD_CONFIGTITLE "Expertul de instalare al modulului pilot VMware (r) SVGA" + IDD_CONFIGTITLE "Asistentul de instalare al modulului pilot VMware (r) SVGA" IDD_CONFIGSUBTITLE "Alegeți rezoluția preferată a ecranului." - IDD_INSTALLATION_FAILEDTITLE "Expertul de instalare al modulului pilot VMware (r) SVGA" + IDD_INSTALLATION_FAILEDTITLE "Asistentul de instalare al modulului pilot VMware (r) SVGA" IDD_INSTALLATION_FAILEDSUBTITLE "Instalarea modulului pilot VMware (r) SVGA a eșuat." - IDD_CHOOSEACTIONTITLE "Expertul de instalare al modulului pilot VMware (r) SVGA" + IDD_CHOOSEACTIONTITLE "Asistentul de instalare al modulului pilot VMware (r) SVGA" IDD_CHOOSEACTIONSUBTITLE "Alegeți în continuare." - IDD_SELECTDRIVERTITLE "Expertul de instalare al modulului pilot VMware (r) SVGA" + IDD_SELECTDRIVERTITLE "Asistentul de instalare al modulului pilot VMware (r) SVGA" IDD_SELECTDRIVERSUBTITLE "Alegeți un modul pilot." - IDD_DOUNINSTALLTITLE "Expertul de instalare al modulului pilot VMware (r) SVGA" + IDD_DOUNINSTALLTITLE "Asistentul de instalare al modulului pilot VMware (r) SVGA" IDD_DOUNINSTALLSUBTITLE "Dezinstalați modulul pilot." END diff --git a/base/shell/explorer-new/explorer.c b/base/shell/explorer-new/explorer.c index e0a31fc561d..a574a5b93e6 100644 --- a/base/shell/explorer-new/explorer.c +++ b/base/shell/explorer-new/explorer.c @@ -20,6 +20,8 @@ #include "precomp.h" +#include + HINSTANCE hExplorerInstance; HMODULE hUser32; HANDLE hProcessHeap; @@ -218,12 +220,14 @@ GetExplorerRegValueSet(IN HKEY hKey, DWORD dwType, dwSize; BOOL Ret = FALSE; - _tcscpy(szBuffer, + StringCbCopy(szBuffer, sizeof(szBuffer), TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer")); - _tcscat(szBuffer, - _T("\\")); - _tcscat(szBuffer, - lpSubKey); + if (FAILED(StringCbCat(szBuffer, sizeof(szBuffer), + _T("\\")))) + return FALSE; + if (FAILED(StringCbCat(szBuffer, sizeof(szBuffer), + lpSubKey))) + return FALSE; dwSize = sizeof(szBuffer); if (RegOpenKeyEx(hKey, diff --git a/base/shell/explorer-new/lang/pl-PL.rc b/base/shell/explorer-new/lang/pl-PL.rc index 555146851f7..6dac2303d3b 100644 --- a/base/shell/explorer-new/lang/pl-PL.rc +++ b/base/shell/explorer-new/lang/pl-PL.rc @@ -130,10 +130,10 @@ END IDD_TASKBARPROP_ADVANCED DIALOGEX 0, 0, 252, 218 STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Advanced" +CAPTION "Zaawansowane" FONT 8, "MS Shell Dlg", 0, 0, 0x1 BEGIN - GROUPBOX "Advanced options", IDC_STATIC, 6, 6, 240, 121 + GROUPBOX "Opcje zaawansowane", IDC_STATIC, 6, 6, 240, 121 AUTOCHECKBOX "Show s&econds", IDC_TASKBARPROP_SECONDS, 13, 18, 200, 10 AUTOCHECKBOX "&Pokaż podgląd okien (miniaturki)", IDC_TASKBARPROP_WNDPREV, 13, 31, 200, 10 END diff --git a/base/shell/explorer-new/lang/ro-RO.rc b/base/shell/explorer-new/lang/ro-RO.rc index ccd884adf67..e9915177514 100644 --- a/base/shell/explorer-new/lang/ro-RO.rc +++ b/base/shell/explorer-new/lang/ro-RO.rc @@ -1,4 +1,4 @@ -/* 2012.03.05 - Fulea Ștefan: translate the taskbar context menu additions */ +/* Ștefan Fulea (stefan dot fulea at mail dot md) */ LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL @@ -123,11 +123,11 @@ END IDD_TASKBARPROP_ADVANCED DIALOGEX 0, 0, 252, 218 STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Advanced" +CAPTION "Avansate" FONT 8, "MS Shell Dlg", 0, 0, 0x1 BEGIN - GROUPBOX "Advanced options", IDC_STATIC, 6, 6, 240, 121 - AUTOCHECKBOX "Show s&econds", IDC_TASKBARPROP_SECONDS, 13, 18, 200, 10 + GROUPBOX "Opțiuni avansate", IDC_STATIC, 6, 6, 240, 121 + AUTOCHECKBOX "&Afișează secunde", IDC_TASKBARPROP_SECONDS, 13, 18, 200, 10 AUTOCHECKBOX "&Prezintă miniaturi ale ferestrelor", IDC_TASKBARPROP_WNDPREV, 13, 31, 200, 10 END diff --git a/base/shell/explorer-new/precomp.h b/base/shell/explorer-new/precomp.h index 6fc33724fb7..ad2bfc9944a 100644 --- a/base/shell/explorer-new/precomp.h +++ b/base/shell/explorer-new/precomp.h @@ -1,34 +1,32 @@ #ifndef _EXPLORER_PRECOMP__H_ #define _EXPLORER_PRECOMP__H_ -#define COBJMACROS + +#include +#include #define WIN32_NO_STATUS #define _INC_WINDOWS #define COM_NO_WINDOWS_H -#include + +#define COBJMACROS + #include #include #include #include #include -#include #include #include #include #include #include #include -#include -#include -#include #include +#include #include "tmschema.h" #include "resource.h" #include "comcsup.h" -//#include "todo.h" -//#include "initguid.h" -#include "undoc.h" /* dynamic imports due to lack of support in msvc linker libs */ typedef INT (APIENTRY *REGSHELLHOOK)(HWND, DWORD); diff --git a/base/shell/explorer-new/tbsite.c b/base/shell/explorer-new/tbsite.c index d27240b67cc..8a14ffafcc1 100644 --- a/base/shell/explorer-new/tbsite.c +++ b/base/shell/explorer-new/tbsite.c @@ -20,6 +20,10 @@ #include "precomp.h" +#include + +#include "undoc.h" + /***************************************************************************** ** ITrayBandSite ************************************************************ *****************************************************************************/ diff --git a/base/shell/explorer-new/traywnd.c b/base/shell/explorer-new/traywnd.c index 0cfdb21b8d1..a887319b4f8 100644 --- a/base/shell/explorer-new/traywnd.c +++ b/base/shell/explorer-new/traywnd.c @@ -99,8 +99,13 @@ typedef struct BOOL LaunchCPanel(HWND hwnd, LPCTSTR applet) { TCHAR szParams[MAX_PATH]; - _tcscpy(szParams, TEXT("shell32.dll,Control_RunDLL ")); - _tcscat(szParams, applet); + + StringCbCopy(szParams, sizeof(szParams), + TEXT("shell32.dll,Control_RunDLL ")); + if (FAILED(StringCbCat(szParams, sizeof(szParams), + applet))) + return FALSE; + return (ShellExecute(hwnd, TEXT("open"), TEXT("rundll32.exe"), szParams, NULL, SW_SHOWDEFAULT) > (HINSTANCE)32); } diff --git a/base/shell/explorer/explorer.cpp b/base/shell/explorer/explorer.cpp index be15d96d98f..db931cb8f05 100644 --- a/base/shell/explorer/explorer.cpp +++ b/base/shell/explorer/explorer.cpp @@ -30,6 +30,7 @@ #include // instead of "precomp.h" because the ROS build system needs this to find the precompiled header file (*.gch) in the output directory tree +#include #include // for setlocale() #ifndef __WINE__ diff --git a/base/shell/explorer/precomp.h b/base/shell/explorer/precomp.h index 0d05450ae49..cb8b740431b 100644 --- a/base/shell/explorer/precomp.h +++ b/base/shell/explorer/precomp.h @@ -28,10 +28,12 @@ #define _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES 1 #define _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT 1 +#include + #define WIN32_NO_STATUS #define _INC_WINDOWS #define COM_NO_WINDOWS_H -#include + #include #include #include @@ -39,7 +41,6 @@ #include #include #include -#include #include "utility/utility.h" diff --git a/base/system/diskpart/assign.c b/base/system/diskpart/assign.c index bbb6b670deb..fd3010d8156 100644 --- a/base/system/diskpart/assign.c +++ b/base/system/diskpart/assign.c @@ -5,6 +5,7 @@ * PURPOSE: Manages all the partitions of the OS in an interactive way * PROGRAMMERS: Lee Schroeder */ + #include "diskpart.h" BOOL assign_main(INT argc, LPWSTR *argv) diff --git a/base/system/diskpart/attach.c b/base/system/diskpart/attach.c index 13d2d652bfc..5fe98b1dd80 100644 --- a/base/system/diskpart/attach.c +++ b/base/system/diskpart/attach.c @@ -5,6 +5,7 @@ * PURPOSE: Manages all the partitions of the OS in an interactive way * PROGRAMMERS: Lee Schroeder */ + #include "diskpart.h" BOOL attach_main(INT argc, LPWSTR *argv) diff --git a/base/system/diskpart/attributes.c b/base/system/diskpart/attributes.c index 52d17c9141b..0d70c7e2819 100644 --- a/base/system/diskpart/attributes.c +++ b/base/system/diskpart/attributes.c @@ -5,6 +5,7 @@ * PURPOSE: Manages all the partitions of the OS in an interactive way * PROGRAMMERS: Lee Schroeder */ + #include "diskpart.h" BOOL attributes_main(INT argc, LPWSTR *argv) diff --git a/base/system/diskpart/automount.c b/base/system/diskpart/automount.c index a3ee0033f0c..822f01b10ae 100644 --- a/base/system/diskpart/automount.c +++ b/base/system/diskpart/automount.c @@ -5,6 +5,7 @@ * PURPOSE: Manages all the partitions of the OS in an interactive way * PROGRAMMERS: Lee Schroeder */ + #include "diskpart.h" BOOL automount_main(INT argc, LPWSTR *argv) diff --git a/base/system/diskpart/break.c b/base/system/diskpart/break.c index 86bdbc70b56..9672889f20d 100644 --- a/base/system/diskpart/break.c +++ b/base/system/diskpart/break.c @@ -6,6 +6,7 @@ * an interactive way * PROGRAMMERS: Lee Schroeder */ + #include "diskpart.h" BOOL break_main(INT argc, LPWSTR *argv) diff --git a/base/system/diskpart/clean.c b/base/system/diskpart/clean.c index 58b81b451d2..ad02870e7df 100644 --- a/base/system/diskpart/clean.c +++ b/base/system/diskpart/clean.c @@ -6,6 +6,7 @@ * an interactive way * PROGRAMMERS: Lee Schroeder */ + #include "diskpart.h" BOOL clean_main(INT argc, LPWSTR *argv) diff --git a/base/system/diskpart/compact.c b/base/system/diskpart/compact.c index 413d1b133f0..9b2999a2ee1 100644 --- a/base/system/diskpart/compact.c +++ b/base/system/diskpart/compact.c @@ -6,6 +6,7 @@ * an interactive way * PROGRAMMERS: Lee Schroeder */ + #include "diskpart.h" BOOL compact_main(INT argc, LPWSTR *argv) diff --git a/base/system/diskpart/convert.c b/base/system/diskpart/convert.c index 429edb4dfec..90b44f95237 100644 --- a/base/system/diskpart/convert.c +++ b/base/system/diskpart/convert.c @@ -6,6 +6,7 @@ * an interactive way * PROGRAMMERS: Lee Schroeder */ + #include "diskpart.h" BOOL convert_main(INT argc, LPWSTR *argv) diff --git a/base/system/diskpart/create.c b/base/system/diskpart/create.c index 71e4197ba45..fa63697590b 100644 --- a/base/system/diskpart/create.c +++ b/base/system/diskpart/create.c @@ -6,6 +6,7 @@ * an interactive way * PROGRAMMERS: Lee Schroeder */ + #include "diskpart.h" BOOL create_main(INT argc, LPWSTR *argv) diff --git a/base/system/diskpart/delete.c b/base/system/diskpart/delete.c index a1359e17d8b..32c3a987f87 100644 --- a/base/system/diskpart/delete.c +++ b/base/system/diskpart/delete.c @@ -6,6 +6,7 @@ * an interactive way * PROGRAMMERS: Lee Schroeder */ + #include "diskpart.h" BOOL delete_main(INT argc, LPWSTR *argv) diff --git a/base/system/diskpart/detach.c b/base/system/diskpart/detach.c index 9bf1494c4e4..747e63ec040 100644 --- a/base/system/diskpart/detach.c +++ b/base/system/diskpart/detach.c @@ -6,6 +6,7 @@ * an interactive way * PROGRAMMERS: Lee Schroeder */ + #include "diskpart.h" BOOL detach_main(INT argc, LPWSTR *argv) diff --git a/base/system/diskpart/detail.c b/base/system/diskpart/detail.c index ff2a3fc0fa0..4ddea062d2f 100644 --- a/base/system/diskpart/detail.c +++ b/base/system/diskpart/detail.c @@ -6,6 +6,7 @@ * an interactive way * PROGRAMMERS: Lee Schroeder */ + #include "diskpart.h" BOOL detail_main(INT argc, LPWSTR *argv) diff --git a/base/system/diskpart/diskpart.c b/base/system/diskpart/diskpart.c index 2f5231692b8..bb27c49b9c3 100644 --- a/base/system/diskpart/diskpart.c +++ b/base/system/diskpart/diskpart.c @@ -8,8 +8,14 @@ */ /* INCLUDES ******************************************************************/ + #include "diskpart.h" +#include +#include +#include +#include + /* FUNCTIONS ******************************************************************/ VOID PrintResourceString(INT resID, ...) diff --git a/base/system/diskpart/diskpart.h b/base/system/diskpart/diskpart.h index d9df7c55288..f4590f49d3a 100644 --- a/base/system/diskpart/diskpart.h +++ b/base/system/diskpart/diskpart.h @@ -6,19 +6,16 @@ * an interactive way * PROGRAMMERS: Lee Schroeder */ + #ifndef DISKPART_H #define DISKPART_H /* INCLUDES ******************************************************************/ -#define WIN32_NO_STATUS -#include -#include -#include -#include -#include #include -#include + +#define WIN32_NO_STATUS +#include #include "resource.h" diff --git a/base/system/diskpart/diskpart.rc b/base/system/diskpart/diskpart.rc index 4ddedbee49a..0b46ba41190 100644 --- a/base/system/diskpart/diskpart.rc +++ b/base/system/diskpart/diskpart.rc @@ -19,4 +19,4 @@ #endif #ifdef LANGUAGE_SQ_AL #include "lang/sq-AL.rc" -#endif \ No newline at end of file +#endif diff --git a/base/system/diskpart/expand.c b/base/system/diskpart/expand.c index 895e145f632..77af227dff0 100644 --- a/base/system/diskpart/expand.c +++ b/base/system/diskpart/expand.c @@ -6,6 +6,7 @@ * an interactive way * PROGRAMMERS: Lee Schroeder */ + #include "diskpart.h" BOOL expand_main(INT argc, LPWSTR *argv) diff --git a/base/system/diskpart/extend.c b/base/system/diskpart/extend.c index 4b524f80aaf..6bd14c2b25a 100644 --- a/base/system/diskpart/extend.c +++ b/base/system/diskpart/extend.c @@ -6,6 +6,7 @@ * an interactive way * PROGRAMMERS: Lee Schroeder */ + #include "diskpart.h" BOOL extend_main(INT argc, LPWSTR *argv) diff --git a/base/system/diskpart/filesystems.c b/base/system/diskpart/filesystems.c index 651d3a46e42..10d2a54a8bd 100644 --- a/base/system/diskpart/filesystems.c +++ b/base/system/diskpart/filesystems.c @@ -6,6 +6,7 @@ * an interactive way * PROGRAMMERS: Lee Schroeder */ + #include "diskpart.h" BOOL filesystems_main(INT argc, LPWSTR *argv) diff --git a/base/system/diskpart/format.c b/base/system/diskpart/format.c index c87a74f5015..af66072bf34 100644 --- a/base/system/diskpart/format.c +++ b/base/system/diskpart/format.c @@ -6,6 +6,7 @@ * an interactive way * PROGRAMMERS: Lee Schroeder */ + #include "diskpart.h" BOOL format_main(INT argc, LPWSTR *argv) diff --git a/base/system/diskpart/gpt.c b/base/system/diskpart/gpt.c index fad7cbb31a1..bc86c542131 100644 --- a/base/system/diskpart/gpt.c +++ b/base/system/diskpart/gpt.c @@ -6,6 +6,7 @@ * an interactive way * PROGRAMMERS: Lee Schroeder */ + #include "diskpart.h" BOOL gpt_main(INT argc, LPWSTR *argv) diff --git a/base/system/diskpart/import.c b/base/system/diskpart/import.c index 273e69deeca..ee32762c9fd 100644 --- a/base/system/diskpart/import.c +++ b/base/system/diskpart/import.c @@ -6,6 +6,7 @@ * an interactive way * PROGRAMMERS: Lee Schroeder */ + #include "diskpart.h" BOOL import_main(INT argc, LPWSTR *argv) diff --git a/base/system/diskpart/inactive.c b/base/system/diskpart/inactive.c index 4cffbaeac99..55910d0010e 100644 --- a/base/system/diskpart/inactive.c +++ b/base/system/diskpart/inactive.c @@ -6,6 +6,7 @@ * an interactive way * PROGRAMMERS: Lee Schroeder */ + #include "diskpart.h" BOOL inactive_main(INT argc, LPWSTR *argv) diff --git a/base/system/diskpart/list.c b/base/system/diskpart/list.c index 289caf8c128..be234f5dcc2 100644 --- a/base/system/diskpart/list.c +++ b/base/system/diskpart/list.c @@ -6,6 +6,7 @@ * an interactive way * PROGRAMMERS: Lee Schroeder */ + #include "diskpart.h" static VOID list_disk(VOID) diff --git a/base/system/diskpart/merge.c b/base/system/diskpart/merge.c index 13e883f5e03..cb9b10230e6 100644 --- a/base/system/diskpart/merge.c +++ b/base/system/diskpart/merge.c @@ -6,6 +6,7 @@ * an interactive way * PROGRAMMERS: Lee Schroeder */ + #include "diskpart.h" BOOL merge_main(INT argc, LPWSTR *argv) diff --git a/base/system/diskpart/offline.c b/base/system/diskpart/offline.c index cfab4bcad39..8644a6f87da 100644 --- a/base/system/diskpart/offline.c +++ b/base/system/diskpart/offline.c @@ -6,6 +6,7 @@ * an interactive way * PROGRAMMERS: Lee Schroeder */ + #include "diskpart.h" BOOL offline_main(INT argc, LPWSTR *argv) diff --git a/base/system/diskpart/online.c b/base/system/diskpart/online.c index bb99bc088c8..d474f1cd98e 100644 --- a/base/system/diskpart/online.c +++ b/base/system/diskpart/online.c @@ -6,6 +6,7 @@ * an interactive way * PROGRAMMERS: Lee Schroeder */ + #include "diskpart.h" BOOL online_main(INT argc, LPWSTR *argv) diff --git a/base/system/diskpart/recover.c b/base/system/diskpart/recover.c index 28669baa1d8..49000bb246b 100644 --- a/base/system/diskpart/recover.c +++ b/base/system/diskpart/recover.c @@ -6,6 +6,7 @@ * an interactive way * PROGRAMMERS: Lee Schroeder */ + #include "diskpart.h" BOOL recover_main(INT argc, LPWSTR *argv) diff --git a/base/system/diskpart/remove.c b/base/system/diskpart/remove.c index a2cd0a338a9..1997c3542cb 100644 --- a/base/system/diskpart/remove.c +++ b/base/system/diskpart/remove.c @@ -6,6 +6,7 @@ * an interactive way * PROGRAMMERS: Lee Schroeder */ + #include "diskpart.h" BOOL remove_main(INT argc, LPWSTR *argv) diff --git a/base/system/diskpart/repair.c b/base/system/diskpart/repair.c index 8d3c1bb36bc..92945dc2e15 100644 --- a/base/system/diskpart/repair.c +++ b/base/system/diskpart/repair.c @@ -6,6 +6,7 @@ * an interactive way * PROGRAMMERS: Lee Schroeder */ + #include "diskpart.h" BOOL repair_main(INT argc, LPWSTR *argv) diff --git a/base/system/diskpart/rescan.c b/base/system/diskpart/rescan.c index e141b64c485..a2ab962a8ae 100644 --- a/base/system/diskpart/rescan.c +++ b/base/system/diskpart/rescan.c @@ -6,6 +6,7 @@ * an interactive way * PROGRAMMERS: Lee Schroeder */ + #include "diskpart.h" BOOL rescan_main(INT argc, LPWSTR *argv) diff --git a/base/system/diskpart/retain.c b/base/system/diskpart/retain.c index ce8951f223e..941d67eeaf5 100644 --- a/base/system/diskpart/retain.c +++ b/base/system/diskpart/retain.c @@ -6,6 +6,7 @@ * an interactive way * PROGRAMMERS: Lee Schroeder */ + #include "diskpart.h" BOOL retain_main(INT argc, LPWSTR *argv) diff --git a/base/system/diskpart/san.c b/base/system/diskpart/san.c index 09b66e7a372..fa29dbeeaa9 100644 --- a/base/system/diskpart/san.c +++ b/base/system/diskpart/san.c @@ -6,6 +6,7 @@ * an interactive way * PROGRAMMERS: Lee Schroeder */ + #include "diskpart.h" BOOL san_main(INT argc, LPWSTR *argv) diff --git a/base/system/diskpart/select.c b/base/system/diskpart/select.c index 37106e0b793..3c37dd6a8f4 100644 --- a/base/system/diskpart/select.c +++ b/base/system/diskpart/select.c @@ -6,6 +6,7 @@ * an interactive way * PROGRAMMERS: Lee Schroeder */ + #include "diskpart.h" BOOL select_main(INT argc, LPWSTR *argv) diff --git a/base/system/diskpart/setid.c b/base/system/diskpart/setid.c index c3c1e004675..8226a82eaaf 100644 --- a/base/system/diskpart/setid.c +++ b/base/system/diskpart/setid.c @@ -6,6 +6,7 @@ * an interactive way * PROGRAMMERS: Lee Schroeder */ + #include "diskpart.h" BOOL setid_main(INT argc, LPWSTR *argv) diff --git a/base/system/diskpart/shrink.c b/base/system/diskpart/shrink.c index cf7253a9a8c..b940d6dc9d5 100644 --- a/base/system/diskpart/shrink.c +++ b/base/system/diskpart/shrink.c @@ -6,6 +6,7 @@ * an interactive way * PROGRAMMERS: Lee Schroeder */ + #include "diskpart.h" BOOL shrink_main(INT argc, LPWSTR *argv) diff --git a/base/system/diskpart/uniqueid.c b/base/system/diskpart/uniqueid.c index 168d950d01c..3d11a844008 100644 --- a/base/system/diskpart/uniqueid.c +++ b/base/system/diskpart/uniqueid.c @@ -6,6 +6,7 @@ * an interactive way * PROGRAMMERS: Lee Schroeder */ + #include "diskpart.h" BOOL uniqueid_main(INT argc, LPWSTR *argv) diff --git a/base/system/msiexec/msiexec.c b/base/system/msiexec/msiexec.c index fe43efd6614..9ae87ce9a6a 100644 --- a/base/system/msiexec/msiexec.c +++ b/base/system/msiexec/msiexec.c @@ -19,24 +19,15 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#define WIN32_NO_STATUS -#define _INC_WINDOWS -#define COM_NO_WINDOWS_H -#include -#include -#include +#include "precomp.h" + #include -#include #include #include #include -#include -#include #include -WINE_DEFAULT_DEBUG_CHANNEL(msiexec); - typedef HRESULT (WINAPI *DLLREGISTERSERVER)(void); typedef HRESULT (WINAPI *DLLUNREGISTERSERVER)(void); diff --git a/base/system/msiexec/precomp.h b/base/system/msiexec/precomp.h new file mode 100644 index 00000000000..cc81d63bfa0 --- /dev/null +++ b/base/system/msiexec/precomp.h @@ -0,0 +1,17 @@ +#ifndef _MSIEXEC_PCH_ +#define _MSIEXEC_PCH_ + +#include + +#define WIN32_NO_STATUS +#define _INC_WINDOWS +#define COM_NO_WINDOWS_H + +#include +#include +#include + +#include +WINE_DEFAULT_DEBUG_CHANNEL(msiexec); + +#endif /* _MSIEXEC_PCH_ */ diff --git a/base/system/msiexec/service.c b/base/system/msiexec/service.c index 1edfa4691aa..47a28591d23 100644 --- a/base/system/msiexec/service.c +++ b/base/system/msiexec/service.c @@ -18,15 +18,7 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#define WIN32_NO_STATUS -#include -#include -#include -#include -#include -#include - -WINE_DEFAULT_DEBUG_CHANNEL(msiexec); +#include "precomp.h" static SERVICE_STATUS_HANDLE hstatus; diff --git a/base/system/services/database.c b/base/system/services/database.c index 58c53502d1c..aea3f8950bb 100644 --- a/base/system/services/database.c +++ b/base/system/services/database.c @@ -14,6 +14,8 @@ #include "services.h" +#include + #define NDEBUG #include diff --git a/base/system/services/driver.c b/base/system/services/driver.c index 405474b1471..0f03c294a21 100644 --- a/base/system/services/driver.c +++ b/base/system/services/driver.c @@ -11,6 +11,9 @@ #include "services.h" +#include +#include + #define NDEBUG #include diff --git a/base/system/services/groupdb.c b/base/system/services/groupdb.c index c5452ecd930..50db8d35ed0 100644 --- a/base/system/services/groupdb.c +++ b/base/system/services/groupdb.c @@ -14,7 +14,6 @@ #define NDEBUG #include - /* GLOBALS *******************************************************************/ LIST_ENTRY GroupListHead; diff --git a/base/system/services/lock.c b/base/system/services/lock.c index 6993e3dcb72..b670fb69909 100644 --- a/base/system/services/lock.c +++ b/base/system/services/lock.c @@ -10,10 +10,11 @@ #include "services.h" +#include + #define NDEBUG #include - /* GLOBALS *******************************************************************/ /* The unique user service start lock of the SCM */ diff --git a/base/system/services/rpcserver.c b/base/system/services/rpcserver.c index 7fc7222c9f7..ba53003c67e 100644 --- a/base/system/services/rpcserver.c +++ b/base/system/services/rpcserver.c @@ -12,6 +12,8 @@ #include "services.h" +#include + #define NDEBUG #include diff --git a/base/system/services/services.c b/base/system/services/services.c index b7a97f1064d..4163a3c7a01 100644 --- a/base/system/services/services.c +++ b/base/system/services/services.c @@ -12,6 +12,8 @@ #include "services.h" +#include + #define NDEBUG #include diff --git a/base/system/services/services.h b/base/system/services/services.h index 20afb30c08d..01a04c4005f 100644 --- a/base/system/services/services.h +++ b/base/system/services/services.h @@ -3,18 +3,19 @@ */ #include -#include #define WIN32_NO_STATUS +#define _INC_WINDOWS +#define COM_NO_WINDOWS_H + #include #include #include +#include #include #define NTOS_MODE_USER -#include #include #include -#include #include #include diff --git a/base/system/smss/crashdmp.c b/base/system/smss/crashdmp.c index 1ce871f592e..5241657bc89 100644 --- a/base/system/smss/crashdmp.c +++ b/base/system/smss/crashdmp.c @@ -9,11 +9,10 @@ /* INCLUDES *******************************************************************/ #include "smss.h" + #define NDEBUG #include -/* GLOBALS ********************************************************************/ - /* FUNCTIONS ******************************************************************/ BOOLEAN @@ -22,5 +21,3 @@ SmpCheckForCrashDump(IN PUNICODE_STRING FileName) { return FALSE; } - - \ No newline at end of file diff --git a/base/system/smss/pagefile.c b/base/system/smss/pagefile.c index 44f8d54408c..81bbe568a0f 100644 --- a/base/system/smss/pagefile.c +++ b/base/system/smss/pagefile.c @@ -9,6 +9,7 @@ /* INCLUDES *******************************************************************/ #include "smss.h" + #define NDEBUG #include diff --git a/base/system/smss/sminit.c b/base/system/smss/sminit.c index 4625013a1e0..c8456550925 100644 --- a/base/system/smss/sminit.c +++ b/base/system/smss/sminit.c @@ -9,6 +9,7 @@ /* INCLUDES *******************************************************************/ #include "smss.h" + #define NDEBUG #include diff --git a/base/system/smss/smloop.c b/base/system/smss/smloop.c index 06aa46cd021..3aaa06cab3d 100644 --- a/base/system/smss/smloop.c +++ b/base/system/smss/smloop.c @@ -9,6 +9,7 @@ /* INCLUDES *******************************************************************/ #include "smss.h" + #define NDEBUG #include diff --git a/base/system/smss/smsbapi.c b/base/system/smss/smsbapi.c index d73bb4053b8..1592a6101a0 100644 --- a/base/system/smss/smsbapi.c +++ b/base/system/smss/smsbapi.c @@ -9,6 +9,7 @@ /* INCLUDES *******************************************************************/ #include "smss.h" + #define NDEBUG #include diff --git a/base/system/smss/smsessn.c b/base/system/smss/smsessn.c index 2422d599b8f..75e02a2c377 100644 --- a/base/system/smss/smsessn.c +++ b/base/system/smss/smsessn.c @@ -9,6 +9,7 @@ /* INCLUDES *******************************************************************/ #include "smss.h" + #define NDEBUG #include diff --git a/base/system/smss/smss.c b/base/system/smss/smss.c index aa46164bcdc..a48f58ed393 100644 --- a/base/system/smss/smss.c +++ b/base/system/smss/smss.c @@ -9,6 +9,9 @@ /* INCLUDES *******************************************************************/ #include "smss.h" + +#include + #define NDEBUG #include diff --git a/base/system/smss/smss.h b/base/system/smss/smss.h index 807536b804c..213fe347ce5 100644 --- a/base/system/smss/smss.h +++ b/base/system/smss/smss.h @@ -10,17 +10,14 @@ #ifndef _SM_ #define _SM_ -// -// Native Headers -// -#define WIN32_NO_STATUS #include -#include + +/* Native Headers */ +#define WIN32_NO_STATUS #include #include #include -#include #define RTL_NUMBER_OF_V1(A) (sizeof(A)/sizeof((A)[0])) #define RTL_NUMBER_OF_V2(A) RTL_NUMBER_OF_V1(A) #ifdef ENABLE_RTL_NUMBER_OF_V2 @@ -38,13 +35,10 @@ #include #include #include -#include #include #include -// -// SM Protocol Header -// +/* SM Protocol Header */ #include /* DEFINES ********************************************************************/ @@ -311,4 +305,4 @@ SmpExecuteImage( IN PRTL_USER_PROCESS_INFORMATION ProcessInformation ); -#endif +#endif /* _SM_ */ diff --git a/base/system/smss/smsubsys.c b/base/system/smss/smsubsys.c index b15bddee379..652df82d34f 100644 --- a/base/system/smss/smsubsys.c +++ b/base/system/smss/smsubsys.c @@ -9,6 +9,7 @@ /* INCLUDES *******************************************************************/ #include "smss.h" + #define NDEBUG #include @@ -674,4 +675,3 @@ SmpLoadSubSystemsForMuSession(IN PULONG MuSessionId, /* Return status */ return Status; } - diff --git a/base/system/smss/smutil.c b/base/system/smss/smutil.c index 4295be9ddf5..cb950e65935 100644 --- a/base/system/smss/smutil.c +++ b/base/system/smss/smutil.c @@ -9,6 +9,9 @@ /* INCLUDES *******************************************************************/ #include "smss.h" + +#include + #define NDEBUG #include diff --git a/base/system/winlogon/environment.c b/base/system/winlogon/environment.c index bdbdac05446..1fb30af4fd9 100644 --- a/base/system/winlogon/environment.c +++ b/base/system/winlogon/environment.c @@ -12,9 +12,6 @@ #include "winlogon.h" -/* GLOBALS ******************************************************************/ - - /* FUNCTIONS ****************************************************************/ static diff --git a/base/system/winlogon/lang/ro-RO.rc b/base/system/winlogon/lang/ro-RO.rc index 6f4629cf279..dc64d3b3f8f 100644 --- a/base/system/winlogon/lang/ro-RO.rc +++ b/base/system/winlogon/lang/ro-RO.rc @@ -1,4 +1,4 @@ -/* 2011.11.05 - Fulea Ștefan: minor changes */ +/* Ștefan Fulea (stefan dot fulea at mail dot md) */ LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL @@ -24,20 +24,20 @@ END STRINGTABLE BEGIN - IDS_PREPARENETWORKCONNECTIONS "Pregătirea conexiunilor în rețea…" - IDS_APPLYINGCOMPUTERSETTINGS "Aplicarea configurației generale…" - IDS_RUNNINGSTARTUPSCRIPTS "Executarea operațiilor de pornire…" - IDS_RUNNINGSHUTDOWNSCRIPTS "Executarea operațiilor de oprire…" - IDS_APPLYINGYOURPERSONALSETTINGS "Aplicarea configurației personale…" - IDS_RUNNINGLOGOFFSCRIPTS "Executarea operațiilor de deautentificare…" - IDS_RUNNINGLOGONSCRIPTS "Executarea operațiilor de autentificare…" - IDS_LOADINGYOURPERSONALSETTINGS "Încărcarea configurației personale…" - IDS_CLOSINGNETWORKCONNECTIONS "Închiderea conexiunilor în rețea…" - IDS_REACTOSISSHUTTINGDOWN "Oprirea sistemului de operare…" - IDS_PREPARETOSTANDBY "Pregătirea stării de veghe…" - IDS_PREPARETOHIBERNATE "Pregătirea pentru hibernare…" - IDS_SAVEYOURSETTINGS "Păstrarea configurației personale…" - IDS_REACTOSISSTARTINGUP "Pornirea sistemului de operare…" + IDS_PREPARENETWORKCONNECTIONS "Se pregătesc conexiunile în rețea…" + IDS_APPLYINGCOMPUTERSETTINGS "Se instituie configurațiile generale…" + IDS_RUNNINGSTARTUPSCRIPTS "Se execută operațiile de pornire…" + IDS_RUNNINGSHUTDOWNSCRIPTS "Se execută operațiile de oprire…" + IDS_APPLYINGYOURPERSONALSETTINGS "Se instituie configurațiile personale…" + IDS_RUNNINGLOGOFFSCRIPTS "Se execută operațiile de deautentificare…" + IDS_RUNNINGLOGONSCRIPTS "Se execută operațiile de autentificare…" + IDS_LOADINGYOURPERSONALSETTINGS "Se reconstituie configurațiile personale…" + IDS_CLOSINGNETWORKCONNECTIONS "Se închid conexiunile în rețea…" + IDS_REACTOSISSHUTTINGDOWN "Se oprește sistemului de operare…" + IDS_PREPARETOSTANDBY "Se pregătește stărea de veghe…" + IDS_PREPARETOHIBERNATE "Se pregătește starea de hibernare…" + IDS_SAVEYOURSETTINGS "Se rețin configurațiile personale…" + IDS_REACTOSISSTARTINGUP "Se pornește sistemului de operare…" END STRINGTABLE diff --git a/base/system/winlogon/sas.c b/base/system/winlogon/sas.c index 377050a101c..f61ee6e66d6 100644 --- a/base/system/winlogon/sas.c +++ b/base/system/winlogon/sas.c @@ -13,6 +13,14 @@ #include "winlogon.h" +#define WIN32_LEAN_AND_MEAN +#include +#include +#include +#include +#include +#include + /* GLOBALS ******************************************************************/ #define WINLOGON_SAS_CLASS L"SAS Window class" @@ -836,15 +844,34 @@ DoGenericAction( switch (wlxAction) { case WLX_SAS_ACTION_LOGON: /* 0x01 */ - if (HandleLogon(Session)) + if (Session->LogonState == STATE_LOGGED_OFF_SAS) { - SwitchDesktop(Session->ApplicationDesktop); - Session->LogonState = STATE_LOGGED_ON; + if (HandleLogon(Session)) + { + SwitchDesktop(Session->ApplicationDesktop); + Session->LogonState = STATE_LOGGED_ON; + } + else + { + Session->Gina.Functions.WlxDisplaySASNotice(Session->Gina.Context); + } } - else - Session->Gina.Functions.WlxDisplaySASNotice(Session->Gina.Context); break; case WLX_SAS_ACTION_NONE: /* 0x02 */ + if (Session->LogonState == STATE_LOGGED_OFF_SAS) + { + Session->LogonState = STATE_LOGGED_OFF; + Session->Gina.Functions.WlxDisplaySASNotice(Session->Gina.Context); + } + else if (Session->LogonState == STATE_LOGGED_ON_SAS) + { + Session->LogonState = STATE_LOGGED_ON; + } + else if (Session->LogonState == STATE_LOCKED_SAS) + { + Session->LogonState = STATE_LOCKED; + Session->Gina.Functions.WlxDisplayLockedNotice(Session->Gina.Context); + } break; case WLX_SAS_ACTION_LOCK_WKSTA: /* 0x03 */ if (Session->Gina.Functions.WlxIsLockOk(Session->Gina.Context)) @@ -887,6 +914,7 @@ DoGenericAction( break; case WLX_SAS_ACTION_TASKLIST: /* 0x07 */ SwitchDesktop(WLSession->ApplicationDesktop); + Session->LogonState = STATE_LOGGED_ON; StartTaskManager(Session); break; case WLX_SAS_ACTION_UNLOCK_WKSTA: /* 0x08 */ @@ -905,58 +933,96 @@ DispatchSAS( IN DWORD dwSasType) { DWORD wlxAction = WLX_SAS_ACTION_NONE; + HWND hwnd; + PSID LogonSid = NULL; /* FIXME */ + BOOL bSecure = TRUE; - if (Session->LogonState == STATE_LOGGED_ON) - wlxAction = (DWORD)Session->Gina.Functions.WlxLoggedOnSAS(Session->Gina.Context, dwSasType, NULL); - else if (Session->LogonState == STATE_LOCKED) - wlxAction = (DWORD)Session->Gina.Functions.WlxWkstaLockedSAS(Session->Gina.Context, dwSasType); - else + switch (dwSasType) { - /* Display a new dialog (if necessary) */ - switch (dwSasType) - { - case WLX_SAS_TYPE_TIMEOUT: /* 0x00 */ + case WLX_SAS_TYPE_CTRL_ALT_DEL: + switch (Session->LogonState) { - Session->Gina.Functions.WlxDisplaySASNotice(Session->Gina.Context); - break; + case STATE_INIT: + Session->LogonState = STATE_LOGGED_OFF; + Session->Gina.Functions.WlxDisplaySASNotice(Session->Gina.Context); + return; + + case STATE_LOGGED_OFF: + Session->LogonState = STATE_LOGGED_OFF_SAS; + + hwnd = GetTopDialogWindow(); + if (hwnd != NULL) + SendMessage(hwnd, WLX_WM_SAS, 0, 0); + + Session->Options = 0; + + wlxAction = (DWORD)Session->Gina.Functions.WlxLoggedOutSAS( + Session->Gina.Context, + Session->SASAction, + &Session->LogonId, + LogonSid, + &Session->Options, + &Session->UserToken, + &Session->MprNotifyInfo, + (PVOID*)&Session->Profile); + break; + + case STATE_LOGGED_OFF_SAS: + /* Ignore SAS if we are already in an SAS state */ + return; + + case STATE_LOGGED_ON: + Session->LogonState = STATE_LOGGED_ON_SAS; + wlxAction = (DWORD)Session->Gina.Functions.WlxLoggedOnSAS(Session->Gina.Context, dwSasType, NULL); + break; + + case STATE_LOGGED_ON_SAS: + /* Ignore SAS if we are already in an SAS state */ + return; + + case STATE_LOCKED: + Session->LogonState = STATE_LOCKED_SAS; + + hwnd = GetTopDialogWindow(); + if (hwnd != NULL) + SendMessage(hwnd, WLX_WM_SAS, 0, 0); + + wlxAction = (DWORD)Session->Gina.Functions.WlxWkstaLockedSAS(Session->Gina.Context, dwSasType); + break; + + case STATE_LOCKED_SAS: + /* Ignore SAS if we are already in an SAS state */ + return; + + default: + return; } - default: + break; + + case WLX_SAS_TYPE_TIMEOUT: + return; + + case WLX_SAS_TYPE_SCRNSVR_TIMEOUT: + if (!Session->Gina.Functions.WlxScreenSaverNotify(Session->Gina.Context, &bSecure)) { - PSID LogonSid = NULL; /* FIXME */ - - Session->Options = 0; - - wlxAction = (DWORD)Session->Gina.Functions.WlxLoggedOutSAS( - Session->Gina.Context, - Session->SASAction, - &Session->LogonId, - LogonSid, - &Session->Options, - &Session->UserToken, - &Session->MprNotifyInfo, - (PVOID*)&Session->Profile); - break; + /* Skip start of screen saver */ + SetEvent(Session->hEndOfScreenSaver); } - } - } + else + { + StartScreenSaver(Session); + if (bSecure) + { + wlxAction = WLX_SAS_ACTION_LOCK_WKSTA; +// DoGenericAction(Session, WLX_SAS_ACTION_LOCK_WKSTA); + } + } + break; - if (dwSasType == WLX_SAS_TYPE_SCRNSVR_TIMEOUT) - { - BOOL bSecure = TRUE; - if (!Session->Gina.Functions.WlxScreenSaverNotify(Session->Gina.Context, &bSecure)) - { - /* Skip start of screen saver */ - SetEvent(Session->hEndOfScreenSaver); - } - else - { - StartScreenSaver(Session); - if (bSecure) - DoGenericAction(Session, WLX_SAS_ACTION_LOCK_WKSTA); - } + case WLX_SAS_TYPE_SCRNSVR_ACTIVITY: + SetEvent(Session->hUserActivity); + break; } - else if (dwSasType == WLX_SAS_TYPE_SCRNSVR_ACTIVITY) - SetEvent(Session->hUserActivity); DoGenericAction(Session, wlxAction); } diff --git a/base/system/winlogon/winlogon.c b/base/system/winlogon/winlogon.c index c9581381a29..56646f7a963 100644 --- a/base/system/winlogon/winlogon.c +++ b/base/system/winlogon/winlogon.c @@ -12,6 +12,8 @@ #include "winlogon.h" +#include + /* GLOBALS ******************************************************************/ HINSTANCE hAppInstance; @@ -334,6 +336,9 @@ WinMain( ZeroMemory(WLSession, sizeof(WLSESSION)); WLSession->DialogTimeout = 120; /* 2 minutes */ + /* Initialize the dialog tracking list */ + InitDialogListHead(); + if (!CreateWindowStationAndDesktops(WLSession)) { ERR("WL: Could not create window station and desktops\n"); @@ -424,7 +429,7 @@ WinMain( //DisplayStatusMessage(Session, Session->WinlogonDesktop, IDS_APPLYINGCOMPUTERSETTINGS); /* Display logged out screen */ - WLSession->LogonState = STATE_LOGGED_OFF; + WLSession->LogonState = STATE_INIT; RemoveStatusMessage(WLSession); /* Check for pending setup */ @@ -437,7 +442,7 @@ WinMain( RunSetup(); } else - PostMessageW(WLSession->SASWindow, WLX_WM_SAS, WLX_SAS_TYPE_TIMEOUT, 0); + PostMessageW(WLSession->SASWindow, WLX_WM_SAS, WLX_SAS_TYPE_CTRL_ALT_DEL, 0); /* Tell kernel that CurrentControlSet is good (needed * to support Last good known configuration boot) */ diff --git a/base/system/winlogon/winlogon.h b/base/system/winlogon/winlogon.h index e776124da81..228b5e1794f 100644 --- a/base/system/winlogon/winlogon.h +++ b/base/system/winlogon/winlogon.h @@ -26,24 +26,22 @@ #ifndef __WINLOGON_MAIN_H__ #define __WINLOGON_MAIN_H__ +#include + #define USE_GETLASTINPUTINFO #define WIN32_NO_STATUS -#define WIN32_LEAN_AND_MEAN -#include -#include -#include +#include +#include +#include +#include +#include #include -#include -#include -#include -#include -#include -#include +#include +#include #include #include -#include #include WINE_DEFAULT_DEBUG_CHANNEL(winlogon); @@ -157,16 +155,6 @@ typedef struct _GINAINSTANCE * STATE_LOCKED. Pressing "Shutdown" changes the state to * STATE_SHUTTING_DOWN. * - * STATE_SCREENSAVER - * Winlogon runs the screen saver. Upon user activity, the screensaver - * terminates and the state changes back to STATE_LOGGED_ON if the secure - * screen saver option is off. Otherwise, the state changes to STATE_LOCKED. - * - * STATE_LOGGING_OFF - * Winlogon shows the logoff dialog. Pressing "Cancel" or a timeout changes - * the state back to STATE_LOGGED_ON_SAS. Pressing "OK" logs off the user - * and changes the state to STATE_LOGGED_OFF. - * * STATE_LOCKED * Winlogon shows the locked message dialog. When the user presses "Ctrl- * Alt-Del" the state changes to STATE_LOCKED_SAS. If DisableCAD is true, @@ -179,6 +167,11 @@ typedef struct _GINAINSTANCE * pressing "OK" unlocks the computer and changes the state to * STATE_LOGGED_ON. * + * STATE_LOGGING_OFF + * Winlogon shows the logoff dialog. Pressing "Cancel" or a timeout changes + * the state back to STATE_LOGGED_ON_SAS. Pressing "OK" logs off the user + * and changes the state to STATE_LOGGED_OFF. + * * STATE_SHUTTING_DOWN * Winlogon shows the shutdown dialog. Presing "Cancel" or a timeout will * change the state back to STATE_LOGGED_ON_SAS. Pressing "OK" will change @@ -186,20 +179,25 @@ typedef struct _GINAINSTANCE * * STATE_SHUT_DOWN * Terminates Winlogon and initiates shut-down. + * + * STATE_SCREENSAVER + * Winlogon runs the screen saver. Upon user activity, the screensaver + * terminates and the state changes back to STATE_LOGGED_ON if the secure + * screen saver option is off. Otherwise, the state changes to STATE_LOCKED. */ typedef enum _LOGON_STATE { - STATE_INIT, // not user yet + STATE_INIT, STATE_LOGGED_OFF, - STATE_LOGGED_OFF_SAS, // not user yet + STATE_LOGGED_OFF_SAS, STATE_LOGGED_ON, - STATE_LOGGED_ON_SAS, // not user yet - STATE_SCREENSAVER, // not user yet + STATE_LOGGED_ON_SAS, STATE_LOCKED, - STATE_LOCKED_SAS, // not user yet - STATE_LOGGING_OFF, // not user yet - STATE_SHUTTING_DOWN, // not user yet - STATE_SHUT_DOWN // not user yet + STATE_LOCKED_SAS, + STATE_LOGGING_OFF, // not used yet + STATE_SHUTTING_DOWN, // not used yet + STATE_SHUT_DOWN, // not used yet + STATE_SCREENSAVER // not used yet } LOGON_STATE, *PLOGON_STATE; #define LockWorkstation(Session) @@ -291,6 +289,12 @@ BOOL RemoveStatusMessage(IN PWLSESSION Session); /* wlx.c */ +VOID +InitDialogListHead(VOID); + +HWND +GetTopDialogWindow(VOID); + BOOL GinaInit(IN OUT PWLSESSION Session); diff --git a/base/system/winlogon/wlx.c b/base/system/winlogon/wlx.c index 13fa78084ab..03f732636f5 100644 --- a/base/system/winlogon/wlx.c +++ b/base/system/winlogon/wlx.c @@ -26,13 +26,107 @@ #define GENERIC_ACCESS (GENERIC_READ | GENERIC_WRITE | \ GENERIC_EXECUTE | GENERIC_ALL) +typedef struct _DIALOG_LIST_ENTRY +{ + LIST_ENTRY Entry; + HWND hWnd; + DLGPROC DlgProc; + LPARAM lParam; +} DIALOG_LIST_ENTRY, *PDIALOG_LIST_ENTRY; + /* GLOBALS ******************************************************************/ -static DLGPROC PreviousWindowProc; -static UINT_PTR IdTimer; +//static UINT_PTR IdTimer; +static LIST_ENTRY DialogListHead; /* FUNCTIONS ****************************************************************/ +VOID +InitDialogListHead(VOID) +{ + InitializeListHead(&DialogListHead); +} + + +static +PDIALOG_LIST_ENTRY +AddDialogListEntry(VOID) +{ + PDIALOG_LIST_ENTRY ListEntry; + + ListEntry = RtlAllocateHeap(RtlGetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(DIALOG_LIST_ENTRY)); + if (ListEntry == NULL) + return NULL; + + TRACE("Add entry %p\n", ListEntry); + + InsertHeadList(&DialogListHead, + &ListEntry->Entry); + + return ListEntry; +} + + +static +VOID +RemoveDialogListEntry(PDIALOG_LIST_ENTRY ListEntry) +{ + TRACE("Remove entry %p\n", ListEntry); + + RemoveEntryList(&ListEntry->Entry); + RtlFreeHeap(RtlGetProcessHeap(), 0, ListEntry); +} + + +static +PDIALOG_LIST_ENTRY +GetDialogListEntry(HWND hwndDlg) +{ + PDIALOG_LIST_ENTRY Current; + PLIST_ENTRY ListEntry; + + ListEntry = DialogListHead.Flink; + while (ListEntry != &DialogListHead) + { + Current = CONTAINING_RECORD(ListEntry, + DIALOG_LIST_ENTRY, + Entry); + if (Current->hWnd == hwndDlg) + { + TRACE("Found entry: %p\n", Current); + return Current; + } + + ListEntry = ListEntry->Flink; + } + + TRACE("Found no entry!\n"); + return NULL; +} + + +HWND +GetTopDialogWindow(VOID) +{ + PDIALOG_LIST_ENTRY Current; + PLIST_ENTRY ListEntry; + + ListEntry = DialogListHead.Flink; + if (ListEntry != &DialogListHead) + { + Current = CONTAINING_RECORD(ListEntry, + DIALOG_LIST_ENTRY, + Entry); + + TRACE("Found entry: %p window %p\n", Current, Current->hWnd); + return Current->hWnd; + } + + TRACE("Found no window\n"); + return NULL; +} + + static INT_PTR CALLBACK @@ -42,6 +136,36 @@ DefaultWlxWindowProc( IN WPARAM wParam, IN LPARAM lParam) { + PDIALOG_LIST_ENTRY ListEntry; + INT_PTR ret; + + if (uMsg == WM_INITDIALOG) + { + ListEntry = (PDIALOG_LIST_ENTRY)lParam; + + TRACE("Set dialog handle: %p\n", hwndDlg); + ListEntry->hWnd = hwndDlg; + lParam = ListEntry->lParam; +// SetTopTimeout(hWnd); + } + else + { + ListEntry = GetDialogListEntry(hwndDlg); + if (ListEntry == NULL) + return FALSE; + } + + if (uMsg == WLX_WM_SAS) + { + EndDialog(hwndDlg, WLX_DLG_SAS); + return 0; + } + + ret = ListEntry->DlgProc(hwndDlg, uMsg, wParam, lParam); + + return ret; + +/* if (uMsg == WM_TIMER && (UINT_PTR)wParam == IdTimer) { EndDialog(hwndDlg, -1); @@ -64,6 +188,7 @@ DefaultWlxWindowProc( { return PreviousWindowProc(hwndDlg, uMsg, wParam, lParam); } +*/ } /* @@ -186,10 +311,7 @@ WlxDialogBox( TRACE("WlxDialogBox()\n"); - if (PreviousWindowProc != NULL) - return -1; - PreviousWindowProc = dlgprc; - return (int)DialogBoxW((HINSTANCE) hInst, lpszTemplate, hwndOwner, DefaultWlxWindowProc); + return (int)WlxDialogBoxParam(hWlx, hInst, lpszTemplate, hwndOwner, dlgprc, 0); } /* @@ -205,14 +327,25 @@ WlxDialogBoxParam( DLGPROC dlgprc, LPARAM dwInitParam) { + PDIALOG_LIST_ENTRY ListEntry; + int ret; + UNREFERENCED_PARAMETER(hWlx); TRACE("WlxDialogBoxParam()\n"); - if (PreviousWindowProc != NULL) + ListEntry = AddDialogListEntry(); + if (ListEntry == NULL) return -1; - PreviousWindowProc = dlgprc; - return (int)DialogBoxParamW(hInst, lpszTemplate, hwndOwner, DefaultWlxWindowProc, dwInitParam); + + ListEntry->DlgProc = dlgprc; + ListEntry->lParam = dwInitParam; + + ret = (int)DialogBoxParamW(hInst, lpszTemplate, hwndOwner, DefaultWlxWindowProc, (LPARAM)ListEntry); + + RemoveDialogListEntry(ListEntry); + + return ret; } /* @@ -231,10 +364,7 @@ WlxDialogBoxIndirect( TRACE("WlxDialogBoxIndirect()\n"); - if (PreviousWindowProc != NULL) - return -1; - PreviousWindowProc = dlgprc; - return (int)DialogBoxIndirectW(hInst, hDialogTemplate, hwndOwner, DefaultWlxWindowProc); + return (int)WlxDialogBoxIndirectParam(hWlx, hInst, hDialogTemplate, hwndOwner, dlgprc, 0); } /* @@ -250,14 +380,25 @@ WlxDialogBoxIndirectParam( DLGPROC dlgprc, LPARAM dwInitParam) { + PDIALOG_LIST_ENTRY ListEntry; + int ret; + UNREFERENCED_PARAMETER(hWlx); TRACE("WlxDialogBoxIndirectParam()\n"); - if (PreviousWindowProc != NULL) + ListEntry = AddDialogListEntry(); + if (ListEntry == NULL) return -1; - PreviousWindowProc = dlgprc; - return (int)DialogBoxIndirectParamW(hInst, hDialogTemplate, hwndOwner, DefaultWlxWindowProc, dwInitParam); + + ListEntry->DlgProc = dlgprc; + ListEntry->lParam = dwInitParam; + + ret = (int)DialogBoxIndirectParamW(hInst, hDialogTemplate, hwndOwner, DefaultWlxWindowProc, (LPARAM)ListEntry); + + RemoveDialogListEntry(ListEntry); + + return ret; } /* @@ -789,7 +930,6 @@ GinaInit( Session->Gina.Version = GinaDllVersion; Session->Gina.UseCtrlAltDelete = FALSE; Session->SuppressStatus = FALSE; - PreviousWindowProc = NULL; TRACE("Calling WlxInitialize(\"%S\")\n", Session->InteractiveWindowStationName); return Session->Gina.Functions.WlxInitialize( diff --git a/boot/bootdata/hivedef.inf b/boot/bootdata/hivedef.inf index 27f1bbb1b67..8868895778e 100644 --- a/boot/bootdata/hivedef.inf +++ b/boot/bootdata/hivedef.inf @@ -54,7 +54,7 @@ HKCU,"Control Panel\Desktop","CoolSwitch",2,"1" HKCU,"Control Panel\Desktop","CoolSwitchColumns",2,"7" HKCU,"Control Panel\Desktop","CoolSwitchRows",2,"3" HKCU,"Control Panel\Desktop","CursorBlinkRate",2,"530" -HKCU,"Control Panel\Desktop","DragFullWindows",2,"0" +HKCU,"Control Panel\Desktop","DragFullWindows",2,"1" HKCU,"Control Panel\Desktop","DragHeight",0x00000000,"4" HKCU,"Control Panel\Desktop","DragWidth",0x00000000,"4" HKCU,"Control Panel\Desktop","PaintDesktopVersion",0x00010001,"0" diff --git a/boot/bootdata/hivesft.inf b/boot/bootdata/hivesft.inf index 33e3bea99af..d862f46d738 100644 --- a/boot/bootdata/hivesft.inf +++ b/boot/bootdata/hivesft.inf @@ -1075,8 +1075,8 @@ HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon","ConsoleShell",0x00 HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon","Shell",0x00020000,"%SystemRoot%\explorer.exe" HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon","Userinit",0x00020000,"%SystemRoot%\system32\userinit.exe" HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon","AutoAdminLogon",0x00000000,"1" -HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon","DefaultUserName",0x00000000,"Administrator" -;HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon","DefaultPassword",0x00000000,"Secret" +HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon","DefaultDomain",0x00000000,"" +HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon","DefaultUserName",0x00000000,"" HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon","DefaultPassword",0x00000000,"" ; Time Zone Servers diff --git a/boot/bootdata/hivesys.inf b/boot/bootdata/hivesys.inf index 745a5905bb7..a1cbb468752 100644 --- a/boot/bootdata/hivesys.inf +++ b/boot/bootdata/hivesys.inf @@ -1831,7 +1831,7 @@ HKLM,"SYSTEM\CurrentControlSet\Services\Themes","FailureActions",0x00000003, \ HKLM,"SYSTEM\CurrentControlSet\Services\Themes","Group",0x00000000,"UIGroup" HKLM,"SYSTEM\CurrentControlSet\Services\Themes","ImagePath",0x00020000,"%SystemRoot%\system32\thmsvc.exe" HKLM,"SYSTEM\CurrentControlSet\Services\Themes","ObjectName",0x00000000,"LocalSystem" -HKLM,"SYSTEM\CurrentControlSet\Services\Themes","Start",0x00010001,0x00000003 +HKLM,"SYSTEM\CurrentControlSet\Services\Themes","Start",0x00010001,0x00000002 HKLM,"SYSTEM\CurrentControlSet\Services\Themes","Type",0x00010001,0x00000020 ; Sound Blaster (NT4) diff --git a/boot/bootdata/packages/reactos.dff.in b/boot/bootdata/packages/reactos.dff.in index 24c990df112..2b8ff15e791 100644 --- a/boot/bootdata/packages/reactos.dff.in +++ b/boot/bootdata/packages/reactos.dff.in @@ -31,6 +31,7 @@ Signature = "$ReactOS$" 15 = Resources 16 = Resources\Themes 17 = system32\wbem +18 = Resources\Themes\Lautus .InfEnd diff --git a/boot/freeldr/freeldr/CMakeLists.txt b/boot/freeldr/freeldr/CMakeLists.txt index d837fd65e09..af8b8949f71 100644 --- a/boot/freeldr/freeldr/CMakeLists.txt +++ b/boot/freeldr/freeldr/CMakeLists.txt @@ -62,7 +62,6 @@ list(APPEND FREELDR_COMMON_SOURCE reactos/registry.c reactos/arcname.c reactos/archwsup.c - reactos/binhive.c ui/directui.c ui/gui.c ui/minitui.c diff --git a/boot/freeldr/freeldr/include/ui.h b/boot/freeldr/freeldr/include/ui.h index b29f41feeeb..d531448d3af 100644 --- a/boot/freeldr/freeldr/include/ui.h +++ b/boot/freeldr/freeldr/include/ui.h @@ -66,7 +66,7 @@ VOID UiDrawCenteredText(ULONG Left, ULONG Top, ULONG Right, ULONG Bottom, PCS VOID UiDrawStatusText(PCSTR StatusText); // Draws text at the very bottom line on the screen VOID UiUpdateDateTime(VOID); // Updates the date and time VOID UiInfoBox(PCSTR MessageText); // Displays a info box on the screen -VOID UiMessageBox(PCSTR MessageText); // Displays a message box on the screen with an ok button +VOID UiMessageBox(PCSTR Format, ...); // Displays a message box on the screen with an ok button VOID UiMessageBoxCritical(PCSTR MessageText); // Displays a message box on the screen with an ok button using no system resources VOID UiDrawProgressBarCenter(ULONG Position, ULONG Range, PCHAR ProgressText); // Draws the progress bar showing nPos percent filled VOID UiDrawProgressBar(ULONG Left, ULONG Top, ULONG Right, ULONG Bottom, ULONG Position, ULONG Range, PCHAR ProgressText); // Draws the progress bar showing nPos percent filled diff --git a/boot/freeldr/freeldr/reactos/binhive.c b/boot/freeldr/freeldr/reactos/binhive.c deleted file mode 100644 index 51cb587d54a..00000000000 --- a/boot/freeldr/freeldr/reactos/binhive.c +++ /dev/null @@ -1,343 +0,0 @@ -/* - * FreeLoader - * - * Copyright (C) 2001 Rex Jolliff - * Copyright (C) 2001 Eric Kohl - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program 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 General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#include -#include -#include - -#define REG_DATA_SIZE_MASK 0x7FFFFFFF -#define REG_DATA_IN_OFFSET 0x80000000 - -DBG_DEFAULT_CHANNEL(REGISTRY); - -/* FUNCTIONS ****************************************************************/ - -static -PVOID -NTAPI -CmpAllocate (SIZE_T Size, BOOLEAN Paged, ULONG Tag) -{ - return FrLdrHeapAllocateEx(FrLdrDefaultHeap, Size, Tag); -} - - -static -VOID -NTAPI -CmpFree (PVOID Ptr, IN ULONG Quota) -{ - FrLdrHeapFreeEx(FrLdrDefaultHeap, Ptr, 0); -} - -static -BOOLEAN -RegImportValue ( - PHHIVE Hive, - PCM_KEY_VALUE ValueCell, - FRLDRHKEY Key) -{ - PVOID DataCell; - PWCHAR wName; - LONG Error; - ULONG DataLength; - ULONG i; - - if (ValueCell->Signature != CM_KEY_VALUE_SIGNATURE) - { - ERR("Invalid key cell!\n"); - return FALSE; - } - - if (ValueCell->Flags & VALUE_COMP_NAME) - { - wName = FrLdrTempAlloc((ValueCell->NameLength + 1) * sizeof(WCHAR), TAG_REG_NAME); - for (i = 0; i < ValueCell->NameLength; i++) - { - wName[i] = ((PCHAR)ValueCell->Name)[i]; - } - wName[ValueCell->NameLength] = 0; - } - else - { - wName = FrLdrTempAlloc(ValueCell->NameLength + sizeof(WCHAR), TAG_REG_NAME); - memcpy(wName, ValueCell->Name, ValueCell->NameLength); - wName[ValueCell->NameLength / sizeof(WCHAR)] = 0; - } - - DataLength = ValueCell->DataLength & REG_DATA_SIZE_MASK; - - TRACE("ValueName: '%S'\n", wName); - TRACE("DataLength: %u\n", DataLength); - - if (DataLength <= sizeof(HCELL_INDEX) && (ValueCell->DataLength & REG_DATA_IN_OFFSET)) - { - Error = RegSetValue(Key, - wName, - ValueCell->Type, - (PCHAR)&ValueCell->Data, - DataLength); - if (Error != ERROR_SUCCESS) - { - ERR("RegSetValue() failed!\n"); - FrLdrTempFree(wName, TAG_REG_NAME); - return FALSE; - } - } - else - { - DataCell = (PVOID)HvGetCell(Hive, ValueCell->Data); - TRACE("DataCell: %x\n", DataCell); - - Error = RegSetValue(Key, - wName, - ValueCell->Type, - DataCell, - DataLength); - - if (Error != ERROR_SUCCESS) - { - ERR("RegSetValue() failed!\n"); - FrLdrTempFree(wName, TAG_REG_NAME); - return FALSE; - } - } - - FrLdrTempFree(wName, TAG_REG_NAME); - - return TRUE; -} - -static -BOOLEAN -RegImportSubKey( - PHHIVE Hive, - PCM_KEY_NODE KeyCell, - FRLDRHKEY ParentKey); - -static -BOOLEAN -RegImportIndexSubKey( - PHHIVE Hive, - PCM_KEY_INDEX IndexCell, - FRLDRHKEY ParentKey) -{ - ULONG i; - - TRACE("IndexCell: %x\n", IndexCell); - - /* Enumerate and add subkeys */ - if ((IndexCell->Signature == CM_KEY_INDEX_ROOT) || - (IndexCell->Signature == CM_KEY_INDEX_LEAF)) - { - for (i = 0; i < IndexCell->Count; i++) - { - PCM_KEY_INDEX SubIndexCell = HvGetCell(Hive, IndexCell->List[i]); - if (!RegImportIndexSubKey(Hive, SubIndexCell, ParentKey)) - return FALSE; - } - } - else if ((IndexCell->Signature == CM_KEY_FAST_LEAF) || - (IndexCell->Signature == CM_KEY_HASH_LEAF)) - { - PCM_KEY_FAST_INDEX HashCell = (PCM_KEY_FAST_INDEX)IndexCell; - for (i = 0; i < HashCell->Count; i++) - { - PCM_KEY_NODE SubKeyCell = HvGetCell(Hive, HashCell->List[i].Cell); - if (!RegImportSubKey(Hive, SubKeyCell, ParentKey)) - return FALSE; - } - } - else - { - ASSERT(FALSE); - } - - return TRUE; -} - - -static -BOOLEAN -RegImportSubKey( - PHHIVE Hive, - PCM_KEY_NODE KeyCell, - FRLDRHKEY ParentKey) -{ - PCM_KEY_INDEX IndexCell; - PVALUE_LIST_CELL ValueListCell; - PCM_KEY_VALUE ValueCell = NULL; - PWCHAR wName; - FRLDRHKEY SubKey; - LONG Error; - ULONG i; - - TRACE("KeyCell: %x\n", KeyCell); - TRACE("KeyCell->Signature: %x\n", KeyCell->Signature); - if (KeyCell->Signature != CM_KEY_NODE_SIGNATURE) - { - ERR("Invalid key cell Signature!\n"); - return FALSE; - } - - if (KeyCell->Flags & KEY_COMP_NAME) - { - wName = FrLdrTempAlloc((KeyCell->NameLength + 1) * sizeof(WCHAR), TAG_REG_NAME); - for (i = 0; i < KeyCell->NameLength; i++) - { - wName[i] = ((PCHAR)KeyCell->Name)[i]; - } - wName[KeyCell->NameLength] = 0; - } - else - { - wName = FrLdrTempAlloc(KeyCell->NameLength + sizeof(WCHAR), TAG_REG_NAME); - memcpy(wName, KeyCell->Name, KeyCell->NameLength); - wName[KeyCell->NameLength / sizeof(WCHAR)] = 0; - } - - TRACE("KeyName: '%S'\n", wName); - - /* Create new sub key */ - Error = RegCreateKey(ParentKey, wName, &SubKey); - FrLdrTempFree(wName, TAG_REG_NAME); - if (Error != ERROR_SUCCESS) - { - ERR("RegCreateKey() failed!\n"); - return FALSE; - } - TRACE("Subkeys: %u\n", KeyCell->SubKeyCounts); - TRACE("Values: %u\n", KeyCell->ValueList.Count); - - /* Enumerate and add values */ - if (KeyCell->ValueList.Count > 0) - { - ValueListCell = (PVALUE_LIST_CELL)HvGetCell(Hive, KeyCell->ValueList.List); - TRACE("ValueListCell: %x\n", ValueListCell); - - for (i = 0; i < KeyCell->ValueList.Count; i++) - { - TRACE("ValueOffset[%d]: %x\n", i, ValueListCell->ValueOffset[i]); - - ValueCell = (PCM_KEY_VALUE) HvGetCell (Hive, ValueListCell->ValueOffset[i]); - - TRACE("ValueCell[%d]: %x\n", i, ValueCell); - - if (!RegImportValue(Hive, ValueCell, SubKey)) - return FALSE; - } - } - - /* Enumerate and add subkeys */ - if (KeyCell->SubKeyCounts[Stable] > 0) - { - IndexCell = HvGetCell (Hive, KeyCell->SubKeyLists[Stable]); - - if (!RegImportIndexSubKey(Hive, IndexCell, SubKey)) - return FALSE; - } - - return TRUE; -} - - -BOOLEAN -RegImportBinaryHive( - PCHAR ChunkBase, - ULONG ChunkSize) -{ - PCM_KEY_NODE KeyCell; - PCM_KEY_FAST_INDEX HashCell; - PCM_KEY_NODE SubKeyCell; - FRLDRHKEY SystemKey; - ULONG i; - LONG Error; - PCMHIVE CmHive; - PHHIVE Hive; - NTSTATUS Status; - - TRACE("RegImportBinaryHive(%x, %u) called\n", ChunkBase, ChunkSize); - - CmHive = CmpAllocate(sizeof(CMHIVE), TRUE, 0); - Status = HvInitialize(&CmHive->Hive, - HINIT_FLAT, - 0, - 0, - ChunkBase, - CmpAllocate, - CmpFree, - NULL, - NULL, - NULL, - NULL, - 1, - NULL); - if (!NT_SUCCESS(Status)) - { - CmpFree(CmHive, 0); - ERR("Invalid hive Signature!\n"); - return FALSE; - } - - Hive = &CmHive->Hive; - KeyCell = (PCM_KEY_NODE)HvGetCell(Hive, Hive->BaseBlock->RootCell); - TRACE("KeyCell: %x\n", KeyCell); - TRACE("KeyCell->Signature: %x\n", KeyCell->Signature); - if (KeyCell->Signature != CM_KEY_NODE_SIGNATURE) - { - ERR("Invalid key cell Signature!\n"); - return FALSE; - } - - TRACE("Subkeys: %u\n", KeyCell->SubKeyCounts); - TRACE("Values: %u\n", KeyCell->ValueList.Count); - - /* Open 'System' key */ - Error = RegOpenKey(NULL, L"\\Registry\\Machine\\SYSTEM", &SystemKey); - if (Error != ERROR_SUCCESS) - { - ERR("Failed to open 'system' key!\n"); - return FALSE; - } - - /* Enumerate and add subkeys */ - if (KeyCell->SubKeyCounts[Stable] > 0) - { - HashCell = (PCM_KEY_FAST_INDEX)HvGetCell(Hive, KeyCell->SubKeyLists[Stable]); - TRACE("HashCell: %x\n", HashCell); - TRACE("SubKeyCounts: %x\n", KeyCell->SubKeyCounts[Stable]); - - for (i = 0; i < KeyCell->SubKeyCounts[Stable]; i++) - { - TRACE("Cell[%d]: %x\n", i, HashCell->List[i].Cell); - - SubKeyCell = (PCM_KEY_NODE)HvGetCell(Hive, HashCell->List[i].Cell); - - TRACE("SubKeyCell[%d]: %x\n", i, SubKeyCell); - - if (!RegImportSubKey(Hive, SubKeyCell, SystemKey)) - return FALSE; - } - } - - return TRUE; -} - -/* EOF */ diff --git a/boot/freeldr/freeldr/reactos/registry.c b/boot/freeldr/freeldr/reactos/registry.c index 75f44cd716b..8126a5c00b6 100644 --- a/boot/freeldr/freeldr/reactos/registry.c +++ b/boot/freeldr/freeldr/reactos/registry.c @@ -1,7 +1,7 @@ /* * FreeLoader * - * Copyright (C) 2001, 2002 Eric Kohl + * Copyright (C) 2014 Timo Kreuzer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -19,53 +19,72 @@ */ #include +#include #include DBG_DEFAULT_CHANNEL(REGISTRY); -static FRLDRHKEY RootKey; +static PCMHIVE CmHive; +static PCM_KEY_NODE RootKeyNode; +static FRLDRHKEY CurrentControlSetKey; + +BOOLEAN +RegImportBinaryHive( + _In_ PCHAR ChunkBase, + _In_ ULONG ChunkSize) +{ + NTSTATUS Status; + TRACE("RegImportBinaryHive(%p, 0x%lx)\n", ChunkBase, ChunkSize); + + /* Allocate and initialize the hive */ + CmHive = FrLdrTempAlloc(sizeof(CMHIVE), 'eviH'); + Status = HvInitialize(&CmHive->Hive, + HINIT_FLAT, + 0, + 0, + ChunkBase, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 1, + NULL); + if (!NT_SUCCESS(Status)) + { + FrLdrTempFree(CmHive, 'eviH'); + ERR("Invalid hive Signature!\n"); + return FALSE; + } + + /* Save the root key node */ + RootKeyNode = HvGetCell(&CmHive->Hive, CmHive->Hive.BaseBlock->RootCell); + + TRACE("RegImportBinaryHive done\n"); + return TRUE; +} VOID -RegInitializeRegistry (VOID) +RegInitializeRegistry(VOID) { - /* Create root key */ - RootKey = FrLdrHeapAlloc(sizeof(KEY), TAG_REG_KEY); - - InitializeListHead(&RootKey->SubKeyList); - InitializeListHead(&RootKey->ValueList); - InitializeListHead(&RootKey->KeyList); - - RootKey->SubKeyCount = 0; - RootKey->ValueCount = 0; - - RootKey->NameSize = 4; - RootKey->Name = FrLdrHeapAlloc(4, TAG_REG_NAME); - wcscpy (RootKey->Name, L"\\"); - - RootKey->DataType = 0; - RootKey->DataSize = 0; - RootKey->Data = NULL; - - /* Create 'SYSTEM' key */ - RegCreateKey (RootKey, - L"Registry\\Machine\\SYSTEM", - NULL); + /* Nothing to do */ } LONG -RegInitCurrentControlSet(BOOLEAN LastKnownGood) +RegInitCurrentControlSet( + _In_ BOOLEAN LastKnownGood) { WCHAR ControlSetKeyName[80]; FRLDRHKEY SelectKey; FRLDRHKEY SystemKey; - FRLDRHKEY ControlSetKey; - FRLDRHKEY LinkKey; ULONG CurrentSet = 0; ULONG DefaultSet = 0; ULONG LastKnownGoodSet = 0; ULONG DataSize; LONG Error; + TRACE("RegInitCurrentControlSet\n"); Error = RegOpenKey(NULL, L"\\Registry\\Machine\\SYSTEM\\Select", @@ -132,627 +151,438 @@ RegInitCurrentControlSet(BOOLEAN LastKnownGood) Error = RegOpenKey(SystemKey, ControlSetKeyName, - &ControlSetKey); + &CurrentControlSetKey); if (Error != ERROR_SUCCESS) { - ERR("RegOpenKey(ControlSetKey) failed (Error %lu)\n", Error); - return Error; - } - - Error = RegCreateKey(SystemKey, - L"CurrentControlSet", - &LinkKey); - if (Error != ERROR_SUCCESS) - { - ERR("RegCreateKey(LinkKey) failed (Error %lu)\n", Error); - return Error; - } - - Error = RegSetValue(LinkKey, - NULL, - REG_LINK, - (PCHAR)&ControlSetKey, - sizeof(PVOID)); - if (Error != ERROR_SUCCESS) - { - ERR("RegSetValue(LinkKey) failed (Error %lu)\n", Error); + ERR("RegOpenKey(CurrentControlSetKey) failed (Error %lu)\n", Error); return Error; } + TRACE("RegInitCurrentControlSet done\n"); return ERROR_SUCCESS; } - -LONG -RegCreateKey(FRLDRHKEY ParentKey, - PCWSTR KeyName, - PFRLDRHKEY Key) +static +BOOLEAN +GetNextPathElement( + _Out_ PUNICODE_STRING NextElement, + _Inout_ PUNICODE_STRING RemainingPath) { - PLIST_ENTRY Ptr; - FRLDRHKEY SearchKey = NULL; - FRLDRHKEY CurrentKey; - FRLDRHKEY NewKey; - PWCHAR p; - PCWSTR name; - SIZE_T subkeyLength; - SIZE_T stringLength; - ULONG NameSize; - int CmpResult; - - TRACE("KeyName '%S'\n", KeyName); - - if (*KeyName == L'\\') + /* Check if there are any characters left */ + if (RemainingPath->Length < sizeof(WCHAR)) { - KeyName++; - CurrentKey = RootKey; - } - else if (ParentKey == NULL) - { - CurrentKey = RootKey; - } - else - { - CurrentKey = ParentKey; + /* Nothing left, bail out early */ + return FALSE; } - /* Check whether current key is a link */ - if (CurrentKey->DataType == REG_LINK) + /* The next path elements starts with the remaining path */ + NextElement->Buffer = RemainingPath->Buffer; + + /* Loop until the path element ends */ + while ((RemainingPath->Length >= sizeof(WCHAR)) && + (RemainingPath->Buffer[0] != '\\')) { - CurrentKey = (FRLDRHKEY)CurrentKey->Data; + /* Skip this character */ + RemainingPath->Buffer++; + RemainingPath->Length -= sizeof(WCHAR); } - while (*KeyName != 0) + NextElement->Length = (RemainingPath->Buffer - NextElement->Buffer) * sizeof(WCHAR); + NextElement->MaximumLength = NextElement->Length; + + /* Check if the path element ended with a path separator */ + if (RemainingPath->Length >= sizeof(WCHAR)) { - TRACE("KeyName '%S'\n", KeyName); + /* Skip the path separator */ + ASSERT(RemainingPath->Buffer[0] == '\\'); + RemainingPath->Buffer++; + RemainingPath->Length -= sizeof(WCHAR); + } - if (*KeyName == L'\\') - KeyName++; - p = wcschr(KeyName, L'\\'); - if ((p != NULL) && (p != KeyName)) + /* Return whether we got any characters */ + return TRUE; +} + +static +PCM_KEY_NODE +RegpFindSubkeyInIndex( + _In_ PHHIVE Hive, + _In_ PCM_KEY_INDEX IndexCell, + _In_ PUNICODE_STRING SubKeyName) +{ + PCM_KEY_NODE SubKeyNode; + ULONG i; + TRACE("RegpFindSubkeyInIndex('%wZ')\n", SubKeyName); + + /* Check the cell type */ + if ((IndexCell->Signature == CM_KEY_INDEX_ROOT) || + (IndexCell->Signature == CM_KEY_INDEX_LEAF)) + { + ASSERT(FALSE); + + /* Enumerate subindex cells */ + for (i = 0; i < IndexCell->Count; i++) { - subkeyLength = p - KeyName; - stringLength = subkeyLength + 1; - name = KeyName; - } - else - { - subkeyLength = wcslen(KeyName); - stringLength = subkeyLength; - name = KeyName; - } - NameSize = (ULONG)((subkeyLength + 1) * sizeof(WCHAR)); + /* Get the subindex cell and call the function recursively */ + PCM_KEY_INDEX SubIndexCell = HvGetCell(Hive, IndexCell->List[i]); - Ptr = CurrentKey->SubKeyList.Flink; - CmpResult = 1; - while (Ptr != &CurrentKey->SubKeyList) - { - TRACE("Ptr 0x%x\n", Ptr); - - SearchKey = CONTAINING_RECORD(Ptr, KEY, KeyList); - TRACE("SearchKey 0x%x\n", SearchKey); - TRACE("Searching '%S'\n", SearchKey->Name); - CmpResult = _wcsnicmp(SearchKey->Name, name, subkeyLength); - - if (CmpResult == 0 && SearchKey->NameSize == NameSize) break; - else if (CmpResult == -1) break; - - Ptr = Ptr->Flink; - } - - if (CmpResult != 0) - { - /* no key found -> create new subkey */ - NewKey = FrLdrHeapAlloc(sizeof(KEY), TAG_REG_KEY); - if (NewKey == NULL) return ERROR_OUTOFMEMORY; - - InitializeListHead(&NewKey->SubKeyList); - InitializeListHead(&NewKey->ValueList); - - NewKey->SubKeyCount = 0; - NewKey->ValueCount = 0; - - NewKey->DataType = 0; - NewKey->DataSize = 0; - NewKey->Data = NULL; - - InsertTailList(Ptr, &NewKey->KeyList); - CurrentKey->SubKeyCount++; - - NewKey->NameSize = NameSize; - NewKey->Name = (PWCHAR)FrLdrHeapAlloc(NewKey->NameSize, TAG_REG_NAME); - if (NewKey->Name == NULL) return ERROR_OUTOFMEMORY; - - memcpy(NewKey->Name, name, NewKey->NameSize - sizeof(WCHAR)); - NewKey->Name[subkeyLength] = 0; - - TRACE("NewKey 0x%x\n", NewKey); - TRACE("NewKey '%S' Length %d\n", NewKey->Name, NewKey->NameSize); - - CurrentKey = NewKey; - } - else - { - CurrentKey = SearchKey; - - /* Check whether current key is a link */ - if (CurrentKey->DataType == REG_LINK) + SubKeyNode = RegpFindSubkeyInIndex(Hive, SubIndexCell, SubKeyName); + if (SubKeyNode != NULL) { - CurrentKey = (FRLDRHKEY)CurrentKey->Data; + return SubKeyNode; } } - - KeyName = KeyName + stringLength; } - - if (Key != NULL) *Key = CurrentKey; - - return ERROR_SUCCESS; -} - - -LONG -RegDeleteKey(FRLDRHKEY Key, - PCWSTR Name) -{ - - if (wcschr(Name, L'\\') != NULL) return ERROR_INVALID_PARAMETER; - - return ERROR_SUCCESS; -} - - -LONG -RegEnumKey(FRLDRHKEY Key, - ULONG Index, - PWCHAR Name, - ULONG* NameSize) -{ - PLIST_ENTRY Ptr; - FRLDRHKEY SearchKey; - ULONG Count = 0; - ULONG Size; - - Ptr = Key->SubKeyList.Flink; - while (Ptr != &Key->SubKeyList) + else if ((IndexCell->Signature == CM_KEY_FAST_LEAF) || + (IndexCell->Signature == CM_KEY_HASH_LEAF)) { - if (Index == Count) break; + /* Directly enumerate subkey nodes */ + PCM_KEY_FAST_INDEX HashCell = (PCM_KEY_FAST_INDEX)IndexCell; + for (i = 0; i < HashCell->Count; i++) + { + SubKeyNode = HvGetCell(Hive, HashCell->List[i].Cell); + ASSERT(SubKeyNode->Signature == CM_KEY_NODE_SIGNATURE); - Count++; - Ptr = Ptr->Flink; - } - - if (Ptr == &Key->SubKeyList) return ERROR_NO_MORE_ITEMS; - - SearchKey = CONTAINING_RECORD(Ptr, KEY, KeyList); - - TRACE("Name '%S' Length %d\n", SearchKey->Name, SearchKey->NameSize); - - Size = min(SearchKey->NameSize, *NameSize); - *NameSize = Size; - memcpy(Name, SearchKey->Name, Size); - - return ERROR_SUCCESS; -} - - -LONG -RegOpenKey(FRLDRHKEY ParentKey, - PCWSTR KeyName, - PFRLDRHKEY Key) -{ - PLIST_ENTRY Ptr; - FRLDRHKEY SearchKey = NULL; - FRLDRHKEY CurrentKey; - PWCHAR p; - PCWSTR name; - SIZE_T subkeyLength; - SIZE_T stringLength; - ULONG NameSize; - - TRACE("KeyName '%S'\n", KeyName); - - *Key = NULL; - - if (*KeyName == L'\\') - { - KeyName++; - CurrentKey = RootKey; - } - else if (ParentKey == NULL) - { - CurrentKey = RootKey; + TRACE(" RegpFindSubkeyInIndex: checking '%.*s'\n", + SubKeyNode->NameLength, SubKeyNode->Name); + if (CmCompareKeyName(SubKeyNode, SubKeyName, TRUE)) + { + return SubKeyNode; + } + } } else { - CurrentKey = ParentKey; + ASSERT(FALSE); } - /* Check whether current key is a link */ - if (CurrentKey->DataType == REG_LINK) + return NULL; +} + +// FIXME: optionally return the subkey node/handle as optimization +LONG +RegEnumKey( + _In_ FRLDRHKEY Key, + _In_ ULONG Index, + _Out_ PWCHAR Name, + _Inout_ ULONG* NameSize) +{ + PHHIVE Hive = &CmHive->Hive; + PCM_KEY_NODE KeyNode, SubKeyNode; + PCM_KEY_INDEX IndexCell; + PCM_KEY_FAST_INDEX HashCell; + TRACE("RegEnumKey(%p, %lu, %p, %p->%u)\n", + Key, Index, Name, NameSize, NameSize ? *NameSize : 0); + + /* Get the key node */ + KeyNode = (PCM_KEY_NODE)Key; + ASSERT(KeyNode->Signature == CM_KEY_NODE_SIGNATURE); + + /* Check if the index is valid */ + if ((KeyNode->SubKeyCounts[Stable] == 0) || + (Index >= KeyNode->SubKeyCounts[Stable])) { - CurrentKey = (FRLDRHKEY)CurrentKey->Data; + TRACE("RegEnumKey index out of bounds\n"); + return ERROR_NO_MORE_ITEMS; } - while (*KeyName != 0) + /* Get the index cell */ + IndexCell = HvGetCell(Hive, KeyNode->SubKeyLists[Stable]); + TRACE("IndexCell: %x, SubKeyCounts: %x\n", IndexCell, KeyNode->SubKeyCounts[Stable]); + + /* Check the cell type */ + if ((IndexCell->Signature == CM_KEY_FAST_LEAF) || + (IndexCell->Signature == CM_KEY_HASH_LEAF)) { - TRACE("KeyName '%S'\n", KeyName); + /* Get the value cell */ + HashCell = (PCM_KEY_FAST_INDEX)IndexCell; + SubKeyNode = HvGetCell(Hive, HashCell->List[Index].Cell); + } + else + { + ASSERT(FALSE); + } - if (*KeyName == L'\\') KeyName++; - p = wcschr(KeyName, L'\\'); - if ((p != NULL) && (p != KeyName)) + *NameSize = CmCopyKeyName(SubKeyNode, Name, *NameSize); + + TRACE("RegEnumKey done -> %u, '%.*s'\n", *NameSize, *NameSize, Name); + return STATUS_SUCCESS; +} + +LONG +RegOpenKey( + _In_ FRLDRHKEY ParentKey, + _In_z_ PCWSTR KeyName, + _Out_ PFRLDRHKEY Key) +{ + UNICODE_STRING RemainingPath, SubKeyName; + UNICODE_STRING CurrentControlSet = RTL_CONSTANT_STRING(L"CurrentControlSet"); + PHHIVE Hive = &CmHive->Hive; + PCM_KEY_NODE KeyNode; + PCM_KEY_INDEX IndexCell; + TRACE("RegOpenKey(%p, '%S', %p)\n", ParentKey, KeyName, Key); + + /* Initialize the remaining path name */ + RtlInitUnicodeString(&RemainingPath, KeyName); + + /* Get the parent key node */ + KeyNode = (PCM_KEY_NODE)ParentKey; + + /* Check if we have a parent key */ + if (KeyNode == NULL) + { + UNICODE_STRING SubKeyName1, SubKeyName2, SubKeyName3; + UNICODE_STRING RegistryPath = RTL_CONSTANT_STRING(L"Registry"); + UNICODE_STRING MachinePath = RTL_CONSTANT_STRING(L"MACHINE"); + UNICODE_STRING SystemPath = RTL_CONSTANT_STRING(L"SYSTEM"); + TRACE("RegOpenKey: absolute path\n"); + + if ((RemainingPath.Length < sizeof(WCHAR)) || + RemainingPath.Buffer[0] != '\\') { - subkeyLength = p - KeyName; - stringLength = subkeyLength + 1; - name = KeyName; - } - else - { - subkeyLength = wcslen(KeyName); - stringLength = subkeyLength; - name = KeyName; - } - NameSize = (ULONG)((subkeyLength + 1) * sizeof(WCHAR)); - - Ptr = CurrentKey->SubKeyList.Flink; - while (Ptr != &CurrentKey->SubKeyList) - { - TRACE("Ptr 0x%x\n", Ptr); - - SearchKey = CONTAINING_RECORD(Ptr, KEY, KeyList); - - TRACE("SearchKey 0x%x\n", SearchKey); - TRACE("Searching '%S'\n", SearchKey->Name); - - if (SearchKey->NameSize == NameSize && - _wcsnicmp(SearchKey->Name, name, subkeyLength) == 0) break; - - Ptr = Ptr->Flink; + /* The key path is not absolute */ + ERR("RegOpenKey: invalid path '%S' (%wZ)\n", KeyName, &RemainingPath); + return ERROR_PATH_NOT_FOUND; } - if (Ptr == &CurrentKey->SubKeyList) + /* Skip initial path separator */ + RemainingPath.Buffer++; + RemainingPath.Length -= sizeof(WCHAR); + + /* Get the first 3 path elements */ + GetNextPathElement(&SubKeyName1, &RemainingPath); + GetNextPathElement(&SubKeyName2, &RemainingPath); + GetNextPathElement(&SubKeyName3, &RemainingPath); + TRACE("RegOpenKey: %wZ / %wZ / %wZ\n", &SubKeyName1, &SubKeyName2, &SubKeyName3); + + /* Check if we have the correct path */ + if (!RtlEqualUnicodeString(&SubKeyName1, &RegistryPath, TRUE) || + !RtlEqualUnicodeString(&SubKeyName2, &MachinePath, TRUE) || + !RtlEqualUnicodeString(&SubKeyName3, &SystemPath, TRUE)) + { + /* The key path is not inside HKLM\Machine\System */ + ERR("RegOpenKey: invalid path '%S' (%wZ)\n", KeyName, &RemainingPath); + return ERROR_PATH_NOT_FOUND; + } + + /* Use the root key */ + KeyNode = RootKeyNode; + } + + ASSERT(KeyNode->Signature == CM_KEY_NODE_SIGNATURE); + + /* Check if this is the root key */ + if (KeyNode == RootKeyNode) + { + UNICODE_STRING TempPath = RemainingPath; + + /* Get the first path element */ + GetNextPathElement(&SubKeyName, &TempPath); + + /* Check if this is CurrentControlSet */ + if (RtlEqualUnicodeString(&SubKeyName, &CurrentControlSet, TRUE)) + { + /* Use the CurrentControlSetKey and update the remaining path */ + KeyNode = (PCM_KEY_NODE)CurrentControlSetKey; + RemainingPath = TempPath; + } + } + + TRACE("RegOpenKey: RemainingPath '%wZ'\n", &RemainingPath); + + /* Loop while there are path elements */ + while (GetNextPathElement(&SubKeyName, &RemainingPath)) + { + TRACE("RegOpenKey: next element '%wZ'\n", &SubKeyName); + + /* Check if there is any subkey */ + if (KeyNode->SubKeyCounts[Stable] == 0) { return ERROR_PATH_NOT_FOUND; } - else + + /* Get the top level index cell */ + IndexCell = HvGetCell(Hive, KeyNode->SubKeyLists[Stable]); + + /* Get the next sub key */ + KeyNode = RegpFindSubkeyInIndex(Hive, IndexCell, &SubKeyName); + if (KeyNode == NULL) { - CurrentKey = SearchKey; - /* Check whether current key is a link */ - if (CurrentKey->DataType == REG_LINK) - { - CurrentKey = (FRLDRHKEY)CurrentKey->Data; - } + ERR("Did not find sub key '%wZ' (full %S)\n", &RemainingPath, KeyName); + return ERROR_PATH_NOT_FOUND; } - - KeyName = KeyName + stringLength; } - if (Key != NULL) - *Key = CurrentKey; - + TRACE("RegOpenKey done\n"); + *Key = (FRLDRHKEY)KeyNode; return ERROR_SUCCESS; } - -LONG -RegSetValue(FRLDRHKEY Key, - PCWSTR ValueName, - ULONG Type, - PCSTR Data, - ULONG DataSize) +static +VOID +RepGetValueData( + _In_ PHHIVE Hive, + _In_ PCM_KEY_VALUE ValueCell, + _Out_opt_ ULONG* Type, + _Out_opt_ PUCHAR Data, + _Inout_opt_ ULONG* DataSize) { - PLIST_ENTRY Ptr; - PVALUE Value = NULL; + ULONG DataLength; - TRACE("Key 0x%p, ValueName '%S', Type %ld, Data 0x%p, DataSize %ld\n", - Key, ValueName, Type, Data, DataSize); - - if ((ValueName == NULL) || (*ValueName == 0)) + /* Does the caller want the type? */ + if (Type != NULL) { - /* set default value */ - if ((Key->Data != NULL) && (Key->DataSize > sizeof(PUCHAR))) - { - FrLdrHeapFree(Key->Data, TAG_REG_KEY_DATA); - } - - if (DataSize <= sizeof(PUCHAR)) - { - Key->DataSize = DataSize; - Key->DataType = Type; - memcpy(&Key->Data, Data, DataSize); - } - else - { - Key->Data = FrLdrHeapAlloc(DataSize, TAG_REG_KEY_DATA); - Key->DataSize = DataSize; - Key->DataType = Type; - memcpy(Key->Data, Data, DataSize); - } + *Type = ValueCell->Type; } - else + + /* Does the caller provide DataSize? */ + if (DataSize != NULL) { - /* set non-default value */ - Ptr = Key->ValueList.Flink; - while (Ptr != &Key->ValueList) + /* Get the data length */ + DataLength = ValueCell->DataLength & REG_DATA_SIZE_MASK; + + /* Does the caller want the data? */ + if ((Data != NULL) && (*DataSize != 0)) { - Value = CONTAINING_RECORD(Ptr, VALUE, ValueList); - - TRACE("Value->Name '%S'\n", Value->Name); - - if (_wcsicmp(Value->Name, ValueName) == 0) break; - - Ptr = Ptr->Flink; - } - - if (Ptr == &Key->ValueList) - { - /* add new value */ - TRACE("No value found - adding new value\n"); - - Value = (PVALUE)FrLdrHeapAlloc(sizeof(VALUE), TAG_REG_VALUE); - if (Value == NULL) return ERROR_OUTOFMEMORY; - - InsertTailList(&Key->ValueList, &Value->ValueList); - Key->ValueCount++; - - Value->NameSize = (ULONG)(wcslen(ValueName)+1) * sizeof(WCHAR); - Value->Name = FrLdrHeapAlloc(Value->NameSize, TAG_REG_NAME); - if (Value->Name == NULL) return ERROR_OUTOFMEMORY; - wcscpy(Value->Name, ValueName); - Value->DataType = REG_NONE; - Value->DataSize = 0; - Value->Data = NULL; - } - - /* set new value */ - if ((Value->Data != NULL) && (Value->DataSize > sizeof(PUCHAR))) - { - FrLdrHeapFree(Value->Data, TAG_REG_KEY_DATA); - } - - if (DataSize <= sizeof(PUCHAR)) - { - Value->DataSize = DataSize; - Value->DataType = Type; - memcpy(&Value->Data, Data, DataSize); - } - else - { - Value->Data = FrLdrHeapAlloc(DataSize, TAG_REG_KEY_DATA); - if (Value->Data == NULL) return ERROR_OUTOFMEMORY; - Value->DataType = Type; - Value->DataSize = DataSize; - memcpy(Value->Data, Data, DataSize); - } - } - return(ERROR_SUCCESS); -} - - -LONG -RegQueryValue(FRLDRHKEY Key, - PCWSTR ValueName, - ULONG* Type, - PUCHAR Data, - ULONG* DataSize) -{ - ULONG Size; - PLIST_ENTRY Ptr; - PVALUE Value = NULL; - - if ((ValueName == NULL) || (*ValueName == 0)) - { - /* query default value */ - if (Key->Data == NULL) return ERROR_INVALID_PARAMETER; - - if (Type != NULL) - *Type = Key->DataType; - if ((Data != NULL) && (DataSize != NULL)) - { - if (Key->DataSize <= sizeof(PUCHAR)) + /* Check where the data is stored */ + if ((DataLength <= sizeof(HCELL_INDEX)) && + (ValueCell->DataLength & REG_DATA_IN_OFFSET)) { - Size = min(Key->DataSize, *DataSize); - memcpy(Data, &Key->Data, Size); - *DataSize = Size; + /* The data member contains the data */ + RtlCopyMemory(Data, + &ValueCell->Data, + min(*DataSize, DataLength)); } else { - Size = min(Key->DataSize, *DataSize); - memcpy(Data, Key->Data, Size); - *DataSize = Size; + /* The data member contains the data cell index */ + PVOID DataCell = HvGetCell(Hive, ValueCell->Data); + RtlCopyMemory(Data, + DataCell, + min(*DataSize, ValueCell->DataLength)); } + } - else if ((Data == NULL) && (DataSize != NULL)) - { - *DataSize = Key->DataSize; - } + + /* Return the actual data length */ + *DataSize = DataLength; } - else +} + +LONG +RegQueryValue( + _In_ FRLDRHKEY Key, + _In_z_ PCWSTR ValueName, + _Out_opt_ ULONG* Type, + _Out_opt_ PUCHAR Data, + _Inout_opt_ ULONG* DataSize) +{ + PHHIVE Hive = &CmHive->Hive; + PCM_KEY_NODE KeyNode; + PCM_KEY_VALUE ValueCell; + PVALUE_LIST_CELL ValueListCell; + UNICODE_STRING ValueNameString; + ULONG i; + TRACE("RegQueryValue(%p, '%S', %p, %p, %p)\n", + Key, ValueName, Type, Data, DataSize); + + /* Get the key node */ + KeyNode = (PCM_KEY_NODE)Key; + ASSERT(KeyNode->Signature == CM_KEY_NODE_SIGNATURE); + + /* Check if there are any values */ + if (KeyNode->ValueList.Count == 0) { - /* query non-default value */ - Ptr = Key->ValueList.Flink; - while (Ptr != &Key->ValueList) + TRACE("RegQueryValue no values in key (%.*s)\n", + KeyNode->NameLength, KeyNode->Name); + return ERROR_INVALID_PARAMETER; + } + + /* Initialize value name string */ + RtlInitUnicodeString(&ValueNameString, ValueName); + + ValueListCell = (PVALUE_LIST_CELL)HvGetCell(Hive, KeyNode->ValueList.List); + TRACE("ValueListCell: %x\n", ValueListCell); + + /* Loop all values */ + for (i = 0; i < KeyNode->ValueList.Count; i++) + { + /* Get the subkey node and check the name */ + ValueCell = HvGetCell(Hive, ValueListCell->ValueOffset[i]); + + /* Compare the value name */ + TRACE("checking %.*s\n", ValueCell->NameLength, ValueCell->Name); + if (CmCompareKeyValueName(ValueCell, &ValueNameString, TRUE)) { - Value = CONTAINING_RECORD(Ptr, VALUE, ValueList); - - TRACE("Searching for '%S'. Value name '%S'\n", ValueName, Value->Name); - - if (_wcsicmp(Value->Name, ValueName) == 0) break; - - Ptr = Ptr->Flink; - } - - if (Ptr == &Key->ValueList) return ERROR_INVALID_PARAMETER; - - if (Type != NULL) *Type = Value->DataType; - if ((Data != NULL) && (DataSize != NULL)) - { - if (Value->DataSize <= sizeof(PUCHAR)) - { - Size = min(Value->DataSize, *DataSize); - memcpy(Data, &Value->Data, Size); - *DataSize = Size; - } - else - { - Size = min(Value->DataSize, *DataSize); - memcpy(Data, Value->Data, Size); - *DataSize = Size; - } - } - else if ((Data == NULL) && (DataSize != NULL)) - { - *DataSize = Value->DataSize; + RepGetValueData(Hive, ValueCell, Type, Data, DataSize); + TRACE("RegQueryValue success\n"); + return STATUS_SUCCESS; } } - return ERROR_SUCCESS; + TRACE("RegQueryValue value not found\n"); + return ERROR_INVALID_PARAMETER; } LONG -RegDeleteValue(FRLDRHKEY Key, - PCWSTR ValueName) +RegEnumValue( + _In_ FRLDRHKEY Key, + _In_ ULONG Index, + _Out_ PWCHAR ValueName, + _Inout_ ULONG* NameSize, + _Out_ ULONG* Type, + _Out_ PUCHAR Data, + _Inout_ ULONG* DataSize) { - PLIST_ENTRY Ptr; - PVALUE Value = NULL; + PHHIVE Hive = &CmHive->Hive; + PCM_KEY_NODE KeyNode; + PCM_KEY_VALUE ValueCell; + PVALUE_LIST_CELL ValueListCell; + TRACE("RegEnumValue(%p, %lu, %S, %p, %p, %p, %p (%lu))\n", + Key, Index, ValueName, NameSize, Type, Data, DataSize, *DataSize); - if ((ValueName == NULL) || (*ValueName == 0)) + /* Get the key node */ + KeyNode = (PCM_KEY_NODE)Key; + ASSERT(KeyNode->Signature == CM_KEY_NODE_SIGNATURE); + + /* Check if the index is valid */ + if ((KeyNode->ValueList.Count == 0) || + (Index >= KeyNode->ValueList.Count)) { - /* delete default value */ - if (Key->Data != NULL) FrLdrHeapFree(Key->Data, TAG_REG_KEY_DATA); - Key->Data = NULL; - Key->DataSize = 0; - Key->DataType = 0; - } - else - { - /* delete non-default value */ - Ptr = Key->ValueList.Flink; - while (Ptr != &Key->ValueList) - { - Value = CONTAINING_RECORD(Ptr, VALUE, ValueList); - if (_wcsicmp(Value->Name, ValueName) == 0) break; - - Ptr = Ptr->Flink; - } - - if (Ptr == &Key->ValueList) return ERROR_INVALID_PARAMETER; - - /* delete value */ - Key->ValueCount--; - if (Value->Name != NULL) FrLdrHeapFree(Value->Name, TAG_REG_NAME); - Value->Name = NULL; - Value->NameSize = 0; - - if (Value->DataSize > sizeof(PUCHAR)) - { - if (Value->Data != NULL) FrLdrHeapFree(Value->Data, TAG_REG_KEY_DATA); - } - Value->Data = NULL; - Value->DataSize = 0; - Value->DataType = 0; - - RemoveEntryList(&Value->ValueList); - FrLdrHeapFree(Value, TAG_REG_VALUE); - } - return ERROR_SUCCESS; -} - - -LONG -RegEnumValue(FRLDRHKEY Key, - ULONG Index, - PWCHAR ValueName, - ULONG* NameSize, - ULONG* Type, - PUCHAR Data, - ULONG* DataSize) -{ - PLIST_ENTRY Ptr; - PVALUE Value; - ULONG Count = 0; - - if (Key->Data != NULL) - { - if (Index > 0) - { - Index--; - } - else - { - /* enumerate default value */ - if (ValueName != NULL) *ValueName = 0; - if (Type != NULL) *Type = Key->DataType; - if (Data != NULL) - { - if (Key->DataSize <= sizeof(PUCHAR)) - { - memcpy(Data, &Key->Data, min(Key->DataSize, *DataSize)); - } - else - { - memcpy(Data, Key->Data, min(Key->DataSize, *DataSize)); - } - } - - if (DataSize != NULL) *DataSize = min(Key->DataSize, *DataSize); - - return ERROR_SUCCESS; - } + ERR("RegEnumValue: index invalid\n"); + return ERROR_NO_MORE_ITEMS; } - Ptr = Key->ValueList.Flink; - while (Ptr != &Key->ValueList) - { - if (Index == Count) break; + ValueListCell = (PVALUE_LIST_CELL)HvGetCell(Hive, KeyNode->ValueList.List); + TRACE("ValueListCell: %x\n", ValueListCell); - Count++; - Ptr = Ptr->Flink; + /* Get the value cell */ + ValueCell = HvGetCell(Hive, ValueListCell->ValueOffset[Index]); + ASSERT(ValueCell != NULL); + + if (NameSize != NULL) + { + *NameSize = CmCopyKeyValueName(ValueCell, ValueName, *NameSize); } - if (Ptr == &Key->ValueList) return ERROR_NO_MORE_ITEMS; + RepGetValueData(Hive, ValueCell, Type, Data, DataSize); - Value = CONTAINING_RECORD(Ptr, VALUE, ValueList); - - /* enumerate non-default value */ - if (ValueName != NULL) + if (DataSize != NULL) { - memcpy(ValueName, Value->Name, min(Value->NameSize, *NameSize)); - } - if (Type != NULL) *Type = Value->DataType; - - if (Data != NULL) - { - if (Value->DataSize <= sizeof(PUCHAR)) + if ((Data != NULL) && (*DataSize != 0)) { - memcpy(Data, &Value->Data, min(Value->DataSize, *DataSize)); - } - else - { - memcpy(Data, Value->Data, min(Value->DataSize, *DataSize)); + RtlCopyMemory(Data, + &ValueCell->Data, + min(*DataSize, ValueCell->DataLength)); } + + *DataSize = ValueCell->DataLength; } - if (DataSize != NULL) *DataSize = min(Value->DataSize, *DataSize); - - return ERROR_SUCCESS; -} - - -ULONG -RegGetSubKeyCount (FRLDRHKEY Key) -{ - return Key->SubKeyCount; -} - - -ULONG -RegGetValueCount (FRLDRHKEY Key) -{ - if (Key->DataSize != 0) return Key->ValueCount + 1; - - return Key->ValueCount; + TRACE("RegEnumValue done\n"); + return STATUS_SUCCESS; } /* EOF */ diff --git a/boot/freeldr/freeldr/ui/ui.c b/boot/freeldr/freeldr/ui/ui.c index 63ea0a6930d..140c1134984 100644 --- a/boot/freeldr/freeldr/ui/ui.c +++ b/boot/freeldr/freeldr/ui/ui.c @@ -344,9 +344,15 @@ VOID UiInfoBox(PCSTR MessageText) UiDrawCenteredText(Left, Top, Right, Bottom, MessageText, ATTR(UiTextColor, UiMenuBgColor)); } -VOID UiMessageBox(PCSTR MessageText) +VOID UiMessageBox(PCSTR Format, ...) { - UiVtbl.MessageBox(MessageText); + CHAR Buffer[256]; + va_list ap; + + va_start(ap, Format); + vsnprintf(Buffer, sizeof(Buffer) - sizeof(CHAR), Format, ap); + UiVtbl.MessageBox(Buffer); + va_end(ap); } VOID UiMessageBoxCritical(PCSTR MessageText) diff --git a/boot/freeldr/freeldr/windows/winldr.c b/boot/freeldr/freeldr/windows/winldr.c index c3661d9b389..c43e2122d58 100644 --- a/boot/freeldr/freeldr/windows/winldr.c +++ b/boot/freeldr/freeldr/windows/winldr.c @@ -325,7 +325,8 @@ WinLdrLoadBootDrivers(PLOADER_PARAMETER_BLOCK LoaderBlock, //FIXME: Maybe remove it from the list and try to continue? if (!Status) { - UiMessageBox("Can't load boot driver!"); + ERR("Can't load boot driver '%wZ'!", &BootDriver->FilePath); + UiMessageBox("Can't load boot driver '%wZ'!", &BootDriver->FilePath); return FALSE; } diff --git a/boot/freeldr/freeldr/windows/wlregistry.c b/boot/freeldr/freeldr/windows/wlregistry.c index bd9e75e40ea..c9b35283da5 100644 --- a/boot/freeldr/freeldr/windows/wlregistry.c +++ b/boot/freeldr/freeldr/windows/wlregistry.c @@ -538,9 +538,9 @@ WinLdrScanRegistry(IN OUT PLIST_ENTRY BootDriverListHead, /* Get the Driver's Name */ ValueSize = sizeof(ServiceName); rc = RegEnumKey(hServiceKey, Index, ServiceName, &ValueSize); - //TRACE_CH(REACTOS, "RegEnumKey(): rc %d\n", (int)rc); + TRACE("RegEnumKey(): rc %d\n", (int)rc); - /* Makre sure it's valid, and check if we're done */ + /* Make sure it's valid, and check if we're done */ if (rc == ERROR_NO_MORE_ITEMS) break; if (rc != ERROR_SUCCESS) @@ -627,7 +627,7 @@ WinLdrScanRegistry(IN OUT PLIST_ENTRY BootDriverListHead, FrLdrHeapFree(GroupNameBuffer, TAG_WLDR_NAME); return; } - //TRACE_CH(REACTOS, "Service %d: '%S'\n", (int)Index, ServiceName); + TRACE("Service %d: '%S'\n", (int)Index, ServiceName); /* open driver Key */ rc = RegOpenKey(hServiceKey, ServiceName, &hDriverKey); diff --git a/cmake/CMakeMacros.cmake b/cmake/CMakeMacros.cmake index 4737656a6d6..f6f4bcbfb2f 100644 --- a/cmake/CMakeMacros.cmake +++ b/cmake/CMakeMacros.cmake @@ -189,6 +189,8 @@ macro(dir_to_num dir var) set(${var} 16) elseif(${dir} STREQUAL reactos/system32/wbem) set(${var} 17) + elseif(${dir} STREQUAL reactos/Resources/Themes/Lautus) + set(${var} 18) else() message(FATAL_ERROR "Wrong destination: ${dir}") endif() diff --git a/cmake/baseaddress.cmake b/cmake/baseaddress.cmake index e4ea958b98f..5d25f132d55 100644 --- a/cmake/baseaddress.cmake +++ b/cmake/baseaddress.cmake @@ -1,267 +1,277 @@ -set(baseaddress_ntdll 0x77f00000) -set(baseaddress_kernel32 0x77d70000) -set(baseaddress_msvcrt 0x77cc0000) -set(baseaddress_advapi32 0x77c10000) -set(baseaddress_gdi32 0x77ba0000) -set(baseaddress_user32 0x77a00000) -set(baseaddress_dhcpcsvc 0x779b0000) -set(baseaddress_dnsapi 0x77960000) -set(baseaddress_icmp 0x77930000) -set(baseaddress_iphlpapi 0x778f0000) -set(baseaddress_ws2_32 0x778b0000) -set(baseaddress_ws2help 0x77880000) -set(baseaddress_shlwapi 0x777e0000) -set(baseaddress_rpcrt4 0x77720000) -set(baseaddress_comctl32 0x775b0000) -set(baseaddress_ole32 0x773c0000) -set(baseaddress_winspool.drv 0x77380000) -set(baseaddress_winmm 0x772e0000) -set(baseaddress_comdlg32 0x771f0000) -set(baseaddress_shell32 0x76500000) -set(baseaddress_lz32 0x764e0000) -set(baseaddress_version 0x764b0000) -set(baseaddress_oleaut32 0x762d0000) -set(baseaddress_setupapi 0x76100000) -set(baseaddress_mpr 0x760c0000) -set(baseaddress_crypt32 0x75fc0000) -set(baseaddress_wininet 0x75f10000) -set(baseaddress_urlmon 0x75e10000) -set(baseaddress_psapi 0x75de0000) -set(baseaddress_imm32 0x75da0000) -set(baseaddress_msvfw32 0x75d60000) -set(baseaddress_dbghelp 0x75cc0000) -set(baseaddress_devmgr 0x75c40000) -set(baseaddress_msacm32 0x75c00000) -set(baseaddress_netapi32 0x75ba0000) -set(baseaddress_powrprof 0x75b70000) -set(baseaddress_secur32 0x75b40000) -set(baseaddress_wintrust 0x75ae0000) -set(baseaddress_avicap32 0x75ab0000) -set(baseaddress_cabinet 0x75a60000) -set(baseaddress_dsound 0x759f0000) -set(baseaddress_glu32 0x758e0000) -set(baseaddress_opengl32 0x72bc0000) -set(baseaddress_riched20 0x75810000) -set(baseaddress_smdll 0x757f0000) -set(baseaddress_userenv 0x757a0000) -set(baseaddress_uxtheme 0x75740000) -set(baseaddress_cryptui 0x756a0000) -set(baseaddress_csrsrv 0x75670000) -set(baseaddress_basesrv 0x75640000) -set(baseaddress_consrv 0x75590000) -set(baseaddress_winsrv 0x75540000) -set(baseaddress_dplayx 0x754e0000) -set(baseaddress_gdiplus 0x75420000) -set(baseaddress_msimg32 0x753f0000) -set(baseaddress_mswsock 0x753c0000) -set(baseaddress_oledlg 0x75370000) -set(baseaddress_rasapi32 0x75340000) -set(baseaddress_rsaenh 0x752e0000) -set(baseaddress_samlib 0x752a0000) -set(baseaddress_sensapi 0x75270000) -set(baseaddress_sfc_os 0x75240000) -set(baseaddress_snmpapi 0x75210000) -set(baseaddress_spoolss 0x751d0000) -set(baseaddress_usp10 0x75160000) -set(baseaddress_acledit 0x75130000) -set(baseaddress_aclui 0x750f0000) -set(baseaddress_activeds 0x750c0000) -set(baseaddress_actxprxy 0x74eb0000) -set(baseaddress_advpack 0x74e70000) -set(baseaddress_amstream 0x74e30000) -set(baseaddress_atl100 0x74df0000) -set(baseaddress_atl 0x74dc0000) -set(baseaddress_authz 0x74d90000) -set(baseaddress_avifil32 0x74d20000) -set(baseaddress_batt 0x74cf0000) -set(baseaddress_bcrypt 0x74cc0000) -set(baseaddress_beepmidi 0x74c90000) -set(baseaddress_browseui 0x74bc0000) -set(baseaddress_cards 0x74b10000) -set(baseaddress_cfgmgr32 0x74ae0000) -set(baseaddress_clusapi 0x74ab0000) -set(baseaddress_comcat 0x74a80000) -set(baseaddress_compstui 0x74a50000) -set(baseaddress_console 0x749d0000) -set(baseaddress_credui 0x74990000) -set(baseaddress_crtdll 0x74930000) -set(baseaddress_cryptdlg 0x74900000) -set(baseaddress_cryptdll 0x748d0000) -set(baseaddress_cryptnet 0x748a0000) -set(baseaddress_d3d8 0x74840000) -set(baseaddress_d3d8thk 0x74820000) -set(baseaddress_d3d9 0x747c0000) -set(baseaddress_d3dx9_24 0x74790000) -set(baseaddress_d3dx9_25 0x74760000) -set(baseaddress_d3dx9_26 0x74730000) -set(baseaddress_d3dx9_27 0x74700000) -set(baseaddress_d3dx9_28 0x746d0000) -set(baseaddress_d3dx9_29 0x746a0000) -set(baseaddress_d3dx9_30 0x74670000) -set(baseaddress_d3dx9_31 0x74640000) -set(baseaddress_d3dx9_32 0x74610000) -set(baseaddress_d3dx9_33 0x745e0000) -set(baseaddress_d3dx9_34 0x745b0000) -set(baseaddress_d3dx9_35 0x74580000) -set(baseaddress_d3dx9_36 0x74520000) -set(baseaddress_d3dx9_37 0x744f0000) -set(baseaddress_d3dx9_38 0x744c0000) -set(baseaddress_d3dx9_39 0x74490000) -set(baseaddress_d3dx9_40 0x74460000) -set(baseaddress_d3dx9_41 0x74430000) -set(baseaddress_d3dx9_42 0x74400000) -set(baseaddress_dciman32 0x743d0000) -set(baseaddress_ddraw 0x74320000) -set(baseaddress_deskadp 0x742f0000) -set(baseaddress_deskmon 0x742c0000) -set(baseaddress_devcpux 0x74290000) -set(baseaddress_devenum 0x74250000) -set(baseaddress_dinput8 0x74220000) -set(baseaddress_dinput 0x741c0000) -set(baseaddress_dmusic 0x74170000) -set(baseaddress_dplay 0x74140000) -set(baseaddress_dwmapi 0x74110000) -set(baseaddress_dxdiagn 0x740e0000) -set(baseaddress_faultrep 0x740b0000) -set(baseaddress_fmifs 0x74090000) -set(baseaddress_fontext 0x74060000) -set(baseaddress_framebuf 0x74040000) -set(baseaddress_framebuf_new 0x74020000) -set(baseaddress_genincdata 0x73ff0000) -set(baseaddress_getuname 0x73fc0000) -set(baseaddress_hid 0x73f90000) -set(baseaddress_hlink 0x73f50000) -set(baseaddress_hnetcfg 0x73f10000) -set(baseaddress_httpapi 0x73ee0000) -set(baseaddress_iccvid 0x73eb0000) -set(baseaddress_ieframe 0x73e20000) -set(baseaddress_iernonce 0x73df0000) -set(baseaddress_imagehlp 0x73dc0000) -set(baseaddress_inetcomm 0x73d60000) -set(baseaddress_inetmib1 0x73d30000) -set(baseaddress_initpki 0x73d00000) -set(baseaddress_input 0x73ca0000) -set(baseaddress_inseng 0x73c70000) -set(baseaddress_iologmsg 0x73c50000) -set(baseaddress_itircl 0x73c20000) -set(baseaddress_itss 0x73be0000) -set(baseaddress_jscript 0x73b20000) -set(baseaddress_kbsdll 0x73af0000) -set(baseaddress_ksuser 0x73ac0000) -set(baseaddress_libjpeg 0x73a20000) -set(baseaddress_libpng 0x739a0000) -set(baseaddress_libtiff 0x738c0000) -set(baseaddress_libxslt 0x73640000) -set(baseaddress_loadperf 0x73610000) -set(baseaddress_localspl 0x735d0000) -set(baseaddress_localui 0x735a0000) -set(baseaddress_lpk 0x73570000) -set(baseaddress_lsasrv 0x73510000) -set(baseaddress_mapi32 0x734d0000) -set(baseaddress_mciavi32 0x73490000) -set(baseaddress_mcicda 0x73460000) -set(baseaddress_mciqtz32 0x73420000) -set(baseaddress_mciseq 0x733f0000) -set(baseaddress_mciwave 0x733c0000) -set(baseaddress_midimap 0x72b90000) -set(baseaddress_mlang 0x72b50000) -set(baseaddress_mmdrv 0x72b20000) -set(baseaddress_modemui 0x72ab0000) -set(baseaddress_mprapi 0x72a80000) -set(baseaddress_msafd 0x72a40000) -set(baseaddress_mscat32 0x72a10000) -set(baseaddress_mscms 0x729e0000) -set(baseaddress_mscoree 0x72990000) -set(baseaddress_msctf 0x72940000) -set(baseaddress_msdmo 0x72910000) -set(baseaddress_msftedit 0x728e0000) -set(baseaddress_msgina 0x72880000) -set(baseaddress_mshtml 0x726a0000) -set(baseaddress_msi 0x72550000) -set(baseaddress_msimtf 0x72520000) -set(baseaddress_msisip 0x724f0000) -set(baseaddress_msports 0x724c0000) -set(baseaddress_msrle32 0x72490000) -set(baseaddress_mssign32 0x72460000) -set(baseaddress_mssip32 0x72430000) -set(baseaddress_mstask 0x723f0000) -set(baseaddress_msv1_0 0x723c0000) -set(baseaddress_msvcrt20 0x722f0000) -set(baseaddress_msvcrt40 0x72220000) -set(baseaddress_msvidc32 0x721f0000) -set(baseaddress_msxml2 0x721c0000) -set(baseaddress_msxml3 0x71eb0000) -set(baseaddress_msxml4 0x71e70000) -set(baseaddress_msxml6 0x71e30000) -set(baseaddress_msxml 0x71e00000) -set(baseaddress_nddeapi 0x71dd0000) -set(baseaddress_netcfgx 0x71d50000) -set(baseaddress_netevent 0x71d30000) -set(baseaddress_netid 0x71ce0000) -set(baseaddress_netshell 0x71c60000) -set(baseaddress_newdev 0x71c00000) -set(baseaddress_notifyhook 0x71bd0000) -set(baseaddress_ntdsapi 0x71ba0000) -set(baseaddress_ntlanman 0x71b70000) -set(baseaddress_ntmarta 0x71b40000) -set(baseaddress_ntprint 0x71b10000) -set(baseaddress_objsel 0x71ae0000) -set(baseaddress_odbc32 0x71aa0000) -set(baseaddress_odbccp32 0x71a70000) -set(baseaddress_oleacc 0x71a40000) -set(baseaddress_olecli32 0x71a10000) -set(baseaddress_olepro32 0x719e0000) -set(baseaddress_olesvr32 0x719b0000) -set(baseaddress_olethk32 0x71980000) -set(baseaddress_pdh 0x71940000) -set(baseaddress_pidgen 0x71910000) -set(baseaddress_printui 0x718e0000) -set(baseaddress_propsys 0x718a0000) -set(baseaddress_pstorec 0x71870000) -set(baseaddress_qedit 0x71830000) -set(baseaddress_qmgr 0x71800000) -set(baseaddress_qmgrprxy 0x717a0000) -set(baseaddress_quartz 0x71640000) -set(baseaddress_query 0x71610000) -set(baseaddress_rasadhlp 0x715e0000) -set(baseaddress_rasdlg 0x71450000) -set(baseaddress_rasman 0x71410000) -set(baseaddress_resutils 0x713e0000) -set(baseaddress_riched32 0x713b0000) -set(baseaddress_rsabase 0x71390000) -set(baseaddress_samsrv 0x71330000) -set(baseaddress_sccbase 0x71300000) -set(baseaddress_schannel 0x712d0000) -set(baseaddress_security 0x712b0000) -set(baseaddress_serialui 0x71280000) -set(baseaddress_sfc 0x71250000) -set(baseaddress_shdoclc 0x71210000) -set(baseaddress_shdocvw 0x711c0000) -set(baseaddress_shfolder 0x711a0000) -set(baseaddress_shimgvw 0x71160000) -set(baseaddress_slayer 0x71130000) -set(baseaddress_slbcsp 0x71100000) -set(baseaddress_sndblst 0x710d0000) -set(baseaddress_softpub 0x710b0000) -set(baseaddress_srclient 0x71080000) -set(baseaddress_sti 0x71040000) -set(baseaddress_sxs 0x71010000) -set(baseaddress_syssetup 0x70f60000) -set(baseaddress_t2embed 0x70f30000) -set(baseaddress_tapi32 0x70ef0000) -set(baseaddress_tapiui 0x70e90000) -set(baseaddress_traffic 0x70e60000) -set(baseaddress_twain_32 0x70e30000) -set(baseaddress_uext2 0x70df0000) -set(baseaddress_ufat 0x70dd0000) -set(baseaddress_ufatx 0x70db0000) -set(baseaddress_unicows 0x70d80000) -set(baseaddress_untfs 0x70d60000) -set(baseaddress_updspapi 0x70d30000) -set(baseaddress_url 0x70d00000) -set(baseaddress_vbscript 0x70c80000) -set(baseaddress_vdmdbg 0x70c50000) -set(baseaddress_windowscodecs 0x70b20000) +set(baseaddress_ntdll 0x77f10000) +set(baseaddress_kernel32 0x77d80000) +set(baseaddress_msvcrt 0x77cd0000) +set(baseaddress_advapi32 0x77c20000) +set(baseaddress_gdi32 0x77bb0000) +set(baseaddress_user32 0x77a20000) +set(baseaddress_dhcpcsvc 0x779d0000) +set(baseaddress_dnsapi 0x77980000) +set(baseaddress_icmp 0x77950000) +set(baseaddress_iphlpapi 0x77910000) +set(baseaddress_ws2_32 0x778d0000) +set(baseaddress_ws2help 0x778a0000) +set(baseaddress_shlwapi 0x77800000) +set(baseaddress_rpcrt4 0x77740000) +set(baseaddress_comctl32 0x775c0000) +set(baseaddress_ole32 0x77400000) +set(baseaddress_winspool.drv 0x773c0000) +set(baseaddress_winmm 0x77320000) +set(baseaddress_comdlg32 0x77230000) +set(baseaddress_shell32 0x76540000) +set(baseaddress_lz32 0x76520000) +set(baseaddress_version 0x764f0000) +set(baseaddress_oleaut32 0x76340000) +set(baseaddress_setupapi 0x76170000) +set(baseaddress_mpr 0x76130000) +set(baseaddress_crypt32 0x76030000) +set(baseaddress_wininet 0x75f80000) +set(baseaddress_urlmon 0x75e90000) +set(baseaddress_psapi 0x75e60000) +set(baseaddress_imm32 0x75e20000) +set(baseaddress_msvfw32 0x75de0000) +set(baseaddress_dbghelp 0x75d30000) +set(baseaddress_devmgr 0x75cb0000) +set(baseaddress_msacm32 0x75c70000) +set(baseaddress_netapi32 0x75c00000) +set(baseaddress_powrprof 0x75bd0000) +set(baseaddress_secur32 0x75ba0000) +set(baseaddress_wintrust 0x75b40000) +set(baseaddress_avicap32 0x75b10000) +set(baseaddress_cabinet 0x75ac0000) +set(baseaddress_dsound 0x75a50000) +set(baseaddress_glu32 0x75950000) +set(baseaddress_opengl32 0x75720000) +set(baseaddress_riched20 0x75690000) +set(baseaddress_smdll 0x75670000) +set(baseaddress_userenv 0x75620000) +set(baseaddress_uxtheme 0x755c0000) +set(baseaddress_cryptui 0x75520000) +set(baseaddress_csrsrv 0x754f0000) +set(baseaddress_basesrv 0x754c0000) +set(baseaddress_consrv 0x754a0000) +set(baseaddress_winsrv 0x753e0000) +set(baseaddress_dplayx 0x75370000) +set(baseaddress_gdiplus 0x752b0000) +set(baseaddress_msimg32 0x75280000) +set(baseaddress_mswsock 0x75250000) +set(baseaddress_oledlg 0x75200000) +set(baseaddress_rasapi32 0x751d0000) +set(baseaddress_rsaenh 0x75160000) +set(baseaddress_samlib 0x75120000) +set(baseaddress_sensapi 0x750f0000) +set(baseaddress_sfc_os 0x750c0000) +set(baseaddress_snmpapi 0x75090000) +set(baseaddress_spoolss 0x75060000) +set(baseaddress_usp10 0x74ff0000) +set(baseaddress_acledit 0x74fc0000) +set(baseaddress_aclui 0x74f80000) +set(baseaddress_activeds 0x74f50000) +set(baseaddress_actxprxy 0x74da0000) +set(baseaddress_advpack 0x74d60000) +set(baseaddress_amstream 0x74d10000) +set(baseaddress_atl100 0x74cd0000) +set(baseaddress_atl80 0x74ca0000) +set(baseaddress_atl 0x74c70000) +set(baseaddress_authz 0x74c40000) +set(baseaddress_avifil32 0x74bd0000) +set(baseaddress_batt 0x74ba0000) +set(baseaddress_bcrypt 0x74b70000) +set(baseaddress_beepmidi 0x74b40000) +set(baseaddress_browseui 0x74a70000) +set(baseaddress_cards 0x749c0000) +set(baseaddress_cfgmgr32 0x74990000) +set(baseaddress_clusapi 0x74960000) +set(baseaddress_comcat 0x74930000) +set(baseaddress_compstui 0x74900000) +set(baseaddress_console 0x74880000) +set(baseaddress_credui 0x74840000) +set(baseaddress_crtdll 0x747e0000) +set(baseaddress_cryptdlg 0x747b0000) +set(baseaddress_cryptdll 0x74780000) +set(baseaddress_cryptnet 0x74750000) +set(baseaddress_d3d8 0x746f0000) +set(baseaddress_d3d8thk 0x746d0000) +set(baseaddress_d3d9 0x74670000) +set(baseaddress_d3dcompiler_43 0x745c0000) +set(baseaddress_d3dx9_24 0x74590000) +set(baseaddress_d3dx9_25 0x74560000) +set(baseaddress_d3dx9_26 0x74530000) +set(baseaddress_d3dx9_27 0x74500000) +set(baseaddress_d3dx9_28 0x744d0000) +set(baseaddress_d3dx9_29 0x744a0000) +set(baseaddress_d3dx9_30 0x74470000) +set(baseaddress_d3dx9_31 0x74440000) +set(baseaddress_d3dx9_32 0x74410000) +set(baseaddress_d3dx9_33 0x743e0000) +set(baseaddress_d3dx9_34 0x743b0000) +set(baseaddress_d3dx9_35 0x74380000) +set(baseaddress_d3dx9_36 0x742b0000) +set(baseaddress_d3dx9_37 0x74280000) +set(baseaddress_d3dx9_38 0x74250000) +set(baseaddress_d3dx9_39 0x74220000) +set(baseaddress_d3dx9_40 0x741f0000) +set(baseaddress_d3dx9_41 0x741c0000) +set(baseaddress_d3dx9_42 0x74190000) +set(baseaddress_d3dx9_43 0x74160000) +set(baseaddress_d3dxof 0x74110000) +set(baseaddress_dciman32 0x740e0000) +set(baseaddress_ddraw 0x74030000) +set(baseaddress_deskadp 0x74000000) +set(baseaddress_deskmon 0x73fd0000) +set(baseaddress_devcpux 0x73fa0000) +set(baseaddress_devenum 0x73f50000) +set(baseaddress_dinput8 0x73f20000) +set(baseaddress_dinput 0x73ec0000) +set(baseaddress_dmusic 0x73e70000) +set(baseaddress_dplay 0x73e40000) +set(baseaddress_dwmapi 0x73e10000) +set(baseaddress_dxdiagn 0x73dc0000) +set(baseaddress_dxgi 0x73d80000) +set(baseaddress_faultrep 0x73d50000) +set(baseaddress_fmifs 0x73d30000) +set(baseaddress_fontext 0x73d00000) +set(baseaddress_framebuf 0x73ce0000) +set(baseaddress_framebuf_new 0x73cc0000) +set(baseaddress_framedyn 0x73c80000) +set(baseaddress_genincdata 0x73c50000) +set(baseaddress_getuname 0x73ae0000) +set(baseaddress_hid 0x73ab0000) +set(baseaddress_hlink 0x73a70000) +set(baseaddress_hnetcfg 0x73a30000) +set(baseaddress_httpapi 0x73a00000) +set(baseaddress_iccvid 0x739d0000) +set(baseaddress_ieframe 0x73930000) +set(baseaddress_iernonce 0x73900000) +set(baseaddress_imagehlp 0x738d0000) +set(baseaddress_inetcomm 0x73870000) +set(baseaddress_inetmib1 0x73840000) +set(baseaddress_initpki 0x73810000) +set(baseaddress_input 0x737b0000) +set(baseaddress_inseng 0x73780000) +set(baseaddress_iologmsg 0x73760000) +set(baseaddress_itircl 0x73730000) +set(baseaddress_itss 0x736f0000) +set(baseaddress_jscript 0x73600000) +set(baseaddress_kbsdll 0x735d0000) +set(baseaddress_ksuser 0x735a0000) +set(baseaddress_libjpeg 0x73510000) +set(baseaddress_libpng 0x73490000) +set(baseaddress_libtiff 0x733a0000) +set(baseaddress_libxslt 0x730f0000) +set(baseaddress_loadperf 0x730c0000) +set(baseaddress_localspl 0x73080000) +set(baseaddress_localui 0x73050000) +set(baseaddress_lpk 0x73020000) +set(baseaddress_lsasrv 0x72fc0000) +set(baseaddress_mapi32 0x72f80000) +set(baseaddress_mciavi32 0x72f40000) +set(baseaddress_mcicda 0x72f10000) +set(baseaddress_mciqtz32 0x72ed0000) +set(baseaddress_mciseq 0x72ea0000) +set(baseaddress_mciwave 0x72e70000) +set(baseaddress_midimap 0x72e40000) +set(baseaddress_mlang 0x72e00000) +set(baseaddress_mmdevapi 0x72dc0000) +set(baseaddress_mmdrv 0x72d90000) +set(baseaddress_modemui 0x72d20000) +set(baseaddress_mprapi 0x72cf0000) +set(baseaddress_msafd 0x72cb0000) +set(baseaddress_mscat32 0x72c80000) +set(baseaddress_mscms 0x72c50000) +set(baseaddress_mscoree 0x72c00000) +set(baseaddress_msctf 0x72bb0000) +set(baseaddress_msdmo 0x72b80000) +set(baseaddress_msftedit 0x72b50000) +set(baseaddress_msgina 0x72ae0000) +set(baseaddress_mshtml 0x72910000) +set(baseaddress_msi 0x727b0000) +set(baseaddress_msimtf 0x72780000) +set(baseaddress_msisip 0x72750000) +set(baseaddress_msports 0x72720000) +set(baseaddress_msrle32 0x726e0000) +set(baseaddress_mssign32 0x726b0000) +set(baseaddress_mssip32 0x72680000) +set(baseaddress_mstask 0x72650000) +set(baseaddress_msv1_0 0x72620000) +set(baseaddress_msvcrt20 0x72560000) +set(baseaddress_msvcrt40 0x724a0000) +set(baseaddress_msvidc32 0x72470000) +set(baseaddress_msxml2 0x72440000) +set(baseaddress_msxml3 0x72110000) +set(baseaddress_msxml4 0x720d0000) +set(baseaddress_msxml6 0x72090000) +set(baseaddress_msxml 0x72060000) +set(baseaddress_nddeapi 0x72030000) +set(baseaddress_netcfgx 0x71fa0000) +set(baseaddress_netevent 0x71f80000) +set(baseaddress_netid 0x71f30000) +set(baseaddress_netshell 0x71ea0000) +set(baseaddress_newdev 0x71e40000) +set(baseaddress_notifyhook 0x71e10000) +set(baseaddress_ntdsapi 0x71de0000) +set(baseaddress_ntlanman 0x71db0000) +set(baseaddress_ntmarta 0x71d80000) +set(baseaddress_ntprint 0x71d50000) +set(baseaddress_objsel 0x71d20000) +set(baseaddress_odbc32 0x71ce0000) +set(baseaddress_odbccp32 0x71cb0000) +set(baseaddress_oleacc 0x71c80000) +set(baseaddress_olecli32 0x71c50000) +set(baseaddress_olepro32 0x71c20000) +set(baseaddress_olesvr32 0x71bf0000) +set(baseaddress_olethk32 0x71bc0000) +set(baseaddress_pdh 0x71b80000) +set(baseaddress_pidgen 0x71b50000) +set(baseaddress_printui 0x71b20000) +set(baseaddress_propsys 0x71ae0000) +set(baseaddress_pstorec 0x71ab0000) +set(baseaddress_qedit 0x71a60000) +set(baseaddress_qmgr 0x71a20000) +set(baseaddress_qmgrprxy 0x719d0000) +set(baseaddress_quartz 0x71860000) +set(baseaddress_query 0x71830000) +set(baseaddress_rasadhlp 0x71800000) +set(baseaddress_rasdlg 0x71670000) +set(baseaddress_rasman 0x71640000) +set(baseaddress_resutils 0x71610000) +set(baseaddress_riched32 0x715e0000) +set(baseaddress_rsabase 0x715c0000) +set(baseaddress_samsrv 0x71550000) +set(baseaddress_sccbase 0x71520000) +set(baseaddress_schannel 0x714f0000) +set(baseaddress_scrrun 0x714b0000) +set(baseaddress_security 0x71490000) +set(baseaddress_serialui 0x71460000) +set(baseaddress_sfc 0x71430000) +set(baseaddress_shdoclc 0x713f0000) +set(baseaddress_shdocvw 0x713a0000) +set(baseaddress_shfolder 0x71380000) +set(baseaddress_shimgvw 0x71340000) +set(baseaddress_slayer 0x71310000) +set(baseaddress_slbcsp 0x712e0000) +set(baseaddress_sndblst 0x712b0000) +set(baseaddress_softpub 0x71290000) +set(baseaddress_srclient 0x71260000) +set(baseaddress_sti 0x71220000) +set(baseaddress_sxs 0x711f0000) +set(baseaddress_syssetup 0x71140000) +set(baseaddress_t2embed 0x71110000) +set(baseaddress_tapi32 0x710d0000) +set(baseaddress_tapiui 0x71070000) +set(baseaddress_traffic 0x71040000) +set(baseaddress_twain_32 0x71010000) +set(baseaddress_uext2 0x70fd0000) +set(baseaddress_ufat 0x70fa0000) +set(baseaddress_ufatx 0x70f70000) +set(baseaddress_untfs 0x70f10000) +set(baseaddress_updspapi 0x70ee0000) +set(baseaddress_url 0x70eb0000) +set(baseaddress_vbscript 0x70e30000) +set(baseaddress_vdmdbg 0x70e00000) +set(baseaddress_wbemdisp 0x70cd0000) +set(baseaddress_wbemprox 0x70c70000) +set(baseaddress_windowscodecs 0x70b60000) +set(baseaddress_windowscodecsext 0x70b30000) set(baseaddress_wined3d 0x70960000) set(baseaddress_winfax 0x70930000) set(baseaddress_wing32 0x70900000) @@ -288,23 +298,23 @@ set(baseaddress_desk 0x703d0000) set(baseaddress_hdwwiz 0x70340000) set(baseaddress_hhctrl 0x702f0000) set(baseaddress_imaadp32.acm 0x702c0000) -set(baseaddress_inetcpl 0x70280000) -set(baseaddress_intl 0x70220000) -set(baseaddress_joy 0x701e0000) -set(baseaddress_main 0x70130000) -set(baseaddress_mmsys 0x70030000) -set(baseaddress_msacm32.drv 0x70000000) -set(baseaddress_msadp32.acm 0x6ffd0000) -set(baseaddress_msg711.acm 0x6ffa0000) -set(baseaddress_msgsm32.acm 0x6ff70000) -set(baseaddress_msisys 0x6ff40000) -set(baseaddress_ncpa 0x6ff10000) -set(baseaddress_odbccp32i 0x6fee0000) -set(baseaddress_powercfg 0x6fe80000) -set(baseaddress_sysdm 0x6fdb0000) -set(baseaddress_telephon 0x6fd80000) -set(baseaddress_timedate 0x6fd20000) -set(baseaddress_usrmgr 0x6fcc0000) -set(baseaddress_wdmaud.drv 0x6fb00000) -set(baseaddress_wined3dcfg 0x6fad0000) -set(baseaddress_winemp3.acm 0x6fa50000) +set(baseaddress_inetcpl 0x70260000) +set(baseaddress_intl 0x70200000) +set(baseaddress_joy 0x701c0000) +set(baseaddress_main 0x70110000) +set(baseaddress_mmsys 0x70010000) +set(baseaddress_msacm32.drv 0x6ffe0000) +set(baseaddress_msadp32.acm 0x6ffb0000) +set(baseaddress_msg711.acm 0x6ff80000) +set(baseaddress_msgsm32.acm 0x6ff50000) +set(baseaddress_msisys 0x6ff20000) +set(baseaddress_ncpa 0x6fef0000) +set(baseaddress_odbccp32i 0x6fec0000) +set(baseaddress_powercfg 0x6fe50000) +set(baseaddress_sysdm 0x6fd80000) +set(baseaddress_telephon 0x6fd50000) +set(baseaddress_timedate 0x6fcf0000) +set(baseaddress_usrmgr 0x6fc90000) +set(baseaddress_wdmaud.drv 0x6fad0000) +set(baseaddress_wined3dcfg 0x6faa0000) +set(baseaddress_winemp3.acm 0x6fa20000) diff --git a/cmake/msvc.cmake b/cmake/msvc.cmake index 23b32bb3475..6e789698986 100644 --- a/cmake/msvc.cmake +++ b/cmake/msvc.cmake @@ -33,11 +33,16 @@ if(MSVC_VERSION GREATER 1799 AND NOT MSVC_IDE) add_compile_flags("/FS") endif () -# C++ exception specification ignored... yeah we don't care +# Disable overly sensitive warnings as well as those that generally aren't +# useful to us. +# - TODO: C4018: signed/unsigned mismatch +# - TODO: C4244: integer truncation +# - C4290: C++ exception specification ignored +#add_compile_flags("/wd4018 /wd4244 /wd4290") add_compile_flags("/wd4290") # The following warnings are treated as errors: -# - TODO: C4013: implicit function declaration +# - C4013: implicit function declaration # - C4022: pointer type mismatch for parameter # - TODO: C4028: formal parameter different from declaration # - C4047: different level of indirection @@ -49,7 +54,7 @@ add_compile_flags("/wd4290") # - TODO: C4133: incompatible types # - C4229: modifiers on data are ignored # - C4700: uninitialized variable usage -add_compile_flags("/we4022 /we4047 /we4098 /we4113 /we4129 /we4229 /we4700") +add_compile_flags("/we4013 /we4022 /we4047 /we4098 /we4113 /we4129 /we4229 /we4700") # Enable warnings above the default level, but don't treat them as errors: # - C4115: named type definition in parentheses @@ -125,14 +130,10 @@ function(set_entrypoint _module _entrypoint) endfunction() function(set_subsystem MODULE SUBSYSTEM) - if(NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 17) - if(ARCH STREQUAL "amd64") - add_target_link_flags(${MODULE} "/SUBSYSTEM:${SUBSYSTEM},5.02") - else() - add_target_link_flags(${MODULE} "/SUBSYSTEM:${SUBSYSTEM},5.01") - endif() + if(ARCH STREQUAL "amd64") + add_target_link_flags(${MODULE} "/SUBSYSTEM:${SUBSYSTEM},5.02") else() - add_target_link_flags(${MODULE} "/SUBSYSTEM:${SUBSYSTEM}") + add_target_link_flags(${MODULE} "/SUBSYSTEM:${SUBSYSTEM},5.01") endif() endfunction() diff --git a/dll/3rdparty/libxslt/attributes.c b/dll/3rdparty/libxslt/attributes.c index 2fa86e3c963..4ce2ea58a06 100644 --- a/dll/3rdparty/libxslt/attributes.c +++ b/dll/3rdparty/libxslt/attributes.c @@ -9,45 +9,7 @@ * daniel@veillard.com */ -#define IN_LIBXSLT -#include "libxslt.h" - -#include - -#ifdef HAVE_SYS_TYPES_H -#include -#endif -#ifdef HAVE_MATH_H -#include -#endif -#ifdef HAVE_FLOAT_H -#include -#endif -#ifdef HAVE_IEEEFP_H -#include -#endif -#ifdef HAVE_NAN_H -#include -#endif -#ifdef HAVE_CTYPE_H -#include -#endif - -#include -#include -#include -#include -#include -#include -#include "xslt.h" -#include "xsltInternals.h" -#include "xsltutils.h" -#include "attributes.h" -#include "namespaces.h" -#include "templates.h" -#include "imports.h" -#include "transform.h" -#include "preproc.h" +#include "precomp.h" #define WITH_XSLT_DEBUG_ATTRIBUTES #ifdef WITH_XSLT_DEBUG diff --git a/dll/3rdparty/libxslt/attrvt.c b/dll/3rdparty/libxslt/attrvt.c index 125159cedf3..a23b62a15f9 100644 --- a/dll/3rdparty/libxslt/attrvt.c +++ b/dll/3rdparty/libxslt/attrvt.c @@ -13,19 +13,7 @@ * daniel@veillard.com */ -#define IN_LIBXSLT -#include "libxslt.h" - -#include - -#include -#include -#include -#include -#include "xslt.h" -#include "xsltutils.h" -#include "xsltInternals.h" -#include "templates.h" +#include "precomp.h" #ifdef WITH_XSLT_DEBUG #define WITH_XSLT_DEBUG_AVT diff --git a/dll/3rdparty/libxslt/config.h b/dll/3rdparty/libxslt/config.h index 78375947a4d..33bd0c15a47 100644 --- a/dll/3rdparty/libxslt/config.h +++ b/dll/3rdparty/libxslt/config.h @@ -1 +1,3 @@ +#pragma once + #include diff --git a/dll/3rdparty/libxslt/documents.c b/dll/3rdparty/libxslt/documents.c index 3f3a7312ca8..4f4bb5d76ae 100644 --- a/dll/3rdparty/libxslt/documents.c +++ b/dll/3rdparty/libxslt/documents.c @@ -6,24 +6,7 @@ * daniel@veillard.com */ -#define IN_LIBXSLT -#include "libxslt.h" - -#include - -#include -#include -#include -#include -#include -#include "xslt.h" -#include "xsltInternals.h" -#include "xsltutils.h" -#include "documents.h" -#include "transform.h" -#include "imports.h" -#include "keys.h" -#include "security.h" +#include "precomp.h" #ifdef LIBXML_XINCLUDE_ENABLED #include diff --git a/dll/3rdparty/libxslt/extensions.c b/dll/3rdparty/libxslt/extensions.c index 30c3368def2..5235fea4a12 100644 --- a/dll/3rdparty/libxslt/extensions.c +++ b/dll/3rdparty/libxslt/extensions.c @@ -9,31 +9,14 @@ * daniel@veillard.com */ -#define IN_LIBXSLT -#include "libxslt.h" +#include "precomp.h" -#include -#include - -#include -#include -#include -#include -#include -#include #ifdef WITH_MODULES #include #endif #include -#include -#include "xslt.h" -#include "xsltInternals.h" -#include "xsltutils.h" -#include "imports.h" -#include "extensions.h" #ifdef _WIN32 -#include /* for _MAX_PATH */ #ifndef PATH_MAX #define PATH_MAX _MAX_PATH #endif diff --git a/dll/3rdparty/libxslt/extra.c b/dll/3rdparty/libxslt/extra.c index 17df4baef77..bfcd953422a 100644 --- a/dll/3rdparty/libxslt/extra.c +++ b/dll/3rdparty/libxslt/extra.c @@ -10,30 +10,7 @@ * daniel@veillard.com */ -#define IN_LIBXSLT -#include "libxslt.h" - -#include -#ifdef HAVE_TIME_H -#include -#endif -#ifdef HAVE_STDLIB_H -#include -#endif - -#include -#include -#include -#include -#include -#include "xslt.h" -#include "xsltInternals.h" -#include "xsltutils.h" -#include "extensions.h" -#include "variables.h" -#include "transform.h" -#include "extra.h" -#include "preproc.h" +#include "precomp.h" #ifdef WITH_XSLT_DEBUG #define WITH_XSLT_DEBUG_EXTRA diff --git a/dll/3rdparty/libxslt/functions.c b/dll/3rdparty/libxslt/functions.c index dc61994572e..6e3238023f1 100644 --- a/dll/3rdparty/libxslt/functions.c +++ b/dll/3rdparty/libxslt/functions.c @@ -10,37 +10,9 @@ * Bjorn Reese for number formatting */ -#define IN_LIBXSLT -#include "libxslt.h" +#include "precomp.h" -#include - -#ifdef HAVE_SYS_TYPES_H -#include -#endif -#ifdef HAVE_CTYPE_H -#include -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include "xslt.h" -#include "xsltInternals.h" -#include "xsltutils.h" -#include "functions.h" -#include "extensions.h" -#include "numbersInternals.h" -#include "keys.h" -#include "documents.h" #ifdef WITH_XSLT_DEBUG #define WITH_XSLT_DEBUG_FUNCTION diff --git a/dll/3rdparty/libxslt/imports.c b/dll/3rdparty/libxslt/imports.c index 9277b4f64fd..3d254b72da2 100644 --- a/dll/3rdparty/libxslt/imports.c +++ b/dll/3rdparty/libxslt/imports.c @@ -9,44 +9,7 @@ * daniel@veillard.com */ -#define IN_LIBXSLT -#include "libxslt.h" - -#include - -#ifdef HAVE_SYS_TYPES_H -#include -#endif -#ifdef HAVE_MATH_H -#include -#endif -#ifdef HAVE_FLOAT_H -#include -#endif -#ifdef HAVE_IEEEFP_H -#include -#endif -#ifdef HAVE_NAN_H -#include -#endif -#ifdef HAVE_CTYPE_H -#include -#endif - -#include -#include -#include -#include -#include -#include "xslt.h" -#include "xsltInternals.h" -#include "xsltutils.h" -#include "preproc.h" -#include "imports.h" -#include "documents.h" -#include "security.h" -#include "pattern.h" - +#include "precomp.h" /************************************************************************ * * diff --git a/dll/3rdparty/libxslt/keys.c b/dll/3rdparty/libxslt/keys.c index b8f14556c4a..dc1ab6dfc67 100644 --- a/dll/3rdparty/libxslt/keys.c +++ b/dll/3rdparty/libxslt/keys.c @@ -9,25 +9,7 @@ * daniel@veillard.com */ -#define IN_LIBXSLT -#include "libxslt.h" - -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include "xslt.h" -#include "xsltInternals.h" -#include "xsltutils.h" -#include "imports.h" -#include "templates.h" -#include "keys.h" +#include "precomp.h" #ifdef WITH_XSLT_DEBUG #define WITH_XSLT_DEBUG_KEYS diff --git a/dll/3rdparty/libxslt/namespaces.c b/dll/3rdparty/libxslt/namespaces.c index b3c9972c312..8d265c0aa7f 100644 --- a/dll/3rdparty/libxslt/namespaces.c +++ b/dll/3rdparty/libxslt/namespaces.c @@ -9,45 +9,7 @@ * daniel@veillard.com */ -#define IN_LIBXSLT -#include "libxslt.h" - -#include - -#ifdef HAVE_SYS_TYPES_H -#include -#endif -#ifdef HAVE_MATH_H -#include -#endif -#ifdef HAVE_FLOAT_H -#include -#endif -#ifdef HAVE_IEEEFP_H -#include -#endif -#ifdef HAVE_NAN_H -#include -#endif -#ifdef HAVE_CTYPE_H -#include -#endif -#ifndef XSLT_NEED_TRIO -#include -#else -#include -#endif - -#include -#include -#include -#include -#include -#include "xslt.h" -#include "xsltInternals.h" -#include "xsltutils.h" -#include "namespaces.h" -#include "imports.h" +#include "precomp.h" /************************************************************************ * * diff --git a/dll/3rdparty/libxslt/numbers.c b/dll/3rdparty/libxslt/numbers.c index 9cd1cf30591..55bea60f088 100644 --- a/dll/3rdparty/libxslt/numbers.c +++ b/dll/3rdparty/libxslt/numbers.c @@ -10,24 +10,7 @@ * Bjorn Reese */ -#define IN_LIBXSLT -#include "libxslt.h" - -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include "xsltutils.h" -#include "pattern.h" -#include "templates.h" -#include "transform.h" -#include "numbersInternals.h" +#include "precomp.h" #ifndef FALSE # define FALSE (0 == 1) diff --git a/dll/3rdparty/libxslt/pattern.c b/dll/3rdparty/libxslt/pattern.c index 63ec25a31b7..1a1ac3d280f 100644 --- a/dll/3rdparty/libxslt/pattern.c +++ b/dll/3rdparty/libxslt/pattern.c @@ -14,26 +14,7 @@ * TODO: detect [number] at compilation, optimize accordingly */ -#define IN_LIBXSLT -#include "libxslt.h" - -#include - -#include -#include -#include -#include -#include -#include -#include -#include "xslt.h" -#include "xsltInternals.h" -#include "xsltutils.h" -#include "imports.h" -#include "templates.h" -#include "keys.h" -#include "pattern.h" -#include "documents.h" +#include "precomp.h" #ifdef WITH_XSLT_DEBUG #define WITH_XSLT_DEBUG_PATTERN diff --git a/dll/3rdparty/libxslt/precomp.h b/dll/3rdparty/libxslt/precomp.h new file mode 100644 index 00000000000..5c58c33463e --- /dev/null +++ b/dll/3rdparty/libxslt/precomp.h @@ -0,0 +1,75 @@ +#ifndef _LIBXSLT_PCH_ +#define _LIBXSLT_PCH_ + +#define IN_LIBXSLT +#include + +#ifndef XSLT_NEED_TRIO +#include +#else +#include +#endif + +#include +#include + +#ifdef HAVE_SYS_TYPES_H +#include +#endif +#ifdef HAVE_MATH_H +#include +#endif +#ifdef HAVE_FLOAT_H +#include +#endif +#ifdef HAVE_IEEEFP_H +#include +#endif +#ifdef HAVE_NAN_H +#include +#endif +#ifdef HAVE_CTYPE_H +#include +#endif +#ifdef HAVE_TIME_H +#include +#endif +#ifdef HAVE_STDLIB_H +#include +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "xslt.h" +#include "xsltInternals.h" +#include "xsltutils.h" +#include "attributes.h" +#include "namespaces.h" +#include "templates.h" +#include "imports.h" +#include "transform.h" +#include "preproc.h" +#include "documents.h" +#include "keys.h" +#include "security.h" +#include "extensions.h" +#include "variables.h" +#include "extra.h" +#include "pattern.h" +#include "numbersInternals.h" +#include "functions.h" + +#endif /* _LIBXSLT_PCH_ */ diff --git a/dll/3rdparty/libxslt/preproc.c b/dll/3rdparty/libxslt/preproc.c index 4ef3f631d98..5675f6336e5 100644 --- a/dll/3rdparty/libxslt/preproc.c +++ b/dll/3rdparty/libxslt/preproc.c @@ -15,31 +15,7 @@ * daniel@veillard.com */ -#define IN_LIBXSLT -#include "libxslt.h" - -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include "xslt.h" -#include "xsltutils.h" -#include "xsltInternals.h" -#include "transform.h" -#include "templates.h" -#include "variables.h" -#include "numbersInternals.h" -#include "preproc.h" -#include "extra.h" -#include "imports.h" -#include "extensions.h" -#include "pattern.h" +#include "precomp.h" #ifdef WITH_XSLT_DEBUG #define WITH_XSLT_DEBUG_PREPROC diff --git a/dll/3rdparty/libxslt/security.c b/dll/3rdparty/libxslt/security.c index 12c1b6f4dac..51b631cf8c1 100644 --- a/dll/3rdparty/libxslt/security.c +++ b/dll/3rdparty/libxslt/security.c @@ -6,36 +6,13 @@ * daniel@veillard.com */ -#define IN_LIBXSLT -#include "libxslt.h" +#include "precomp.h" -#include - -#ifdef HAVE_SYS_TYPES_H -#include -#endif #ifdef HAVE_SYS_STAT_H #include #endif -#ifdef HAVE_MATH_H -#include -#endif -#ifdef HAVE_FLOAT_H -#include -#endif -#ifdef HAVE_IEEEFP_H -#include -#endif -#ifdef HAVE_NAN_H -#include -#endif -#ifdef HAVE_CTYPE_H -#include -#endif - #if defined(WIN32) && !defined(__CYGWIN__) -//#include #ifndef INVALID_FILE_ATTRIBUTES #define INVALID_FILE_ATTRIBUTES ((DWORD)-1) #endif @@ -52,16 +29,6 @@ # endif #endif -#include -#include -#include -#include "xslt.h" -#include "xsltInternals.h" -#include "xsltutils.h" -#include "extensions.h" -#include "security.h" - - struct _xsltSecurityPrefs { xsltSecurityCheck readFile; xsltSecurityCheck createFile; diff --git a/dll/3rdparty/libxslt/templates.c b/dll/3rdparty/libxslt/templates.c index 02193f7eef7..a4d7364d3d9 100644 --- a/dll/3rdparty/libxslt/templates.c +++ b/dll/3rdparty/libxslt/templates.c @@ -9,27 +9,9 @@ * daniel@veillard.com */ -#define IN_LIBXSLT -#include "libxslt.h" +#include "precomp.h" -#include - -#include #include -#include -#include -#include -#include -#include -#include "xslt.h" -#include "xsltInternals.h" -#include "xsltutils.h" -#include "variables.h" -#include "functions.h" -#include "templates.h" -#include "transform.h" -#include "namespaces.h" -#include "attributes.h" #ifdef WITH_XSLT_DEBUG #define WITH_XSLT_DEBUG_TEMPLATES diff --git a/dll/3rdparty/libxslt/transform.c b/dll/3rdparty/libxslt/transform.c index 35701deabb6..b6d99849878 100644 --- a/dll/3rdparty/libxslt/transform.c +++ b/dll/3rdparty/libxslt/transform.c @@ -16,42 +16,9 @@ * daniel@veillard.com */ -#define IN_LIBXSLT -#include "libxslt.h" +#include "precomp.h" -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include "xslt.h" -#include "xsltInternals.h" -#include "xsltutils.h" -#include "pattern.h" -#include "transform.h" -#include "variables.h" -#include "numbersInternals.h" -#include "namespaces.h" -#include "attributes.h" -#include "templates.h" -#include "imports.h" -#include "keys.h" -#include "documents.h" -#include "extensions.h" -#include "extra.h" -#include "preproc.h" -#include "security.h" #ifdef WITH_XSLT_DEBUG #define WITH_XSLT_DEBUG_EXTRA diff --git a/dll/3rdparty/libxslt/variables.c b/dll/3rdparty/libxslt/variables.c index 3224116a137..677d28fd9be 100644 --- a/dll/3rdparty/libxslt/variables.c +++ b/dll/3rdparty/libxslt/variables.c @@ -9,28 +9,7 @@ * daniel@veillard.com */ -#define IN_LIBXSLT -#include "libxslt.h" - -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "xslt.h" -#include "xsltInternals.h" -#include "xsltutils.h" -#include "variables.h" -#include "transform.h" -#include "imports.h" -#include "preproc.h" -#include "keys.h" +#include "precomp.h" #ifdef WITH_XSLT_DEBUG #define WITH_XSLT_DEBUG_VARIABLE diff --git a/dll/3rdparty/libxslt/xslt.c b/dll/3rdparty/libxslt/xslt.c index 58d138674e5..c299af97777 100644 --- a/dll/3rdparty/libxslt/xslt.c +++ b/dll/3rdparty/libxslt/xslt.c @@ -13,35 +13,7 @@ * daniel@veillard.com */ -#define IN_LIBXSLT -#include "libxslt.h" - -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "xslt.h" -#include "xsltInternals.h" -#include "pattern.h" -#include "variables.h" -#include "namespaces.h" -#include "attributes.h" -#include "xsltutils.h" -#include "imports.h" -#include "keys.h" -#include "documents.h" -#include "extensions.h" -#include "preproc.h" -#include "extra.h" -#include "security.h" +#include "precomp.h" #ifdef WITH_XSLT_DEBUG #define WITH_XSLT_DEBUG_PARSING diff --git a/dll/3rdparty/libxslt/xsltlocale.c b/dll/3rdparty/libxslt/xsltlocale.c index b5fe98632ba..2b39b0988c5 100644 --- a/dll/3rdparty/libxslt/xsltlocale.c +++ b/dll/3rdparty/libxslt/xsltlocale.c @@ -10,14 +10,9 @@ * winapi port: Roumen Petrov */ -#define IN_LIBXSLT -#include "libxslt.h" - -#include -#include +#include "precomp.h" #include "xsltlocale.h" -#include "xsltutils.h" #if defined(__GLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ <= 2 #define newlocale __newlocale diff --git a/dll/3rdparty/libxslt/xsltutils.c b/dll/3rdparty/libxslt/xsltutils.c index ab981a42372..0f904f68ede 100644 --- a/dll/3rdparty/libxslt/xsltutils.c +++ b/dll/3rdparty/libxslt/xsltutils.c @@ -9,38 +9,14 @@ * daniel@veillard.com */ -#define IN_LIBXSLT -#include "libxslt.h" +#include "precomp.h" -#ifndef XSLT_NEED_TRIO -#include -#else -#include -#endif - -#include -#include #ifdef HAVE_SYS_TIME_H #include #endif #ifdef HAVE_UNISTD_H #include #endif -#ifdef HAVE_STDLIB_H -#include -#endif -#include - -#include -#include -#include -#include -#include -#include "xsltutils.h" -#include "templates.h" -#include "xsltInternals.h" -#include "imports.h" -#include "transform.h" /* gettimeofday on Windows ??? */ #if defined(WIN32) && !defined(__CYGWIN__) diff --git a/dll/cpl/access/access.c b/dll/cpl/access/access.c index 2d65fc32b90..403f79f7dc2 100644 --- a/dll/cpl/access/access.c +++ b/dll/cpl/access/access.c @@ -9,6 +9,8 @@ #include "access.h" +#include + #define NUM_APPLETS (1) LONG CALLBACK SystemApplet(VOID); diff --git a/dll/cpl/access/access.h b/dll/cpl/access/access.h index b642894df7d..2309d68dc55 100644 --- a/dll/cpl/access/access.h +++ b/dll/cpl/access/access.h @@ -1,12 +1,11 @@ -#define WIN32_NO_STATUS #include + +#define WIN32_NO_STATUS #include #include #include -#include #include #include -#include #include #include "resource.h" diff --git a/dll/cpl/access/display.c b/dll/cpl/access/display.c index 9c4bb41535e..4f8bc16fa09 100644 --- a/dll/cpl/access/display.c +++ b/dll/cpl/access/display.c @@ -9,10 +9,10 @@ #include "access.h" +#include #define ID_BLINK_TIMER 346 - static VOID FillColorSchemeComboBox(HWND hwnd) { diff --git a/dll/cpl/access/general.c b/dll/cpl/access/general.c index e8421cb9039..8b1742a7305 100644 --- a/dll/cpl/access/general.c +++ b/dll/cpl/access/general.c @@ -9,7 +9,6 @@ #include "access.h" - #define BAUDTICKS 6 static UINT nBaudArray[BAUDTICKS] = {300, 1200, 2400, 4800, 9600, 19200}; diff --git a/dll/cpl/access/keyboard.c b/dll/cpl/access/keyboard.c index 6d5c7be79d5..f5953c4ca98 100644 --- a/dll/cpl/access/keyboard.c +++ b/dll/cpl/access/keyboard.c @@ -9,7 +9,6 @@ #include "access.h" - #define BOUNCETICKS 5 static UINT nBounceArray[BOUNCETICKS] = {500, 700, 1000, 1500, 2000}; diff --git a/dll/cpl/access/mouse.c b/dll/cpl/access/mouse.c index 38a7b95a29f..6a4adb50040 100644 --- a/dll/cpl/access/mouse.c +++ b/dll/cpl/access/mouse.c @@ -9,7 +9,6 @@ #include "access.h" - #define SPEEDTICKS 9 #define ACCELTICKS 9 diff --git a/dll/cpl/access/sound.c b/dll/cpl/access/sound.c index f0b3edead6f..0793c259ab6 100644 --- a/dll/cpl/access/sound.c +++ b/dll/cpl/access/sound.c @@ -9,7 +9,6 @@ #include "access.h" - static VOID OnInitDialog(HWND hwndDlg, PGLOBAL_DATA pGlobalData) { diff --git a/dll/cpl/appwiz/addons.c b/dll/cpl/appwiz/addons.c index 2e86442873b..eca42a51e97 100644 --- a/dll/cpl/appwiz/addons.c +++ b/dll/cpl/appwiz/addons.c @@ -16,8 +16,7 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include -#include +#include "appwiz.h" #include @@ -25,20 +24,8 @@ # include #endif -#define COBJMACROS -#define NONAMELESSUNION -#define NONAMELESSSTRUCT - -#include -#include #include -#include "appwiz.h" - -#include - -WINE_DEFAULT_DEBUG_CHANNEL(appwiz); - #define GECKO_VERSION "2.21" #ifdef __i386__ diff --git a/dll/cpl/appwiz/appwiz.c b/dll/cpl/appwiz/appwiz.c index 5badfce8692..44a49f36c3c 100644 --- a/dll/cpl/appwiz/appwiz.c +++ b/dll/cpl/appwiz/appwiz.c @@ -6,12 +6,11 @@ * Dmitry Chapyshev (dmitry@reactos.org) */ -#include -#include - #include "appwiz.h" -WINE_DEFAULT_DEBUG_CHANNEL(appwiz); +#include +#include +#include HINSTANCE hApplet = NULL; diff --git a/dll/cpl/appwiz/appwiz.h b/dll/cpl/appwiz/appwiz.h index 35077983880..73d7e9a8a9c 100644 --- a/dll/cpl/appwiz/appwiz.h +++ b/dll/cpl/appwiz/appwiz.h @@ -1,19 +1,22 @@ -#define COBJMACROS +#include +#include + +#include + #define WIN32_NO_STATUS #define _INC_WINDOWS #define COM_NO_WINDOWS_H -#include + +#define COBJMACROS + #include #include #include #include -#include -#include -#include #include #include -#include +WINE_DEFAULT_DEBUG_CHANNEL(appwiz); #include "resource.h" diff --git a/dll/cpl/appwiz/createlink.c b/dll/cpl/appwiz/createlink.c index 50dec65fd01..9a3189dbc9f 100644 --- a/dll/cpl/appwiz/createlink.c +++ b/dll/cpl/appwiz/createlink.c @@ -11,6 +11,8 @@ #include "appwiz.h" +#include + BOOL IsShortcut(HKEY hKey) { diff --git a/dll/cpl/appwiz/lang/ro-RO.rc b/dll/cpl/appwiz/lang/ro-RO.rc index 069c4c6371d..5518f09c621 100644 --- a/dll/cpl/appwiz/lang/ro-RO.rc +++ b/dll/cpl/appwiz/lang/ro-RO.rc @@ -1,15 +1,14 @@ /* * FILE: dll/cpl/appwiz/lang/ro-RO.rc * ReactOS Project (http://www.reactos.org) - * TRANSLATOR: Fulea Ștefan (PM on ReactOS Forum at fulea.stefan) - * CHANGE LOG: 2011-09-02 initial translation + * TRANSLATOR: Ștefan Fulea (stefan dot fulea at mail dot md) */ LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL IDD_FIRSTPAGE DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Creare legătură" +CAPTION "Asistentul pentru creare de legătură" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN LTEXT "Text1", -1, 115, 15, 160, 24 @@ -18,7 +17,7 @@ END IDD_SUBMIT_REPORT DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Creare legătură" +CAPTION "Asistentul pentru creare de legătură" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN LTEXT "Text1",-1,10,0,225,40 @@ -28,49 +27,49 @@ END IDD_SHORTCUT_LOCATION DIALOGEX 0, 0, 340, 200 STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Creare scurtătură" +CAPTION "Asistentul pentru creare de scurtătură" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN LTEXT "Acest expert vă va asista în crearea unei scurtături\ncătre adrese din Internet, calculatoare, dosare, fișiere\nlocale sau din rețea.", -1, 120, 15, 200, 30 LTEXT "Scrieți adresa elementului:", -1, 120, 50, 120, 10 EDITTEXT IDC_SHORTCUT_LOCATION, 120, 65, 150, 15, ES_LEFT - PUSHBUTTON "&Răsfoire…", IDC_SHORTCUT_BROWSE, 272, 65, 55, 15, ES_LEFT + PUSHBUTTON "Spe&cificare…", IDC_SHORTCUT_BROWSE, 272, 65, 55, 15, ES_LEFT LTEXT "Apăsați „Înainte” pentru a continua.", -1, 120, 97, 162, 10 END IDD_SHORTCUT_FINISH DIALOGEX 0, 0, 340, 200 STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Titlul scurtăturii" +CAPTION "Asistentul pentru creare de scurtătură" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN LTEXT "Scrieți un &nume pentru scurtătură:", -1, 120, 15, 150, 10 EDITTEXT IDC_SHORTCUT_NAME, 120, 35, 150, 15, ES_LEFT - LTEXT "Apăsați „Termină” pentru a crea scurtătura.", -1, 118, 97, 178, 17 + LTEXT "Apăsați „Sfârșit” pentru a crea scurtătura.", -1, 118, 97, 178, 17 END STRINGTABLE BEGIN IDS_CPLSYSTEMNAME "Gestionar de aplicații" IDS_CPLSYSTEMDESCRIPTION "Instalează programe și crează scurtături." - IDS_CREATE_SHORTCUT "Creare scurtătură" + IDS_CREATE_SHORTCUT "Asistentul pentru creare de scurtătură" IDS_ERROR_NOT_FOUND "Elementul „%s” nu poate fi localizat." END STRINGTABLE BEGIN - IDS_DOWNLOADING "Downloading..." - IDS_INSTALLING "Installing..." - IDS_INVALID_SHA "Unexpected checksum of downloaded file. Aborting installation of corrupted file." + IDS_DOWNLOADING "Se descarcă…" + IDS_INSTALLING "Se instalează…" + IDS_INVALID_SHA "Suma de verificare a fișierului descărcat nu corespunde. Deoarece fișierul a fost corupt, instalarea trebuie abandonată." END ID_DWL_GECKO_DIALOG DIALOG 0, 0, 260, 95 STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Wine Gecko Installer" +CAPTION "Instalarea Wine Gecko" FONT 8, "MS Shell Dlg" BEGIN - CONTROL "ReactOS could not find a Wine Gecko package which is needed for applications embedding HTML to work correctly. ReactOS can automatically download and install it for you.", + CONTROL "Pachetul Wine Gecko, necesar pentru funcționarea corectă a aplicațiilor cu HTML încorporat, nu este există local. ReactOS permite totuși descărcarea și instalarea automată a acestuia.", ID_DWL_STATUS, "SysLink", 0, 10, 10, 240, 65 CONTROL "", ID_DWL_PROGRESS, PROGRESS_CLASSA, WS_BORDER | PBS_SMOOTH, 10, 40, 240, 12 - DEFPUSHBUTTON "&Install", ID_DWL_INSTALL, 200, 76, 50, 14, WS_GROUP | WS_TABSTOP - PUSHBUTTON "Cancel", IDCANCEL, 144, 76, 50, 14, WS_GROUP | WS_TABSTOP + DEFPUSHBUTTON "&Instalează", ID_DWL_INSTALL, 200, 76, 50, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "A&nulează", IDCANCEL, 144, 76, 50, 14, WS_GROUP | WS_TABSTOP END diff --git a/dll/cpl/desk/advappdlg.c b/dll/cpl/desk/advappdlg.c index 3f1edfcb884..6876acfdcd2 100644 --- a/dll/cpl/desk/advappdlg.c +++ b/dll/cpl/desk/advappdlg.c @@ -425,7 +425,7 @@ AdvAppearanceDlg_Init(HWND hwndDlg, GLOBALS *g) /* Fill font size combo */ for (i = 6; i <= 24; i++) { - wsprintf(Size, TEXT("%d"), i); + StringCbPrintf(Size, sizeof(Size), TEXT("%d"), i); SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_FONTSIZE_E, CB_ADDSTRING, 0, (LPARAM)&Size); } diff --git a/dll/cpl/desk/appearance.h b/dll/cpl/desk/appearance.h index 8e8b6c57b85..2274c89975b 100644 --- a/dll/cpl/desk/appearance.h +++ b/dll/cpl/desk/appearance.h @@ -1,3 +1,5 @@ +#pragma once + /* Some definitions for theme */ #define SIZE_BORDER_WIDTH 0 #define SIZE_SCROLL_WIDTH 1 diff --git a/dll/cpl/desk/background.c b/dll/cpl/desk/background.c index 891164a4af5..76773fe8a42 100644 --- a/dll/cpl/desk/background.c +++ b/dll/cpl/desk/background.c @@ -10,6 +10,8 @@ #include "desk.h" +#include + #define MAX_BACKGROUNDS 100 #define PLACEMENT_CENTER 0 @@ -86,6 +88,7 @@ AddListViewItems(HWND hwndDlg, PDATA pData) TCHAR *token; HWND hwndBackgroundList; TCHAR *p; + HRESULT hr; hwndBackgroundList = GetDlgItem(hwndDlg, IDC_BACKGROUND_LIST); @@ -132,7 +135,12 @@ AddListViewItems(HWND hwndDlg, PDATA pData) /* Allow environment variables in file name */ if (ExpandEnvironmentStrings(wallpaperFilename, buffer, MAX_PATH)) { - _tcscpy(wallpaperFilename, buffer); + hr = StringCbCopy(wallpaperFilename, sizeof(wallpaperFilename), buffer); + if (FAILED(hr)) + { + RegCloseKey(regKey); + return; + } } himl = (HIMAGELIST)SHGetFileInfo(wallpaperFilename, @@ -153,11 +161,23 @@ AddListViewItems(HWND hwndDlg, PDATA pData) backgroundItem->bWallpaper = TRUE; - _tcscpy(backgroundItem->szDisplayName, sfi.szDisplayName); + hr = StringCbCopy(backgroundItem->szDisplayName, sizeof(backgroundItem->szDisplayName), sfi.szDisplayName); + if (FAILED(hr)) + { + RegCloseKey(regKey); + return; + } + p = _tcsrchr(backgroundItem->szDisplayName, _T('.')); if (p) *p = (TCHAR)0; - _tcscpy(backgroundItem->szFilename, wallpaperFilename); + + hr = StringCbCopy(backgroundItem->szFilename, sizeof(backgroundItem->szFilename), wallpaperFilename); + if (FAILED(hr)) + { + RegCloseKey(regKey); + return; + } ZeroMemory(&listItem, sizeof(LV_ITEM)); listItem.mask = LVIF_TEXT | LVIF_PARAM | LVIF_STATE | LVIF_IMAGE; @@ -188,8 +208,13 @@ AddListViewItems(HWND hwndDlg, PDATA pData) while (token != NULL) { GetWindowsDirectory(szSearchPath, MAX_PATH); - _tcscat(szSearchPath, TEXT("\\")); - _tcscat(szSearchPath, token); + + hr = StringCbCat(szSearchPath, sizeof(szSearchPath), TEXT("\\")); + if (FAILED(hr)) + return; + hr = StringCbCat(szSearchPath, sizeof(szSearchPath), token); + if (FAILED(hr)) + return; hFind = FindFirstFile(szSearchPath, &fd); while (hFind != INVALID_HANDLE_VALUE) @@ -198,8 +223,18 @@ AddListViewItems(HWND hwndDlg, PDATA pData) GetWindowsDirectory(filename, MAX_PATH); - _tcscat(filename, TEXT("\\")); - _tcscat(filename, fd.cFileName); + hr = StringCbCat(filename, sizeof(filename), TEXT("\\")); + if (FAILED(hr)) + { + FindClose(hFind); + return; + } + hr = StringCbCat(filename, sizeof(filename), fd.cFileName); + if (FAILED(hr)) + { + FindClose(hFind); + return; + } /* Don't add any hidden bitmaps. Also don't add current wallpaper once more. */ if (((fd.dwFileAttributes & FILE_ATTRIBUTE_HIDDEN) == 0) && (_tcscmp(wallpaperFilename, filename) != 0)) @@ -223,11 +258,21 @@ AddListViewItems(HWND hwndDlg, PDATA pData) backgroundItem->bWallpaper = TRUE; - _tcscpy(backgroundItem->szDisplayName, sfi.szDisplayName); + hr = StringCbCopy(backgroundItem->szDisplayName, sizeof(backgroundItem->szDisplayName), sfi.szDisplayName); + if (FAILED(hr)) + { + FindClose(hFind); + return; + } p = _tcsrchr(backgroundItem->szDisplayName, _T('.')); if (p) *p = (TCHAR)0; - _tcscpy(backgroundItem->szFilename, filename); + hr = StringCbCopy(backgroundItem->szFilename, sizeof(backgroundItem->szFilename), filename); + if (FAILED(hr)) + { + FindClose(hFind); + return; + } ZeroMemory(&listItem, sizeof(LV_ITEM)); listItem.mask = LVIF_TEXT | LVIF_PARAM | LVIF_STATE | LVIF_IMAGE; @@ -247,6 +292,7 @@ AddListViewItems(HWND hwndDlg, PDATA pData) } token = _tcstok(NULL, separators); + FindClose(hFind); } } @@ -426,6 +472,7 @@ OnBrowseButton(HWND hwndDlg, PDATA pData) LV_ITEM listItem; HWND hwndBackgroundList; TCHAR *p; + HRESULT hr; hwndBackgroundList = GetDlgItem(hwndDlg, IDC_BACKGROUND_LIST); @@ -467,11 +514,15 @@ OnBrowseButton(HWND hwndDlg, PDATA pData) backgroundItem->bWallpaper = TRUE; - _tcscpy(backgroundItem->szDisplayName, sfi.szDisplayName); + hr = StringCbCopy(backgroundItem->szDisplayName, sizeof(backgroundItem->szDisplayName), sfi.szDisplayName); + if (FAILED(hr)) + return; p = _tcsrchr(backgroundItem->szDisplayName, _T('.')); if (p) *p = (TCHAR)0; - _tcscpy(backgroundItem->szFilename, filename); + hr = StringCbCopy(backgroundItem->szFilename, sizeof(backgroundItem->szFilename), filename); + if (FAILED(hr)) + return; ZeroMemory(&listItem, sizeof(LV_ITEM)); listItem.mask = LVIF_TEXT | LVIF_PARAM | LVIF_STATE | LVIF_IMAGE; @@ -734,7 +785,7 @@ SetDesktopBackColor(HWND hwndDlg, DATA *pData) green = GetGValue(g_GlobalData.desktop_color); blue = GetBValue(g_GlobalData.desktop_color); /* Format string to be set to registry */ - wsprintf(clText, TEXT("%d %d %d"), red, green, blue); + StringCbPrintf(clText, sizeof(clText), TEXT("%d %d %d"), red, green, blue); RegSetValueEx(hKey, TEXT("Background"), 0, REG_SZ, (BYTE *)clText, (lstrlen(clText) + 1) * sizeof(TCHAR)); RegCloseKey(hKey); diff --git a/dll/cpl/desk/classinst.c b/dll/cpl/desk/classinst.c index e1cff5d486c..81ca1dc3dea 100644 --- a/dll/cpl/desk/classinst.c +++ b/dll/cpl/desk/classinst.c @@ -32,6 +32,7 @@ DisplayClassInstaller( DWORD disposition; BOOL result; LONG rc; + HRESULT hr; if (InstallFunction != DIF_INSTALLDEVICE) return ERROR_DI_DO_DEFAULT; @@ -104,7 +105,12 @@ DisplayClassInstaller( DPRINT("SetupDiGetActualSectionToInstall() failed with error 0x%lx\n", rc); goto cleanup; } - _tcscat(SectionName, _T(".SoftwareSettings")); + hr = StringCbCat(SectionName, sizeof(SectionName), _T(".SoftwareSettings")); + if (FAILED(hr)) + { + rc = ERROR_INSUFFICIENT_BUFFER; + goto cleanup; + } /* Open driver registry key and create Settings subkey */ hDriverKey = SetupDiOpenDevRegKey( diff --git a/dll/cpl/desk/desk.c b/dll/cpl/desk/desk.c index bc19cef17a1..0bbfa2556c8 100644 --- a/dll/cpl/desk/desk.c +++ b/dll/cpl/desk/desk.c @@ -9,6 +9,8 @@ #include "desk.h" +#include + #define NUM_APPLETS (1) static LONG APIENTRY DisplayApplet(HWND hwnd, UINT uMsg, LPARAM wParam, LPARAM lParam); diff --git a/dll/cpl/desk/desk.h b/dll/cpl/desk/desk.h index c714b4182e1..57f3aa98bdd 100644 --- a/dll/cpl/desk/desk.h +++ b/dll/cpl/desk/desk.h @@ -1,30 +1,25 @@ -#define COBJMACROS +#include #define WIN32_NO_STATUS #define _INC_WINDOWS #define COM_NO_WINDOWS_H -#include + +#define COBJMACROS + #include #include #include #include #include #include -#include #include #include #include #include -#include -#include #include #include -#include #include -#include -#include -#include -#include +#include #include "appearance.h" #include "preview.h" diff --git a/dll/cpl/desk/devsett.c b/dll/cpl/desk/devsett.c index 1d541e2fdb7..ec7e986e51c 100644 --- a/dll/cpl/desk/devsett.c +++ b/dll/cpl/desk/devsett.c @@ -7,6 +7,8 @@ #include "desk.h" +#include + #define NDEBUG #include @@ -81,7 +83,7 @@ pCDevSettings_AllocAndCopyString(const TCHAR *pszSrc) if (str != NULL) { #ifdef UNICODE - wcscpy(str, + StringCbCopyW(str, c * sizeof(WCHAR), pszSrc); #else MultiByteToWideChar(CP_ACP, @@ -554,7 +556,7 @@ CDevSettings_GetData(IDataObject* iface, PCWSTR pszRet = NULL; PWSTR pszBuf; PCDevSettings This = impl_from_IDataObject(iface); - + ZeroMemory(pmedium, sizeof(STGMEDIUM)); @@ -660,11 +662,12 @@ CDevSettings_GetData(IDataObject* iface, pszRet = szEmpty; pszBuf = GlobalAlloc(GPTR, - (_tcslen(pszRet) + 1) * sizeof(WCHAR)); + (wcslen(pszRet) + 1) * sizeof(WCHAR)); if (pszBuf != NULL) { - _tcscpy(pszBuf, - pszRet); + hr = StringCbCopy(pszBuf, (wcslen(pszRet) + 1) * sizeof(WCHAR), pszRet); + if (FAILED(hr)) + return hr; pmedium->tymed = TYMED_HGLOBAL; pmedium->hGlobal = pszBuf; diff --git a/dll/cpl/desk/draw.h b/dll/cpl/desk/draw.h index 25abefb5bf8..7c9745de55b 100644 --- a/dll/cpl/desk/draw.h +++ b/dll/cpl/desk/draw.h @@ -1,3 +1,5 @@ +#pragma once + BOOL MyDrawFrameControl(HDC hDC, LPRECT rc, UINT uType, UINT uState, COLOR_SCHEME *scheme); BOOL @@ -13,4 +15,3 @@ MyDrawMenuBarTemp(HWND Wnd, HDC DC, LPRECT Rect, HMENU Menu, HFONT Font, COLOR_S #define MY_BF_ACTIVEBORDER 0x1000000 #define MY_BF_INACTIVEBORDER 0x2000000 - diff --git a/dll/cpl/desk/lang/ro-RO.rc b/dll/cpl/desk/lang/ro-RO.rc index ff542f4b1d8..4a953cd1f2e 100644 --- a/dll/cpl/desk/lang/ro-RO.rc +++ b/dll/cpl/desk/lang/ro-RO.rc @@ -1,4 +1,4 @@ -/* 2011.11.07 - Fulea Ștefan: minor changes */ +/* Ștefan Fulea (stefan dot fulea at mail dot md) */ LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL @@ -11,7 +11,7 @@ BEGIN CONTROL "", IDC_BACKGROUND_LIST, "SysListView32", LVS_REPORT | LVS_SINGLESEL | LVS_NOCOLUMNHEADER | LVS_SHAREIMAGELISTS | LVS_SHOWSELALWAYS | WS_BORDER | WS_TABSTOP, 8, 114, 174, 78 LTEXT "Alegeți o imagine pentru a o folosi ca decor de birou.", IDC_STATIC, 8, 103, 230, 9 - PUSHBUTTON "&Răsfoire…", IDC_BROWSE_BUTTON, 188, 114, 55, 15 + PUSHBUTTON "Spe&cificare…", IDC_BROWSE_BUTTON, 188, 114, 55, 15 PUSHBUTTON "C&uloare…", IDC_COLOR_BUTTON, 188, 177, 55, 15 LTEXT "Amplasament", IDC_STATIC, 188, 138, 55, 9 COMBOBOX IDC_PLACEMENT_COMBO, 188, 149, 55, 54, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP @@ -51,7 +51,7 @@ BEGIN LTEXT "Colorit", IDC_STATIC, 7, 160, 104, 9 COMBOBOX IDC_APPEARANCE_COLORSCHEME, 7, 170, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP - LTEXT "Size", IDC_STATIC, 7, 190, 104, 9 + LTEXT "Dimensiune", IDC_STATIC, 7, 190, 104, 9 COMBOBOX IDC_APPEARANCE_SIZE, 7, 200, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP PUSHBUTTON "&Efecte…", IDC_APPEARANCE_EFFECTS, 182, 150, 56, 15 @@ -224,7 +224,7 @@ BEGIN IDS_MESSBOX "Fereastră mesaj" IDS_MESSTEXT "Text mesaj" IDS_BUTTEXT "Î&nchide" - IDS_CLASSIC_THEME "Classic Theme" + IDS_CLASSIC_THEME "Temă clasică" END STRINGTABLE diff --git a/dll/cpl/desk/monslctl.c b/dll/cpl/desk/monslctl.c index ea96760633e..b7be54a9959 100644 --- a/dll/cpl/desk/monslctl.c +++ b/dll/cpl/desk/monslctl.c @@ -1,4 +1,3 @@ - #include "desk.h" static const TCHAR szMonitorSelWndClass[] = TEXT("MONITORSELWNDCLASS"); diff --git a/dll/cpl/desk/preview.h b/dll/cpl/desk/preview.h index b4363c404ae..c98fdf4badc 100644 --- a/dll/cpl/desk/preview.h +++ b/dll/cpl/desk/preview.h @@ -6,6 +6,8 @@ * COPYRIGHT: Copyright 2006, 2007 Eric Kohl */ +#pragma once + #define IDX_DESKTOP 0 #define IDX_INACTIVE_CAPTION 1 #define IDX_INACTIVE_BORDER 2 diff --git a/dll/cpl/desk/screensaver.c b/dll/cpl/desk/screensaver.c index dfd63614e91..7eb59818bd0 100644 --- a/dll/cpl/desk/screensaver.c +++ b/dll/cpl/desk/screensaver.c @@ -333,11 +333,17 @@ SearchScreenSavers(HWND hwndScreenSavers, ScreenSaverItem *ScreenSaverItem; HANDLE hModule; UINT i, ScreenSaverCount; + HRESULT hr; ScreenSaverCount = pData->ScreenSaverCount; - _tcscpy(szSearchPath, pszSearchPath); - _tcscat(szSearchPath, TEXT("\\*.scr")); + + hr = StringCbCopy(szSearchPath, sizeof(szSearchPath), pszSearchPath); + if (FAILED(hr)) + return; + hr = StringCbCat(szSearchPath, sizeof(szSearchPath), TEXT("\\*.scr")); + if (FAILED(hr)) + return; hFind = FindFirstFile(szSearchPath, &fd); @@ -351,9 +357,24 @@ SearchScreenSavers(HWND hwndScreenSavers, { TCHAR filename[MAX_PATH]; - _tcscpy(filename, pszSearchPath); - _tcscat(filename, _T("\\")); - _tcscat(filename, fd.cFileName); + hr = StringCbCopy(filename, sizeof(filename), pszSearchPath); + if (FAILED(hr)) + { + FindClose(hFind); + return; + } + hr = StringCbCat(filename, sizeof(filename), _T("\\")); + if (FAILED(hr)) + { + FindClose(hFind); + return; + } + hr = StringCbCat(filename, sizeof(filename), fd.cFileName); + if (FAILED(hr)) + { + FindClose(hFind); + return; + } ScreenSaverItem = pData->ScreenSaverItems + ScreenSaverCount; @@ -370,17 +391,33 @@ SearchScreenSavers(HWND hwndScreenSavers, sizeof(ScreenSaverItem->szDisplayName) / sizeof(TCHAR))) { // If the string does not exists, copy the name of the file - _tcscpy(ScreenSaverItem->szDisplayName, fd.cFileName); + hr = StringCbCopy(ScreenSaverItem->szDisplayName, sizeof(ScreenSaverItem->szDisplayName), fd.cFileName); + if (FAILED(hr)) + { + FreeLibrary(hModule); + FindClose(hFind); + return; + } ScreenSaverItem->szDisplayName[_tcslen(fd.cFileName)-4] = '\0'; } FreeLibrary(hModule); } else { - _tcscpy(ScreenSaverItem->szDisplayName, _T("Unknown")); + hr = StringCbCopy(ScreenSaverItem->szDisplayName, sizeof(ScreenSaverItem->szDisplayName), _T("Unknown")); + if (FAILED(hr)) + { + FindClose(hFind); + return; + } } - _tcscpy(ScreenSaverItem->szFilename, filename); + hr = StringCbCopy(ScreenSaverItem->szFilename, sizeof(ScreenSaverItem->szFilename), filename); + if (FAILED(hr)) + { + FindClose(hFind); + return; + } i = SendMessage(hwndScreenSavers, CB_ADDSTRING, diff --git a/dll/cpl/desk/theme.c b/dll/cpl/desk/theme.c index bded82d76b7..5a26b361318 100644 --- a/dll/cpl/desk/theme.c +++ b/dll/cpl/desk/theme.c @@ -9,6 +9,11 @@ #include "desk.h" +#include +#include +#include +#include + static const WCHAR g_CPColors[] = L"Control Panel\\Colors"; static const WCHAR g_CPANewSchemes[] = L"Control Panel\\Appearance\\New Schemes"; static const WCHAR g_CPMetrics[] = L"Control Panel\\Desktop\\WindowMetrics"; @@ -890,4 +895,3 @@ DrawThemePreview(IN HDC hdcMem, IN PCOLOR_SCHEME scheme, IN PTHEME_SELECTION pSe return SUCCEEDED(hres); } - diff --git a/dll/cpl/hdwwiz/lang/ro-RO.rc b/dll/cpl/hdwwiz/lang/ro-RO.rc index 3de7e0cc51b..f1e34ff80e5 100644 --- a/dll/cpl/hdwwiz/lang/ro-RO.rc +++ b/dll/cpl/hdwwiz/lang/ro-RO.rc @@ -1,24 +1,24 @@ -/* 2011.11.08 - Fulea Ștefan: minor changes */ +/* Ștefan Fulea (stefan dot fulea at mail dot md) */ LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL IDD_STARTPAGE DIALOG 0, 0, 317, 186 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Adăugare componente fizice" +CAPTION "Asistentul de adăugare a componentelor fizice" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Bun venit la Expertul de adăugare a componentelor fizice", IDC_FINISHTITLE, 114, 8, 203, 24 - LTEXT "Acest Expert vă va asista la:", -1, 114, 40, 182, 8 - LTEXT "1) Instalarea componentelor logice compatibile cu cele fizice pe care le adăugați calculatorului", -1, 121, 56, 184, 16 - LTEXT "2) Depanarea problemelor pe care le-ați putea întâmpina la instalarea componentelor fizice", -1, 121, 78, 185, 19 + LTEXT "Bun venit la adăugarea de componente fizice", IDC_FINISHTITLE, 114, 8, 203, 24 + LTEXT "Acest asistent vă va ajuta la:", -1, 114, 40, 182, 8 + LTEXT "1) Instalarea componentelor logice aferente componentelor fizice pe care le adăugați calculatorului.", -1, 121, 56, 184, 16 + LTEXT "2) Depanarea problemelor pe care le-ați putea întâmpina la instalarea componentelor fizice.", -1, 121, 78, 185, 19 ICON IDI_WARNINGICON, IDC_WARNINGICON, 124, 109, 20, 20 - LTEXT "În cazul în care componenta fizică este însoțită de un CD de instalare, este recomandată închiderea acestui expert și utilizarea CD-ului de instalare.", 503, 150, 106, 155, 50 + LTEXT "În cazul în care componenta fizică este însoțită de un CD de instalare, este recomandată închiderea acestui asistent și utilizarea CD-ului de instalare.", 503, 150, 106, 155, 50 LTEXT "Pentru a continua, apăsați „Înainte”.", -1, 114, 166, 193, 8 END IDD_SEARCHPAGE DIALOG 0, 0, 317, 143 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Adăugare componente fizice" +CAPTION "Asistentul de adăugare a componentelor fizice" FONT 8, "MS Shell Dlg" BEGIN LTEXT "", IDC_STATUSTEXT, 21, 8, 275, 32 @@ -27,7 +27,7 @@ END IDD_ISCONNECTEDPAGE DIALOG 0, 0, 317, 143 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Adăugare componente fizice" +CAPTION "Asistentul de adăugare a componentelor fizice" FONT 8, "MS Shell Dlg" BEGIN LTEXT "Componenta fizică este conectată la calculator?", -1, 20, 11, 275, 8 @@ -37,7 +37,7 @@ END IDD_PROBELISTPAGE DIALOG 0, 0, 317, 143 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Adăugare componente fizice" +CAPTION "Asistentul de adăugare a componentelor fizice" FONT 8, "MS Shell Dlg" BEGIN LTEXT "Alegeți din lista de mai jos un dispozitiv instalat, apoi apăsați „Înainte” pentru a-i inspecta proprietățile sau pentru a depana o posibilă problemă.", -1, 21, 8, 275, 22 @@ -48,18 +48,18 @@ END IDD_SELECTWAYPAGE DIALOG 0, 0, 317, 143 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Adăugare componente fizice" +CAPTION "Asistentul de adăugare a componentelor fizice" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Expertul poate încerca detectarea și instalarea automată a componentelor fizice. Altfel, dacă știți exact modelul dispozitivului, îl veți putea manual alege dintr-o listă.", -1, 21, 8, 280, 24 - LTEXT "Ce preferați să facă expertul?", -1, 23, 40, 275, 8 - AUTORADIOBUTTON "Să caute și &automat să instaleze modulul pilot necesar (Recomandat)", IDC_AUTOINSTALL, 30, 55, 266, 8, WS_GROUP | NOT WS_TABSTOP + LTEXT "Asistentul poate încerca detectarea și instalarea automată a componentelor fizice. Altfel, dacă știți exact modelul dispozitivului, îl veți putea manual alege dintr-o listă.", -1, 21, 8, 280, 24 + LTEXT "Ce preferați să facă asistentul?", -1, 23, 40, 275, 8 + AUTORADIOBUTTON "Să &caute și automat să instaleze modulul pilot necesar (Recomandat)", IDC_AUTOINSTALL, 30, 55, 266, 8, WS_GROUP | NOT WS_TABSTOP AUTORADIOBUTTON "Să instaleze modulul pilot pe care îl voi specifica &manual (Avansat)", IDC_MANUALLYINST, 30, 70, 266, 8, NOT WS_TABSTOP END IDD_DETECTEDHWPAGE DIALOG 0, 0, 317, 143 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Adăugare componente fizice" +CAPTION "Asistentul de adăugare a componentelor fizice" FONT 8, "MS Shell Dlg" BEGIN LTEXT "", IDC_STATUSTEXT, 21, 9, 275, 40 @@ -69,7 +69,7 @@ END IDD_HWTYPESPAGE DIALOG 0, 0, 317, 143 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Adăugare componente fizice" +CAPTION "Asistentul de adăugare a componentelor fizice" FONT 8, "MS Shell Dlg" BEGIN LTEXT "Dacă nu regăsiți categoria pe care o căutați, specificați „afișează toate”.", IDC_STATUSTEXT, 21, 9, 275, 18 @@ -79,7 +79,7 @@ END IDD_PROGRESSPAGE DIALOG 0, 0, 317, 143 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Adăugare componente fizice" +CAPTION "Asistentul de adăugare a componentelor fizice" FONT 8, "MS Shell Dlg" BEGIN LTEXT "Căutarea componentei fizice poate dura câteva minute.", -1, 21, 8, 275, 15 @@ -91,48 +91,48 @@ END IDD_FINISHPAGE DIALOG 0, 0, 317, 186 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Adăugare componente fizice" +CAPTION "Asistentul de adăugare a componentelor fizice" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Încheiere expert", IDC_FINISHTITLE, 114, 8, 203, 24 + LTEXT "Încheiere proces de instalare", IDC_FINISHTITLE, 114, 8, 203, 24 LTEXT "Ați încheiat cu succes adăugarea componentei fizice.", -1, 114, 32, 193, 19 LTEXT "", IDC_STATUSTEXT, 114, 70, 193, 92 - LTEXT "Pentru a închide fereastra expertului, apăsați „Termină”.", -1, 114, 166, 132, 8 + LTEXT "Pentru a închide fereastra asistentului, apăsați „Sfârșit”.", -1, 114, 166, 132, 8 END IDD_ISFOUNDPAGE DIALOG 0, 0, 317, 186 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Adăugare componente fizice" +CAPTION "Asistentul de adăugare a componentelor fizice" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Încheiere expert", IDC_FINISHTITLE, 114, 8, 203, 24 - LTEXT "Expertul a detectat următorul dispozitiv conectat:", -1, 114, 32, 193, 19 - LTEXT "Pentru a închide fereastra expertului, apăsați „Termină”.", -1, 114, 166, 132, 8 + LTEXT "Încheiere proces de instalare", IDC_FINISHTITLE, 114, 8, 203, 24 + LTEXT "Asistentul a detectat următorul dispozitiv conectat:", -1, 114, 32, 193, 19 + LTEXT "Pentru a închide fereastra asistentului, apăsați „Sfârșit”.", -1, 114, 166, 132, 8 CONTROL "", IDC_FOUNDHARDWARELIST, "SysListView32", WS_BORDER | WS_GROUP | WS_TABSTOP | LVS_REPORT | LVS_NOSORTHEADER | LVS_SINGLESEL | LVS_SHAREIMAGELISTS, 114, 56, 193, 78 END IDD_HWSTATUSPAGE DIALOG 0, 0, 317, 186 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Adăugare componente fizice" +CAPTION "Asistentul de adăugare a componentelor fizice" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Încheire expertiză", IDC_FINISHTITLE, 114, 8, 195, 28 + LTEXT "Încheire proces de instalare", IDC_FINISHTITLE, 114, 8, 195, 28 LTEXT "Starea curentă a dispozitivului selectat:", -1, 114, 40, 193, 19 EDITTEXT IDC_HWSTATUSEDIT, 114, 60, 193, 70, ES_MULTILINE | ES_AUTOVSCROLL | ES_READONLY | WS_VSCROLL | NOT WS_TABSTOP - LTEXT "Pentru a porni un program de depanare pentru rezolvarea posibilelor probleme de instalare, apăsați „Termină”.", -1, 114, 136, 193, 16 + LTEXT "Pentru a porni un program de depanare pentru rezolvarea posibilelor probleme de instalare, apăsați „Sfârșit”.", -1, 114, 136, 193, 16 LTEXT "Pentru a ieși, apăsți „Anulează”.", IDC_STATUSTEXT, 114, 166, 132, 8 END IDD_NOTCONNECTEDPAGE DIALOG 0, 0, 317, 186 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Adăugare componente fizice" +CAPTION "Asistentul de adăugare a componentelor fizice" FONT 8, "MS Shell Dlg" BEGIN LTEXT "Nu se mai poate continua Adăugarea componentelor fizice", IDC_FINISHTITLE, 114, 8, 203, 28 LTEXT "Pentru a continua, conectați dispozitivul la calculator.", -1, 114, 40, 193, 16 - AUTOCHECKBOX "În&chide calculatorul când apăs „Termină” pentru a putea deschide calculatorul și conecta componenta fizică.", IDC_TURNOFFCHECKBOX, 114, 64, 203, 20, BS_TOP | BS_MULTILINE - LTEXT "De obicei ReactOS poate instala dispozitive în mod automat, imediat după conectarea lor. Dacă ReactOS nu va detecta în mod automat noul dispozitiv, redeschideți acest expert de adăugare a componentelor fizice.", -1, 114, 98, 193, 32 - LTEXT "Pentru a închide acest expert, apăsați „Termină”.", IDC_STATUSTEXT, 114, 166, 193, 8 + AUTOCHECKBOX "În&chide calculatorul când apăs „Sfârșit” pentru a putea deschide calculatorul și conecta componenta fizică.", IDC_TURNOFFCHECKBOX, 114, 64, 203, 20, BS_TOP | BS_MULTILINE + LTEXT "De obicei ReactOS poate instala dispozitive în mod automat, imediat după conectarea lor. Dacă ReactOS nu va detecta în mod automat noul dispozitiv, redeschideți acest asistent de adăugare a componentelor fizice.", -1, 114, 98, 193, 32 + LTEXT "Pentru a închide acest asistent, apăsați „Sfârșit”.", IDC_STATUSTEXT, 114, 166, 193, 8 END STRINGTABLE @@ -140,10 +140,10 @@ BEGIN IDS_CPLNAME "Adăugare componente fizice" IDS_CPLDESCRIPTION "Adaugarea de componente fizice la calculator." IDS_SEARCHTITLE "Așteptați căutarea de componente fizice…" - IDS_SEARCHTEXT "Expertul caută dispozitive recent conectate, care nu au fost încă instalate." + IDS_SEARCHTEXT "Asistentul caută dispozitive recent conectate, care nu au fost încă instalate." IDS_ISCONNECTED "Dispozitivul este conectat?" IDS_PROBELISTTITLE "Componente fizice deja instalate în calculator." IDS_ADDNEWDEVICE "adăugă un nou dispozitiv" - IDS_SELECTWAYTITLE "Acest expert vă poate asista la instalarea noilor componente fizice." + IDS_SELECTWAYTITLE "Acest asistent vă poate ajuta la instalarea noilor componente fizice." IDS_HDTYPESTITLE "Alegeți categoria componentei fizice pe care doriți să o instalați." END diff --git a/dll/cpl/hotplug/CMakeLists.txt b/dll/cpl/hotplug/CMakeLists.txt index c117ef72802..c5ec3d68ceb 100644 --- a/dll/cpl/hotplug/CMakeLists.txt +++ b/dll/cpl/hotplug/CMakeLists.txt @@ -22,5 +22,4 @@ add_importlibs(hotplug comctl32 kernel32) -add_pch(hotplug hotplug.h) add_cd_file(TARGET hotplug DESTINATION reactos/system32 FOR all) diff --git a/dll/cpl/inetcpl/content.c b/dll/cpl/inetcpl/content.c index 405e629f01c..f4588e759e5 100644 --- a/dll/cpl/inetcpl/content.c +++ b/dll/cpl/inetcpl/content.c @@ -19,19 +19,9 @@ * */ -#define NONAMELESSUNION -#define WIN32_NO_STATUS - -#include -#include -#include -#include -#include - #include "inetcpl.h" -#include -WINE_DEFAULT_DEBUG_CHANNEL(inetcpl); +#include /********************************************************************* * display_cert_manager (internal) diff --git a/dll/cpl/inetcpl/general.c b/dll/cpl/inetcpl/general.c index 0a12fc15857..47a0f1b5f10 100644 --- a/dll/cpl/inetcpl/general.c +++ b/dll/cpl/inetcpl/general.c @@ -19,27 +19,10 @@ * */ -#define NONAMELESSUNION - -#define WIN32_NO_STATUS -#define _INC_WINDOWS -#define COM_NO_WINDOWS_H - -#include -#include -#include -//#include -#include -#include -#include -//#include -#include - #include "inetcpl.h" -#include - -WINE_DEFAULT_DEBUG_CHANNEL(inetcpl); +#include +#include static const WCHAR about_blank[] = {'a','b','o','u','t',':','b','l','a','n','k',0}; static const WCHAR start_page[] = {'S','t','a','r','t',' ','P','a','g','e',0}; diff --git a/dll/cpl/inetcpl/inetcpl.c b/dll/cpl/inetcpl/inetcpl.c index e0cf3d97062..383d0a3bd06 100644 --- a/dll/cpl/inetcpl/inetcpl.c +++ b/dll/cpl/inetcpl/inetcpl.c @@ -19,28 +19,9 @@ * */ -#define NONAMELESSUNION -#define COBJMACROS -#define CONST_VTABLE -#define WIN32_NO_STATUS -#define _INC_WINDOWS -#define COM_NO_WINDOWS_H - -#include -#include -#include -//#include -#include -//#include -#include -#include - -#include - #include "inetcpl.h" - -WINE_DEFAULT_DEBUG_CHANNEL(inetcpl); +#include DECLSPEC_HIDDEN HMODULE hcpl; diff --git a/dll/cpl/inetcpl/inetcpl.h b/dll/cpl/inetcpl/inetcpl.h index 4aae2922f3e..dabadef5e74 100644 --- a/dll/cpl/inetcpl/inetcpl.h +++ b/dll/cpl/inetcpl/inetcpl.h @@ -22,9 +22,26 @@ #ifndef __WINE_INETCPL__ #define __WINE_INETCPL__ +#include + +#define WIN32_NO_STATUS +#define _INC_WINDOWS +#define COM_NO_WINDOWS_H + +#define COBJMACROS +#define CONST_VTABLE +#define NONAMELESSUNION + #include +#include #include +#include +#include #include +#include + +#include +WINE_DEFAULT_DEBUG_CHANNEL(inetcpl); extern HMODULE hcpl; INT_PTR CALLBACK content_dlgproc(HWND, UINT, WPARAM, LPARAM) DECLSPEC_HIDDEN; @@ -52,55 +69,6 @@ static inline BOOL heap_free( void *mem ) #define NUM_PROPERTY_PAGES 8 -/* icons */ -#define ICO_MAIN 100 -#define ICO_INTERNET 1313 +#include "resource.h" -/* strings */ -#define IDS_CPL_NAME 1 -#define IDS_CPL_INFO 2 -#define IDS_SEC_SETTINGS 0x10 -#define IDS_SEC_LEVEL0 0x100 -#define IDS_SEC_LEVEL1 0x101 -#define IDS_SEC_LEVEL2 0x102 -#define IDS_SEC_LEVEL3 0x103 -#define IDS_SEC_LEVEL4 0x104 -#define IDS_SEC_LEVEL5 0x105 -#define IDS_SEC_LEVEL0_INFO 0x200 -#define IDS_SEC_LEVEL1_INFO 0x210 -#define IDS_SEC_LEVEL2_INFO 0x220 -#define IDS_SEC_LEVEL3_INFO 0x230 -#define IDS_SEC_LEVEL4_INFO 0x240 -#define IDS_SEC_LEVEL5_INFO 0x250 - -/* dialogs */ -#define IDC_STATIC -1 - -#define IDD_GENERAL 1000 -#define IDC_HOME_EDIT 1000 -#define IDC_HOME_CURRENT 1001 -#define IDC_HOME_DEFAULT 1002 -#define IDC_HOME_BLANK 1003 -#define IDC_HISTORY_DELETE 1004 -#define IDC_HISTORY_SETTINGS 1005 - -#define IDD_DELETE_HISTORY 1010 -#define IDC_DELETE_TEMP_FILES 1011 -#define IDC_DELETE_COOKIES 1012 -#define IDC_DELETE_HISTORY 1013 -#define IDC_DELETE_FORM_DATA 1014 -#define IDC_DELETE_PASSWORDS 1015 - -#define IDD_SECURITY 2000 -#define IDC_SEC_LISTVIEW 2001 -#define IDC_SEC_ZONE_INFO 2002 -#define IDC_SEC_GROUP 2003 -#define IDC_SEC_TRACKBAR 2004 -#define IDC_SEC_LEVEL 2005 -#define IDC_SEC_LEVEL_INFO 2006 - -#define IDD_CONTENT 4000 -#define IDC_CERT 4100 -#define IDC_CERT_PUBLISHER 4101 - -#endif +#endif /* __WINE_INETCPL__ */ diff --git a/dll/cpl/inetcpl/inetcpl.rc b/dll/cpl/inetcpl/inetcpl.rc index 0e8c1af4e3e..8c900be92b4 100644 --- a/dll/cpl/inetcpl/inetcpl.rc +++ b/dll/cpl/inetcpl/inetcpl.rc @@ -19,7 +19,11 @@ * */ -#include "inetcpl.h" +#include +#include +#include + +#include "resource.h" #include diff --git a/dll/cpl/inetcpl/lang/He.rc b/dll/cpl/inetcpl/lang/He.rc index 9c32eb07e5f..804e34fb653 100644 --- a/dll/cpl/inetcpl/lang/He.rc +++ b/dll/cpl/inetcpl/lang/He.rc @@ -22,8 +22,6 @@ * */ -#include "inetcpl.h" - #pragma code_page(65001) LANGUAGE LANG_HEBREW, SUBLANG_DEFAULT diff --git a/dll/cpl/inetcpl/lang/Sr.rc b/dll/cpl/inetcpl/lang/Sr.rc index 46803a800e3..fe4ea892ecd 100644 --- a/dll/cpl/inetcpl/lang/Sr.rc +++ b/dll/cpl/inetcpl/lang/Sr.rc @@ -20,8 +20,6 @@ * */ -#include "inetcpl.h" - #pragma code_page(65001) LANGUAGE LANG_SERBIAN, SUBLANG_SERBIAN_CYRILLIC diff --git a/dll/cpl/inetcpl/lang/de-DE.rc b/dll/cpl/inetcpl/lang/de-DE.rc index 42a23417263..b4e9e71817e 100644 --- a/dll/cpl/inetcpl/lang/de-DE.rc +++ b/dll/cpl/inetcpl/lang/de-DE.rc @@ -19,8 +19,6 @@ * */ -#include "inetcpl.h" - #pragma code_page(65001) LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL diff --git a/dll/cpl/inetcpl/lang/en-US.rc b/dll/cpl/inetcpl/lang/en-US.rc index 7c71f303966..7d56aa4c221 100644 --- a/dll/cpl/inetcpl/lang/en-US.rc +++ b/dll/cpl/inetcpl/lang/en-US.rc @@ -19,8 +19,6 @@ * */ -#include "inetcpl.h" - LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT /* "General" propsheet */ diff --git a/dll/cpl/inetcpl/lang/fr-FR.rc b/dll/cpl/inetcpl/lang/fr-FR.rc index 50bcf8bdbe8..3d417a4fccf 100644 --- a/dll/cpl/inetcpl/lang/fr-FR.rc +++ b/dll/cpl/inetcpl/lang/fr-FR.rc @@ -20,8 +20,6 @@ * */ -#include "inetcpl.h" - LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL /* UTF-8 */ diff --git a/dll/cpl/inetcpl/lang/it-IT.rc b/dll/cpl/inetcpl/lang/it-IT.rc index 5101bd3ea37..11712559652 100644 --- a/dll/cpl/inetcpl/lang/it-IT.rc +++ b/dll/cpl/inetcpl/lang/it-IT.rc @@ -19,8 +19,6 @@ * */ -#include "inetcpl.h" - /* UTF-8 */ #pragma code_page(65001) diff --git a/dll/cpl/inetcpl/lang/ja-JP.rc b/dll/cpl/inetcpl/lang/ja-JP.rc index b0e54b506c2..f864f8534f0 100644 --- a/dll/cpl/inetcpl/lang/ja-JP.rc +++ b/dll/cpl/inetcpl/lang/ja-JP.rc @@ -20,8 +20,6 @@ * */ -#include "inetcpl.h" - /* UTF-8 */ #pragma code_page(65001) diff --git a/dll/cpl/inetcpl/lang/ko-KR.rc b/dll/cpl/inetcpl/lang/ko-KR.rc index b393cc97b06..9fc8e001142 100644 --- a/dll/cpl/inetcpl/lang/ko-KR.rc +++ b/dll/cpl/inetcpl/lang/ko-KR.rc @@ -20,8 +20,6 @@ * */ -#include "inetcpl.h" - #pragma code_page(65001) LANGUAGE LANG_KOREAN, SUBLANG_DEFAULT diff --git a/dll/cpl/inetcpl/lang/lt-LT.rc b/dll/cpl/inetcpl/lang/lt-LT.rc index 2f4aed120bf..19236cb8b14 100644 --- a/dll/cpl/inetcpl/lang/lt-LT.rc +++ b/dll/cpl/inetcpl/lang/lt-LT.rc @@ -19,8 +19,6 @@ * */ -#include "inetcpl.h" - /* UTF-8 */ #pragma code_page(65001) diff --git a/dll/cpl/inetcpl/lang/nl-NL.rc b/dll/cpl/inetcpl/lang/nl-NL.rc index e79857b1d42..19bda0d19ca 100644 --- a/dll/cpl/inetcpl/lang/nl-NL.rc +++ b/dll/cpl/inetcpl/lang/nl-NL.rc @@ -19,8 +19,6 @@ * */ -#include "inetcpl.h" - LANGUAGE LANG_DUTCH, SUBLANG_NEUTRAL /* "General" propsheet */ diff --git a/dll/cpl/inetcpl/lang/pl-PL.rc b/dll/cpl/inetcpl/lang/pl-PL.rc index 67a2c469d8b..f262ea9c049 100644 --- a/dll/cpl/inetcpl/lang/pl-PL.rc +++ b/dll/cpl/inetcpl/lang/pl-PL.rc @@ -19,8 +19,6 @@ * */ -#include "inetcpl.h" - LANGUAGE LANG_POLISH, SUBLANG_DEFAULT /* UTF-8 */ diff --git a/dll/cpl/inetcpl/lang/pt-BR.rc b/dll/cpl/inetcpl/lang/pt-BR.rc index d6339183e28..0be7eb7332a 100644 --- a/dll/cpl/inetcpl/lang/pt-BR.rc +++ b/dll/cpl/inetcpl/lang/pt-BR.rc @@ -19,8 +19,6 @@ * */ -#include "inetcpl.h" - #pragma code_page(65001) LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN diff --git a/dll/cpl/inetcpl/lang/ro-RO.rc b/dll/cpl/inetcpl/lang/ro-RO.rc index d0e1d733030..a1f571736ff 100644 --- a/dll/cpl/inetcpl/lang/ro-RO.rc +++ b/dll/cpl/inetcpl/lang/ro-RO.rc @@ -21,8 +21,6 @@ * CHANGE LOG: 2011-11-09 initial translation */ -#include "inetcpl.h" - LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL /* "General" propsheet */ diff --git a/dll/cpl/inetcpl/lang/ru-RU.rc b/dll/cpl/inetcpl/lang/ru-RU.rc index 5d892e091c7..d91e8dbe2ce 100644 --- a/dll/cpl/inetcpl/lang/ru-RU.rc +++ b/dll/cpl/inetcpl/lang/ru-RU.rc @@ -19,8 +19,6 @@ * */ -#include "inetcpl.h" - /* UTF-8 */ #pragma code_page(65001) diff --git a/dll/cpl/inetcpl/lang/sv-SE.rc b/dll/cpl/inetcpl/lang/sv-SE.rc index 14abe5959a7..21525504b4d 100644 --- a/dll/cpl/inetcpl/lang/sv-SE.rc +++ b/dll/cpl/inetcpl/lang/sv-SE.rc @@ -19,8 +19,6 @@ * */ -#include "inetcpl.h" - #pragma code_page(65001) LANGUAGE LANG_SWEDISH, SUBLANG_NEUTRAL diff --git a/dll/cpl/inetcpl/lang/tr-TR.rc b/dll/cpl/inetcpl/lang/tr-TR.rc index 0fa63e7a64d..6e4ce61f353 100644 --- a/dll/cpl/inetcpl/lang/tr-TR.rc +++ b/dll/cpl/inetcpl/lang/tr-TR.rc @@ -19,8 +19,6 @@ * */ -#include "inetcpl.h" - /* UTF-8 */ #pragma code_page(65001) diff --git a/dll/cpl/inetcpl/lang/uk-UA.rc b/dll/cpl/inetcpl/lang/uk-UA.rc index 2186904a7df..e14aca54538 100644 --- a/dll/cpl/inetcpl/lang/uk-UA.rc +++ b/dll/cpl/inetcpl/lang/uk-UA.rc @@ -20,8 +20,6 @@ * */ -#include "inetcpl.h" - /* UTF-8 */ #pragma code_page(65001) diff --git a/dll/cpl/inetcpl/resource.h b/dll/cpl/inetcpl/resource.h new file mode 100644 index 00000000000..7c596bcef7b --- /dev/null +++ b/dll/cpl/inetcpl/resource.h @@ -0,0 +1,52 @@ +#pragma once + +/* icons */ +#define ICO_MAIN 100 +#define ICO_INTERNET 1313 + +/* strings */ +#define IDS_CPL_NAME 1 +#define IDS_CPL_INFO 2 +#define IDS_SEC_SETTINGS 0x10 +#define IDS_SEC_LEVEL0 0x100 +#define IDS_SEC_LEVEL1 0x101 +#define IDS_SEC_LEVEL2 0x102 +#define IDS_SEC_LEVEL3 0x103 +#define IDS_SEC_LEVEL4 0x104 +#define IDS_SEC_LEVEL5 0x105 +#define IDS_SEC_LEVEL0_INFO 0x200 +#define IDS_SEC_LEVEL1_INFO 0x210 +#define IDS_SEC_LEVEL2_INFO 0x220 +#define IDS_SEC_LEVEL3_INFO 0x230 +#define IDS_SEC_LEVEL4_INFO 0x240 +#define IDS_SEC_LEVEL5_INFO 0x250 + +/* dialogs */ +#define IDC_STATIC -1 + +#define IDD_GENERAL 1000 +#define IDC_HOME_EDIT 1000 +#define IDC_HOME_CURRENT 1001 +#define IDC_HOME_DEFAULT 1002 +#define IDC_HOME_BLANK 1003 +#define IDC_HISTORY_DELETE 1004 +#define IDC_HISTORY_SETTINGS 1005 + +#define IDD_DELETE_HISTORY 1010 +#define IDC_DELETE_TEMP_FILES 1011 +#define IDC_DELETE_COOKIES 1012 +#define IDC_DELETE_HISTORY 1013 +#define IDC_DELETE_FORM_DATA 1014 +#define IDC_DELETE_PASSWORDS 1015 + +#define IDD_SECURITY 2000 +#define IDC_SEC_LISTVIEW 2001 +#define IDC_SEC_ZONE_INFO 2002 +#define IDC_SEC_GROUP 2003 +#define IDC_SEC_TRACKBAR 2004 +#define IDC_SEC_LEVEL 2005 +#define IDC_SEC_LEVEL_INFO 2006 + +#define IDD_CONTENT 4000 +#define IDC_CERT 4100 +#define IDC_CERT_PUBLISHER 4101 diff --git a/dll/cpl/inetcpl/security.c b/dll/cpl/inetcpl/security.c index 596103ff40e..20f5a1955c8 100644 --- a/dll/cpl/inetcpl/security.c +++ b/dll/cpl/inetcpl/security.c @@ -19,31 +19,7 @@ * */ -#define COBJMACROS -#define CONST_VTABLE -#define NONAMELESSUNION - -#define WIN32_NO_STATUS -#define _INC_WINDOWS -#define COM_NO_WINDOWS_H - -#include -#include -#include -#include -//#include -//#include "commctrl.h" - -//#include "ole2.h" -//#include "urlmon.h" -//#include "initguid.h" -#include -#include - #include "inetcpl.h" -#include - -WINE_DEFAULT_DEBUG_CHANNEL(inetcpl); typedef struct secdlg_data_s { HWND hsec; /* security propsheet */ diff --git a/dll/cpl/input/add.c b/dll/cpl/input/add.c index 5caa53d1e8a..e7e357a7880 100644 --- a/dll/cpl/input/add.c +++ b/dll/cpl/input/add.c @@ -8,7 +8,6 @@ * 06-09-2007 Created */ -#include "resource.h" #include "input.h" static HWND hLangList; diff --git a/dll/cpl/input/input.c b/dll/cpl/input/input.c index 9432ca47473..c5c6b5fcdbe 100644 --- a/dll/cpl/input/input.c +++ b/dll/cpl/input/input.c @@ -10,6 +10,8 @@ #include "input.h" +#include + #define NUM_APPLETS (1) LONG CALLBACK SystemApplet(VOID); diff --git a/dll/cpl/input/input.h b/dll/cpl/input/input.h index d962fb98825..ec4eb7ca0df 100644 --- a/dll/cpl/input/input.h +++ b/dll/cpl/input/input.h @@ -1,13 +1,12 @@ -#define WIN32_NO_STATUS #include + +#define WIN32_NO_STATUS #include #include #include #include -#include #include #include -#include #include #include "resource.h" diff --git a/dll/cpl/input/lang/ro-RO.rc b/dll/cpl/input/lang/ro-RO.rc index e49609309f2..0de7c28c25f 100644 --- a/dll/cpl/input/lang/ro-RO.rc +++ b/dll/cpl/input/lang/ro-RO.rc @@ -1,4 +1,4 @@ -/* 2011.10.30 - Fulea Ștefan: minor changes */ +/* Ștefan Fulea (stefan dot fulea at mail dot md) */ LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL @@ -9,7 +9,7 @@ FONT 8, "MS Shell Dlg" BEGIN LTEXT "Gestionați serviciile aferente limbilor de intrare utilizate în sistem. Utilizați butoanele pentru a aduce modificări listei.", -1, 9, 6, 238, 25 CONTROL "TEXT", IDC_KEYLAYOUT_LIST, "SYSLISTVIEW32", WS_BORDER | WS_VSCROLL | WS_TABSTOP | LVS_SORTASCENDING | LVS_REPORT | 0x0000808D, 8, 36, 237, 101 - PUSHBUTTON "Re&stabilește opțiunile implicite", IDC_SET_DEFAULT, 101, 159, 144, 14 + PUSHBUTTON "&Restabilește opțiunile implicite", IDC_SET_DEFAULT, 101, 159, 144, 14 PUSHBUTTON "A&dăugare…", IDC_ADD_BUTTON, 27, 142, 70, 14 PUSHBUTTON "&Elimină", IDC_REMOVE_BUTTON, 101, 142, 70, 14 PUSHBUTTON "&Proprietăți…", IDC_PROP_BUTTON, 175, 142, 70, 14 @@ -19,12 +19,12 @@ END IDD_PROPPAGEADVANCEDSETTINGS DIALOGEX 0, 0, 254, 228 STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Advanced Settings" +CAPTION "Configurație avansată" FONT 8, "MS Shell Dlg" BEGIN - GROUPBOX "System Configuration", -1, 7, 7, 240, 70 - AUTOCHECKBOX "&Turn off advanced text services", IDC_TURNOFFTEXTSVCS_CB, 14, 20, 130, 12 - LTEXT "Select this check box to turn off advanced text services in all programs.\nThis is not recommended for East Asian users because this closes the language bar.", -1, 14, 40, 230, 35 + GROUPBOX "Configurație de sistem", -1, 7, 7, 240, 70 + AUTOCHECKBOX "&Dezactivează serviciile avansate de text", IDC_TURNOFFTEXTSVCS_CB, 14, 20, 130, 12 + LTEXT "Selectați această bifă pentru a dezactiva serviciile avansate de text în toate programele.\nAceasta nu se recomandă pentru utilizatorii de limbi est-asiatice, deoarece va duce la închiderea barei de limbi.", -1, 14, 40, 230, 35 END IDD_KEYSETTINGS DIALOGEX 0, 0, 272, 163 diff --git a/dll/cpl/input/settings.c b/dll/cpl/input/settings.c index 131de5af87d..51c1de0d845 100644 --- a/dll/cpl/input/settings.c +++ b/dll/cpl/input/settings.c @@ -11,6 +11,8 @@ #include "input.h" +#include + static HWND MainDlgWnd; // for SaveInputLang() static INT OldLayoutNum; diff --git a/dll/cpl/intl/generalp.c b/dll/cpl/intl/generalp.c index 885bd90ef96..398b15304c8 100644 --- a/dll/cpl/intl/generalp.c +++ b/dll/cpl/intl/generalp.c @@ -27,6 +27,8 @@ #include "intl.h" +#include + #define SAMPLE_NUMBER _T("123456789") #define NO_FLAG 0 diff --git a/dll/cpl/intl/intl.c b/dll/cpl/intl/intl.c index 76758edad3d..197d32d1696 100644 --- a/dll/cpl/intl/intl.c +++ b/dll/cpl/intl/intl.c @@ -25,6 +25,8 @@ #include "intl.h" +#include + #define NUM_APPLETS (1) static LONG APIENTRY diff --git a/dll/cpl/intl/intl.h b/dll/cpl/intl/intl.h index 7fb1d2038b7..ccbf011f9b7 100644 --- a/dll/cpl/intl/intl.h +++ b/dll/cpl/intl/intl.h @@ -1,16 +1,15 @@ -#define WIN32_NO_STATUS #include + +#define WIN32_NO_STATUS #include #include #include #include #include -#include #include #include #include #include -#include #include "resource.h" diff --git a/dll/cpl/intl/lang/ro-RO.rc b/dll/cpl/intl/lang/ro-RO.rc index ef6d874c7ee..25f0225ac1c 100644 --- a/dll/cpl/intl/lang/ro-RO.rc +++ b/dll/cpl/intl/lang/ro-RO.rc @@ -1,4 +1,4 @@ -/* 2011.11.14 - Fulea Ștefan: minor changes */ +/* Ștefan Fulea (stefan dot fulea at mail dot md) */ LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL diff --git a/dll/cpl/intl/languages.c b/dll/cpl/intl/languages.c index 28323d782c6..00831e89147 100644 --- a/dll/cpl/intl/languages.c +++ b/dll/cpl/intl/languages.c @@ -1,5 +1,7 @@ #include "intl.h" +#include + /* Property page dialog callback */ INT_PTR CALLBACK LanguagesPageProc(HWND hwndDlg, diff --git a/dll/cpl/main/lang/ro-RO.rc b/dll/cpl/main/lang/ro-RO.rc index 654015c723b..6252bd31aaa 100644 --- a/dll/cpl/main/lang/ro-RO.rc +++ b/dll/cpl/main/lang/ro-RO.rc @@ -83,7 +83,7 @@ BEGIN LISTBOX IDC_LISTBOX_CURSOR, 5, 68, 236, 124, WS_VISIBLE | WS_BORDER | WS_TABSTOP | WS_VSCROLL | LBS_OWNERDRAWFIXED | LBS_NOTIFY CHECKBOX "Acti&vează umbra indicatorului", IDC_CHECK_CURSOR_SHADOW, 5, 198, 105, 10 PUSHBUTTON "Indicator i&mplicit", IDC_BUTTON_USE_DEFAULT_CURSOR, 117, 196, 65, 14 - PUSHBUTTON "&Răsfoire…", IDC_BUTTON_BROWSE_CURSOR, 186, 196, 55, 14 + PUSHBUTTON "Spe&cificare…", IDC_BUTTON_BROWSE_CURSOR, 186, 196, 55, 14 END IDD_CURSOR_SCHEME_SAVEAS DIALOGEX 0, 0, 192, 53 diff --git a/dll/cpl/main/main.h b/dll/cpl/main/main.h index 596e62b68da..7876ca5ab74 100644 --- a/dll/cpl/main/main.h +++ b/dll/cpl/main/main.h @@ -1,16 +1,14 @@ +#include + #define WIN32_NO_STATUS #define _INC_WINDOWS #define COM_NO_WINDOWS_H -#include + #include #include #include #include -#include #include -#include -#include -#include #include #include #include diff --git a/dll/cpl/main/mouse.c b/dll/cpl/main/mouse.c index 8197e496195..282ff5a67ee 100644 --- a/dll/cpl/main/mouse.c +++ b/dll/cpl/main/mouse.c @@ -29,6 +29,10 @@ #include "main.h" +#include +#include +#include + #define DEFAULT_DOUBLE_CLICK_SPEED 500 #define DEFAULT_CLICK_LOCK_TIME 2200 #define DEFAULT_MOUSE_SPEED 10 diff --git a/dll/cpl/mmsys/lang/ro-RO.rc b/dll/cpl/mmsys/lang/ro-RO.rc index 4731c2ad936..12c38552c0e 100644 --- a/dll/cpl/mmsys/lang/ro-RO.rc +++ b/dll/cpl/mmsys/lang/ro-RO.rc @@ -40,7 +40,7 @@ BEGIN LTEXT "S&unete:", IDC_TEXT_SOUND, 8, 194, 80, 17, WS_DISABLED COMBOBOX IDC_SOUND_LIST, 8, 205, 155, 146, CBS_DROPDOWNLIST | CBS_DISABLENOSCROLL | CBS_SORT | WS_VSCROLL | WS_TABSTOP | WS_DISABLED PUSHBUTTON "", IDC_PLAY_SOUND, 168, 205, 15, 15, WS_DISABLED | BS_ICON - PUSHBUTTON "&Răsfoire…", IDC_BROWSE_SOUND, 188, 205, 50, 15, WS_DISABLED + PUSHBUTTON "Spe&cificare…", IDC_BROWSE_SOUND, 188, 205, 50, 15, WS_DISABLED END IDD_AUDIO DIALOGEX 0, 0, 246, 228 diff --git a/dll/cpl/mmsys/mmsys.c b/dll/cpl/mmsys/mmsys.c index 0b0988bd9aa..b0c56de366d 100644 --- a/dll/cpl/mmsys/mmsys.c +++ b/dll/cpl/mmsys/mmsys.c @@ -11,6 +11,13 @@ #include "mmsys.h" +#include +#include +#include + +#include +#include + typedef enum { HWPD_STANDARDLIST = 0, diff --git a/dll/cpl/mmsys/mmsys.h b/dll/cpl/mmsys/mmsys.h index 71417b6ecef..0b903a434ef 100644 --- a/dll/cpl/mmsys/mmsys.h +++ b/dll/cpl/mmsys/mmsys.h @@ -1,23 +1,19 @@ +#include + #define WIN32_NO_STATUS #define _INC_WINDOWS #define COM_NO_WINDOWS_H -#include + #include #include #include #include -#include #include -#include #include #include #include -#include #include -#include -#include -#include -#include + #include "resource.h" //typedef LONG (CALLBACK *APPLET_PROC)(VOID); diff --git a/dll/cpl/mmsys/sounds.c b/dll/cpl/mmsys/sounds.c index ee7bc8d58ef..3fffd72b208 100644 --- a/dll/cpl/mmsys/sounds.c +++ b/dll/cpl/mmsys/sounds.c @@ -9,6 +9,9 @@ #include "mmsys.h" +#include +#include + struct __APP_MAP__; typedef struct __LABEL_MAP__ diff --git a/dll/cpl/mmsys/volume.c b/dll/cpl/mmsys/volume.c index 9d1957a0aa9..21127e16785 100644 --- a/dll/cpl/mmsys/volume.c +++ b/dll/cpl/mmsys/volume.c @@ -9,6 +9,8 @@ #include "mmsys.h" +#include + #define VOLUME_DIVIDER 0xFFF typedef struct _IMGINFO diff --git a/dll/cpl/powercfg/advanced.c b/dll/cpl/powercfg/advanced.c index 9795d454045..f0bea272ae6 100644 --- a/dll/cpl/powercfg/advanced.c +++ b/dll/cpl/powercfg/advanced.c @@ -9,10 +9,6 @@ * Dmitry Chapyshev (lentind@yandex.ru) */ -//#ifndef NSTATUS -//typedef long NTSTATUS; -//#endif - #include "powercfg.h" HWND hAdv = 0; diff --git a/dll/cpl/powercfg/hibernate.c b/dll/cpl/powercfg/hibernate.c index 181f2cdf15d..bb56167f51c 100644 --- a/dll/cpl/powercfg/hibernate.c +++ b/dll/cpl/powercfg/hibernate.c @@ -9,10 +9,6 @@ * Dmitry Chapyshev (lentind@yandex.ru) */ -//#ifndef NSTATUS -//typedef long NTSTATUS; -//#endif - #include "powercfg.h" BOOLEAN Pos_InitData(); diff --git a/dll/cpl/powercfg/powercfg.c b/dll/cpl/powercfg/powercfg.c index 047dd336aaa..8c080803d5a 100644 --- a/dll/cpl/powercfg/powercfg.c +++ b/dll/cpl/powercfg/powercfg.c @@ -11,6 +11,9 @@ #include "powercfg.h" +#include +#include + #define NUM_APPLETS (1) static LONG APIENTRY Applet1(HWND hwnd, UINT uMsg, LPARAM wParam, LPARAM lParam); diff --git a/dll/cpl/powercfg/powercfg.h b/dll/cpl/powercfg/powercfg.h index 5dcdd3f8e32..bec12e94330 100644 --- a/dll/cpl/powercfg/powercfg.h +++ b/dll/cpl/powercfg/powercfg.h @@ -1,15 +1,15 @@ -#include -#define WIN32_NO_STATUS +#include + #define _INC_WINDOWS #define COM_NO_WINDOWS_H -#include + +#include +#define WIN32_NO_STATUS #include #include -#include #include #include #include -#include #include #include "resource.h" diff --git a/dll/cpl/sysdm/environment.c b/dll/cpl/sysdm/environment.c index 9a4b192c834..ba59a1c948e 100644 --- a/dll/cpl/sysdm/environment.c +++ b/dll/cpl/sysdm/environment.c @@ -9,7 +9,6 @@ #include "precomp.h" - typedef struct _VARIABLE_DATA { DWORD dwType; diff --git a/dll/cpl/sysdm/general.c b/dll/cpl/sysdm/general.c index 4502142c6ee..3060314d390 100644 --- a/dll/cpl/sysdm/general.c +++ b/dll/cpl/sysdm/general.c @@ -9,9 +9,11 @@ * */ - #include "precomp.h" +#include +#include + #define ANIM_STEP 2 #define ANIM_TIME 50 diff --git a/dll/cpl/sysdm/hardprof.c b/dll/cpl/sysdm/hardprof.c index 75fe0717229..007acb1ef90 100644 --- a/dll/cpl/sysdm/hardprof.c +++ b/dll/cpl/sysdm/hardprof.c @@ -8,6 +8,7 @@ */ #include "precomp.h" + #include typedef struct _PROFILE diff --git a/dll/cpl/sysdm/lang/pl-PL.rc b/dll/cpl/sysdm/lang/pl-PL.rc index ccb9fba3376..48f3d3eb08c 100644 --- a/dll/cpl/sysdm/lang/pl-PL.rc +++ b/dll/cpl/sysdm/lang/pl-PL.rc @@ -65,7 +65,7 @@ BEGIN LTEXT "Informacje o uruchamianiu systemu, awariach systemu i debugowaniu.", IDC_STATIC, 16, 144, 210, 19 PUSHBUTTON "Us&tawienia", IDC_STAREC, 194, 162, 50, 14 PUSHBUTTON "Ustawienia systemowe", IDC_SYSSETTINGS, 2, 192, 80, 15//FIXME - PUSHBUTTON "Z&mienne Środowiskowe", IDC_ENVVAR, 84, 192, 80, 14 + PUSHBUTTON "Z&mienne środowiskowe", IDC_ENVVAR, 84, 192, 80, 14 PUSHBUTTON "&Raportowanie błędów", IDC_ERRORREPORT, 170, 192, 80, 14 END @@ -219,7 +219,7 @@ END IDD_ENVIRONMENT_VARIABLES DIALOGEX 6, 18, 252, 245 STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Zmienne Środowiskowe" +CAPTION "Zmienne środowiskowe" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN GROUPBOX "Zmienne użytkownika", IDC_STATIC, 7, 12, 238, 100 diff --git a/dll/cpl/sysdm/lang/ro-RO.rc b/dll/cpl/sysdm/lang/ro-RO.rc index 838152b31a9..dc920d825c6 100644 --- a/dll/cpl/sysdm/lang/ro-RO.rc +++ b/dll/cpl/sysdm/lang/ro-RO.rc @@ -1,4 +1,4 @@ -/* 2011.12.18 - Fulea Ștefan: minor changes */ +/* Ștefan Fulea (stefan dot fulea at mail dot md) */ LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL @@ -32,10 +32,10 @@ BEGIN ICON IDI_DEVMGR, IDC_STATIC, 12, 18, 23, 21, SS_ICON LTEXT "Instrumentul Gestionar de dispozitive enumeră toate componentele fizice instalate în calculator. Utilizați acest Gestionar de dispozitive pentru configurea unui dispozitiv.", IDC_STATIC, 42, 18, 204, 24 PUSHBUTTON "Deschidere &Gestionar…", IDC_HARDWARE_DEVICE_MANAGER, 154, 48, 90, 15 - GROUPBOX "Expert de adăugare a componentelor fizice", IDC_STATIC, 6, 79, 244, 61 + GROUPBOX "Asistent de adăugare a componentelor fizice", IDC_STATIC, 6, 79, 244, 61 ICON IDI_DEVMGR, IDC_STATIC, 12, 90, 23, 21, SS_ICON - LTEXT "Acest Expert vă permite instalarea și depanarea componentelor fizice ale calculatorului.", IDC_STATIC, 42, 90, 204, 24 - PUSHBUTTON "Deschidere E&xpert…", IDC_HARDWARE_WIZARD, 154, 120, 90, 15 + LTEXT "Acest asistent vă permite instalarea și depanarea componentelor fizice ale calculatorului.", IDC_STATIC, 42, 90, 204, 24 + PUSHBUTTON "Deschidere Asist&ent…", IDC_HARDWARE_WIZARD, 154, 120, 90, 15 GROUPBOX "Profiluri ale dispozitivelor", IDC_STATIC, 6, 149, 244, 61 ICON IDI_HARDPROF, IDC_STATIC, 12, 160, 23, 21, SS_ICON LTEXT "Profiluri ale dispozitivelor este un instrument de gestiune a diferitelor configurații ale dispozitivelor.", IDC_STATIC, 42, 160, 204, 24 @@ -68,7 +68,7 @@ CAPTION "Opțiuni de sistem" FONT 8, "MS Shell Dlg", 0, 0, 0x1 BEGIN GROUPBOX "Informații versiune", IDC_STATIC, 6, 3, 210, 73 - CONTROL "Solicit autoraportarea sistemului ca stație de lucru", IDC_REPORTASWORKSTATION, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 16, 57, 170, 10 + CONTROL "Solicit &autoraportarea sistemului ca stație de lucru", IDC_REPORTASWORKSTATION, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 16, 57, 170, 10 LTEXT "ReactOS este construit ca sistem server și se raportează ca atare. Bifați această căsuță pentru a dedica sistemul exclusiv aplicațiilor.", IDC_STATIC, 15, 15, 183, 41 PUSHBUTTON "Î&nchide", IDOK, 166, 83, 50, 14 END diff --git a/dll/cpl/sysdm/precomp.h b/dll/cpl/sysdm/precomp.h index 279167cedb9..4b5151f6698 100644 --- a/dll/cpl/sysdm/precomp.h +++ b/dll/cpl/sysdm/precomp.h @@ -1,25 +1,21 @@ #ifndef __CPL_PRECOMP_H #define __CPL_PRECOMP_H -#include -#define WIN32_NO_STATUS +#include + #define _INC_WINDOWS #define COM_NO_WINDOWS_H -#include + +#include +#define WIN32_NO_STATUS #include #include #include #include -#include #include -#include #include -#include #include -#include #include -#include -#include #include "resource.h" diff --git a/dll/cpl/sysdm/startrec.c b/dll/cpl/sysdm/startrec.c index 309e01de3d0..33ca6826b2c 100644 --- a/dll/cpl/sysdm/startrec.c +++ b/dll/cpl/sysdm/startrec.c @@ -10,6 +10,9 @@ #include "precomp.h" +#include +#include + typedef struct _STARTINFO { WCHAR szFreeldrIni[MAX_PATH + 15]; diff --git a/dll/cpl/sysdm/sysdm.c b/dll/cpl/sysdm/sysdm.c index b03a0eebd37..b9af4698f74 100644 --- a/dll/cpl/sysdm/sysdm.c +++ b/dll/cpl/sysdm/sysdm.c @@ -9,6 +9,9 @@ #include "precomp.h" +#include +#include + LONG CALLBACK SystemApplet(VOID); HINSTANCE hApplet = 0; HWND hCPLWindow; diff --git a/dll/cpl/sysdm/userprofile.c b/dll/cpl/sysdm/userprofile.c index cd0da0e1a17..29cab5a4a58 100644 --- a/dll/cpl/sysdm/userprofile.c +++ b/dll/cpl/sysdm/userprofile.c @@ -10,7 +10,6 @@ #include "precomp.h" - static VOID SetListViewColumns(HWND hwndListView) { diff --git a/dll/cpl/timedate/clock.c b/dll/cpl/timedate/clock.c index eafe1bf2e8f..d4359505012 100644 --- a/dll/cpl/timedate/clock.c +++ b/dll/cpl/timedate/clock.c @@ -11,6 +11,8 @@ #include "timedate.h" +#include + typedef struct _CLOCKDATA { HBRUSH hGreyBrush; diff --git a/dll/cpl/timedate/monthcal.c b/dll/cpl/timedate/monthcal.c index c66014e5629..3caf00fc96f 100644 --- a/dll/cpl/timedate/monthcal.c +++ b/dll/cpl/timedate/monthcal.c @@ -9,6 +9,8 @@ #include "timedate.h" +#include + static const WCHAR szMonthCalWndClass[] = L"MonthCalWnd"; #define MONTHCAL_HEADERBG COLOR_INACTIVECAPTION diff --git a/dll/cpl/timedate/ntpclient.c b/dll/cpl/timedate/ntpclient.c index 6df57cf9122..7f2b524da4f 100644 --- a/dll/cpl/timedate/ntpclient.c +++ b/dll/cpl/timedate/ntpclient.c @@ -9,6 +9,8 @@ #include "timedate.h" +#include + #define TIMEOUT 4000 /* 4 second timeout */ typedef struct _INFO diff --git a/dll/cpl/timedate/timedate.h b/dll/cpl/timedate/timedate.h index d1e8c5d24cc..ecdb2a5f1ad 100644 --- a/dll/cpl/timedate/timedate.h +++ b/dll/cpl/timedate/timedate.h @@ -1,16 +1,16 @@ -#define WIN32_NO_STATUS #include + +#define _INC_WINDOWS +#define COM_NO_WINDOWS_H +#define WIN32_NO_STATUS + #include #include #include #include #include #include -#include -#define _INC_WINDOWS -#include #include -#include #include #include diff --git a/dll/cpl/usrmgr/lang/ro-RO.rc b/dll/cpl/usrmgr/lang/ro-RO.rc index 5af6286fa43..9465d636370 100644 --- a/dll/cpl/usrmgr/lang/ro-RO.rc +++ b/dll/cpl/usrmgr/lang/ro-RO.rc @@ -1,4 +1,4 @@ -/* 2012.03.10 - Fulea Ștefan: resource first addition */ +/* Ștefan Fulea (stefan dot fulea at mail dot md) */ LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL @@ -11,11 +11,11 @@ FONT 8, "MS Shell Dlg" BEGIN CONTROL "", IDC_USERS_LIST, "SysListView32", LVS_REPORT | LVS_EDITLABELS | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_SORTASCENDING | WS_BORDER | WS_TABSTOP, 7, 7, 238, 85, WS_EX_CLIENTEDGE - PUSHBUTTON "A&dd...", IDC_USERS_ADD, 87, 98, 50, 14 - PUSHBUTTON "&Remove", IDC_USERS_REMOVE, 141, 98, 50, 14 - PUSHBUTTON "Pr&operties", IDC_USERS_PROPERTIES, 195, 98, 50, 14 - AUTOCHECKBOX "Require user name and password on system startup.", IDC_USERS_STARTUP_REQUIRE, 10, 118, 200, 14, WS_DISABLED - PUSHBUTTON "Reset Password", IDC_USERS_RESET, 165, 200, 80, 14, WS_DISABLED + PUSHBUTTON "A&dăugare…", IDC_USERS_ADD, 87, 98, 50, 14 + PUSHBUTTON "&Elimină", IDC_USERS_REMOVE, 141, 98, 50, 14 + PUSHBUTTON "&Proprietăți", IDC_USERS_PROPERTIES, 195, 98, 50, 14 + AUTOCHECKBOX "S&olicită la pornirea sistemului numele de utilizator și parola.", IDC_USERS_STARTUP_REQUIRE, 10, 118, 200, 14, WS_DISABLED + PUSHBUTTON "Destit&uie parola", IDC_USERS_RESET, 165, 200, 80, 14, WS_DISABLED END IDD_GROUPS DIALOGEX 0, 0, 252, 223 @@ -25,9 +25,9 @@ FONT 8, "MS Shell Dlg" BEGIN CONTROL "", IDC_GROUPS_LIST, "SysListView32", LVS_REPORT | LVS_EDITLABELS | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_SORTASCENDING | WS_BORDER | WS_TABSTOP, 7, 7, 238, 85, WS_EX_CLIENTEDGE - PUSHBUTTON "A&dd...", IDC_GROUPS_ADD, 87, 98, 50, 14 - PUSHBUTTON "&Remove", IDC_GROUPS_REMOVE, 141, 98, 50, 14 - PUSHBUTTON "Pr&operties", IDC_GROUPS_PROPERTIES, 195, 98, 50, 14 + PUSHBUTTON "A&dăugare…", IDC_GROUPS_ADD, 87, 98, 50, 14 + PUSHBUTTON "&Eliminare", IDC_GROUPS_REMOVE, 141, 98, 50, 14 + PUSHBUTTON "&Proprietăți", IDC_GROUPS_PROPERTIES, 195, 98, 50, 14 END IDD_EXTRA DIALOGEX 0, 0, 252, 223 @@ -64,7 +64,7 @@ BEGIN CONTROL "", IDC_USER_MEMBERSHIP_LIST, "SysListView32", LVS_REPORT | LVS_NOCOLUMNHEADER | LVS_SORTASCENDING | WS_BORDER | WS_TABSTOP, 7, 18, 238, 173, WS_EX_CLIENTEDGE PUSHBUTTON "A&dăugare…", IDC_USER_MEMBERSHIP_ADD, 7, 197, 50, 14 - PUSHBUTTON "Elimină", IDC_USER_MEMBERSHIP_REMOVE, 61, 197, 50, 14, WS_DISABLED + PUSHBUTTON "&Elimină", IDC_USER_MEMBERSHIP_REMOVE, 61, 197, 50, 14, WS_DISABLED END IDD_USER_PROFILE DIALOGEX 0, 0, 252, 223 @@ -99,7 +99,7 @@ BEGIN CONTROL "", IDC_GROUP_GENERAL_MEMBERS, "SysListView32", LVS_REPORT | LVS_NOCOLUMNHEADER | LVS_SHOWSELALWAYS | LVS_SORTASCENDING | WS_BORDER | WS_TABSTOP, 7, 74, 238, 117, WS_EX_CLIENTEDGE PUSHBUTTON "A&dăugare…", IDC_GROUP_GENERAL_ADD, 7, 197, 50, 14 - PUSHBUTTON "Elimină", IDC_GROUP_GENERAL_REMOVE, 61, 197, 50, 14, WS_DISABLED + PUSHBUTTON "&Elimină", IDC_GROUP_GENERAL_REMOVE, 61, 197, 50, 14, WS_DISABLED END IDD_CHANGE_PASSWORD DIALOGEX 0, 0, 267, 74 diff --git a/dll/cpl/wined3dcfg/general.c b/dll/cpl/wined3dcfg/general.c index 6314bf2e7a9..104649487aa 100644 --- a/dll/cpl/wined3dcfg/general.c +++ b/dll/cpl/wined3dcfg/general.c @@ -1,5 +1,7 @@ #include "wined3dcfg.h" +#include + static LONG ReadSetting(HKEY hKey, PWCHAR szKey, PWCHAR szBuffer, DWORD dwSize) { return RegQueryValueExW(hKey, szKey, NULL, NULL, (LPBYTE)szBuffer, &dwSize); diff --git a/dll/cpl/wined3dcfg/wined3dcfg.c b/dll/cpl/wined3dcfg/wined3dcfg.c index 006bf5cd863..7740d6c1195 100644 --- a/dll/cpl/wined3dcfg/wined3dcfg.c +++ b/dll/cpl/wined3dcfg/wined3dcfg.c @@ -1,5 +1,7 @@ #include "wined3dcfg.h" +#include + HINSTANCE hApplet = 0; LONG CALLBACK AppletInit(HWND hWnd) diff --git a/dll/cpl/wined3dcfg/wined3dcfg.h b/dll/cpl/wined3dcfg/wined3dcfg.h index 16789cfafb3..f1b3fc432ea 100644 --- a/dll/cpl/wined3dcfg/wined3dcfg.h +++ b/dll/cpl/wined3dcfg/wined3dcfg.h @@ -1,12 +1,10 @@ -#define WIN32_NO_STATUS #include + +#define WIN32_NO_STATUS #include #include -#include #include #include -#include -#include #include "resource.h" diff --git a/dll/directx/wine/amstream/amstream.c b/dll/directx/wine/amstream/amstream.c index dbf781f0487..7abc8152442 100644 --- a/dll/directx/wine/amstream/amstream.c +++ b/dll/directx/wine/amstream/amstream.c @@ -19,17 +19,7 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include - -#define COBJMACROS - -//#include "winbase.h" -//#include "wingdi.h" - #include "amstream_private.h" -#include - -WINE_DEFAULT_DEBUG_CHANNEL(amstream); typedef struct { IAMMultiMediaStream IAMMultiMediaStream_iface; diff --git a/dll/directx/wine/amstream/amstream_private.h b/dll/directx/wine/amstream/amstream_private.h index 479246f8a6d..83218ce064a 100644 --- a/dll/directx/wine/amstream/amstream_private.h +++ b/dll/directx/wine/amstream/amstream_private.h @@ -23,17 +23,13 @@ #define WIN32_NO_STATUS #define WIN32_LEAN_AND_MEAN +#define COBJMACROS -//#include - -//#include "windef.h" -//#include "winbase.h" -//#include "wtypes.h" -//#include "wingdi.h" -//#include "winuser.h" #include -#include -#include +#include + +#include +WINE_DEFAULT_DEBUG_CHANNEL(amstream); HRESULT AM_create(IUnknown *pUnkOuter, LPVOID *ppObj) DECLSPEC_HIDDEN; HRESULT AMAudioData_create(IUnknown *pUnkOuter, LPVOID *ppObj) DECLSPEC_HIDDEN; diff --git a/dll/directx/wine/amstream/audiodata.c b/dll/directx/wine/amstream/audiodata.c index 3a62a9f898f..c4f9b74e4f7 100644 --- a/dll/directx/wine/amstream/audiodata.c +++ b/dll/directx/wine/amstream/audiodata.c @@ -18,17 +18,8 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "wine/debug.h" - -#define COBJMACROS - -#include "winbase.h" #include "amstream_private.h" -#include "amstream.h" - -WINE_DEFAULT_DEBUG_CHANNEL(amstream); - typedef struct { IAudioData IAudioData_iface; LONG ref; diff --git a/dll/directx/wine/amstream/main.c b/dll/directx/wine/amstream/main.c index fbe472b886f..edba626e0c9 100644 --- a/dll/directx/wine/amstream/main.c +++ b/dll/directx/wine/amstream/main.c @@ -18,29 +18,9 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#define WIN32_NO_STATUS -#define WIN32_LEAN_AND_MEAN - -//#include -//#include - -#define COBJMACROS - -//#include "windef.h" -//#include "winbase.h" -//#include "winuser.h" -//#include "winerror.h" - -//#include -#include -#include - #include "amstream_private.h" -#include -#include - -WINE_DEFAULT_DEBUG_CHANNEL(amstream); +#include static HINSTANCE instance; static DWORD dll_ref = 0; diff --git a/dll/directx/wine/amstream/mediastream.c b/dll/directx/wine/amstream/mediastream.c index ef8b6f8f7c5..8b9fe3bf453 100644 --- a/dll/directx/wine/amstream/mediastream.c +++ b/dll/directx/wine/amstream/mediastream.c @@ -18,19 +18,7 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include - -#define COBJMACROS - -//#include "winbase.h" -//#include "wingdi.h" - -//#include "amstream_private.h" -#include - -//#include "ddstream.h" - -WINE_DEFAULT_DEBUG_CHANNEL(amstream); +#include "amstream_private.h" static HRESULT ddrawstreamsample_create(IDirectDrawMediaStream *parent, IDirectDrawStreamSample **ddraw_stream_sample); static HRESULT audiostreamsample_create(IAudioMediaStream *parent, IAudioData *audio_data, IAudioStreamSample **audio_stream_sample); diff --git a/dll/directx/wine/amstream/mediastreamfilter.c b/dll/directx/wine/amstream/mediastreamfilter.c index 8e89488638d..3ec6fcf62cd 100644 --- a/dll/directx/wine/amstream/mediastreamfilter.c +++ b/dll/directx/wine/amstream/mediastreamfilter.c @@ -18,23 +18,10 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include - -#define COBJMACROS - -//#include "winbase.h" -//#include "wingdi.h" -#include +#include "amstream_private.h" #include -//#include "amstream_private.h" -#include - -//#include "ddstream.h" - -WINE_DEFAULT_DEBUG_CHANNEL(amstream); - typedef struct MediaStreamFilter_InputPin { BaseInputPin pin; diff --git a/dll/directx/wine/d3d8/CMakeLists.txt b/dll/directx/wine/d3d8/CMakeLists.txt index 2dc5cf93822..437f393c4d1 100644 --- a/dll/directx/wine/d3d8/CMakeLists.txt +++ b/dll/directx/wine/d3d8/CMakeLists.txt @@ -18,12 +18,13 @@ list(APPEND SOURCE texture.c vertexdeclaration.c volume.c + guid.c version.rc ${CMAKE_CURRENT_BINARY_DIR}/d3d8.def) add_library(d3d8 SHARED ${SOURCE}) set_module_type(d3d8 win32dll UNICODE) -target_link_libraries(d3d8 wine) +target_link_libraries(d3d8 uuid wine) add_importlibs(d3d8 wined3d msvcrt kernel32 ntdll) add_pch(d3d8 d3d8_private.h) add_cd_file(TARGET d3d8 DESTINATION reactos/system32 FOR all) diff --git a/dll/directx/wine/d3d8/d3d8_private.h b/dll/directx/wine/d3d8/d3d8_private.h index 073c0f6ec82..6fb7296b9ec 100644 --- a/dll/directx/wine/d3d8/d3d8_private.h +++ b/dll/directx/wine/d3d8/d3d8_private.h @@ -25,16 +25,17 @@ #include +#include +#include + #define WIN32_NO_STATUS #define _INC_WINDOWS #define COM_NO_WINDOWS_H -#include -#include - #define NONAMELESSUNION #define NONAMELESSSTRUCT #define COBJMACROS + #include #include #include @@ -42,7 +43,6 @@ #include WINE_DEFAULT_DEBUG_CHANNEL(d3d8); -#include #include #include diff --git a/dll/directx/wine/d3d8/guid.c b/dll/directx/wine/d3d8/guid.c new file mode 100644 index 00000000000..92180083a26 --- /dev/null +++ b/dll/directx/wine/d3d8/guid.c @@ -0,0 +1,15 @@ +/* DO NOT USE THE PRECOMPILED HEADER FOR THIS FILE! */ + +#include + +#define WIN32_NO_STATUS +#define _INC_WINDOWS +#define COM_NO_WINDOWS_H + +#include +#include +#include +#include +#include + +/* NO CODE HERE, THIS IS JUST REQUIRED FOR THE GUID DEFINITIONS */ diff --git a/dll/directx/wine/d3d9/CMakeLists.txt b/dll/directx/wine/d3d9/CMakeLists.txt index bdf9d7ae373..0465e1bb711 100644 --- a/dll/directx/wine/d3d9/CMakeLists.txt +++ b/dll/directx/wine/d3d9/CMakeLists.txt @@ -20,6 +20,7 @@ list(APPEND SOURCE texture.c vertexdeclaration.c volume.c + guid.c version.rc ${CMAKE_CURRENT_BINARY_DIR}/d3d9_stubs.c ${CMAKE_CURRENT_BINARY_DIR}/d3d9.def) diff --git a/dll/directx/wine/d3d9/d3d9_private.h b/dll/directx/wine/d3d9/d3d9_private.h index f32ae4fd0ff..6ae0c4d56ae 100644 --- a/dll/directx/wine/d3d9/d3d9_private.h +++ b/dll/directx/wine/d3d9/d3d9_private.h @@ -25,16 +25,17 @@ #include +#include +#include + #define WIN32_NO_STATUS #define _INC_WINDOWS #define COM_NO_WINDOWS_H -#include -#include - #define NONAMELESSUNION #define NONAMELESSSTRUCT #define COBJMACROS + #include #include #include @@ -42,7 +43,6 @@ #include WINE_DEFAULT_DEBUG_CHANNEL(d3d9); -#include #include #include diff --git a/dll/directx/wine/d3d9/guid.c b/dll/directx/wine/d3d9/guid.c new file mode 100644 index 00000000000..5ccadd3a28b --- /dev/null +++ b/dll/directx/wine/d3d9/guid.c @@ -0,0 +1,15 @@ +/* DO NOT USE THE PRECOMPILED HEADER FOR THIS FILE! */ + +#include + +#define WIN32_NO_STATUS +#define _INC_WINDOWS +#define COM_NO_WINDOWS_H + +#include +#include +#include +#include +#include + +/* NO CODE HERE, THIS IS JUST REQUIRED FOR THE GUID DEFINITIONS */ diff --git a/dll/directx/wine/d3dcompiler_43/d3dcompiler_private.h b/dll/directx/wine/d3dcompiler_43/d3dcompiler_private.h index 4573762eb1b..c5304899ab3 100644 --- a/dll/directx/wine/d3dcompiler_43/d3dcompiler_private.h +++ b/dll/directx/wine/d3dcompiler_43/d3dcompiler_private.h @@ -25,20 +25,18 @@ #include #include +#include #include -#include -#include -#include - #define COBJMACROS #include #include #include - #include -#include +#include +#include +#include /* * This doesn't belong here, but for some functions it is possible to return that value, diff --git a/dll/directx/wine/d3dx9_36/CMakeLists.txt b/dll/directx/wine/d3dx9_36/CMakeLists.txt index b4144ac8d37..67206a49be3 100644 --- a/dll/directx/wine/d3dx9_36/CMakeLists.txt +++ b/dll/directx/wine/d3dx9_36/CMakeLists.txt @@ -21,6 +21,7 @@ list(APPEND SOURCE util.c volume.c xfile.c + guid.c ${CMAKE_CURRENT_BINARY_DIR}/d3dx9_36_stubs.c ${CMAKE_CURRENT_BINARY_DIR}/d3dx9_36.def) diff --git a/dll/directx/wine/d3dx9_36/d3dx9_36_private.h b/dll/directx/wine/d3dx9_36/d3dx9_36_private.h index 8d26b23bb7c..a505372de5f 100644 --- a/dll/directx/wine/d3dx9_36/d3dx9_36_private.h +++ b/dll/directx/wine/d3dx9_36/d3dx9_36_private.h @@ -25,21 +25,19 @@ #include #include +#include + #define WIN32_NO_STATUS #define _INC_WINDOWS #define COM_NO_WINDOWS_H -#include - -#include - #define COBJMACROS #define NONAMELESSUNION #define NONAMELESSSTRUCT + #include #include #include -#include #include #include diff --git a/dll/directx/wine/d3dx9_36/guid.c b/dll/directx/wine/d3dx9_36/guid.c new file mode 100644 index 00000000000..c43ee3c8b42 --- /dev/null +++ b/dll/directx/wine/d3dx9_36/guid.c @@ -0,0 +1,15 @@ +/* DO NOT USE THE PRECOMPILED HEADER FOR THIS FILE! */ + +#include + +#define WIN32_NO_STATUS +#define _INC_WINDOWS +#define COM_NO_WINDOWS_H + +#include +#include +#include +#include +#include + +/* NO CODE HERE, THIS IS JUST REQUIRED FOR THE GUID DEFINITIONS */ diff --git a/dll/directx/wine/d3dx9_36/surface.c b/dll/directx/wine/d3dx9_36/surface.c index 7455d190a53..bd141c18563 100644 --- a/dll/directx/wine/d3dx9_36/surface.c +++ b/dll/directx/wine/d3dx9_36/surface.c @@ -21,6 +21,8 @@ #include "d3dx9_36_private.h" #include + +#include #include /* Wine-specific WIC GUIDs */ diff --git a/dll/directx/wine/d3dxof/d3dxof.c b/dll/directx/wine/d3dxof/d3dxof.c index f72617068f4..0cab8277874 100644 --- a/dll/directx/wine/d3dxof/d3dxof.c +++ b/dll/directx/wine/d3dxof/d3dxof.c @@ -18,18 +18,7 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "config.h" -#include "wine/debug.h" - -#define COBJMACROS - -#include "winbase.h" -#include "wingdi.h" - #include "d3dxof_private.h" -#include "dxfile.h" - -#include WINE_DEFAULT_DEBUG_CHANNEL(d3dxof); WINE_DECLARE_DEBUG_CHANNEL(d3dxof_dump); diff --git a/dll/directx/wine/d3dxof/d3dxof_private.h b/dll/directx/wine/d3dxof/d3dxof_private.h index cf33ed21cea..efe990ab2ad 100644 --- a/dll/directx/wine/d3dxof/d3dxof_private.h +++ b/dll/directx/wine/d3dxof/d3dxof_private.h @@ -21,14 +21,21 @@ #ifndef __D3DXOF_PRIVATE_INCLUDED__ #define __D3DXOF_PRIVATE_INCLUDED__ -#include +#include -#include "windef.h" -#include "winbase.h" -#include "wtypes.h" -#include "wingdi.h" -#include "winuser.h" -#include "dxfile.h" +#include + +#define WIN32_NO_STATUS +#define _INC_WINDOWS +#define COM_NO_WINDOWS_H + +#define COBJMACROS + +#include +#include +#include + +#include #define MAX_NAME_LEN 40 #define MAX_ARRAY_DIM 4 diff --git a/dll/directx/wine/d3dxof/main.c b/dll/directx/wine/d3dxof/main.c index 48ee22bb60f..103c771c91c 100644 --- a/dll/directx/wine/d3dxof/main.c +++ b/dll/directx/wine/d3dxof/main.c @@ -18,25 +18,9 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include -#include - -#define COBJMACROS - -#include "windef.h" -#include "winbase.h" -#include "winuser.h" -#include "winreg.h" -#include "winerror.h" - -#include "ole2.h" -#include "rpcproxy.h" -#include "uuids.h" - #include "d3dxof_private.h" -#include "dxfile.h" -#include "wine/debug.h" +#include WINE_DEFAULT_DEBUG_CHANNEL(d3dxof); diff --git a/dll/directx/wine/d3dxof/mszip.c b/dll/directx/wine/d3dxof/mszip.c index 179661634f7..a16e6af468c 100644 --- a/dll/directx/wine/d3dxof/mszip.c +++ b/dll/directx/wine/d3dxof/mszip.c @@ -23,13 +23,13 @@ #include -#include "windef.h" -#include "winbase.h" - -#include "wine/debug.h" +#include +#include #include "mszip.h" +#include + WINE_DEFAULT_DEBUG_CHANNEL(d3dxof); THOSE_ZIP_CONSTS; diff --git a/dll/directx/wine/d3dxof/parsing.c b/dll/directx/wine/d3dxof/parsing.c index fa992ced71e..224c83db294 100644 --- a/dll/directx/wine/d3dxof/parsing.c +++ b/dll/directx/wine/d3dxof/parsing.c @@ -18,18 +18,7 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "config.h" -#include "wine/debug.h" - -#define COBJMACROS - -#include "winbase.h" -#include "wingdi.h" - #include "d3dxof_private.h" -#include "dxfile.h" - -#include WINE_DEFAULT_DEBUG_CHANNEL(d3dxof_parsing); diff --git a/dll/directx/wine/ddraw/ddraw_private.h b/dll/directx/wine/ddraw/ddraw_private.h index e9f5acf6fa1..6fb960894ea 100644 --- a/dll/directx/wine/ddraw/ddraw_private.h +++ b/dll/directx/wine/ddraw/ddraw_private.h @@ -22,27 +22,28 @@ #include #include +#include +#include + #define _INC_WINDOWS #define COM_NO_WINDOWS_H -#include #define COBJMACROS #define NONAMELESSSTRUCT #define NONAMELESSUNION -#include -WINE_DEFAULT_DEBUG_CHANNEL(ddraw); - +#include #include #include #include - -#include #include +#include #include #include +WINE_DEFAULT_DEBUG_CHANNEL(ddraw); + extern const struct wined3d_parent_ops ddraw_null_wined3d_parent_ops DECLSPEC_HIDDEN; extern DWORD force_refresh_rate DECLSPEC_HIDDEN; @@ -620,4 +621,4 @@ static inline void copy_to_surfacedesc2(DDSURFACEDESC2 *to, DDSURFACEDESC2 *from HRESULT hr_ddraw_from_wined3d(HRESULT hr) DECLSPEC_HIDDEN; -#endif +#endif /* __WINE_DLLS_DDRAW_DDRAW_PRIVATE_H */ diff --git a/dll/directx/wine/ddraw/main.c b/dll/directx/wine/ddraw/main.c index 525365e72d3..8a9801185cf 100644 --- a/dll/directx/wine/ddraw/main.c +++ b/dll/directx/wine/ddraw/main.c @@ -25,10 +25,11 @@ */ #include "ddraw_private.h" + +#include #include #include -#include static struct list global_ddraw_list = LIST_INIT(global_ddraw_list); diff --git a/dll/directx/wine/devenum/createdevenum.c b/dll/directx/wine/devenum/createdevenum.c index 6d8cd5f57b9..c69849b69b3 100644 --- a/dll/directx/wine/devenum/createdevenum.c +++ b/dll/directx/wine/devenum/createdevenum.c @@ -24,8 +24,11 @@ */ #include "devenum_private.h" + #include +#include "resource.h" + extern HINSTANCE DEVENUM_hInstance; const WCHAR wszInstanceKeyName[] ={'I','n','s','t','a','n','c','e',0}; diff --git a/dll/directx/wine/devenum/devenum.rc b/dll/directx/wine/devenum/devenum.rc index 3654de2f085..fcb0a0217b0 100644 --- a/dll/directx/wine/devenum/devenum.rc +++ b/dll/directx/wine/devenum/devenum.rc @@ -18,11 +18,12 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#pragma code_page(65001) - #include + #include "resource.h" +#pragma code_page(65001) + LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT STRINGTABLE diff --git a/dll/directx/wine/devenum/devenum_main.c b/dll/directx/wine/devenum/devenum_main.c index 2d5a3b77488..bbf0a1922cb 100644 --- a/dll/directx/wine/devenum/devenum_main.c +++ b/dll/directx/wine/devenum/devenum_main.c @@ -20,6 +20,7 @@ */ #include "devenum_private.h" + #include DECLSPEC_HIDDEN LONG dll_refs; diff --git a/dll/directx/wine/devenum/devenum_private.h b/dll/directx/wine/devenum/devenum_private.h index 019f435d041..7c1a661bf00 100644 --- a/dll/directx/wine/devenum/devenum_private.h +++ b/dll/directx/wine/devenum/devenum_private.h @@ -30,6 +30,7 @@ #define _INC_WINDOWS #define COM_NO_WINDOWS_H +#define COBJMACROS #define NONAMELESSSTRUCT #define NONAMELESSUNION @@ -37,10 +38,8 @@ #include #include #include - -#define COBJMACROS - -#include +#include +#include #include #include @@ -51,8 +50,6 @@ WINE_DEFAULT_DEBUG_CHANNEL(devenum); #include #endif -#include "resource.h" - /********************************************************************** * Dll lifetime tracking declaration for devenum.dll */ diff --git a/dll/directx/wine/devenum/mediacatenum.c b/dll/directx/wine/devenum/mediacatenum.c index aae7abfa195..58022096831 100644 --- a/dll/directx/wine/devenum/mediacatenum.c +++ b/dll/directx/wine/devenum/mediacatenum.c @@ -23,7 +23,9 @@ */ #include "devenum_private.h" + #include +#include typedef struct { diff --git a/dll/directx/wine/dinput/config.c b/dll/directx/wine/dinput/config.c index 55a1ed06efe..52a950a943d 100644 --- a/dll/directx/wine/dinput/config.c +++ b/dll/directx/wine/dinput/config.c @@ -16,12 +16,10 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#define NONAMELESSUNION - -//#include "wine/unicode.h" -//#include "objbase.h" #include "dinput_private.h" -//#include "device_private.h" + +#include +#include #include "resource.h" diff --git a/dll/directx/wine/dinput/device.c b/dll/directx/wine/dinput/device.c index bb9eae80672..2abde287402 100644 --- a/dll/directx/wine/dinput/device.c +++ b/dll/directx/wine/dinput/device.c @@ -24,22 +24,8 @@ It also contains all the helper functions. */ -#include -//#include -//#include -#include -#include -//#include "windef.h" -//#include "winbase.h" -#include -#include -//#include "winerror.h" -//#include "dinput.h" -#include "device_private.h" -//#include "dinput_private.h" - -WINE_DEFAULT_DEBUG_CHANNEL(dinput); +#include "dinput_private.h" static inline IDirectInputDeviceImpl *impl_from_IDirectInputDevice8A(IDirectInputDevice8A *iface) { diff --git a/dll/directx/wine/dinput/device_private.h b/dll/directx/wine/dinput/device_private.h index f203c8b830f..75d872d884f 100644 --- a/dll/directx/wine/dinput/device_private.h +++ b/dll/directx/wine/dinput/device_private.h @@ -20,14 +20,6 @@ #ifndef __WINE_DLLS_DINPUT_DINPUTDEVICE_PRIVATE_H #define __WINE_DLLS_DINPUT_DINPUTDEVICE_PRIVATE_H -//#include - -//#include "windef.h" -//#include "winbase.h" -//#include "dinput.h" -//#include "wine/list.h" -#include "dinput_private.h" - typedef struct { int size; diff --git a/dll/directx/wine/dinput/dinput.rc b/dll/directx/wine/dinput/dinput.rc index 3c0978466d6..3b598e00d29 100644 --- a/dll/directx/wine/dinput/dinput.rc +++ b/dll/directx/wine/dinput/dinput.rc @@ -16,6 +16,9 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ +#include +#include + #include "resource.h" 1 WINE_REGISTRY dinput_classes.rgs diff --git a/dll/directx/wine/dinput/dinput_main.c b/dll/directx/wine/dinput/dinput_main.c index 6beed0ea1c2..c885b6800a1 100644 --- a/dll/directx/wine/dinput/dinput_main.c +++ b/dll/directx/wine/dinput/dinput_main.c @@ -30,33 +30,9 @@ * - Fallout : works great in X and DGA mode */ -#include -//#include -//#include -//#include +#include "dinput_private.h" -#define WIN32_NO_STATUS -#define _INC_WINDOWS -#define COM_NO_WINDOWS_H - -#define COBJMACROS -#define NONAMELESSUNION - -#include -//#include "wine/unicode.h" -//#include "windef.h" -#include -#include -#include -//#include "winerror.h" -#include #include -//#include "initguid.h" -//#include "dinput_private.h" -#include "device_private.h" -//#include "dinputd.h" - -WINE_DEFAULT_DEBUG_CHANNEL(dinput); static const IDirectInput7AVtbl ddi7avt; static const IDirectInput7WVtbl ddi7wvt; diff --git a/dll/directx/wine/dinput/dinput_private.h b/dll/directx/wine/dinput/dinput_private.h index e7b2c079e92..2c4b7deae9b 100644 --- a/dll/directx/wine/dinput/dinput_private.h +++ b/dll/directx/wine/dinput/dinput_private.h @@ -19,17 +19,29 @@ #ifndef __WINE_DLLS_DINPUT_DINPUT_PRIVATE_H #define __WINE_DLLS_DINPUT_DINPUT_PRIVATE_H +#include + +#include + #define WIN32_NO_STATUS #define _INC_WINDOWS #define COM_NO_WINDOWS_H -#include +#define COBJMACROS +#define NONAMELESSUNION #include #include +#include +#include #include #include + +#include #include +#include + +WINE_DEFAULT_DEBUG_CHANNEL(dinput); /* Implementation specification */ typedef struct IDirectInputImpl IDirectInputImpl; @@ -82,4 +94,6 @@ extern WCHAR* get_mapping_path(const WCHAR *device, const WCHAR *username) DECLS #define DIMOUSE_MASK 0x82000000 #define DIGENRE_ANY 0xFF000000 +#include "device_private.h" + #endif /* __WINE_DLLS_DINPUT_DINPUT_PRIVATE_H */ diff --git a/dll/directx/wine/dinput/joystick.c b/dll/directx/wine/dinput/joystick.c index 875d8ac7523..5019efdd239 100644 --- a/dll/directx/wine/dinput/joystick.c +++ b/dll/directx/wine/dinput/joystick.c @@ -26,11 +26,9 @@ * force feedback */ -#include "joystick_private.h" -#include -#include +#include "dinput_private.h" -WINE_DEFAULT_DEBUG_CHANNEL(dinput); +#include "joystick_private.h" static inline JoystickGenericImpl *impl_from_IDirectInputDevice8A(IDirectInputDevice8A *iface) { diff --git a/dll/directx/wine/dinput/joystick_linux.c b/dll/directx/wine/dinput/joystick_linux.c index f8c36d5c288..04d0d039d12 100644 --- a/dll/directx/wine/dinput/joystick_linux.c +++ b/dll/directx/wine/dinput/joystick_linux.c @@ -25,24 +25,17 @@ * force feedback */ -#include -//#include "wine/port.h" +#include "dinput_private.h" -//#include -//#include -//#include -//#include #ifdef HAVE_UNISTD_H # include #endif #ifdef HAVE_SYS_TIME_H # include #endif -//#include #ifdef HAVE_SYS_IOCTL_H # include #endif -//#include #ifdef HAVE_LINUX_IOCTL_H # include #endif @@ -54,19 +47,6 @@ # include #endif -#include -//#include "wine/unicode.h" -//#include "windef.h" -//#include "winbase.h" -//#include "winerror.h" -//#include "dinput.h" - -//#include "dinput_private.h" -#include "device_private.h" -//#include "joystick_private.h" - -WINE_DEFAULT_DEBUG_CHANNEL(dinput); - #ifdef HAVE_LINUX_22_JOYSTICK_API #define JOYDEV_NEW "/dev/input/js" diff --git a/dll/directx/wine/dinput/joystick_linuxinput.c b/dll/directx/wine/dinput/joystick_linuxinput.c index c40f44279fd..896155304b1 100644 --- a/dll/directx/wine/dinput/joystick_linuxinput.c +++ b/dll/directx/wine/dinput/joystick_linuxinput.c @@ -20,14 +20,8 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include -//#include "wine/port.h" +#include "dinput_private.h" -//#include -//#include -//#include -//#include -//#include #ifdef HAVE_UNISTD_H # include #endif @@ -50,20 +44,7 @@ # include #endif -#include -//#include "wine/unicode.h" -//#include "wine/list.h" -//#include "windef.h" -//#include "winbase.h" -//#include "winerror.h" -//#include "winreg.h" -//#include "dinput.h" - -//#include "dinput_private.h" #include "device_private.h" -//#include "joystick_private.h" - -WINE_DEFAULT_DEBUG_CHANNEL(dinput); #ifdef HAS_PROPER_HEADER diff --git a/dll/directx/wine/dinput/joystick_private.h b/dll/directx/wine/dinput/joystick_private.h index 947e2df4778..3e24dee5dee 100644 --- a/dll/directx/wine/dinput/joystick_private.h +++ b/dll/directx/wine/dinput/joystick_private.h @@ -19,20 +19,6 @@ #ifndef __WINE_DLLS_DINPUT_JOYSTICK_PRIVATE_H #define __WINE_DLLS_DINPUT_JOYSTICK_PRIVATE_H -#include - -#define WIN32_NO_STATUS -#define _INC_WINDOWS -#define COM_NO_WINDOWS_H - -#include "windef.h" -#include "winbase.h" -#include "dinput.h" -#include "wine/list.h" -#include "wine/unicode.h" -#include "dinput_private.h" -#include "device_private.h" - /* Number of objects in the default data format */ #define MAX_PROPS 164 struct JoystickGenericImpl; diff --git a/dll/directx/wine/dinput/keyboard.c b/dll/directx/wine/dinput/keyboard.c index 27e8769024e..21415f505be 100644 --- a/dll/directx/wine/dinput/keyboard.c +++ b/dll/directx/wine/dinput/keyboard.c @@ -20,24 +20,7 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include -//#include "wine/port.h" - -#include -//#include -#include -#include -#include -#include -//#include "winerror.h" -//#include "dinput.h" - -//#include "dinput_private.h" -#include "device_private.h" -#include -//#include "wine/unicode.h" - -WINE_DEFAULT_DEBUG_CHANNEL(dinput); +#include "dinput_private.h" #define WINE_DINPUT_KEYBOARD_MAX_KEYS 256 diff --git a/dll/directx/wine/dinput/mouse.c b/dll/directx/wine/dinput/mouse.c index 6192556a0e6..d73a94a0434 100644 --- a/dll/directx/wine/dinput/mouse.c +++ b/dll/directx/wine/dinput/mouse.c @@ -19,26 +19,7 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include -//#include "wine/port.h" - -#include -//#include - -#include -//#include "winbase.h" -//#include "wingdi.h" -#include -//#include "winerror.h" -#include -//#include "dinput.h" - -//#include "dinput_private.h" -#include "device_private.h" -#include -#include - -WINE_DEFAULT_DEBUG_CHANNEL(dinput); +#include "dinput_private.h" /* Wine mouse driver object instances */ #define WINE_MOUSE_X_AXIS_INSTANCE 0 diff --git a/dll/directx/wine/dinput/resource.h b/dll/directx/wine/dinput/resource.h index 936ea6f5e9f..fa0376fa7e8 100644 --- a/dll/directx/wine/dinput/resource.h +++ b/dll/directx/wine/dinput/resource.h @@ -16,11 +16,7 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -//#include "shlobj.h" - -#include -#include -#include +#pragma once #define IDD_CONFIGUREDEVICES 1 diff --git a/dll/directx/wine/dmusic/buffer.c b/dll/directx/wine/dmusic/buffer.c index c609c7f8a63..da78b82d9fa 100644 --- a/dll/directx/wine/dmusic/buffer.c +++ b/dll/directx/wine/dmusic/buffer.c @@ -20,6 +20,7 @@ */ #include "dmusic_private.h" + #include static inline IDirectMusicBufferImpl *impl_from_IDirectMusicBuffer(IDirectMusicBuffer *iface) diff --git a/dll/directx/wine/dmusic/collection.c b/dll/directx/wine/dmusic/collection.c index e0596ab9330..330f3d55e3b 100644 --- a/dll/directx/wine/dmusic/collection.c +++ b/dll/directx/wine/dmusic/collection.c @@ -20,6 +20,8 @@ #include "dmusic_private.h" +#include + WINE_DECLARE_DEBUG_CHANNEL(dmfile); static inline IDirectMusicCollectionImpl *impl_from_IDirectMusicCollection(IDirectMusicCollection *iface) diff --git a/dll/directx/wine/dmusic/dmusic.c b/dll/directx/wine/dmusic/dmusic.c index f9f866e2fdc..6991c20d49a 100644 --- a/dll/directx/wine/dmusic/dmusic.c +++ b/dll/directx/wine/dmusic/dmusic.c @@ -21,6 +21,8 @@ #include "dmusic_private.h" +#include + static inline IDirectMusic8Impl *impl_from_IDirectMusic8(IDirectMusic8 *iface) { return CONTAINING_RECORD(iface, IDirectMusic8Impl, IDirectMusic8_iface); diff --git a/dll/directx/wine/dmusic/dmusic_main.c b/dll/directx/wine/dmusic/dmusic_main.c index cae3a572871..655713cf3a5 100644 --- a/dll/directx/wine/dmusic/dmusic_main.c +++ b/dll/directx/wine/dmusic/dmusic_main.c @@ -18,8 +18,9 @@ */ #include "dmusic_private.h" + #include -#include "rpcproxy.h" +#include static HINSTANCE instance; LONG DMUSIC_refCount = 0; diff --git a/dll/directx/wine/dmusic/dmusic_private.h b/dll/directx/wine/dmusic/dmusic_private.h index 5692084d6fa..78b1adf5959 100644 --- a/dll/directx/wine/dmusic/dmusic_private.h +++ b/dll/directx/wine/dmusic/dmusic_private.h @@ -24,22 +24,25 @@ #include -#define COBJMACROS +#include + #define WIN32_NO_STATUS #define _INC_WINDOWS #define COM_NO_WINDOWS_H -#include -WINE_DEFAULT_DEBUG_CHANNEL(dmusic); +#define COBJMACROS +#include +#include +#include +#include +#include + +#include #include #include -#include -#include -#include -#include -#include +WINE_DEFAULT_DEBUG_CHANNEL(dmusic); /***************************************************************************** * Interfaces diff --git a/dll/directx/wine/dmusic/port.c b/dll/directx/wine/dmusic/port.c index 755019c4658..18a9d52d7f4 100644 --- a/dll/directx/wine/dmusic/port.c +++ b/dll/directx/wine/dmusic/port.c @@ -20,6 +20,7 @@ */ #include "dmusic_private.h" + #include static inline IDirectMusicDownloadedInstrumentImpl* impl_from_IDirectMusicDownloadedInstrument(IDirectMusicDownloadedInstrument *iface) diff --git a/dll/directx/wine/dplayx/dpclassfactory.c b/dll/directx/wine/dplayx/dpclassfactory.c index 67f36ca7bbe..e2300dd5c22 100644 --- a/dll/directx/wine/dplayx/dpclassfactory.c +++ b/dll/directx/wine/dplayx/dpclassfactory.c @@ -17,23 +17,7 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -//#include -//#include - -#define COBJMACROS - -//#include "windef.h" -//#include "winbase.h" -//#include "objbase.h" -//#include "winerror.h" -#include -//#include "dplay.h" -//#include "dplobby.h" -//#include "initguid.h" -#include "dplay_global.h" - -WINE_DEFAULT_DEBUG_CHANNEL(dplay); - +#include "dplayx_global.h" typedef struct { diff --git a/dll/directx/wine/dplayx/dplay.c b/dll/directx/wine/dplayx/dplay.c index e4514bf9d5c..01243fd7ff8 100644 --- a/dll/directx/wine/dplayx/dplay.c +++ b/dll/directx/wine/dplayx/dplay.c @@ -17,31 +17,7 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#define COBJMACROS -#include -//#include "wine/port.h" - -//#include -//#include - -#define NONAMELESSUNION -#define NONAMELESSSTRUCT -#include -//#include "winerror.h" -//#include "winbase.h" -//#include "winnt.h" -#include -//#include "winnls.h" -#include -#include - #include "dplayx_global.h" -#include "name_server.h" -//#include "dplayx_queue.h" -//#include "dplaysp.h" -//#include "dplay_global.h" - -WINE_DEFAULT_DEBUG_CHANNEL(dplay); /* FIXME: Should this be externed? */ extern HRESULT DPL_CreateCompoundAddress diff --git a/dll/directx/wine/dplayx/dplay_global.h b/dll/directx/wine/dplayx/dplay_global.h index 7e4177e50ce..6acb120b87f 100644 --- a/dll/directx/wine/dplayx/dplay_global.h +++ b/dll/directx/wine/dplayx/dplay_global.h @@ -19,17 +19,6 @@ #ifndef __WINE_DPLAY_GLOBAL_INCLUDED #define __WINE_DPLAY_GLOBAL_INCLUDED -#define WIN32_NO_STATUS -#define _INC_WINDOWS - -//#include - -//#include "windef.h" -//#include "winbase.h" -#include "dplaysp.h" -#include "lobbysp.h" -#include "dplayx_queue.h" - extern HRESULT DPL_EnumAddress( LPDPENUMADDRESSCALLBACK lpEnumAddressCallback, LPCVOID lpAddress, DWORD dwAddressSize, LPVOID lpContext ) DECLSPEC_HIDDEN; diff --git a/dll/directx/wine/dplayx/dplaysp.c b/dll/directx/wine/dplayx/dplaysp.c index 56aa7e629a0..d01e1c102b5 100644 --- a/dll/directx/wine/dplayx/dplaysp.c +++ b/dll/directx/wine/dplayx/dplaysp.c @@ -18,21 +18,10 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -//#include -//#include "winerror.h" -#include - -//#include "dplaysp.h" -//#include "dplay_global.h" -#include "name_server.h" -//#include "dplayx_messages.h" - -#include "dplayx_global.h" /* FIXME: For global hack */ +#include "dplayx_global.h" /* FIXME: Need to add interface locking inside procedures */ -WINE_DEFAULT_DEBUG_CHANNEL(dplay); - /* Prototypes */ static BOOL DPSP_CreateIUnknown( LPVOID lpSP ); static BOOL DPSP_DestroyIUnknown( LPVOID lpSP ); diff --git a/dll/directx/wine/dplayx/dplayx_global.c b/dll/directx/wine/dplayx/dplayx_global.c index 86551b55846..723744cf06e 100644 --- a/dll/directx/wine/dplayx/dplayx_global.c +++ b/dll/directx/wine/dplayx/dplayx_global.c @@ -29,24 +29,7 @@ * */ -//#include -//#include - -#define NONAMELESSUNION -#define NONAMELESSSTRUCT -#include -//#include "windef.h" -//#include "winbase.h" -//#include "winerror.h" -#include - -//#include "wingdi.h" -//#include "winuser.h" - #include "dplayx_global.h" -//#include "dplayx_messages.h" /* For CreateMessageReceptionThread only */ - -WINE_DEFAULT_DEBUG_CHANNEL(dplay); /* FIXME: Need to do all that fun other dll referencing type of stuff */ diff --git a/dll/directx/wine/dplayx/dplayx_global.h b/dll/directx/wine/dplayx/dplayx_global.h index db86a90529c..e388e077f6d 100644 --- a/dll/directx/wine/dplayx/dplayx_global.h +++ b/dll/directx/wine/dplayx/dplayx_global.h @@ -19,16 +19,34 @@ #ifndef __WINE_DPLAYX_GLOBAL #define __WINE_DPLAYX_GLOBAL -#define WIN32_NO_STATUS -#define _INC_WINDOWS +#include #include +#define WIN32_NO_STATUS +#define _INC_WINDOWS + +#define COBJMACROS +#define NONAMELESSUNION +#define NONAMELESSSTRUCT + #include #include -//#include "winuser.h" +#include #include +#include +#include + +#include "dplaysp.h" +#include "lobbysp.h" +#include "dplayx_queue.h" +#include "dplay_global.h" +#include "dplayx_messages.h" +#include "name_server.h" + +WINE_DEFAULT_DEBUG_CHANNEL(dplay); + BOOL DPLAYX_ConstructData(void) DECLSPEC_HIDDEN; BOOL DPLAYX_DestructData(void) DECLSPEC_HIDDEN; diff --git a/dll/directx/wine/dplayx/dplayx_main.c b/dll/directx/wine/dplayx/dplayx_main.c index ac8eb9cc4a7..423ee70eadb 100644 --- a/dll/directx/wine/dplayx/dplayx_main.c +++ b/dll/directx/wine/dplayx/dplayx_main.c @@ -57,20 +57,9 @@ * somehow. */ -#define WIN32_NO_STATUS -#define _INC_WINDOWS - -#include - -//#include "winerror.h" -#include -#include -#include -#include -#include #include "dplayx_global.h" -WINE_DEFAULT_DEBUG_CHANNEL(dplay); +#include static HINSTANCE instance; diff --git a/dll/directx/wine/dplayx/dplayx_messages.c b/dll/directx/wine/dplayx/dplayx_messages.c index 952e480d529..bed90dcccaa 100644 --- a/dll/directx/wine/dplayx/dplayx_messages.c +++ b/dll/directx/wine/dplayx/dplayx_messages.c @@ -20,21 +20,7 @@ * o Messaging interface required for both DirectPlay and DirectPlayLobby. */ -//#include -//#include -//#include "windef.h" -//#include "winbase.h" -//#include "wingdi.h" -//#include "winuser.h" -//#include "winerror.h" - -//#include "dplayx_messages.h" -//#include "dplay_global.h" #include "dplayx_global.h" -#include "name_server.h" -#include - -WINE_DEFAULT_DEBUG_CHANNEL(dplay); typedef struct tagMSGTHREADINFO { diff --git a/dll/directx/wine/dplayx/dplayx_messages.h b/dll/directx/wine/dplayx/dplayx_messages.h index 5bba7fc114c..755f8bec6f3 100644 --- a/dll/directx/wine/dplayx/dplayx_messages.h +++ b/dll/directx/wine/dplayx/dplayx_messages.h @@ -19,15 +19,6 @@ #ifndef __WINE_DPLAYX_MESSAGES__ #define __WINE_DPLAYX_MESSAGES__ -//#include - -//#include "windef.h" -//#include "winbase.h" -//#include "dplay.h" -//#include "rpc.h" /* For GUID */ - -#include "dplay_global.h" - DWORD CreateLobbyMessageReceptionThread( HANDLE hNotifyEvent, HANDLE hStart, HANDLE hDeath, HANDLE hConnRead ) DECLSPEC_HIDDEN; @@ -220,4 +211,4 @@ typedef const DPMSG_FORWARDADDPLAYERNACK* LPCDPMSG_FORWARDADDPLAYERNACK; #include -#endif +#endif /* __WINE_DPLAYX_MESSAGES__ */ diff --git a/dll/directx/wine/dplayx/dplayx_queue.h b/dll/directx/wine/dplayx/dplayx_queue.h index 33467ee895e..3cd4f0be5f5 100644 --- a/dll/directx/wine/dplayx/dplayx_queue.h +++ b/dll/directx/wine/dplayx/dplayx_queue.h @@ -26,11 +26,6 @@ #ifndef __WINE_DPLAYX_QUEUE_H #define __WINE_DPLAYX_QUEUE_H -//#include - -//#include "windef.h" -//#include "winbase.h" - #define DPQ_INSERT(a,b,c) DPQ_INSERT_IN_TAIL(a,b,c) /* diff --git a/dll/directx/wine/dplayx/dplobby.c b/dll/directx/wine/dplayx/dplobby.c index f8ccc6aeea2..27fd91bb509 100644 --- a/dll/directx/wine/dplayx/dplobby.c +++ b/dll/directx/wine/dplayx/dplobby.c @@ -16,25 +16,8 @@ * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include -//#include - -#define COBJMACROS -#define NONAMELESSUNION -#define NONAMELESSSTRUCT -#include -#include -//#include "winerror.h" -#include -#include -#include #include "dplayx_global.h" -#include "dplayx_messages.h" -//#include "dplayx_queue.h" -//#include "dplobby.h" - -WINE_DEFAULT_DEBUG_CHANNEL(dplay); /* Forward declarations for this module helper methods */ HRESULT DPL_CreateCompoundAddress ( LPCDPCOMPOUNDADDRESSELEMENT lpElements, DWORD dwElementCount, diff --git a/dll/directx/wine/dplayx/lobbysp.c b/dll/directx/wine/dplayx/lobbysp.c index 40f17fa7846..3ed5e989eec 100644 --- a/dll/directx/wine/dplayx/lobbysp.c +++ b/dll/directx/wine/dplayx/lobbysp.c @@ -18,13 +18,7 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -//#include "winerror.h" -#include - -//#include "lobbysp.h" -#include "dplay_global.h" - -WINE_DEFAULT_DEBUG_CHANNEL(dplay); +#include "dplayx_global.h" /* Prototypes */ static BOOL DPLSP_CreateIUnknown( LPVOID lpSP ); diff --git a/dll/directx/wine/dplayx/lobbysp.h b/dll/directx/wine/dplayx/lobbysp.h index e24d94beba7..2a214a91df4 100644 --- a/dll/directx/wine/dplayx/lobbysp.h +++ b/dll/directx/wine/dplayx/lobbysp.h @@ -19,13 +19,6 @@ #ifndef __WINE_LOBBY_SP_H #define __WINE_LOBBY_SP_H -//#include - -//#include "windef.h" -//#include "winbase.h" -//#include "winuser.h" -#include "dplobby.h" - /* GUID for IDPLobbySP {5A4E5A20-2CED-11d0-A889-00A0C905433C} */ DEFINE_GUID(IID_IDPLobbySP, 0x5a4e5a20, 0x2ced, 0x11d0, 0xa8, 0x89, 0x0, 0xa0, 0xc9, 0x5, 0x43, 0x3c); typedef struct IDPLobbySP *LPDPLOBBYSP; @@ -516,4 +509,4 @@ DECLARE_INTERFACE_(IDPLobbySP,IUnknown) */ extern DWORD gdwDPlaySPRefCount DECLSPEC_HIDDEN; -#endif +#endif /* __WINE_LOBBY_SP_H */ diff --git a/dll/directx/wine/dplayx/name_server.c b/dll/directx/wine/dplayx/name_server.c index 63a101387df..ffc80982760 100644 --- a/dll/directx/wine/dplayx/name_server.c +++ b/dll/directx/wine/dplayx/name_server.c @@ -19,28 +19,12 @@ /* NOTE: Methods with the NS_ prefix are name server methods */ -//#include -//#include +#include "dplayx_global.h" -#define NONAMELESSUNION -#define NONAMELESSSTRUCT -//#include "windef.h" -//#include "winbase.h" -//#include "winnls.h" -#include -#include #include -//#include "dplayx_global.h" -#include "name_server.h" -//#include "dplaysp.h" -//#include "dplayx_messages.h" -//#include "dplayx_queue.h" - /* FIXME: Need to create a crit section, store and use it */ -WINE_DEFAULT_DEBUG_CHANNEL(dplay); - /* NS specific structures */ struct NSCacheData { diff --git a/dll/directx/wine/dplayx/name_server.h b/dll/directx/wine/dplayx/name_server.h index b4a9406f63f..6213cceef91 100644 --- a/dll/directx/wine/dplayx/name_server.h +++ b/dll/directx/wine/dplayx/name_server.h @@ -19,15 +19,6 @@ #ifndef __WINE_DPLAYX_NAMESERVER #define __WINE_DPLAYX_NAMESERVER -//#include - -//#include "windef.h" -//#include "winbase.h" -//#include "dplay.h" -//#include "dplaysp.h" -#include "dplayx_messages.h" -//#include "dplay_global.h" - void NS_SetLocalComputerAsNameServer( LPCDPSESSIONDESC2 lpsd, LPVOID lpNSInfo ) DECLSPEC_HIDDEN; void NS_AddRemoteComputerAsNameServer( LPCVOID lpNSAddrHdr, DWORD dwHdrSize, diff --git a/dll/directx/wine/dsound/CMakeLists.txt b/dll/directx/wine/dsound/CMakeLists.txt index ca2fe9e28bc..d77cb4a499f 100644 --- a/dll/directx/wine/dsound/CMakeLists.txt +++ b/dll/directx/wine/dsound/CMakeLists.txt @@ -18,6 +18,7 @@ add_library(dsound SHARED primary.c propset.c sound3d.c + guid.c version.rc ${CMAKE_CURRENT_BINARY_DIR}/dsound.def) diff --git a/dll/directx/wine/dsound/buffer.c b/dll/directx/wine/dsound/buffer.c index 522d3bd2a1b..a574449859b 100644 --- a/dll/directx/wine/dsound/buffer.c +++ b/dll/directx/wine/dsound/buffer.c @@ -19,26 +19,7 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include - -#define WIN32_NO_STATUS -#define _INC_WINDOWS -#define COM_NO_WINDOWS_H - -#define NONAMELESSSTRUCT -#define NONAMELESSUNION -#include -#include -//#include "winuser.h" -#include -#include -#include -#include -#include #include "dsound_private.h" -//#include - -WINE_DEFAULT_DEBUG_CHANNEL(dsound); /******************************************************************************* * IDirectSoundNotify diff --git a/dll/directx/wine/dsound/capture.c b/dll/directx/wine/dsound/capture.c index fcee0b8e866..fd7539ac645 100644 --- a/dll/directx/wine/dsound/capture.c +++ b/dll/directx/wine/dsound/capture.c @@ -25,27 +25,8 @@ * Make DirectSoundCaptureCreate and DirectSoundCaptureCreate8 behave differently */ -#include - -#define WIN32_NO_STATUS -#define _INC_WINDOWS -#define COM_NO_WINDOWS_H -#define COBJMACROS -#define NONAMELESSSTRUCT -#define NONAMELESSUNION -#include -//#include "winbase.h" -//#include "winuser.h" -//#include "mmsystem.h" -#include -#include -//#include "winnls.h" -#include -#include #include "dsound_private.h" -WINE_DEFAULT_DEBUG_CHANNEL(dsound); - typedef struct DirectSoundCaptureDevice DirectSoundCaptureDevice; /* IDirectSoundCaptureBuffer implementation structure */ diff --git a/dll/directx/wine/dsound/dsound.c b/dll/directx/wine/dsound/dsound.c index 13f6a5d5c64..eff3de84191 100644 --- a/dll/directx/wine/dsound/dsound.c +++ b/dll/directx/wine/dsound/dsound.c @@ -20,31 +20,8 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include -#include -//#include - -#define WIN32_NO_STATUS -#define _INC_WINDOWS -#define COM_NO_WINDOWS_H -#define COBJMACROS -#define NONAMELESSSTRUCT -#define NONAMELESSUNION -//#include "windef.h" -//#include "winbase.h" -//#include "winuser.h" -#include -#include "mmddk.h" -//#include "wingdi.h" -//#include "mmreg.h" -//#include "ks.h" -//#include "ksmedia.h" -#include -#include #include "dsound_private.h" -WINE_DEFAULT_DEBUG_CHANNEL(dsound); - typedef struct IDirectSoundImpl { IUnknown IUnknown_inner; IDirectSound8 IDirectSound8_iface; diff --git a/dll/directx/wine/dsound/dsound_convert.c b/dll/directx/wine/dsound/dsound_convert.c index 1e8e25d2181..76c99c1b0a1 100644 --- a/dll/directx/wine/dsound/dsound_convert.c +++ b/dll/directx/wine/dsound/dsound_convert.c @@ -34,27 +34,8 @@ * Sound is LITTLE endian */ -#include - -#include -#include - -#define WIN32_NO_STATUS -#define _INC_WINDOWS -#define COM_NO_WINDOWS_H - -#define NONAMELESSSTRUCT -#define NONAMELESSUNION -#include -#include -#include -#include -#include -#include #include "dsound_private.h" -WINE_DEFAULT_DEBUG_CHANNEL(dsound); - #ifdef WORDS_BIGENDIAN #define le16(x) RtlUshortByteSwap((x)) #define le32(x) RtlUlongByteSwap((x)) diff --git a/dll/directx/wine/dsound/dsound_main.c b/dll/directx/wine/dsound/dsound_main.c index aa75c558eeb..fc20c51d6af 100644 --- a/dll/directx/wine/dsound/dsound_main.c +++ b/dll/directx/wine/dsound/dsound_main.c @@ -32,42 +32,10 @@ * Remove DS_HEL_FRAGS and use mixer fragment length for it */ -#include - -#define WIN32_NO_STATUS -#define _INC_WINDOWS -#define COM_NO_WINDOWS_H - -#define COBJMACROS -#define NONAMELESSSTRUCT -#define NONAMELESSUNION -#include -#include -//#include "winuser.h" -#include -#include -//#include "mmsystem.h" -#include -#include -#include -#include -#include -//#include "ks.h" -#include -//#include "rpc.h" -//#include "rpcndr.h" -//#include "unknwn.h" -//#include "oleidl.h" -//#include "shobjidl.h" - -#include -//#include "ksmedia.h" -//#include "propkey.h" -#include - #include "dsound_private.h" -WINE_DEFAULT_DEBUG_CHANNEL(dsound); +#include +#include struct list DSOUND_renderers = LIST_INIT(DSOUND_renderers); CRITICAL_SECTION DSOUND_renderers_lock; diff --git a/dll/directx/wine/dsound/dsound_private.h b/dll/directx/wine/dsound/dsound_private.h index a8f5f42a7f1..6bd6a9813f4 100644 --- a/dll/directx/wine/dsound/dsound_private.h +++ b/dll/directx/wine/dsound/dsound_private.h @@ -19,17 +19,43 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ +#include + +#include +#include +#include + +#define WIN32_NO_STATUS +#define _INC_WINDOWS +#define COM_NO_WINDOWS_H + +#define COBJMACROS +#define NONAMELESSSTRUCT +#define NONAMELESSUNION + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +WINE_DEFAULT_DEBUG_CHANNEL(dsound); + /* Linux does not support better timing than 10ms */ #define DS_TIME_RES 2 /* Resolution of multimedia timer */ #define DS_TIME_DEL 10 /* Delay of multimedia timer callback, and duration of HEL fragment */ -#include "wingdi.h" -#include "mmdeviceapi.h" -#include "audioclient.h" -#include "mmsystem.h" - -#include "wine/list.h" - extern int ds_hel_buflen DECLSPEC_HIDDEN; extern int ds_snd_queue_max DECLSPEC_HIDDEN; diff --git a/dll/directx/wine/dsound/duplex.c b/dll/directx/wine/dsound/duplex.c index fad20c2e9da..8e1b9fe58e4 100644 --- a/dll/directx/wine/dsound/duplex.c +++ b/dll/directx/wine/dsound/duplex.c @@ -20,27 +20,8 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include - -#define WIN32_NO_STATUS -#define _INC_WINDOWS -#define COM_NO_WINDOWS_H - -#define NONAMELESSSTRUCT -#define NONAMELESSUNION -#define COBJMACROS -#include -#include -//#include "winuser.h" -#include -//#include "mmddk.h" -#include -#include -#include #include "dsound_private.h" -WINE_DEFAULT_DEBUG_CHANNEL(dsound); - /***************************************************************************** * IDirectSoundFullDuplex implementation structure */ diff --git a/dll/directx/wine/dsound/guid.c b/dll/directx/wine/dsound/guid.c new file mode 100644 index 00000000000..ff912c5620e --- /dev/null +++ b/dll/directx/wine/dsound/guid.c @@ -0,0 +1,18 @@ +/* DO NOT USE THE PRECOMPILED HEADER FOR THIS FILE! */ + +#include + +#define WIN32_NO_STATUS +#define _INC_WINDOWS +#define COM_NO_WINDOWS_H + +#include +#include +#include +#include +#include +#include +#include +#include + +/* NO CODE HERE, THIS IS JUST REQUIRED FOR THE GUID DEFINITIONS */ diff --git a/dll/directx/wine/dsound/mixer.c b/dll/directx/wine/dsound/mixer.c index 05a1ca35a1c..bf81b1f0b64 100644 --- a/dll/directx/wine/dsound/mixer.c +++ b/dll/directx/wine/dsound/mixer.c @@ -22,30 +22,9 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include -#include -#include /* Insomnia - pow() function */ - -#define WIN32_NO_STATUS -#define _INC_WINDOWS -#define COM_NO_WINDOWS_H -#define COBJMACROS -#define NONAMELESSSTRUCT -#define NONAMELESSUNION -#include -#include -#include -//#include "wingdi.h" -//#include "mmreg.h" -#include -#include -#include -//#include "ks.h" -//#include "ksmedia.h" #include "dsound_private.h" -#include "fir.h" -WINE_DEFAULT_DEBUG_CHANNEL(dsound); +#include "fir.h" void DSOUND_RecalcVolPan(PDSVOLUMEPAN volpan) { diff --git a/dll/directx/wine/dsound/primary.c b/dll/directx/wine/dsound/primary.c index 93962a0a963..5a907826c2d 100644 --- a/dll/directx/wine/dsound/primary.c +++ b/dll/directx/wine/dsound/primary.c @@ -23,26 +23,8 @@ * it leaves dsound in unusable (not really open) state. */ -#include - -#define WIN32_NO_STATUS -#define _INC_WINDOWS -#define COM_NO_WINDOWS_H -#define COBJMACROS -#define NONAMELESSSTRUCT -#define NONAMELESSUNION -//#include "windef.h" -//#include "winbase.h" -//#include "winuser.h" -//#include "mmsystem.h" -#include -#include -#include -#include #include "dsound_private.h" -WINE_DEFAULT_DEBUG_CHANNEL(dsound); - static DWORD DSOUND_fraglen(DirectSoundDevice *device) { REFERENCE_TIME period; diff --git a/dll/directx/wine/dsound/propset.c b/dll/directx/wine/dsound/propset.c index c19ff9f7d0d..cb309d0b86e 100644 --- a/dll/directx/wine/dsound/propset.c +++ b/dll/directx/wine/dsound/propset.c @@ -19,35 +19,7 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#define COBJMACROS -#define NONAMELESSSTRUCT -#define NONAMELESSUNION - -#define WIN32_NO_STATUS -#define _INC_WINDOWS -#define COM_NO_WINDOWS_H - -#include - -#include -#include -//#include "winuser.h" -#include -#include -#include -#include -#include -//#include -#include -#include #include "dsound_private.h" -#include - -//#include "ksmedia.h" -//#include "propkey.h" -#include - -WINE_DEFAULT_DEBUG_CHANNEL(dsound); static WCHAR wInterface[] = { 'I','n','t','e','r','f','a','c','e',0 }; diff --git a/dll/directx/wine/dsound/sound3d.c b/dll/directx/wine/dsound/sound3d.c index 04a3e329bab..48a3773b256 100644 --- a/dll/directx/wine/dsound/sound3d.c +++ b/dll/directx/wine/dsound/sound3d.c @@ -37,30 +37,11 @@ * Optimize WINMM and negotiate fragment size, decrease DS_HEL_MARGIN */ -#include -#include /* Insomnia - pow() function */ - -#define WIN32_NO_STATUS -#define _INC_WINDOWS -#define COM_NO_WINDOWS_H - -#define NONAMELESSUNION -#define NONAMELESSSTRUCT -#include -#include -//#include "winuser.h" -#include -#include -//#include "mmddk.h" -#include -#include #include "dsound_private.h" /* default velocity of sound in the air */ #define DEFAULT_VELOCITY 340 -WINE_DEFAULT_DEBUG_CHANNEL(dsound3d); - /******************************************************************************* * Auxiliary functions */ diff --git a/dll/directx/wine/dxdiagn/CMakeLists.txt b/dll/directx/wine/dxdiagn/CMakeLists.txt index 182b0045b33..3dfae1332f6 100644 --- a/dll/directx/wine/dxdiagn/CMakeLists.txt +++ b/dll/directx/wine/dxdiagn/CMakeLists.txt @@ -7,6 +7,7 @@ list(APPEND SOURCE container.c dxdiag_main.c provider.c + guid.c ${CMAKE_CURRENT_BINARY_DIR}/dxdiagn.def) add_idl_headers(dxdiagn_idlheader fil_data.idl) diff --git a/dll/directx/wine/dxdiagn/container.c b/dll/directx/wine/dxdiagn/container.c index 9b7591a00a0..dd587c382b6 100644 --- a/dll/directx/wine/dxdiagn/container.c +++ b/dll/directx/wine/dxdiagn/container.c @@ -19,14 +19,7 @@ * */ -#include - -#define COBJMACROS #include "dxdiag_private.h" -#include -#include - -WINE_DEFAULT_DEBUG_CHANNEL(dxdiag); static inline IDxDiagContainerImpl *impl_from_IDxDiagContainer(IDxDiagContainer *iface) { diff --git a/dll/directx/wine/dxdiagn/dxdiag_main.c b/dll/directx/wine/dxdiagn/dxdiag_main.c index 58f89179737..874a784e14a 100644 --- a/dll/directx/wine/dxdiagn/dxdiag_main.c +++ b/dll/directx/wine/dxdiagn/dxdiag_main.c @@ -19,22 +19,9 @@ * */ -#define COBJMACROS - -#include -#include - -#include -#include -#include -#include -#include -#include -#include #include "dxdiag_private.h" -#include -WINE_DEFAULT_DEBUG_CHANNEL(dxdiag); +#include HINSTANCE dxdiagn_instance = 0; diff --git a/dll/directx/wine/dxdiagn/dxdiag_private.h b/dll/directx/wine/dxdiagn/dxdiag_private.h index ae73a0f6372..c17505a2f8b 100644 --- a/dll/directx/wine/dxdiagn/dxdiag_private.h +++ b/dll/directx/wine/dxdiagn/dxdiag_private.h @@ -21,21 +21,31 @@ #ifndef __WINE_DXDIAG_PRIVATE_H #define __WINE_DXDIAG_PRIVATE_H +#include + +#include + #define WIN32_NO_STATUS #define _INC_WINDOWS #define COM_NO_WINDOWS_H -#include +#define COBJMACROS +#define NONAMELESSUNION +#define NONAMELESSSTRUCT #include #include #include -#include +#include #include +#include +#include #include "resource.h" +WINE_DEFAULT_DEBUG_CHANNEL(dxdiag); + /* DXDiag Interfaces: */ typedef struct IDxDiagProviderImpl IDxDiagProviderImpl; typedef struct IDxDiagContainerImpl IDxDiagContainerImpl; diff --git a/dll/directx/wine/dxdiagn/dxdiagn.rc b/dll/directx/wine/dxdiagn/dxdiagn.rc index 2661737f25c..61e1e05d5f5 100644 --- a/dll/directx/wine/dxdiagn/dxdiagn.rc +++ b/dll/directx/wine/dxdiagn/dxdiagn.rc @@ -16,6 +16,8 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ +#include + #include "resource.h" LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT diff --git a/dll/directx/wine/dxdiagn/guid.c b/dll/directx/wine/dxdiagn/guid.c new file mode 100644 index 00000000000..d72e84cb7cf --- /dev/null +++ b/dll/directx/wine/dxdiagn/guid.c @@ -0,0 +1,18 @@ +/* DO NOT USE THE PRECOMPILED HEADER FOR THIS FILE! */ + +#include + +#define WIN32_NO_STATUS +#define _INC_WINDOWS +#define COM_NO_WINDOWS_H + +#include +#include +#include +#include +#include +#include +#include +#include + +/* NO CODE HERE, THIS IS JUST REQUIRED FOR THE GUID DEFINITIONS */ diff --git a/dll/directx/wine/dxdiagn/provider.c b/dll/directx/wine/dxdiagn/provider.c index cb4efff6e71..093a34d3365 100644 --- a/dll/directx/wine/dxdiagn/provider.c +++ b/dll/directx/wine/dxdiagn/provider.c @@ -20,30 +20,15 @@ * */ -#include - -#define COBJMACROS -#define NONAMELESSUNION -#define NONAMELESSSTRUCT #include "dxdiag_private.h" -#include + #include -#include -#include #include -#include -#include #include -#include -#include #include #include #include -#include - -WINE_DEFAULT_DEBUG_CHANNEL(dxdiag); - static const WCHAR szEmpty[] = {0}; static HRESULT build_information_tree(IDxDiagContainerImpl_Container **pinfo_root); diff --git a/dll/directx/wine/dxdiagn/resource.h b/dll/directx/wine/dxdiagn/resource.h index dd6c1a3bd03..2627a18a66c 100644 --- a/dll/directx/wine/dxdiagn/resource.h +++ b/dll/directx/wine/dxdiagn/resource.h @@ -18,7 +18,7 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include +#pragma once #define IDS_REGIONAL_SETTING 1 #define IDS_PAGE_FILE_FORMAT 2 diff --git a/dll/directx/wine/dxgi/CMakeLists.txt b/dll/directx/wine/dxgi/CMakeLists.txt index 10ce18f8bc6..bcf2b38810c 100644 --- a/dll/directx/wine/dxgi/CMakeLists.txt +++ b/dll/directx/wine/dxgi/CMakeLists.txt @@ -13,6 +13,7 @@ list(APPEND SOURCE surface.c swapchain.c utils.c + guid.c ${CMAKE_CURRENT_BINARY_DIR}/dxgi.def) add_library(dxgi SHARED ${SOURCE} version.rc) diff --git a/dll/directx/wine/dxgi/adapter.c b/dll/directx/wine/dxgi/adapter.c index 87d886b1995..6195c30a174 100644 --- a/dll/directx/wine/dxgi/adapter.c +++ b/dll/directx/wine/dxgi/adapter.c @@ -17,13 +17,8 @@ * */ -#include "config.h" -#include "wine/port.h" - #include "dxgi_private.h" -WINE_DEFAULT_DEBUG_CHANNEL(dxgi); - static inline struct dxgi_adapter *impl_from_IWineDXGIAdapter(IWineDXGIAdapter *iface) { return CONTAINING_RECORD(iface, struct dxgi_adapter, IWineDXGIAdapter_iface); diff --git a/dll/directx/wine/dxgi/device.c b/dll/directx/wine/dxgi/device.c index e98a2c0dbd9..e77527270f2 100644 --- a/dll/directx/wine/dxgi/device.c +++ b/dll/directx/wine/dxgi/device.c @@ -17,13 +17,8 @@ * */ -#include "config.h" -#include "wine/port.h" - #include "dxgi_private.h" -WINE_DEFAULT_DEBUG_CHANNEL(dxgi); - static inline struct dxgi_device *impl_from_IWineDXGIDevice(IWineDXGIDevice *iface) { return CONTAINING_RECORD(iface, struct dxgi_device, IWineDXGIDevice_iface); diff --git a/dll/directx/wine/dxgi/dxgi_main.c b/dll/directx/wine/dxgi/dxgi_main.c index e9ed482aa56..e20be15917d 100644 --- a/dll/directx/wine/dxgi/dxgi_main.c +++ b/dll/directx/wine/dxgi/dxgi_main.c @@ -17,14 +17,8 @@ * */ -#include "config.h" -#include "wine/port.h" - -#define DXGI_INIT_GUID #include "dxgi_private.h" -WINE_DEFAULT_DEBUG_CHANNEL(dxgi); - static CRITICAL_SECTION_DEBUG dxgi_cs_debug = { 0, 0, &dxgi_cs, diff --git a/dll/directx/wine/dxgi/dxgi_private.h b/dll/directx/wine/dxgi/dxgi_private.h index 565e448ae7d..1921e9a5ffb 100644 --- a/dll/directx/wine/dxgi/dxgi_private.h +++ b/dll/directx/wine/dxgi/dxgi_private.h @@ -19,26 +19,30 @@ #ifndef __WINE_DXGI_PRIVATE_H #define __WINE_DXGI_PRIVATE_H +#include +#include + +#include + #define WIN32_NO_STATUS #define _INC_WINDOWS #define COM_NO_WINDOWS_H -#include "wine/debug.h" - #define COBJMACROS -#include "winbase.h" -#include "wingdi.h" -#include "winuser.h" -#include "objbase.h" -#include "winnls.h" -#include "dxgi.h" -#ifdef DXGI_INIT_GUID -#include "initguid.h" -#endif -#include "wine/wined3d.h" +#include +#include +#include +#include +#include +#include + +#include +#include #include +WINE_DEFAULT_DEBUG_CHANNEL(dxgi); + extern CRITICAL_SECTION dxgi_cs DECLSPEC_HIDDEN; /* Layered device */ diff --git a/dll/directx/wine/dxgi/factory.c b/dll/directx/wine/dxgi/factory.c index 72927c53639..55705665905 100644 --- a/dll/directx/wine/dxgi/factory.c +++ b/dll/directx/wine/dxgi/factory.c @@ -17,13 +17,8 @@ * */ -#include "config.h" -#include "wine/port.h" - #include "dxgi_private.h" -WINE_DEFAULT_DEBUG_CHANNEL(dxgi); - static inline struct dxgi_factory *impl_from_IWineDXGIFactory(IWineDXGIFactory *iface) { return CONTAINING_RECORD(iface, struct dxgi_factory, IWineDXGIFactory_iface); diff --git a/dll/directx/wine/dxgi/guid.c b/dll/directx/wine/dxgi/guid.c new file mode 100644 index 00000000000..c971ac461a6 --- /dev/null +++ b/dll/directx/wine/dxgi/guid.c @@ -0,0 +1,17 @@ +/* DO NOT USE THE PRECOMPILED HEADER FOR THIS FILE! */ + +#include + +#define WIN32_NO_STATUS +#define _INC_WINDOWS +#define COM_NO_WINDOWS_H + +#include +#include +#include +#include +#include +#include +#include + +/* NO CODE HERE, THIS IS JUST REQUIRED FOR THE GUID DEFINITIONS */ diff --git a/dll/directx/wine/dxgi/output.c b/dll/directx/wine/dxgi/output.c index 4cdd06b2480..1a9f9e4fc19 100644 --- a/dll/directx/wine/dxgi/output.c +++ b/dll/directx/wine/dxgi/output.c @@ -16,13 +16,8 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "config.h" -#include "wine/port.h" - #include "dxgi_private.h" -WINE_DEFAULT_DEBUG_CHANNEL(dxgi); - static inline struct dxgi_output *impl_from_IDXGIOutput(IDXGIOutput *iface) { return CONTAINING_RECORD(iface, struct dxgi_output, IDXGIOutput_iface); diff --git a/dll/directx/wine/dxgi/surface.c b/dll/directx/wine/dxgi/surface.c index f7fa93176ce..bd12cc6ccce 100644 --- a/dll/directx/wine/dxgi/surface.c +++ b/dll/directx/wine/dxgi/surface.c @@ -17,13 +17,8 @@ * */ -#include "config.h" -#include "wine/port.h" - #include "dxgi_private.h" -WINE_DEFAULT_DEBUG_CHANNEL(dxgi); - /* Inner IUnknown methods */ static inline struct dxgi_surface *impl_from_IUnknown(IUnknown *iface) diff --git a/dll/directx/wine/dxgi/swapchain.c b/dll/directx/wine/dxgi/swapchain.c index 0c27007eda7..5b8ec22fcd9 100644 --- a/dll/directx/wine/dxgi/swapchain.c +++ b/dll/directx/wine/dxgi/swapchain.c @@ -17,13 +17,8 @@ * */ -#include "config.h" -#include "wine/port.h" - #include "dxgi_private.h" -WINE_DEFAULT_DEBUG_CHANNEL(dxgi); - static inline struct dxgi_swapchain *impl_from_IDXGISwapChain(IDXGISwapChain *iface) { return CONTAINING_RECORD(iface, struct dxgi_swapchain, IDXGISwapChain_iface); diff --git a/dll/directx/wine/dxgi/utils.c b/dll/directx/wine/dxgi/utils.c index 979c9721e66..de8e482d47d 100644 --- a/dll/directx/wine/dxgi/utils.c +++ b/dll/directx/wine/dxgi/utils.c @@ -17,13 +17,8 @@ * */ -#include "config.h" -#include "wine/port.h" - #include "dxgi_private.h" -WINE_DEFAULT_DEBUG_CHANNEL(dxgi); - #define WINE_DXGI_TO_STR(x) case x: return #x const char *debug_dxgi_format(DXGI_FORMAT format) diff --git a/dll/directx/wine/dxgi/version.rc b/dll/directx/wine/dxgi/version.rc index bd51eb8c55b..9887a145a49 100644 --- a/dll/directx/wine/dxgi/version.rc +++ b/dll/directx/wine/dxgi/version.rc @@ -23,4 +23,4 @@ #define WINE_PRODUCTVERSION 6,0,6000,16386 #define WINE_PRODUCTVERSION_STR "6.0.6000.16386" -#include "wine/wine_common_ver.rc" +#include diff --git a/dll/directx/wine/msdmo/dmoreg.c b/dll/directx/wine/msdmo/dmoreg.c index 967acd01b95..48968b37798 100644 --- a/dll/directx/wine/msdmo/dmoreg.c +++ b/dll/directx/wine/msdmo/dmoreg.c @@ -17,25 +17,13 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#define WIN32_NO_STATUS -#define _INC_WINDOWS -#define COM_NO_WINDOWS_H +#include "precomp.h" -#include - -#include -#include #include -//#include "winerror.h" #include -#include #include -#include -//#include "initguid.h" #include -WINE_DEFAULT_DEBUG_CHANNEL(msdmo); - #define MSDMO_MAJOR_VERSION 6 static const WCHAR szDMORootKey[] = diff --git a/dll/directx/wine/msdmo/dmort.c b/dll/directx/wine/msdmo/dmort.c index 9102781c049..de77f70f507 100644 --- a/dll/directx/wine/msdmo/dmort.c +++ b/dll/directx/wine/msdmo/dmort.c @@ -16,23 +16,11 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include +#include "precomp.h" -#define COBJMACROS -#define WIN32_NO_STATUS -#define _INC_WINDOWS -#define COM_NO_WINDOWS_H - -#include -#include -#include #include #include -#include - -WINE_DEFAULT_DEBUG_CHANNEL(msdmo); - /*********************************************************************** * MoCreateMediaType (MSDMO.@) * diff --git a/dll/directx/wine/msdmo/precomp.h b/dll/directx/wine/msdmo/precomp.h new file mode 100644 index 00000000000..d952772c249 --- /dev/null +++ b/dll/directx/wine/msdmo/precomp.h @@ -0,0 +1,19 @@ +#ifndef _MSDMO_PCH_ +#define _MSDMO_PCH_ + +#include + +#define WIN32_NO_STATUS +#define _INC_WINDOWS +#define COM_NO_WINDOWS_H + +#define COBJMACROS + +#include +#include +#include + +#include +WINE_DEFAULT_DEBUG_CHANNEL(msdmo); + +#endif /* _MSDMO_PCH_ */ diff --git a/dll/directx/wine/msdmo/rsrc.rc b/dll/directx/wine/msdmo/rsrc.rc index d87fbadd152..a87d9a58da8 100644 --- a/dll/directx/wine/msdmo/rsrc.rc +++ b/dll/directx/wine/msdmo/rsrc.rc @@ -23,4 +23,4 @@ #define WINE_PRODUCTVERSION 6,5,1,900 #define WINE_PRODUCTVERSION_STR "6.5" -#include "wine/wine_common_ver.rc" +#include diff --git a/dll/directx/wine/qedit/main.c b/dll/directx/wine/qedit/main.c index 6753d5b6642..d8e475a18cc 100644 --- a/dll/directx/wine/qedit/main.c +++ b/dll/directx/wine/qedit/main.c @@ -18,6 +18,7 @@ */ #include "qedit_private.h" + #include static HINSTANCE instance; diff --git a/dll/directx/wine/qedit/mediadet.c b/dll/directx/wine/qedit/mediadet.c index 6f57f9092a8..c0978e3daa4 100644 --- a/dll/directx/wine/qedit/mediadet.c +++ b/dll/directx/wine/qedit/mediadet.c @@ -18,7 +18,9 @@ */ #include "qedit_private.h" + #include +#include typedef struct MediaDetImpl { IUnknown IUnknown_inner; diff --git a/dll/directx/wine/qedit/qedit_private.h b/dll/directx/wine/qedit/qedit_private.h index 4172a70cfa8..db7237e644e 100644 --- a/dll/directx/wine/qedit/qedit_private.h +++ b/dll/directx/wine/qedit/qedit_private.h @@ -22,20 +22,16 @@ #include -#define COBJMACROS +#define WIN32_LEAN_AND_MEAN #define WIN32_NO_STATUS #define _INC_WINDOWS #define COM_NO_WINDOWS_H +#define COBJMACROS + #include #include -//#include "wtypes.h" -//#include "wingdi.h" -//#include "winuser.h" - #include -#include - #include #define __WINE_DDRAW_H /* ROS HACK */ #include diff --git a/dll/directx/wine/quartz/memallocator.c b/dll/directx/wine/quartz/memallocator.c index 9b235adce3b..d2a0f382211 100644 --- a/dll/directx/wine/quartz/memallocator.c +++ b/dll/directx/wine/quartz/memallocator.c @@ -20,6 +20,8 @@ #include "quartz_private.h" +#include + typedef struct StdMediaSample2 { IMediaSample2 IMediaSample2_iface; diff --git a/dll/directx/wine/quartz/parser.h b/dll/directx/wine/quartz/parser.h index 996415a40df..9fe1235dc6f 100644 --- a/dll/directx/wine/quartz/parser.h +++ b/dll/directx/wine/quartz/parser.h @@ -18,6 +18,8 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ +#pragma once + typedef struct ParserImpl ParserImpl; typedef HRESULT (*PFN_PROCESS_SAMPLE) (LPVOID iface, IMediaSample * pSample, DWORD_PTR cookie); diff --git a/dll/directx/wine/quartz/pin.h b/dll/directx/wine/quartz/pin.h index 428fa6fe8e4..84046bc1e22 100644 --- a/dll/directx/wine/quartz/pin.h +++ b/dll/directx/wine/quartz/pin.h @@ -18,6 +18,8 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ +#pragma once + /* This function will process incoming samples to the pin. * Any return value valid in IMemInputPin::Receive is allowed here * diff --git a/dll/directx/wine/quartz/quartz_private.h b/dll/directx/wine/quartz/quartz_private.h index 10657c124c5..10cc56ab1c2 100644 --- a/dll/directx/wine/quartz/quartz_private.h +++ b/dll/directx/wine/quartz/quartz_private.h @@ -20,34 +20,29 @@ #ifndef __QUARTZ_PRIVATE_INCLUDED__ #define __QUARTZ_PRIVATE_INCLUDED__ -#include - -#define WIN32_NO_STATUS -#define _INC_WINDOWS -#define COM_NO_WINDOWS_H +#include #include #include +#define WIN32_LEAN_AND_MEAN +#define WIN32_NO_STATUS +#define _INC_WINDOWS +#define COM_NO_WINDOWS_H + +#define COBJMACROS #define NONAMELESSUNION #define NONAMELESSSTRUCT -#define COBJMACROS - #include #include -#include -#include -#include #include -#include #include #include #include #include #include -#include #include #include diff --git a/dll/directx/wine/wined3d/directx.c b/dll/directx/wine/wined3d/directx.c index 2c104a82c1d..420de71d486 100644 --- a/dll/directx/wine/wined3d/directx.c +++ b/dll/directx/wine/wined3d/directx.c @@ -23,6 +23,8 @@ #include "wined3d_private.h" +#include + WINE_DEFAULT_DEBUG_CHANNEL(d3d); WINE_DECLARE_DEBUG_CHANNEL(d3d_perf); diff --git a/dll/directx/wine/wined3d/wined3d_main.c b/dll/directx/wine/wined3d/wined3d_main.c index 225723abb2f..6eab4aec14f 100644 --- a/dll/directx/wine/wined3d/wined3d_main.c +++ b/dll/directx/wine/wined3d/wined3d_main.c @@ -24,6 +24,8 @@ #include "wined3d_private.h" +#include + WINE_DEFAULT_DEBUG_CHANNEL(d3d); WINE_DECLARE_DEBUG_CHANNEL(winediag); diff --git a/dll/directx/wine/wined3d/wined3d_private.h b/dll/directx/wine/wined3d/wined3d_private.h index d425a5edd6a..17988f76ad7 100644 --- a/dll/directx/wine/wined3d/wined3d_private.h +++ b/dll/directx/wine/wined3d/wined3d_private.h @@ -25,13 +25,9 @@ #ifndef __WINE_WINED3D_PRIVATE_H #define __WINE_WINED3D_PRIVATE_H -#include +#include #include -#define WIN32_NO_STATUS -#define _INC_WINDOWS -#define COM_NO_WINDOWS_H - #ifdef USE_WIN32_OPENGL #define WINE_GLAPI __stdcall #else @@ -42,25 +38,27 @@ # include #endif -#include #include -#include + +#define WIN32_NO_STATUS +#define _INC_WINDOWS +#define COM_NO_WINDOWS_H + #define NONAMELESSUNION #define NONAMELESSSTRUCT #define COBJMACROS + #include #include -#include #include #include -#include -#include - #include -#include -#include "wined3d_gl.h" + +#include #include #include +#include +#include "wined3d_gl.h" #include /* Driver quirks */ @@ -3006,4 +3004,4 @@ static inline void context_apply_state(struct wined3d_context *context, #define MAKEDWORD_VERSION(maj, min) (((maj & 0xffff) << 16) | (min & 0xffff)) -#endif +#endif /* __WINE_WINED3D_PRIVATE_H */ diff --git a/dll/keyboard/kbdheb/kbdheb.c b/dll/keyboard/kbdheb/kbdheb.c index 6d2df0c1156..00c5b209326 100644 --- a/dll/keyboard/kbdheb/kbdheb.c +++ b/dll/keyboard/kbdheb/kbdheb.c @@ -1,8 +1,9 @@ /* - * ReactOS Hebrew ASCII Keyboard layout - * Copyright (C) 2005 ReactOS + * ReactOS Hebrew Keyboard layout + * Copyright (C) 2005 - 2013 ReactOS * License: LGPL, see: LGPL.txt - * author: Royce Mitchell III + * Authors: Royce Mitchell III + * Baruch Rutman 2013 * * Thanks to: http://www.barcodeman.com/altek/mule/scandoc.php * and http://win.tue.nl/~aeb/linux/kbd/scancodes-1.html @@ -92,7 +93,10 @@ enum QOF, RESH, SHIN, - TAV + TAV, + + // symbols + SHEQEL = 0x20AA }; ROSDATA USHORT scancode_to_vk[] = @@ -291,23 +295,23 @@ ROSDATA VK_TO_WCHARS2 key_to_chars_2mod[] = { /* Specials */ /* Ctrl-_ generates ? */ - { VK_OEM_PLUS ,0, {'=', '+'} }, - { VK_OEM_1 ,0, {PEY_SOFIT, PEY_SOFIT} }, - { 'Q' ,0, {TAV, TAV} }, - { 'W' ,0, {TSADI_SOFIT, TSADI_SOFIT} }, - { VK_OEM_7 ,0, {'\'','\"'} }, - { VK_OEM_3 ,0, {'`', '~'} }, - { VK_OEM_COMMA ,0, {',', '<'} }, - { VK_OEM_PERIOD ,0, {'.', '>'} }, - { VK_OEM_2 ,0, {'/', '?'} }, + { VK_OEM_PLUS, 0, {'=', '+'} }, + { VK_OEM_1, 0, {PEY_SOFIT, ':'} }, + { 'Q', 0, {TAV, '>'} }, + { 'W', 0, {TSADI_SOFIT, '<'} }, + { VK_OEM_7, CAPLOK, {'\'','W'} }, + { VK_OEM_3, 0, {';', '~'} }, + { VK_OEM_COMMA, 0, {',', '\"'} }, + { VK_OEM_PERIOD, 0, {'.', '?'} }, + { VK_OEM_2, CAPLOK, {'/', 'Q'} }, /* Keys that do not have shift states */ - { VK_TAB ,0, {'\t','\t'} }, - { VK_ADD ,0, {'+', '+'} }, + { VK_TAB, 0, {'\t','\t'} }, + { VK_ADD, 0, {'+', '+'} }, { VK_SUBTRACT,0, {'-', '-'} }, { VK_MULTIPLY,0, {'*', '*'} }, - { VK_DIVIDE ,0, {'/', '/'} }, - { VK_ESCAPE ,0, {0x1b,0x1b} }, - { VK_SPACE ,0, {' ', ' '} }, + { VK_DIVIDE, 0, {'/', '/'} }, + { VK_ESCAPE, 0, {0x1b,0x1b} }, + { VK_SPACE, 0, {' ', ' '} }, { 0, 0 } }; @@ -325,32 +329,32 @@ ROSDATA VK_TO_WCHARS4 key_to_chars_4mod[] = { /* Normal, Shifted, Ctrl, C-S-x */ /* The alphabet */ - { 'A', 0, {SHIN, SHIN, 0x01, 0x01} }, - { 'B', 0, {NUN, NUN, 0x02, 0x02} }, - { 'C', 0, {BET, BET, 0x03, 0x03} }, - { 'D', 0, {GIMEL, GIMEL, 0x04, 0x04} }, - { 'E', 0, {QOF, QOF, 0x05, 0x05} }, - { 'F', 0, {KAF, KAF, 0x06, 0x06} }, - { 'G', 0, {AYIN, AYIN, 0x07, 0x07} }, - { 'H', 0, {YUD, YUD, 0x08, 0x08} }, - { 'I', 0, {NUN_SOFIT, NUN_SOFIT, 0x09, 0x09} }, - { 'J', 0, {HET, HET, 0x0a, 0x0a} }, - { 'K', 0, {LAMED, LAMED, 0x0b, 0x0b} }, - { 'L', 0, {KAF_SOFIT, KAF_SOFIT, 0x0c, 0x0c} }, - { 'M', 0, {TSADI, TSADI, 0x0d, 0x0d} }, - { 'N', 0, {MEM, MEM, 0x0e, 0x0e} }, - { 'O', 0, {MEM_SOFIT, MEM_SOFIT, 0x0f, 0x0f} }, - { 'P', 0, {PEY, PEY, 0x10, 0x10} }, - { VK_OEM_2, 0, {'/', '?', 0x11, 0x11} }, - { 'R', 0, {RESH, RESH, 0x12, 0x12} }, - { 'S', 0, {DALET, DALET, 0x13, 0x13} }, - { 'T', 0, {ALEF, ALEF, 0x14, 0x14} }, - { 'U', 0, {VAV, VAV, 0x15, 0x15} }, - { 'V', 0, {HEY, HEY, 0x16, 0x16} }, - { VK_OEM_7, 0, {'\'', '\"', 0x17, 0x17} }, - { 'X', 0, {SAMEKH, SAMEKH, 0x18, 0x18} }, - { 'Y', 0, {TET, TET, 0x19, 0x19} }, - { 'Z', 0, {ZAYIN, ZAYIN, 0x1a, 0x1a} }, + { 'A', CAPLOK, {SHIN, 'A', 0x01, 0x01} }, + { 'B', CAPLOK, {NUN, 'B', 0x02, 0x02} }, + { 'C', CAPLOK, {BET, 'C', 0x03, 0x03} }, + { 'D', CAPLOK, {GIMEL, 'D', 0x04, 0x04} }, + { 'E', CAPLOK, {QOF, 'E', 0x05, 0x05} }, + { 'F', CAPLOK, {KAF, 'F', 0x06, 0x06} }, + { 'G', CAPLOK, {AYIN, 'G', 0x07, 0x07} }, + { 'H', CAPLOK, {YUD, 'H', 0x08, 0x08} }, + { 'I', CAPLOK, {NUN_SOFIT, 'I', 0x09, 0x09} }, + { 'J', CAPLOK, {HET, 'J', 0x0a, 0x0a} }, + { 'K', CAPLOK, {LAMED, 'K', 0x0b, 0x0b} }, + { 'L', CAPLOK, {KAF_SOFIT, 'L', 0x0c, 0x0c} }, + { 'M', CAPLOK, {TSADI, 'M', 0x0d, 0x0d} }, + { 'N', CAPLOK, {MEM, 'N', 0x0e, 0x0e} }, + { 'O', CAPLOK, {MEM_SOFIT, 'O', 0x0f, 0x0f} }, + { 'P', CAPLOK, {PEY, 'P', 0x10, 0x10} }, + { VK_OEM_2, CAPLOK, {'/', 'Q', 0x11, 0x11} }, + { 'R', CAPLOK, {RESH, 'R', 0x12, 0x12} }, + { 'S', CAPLOK, {DALET, 'S', 0x13, 0x13} }, + { 'T', CAPLOK, {ALEF, 'T', 0x14, 0x14} }, + { 'U', CAPLOK, {VAV, 'U', 0x15, 0x15} }, + { 'V', CAPLOK, {HEY, 'V', 0x16, 0x16} }, + { VK_OEM_7, CAPLOK, {'\'', 'W', 0x17, 0x17} }, + { 'X', CAPLOK, {SAMEKH, 'X', 0x18, 0x18} }, + { 'Y', CAPLOK, {TET, 'Y', 0x19, 0x19} }, + { 'Z', CAPLOK, {ZAYIN, 'Z', 0x1a, 0x1a} }, /* Legacy Ascii generators */ { '2', 0, {'2', '@', WCH_NONE, 0} }, @@ -496,7 +500,7 @@ ROSDATA KBDTABLES keyboard_layout_table = MAKELONG(0, 1), /* Version 1.0 */ - /* Ligatures -- Hebrew doesn't have any */ + /* Ligatures -- The Standard Hebrew Keyboard doesn't have any */ 0, 0, NULL diff --git a/dll/ntdll/csr/api.c b/dll/ntdll/csr/api.c index 4e3556c9071..fd0687e3b7f 100644 --- a/dll/ntdll/csr/api.c +++ b/dll/ntdll/csr/api.c @@ -9,6 +9,7 @@ /* INCLUDES *******************************************************************/ #include + #define NDEBUG #include diff --git a/dll/ntdll/csr/capture.c b/dll/ntdll/csr/capture.c index 1ab781d8990..d22644b5992 100644 --- a/dll/ntdll/csr/capture.c +++ b/dll/ntdll/csr/capture.c @@ -9,6 +9,7 @@ /* INCLUDES *******************************************************************/ #include + #define NDEBUG #include diff --git a/dll/ntdll/csr/connect.c b/dll/ntdll/csr/connect.c index c2d2ac8f969..cef68d9a60c 100644 --- a/dll/ntdll/csr/connect.c +++ b/dll/ntdll/csr/connect.c @@ -9,6 +9,10 @@ /* INCLUDES *******************************************************************/ #include + +#include +#include + #define NDEBUG #include diff --git a/dll/ntdll/dbg/dbgui.c b/dll/ntdll/dbg/dbgui.c index b65e06c5d70..e745374eb6a 100644 --- a/dll/ntdll/dbg/dbgui.c +++ b/dll/ntdll/dbg/dbgui.c @@ -9,6 +9,9 @@ /* INCLUDES *****************************************************************/ #include + +#include + #define NDEBUG #include diff --git a/dll/ntdll/dispatch/dispatch.c b/dll/ntdll/dispatch/dispatch.c index 50a9ee88f67..37f59d2c0f0 100644 --- a/dll/ntdll/dispatch/dispatch.c +++ b/dll/ntdll/dispatch/dispatch.c @@ -10,6 +10,7 @@ /* INCLUDES *****************************************************************/ #include + #define NDEBUG #include diff --git a/dll/ntdll/include/ntdll.h b/dll/ntdll/include/ntdll.h index afd6a2acc8a..1121c9f916d 100644 --- a/dll/ntdll/include/ntdll.h +++ b/dll/ntdll/include/ntdll.h @@ -23,18 +23,14 @@ #include #include #include -#include -#include #include #define NTOS_MODE_USER #include -#include #include #include #include #include #include -#include #include #include #include @@ -45,7 +41,6 @@ #include "ntdllp.h" /* CSRSS Headers */ -#include #include /* PSEH */ diff --git a/dll/ntdll/include/ntdllp.h b/dll/ntdll/include/ntdllp.h index 606b5fc4546..d8b6e217243 100644 --- a/dll/ntdll/include/ntdllp.h +++ b/dll/ntdll/include/ntdllp.h @@ -6,7 +6,7 @@ * PROGRAMMER: Alex Ionescu (alex@relsoft.net) */ -/* INCLUDES ******************************************************************/ +#pragma once #define LDR_HASH_TABLE_ENTRIES 32 #define LDR_GET_HASH_ENTRY(x) (RtlUpcaseUnicodeChar((x)) & (LDR_HASH_TABLE_ENTRIES - 1)) diff --git a/dll/ntdll/ldr/ldrapi.c b/dll/ntdll/ldr/ldrapi.c index 5107649a716..a7b25f032d4 100644 --- a/dll/ntdll/ldr/ldrapi.c +++ b/dll/ntdll/ldr/ldrapi.c @@ -10,6 +10,7 @@ /* INCLUDES *****************************************************************/ #include + #define NDEBUG #include diff --git a/dll/ntdll/ldr/ldrinit.c b/dll/ntdll/ldr/ldrinit.c index 8aa9e74668e..2c7094d7873 100644 --- a/dll/ntdll/ldr/ldrinit.c +++ b/dll/ntdll/ldr/ldrinit.c @@ -10,6 +10,8 @@ /* INCLUDES *****************************************************************/ #include + +#include #include #define NDEBUG diff --git a/dll/ntdll/ldr/ldrpe.c b/dll/ntdll/ldr/ldrpe.c index 6b351aeecc1..a127e5798a1 100644 --- a/dll/ntdll/ldr/ldrpe.c +++ b/dll/ntdll/ldr/ldrpe.c @@ -9,6 +9,7 @@ /* INCLUDES *****************************************************************/ #include + #define NDEBUG #include diff --git a/dll/ntdll/ldr/ldrutils.c b/dll/ntdll/ldr/ldrutils.c index b042ee852e0..12d487c7936 100644 --- a/dll/ntdll/ldr/ldrutils.c +++ b/dll/ntdll/ldr/ldrutils.c @@ -10,6 +10,7 @@ /* INCLUDES *****************************************************************/ #include + #define NDEBUG #include diff --git a/dll/ntdll/rtl/libsupp.c b/dll/ntdll/rtl/libsupp.c index c2cbf25c302..9ceb2b0bda2 100644 --- a/dll/ntdll/rtl/libsupp.c +++ b/dll/ntdll/rtl/libsupp.c @@ -10,6 +10,7 @@ /* INCLUDES *****************************************************************/ #include + #define NDEBUG #include diff --git a/dll/ntdll/rtl/version.c b/dll/ntdll/rtl/version.c index 66193febb70..94e1caab2b7 100644 --- a/dll/ntdll/rtl/version.c +++ b/dll/ntdll/rtl/version.c @@ -11,6 +11,7 @@ /* INCLUDES *******************************************************************/ #include + #define NDEBUG #include diff --git a/dll/opengl/glu32/CMakeLists.txt b/dll/opengl/glu32/CMakeLists.txt index 99a8fa3c874..bb874f69134 100644 --- a/dll/opengl/glu32/CMakeLists.txt +++ b/dll/opengl/glu32/CMakeLists.txt @@ -18,7 +18,6 @@ add_definitions( spec2def(glu32.dll glu32.spec ADD_IMPORTLIB) list(APPEND SOURCE - glu32.rc src/libutil/error.c src/libutil/glue.c src/libutil/mipmap.c @@ -110,7 +109,7 @@ list(APPEND SOURCE src/libnurbs/nurbtess/searchTree.cc ${CMAKE_CURRENT_BINARY_DIR}/glu32.def) -add_library(glu32 SHARED ${SOURCE}) +add_library(glu32 SHARED ${SOURCE} glu32.rc) set_module_type(glu32 win32dll) if(NOT MSVC) diff --git a/dll/opengl/opengl32/icdload.c b/dll/opengl/opengl32/icdload.c index 1cd1e19edc7..f4029cfe651 100644 --- a/dll/opengl/opengl32/icdload.c +++ b/dll/opengl/opengl32/icdload.c @@ -6,9 +6,9 @@ */ #include "opengl32.h" + #include -#include WINE_DEFAULT_DEBUG_CHANNEL(opengl32); struct Drv_Opengl_Info diff --git a/dll/opengl/opengl32/opengl32.h b/dll/opengl/opengl32/opengl32.h index c2109979811..72862f6a016 100644 --- a/dll/opengl/opengl32/opengl32.h +++ b/dll/opengl/opengl32/opengl32.h @@ -16,6 +16,8 @@ #include #include +#include + #include "icd.h" struct wgl_context diff --git a/dll/opengl/opengl32/swimpl.c b/dll/opengl/opengl32/swimpl.c index 9a26dfca243..3fb164f85dd 100644 --- a/dll/opengl/opengl32/swimpl.c +++ b/dll/opengl/opengl32/swimpl.c @@ -9,7 +9,6 @@ /* MESA includes */ #include
-#include
#include
#include
#include
@@ -17,13 +16,11 @@ #include #include #include -#include #include #include #include #include -#include WINE_DEFAULT_DEBUG_CHANNEL(opengl32); #define WIDTH_BYTES_ALIGN32(cx, bpp) ((((cx) * (bpp) + 31) & ~31) >> 3) diff --git a/dll/opengl/opengl32/wgl.c b/dll/opengl/opengl32/wgl.c index f312f118cec..32503e7344b 100644 --- a/dll/opengl/opengl32/wgl.c +++ b/dll/opengl/opengl32/wgl.c @@ -9,7 +9,6 @@ #include -#include WINE_DEFAULT_DEBUG_CHANNEL(wgl); static CRITICAL_SECTION dc_data_cs = {NULL, -1, 0, 0, 0, 0}; diff --git a/dll/opengl/opengl32/wgl_font.c b/dll/opengl/opengl32/wgl_font.c index c4c2ca6f73f..95d01cff8f4 100644 --- a/dll/opengl/opengl32/wgl_font.c +++ b/dll/opengl/opengl32/wgl_font.c @@ -21,7 +21,7 @@ #include "opengl32.h" #include -#include + WINE_DEFAULT_DEBUG_CHANNEL(wgl); /*********************************************************************** diff --git a/dll/shellext/deskadp/deskadp.c b/dll/shellext/deskadp/deskadp.c index 4c2c9db99f6..ec035a577f1 100644 --- a/dll/shellext/deskadp/deskadp.c +++ b/dll/shellext/deskadp/deskadp.c @@ -1,8 +1,12 @@ #include "precomp.h" +#include + #define NDEBUG #include +#include "resource.h" + static HINSTANCE hInstance; typedef INT_PTR (WINAPI *PDEVICEPROPERTIESW)(HWND,LPCWSTR,LPCWSTR,BOOL); diff --git a/dll/shellext/deskadp/precomp.h b/dll/shellext/deskadp/precomp.h index 9c9cfad512d..4c46de711d9 100644 --- a/dll/shellext/deskadp/precomp.h +++ b/dll/shellext/deskadp/precomp.h @@ -1,19 +1,21 @@ #ifndef __PRECOMP__H #define __PRECOMP__H -#define COBJMACROS +#include + #define WIN32_NO_STATUS #define _INC_WINDOWS #define COM_NO_WINDOWS_H -#include + +#define COBJMACROS + #include #include #include #include -#include #include #include + #include "deskadp.h" -#include "resource.h" #endif /* __PRECOMP__H */ diff --git a/dll/shellext/deskmon/deskmon.c b/dll/shellext/deskmon/deskmon.c index 4cfc4cbf266..3ab92551d5f 100644 --- a/dll/shellext/deskmon/deskmon.c +++ b/dll/shellext/deskmon/deskmon.c @@ -1,8 +1,12 @@ #include "precomp.h" +#include + #define NDEBUG #include +#include "resource.h" + static HINSTANCE hInstance; #ifdef UNICODE diff --git a/dll/shellext/deskmon/precomp.h b/dll/shellext/deskmon/precomp.h index 08b565559cd..23db0a7af3e 100644 --- a/dll/shellext/deskmon/precomp.h +++ b/dll/shellext/deskmon/precomp.h @@ -1,19 +1,21 @@ #ifndef __PRECOMP__H #define __PRECOMP__H -#define COBJMACROS +#include + #define WIN32_NO_STATUS #define _INC_WINDOWS #define COM_NO_WINDOWS_H -#include + +#define COBJMACROS + #include #include #include #include -#include #include #include + #include "deskmon.h" -#include "resource.h" #endif /* __PRECOMP__H */ diff --git a/dll/shellext/devcpux/processor.c b/dll/shellext/devcpux/processor.c index 554c58fc4ef..ec54d76f413 100644 --- a/dll/shellext/devcpux/processor.c +++ b/dll/shellext/devcpux/processor.c @@ -17,6 +17,7 @@ #include #include #include +#include #include "resource.h" @@ -27,17 +28,17 @@ BOOL APIENTRY DllMain (HANDLE hInstance, DWORD dwReason, LPVOID lpReserved) { - switch (dwReason) - { - case DLL_THREAD_ATTACH: - case DLL_THREAD_DETACH: - case DLL_PROCESS_ATTACH: - case DLL_PROCESS_DETACH: - break; - } + switch (dwReason) + { + case DLL_THREAD_ATTACH: + case DLL_THREAD_DETACH: + case DLL_PROCESS_ATTACH: + case DLL_PROCESS_DETACH: + break; + } - g_hInstance = (HINSTANCE) hInstance; - return TRUE; + g_hInstance = (HINSTANCE) hInstance; + return TRUE; } @@ -45,84 +46,84 @@ BOOL APIENTRY PropSheetExtProc(PSP_PROPSHEETPAGE_REQUEST PropPageRequest, LPFNADDPROPSHEETPAGE fAddFunc, LPARAM lParam) { - PROPSHEETPAGE PropSheetPage; - HPROPSHEETPAGE hPropSheetPage; + PROPSHEETPAGE PropSheetPage; + HPROPSHEETPAGE hPropSheetPage; - if(PropPageRequest->PageRequested != SPPSR_ENUM_ADV_DEVICE_PROPERTIES) - return FALSE; + if(PropPageRequest->PageRequested != SPPSR_ENUM_ADV_DEVICE_PROPERTIES) + return FALSE; - if ((!PropPageRequest->DeviceInfoSet) || (!PropPageRequest->DeviceInfoData)) - return FALSE; + if ((!PropPageRequest->DeviceInfoSet) || (!PropPageRequest->DeviceInfoData)) + return FALSE; - ZeroMemory(&PropSheetPage, sizeof(PROPSHEETPAGE)); - PropSheetPage.dwSize = sizeof(PROPSHEETPAGE); - PropSheetPage.hInstance = g_hInstance; - PropSheetPage.pszTemplate = MAKEINTRESOURCE(DLG_PROCESSORINFO); - PropSheetPage.pfnDlgProc = ProcessorDlgProc; + ZeroMemory(&PropSheetPage, sizeof(PROPSHEETPAGE)); + PropSheetPage.dwSize = sizeof(PROPSHEETPAGE); + PropSheetPage.hInstance = g_hInstance; + PropSheetPage.pszTemplate = MAKEINTRESOURCE(DLG_PROCESSORINFO); + PropSheetPage.pfnDlgProc = ProcessorDlgProc; - hPropSheetPage = CreatePropertySheetPage(&PropSheetPage); - if(!hPropSheetPage) - return FALSE; + hPropSheetPage = CreatePropertySheetPage(&PropSheetPage); + if(!hPropSheetPage) + return FALSE; - if(!(fAddFunc)(hPropSheetPage, lParam)) { - DestroyPropertySheetPage (hPropSheetPage); - return FALSE; - } + if(!(fAddFunc)(hPropSheetPage, lParam)) { + DestroyPropertySheetPage (hPropSheetPage); + return FALSE; + } - return TRUE; + return TRUE; } void -AddFeature(WCHAR* szFeatures, WCHAR* Feature, BOOL* bFirst) +AddFeature(WCHAR* szFeatures, size_t cbDest, WCHAR* Feature, BOOL* bFirst) { - if (!*bFirst) - wcscat(szFeatures, L", "); - *bFirst = FALSE; - wcscat(szFeatures, Feature); + if (!*bFirst) + StringCbCatW(szFeatures, cbDest, L", "); + *bFirst = FALSE; + StringCbCatW(szFeatures, cbDest, Feature); } INT_PTR CALLBACK ProcessorDlgProc (HWND hDlg, UINT uMessage, WPARAM wParam, LPARAM lParam) { - switch (uMessage) { - case WM_INITDIALOG: - { - WCHAR szFeatures[MAX_PATH] = L""; - WCHAR szModel[3]; - WCHAR szStepping[3]; - WCHAR szCurrentMhz[10]; - BOOL bFirst = TRUE; - SYSTEM_INFO SystemInfo; - PROCESSOR_POWER_INFORMATION PowerInfo; + switch (uMessage) { + case WM_INITDIALOG: + { + WCHAR szFeatures[MAX_PATH] = L""; + WCHAR szModel[3]; + WCHAR szStepping[3]; + WCHAR szCurrentMhz[10]; + BOOL bFirst = TRUE; + SYSTEM_INFO SystemInfo; + PROCESSOR_POWER_INFORMATION PowerInfo; - if (IsProcessorFeaturePresent(PF_MMX_INSTRUCTIONS_AVAILABLE)) - AddFeature(szFeatures, L"MMX", &bFirst); - if (IsProcessorFeaturePresent(PF_XMMI_INSTRUCTIONS_AVAILABLE)) - AddFeature(szFeatures, L"SSE", &bFirst); - if (IsProcessorFeaturePresent(PF_XMMI64_INSTRUCTIONS_AVAILABLE)) - AddFeature(szFeatures, L"SSE2", &bFirst); - /*if (IsProcessorFeaturePresent(PF_SSE3_INSTRUCTIONS_AVAILABLE)) - AddFeature(szFeatures, L"SSE3", &bFirst); */ - if (IsProcessorFeaturePresent(PF_3DNOW_INSTRUCTIONS_AVAILABLE)) - AddFeature(szFeatures, L"3DNOW", &bFirst); + if (IsProcessorFeaturePresent(PF_MMX_INSTRUCTIONS_AVAILABLE)) + AddFeature(szFeatures, sizeof(szFeatures), L"MMX", &bFirst); + if (IsProcessorFeaturePresent(PF_XMMI_INSTRUCTIONS_AVAILABLE)) + AddFeature(szFeatures, sizeof(szFeatures), L"SSE", &bFirst); + if (IsProcessorFeaturePresent(PF_XMMI64_INSTRUCTIONS_AVAILABLE)) + AddFeature(szFeatures, sizeof(szFeatures), L"SSE2", &bFirst); + /*if (IsProcessorFeaturePresent(PF_SSE3_INSTRUCTIONS_AVAILABLE)) + AddFeature(szFeatures, sizeof(szFeatures), L"SSE3", &bFirst); */ + if (IsProcessorFeaturePresent(PF_3DNOW_INSTRUCTIONS_AVAILABLE)) + AddFeature(szFeatures, sizeof(szFeatures), L"3DNOW", &bFirst); - SetDlgItemTextW(hDlg, IDC_FEATURES, szFeatures); + SetDlgItemTextW(hDlg, IDC_FEATURES, szFeatures); - GetSystemInfo(&SystemInfo); + GetSystemInfo(&SystemInfo); - wsprintf(szModel, L"%x", HIBYTE(SystemInfo.wProcessorRevision)); - wsprintf(szStepping, L"%d", LOBYTE(SystemInfo.wProcessorRevision)); + StringCbPrintfW(szModel, sizeof(szModel), L"%x", HIBYTE(SystemInfo.wProcessorRevision)); + StringCbPrintfW(szStepping, sizeof(szStepping), L"%d", LOBYTE(SystemInfo.wProcessorRevision)); - SetDlgItemTextW(hDlg, IDC_MODEL, szModel); - SetDlgItemTextW(hDlg, IDC_STEPPING, szStepping); + SetDlgItemTextW(hDlg, IDC_MODEL, szModel); + SetDlgItemTextW(hDlg, IDC_STEPPING, szStepping); - CallNtPowerInformation(11, NULL, 0, &PowerInfo, sizeof(PowerInfo)); - wsprintf(szCurrentMhz, L"%ld %s", PowerInfo.CurrentMhz, L"MHz"); - SetDlgItemTextW(hDlg, IDC_CORESPEED, szCurrentMhz); + CallNtPowerInformation(11, NULL, 0, &PowerInfo, sizeof(PowerInfo)); + StringCbPrintfW(szCurrentMhz, sizeof(szCurrentMhz), L"%ld %s", PowerInfo.CurrentMhz, L"MHz"); + SetDlgItemTextW(hDlg, IDC_CORESPEED, szCurrentMhz); - return TRUE; - } - } - return FALSE; + return TRUE; + } + } + return FALSE; } diff --git a/dll/shellext/fontext/fontext.c b/dll/shellext/fontext/fontext.c index 352d2e733da..3102a795f3c 100644 --- a/dll/shellext/fontext/fontext.c +++ b/dll/shellext/fontext/fontext.c @@ -10,6 +10,9 @@ #include "fontext.h" +#include +#include + static HINSTANCE hInstance; HRESULT WINAPI diff --git a/dll/shellext/fontext/fontext.h b/dll/shellext/fontext/fontext.h index 21b61b517eb..612b89e4f9d 100644 --- a/dll/shellext/fontext/fontext.h +++ b/dll/shellext/fontext/fontext.h @@ -1,7 +1,6 @@ -#define COBJMACROS -#define WIN32_NO_STATUS #include -#include -#include -#include +#define WIN32_NO_STATUS +#define COBJMACROS + +#include diff --git a/dll/shellext/slayer/CMakeLists.txt b/dll/shellext/slayer/CMakeLists.txt index 635c1691763..825320ddeeb 100644 --- a/dll/shellext/slayer/CMakeLists.txt +++ b/dll/shellext/slayer/CMakeLists.txt @@ -20,5 +20,4 @@ add_importlibs(slayer kernel32 ntdll) -add_pch(slayer precomp.h) add_cd_file(TARGET slayer DESTINATION reactos/system32 FOR all) diff --git a/dll/shellext/slayer/precomp.h b/dll/shellext/slayer/precomp.h deleted file mode 100644 index c01102214c0..00000000000 --- a/dll/shellext/slayer/precomp.h +++ /dev/null @@ -1,16 +0,0 @@ -#define WIN32_NO_STATUS -#define _INC_WINDOWS -#define COM_NO_WINDOWS_H -#include -#include -#include -#include -#include -#include -#include -#include - -#include "resource.h" -#include "slayer.h" - -/* EOF */ diff --git a/dll/shellext/slayer/slayer.c b/dll/shellext/slayer/slayer.c index ee2260ce320..81ad357d05e 100644 --- a/dll/shellext/slayer/slayer.c +++ b/dll/shellext/slayer/slayer.c @@ -24,7 +24,22 @@ * UPDATE HISTORY: * 09/25/2004 Created */ -#include "precomp.h" + +#include + +#define WIN32_NO_STATUS +#define _INC_WINDOWS +#define COM_NO_WINDOWS_H + +#include +#include +#include +#include +#include +#include + +#include "resource.h" +#include "slayer.h" HINSTANCE hInstance = NULL; static LONG dllrefs = 0; diff --git a/dll/win32/aclui/aclui.c b/dll/win32/aclui/aclui.c index 53c32d38dd8..591b3347a27 100644 --- a/dll/win32/aclui/aclui.c +++ b/dll/win32/aclui/aclui.c @@ -25,11 +25,16 @@ * UPDATE HISTORY: * 08/10/2004 Created */ + #include "precomp.h" +#include + #define NDEBUG #include +#include "resource.h" + HINSTANCE hDllInstance; #define SIDN_LOOKUPSUCCEEDED (0x101) diff --git a/dll/win32/aclui/checklist.c b/dll/win32/aclui/checklist.c index f81e453a42f..38a2df84fb4 100644 --- a/dll/win32/aclui/checklist.c +++ b/dll/win32/aclui/checklist.c @@ -25,8 +25,14 @@ * UPDATE HISTORY: * 07/01/2005 Created */ + #include "precomp.h" +#ifdef SUPPORT_UXTHEME +#include +#include +#endif + #define NDEBUG #include diff --git a/dll/win32/aclui/guid.c b/dll/win32/aclui/guid.c index df6a998b3f5..74ad92442b4 100644 --- a/dll/win32/aclui/guid.c +++ b/dll/win32/aclui/guid.c @@ -19,10 +19,12 @@ /* DO NOT USE THE PRECOMPILED HEADER FOR THIS FILE! */ +#include + #define WIN32_NO_STATUS #define _INC_WINDOWS #define COM_NO_WINDOWS_H -#include + #include #include #include diff --git a/dll/win32/aclui/misc.c b/dll/win32/aclui/misc.c index 59f7605b851..914e6b6d880 100644 --- a/dll/win32/aclui/misc.c +++ b/dll/win32/aclui/misc.c @@ -25,6 +25,7 @@ * UPDATE HISTORY: * 07/01/2005 Created */ + #include "precomp.h" #define NDEBUG @@ -335,4 +336,3 @@ FreeObjectPicker(IN IDsObjectPicker *pDsObjectPicker) { pDsObjectPicker->lpVtbl->Release(pDsObjectPicker); } - diff --git a/dll/win32/aclui/precomp.h b/dll/win32/aclui/precomp.h index f0826d55f01..60529aa0191 100644 --- a/dll/win32/aclui/precomp.h +++ b/dll/win32/aclui/precomp.h @@ -1,27 +1,19 @@ #define _ACLUI_ +#include + #define WIN32_NO_STATUS #define _INC_WINDOWS #define COM_NO_WINDOWS_H -#include + #include #include #include #include - -#define NTOS_MODE_USER -#include - #include #include -#include -#include -#ifdef SUPPORT_UXTHEME -#include -#include -#endif - -#include "resource.h" +#define NTOS_MODE_USER +#include #define EnableRedrawWindow(hwnd) \ SendMessage((hwnd), WM_SETREDRAW, TRUE, 0) diff --git a/dll/win32/aclui/sidcache.c b/dll/win32/aclui/sidcache.c index 14ed4501895..6fde2a4641d 100644 --- a/dll/win32/aclui/sidcache.c +++ b/dll/win32/aclui/sidcache.c @@ -25,8 +25,11 @@ * UPDATE HISTORY: * 12/10/2005 Created */ + #include "precomp.h" +#include + #define NDEBUG #include diff --git a/dll/win32/activeds/activeds_main.c b/dll/win32/activeds/activeds_main.c index b995fd047f2..bb05cad5649 100644 --- a/dll/win32/activeds/activeds_main.c +++ b/dll/win32/activeds/activeds_main.c @@ -21,26 +21,11 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#define WIN32_NO_STATUS -#define _INC_WINDOWS -#define COM_NO_WINDOWS_H +#include "precomp.h" -#include - -#define COBJMACROS -#define NONAMELESSUNION - -#include -#include -//#include "winuser.h" - -#include #include -//#include "adshlp.h" -//#include "wine/unicode.h" #include - WINE_DEFAULT_DEBUG_CHANNEL(activeds); /***************************************************** diff --git a/dll/win32/activeds/precomp.h b/dll/win32/activeds/precomp.h new file mode 100644 index 00000000000..9edfce3faf0 --- /dev/null +++ b/dll/win32/activeds/precomp.h @@ -0,0 +1,17 @@ +#ifndef _ACTIVEDS_PCH_ +#define _ACTIVEDS_PCH_ + +#include + +#define WIN32_NO_STATUS +#define _INC_WINDOWS +#define COM_NO_WINDOWS_H + +#define COBJMACROS +#define NONAMELESSUNION + +#include +#include +#include + +#endif /* _ACTIVEDS_PCH_ */ diff --git a/dll/win32/activeds/stubs.c b/dll/win32/activeds/stubs.c index a952359e48c..c43ffac2ee3 100644 --- a/dll/win32/activeds/stubs.c +++ b/dll/win32/activeds/stubs.c @@ -1,11 +1,5 @@ -#define WIN32_NO_STATUS -#define _INC_WINDOWS -#define COM_NO_WINDOWS_H -#include -#include -#include -#include -#include +#include "precomp.h" + #include // FIXME: should go to iads.h diff --git a/dll/win32/advapi32/advapi32.h b/dll/win32/advapi32/advapi32.h index a304ec5504d..39492bdae2d 100644 --- a/dll/win32/advapi32/advapi32.h +++ b/dll/win32/advapi32/advapi32.h @@ -15,25 +15,19 @@ #include /* PSDK/NDK Headers */ +#define WINE_STRICT_PROTOTYPES #define WIN32_NO_STATUS #define WIN32_LEAN_AND_MEAN +#define _INC_WINDOWS +#define COM_NO_WINDOWS_H #define _WMI_SOURCE_ -#include -#include #include -#include -#include #include -#include #define NTOS_MODE_USER -#include -#include #include -#include #include #include #include -#include #include /* this has to go after the NDK when being used with the NDK */ @@ -41,13 +35,11 @@ #include #include -#include -#include -#include "crypt/crypt.h" #include #include -#include + +#include "crypt/crypt.h" #ifndef HAS_FN_PROGRESSW #define FN_PROGRESSW FN_PROGRESS diff --git a/dll/win32/advapi32/crypt/crypt.c b/dll/win32/advapi32/crypt/crypt.c index ff734d5e139..81b37c891e5 100644 --- a/dll/win32/advapi32/crypt/crypt.c +++ b/dll/win32/advapi32/crypt/crypt.c @@ -24,7 +24,6 @@ * - Thread-safing */ -#define WINE_STRICT_PROTOTYPES #include WINE_DEFAULT_DEBUG_CHANNEL(crypt); diff --git a/dll/win32/advapi32/misc/efs.c b/dll/win32/advapi32/misc/efs.c index 49bd4e33bc3..47bf3ece631 100644 --- a/dll/win32/advapi32/misc/efs.c +++ b/dll/win32/advapi32/misc/efs.c @@ -7,8 +7,10 @@ */ #include -WINE_DEFAULT_DEBUG_CHANNEL(advapi); +#include + +WINE_DEFAULT_DEBUG_CHANNEL(advapi); /* * @unimplemented diff --git a/dll/win32/advapi32/misc/shutdown.c b/dll/win32/advapi32/misc/shutdown.c index 933a774e3e9..4cd0039ce15 100644 --- a/dll/win32/advapi32/misc/shutdown.c +++ b/dll/win32/advapi32/misc/shutdown.c @@ -8,6 +8,9 @@ */ #include + +#include + WINE_DEFAULT_DEBUG_CHANNEL(advapi); /********************************************************************** diff --git a/dll/win32/advapi32/misc/trace.c b/dll/win32/advapi32/misc/trace.c index f09d9a72718..08f34020c0e 100644 --- a/dll/win32/advapi32/misc/trace.c +++ b/dll/win32/advapi32/misc/trace.c @@ -3,6 +3,10 @@ */ #include + +#include +#include + WINE_DEFAULT_DEBUG_CHANNEL(advapi); /* * @unimplemented diff --git a/dll/win32/advapi32/reg/reg.c b/dll/win32/advapi32/reg/reg.c index de15bf5f7d7..c4518ba376e 100644 --- a/dll/win32/advapi32/reg/reg.c +++ b/dll/win32/advapi32/reg/reg.c @@ -14,7 +14,10 @@ /* INCLUDES *****************************************************************/ #include + +#include #include + WINE_DEFAULT_DEBUG_CHANNEL(reg); /* DEFINES ******************************************************************/ diff --git a/dll/win32/advapi32/sec/cred.c b/dll/win32/advapi32/sec/cred.c index d0a0cb658e7..4c6dd287c54 100644 --- a/dll/win32/advapi32/sec/cred.c +++ b/dll/win32/advapi32/sec/cred.c @@ -19,6 +19,9 @@ */ #include + +#include + WINE_DEFAULT_DEBUG_CHANNEL(cred); /* the size of the ARC4 key used to encrypt the password data */ diff --git a/dll/win32/advapi32/sec/lsa.c b/dll/win32/advapi32/sec/lsa.c index e899859350b..898497cda09 100644 --- a/dll/win32/advapi32/sec/lsa.c +++ b/dll/win32/advapi32/sec/lsa.c @@ -13,8 +13,9 @@ #include -WINE_DEFAULT_DEBUG_CHANNEL(advapi); +#include +WINE_DEFAULT_DEBUG_CHANNEL(advapi); static BOOL diff --git a/dll/win32/advapi32/sec/misc.c b/dll/win32/advapi32/sec/misc.c index 4a309268455..33019693207 100644 --- a/dll/win32/advapi32/sec/misc.c +++ b/dll/win32/advapi32/sec/misc.c @@ -11,8 +11,8 @@ */ #include -WINE_DEFAULT_DEBUG_CHANNEL(advapi); +WINE_DEFAULT_DEBUG_CHANNEL(advapi); /* Interface to ntmarta.dll ***************************************************/ diff --git a/dll/win32/advapi32/sec/sid.c b/dll/win32/advapi32/sec/sid.c index d645a53583d..fe1bb856df6 100644 --- a/dll/win32/advapi32/sec/sid.c +++ b/dll/win32/advapi32/sec/sid.c @@ -12,6 +12,9 @@ */ #include + +#include + WINE_DEFAULT_DEBUG_CHANNEL(advapi); #define MAX_GUID_STRING_LEN 39 diff --git a/dll/win32/advapi32/service/eventlog.c b/dll/win32/advapi32/service/eventlog.c index 2788854c923..2b535b7c800 100644 --- a/dll/win32/advapi32/service/eventlog.c +++ b/dll/win32/advapi32/service/eventlog.c @@ -22,6 +22,10 @@ */ #include + +#include +#include + WINE_DEFAULT_DEBUG_CHANNEL(advapi); static RPC_UNICODE_STRING EmptyStringU = { 0, 0, L"" }; diff --git a/dll/win32/advapi32/token/token.c b/dll/win32/advapi32/token/token.c index 2c2687b2834..5da745d2a59 100644 --- a/dll/win32/advapi32/token/token.c +++ b/dll/win32/advapi32/token/token.c @@ -9,6 +9,9 @@ */ #include + +#include + WINE_DEFAULT_DEBUG_CHANNEL(advapi); /* diff --git a/dll/win32/atl100/atl.c b/dll/win32/atl100/atl.c index bbc0193e997..1dbda7f423f 100644 --- a/dll/win32/atl100/atl.c +++ b/dll/win32/atl100/atl.c @@ -17,24 +17,9 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#define WIN32_NO_STATUS -#define _INC_WINDOWS -#define COM_NO_WINDOWS_H +#include "precomp.h" -#define COBJMACROS - -#include -#include -#include -#include #include -#include -#include - -#include -#include - -#include WINE_DEFAULT_DEBUG_CHANNEL(atl100); diff --git a/dll/win32/atl100/atl_ax.c b/dll/win32/atl100/atl_ax.c index 43e21828e2b..91b16cd2661 100644 --- a/dll/win32/atl100/atl_ax.c +++ b/dll/win32/atl100/atl_ax.c @@ -18,30 +18,12 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#define WIN32_NO_STATUS -#define _INC_WINDOWS -#define COM_NO_WINDOWS_H +#include "precomp.h" -#include -//#include - -#define COBJMACROS - -#include -#include -//#include "winerror.h" -//#include "winuser.h" -#include -//#include "objbase.h" -//#include "objidl.h" #include #include -#include -//#include "atliface.h" #include -#include - WINE_DEFAULT_DEBUG_CHANNEL(atl); typedef struct IOCS { diff --git a/dll/win32/atl100/precomp.h b/dll/win32/atl100/precomp.h new file mode 100644 index 00000000000..458366efba3 --- /dev/null +++ b/dll/win32/atl100/precomp.h @@ -0,0 +1,22 @@ +#ifndef _ATL100_PCH_ +#define _ATL100_PCH_ + +#include + +#define WIN32_NO_STATUS +#define _INC_WINDOWS +#define COM_NO_WINDOWS_H + +#define COBJMACROS + +#include +#include +#include +#include +#include + +#include +#include +#include + +#endif /* _ATL100_PCH_ */ diff --git a/dll/win32/atl100/registrar.c b/dll/win32/atl100/registrar.c index a8d95352cf6..9da293f44a8 100644 --- a/dll/win32/atl100/registrar.c +++ b/dll/win32/atl100/registrar.c @@ -16,22 +16,7 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#define WIN32_NO_STATUS -#define _INC_WINDOWS -#define COM_NO_WINDOWS_H - -#define COBJMACROS - -#include -#include -#include -#include -#include - -#include - -#include -#include +#include "precomp.h" WINE_DEFAULT_DEBUG_CHANNEL(atl); diff --git a/dll/win32/avifil32/avifile_private.h b/dll/win32/avifil32/avifile_private.h index c1ee945707c..605866edd8e 100644 --- a/dll/win32/avifil32/avifile_private.h +++ b/dll/win32/avifil32/avifile_private.h @@ -33,14 +33,14 @@ #include #include -#include - #include -WINE_DEFAULT_DEBUG_CHANNEL(avifile); +#include #include "extrachunk.h" #include "resource.h" +WINE_DEFAULT_DEBUG_CHANNEL(avifile); + #ifndef MAX_AVISTREAMS #define MAX_AVISTREAMS 8 #endif @@ -71,4 +71,4 @@ extern PAVIFILE AVIFILE_CreateAVITempFile(int nStreams, const PAVISTREAM *ppStr extern LPCWSTR AVIFILE_BasenameW(LPCWSTR szFileName) DECLSPEC_HIDDEN; -#endif +#endif /* __AVIFILE_PRIVATE_H */ diff --git a/dll/win32/avifil32/editstream.c b/dll/win32/avifil32/editstream.c index 023a4d41bc7..7ae56fed1d1 100644 --- a/dll/win32/avifil32/editstream.c +++ b/dll/win32/avifil32/editstream.c @@ -18,8 +18,6 @@ #include "avifile_private.h" -#include - /***********************************************************************/ /* internal interface to get access to table of stream in an editable stream */ diff --git a/dll/win32/avifil32/extrachunk.h b/dll/win32/avifil32/extrachunk.h index 53c943c2a19..f8b966c07d6 100644 --- a/dll/win32/avifil32/extrachunk.h +++ b/dll/win32/avifil32/extrachunk.h @@ -19,14 +19,6 @@ #ifndef __WINE_EXTRACHUNK_H #define __WINE_EXTRACHUNK_H -#define WIN32_NO_STATUS - -#include - -#include -//#include "winbase.h" -#include - #ifdef __cplusplus extern "C" { #endif @@ -54,4 +46,4 @@ HRESULT FindChunkAndKeepExtras(LPEXTRACHUNKS extra,HMMIO hmmio, } #endif -#endif +#endif /* __WINE_EXTRACHUNK_H */ diff --git a/dll/win32/avifil32/guid.c b/dll/win32/avifil32/guid.c index af5aba76959..575fdf86e41 100644 --- a/dll/win32/avifil32/guid.c +++ b/dll/win32/avifil32/guid.c @@ -12,6 +12,10 @@ #include #include +/* editstream.c */ +DEFINE_AVIGUID(IID_IEditStreamInternal, 0x0002000A,0,0); + +/* avifile_private.h */ DEFINE_AVIGUID(CLSID_ICMStream, 0x00020001, 0, 0); DEFINE_AVIGUID(CLSID_WAVFile, 0x00020003, 0, 0); DEFINE_AVIGUID(CLSID_ACMStream, 0x0002000F, 0, 0); diff --git a/dll/win32/avifil32/lang/avifile_Ro.rc b/dll/win32/avifil32/lang/avifile_Ro.rc index 80e21de8486..884a04b714c 100644 --- a/dll/win32/avifil32/lang/avifile_Ro.rc +++ b/dll/win32/avifil32/lang/avifile_Ro.rc @@ -1,7 +1,9 @@ /* - * Top level resource file for avifil32.dll + * avifil32.dll (Romanian resources) * * Copyright 2002 Michael Günnewig + * 2009 Paul Chitescu + * 2012 Fulea Ștefan * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -18,7 +20,7 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -LANGUAGE LANG_ROMANIAN, SUBLANG_DEFAULT +LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL STRINGTABLE { @@ -40,12 +42,12 @@ BEGIN LTEXT "&Alegeți un flux:",-1,5,5,154,10 COMBOBOX IDC_STREAM,5,18,154,61,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "&Opțiuni...",IDC_OPTIONS,170,17,50,14 - AUTOCHECKBOX "Ȋ&ntrețese fiecare",IDC_INTERLEAVE,5,42,85,11,WS_TABSTOP + PUSHBUTTON "&Opțiuni…",IDC_OPTIONS,170,17,50,14 + AUTOCHECKBOX "Înt&rețese fiecare",IDC_INTERLEAVE,5,42,85,11,WS_TABSTOP EDITTEXT IDC_INTERLEAVEEVERY,91,41,32,12,ES_AUTOHSCROLL LTEXT "cadre",-1,129,43,36,9 LTEXT "Formatul curent:",-1,5,56,73,9 - LTEXT "",IDC_FORMATTEXT,80,56,88,26 - DEFPUSHBUTTON "OK",IDOK,170,42,50,14 - PUSHBUTTON "Renunță",IDCANCEL,170,61,50,14 + LTEXT "Spațiu disponibil",IDC_FORMATTEXT,80,56,88,26 + DEFPUSHBUTTON "Con&firmă",IDOK,170,42,50,14 + PUSHBUTTON "A&nulează",IDCANCEL,170,61,50,14 END diff --git a/dll/win32/browseui/aclmulti.cpp b/dll/win32/browseui/aclmulti.cpp index 9b438c491cd..7702439279d 100644 --- a/dll/win32/browseui/aclmulti.cpp +++ b/dll/win32/browseui/aclmulti.cpp @@ -21,8 +21,6 @@ #include "precomp.h" -WINE_DEFAULT_DEBUG_CHANNEL(browseui); - void CACLMulti::release_obj(struct ACLMultiSublist *obj) { obj->punk->Release(); diff --git a/dll/win32/browseui/addressband.cpp b/dll/win32/browseui/addressband.cpp index 1f5362cee4b..0e5ab2e1852 100644 --- a/dll/win32/browseui/addressband.cpp +++ b/dll/win32/browseui/addressband.cpp @@ -21,6 +21,7 @@ /* Implements the navigation band of the cabinet window */ + #include "precomp.h" /* diff --git a/dll/win32/browseui/addresseditbox.cpp b/dll/win32/browseui/addresseditbox.cpp index d3ddee88a96..67afa9d69ff 100644 --- a/dll/win32/browseui/addresseditbox.cpp +++ b/dll/win32/browseui/addresseditbox.cpp @@ -21,7 +21,9 @@ /* This class handles the combo box of the address band. */ + #include "precomp.h" + /* TODO: Add auto completion support diff --git a/dll/win32/browseui/bandproxy.cpp b/dll/win32/browseui/bandproxy.cpp index 51d8c32f3f1..fbbfb331da3 100644 --- a/dll/win32/browseui/bandproxy.cpp +++ b/dll/win32/browseui/bandproxy.cpp @@ -24,6 +24,7 @@ Used by the address band to dispatch navigation changes to the main browser obje TODO: */ + #include "precomp.h" CBandProxy::CBandProxy() diff --git a/dll/win32/browseui/bandsite.cpp b/dll/win32/browseui/bandsite.cpp index afc4887c489..43c214c3f50 100644 --- a/dll/win32/browseui/bandsite.cpp +++ b/dll/win32/browseui/bandsite.cpp @@ -21,8 +21,6 @@ #include "precomp.h" -WINE_DEFAULT_DEBUG_CHANNEL(browseui); - #ifndef ASSERT #define ASSERT(cond) \ if (!(cond)) \ diff --git a/dll/win32/browseui/bandsitemenu.cpp b/dll/win32/browseui/bandsitemenu.cpp index a83a06810a1..85bd9d18ea6 100644 --- a/dll/win32/browseui/bandsitemenu.cpp +++ b/dll/win32/browseui/bandsitemenu.cpp @@ -21,8 +21,6 @@ #include "precomp.h" -WINE_DEFAULT_DEBUG_CHANNEL(browseui); - CBandSiteMenu::CBandSiteMenu() { } diff --git a/dll/win32/browseui/basebar.cpp b/dll/win32/browseui/basebar.cpp index b0a864b3cde..f6379b68f4a 100644 --- a/dll/win32/browseui/basebar.cpp +++ b/dll/win32/browseui/basebar.cpp @@ -21,6 +21,7 @@ /* This class knows how to contain base bar site in a cabinet window. */ + #include "precomp.h" /* diff --git a/dll/win32/browseui/basebarsite.cpp b/dll/win32/browseui/basebarsite.cpp index 2cb71449b8d..1c1a04a2e0d 100644 --- a/dll/win32/browseui/basebarsite.cpp +++ b/dll/win32/browseui/basebarsite.cpp @@ -22,6 +22,7 @@ Base bar that contains a vertical or horizontal explorer band. It also provides resizing abilities. */ + #include "precomp.h" /* diff --git a/dll/win32/browseui/brandband.cpp b/dll/win32/browseui/brandband.cpp index 568a656aa2a..378d87edff2 100644 --- a/dll/win32/browseui/brandband.cpp +++ b/dll/win32/browseui/brandband.cpp @@ -22,6 +22,7 @@ Implements the logo band of a cabinet window. Most remarkable feature is the animation. */ + #include "precomp.h" /* diff --git a/dll/win32/browseui/browseui.cpp b/dll/win32/browseui/browseui.cpp index 5c3aeebf9cc..d39fb7c64fc 100644 --- a/dll/win32/browseui/browseui.cpp +++ b/dll/win32/browseui/browseui.cpp @@ -20,8 +20,6 @@ #include "precomp.h" -WINE_DEFAULT_DEBUG_CHANNEL(browseui); - class CBrowseUIModule : public CComModule { public: diff --git a/dll/win32/browseui/internettoolbar.cpp b/dll/win32/browseui/internettoolbar.cpp index 458de2a4a9d..adfd6ef98b4 100644 --- a/dll/win32/browseui/internettoolbar.cpp +++ b/dll/win32/browseui/internettoolbar.cpp @@ -22,6 +22,7 @@ Implements a class that knows how to hold and manage the menu band, brand band, toolbar, and address band for an explorer window */ + #include "precomp.h" // navigation controls and menubar just send a message to parent window diff --git a/dll/win32/browseui/precomp.h b/dll/win32/browseui/precomp.h index dcf71b0de0b..6a83cb4bb77 100644 --- a/dll/win32/browseui/precomp.h +++ b/dll/win32/browseui/precomp.h @@ -1,14 +1,12 @@ +#include + #define WIN32_NO_STATUS #define _INC_WINDOWS #define COM_NO_WINDOWS_H -#include + #include #include -#include -#include -#include #include -#include #include #include #include @@ -22,7 +20,6 @@ #include #include #include -#include #include #include "resource.h" @@ -38,5 +35,5 @@ #include "commonbrowser.h" #include "globalfoldersettings.h" #include "regtreeoptions.h" -#include "newatlinterfaces.h" -//#include "utility.h" + +WINE_DEFAULT_DEBUG_CHANNEL(browseui); diff --git a/dll/win32/browseui/shellbrowser.cpp b/dll/win32/browseui/shellbrowser.cpp index df71e4eb59e..05e322c87b0 100644 --- a/dll/win32/browseui/shellbrowser.cpp +++ b/dll/win32/browseui/shellbrowser.cpp @@ -20,6 +20,11 @@ #include "precomp.h" +#include +#include + +#include "newatlinterfaces.h" + /* TODO: **Provide implementation of new and delete that use LocalAlloc diff --git a/dll/win32/browseui/toolsband.cpp b/dll/win32/browseui/toolsband.cpp index a3e6caa1c6d..aad947a269f 100644 --- a/dll/win32/browseui/toolsband.cpp +++ b/dll/win32/browseui/toolsband.cpp @@ -21,6 +21,7 @@ /* Implements the toolbar band of a cabinet window */ + #include "precomp.h" /* diff --git a/dll/win32/browseui/travellog.cpp b/dll/win32/browseui/travellog.cpp index cadfad0d890..cc086cef872 100644 --- a/dll/win32/browseui/travellog.cpp +++ b/dll/win32/browseui/travellog.cpp @@ -40,6 +40,7 @@ TODO: Implement Revert */ + #include "precomp.h" class CTravelEntry : diff --git a/dll/win32/browseui/utility.cpp b/dll/win32/browseui/utility.cpp index 5381596f55b..fa07188d1e7 100644 --- a/dll/win32/browseui/utility.cpp +++ b/dll/win32/browseui/utility.cpp @@ -1,4 +1,3 @@ - #include "precomp.h" void *operator new(size_t size) @@ -10,4 +9,3 @@ void operator delete(void *p) { LocalFree(p); } - diff --git a/dll/win32/cabinet/cabinet.h b/dll/win32/cabinet/cabinet.h index bcc484c323e..4bc4be73446 100644 --- a/dll/win32/cabinet/cabinet.h +++ b/dll/win32/cabinet/cabinet.h @@ -18,10 +18,11 @@ * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ + #ifndef __WINE_CABINET_H #define __WINE_CABINET_H -#include +#include #include @@ -31,9 +32,7 @@ #include #include -#include #include -#include #include WINE_DEFAULT_DEBUG_CHANNEL(cabinet); diff --git a/dll/win32/cabinet/fci.c b/dll/win32/cabinet/fci.c index 92ed8a6ead4..8139dcd807d 100644 --- a/dll/win32/cabinet/fci.c +++ b/dll/win32/cabinet/fci.c @@ -33,6 +33,7 @@ There is still some work to be done: #include "cabinet.h" #include +#include #ifdef HAVE_ZLIB # include diff --git a/dll/win32/cabinet/fdi.c b/dll/win32/cabinet/fdi.c index 36b1b46184c..78e7cae5495 100644 --- a/dll/win32/cabinet/fdi.c +++ b/dll/win32/cabinet/fdi.c @@ -59,6 +59,7 @@ */ #include "cabinet.h" + #include THOSE_ZIP_CONSTS; diff --git a/dll/win32/comctl32/comctl32.h b/dll/win32/comctl32/comctl32.h index 70e162a9dc4..b570c7f97f4 100644 --- a/dll/win32/comctl32/comctl32.h +++ b/dll/win32/comctl32/comctl32.h @@ -24,7 +24,7 @@ #ifndef __WINE_COMCTL32_H #define __WINE_COMCTL32_H -#include +#include #include #include @@ -32,17 +32,16 @@ #define _INC_WINDOWS #define COM_NO_WINDOWS_H +#define COBJMACROS #define NONAMELESSUNION #define NONAMELESSSTRUCT -#define COBJMACROS - #include #include #include #include #include -#include +#include #include #include diff --git a/dll/win32/comctl32/datetime.c b/dll/win32/comctl32/datetime.c index 6a13f55f4b5..3709b77da2a 100644 --- a/dll/win32/comctl32/datetime.c +++ b/dll/win32/comctl32/datetime.c @@ -39,10 +39,10 @@ * -- FORMATCALLBACK */ -#include - #include "comctl32.h" +#include + WINE_DEFAULT_DEBUG_CHANNEL(datetime); typedef struct diff --git a/dll/win32/comctl32/dpa.c b/dll/win32/comctl32/dpa.c index 19fbe45c80b..11b13bd1777 100644 --- a/dll/win32/comctl32/dpa.c +++ b/dll/win32/comctl32/dpa.c @@ -31,8 +31,6 @@ #include "comctl32.h" -#include - WINE_DEFAULT_DEBUG_CHANNEL(dpa); typedef struct _DPA diff --git a/dll/win32/comctl32/imagelist.c b/dll/win32/comctl32/imagelist.c index 27d98aefdac..32209910b7b 100644 --- a/dll/win32/comctl32/imagelist.c +++ b/dll/win32/comctl32/imagelist.c @@ -39,7 +39,6 @@ #include "comctl32.h" -#include #include #include diff --git a/dll/win32/comctl32/lang/comctl_Bg.rc b/dll/win32/comctl32/lang/comctl_Bg.rc index e1234ad9045..0b347774a66 100644 --- a/dll/win32/comctl32/lang/comctl_Bg.rc +++ b/dll/win32/comctl32/lang/comctl_Bg.rc @@ -19,8 +19,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "comctl32.h" - LANGUAGE LANG_BULGARIAN, SUBLANG_DEFAULT STRINGTABLE diff --git a/dll/win32/comctl32/lang/comctl_Cs.rc b/dll/win32/comctl32/lang/comctl_Cs.rc index 184956be04d..10a163bf63c 100644 --- a/dll/win32/comctl32/lang/comctl_Cs.rc +++ b/dll/win32/comctl32/lang/comctl_Cs.rc @@ -19,8 +19,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "comctl32.h" - LANGUAGE LANG_CZECH, SUBLANG_DEFAULT STRINGTABLE diff --git a/dll/win32/comctl32/lang/comctl_Da.rc b/dll/win32/comctl32/lang/comctl_Da.rc index 8a443054f2d..27d29dea3fd 100644 --- a/dll/win32/comctl32/lang/comctl_Da.rc +++ b/dll/win32/comctl32/lang/comctl_Da.rc @@ -19,8 +19,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "comctl32.h" - LANGUAGE LANG_DANISH, SUBLANG_DEFAULT STRINGTABLE diff --git a/dll/win32/comctl32/lang/comctl_De.rc b/dll/win32/comctl32/lang/comctl_De.rc index ac759351c16..98e3edc4866 100644 --- a/dll/win32/comctl32/lang/comctl_De.rc +++ b/dll/win32/comctl32/lang/comctl_De.rc @@ -19,8 +19,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "comctl32.h" - LANGUAGE LANG_GERMAN, SUBLANG_DEFAULT STRINGTABLE diff --git a/dll/win32/comctl32/lang/comctl_El.rc b/dll/win32/comctl32/lang/comctl_El.rc index bb230b7dfcf..fbfdf7d6e2e 100644 --- a/dll/win32/comctl32/lang/comctl_El.rc +++ b/dll/win32/comctl32/lang/comctl_El.rc @@ -19,8 +19,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "comctl32.h" - LANGUAGE LANG_GREEK, SUBLANG_DEFAULT STRINGTABLE diff --git a/dll/win32/comctl32/lang/comctl_En.rc b/dll/win32/comctl32/lang/comctl_En.rc index 66038681b44..21cb9ea08e9 100644 --- a/dll/win32/comctl32/lang/comctl_En.rc +++ b/dll/win32/comctl32/lang/comctl_En.rc @@ -19,8 +19,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "comctl32.h" - LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT STRINGTABLE diff --git a/dll/win32/comctl32/lang/comctl_Eo.rc b/dll/win32/comctl32/lang/comctl_Eo.rc index cb9d088d666..c4894a4482c 100644 --- a/dll/win32/comctl32/lang/comctl_Eo.rc +++ b/dll/win32/comctl32/lang/comctl_Eo.rc @@ -19,8 +19,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "comctl32.h" - LANGUAGE LANG_ESPERANTO, SUBLANG_DEFAULT STRINGTABLE diff --git a/dll/win32/comctl32/lang/comctl_Es.rc b/dll/win32/comctl32/lang/comctl_Es.rc index f94f152361d..b8134efbe2e 100644 --- a/dll/win32/comctl32/lang/comctl_Es.rc +++ b/dll/win32/comctl32/lang/comctl_Es.rc @@ -19,8 +19,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "comctl32.h" - LANGUAGE LANG_SPANISH, SUBLANG_DEFAULT STRINGTABLE diff --git a/dll/win32/comctl32/lang/comctl_Fr.rc b/dll/win32/comctl32/lang/comctl_Fr.rc index d07b963d5ad..703ed25e496 100644 --- a/dll/win32/comctl32/lang/comctl_Fr.rc +++ b/dll/win32/comctl32/lang/comctl_Fr.rc @@ -19,8 +19,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "comctl32.h" - LANGUAGE LANG_FRENCH, SUBLANG_DEFAULT STRINGTABLE diff --git a/dll/win32/comctl32/lang/comctl_He.rc b/dll/win32/comctl32/lang/comctl_He.rc index 3ed9771b3a4..d71c98a6179 100644 --- a/dll/win32/comctl32/lang/comctl_He.rc +++ b/dll/win32/comctl32/lang/comctl_He.rc @@ -21,8 +21,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "comctl32.h" - LANGUAGE LANG_HEBREW, SUBLANG_DEFAULT STRINGTABLE diff --git a/dll/win32/comctl32/lang/comctl_Hu.rc b/dll/win32/comctl32/lang/comctl_Hu.rc index e604fcf8940..5d0d197f8ae 100644 --- a/dll/win32/comctl32/lang/comctl_Hu.rc +++ b/dll/win32/comctl32/lang/comctl_Hu.rc @@ -19,8 +19,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "comctl32.h" - LANGUAGE LANG_HUNGARIAN, SUBLANG_DEFAULT STRINGTABLE diff --git a/dll/win32/comctl32/lang/comctl_It.rc b/dll/win32/comctl32/lang/comctl_It.rc index ffabff3cda5..9ea74c4aac1 100644 --- a/dll/win32/comctl32/lang/comctl_It.rc +++ b/dll/win32/comctl32/lang/comctl_It.rc @@ -19,8 +19,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "comctl32.h" - LANGUAGE LANG_ITALIAN, SUBLANG_DEFAULT STRINGTABLE diff --git a/dll/win32/comctl32/lang/comctl_Ja.rc b/dll/win32/comctl32/lang/comctl_Ja.rc index 634222bc6b3..267d7f9b688 100644 --- a/dll/win32/comctl32/lang/comctl_Ja.rc +++ b/dll/win32/comctl32/lang/comctl_Ja.rc @@ -19,8 +19,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "comctl32.h" - LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT STRINGTABLE diff --git a/dll/win32/comctl32/lang/comctl_Ko.rc b/dll/win32/comctl32/lang/comctl_Ko.rc index e0a514b2793..3fc05c59d2c 100644 --- a/dll/win32/comctl32/lang/comctl_Ko.rc +++ b/dll/win32/comctl32/lang/comctl_Ko.rc @@ -19,8 +19,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "comctl32.h" - LANGUAGE LANG_KOREAN, SUBLANG_DEFAULT STRINGTABLE diff --git a/dll/win32/comctl32/lang/comctl_Lt.rc b/dll/win32/comctl32/lang/comctl_Lt.rc index a1b58c2d452..1e33fd40e0f 100644 --- a/dll/win32/comctl32/lang/comctl_Lt.rc +++ b/dll/win32/comctl32/lang/comctl_Lt.rc @@ -19,8 +19,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "comctl32.h" - LANGUAGE LANG_LITHUANIAN, SUBLANG_DEFAULT STRINGTABLE diff --git a/dll/win32/comctl32/lang/comctl_Nl.rc b/dll/win32/comctl32/lang/comctl_Nl.rc index 5806d9cf03e..9bc6cbac2c2 100644 --- a/dll/win32/comctl32/lang/comctl_Nl.rc +++ b/dll/win32/comctl32/lang/comctl_Nl.rc @@ -19,8 +19,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "comctl32.h" - LANGUAGE LANG_DUTCH, SUBLANG_DEFAULT STRINGTABLE diff --git a/dll/win32/comctl32/lang/comctl_No.rc b/dll/win32/comctl32/lang/comctl_No.rc index cd05512c80c..b3358902758 100644 --- a/dll/win32/comctl32/lang/comctl_No.rc +++ b/dll/win32/comctl32/lang/comctl_No.rc @@ -19,8 +19,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "comctl32.h" - LANGUAGE LANG_NORWEGIAN, SUBLANG_DEFAULT STRINGTABLE diff --git a/dll/win32/comctl32/lang/comctl_Pl.rc b/dll/win32/comctl32/lang/comctl_Pl.rc index e0eab02dcd3..d5ac5f0d209 100644 --- a/dll/win32/comctl32/lang/comctl_Pl.rc +++ b/dll/win32/comctl32/lang/comctl_Pl.rc @@ -19,8 +19,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "comctl32.h" - LANGUAGE LANG_POLISH, SUBLANG_DEFAULT STRINGTABLE diff --git a/dll/win32/comctl32/lang/comctl_Pt.rc b/dll/win32/comctl32/lang/comctl_Pt.rc index 37b5c2eea9d..b7580302c81 100644 --- a/dll/win32/comctl32/lang/comctl_Pt.rc +++ b/dll/win32/comctl32/lang/comctl_Pt.rc @@ -19,8 +19,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "comctl32.h" - LANGUAGE LANG_PORTUGUESE, SUBLANG_DEFAULT STRINGTABLE diff --git a/dll/win32/comctl32/lang/comctl_Ro.rc b/dll/win32/comctl32/lang/comctl_Ro.rc index 965a8ccfc8e..a42295126e5 100644 --- a/dll/win32/comctl32/lang/comctl_Ro.rc +++ b/dll/win32/comctl32/lang/comctl_Ro.rc @@ -3,6 +3,8 @@ * * Copyright 1999 Bertho Stultiens * Copyright 1999 Eric Kohl + * Copyright 2008 Michael Stefaniuc + * 2012 Fulea Ștefan * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -19,19 +21,17 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "comctl32.h" - -LANGUAGE LANG_ROMANIAN, SUBLANG_DEFAULT +LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL STRINGTABLE { - IDS_CLOSE "Închide" + IDS_CLOSE "Î&nchide" } STRINGTABLE { IDM_TODAY "Azi:" - IDM_GOTODAY "Mergi la Azi" + IDM_GOTODAY "Mergi la „Azi”" } STRINGTABLE @@ -49,11 +49,11 @@ STYLE DS_CONTEXTHELP | DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_CAPTION | WS_SY CAPTION "Proprietăți pentru %s" FONT 8, "MS Shell Dlg" BEGIN - DEFPUSHBUTTON "OK", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP - PUSHBUTTON "Renunță", IDCANCEL,58,122,50,14 - PUSHBUTTON "A&plică", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED - PUSHBUTTON "&Ajutor", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP - CONTROL "", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP|TCS_MULTILINE,4,4,212,114 + DEFPUSHBUTTON "Con&firmă", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP + PUSHBUTTON "A&nulează", IDCANCEL,58,122,50,14 + PUSHBUTTON "&Aplică", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED + PUSHBUTTON "&Manual…", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP + CONTROL "", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP|TCS_MULTILINE,4,4,212,114 END @@ -62,31 +62,31 @@ STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBL CAPTION "Expert" FONT 8, "MS Shell Dlg" BEGIN - PUSHBUTTON "< &Înapoi", IDC_BACK_BUTTON,56,138,55,14 - DEFPUSHBUTTON "&Următor >", IDC_NEXT_BUTTON,111,138,55,14 - DEFPUSHBUTTON "&Termină", IDC_FINISH_BUTTON,111,138,55,14 - PUSHBUTTON "Renunță", IDCANCEL,173,138,55,14 - PUSHBUTTON "&Ajutor", IDHELP,235,138,55,14,WS_GROUP - LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN - CONTROL "", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5 - LTEXT "", IDC_SUNKEN_LINEHEADER,0,35,290,1,SS_LEFT | SS_SUNKEN | WS_CHILD | WS_VISIBLE + PUSHBUTTON "< Înap&oi", IDC_BACK_BUTTON,56,138,55,14 + DEFPUSHBUTTON "În&ainte >", IDC_NEXT_BUTTON,111,138,55,14 + DEFPUSHBUTTON "S&fârșit", IDC_FINISH_BUTTON,111,138,55,14 + PUSHBUTTON "A&nulează", IDCANCEL,173,138,55,14 + PUSHBUTTON "&Manual…", IDHELP,235,138,55,14,WS_GROUP + LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN + CONTROL "", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5 + LTEXT "", IDC_SUNKEN_LINEHEADER,0,35,290,1,SS_LEFT | SS_SUNKEN | WS_CHILD | WS_VISIBLE END IDD_TBCUSTOMIZE DIALOG 10, 20, 395, 125 STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Personalizare toolbar" +CAPTION "Personalizare panou de instrumente" FONT 8, "MS Shell Dlg" BEGIN - DEFPUSHBUTTON "În&chide", IDCANCEL,320,6,70,14 - PUSHBUTTON "&Resetează", IDC_RESET_BTN,320,23,70,14 - PUSHBUTTON "&Ajutor", IDC_HELP_BTN,320,40,70,14 - PUSHBUTTON "Mută în &sus", IDC_MOVEUP_BTN,320,74,70,14 - PUSHBUTTON "Mută în &jos", IDC_MOVEDN_BTN,320,91,70,14 + DEFPUSHBUTTON "Î&nchide", IDCANCEL,320,6,70,14 + PUSHBUTTON "&Reinițiere", IDC_RESET_BTN,320,23,70,14 + PUSHBUTTON "&Manual…", IDC_HELP_BTN,320,40,70,14 + PUSHBUTTON "În s&us", IDC_MOVEUP_BTN,320,74,70,14 + PUSHBUTTON "În j&os", IDC_MOVEDN_BTN,320,91,70,14 LTEXT "&Butoane disponibile:", -1,4,5,120,10 - LISTBOX IDC_AVAILBTN_LBOX,5,17,120,100, LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP + LISTBOX IDC_AVAILBTN_LBOX,5,17,120,100, LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP PUSHBUTTON "A&daugă ->", IDOK, 132, 42, 55, 14 - PUSHBUTTON "<- &Șterge", IDC_REMOVE_BTN,132,62,55,14 - LTEXT "Butoane &toolbar:", -1,194,5,120,10 - LISTBOX IDC_TOOLBARBTN_LBOX, 194,17,120,100,LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP + PUSHBUTTON "<- &Elimină", IDC_REMOVE_BTN,132,62,55,14 + LTEXT "Buto&ane panou:", -1,194,5,120,10 + LISTBOX IDC_TOOLBARBTN_LBOX, 194,17,120,100,LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP END diff --git a/dll/win32/comctl32/lang/comctl_Ru.rc b/dll/win32/comctl32/lang/comctl_Ru.rc index ecbf097cd3b..27e52b2d408 100644 --- a/dll/win32/comctl32/lang/comctl_Ru.rc +++ b/dll/win32/comctl32/lang/comctl_Ru.rc @@ -19,8 +19,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "comctl32.h" - LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT STRINGTABLE diff --git a/dll/win32/comctl32/lang/comctl_Si.rc b/dll/win32/comctl32/lang/comctl_Si.rc index 6e29c22dd48..667d09a70a5 100644 --- a/dll/win32/comctl32/lang/comctl_Si.rc +++ b/dll/win32/comctl32/lang/comctl_Si.rc @@ -19,8 +19,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "comctl32.h" - LANGUAGE LANG_SLOVENIAN, SUBLANG_DEFAULT STRINGTABLE diff --git a/dll/win32/comctl32/lang/comctl_Sk.rc b/dll/win32/comctl32/lang/comctl_Sk.rc index d30a3057748..5aff52cfd9b 100644 --- a/dll/win32/comctl32/lang/comctl_Sk.rc +++ b/dll/win32/comctl32/lang/comctl_Sk.rc @@ -19,8 +19,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "comctl32.h" - LANGUAGE LANG_SLOVAK, SUBLANG_DEFAULT STRINGTABLE diff --git a/dll/win32/comctl32/lang/comctl_Sr.rc b/dll/win32/comctl32/lang/comctl_Sr.rc index 141c1c5c0d4..49d09d5e2cf 100644 --- a/dll/win32/comctl32/lang/comctl_Sr.rc +++ b/dll/win32/comctl32/lang/comctl_Sr.rc @@ -19,8 +19,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "comctl32.h" - LANGUAGE LANG_SERBIAN, SUBLANG_DEFAULT STRINGTABLE diff --git a/dll/win32/comctl32/lang/comctl_Sv.rc b/dll/win32/comctl32/lang/comctl_Sv.rc index 7c3315be01d..69899116838 100644 --- a/dll/win32/comctl32/lang/comctl_Sv.rc +++ b/dll/win32/comctl32/lang/comctl_Sv.rc @@ -19,8 +19,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "comctl32.h" - LANGUAGE LANG_SWEDISH, SUBLANG_DEFAULT STRINGTABLE diff --git a/dll/win32/comctl32/lang/comctl_Th.rc b/dll/win32/comctl32/lang/comctl_Th.rc index 5908ecb05d8..49531071469 100644 --- a/dll/win32/comctl32/lang/comctl_Th.rc +++ b/dll/win32/comctl32/lang/comctl_Th.rc @@ -19,8 +19,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "comctl32.h" - LANGUAGE LANG_THAI, SUBLANG_DEFAULT STRINGTABLE diff --git a/dll/win32/comctl32/lang/comctl_Tr.rc b/dll/win32/comctl32/lang/comctl_Tr.rc index 034978660ef..c497f029641 100644 --- a/dll/win32/comctl32/lang/comctl_Tr.rc +++ b/dll/win32/comctl32/lang/comctl_Tr.rc @@ -21,8 +21,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "comctl32.h" - LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT STRINGTABLE diff --git a/dll/win32/comctl32/lang/comctl_Uk.rc b/dll/win32/comctl32/lang/comctl_Uk.rc index e5bb6b2201c..9d1808858b4 100644 --- a/dll/win32/comctl32/lang/comctl_Uk.rc +++ b/dll/win32/comctl32/lang/comctl_Uk.rc @@ -19,8 +19,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "comctl32.h" - LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT STRINGTABLE diff --git a/dll/win32/comctl32/lang/comctl_Zh.rc b/dll/win32/comctl32/lang/comctl_Zh.rc index ec6b4f6f85e..e5a0fdb9a5d 100644 --- a/dll/win32/comctl32/lang/comctl_Zh.rc +++ b/dll/win32/comctl32/lang/comctl_Zh.rc @@ -19,8 +19,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "comctl32.h" - LANGUAGE LANG_CHINESE, SUBLANG_DEFAULT STRINGTABLE diff --git a/dll/win32/comctl32/listview.c b/dll/win32/comctl32/listview.c index 0d98cda8ee5..421e74cf693 100644 --- a/dll/win32/comctl32/listview.c +++ b/dll/win32/comctl32/listview.c @@ -134,10 +134,10 @@ * -- LVGroupComparE */ -#include - #include "comctl32.h" +#include + WINE_DEFAULT_DEBUG_CHANNEL(listview); typedef struct tagCOLUMN_INFO @@ -8597,7 +8597,7 @@ static DWORD LISTVIEW_SetIconSpacing(LISTVIEW_INFO *infoPtr, INT cx, INT cy) return oldspacing; } -static inline void set_icon_size(SIZE *size, HIMAGELIST himl, BOOL small) +static inline void set_icon_size(SIZE *size, HIMAGELIST himl, BOOL is_small) { INT cx, cy; @@ -8608,8 +8608,8 @@ static inline void set_icon_size(SIZE *size, HIMAGELIST himl, BOOL small) } else { - size->cx = GetSystemMetrics(small ? SM_CXSMICON : SM_CXICON); - size->cy = GetSystemMetrics(small ? SM_CYSMICON : SM_CYICON); + size->cx = GetSystemMetrics(is_small ? SM_CXSMICON : SM_CXICON); + size->cy = GetSystemMetrics(is_small ? SM_CYSMICON : SM_CYICON); } } diff --git a/dll/win32/comdlg32/cdlg.h b/dll/win32/comdlg32/cdlg.h index 72aab02b23c..8d36cf8d6df 100644 --- a/dll/win32/comdlg32/cdlg.h +++ b/dll/win32/comdlg32/cdlg.h @@ -21,9 +21,8 @@ #ifndef _WINE_DLL_CDLG_H #define _WINE_DLL_CDLG_H -#include +#include -#include #include #define WIN32_NO_STATUS @@ -38,18 +37,15 @@ #include #include #include -#include #include #include -#include #include #include #include -#include #include #include -// RegGetValueW is supported by Win2k3 SP1 but headers need Win Vista +/* RegGetValueW is supported by Win2k3 SP1 but headers need Win Vista */ #undef _WIN32_WINNT #define _WIN32_WINNT 0x0600 #include diff --git a/dll/win32/comdlg32/filedlg.c b/dll/win32/comdlg32/filedlg.c index e61e1fc751f..631b2a6980a 100644 --- a/dll/win32/comdlg32/filedlg.c +++ b/dll/win32/comdlg32/filedlg.c @@ -47,6 +47,8 @@ #include "cdlg.h" +#include + #define UNIMPLEMENTED_FLAGS \ (OFN_DONTADDTORECENT |\ OFN_NODEREFERENCELINKS | OFN_NOREADONLYRETURN |\ diff --git a/dll/win32/comdlg32/lang/cdlg_Ro.rc b/dll/win32/comdlg32/lang/cdlg_Ro.rc index cdf12560118..3d51ec8c39f 100644 --- a/dll/win32/comdlg32/lang/cdlg_Ro.rc +++ b/dll/win32/comdlg32/lang/cdlg_Ro.rc @@ -1,8 +1,10 @@ /* * Resources for Common Dialogs - * + * Copyright 1995 Alexandre Julliard * Copyright 1999 Bertho Stultiens * Copyright 1999 Klaas van Gend + * Copyright 2008 Michael Stefaniuc + * 2012 Fulea Ștefan * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -19,52 +21,52 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -LANGUAGE LANG_ROMANIAN, SUBLANG_DEFAULT +LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL STRINGTABLE { - IDS_FILENOTFOUND "Fișierul nu a fost găsit" - IDS_VERIFYFILE "Verificați vă rog că numele de fișier este corect" - IDS_CREATEFILE "Fişierul nu există.\n\ -Doriți să creați acest fișier?" - IDS_OVERWRITEFILE "Fișierul există deja.\n\ -Doriți să îl înlocuiți?" - IDS_INVALID_FILENAME_TITLE "Caracter(e) invalid(e) în cale" - IDS_INVALID_FILENAME "Numele de fișier nu poate conține caracterele următoare:\n\ + IDS_FILENOTFOUND "Fișierul nu a fost găsit" + IDS_VERIFYFILE "Verificați corectitudinea numelui de fișier" + IDS_CREATEFILE "Fișierul nu există.\n\ +Doriți crearea acest fișier?" + IDS_OVERWRITEFILE "Fișierul există deja.\n\ +Doriți să îl suprascrieți?" + IDS_INVALID_FILENAME_TITLE "Caracter(e) nevalid(e) în cale" + IDS_INVALID_FILENAME "Numele de fișier nu poate conține caracterele următoare:\n\ / : < > |" - IDS_PATHNOTEXISTING "Calea nu există" - IDS_FILENOTEXISTING "Fişierul nu există" + IDS_PATHNOTEXISTING "Calea nu există" + IDS_FILENOTEXISTING "Fișierul nu există" } STRINGTABLE { - IDS_UPFOLDER "Un nivel de dosare mai sus" + IDS_UPFOLDER "Nivelul dosarului părinte" IDS_NEWFOLDER "Creează un dosar nou" IDS_LISTVIEW "Listă" IDS_REPORTVIEW "Detalii" - IDS_TODESKTOP "Navigează la birou" + IDS_TODESKTOP "Către birou" } STRINGTABLE { - PD32_PRINT_TITLE "Tipărire" + PD32_PRINT_TITLE "Imprimare" - PD32_VALUE_UREADABLE "Înregistrare necitibilă" + PD32_VALUE_UREADABLE "Înregistrare necitibilă" PD32_INVALID_PAGE_RANGE "Această valoare nu este inclusă în intervalul de tipărire.\n\ - Introduceți vă rog un număr între %d și %d." - PD32_FROM_NOT_ABOVE_TO "Numărul 'de la' nu poate fi mai mare decât numărul 'la'." - PD32_MARGINS_OVERLAP "Marginile se suprapun sau sunt in afara hârtiei.\n\ -Introduceți vă rog din nou marginile." - PD32_NR_OF_COPIES_EMPTY "Numărul de copii nu poate fi nul." - PD32_TOO_LARGE_COPIES "Imprimanta nu suportă un număr așa de mare de copii.\n\ -Introduceți vă rog un număr între 1 și %d." - PD32_PRINT_ERROR "S-a produs o eroare la tipărire." - PD32_NO_DEFAULT_PRINTER "Imprimanta implicită n-a fost definită." - PD32_CANT_FIND_PRINTER "Nu pot găsi imprimanta." - PD32_OUT_OF_MEMORY "Memorie insuficientă." - PD32_GENERIC_ERROR "S-a produs o eroare." - PD32_DRIVER_UNKNOWN "Driver de imprimantă necunoscut." - PD32_NO_DEVICES "Trebuie să instalați o imprimantă înainte de a executa activități în referință cu imprimanta ca spre exemplu setări pagină sau tipărirea unui document. Instalați va rog o imprimantă și reincercați." + Introduceți un număr între %d și %d." + PD32_FROM_NOT_ABOVE_TO "Valoarea pentru „de la” nu poate fi mai mare decât cea pentru „la”." + PD32_MARGINS_OVERLAP "Marginile se suprapun sau sunt in afara hârtiei.\n\ +Corectați marginile." + PD32_NR_OF_COPIES_EMPTY "Numărul de copii nu poate fi nul." + PD32_TOO_LARGE_COPIES "Imprimanta nu susține un număr atât de mare de copii.\n\ +Introduceți un număr între 1 și %d." + PD32_PRINT_ERROR "A survenit o eroare la imprimare." + PD32_NO_DEFAULT_PRINTER "Imprimanta implicită nu a fost definită." + PD32_CANT_FIND_PRINTER "Nu se poate găsi imprimanta." + PD32_OUT_OF_MEMORY "Memorie insuficientă." + PD32_GENERIC_ERROR "S-a produs o eroare." + PD32_DRIVER_UNKNOWN "Modulul pilot de imprimantă este necunoscut." + PD32_NO_DEVICES "Este necesară instalarea unei imprimante înainte de a putea efectua activități aferente imprimantei ca spre exemplu accesarea opțiunilor de pagină sau imprimarea unui document. Instalați o imprimantă apoi reîncercați." PD32_DEFAULT_PRINTER "Imprimantă implicită; " PD32_NR_OF_DOCUMENTS_IN_QUEUE "%d documente sunt în coadă" @@ -72,32 +74,32 @@ Introduceți vă rog un număr între 1 și %d." PD32_MARGINS_IN_MILLIMETERS "Margini [mm]" PD32_MILLIMETERS "mm" - PD32_PRINTER_STATUS_READY "Gata" - PD32_PRINTER_STATUS_PAUSED "Pauză; " + PD32_PRINTER_STATUS_READY "Disponibilă" + PD32_PRINTER_STATUS_PAUSED "În pauză; " PD32_PRINTER_STATUS_ERROR "Eroare; " - PD32_PRINTER_STATUS_PENDING_DELETION "Aștept stergerea; " - PD32_PRINTER_STATUS_PAPER_JAM "Hârtie blocată în imprimantă; " - PD32_PRINTER_STATUS_PAPER_OUT "Fără hârtia; " + PD32_PRINTER_STATUS_PENDING_DELETION "Ștergere în curs; " + PD32_PRINTER_STATUS_PAPER_JAM "Hârtie blocată; " + PD32_PRINTER_STATUS_PAPER_OUT "Rezervă epuizată de hârtie; " PD32_PRINTER_STATUS_MANUAL_FEED "Alimentați hârtia manual; " PD32_PRINTER_STATUS_PAPER_PROBLEM "Problemă cu hârtia; " PD32_PRINTER_STATUS_OFFLINE "Imprimantă deconectată; " - PD32_PRINTER_STATUS_IO_ACTIVE "I/O activ; " - PD32_PRINTER_STATUS_BUSY "Ocupat; " - PD32_PRINTER_STATUS_PRINTING "Tipăresc; " - PD32_PRINTER_STATUS_OUTPUT_BIN_FULL "Sertarul de ieșire este plin; " - PD32_PRINTER_STATUS_NOT_AVAILABLE "Indisponibil; " - PD32_PRINTER_STATUS_WAITING "Aștept; " - PD32_PRINTER_STATUS_PROCESSING "Procesez; " - PD32_PRINTER_STATUS_INITIALIZING "Initializez; " - PD32_PRINTER_STATUS_WARMING_UP "Încălzesc; " - PD32_PRINTER_STATUS_TONER_LOW "Toner puțin; " - PD32_PRINTER_STATUS_NO_TONER "Fără toner; " - PD32_PRINTER_STATUS_PAGE_PUNT "" - PD32_PRINTER_STATUS_USER_INTERVENTION "Întrerupere utilizator; " + PD32_PRINTER_STATUS_IO_ACTIVE "In/Ex activ; " + PD32_PRINTER_STATUS_BUSY "Activitate în curs; " + PD32_PRINTER_STATUS_PRINTING "Tipărire în curs; " + PD32_PRINTER_STATUS_OUTPUT_BIN_FULL "Sertarul de ieșire plin; " + PD32_PRINTER_STATUS_NOT_AVAILABLE "Indisponibilă; " + PD32_PRINTER_STATUS_WAITING "În așteptare; " + PD32_PRINTER_STATUS_PROCESSING "Procesare în curs; " + PD32_PRINTER_STATUS_INITIALIZING "Inițializare; " + PD32_PRINTER_STATUS_WARMING_UP "Încălzire; " + PD32_PRINTER_STATUS_TONER_LOW "Rezervă de toner redusă; " + PD32_PRINTER_STATUS_NO_TONER "Rezervă de toner epuizată; " + PD32_PRINTER_STATUS_PAGE_PUNT "Împingere pagină; " + PD32_PRINTER_STATUS_USER_INTERVENTION "Intervenție de utilizator; " PD32_PRINTER_STATUS_OUT_OF_MEMORY "Memorie insuficientă; " - PD32_PRINTER_STATUS_DOOR_OPEN "Carcasa imprimantei este deschisă; " + PD32_PRINTER_STATUS_DOOR_OPEN "Carcasa deschisă; " PD32_PRINTER_STATUS_SERVER_UNKNOWN "Server de tipărire necunoscut; " - PD32_PRINTER_STATUS_POWER_SAVE "Economisire de energie; " + PD32_PRINTER_STATUS_POWER_SAVE "Economisire energie; " } STRINGTABLE /* Font styles */ @@ -113,11 +115,11 @@ STRINGTABLE /* Color names */ IDS_COLOR_BLACK "Negru" IDS_COLOR_MAROON "Maro" IDS_COLOR_GREEN "Verde" - IDS_COLOR_OLIVE "Oliviu" + IDS_COLOR_OLIVE "Măsliniu" IDS_COLOR_NAVY "Ultramarin" IDS_COLOR_PURPLE "Violet" IDS_COLOR_TEAL "Verde-albastru" - IDS_COLOR_GRAY "Griu" + IDS_COLOR_GRAY "Cenușiu" IDS_COLOR_SILVER "Argintiu" IDS_COLOR_RED "Roșu" IDS_COLOR_LIME "Verde deschis" @@ -131,11 +133,11 @@ STRINGTABLE /* Color names */ STRINGTABLE { IDS_FONT_SIZE "Alegeți o mărime de font între %d și %d puncte." - IDS_SAVE_BUTTON "&Salvează" - IDS_SAVE_IN "Salvează &în:" - IDS_SAVE "Salvează" - IDS_SAVE_AS "Salvează ca" - IDS_OPEN_FILE "Deschide fișier" + IDS_SAVE_BUTTON "&Păstrează" + IDS_SAVE_IN "Pă&strează în:" + IDS_SAVE "Păstrare" + IDS_SAVE_AS "Păstrare în:" + IDS_OPEN_FILE "Deschidere fișier" } /* @@ -144,94 +146,94 @@ STRINGTABLE OPEN_FILE DIALOG 36, 24, 275, 134 STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Deschide" +CAPTION "Deschidere fișier" FONT 8, "MS Shell Dlg" { - LTEXT "&Nume fișier:", stc3, 6, 6, 76, 9 - EDITTEXT edt1, 6, 16, 90, 12, ES_AUTOHSCROLL | ES_OEMCONVERT | WS_BORDER | WS_TABSTOP - LISTBOX lst1, 6, 32, 90, 68, LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_TABSTOP - LTEXT "&Dosare:", -1, 110, 6, 92, 9 - LTEXT "", stc1, 110, 18, 92, 9, SS_NOPREFIX | WS_GROUP - LISTBOX lst2, 110, 32, 92, 68, LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_TABSTOP - LTEXT "&Tip de fișier:", stc2, 6, 104, 90, 9 - COMBOBOX cmb1, 6, 114, 90, 36, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP - LTEXT "D&iscuri:", stc4, 110, 104, 92, 9 - COMBOBOX cmb2, 110, 114, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP - DEFPUSHBUTTON "Deschide", IDOK, 208, 6, 60, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP - PUSHBUTTON "Renunță", IDCANCEL, 208, 24, 60, 14, WS_GROUP | WS_TABSTOP - PUSHBUTTON "&Ajutor", pshHelp, 208, 46, 60, 14, WS_GROUP | WS_TABSTOP - CHECKBOX "Doar citi&re", chx1, 208, 68, 65, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP + LTEXT "N&ume fișier:", stc3, 6, 6, 76, 9 + EDITTEXT edt1, 6, 16, 90, 12, ES_AUTOHSCROLL | ES_OEMCONVERT | WS_BORDER | WS_TABSTOP + LISTBOX lst1, 6, 32, 90, 68, LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_TABSTOP + LTEXT "D&osare:", -1, 110, 6, 92, 9 + LTEXT "", stc1, 110, 18, 92, 9, SS_NOPREFIX | WS_GROUP + LISTBOX lst2, 110, 32, 92, 68, LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_TABSTOP + LTEXT "&Tip de fișier:", stc2, 6, 104, 90, 9 + COMBOBOX cmb1, 6, 114, 90, 36, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP + LTEXT "Dis&curi:", stc4, 110, 104, 92, 9 + COMBOBOX cmb2, 110, 114, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP + DEFPUSHBUTTON "&Deschide", IDOK, 208, 6, 60, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP + PUSHBUTTON "A&nulează", IDCANCEL, 208, 24, 60, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "&Manual…", pshHelp, 208, 46, 60, 14, WS_GROUP | WS_TABSTOP + CHECKBOX "Do&ar-citire", chx1, 208, 68, 65, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP } SAVE_FILE DIALOG 36, 24, 275, 134 STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Salvare ca..." +CAPTION "Păstrare fișier" FONT 8, "MS Shell Dlg" { - LTEXT "&Nume fișier:", stc3, 6, 6, 76, 9 - EDITTEXT edt1, 6, 16, 90, 12, ES_AUTOHSCROLL | ES_OEMCONVERT | WS_BORDER | WS_TABSTOP - LISTBOX lst1, 6, 32, 90, 68, LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_TABSTOP - LTEXT "&Dosare:", -1, 110, 6, 92, 9 - LTEXT "", stc1, 110, 18, 92, 9, SS_NOPREFIX | WS_GROUP - LISTBOX lst2, 110, 32, 92, 68, LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_TABSTOP - LTEXT "&Tip de fișier:", stc2, 6, 104, 90, 9 - COMBOBOX cmb1, 6, 114, 90, 36, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP - LTEXT "D&iscuri:", stc4, 110, 104, 92, 9 - COMBOBOX cmb2, 110, 114, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP - DEFPUSHBUTTON "Salvează ca", IDOK, 208, 6, 60, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP - PUSHBUTTON "Renunță", IDCANCEL, 208, 24, 60, 14, WS_GROUP | WS_TABSTOP - PUSHBUTTON "&Ajutor", pshHelp, 208, 46, 60, 14, WS_GROUP | WS_TABSTOP - CHECKBOX "Doar citi&re", chx1, 208, 68, 65, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP + LTEXT "N&ume fișier:", stc3, 6, 6, 76, 9 + EDITTEXT edt1, 6, 16, 90, 12, ES_AUTOHSCROLL | ES_OEMCONVERT | WS_BORDER | WS_TABSTOP + LISTBOX lst1, 6, 32, 90, 68, LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_TABSTOP + LTEXT "D&osare:", -1, 110, 6, 92, 9 + LTEXT "", stc1, 110, 18, 92, 9, SS_NOPREFIX | WS_GROUP + LISTBOX lst2, 110, 32, 92, 68, LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_TABSTOP + LTEXT "&Tip de fișier:", stc2, 6, 104, 90, 9 + COMBOBOX cmb1, 6, 114, 90, 36, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP + LTEXT "Dis&curi:", stc4, 110, 104, 92, 9 + COMBOBOX cmb2, 110, 114, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP + DEFPUSHBUTTON "&Păstrează", IDOK, 208, 6, 60, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP + PUSHBUTTON "A&nulează", IDCANCEL, 208, 24, 60, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "&Manual…", pshHelp, 208, 46, 60, 14, WS_GROUP | WS_TABSTOP + CHECKBOX "Do&ar-citire", chx1, 208, 68, 65, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP } PRINT DIALOG 36, 24, 264, 134 STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Tipărire" +CAPTION "Imprimare" FONT 8, "MS Shell Dlg" { - LTEXT "Imprimantă:", stc1, 6, 6, 40, 9 - LTEXT "", stc2, 60, 6, 150, 9 - GROUPBOX "Interval tipărire", grp1, 6, 30, 160, 65, BS_GROUPBOX - RADIOBUTTON "To&ate", rad1, 16, 45, 60, 12 - RADIOBUTTON "S&elecție", rad2, 16, 60, 60, 12 - RADIOBUTTON "&Pagini", rad3, 16, 75, 60, 12 - DEFPUSHBUTTON "Tipărire", IDOK, 206, 6, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP - PUSHBUTTON "Renunță", IDCANCEL, 206, 24, 56, 14, WS_GROUP | WS_TABSTOP - PUSHBUTTON "&Setează", psh1, 206, 46, 56, 14, WS_GROUP | WS_TABSTOP - LTEXT "&De la:", stc3, 60, 80, 30, 9 - LTEXT "&La:", stc4, 120, 80, 30, 9 - LTEXT "&Calitate tipărire:", stc5, 6, 100, 76, 9 - COMBOBOX cmb1, 80, 100, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP - CHECKBOX "Tipăreşte în fişier", chx1, 20, 120, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP - CHECKBOX "Comprimat", chx2, 160, 120, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP + LTEXT "Imprimantă:", stc1, 6, 6, 40, 9 + LTEXT "", stc2, 60, 6, 150, 9 + GROUPBOX "Volumul de imprimare", grp1, 6, 30, 160, 65, BS_GROUPBOX + RADIOBUTTON "&Tot", rad1, 16, 45, 60, 12 + RADIOBUTTON "&Selecția", rad2, 16, 60, 60, 12 + RADIOBUTTON "&Paginile", rad3, 16, 75, 60, 12 + DEFPUSHBUTTON "&Imprimă", IDOK, 206, 6, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP + PUSHBUTTON "A&nulează", IDCANCEL, 206, 24, 56, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "&Opțiuni…", psh1, 206, 46, 56, 14, WS_GROUP | WS_TABSTOP + LTEXT "&De la:", stc3, 60, 80, 30, 9 + LTEXT "&La:", stc4, 120, 80, 30, 9 + LTEXT "&Calitatea imprimării:", stc5, 6, 100, 76, 9 + COMBOBOX cmb1, 80, 100, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP + CHECKBOX "Tipă&rește în fișier", chx1, 20, 120, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP + CHECKBOX "Co&mprimat", chx2, 160, 120, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP } PRINT_SETUP DIALOG 36, 24, 264, 134 STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Setări tipărire" +CAPTION "Opțiuni de imprimare" FONT 8, "MS Shell Dlg" { - GROUPBOX "Imprimantă", grp1, 6, 6, 180, 72, BS_GROUPBOX - RADIOBUTTON "&Imprimantă implicită", rad1, 16, 16, 150, 12 - LTEXT "[nimic]", stc1, 35, 30, 120, 9 - RADIOBUTTON "I&mprimantă specifică", rad2, 16, 44, 150, 12 - COMBOBOX cmb1, 35, 58, 145, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP - DEFPUSHBUTTON "OK", IDOK, 206, 6, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP - PUSHBUTTON "Renunță", IDCANCEL, 206, 24, 56, 14, WS_GROUP | WS_TABSTOP - PUSHBUTTON "&Setează", psh1, 206, 46, 56, 14, WS_GROUP | WS_TABSTOP - GROUPBOX "Orientare", grp2, 6, 82, 100, 50, BS_GROUPBOX - RADIOBUTTON "P&ortret", rad3, 50, 95, 50, 12 - RADIOBUTTON "&Peisaj", rad4, 50, 110, 50, 12 - ICON "LANDSCAP", stc10, 10, 95, 32, 32 - ICON "PORTRAIT", stc11, 10, 95, 32, 32 - GROUPBOX "Hârtie", grp3, 116, 82, 178, 50, BS_GROUPBOX - LTEXT "&Mărime", stc2, 126, 95, 35, 9 - LTEXT "&Sursă", stc3, 126, 110, 35, 9 - COMBOBOX cmb2, 155, 95, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP - COMBOBOX cmb3, 155, 110, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP + GROUPBOX "Imprimantă", grp1, 6, 6, 180, 72, BS_GROUPBOX + RADIOBUTTON "Imprimantă i&mplicită", rad1, 16, 16, 150, 12 + LTEXT "[nespecificat]", stc1, 35, 30, 120, 9 + RADIOBUTTON "Imprimantă e&xplicită", rad2, 16, 44, 150, 12 + COMBOBOX cmb1, 35, 58, 145, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP + DEFPUSHBUTTON "Con&firmă", IDOK, 206, 6, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP + PUSHBUTTON "A&nulează", IDCANCEL, 206, 24, 56, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "&Opțiuni", psh1, 206, 46, 56, 14, WS_GROUP | WS_TABSTOP + GROUPBOX "Orientare", grp2, 6, 82, 100, 50, BS_GROUPBOX + RADIOBUTTON "&Portret", rad3, 50, 95, 50, 12 + RADIOBUTTON "P&eisaj", rad4, 50, 110, 50, 12 + ICON "LANDSCAP", stc10, 10, 95, 32, 32 + ICON "PORTRAIT", stc11, 10, 95, 32, 32 + GROUPBOX "Hârtie", grp3, 116, 82, 178, 50, BS_GROUPBOX + LTEXT "Mă&rime", stc2, 126, 95, 35, 9 + LTEXT "S&ursă", stc3, 126, 110, 35, 9 + COMBOBOX cmb2, 155, 95, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP + COMBOBOX cmb3, 155, 110, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP } @@ -240,83 +242,83 @@ STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Font" FONT 8, "MS Shell Dlg" { - LTEXT "&Font:",stc1 ,6,3,90,9 - COMBOBOX cmb1, 6,13,94,54, CBS_OWNERDRAWFIXED | CBS_HASSTRINGS | CBS_DISABLENOSCROLL | - CBS_AUTOHSCROLL | CBS_SORT | WS_VSCROLL | WS_TABSTOP | CBS_SIMPLE - LTEXT "&Stil font:",stc2 ,108,3,60,9 - COMBOBOX cmb2,108,13,64,54, CBS_OWNERDRAWFIXED | CBS_HASSTRINGS | CBS_DISABLENOSCROLL | - WS_VSCROLL | WS_TABSTOP | CBS_SIMPLE - LTEXT "Mărime:",stc3,179,3,32,9 - COMBOBOX cmb3,179,13,32,54, CBS_OWNERDRAWFIXED | CBS_HASSTRINGS | CBS_DISABLENOSCROLL | - WS_VSCROLL | WS_TABSTOP | CBS_SIMPLE | CBS_SORT - DEFPUSHBUTTON "OK",IDOK,218,6,50,14, WS_GROUP | WS_TABSTOP | BS_DEFPUSHBUTTON - PUSHBUTTON "Renunță",IDCANCEL,218,23,50,14,WS_GROUP | WS_TABSTOP - PUSHBUTTON "A&plică", psh3,218,40,50,14,WS_GROUP | WS_TABSTOP - PUSHBUTTON "&Ajutor" , pshHelp,218,57,50,14,WS_GROUP | WS_TABSTOP - GROUPBOX "Efecte",grp1,6,72,84,36,WS_GROUP - CHECKBOX "&Linie mijloc", chx1, 10,82,78,10, BS_AUTOCHECKBOX | WS_TABSTOP - CHECKBOX "&Subliniat", chx2, 10,94,78,10, BS_AUTOCHECKBOX - LTEXT "Culoare:", stc4 ,6,114,80,9 - COMBOBOX cmb4,6,124,84,100,CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_HASSTRINGS | - CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP - GROUPBOX "Eșantion",grp2,98,72,120,36,WS_GROUP - CTEXT "",stc5,103,81,109,24,SS_NOPREFIX | NOT WS_VISIBLE - LTEXT "Scr&ipt:",stc7 ,98,114,40,9 - COMBOBOX cmb5,98,124,120,90,CBS_DROPDOWNLIST | CBS_HASSTRINGS | - CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP + LTEXT "F&ont:", stc1 ,6,3,90,9 + COMBOBOX cmb1, 6,13,94,54, CBS_OWNERDRAWFIXED | CBS_HASSTRINGS | CBS_DISABLENOSCROLL | + CBS_AUTOHSCROLL | CBS_SORT | WS_VSCROLL | WS_TABSTOP | CBS_SIMPLE + LTEXT "&Stil font:", stc2 ,108,3,60,9 + COMBOBOX cmb2,108,13,64,54, CBS_OWNERDRAWFIXED | CBS_HASSTRINGS | CBS_DISABLENOSCROLL | + WS_VSCROLL | WS_TABSTOP | CBS_SIMPLE + LTEXT "Mă&rime:", stc3,179,3,32,9 + COMBOBOX cmb3,179,13,32,54, CBS_OWNERDRAWFIXED | CBS_HASSTRINGS | CBS_DISABLENOSCROLL | + WS_VSCROLL | WS_TABSTOP | CBS_SIMPLE | CBS_SORT + DEFPUSHBUTTON "Con&firmă", IDOK,218,6,50,14, WS_GROUP | WS_TABSTOP | BS_DEFPUSHBUTTON + PUSHBUTTON "A&nulează", IDCANCEL,218,23,50,14,WS_GROUP | WS_TABSTOP + PUSHBUTTON "&Aplică", psh3,218,40,50,14,WS_GROUP | WS_TABSTOP + PUSHBUTTON "&Manual…", pshHelp,218,57,50,14,WS_GROUP | WS_TABSTOP + GROUPBOX "Efecte", grp1,6,72,84,36,WS_GROUP + CHECKBOX "&Tăiat", chx1, 10,82,78,10, BS_AUTOCHECKBOX | WS_TABSTOP + CHECKBOX "S&ubliniat", chx2, 10,94,78,10, BS_AUTOCHECKBOX + LTEXT "&Culoare:", stc4 ,6,114,80,9 + COMBOBOX cmb4,6,124,84,100,CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_HASSTRINGS | + CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP + GROUPBOX "Mostră", grp2,98,72,120,36,WS_GROUP + CTEXT "AaBbYyZz", stc5,103,80,109,24,SS_NOPREFIX | NOT WS_VISIBLE + LTEXT "Scr&ipt:", stc7 ,98,114,40,9 + COMBOBOX cmb5,98,124,120,90,CBS_DROPDOWNLIST | CBS_HASSTRINGS | + CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP } -CHOOSE_COLOR DIALOG 36, 24, 300, 185 +CHOOSE_COLOR DIALOG 36, 24, 320, 185 STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Culoare" FONT 8, "MS Shell Dlg" { - LTEXT "Culori de &bază:", stc1, 4, 4, 140, 10 - LTEXT "&Culori personalizate:", stc2, 4, 106, 140, 10 - LTEXT "Culoare | Sol&id", stc3, 150, 151, 48, 10 - LTEXT "&Roșu:", IDC_COLOR_RL /*1094*/,247,126,27,10 - EDITTEXT IDC_COLOR_EDIT_R, 275,124,21,12, WS_BORDER | WS_GROUP | WS_TABSTOP - LTEXT "&Verde:", IDC_COLOR_GL /*1095*/,247,140,27,10 - EDITTEXT IDC_COLOR_EDIT_G, 275,138,21,12, WS_BORDER | WS_GROUP | WS_TABSTOP - LTEXT "&Albastru:", IDC_COLOR_BL /*1096*/,247,154,27,10 - EDITTEXT IDC_COLOR_EDIT_B, 275,152,21,12, WS_BORDER | WS_GROUP | WS_TABSTOP - LTEXT "&Nuanță:" , IDC_COLOR_HL /*1091*/,200,126,24,10 - EDITTEXT IDC_COLOR_EDIT_H, 224,124,21,12, WS_BORDER | WS_GROUP | WS_TABSTOP - LTEXT "&Sat:", IDC_COLOR_SL /*1092*/,200,140,24,10 - EDITTEXT IDC_COLOR_EDIT_S, 224,138,21,12, WS_BORDER | WS_GROUP | WS_TABSTOP - LTEXT "&Lum:", IDC_COLOR_LL /*1093*/,200,154,24,10 - EDITTEXT IDC_COLOR_EDIT_L, 224,152,21,12, WS_BORDER | WS_GROUP | WS_TABSTOP - CONTROL "" , IDC_COLOR_PREDEF, "STATIC",SS_SIMPLE|WS_TABSTOP|WS_GROUP,4,14,140,86 - CONTROL "" , IDC_COLOR_USRDEF, "STATIC",SS_SIMPLE|WS_TABSTOP|WS_GROUP,4,116,140,28 - CONTROL "" , IDC_COLOR_GRAPH, "STATIC",WS_BORDER|SS_SIMPLE|WS_TABSTOP|WS_GROUP, 152,4,118,116 - CONTROL "" , IDC_COLOR_LUMBAR, "STATIC",SS_SIMPLE|WS_TABSTOP|WS_GROUP, 278,4,8,116 - CONTROL "" , IDC_COLOR_RESULT, "STATIC",SS_SIMPLE|WS_TABSTOP|WS_GROUP, 152,124,40,26 - DEFPUSHBUTTON "OK", IDOK, 4, 167, 50, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP - PUSHBUTTON "Renunță", IDCANCEL, 58, 167, 50, 14, WS_GROUP | WS_TABSTOP - PUSHBUTTON "&Ajutor", pshHelp,100,166, 44, 14 - PUSHBUTTON "&Adaugă culori personalizate", IDC_COLOR_ADD /*1024*/, 152, 167, 144, 14, WS_GROUP | WS_TABSTOP - PUSHBUTTON "&Definește colori personalizate >>", IDC_COLOR_DEFINE /*1025*/, 4, 149, 142, 14, WS_GROUP | WS_TABSTOP - PUSHBUTTON "Culoare | Sol&id", IDC_COLOR_RES, 300,200,4,14 /* just a dummy */ + LTEXT "Culori de &bază:", 1088, 4, 4, 140, 10 + LTEXT "Culori p&ersonalizate:", 1089, 4, 106, 140, 10 + LTEXT "Culoare|S&olid", 1090, 150, 151, 48, 10 + RTEXT "&Roșu:", 726 /*1094*/,262,126,30,10 + EDITTEXT 706, 295,124,18,12, WS_BORDER | WS_GROUP | WS_TABSTOP + RTEXT "&Verde:", 727/*1095*/,262,140,30,10 + EDITTEXT 707, 295,138,18,12, WS_BORDER | WS_GROUP | WS_TABSTOP + RTEXT "&Albastru:", 728 /*1096*/,262,154,30,10 + EDITTEXT 708, 295,152,18,12, WS_BORDER | WS_GROUP | WS_TABSTOP + RTEXT "N&uanță:", 723 /*1091*/,194,126,40,10 + EDITTEXT 703, 236,124,18,12, WS_BORDER | WS_GROUP | WS_TABSTOP + RTEXT "Sa&turație:", 724 /*1092*/,194,140,40,10 + EDITTEXT 704, 236,138,18,12, WS_BORDER | WS_GROUP | WS_TABSTOP + RTEXT "&Strălucire:", 725 /*1093*/,194,154,40,10 + EDITTEXT 705, 236,152,18,12, WS_BORDER | WS_GROUP | WS_TABSTOP + CONTROL "", 720,"STATIC",SS_SIMPLE|WS_TABSTOP|WS_GROUP,4,14,140,86 + CONTROL "", 721,"STATIC",SS_SIMPLE|WS_TABSTOP|WS_GROUP,4,116,140,28 + CONTROL "", 710,"STATIC",WS_BORDER|SS_SIMPLE|WS_TABSTOP|WS_GROUP, 152,4,143,116 + CONTROL "", 702,"STATIC",SS_SIMPLE|WS_TABSTOP|WS_GROUP, 303,4,8,116 + CONTROL "", 709,"STATIC",SS_SIMPLE|WS_TABSTOP|WS_GROUP, 152,124,40,26 + DEFPUSHBUTTON "Con&firmă", IDOK, 4, 167, 50, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP + PUSHBUTTON "A&nulează", IDCANCEL, 58, 167, 50, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "&Manual…", pshHelp,100,166, 44, 14 + PUSHBUTTON "A&daugă culoarea personalizată", 712/*1024*/, 152, 166, 162, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "&Definește colori personalizate >>", 719/*1025*/, 4, 145, 137, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "&i", 713,300,200,4,14 /* just a dummy */ } -FINDDLGORD DIALOG 36, 24, 276, 62 +FINDDLGORD DIALOG 36, 24, 236, 62 STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Căutare" FONT 8, "MS Shell Dlg" { - LTEXT "&Caută:", -1, 4, 8, 52, 8 - EDITTEXT edt1, 57, 7, 148, 12, ES_AUTOHSCROLL | WS_BORDER | WS_GROUP | WS_TABSTOP - CHECKBOX "&Numai cuvinte întregi", chx1, 4, 26, 140, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP - CHECKBOX "Sensibil la registru", chx2, 4, 42, 140, 12, BS_AUTOCHECKBOX | WS_TABSTOP - GROUPBOX "Direcție", grp1, 147, 21, 58, 38 - CONTROL "&Sus", rad1, "BUTTON", BS_AUTORADIOBUTTON | WS_CHILD | WS_VISIBLE | WS_GROUP | WS_TABSTOP, 151, 30, 48, 12 - CONTROL "&Jos", rad2, "BUTTON", BS_AUTORADIOBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 151, 44, 48, 12 + LTEXT "C&aută:", -1, 4, 8, 52, 8 + EDITTEXT edt1, 57, 7, 148, 12, ES_AUTOHSCROLL | WS_BORDER | WS_GROUP | WS_TABSTOP + CHECKBOX "D&oar cuvintele întregi", chx1, 4, 26, 120, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP + CHECKBOX "&Distinge MAJ/min", chx2, 4, 42, 120, 12, BS_AUTOCHECKBOX | WS_TABSTOP + GROUPBOX "Direcție:", grp1, 127, 26, 78, 28 + CONTROL "În s&us", rad1, "BUTTON", BS_AUTORADIOBUTTON | WS_CHILD | WS_VISIBLE | WS_GROUP | WS_TABSTOP, 131, 38, 35, 12 + CONTROL "În j&os", rad2, "BUTTON", BS_AUTORADIOBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 163, 38, 35, 12 - DEFPUSHBUTTON "Caută &înainte", IDOK, 212, 6, 60, 14, WS_GROUP | WS_TABSTOP | BS_DEFPUSHBUTTON - PUSHBUTTON "Renunță", IDCANCEL , 212, 24, 60, 14, WS_GROUP | WS_TABSTOP - PUSHBUTTON "&Ajutor", pshHelp , 212, 42, 60, 14, WS_GROUP | WS_TABSTOP + DEFPUSHBUTTON "&Caută", IDOK, 212, 6, 60, 14, WS_GROUP | WS_TABSTOP | BS_DEFPUSHBUTTON + PUSHBUTTON "A&nulează", IDCANCEL, 212, 24, 60, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "&Manual…", pshHelp, 212, 42, 60, 14, WS_GROUP | WS_TABSTOP } @@ -325,148 +327,147 @@ STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Înlocuire" FONT 8, "MS Shell Dlg" { - LTEXT "&Caută:", -1, 4, 8, 52, 8 - EDITTEXT edt1, 57, 7, 148, 12, ES_AUTOHSCROLL | WS_BORDER | WS_GROUP | WS_TABSTOP - LTEXT "În&locuieşte cu:", -1, 4, 26, 52, 8 - EDITTEXT edt2, 57, 24, 148, 12, ES_AUTOHSCROLL | WS_BORDER | WS_GROUP | WS_TABSTOP - CHECKBOX "&Numai cuvinte întregi", chx1, 5, 46, 120, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP - CHECKBOX "Sensibil la registru", chx2, 5, 62, 120, 12, BS_AUTOCHECKBOX | WS_TABSTOP + LTEXT "C&aută:", -1, 4, 8, 52, 8 + EDITTEXT edt1, 57, 7, 148, 12, ES_AUTOHSCROLL | WS_BORDER | WS_GROUP | WS_TABSTOP + LTEXT "Înloc&uiește cu:", -1, 4, 26, 52, 8 + EDITTEXT edt2, 57, 24, 148, 12, ES_AUTOHSCROLL | WS_BORDER | WS_GROUP | WS_TABSTOP + CHECKBOX "D&oar cuvinte întregi", chx1, 5, 46, 120, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP + CHECKBOX "&Distinge MAJ/min", chx2, 5, 62, 120, 12, BS_AUTOCHECKBOX | WS_TABSTOP - DEFPUSHBUTTON "Caută &înainte", IDOK, 212, 6, 60, 14, WS_GROUP | WS_TABSTOP | BS_DEFPUSHBUTTON - PUSHBUTTON "&Înlocuieşte", psh1 , 212, 24, 60, 14, WS_GROUP | WS_TABSTOP - PUSHBUTTON "Înlocuieşte &tot", psh2 , 212, 42, 60, 14, WS_GROUP | WS_TABSTOP - PUSHBUTTON "Renunță", IDCANCEL , 212, 60, 60, 14, WS_GROUP | WS_TABSTOP - PUSHBUTTON "&Ajutor", pshHelp , 212, 78, 60, 14, WS_GROUP | WS_TABSTOP + DEFPUSHBUTTON "&Caută", IDOK, 212, 6, 60, 14, WS_GROUP | WS_TABSTOP | BS_DEFPUSHBUTTON + PUSHBUTTON "Înlocui&ește", psh1, 212, 24, 60, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "Înlocuiește t&ot", psh2 , 212, 42, 60, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "A&nulează", IDCANCEL, 212, 60, 60, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "&Manual…", pshHelp, 212, 78, 60, 14, WS_GROUP | WS_TABSTOP } PRINT32 DIALOG 32, 32, 288, 186 STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | DS_CONTEXTHELP | DS_3DLOOK -CAPTION "Tipărire" +CAPTION "Imprimare" FONT 8, "MS Shell Dlg" { - DEFPUSHBUTTON "OK", IDOK, 176,164, 50,14, WS_GROUP | BS_DEFPUSHBUTTON - PUSHBUTTON "Renunță", IDCANCEL, 230,164, 50,14, WS_GROUP - PUSHBUTTON "&Ajutor", pshHelp, 50, 161, 50,14, WS_GROUP + DEFPUSHBUTTON "Con&firmă", IDOK, 176,164, 50,14, WS_GROUP | BS_DEFPUSHBUTTON + PUSHBUTTON "A&nulează", IDCANCEL, 230,164, 50,14, WS_GROUP + PUSHBUTTON "&Manual…", pshHelp, 50, 161, 50,14, WS_GROUP - GROUPBOX "Imprimantă", grp4, 8, 4, 272,84, WS_GROUP - CONTROL "Tipăreşte în &fişier", chx1, "Button",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,185,36,90,16 - PUSHBUTTON "&Proprietăți", psh2, 212, 17, 60,14, WS_GROUP - LTEXT "&Nume:", stc6, 16, 20, 36,8 - COMBOBOX cmb4, 52, 18, 152,152,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_GROUP | WS_TABSTOP - LTEXT "Stare:", stc8, 16, 36, 47,10, SS_NOPREFIX - LTEXT "", stc12, 65, 36, 120,10, SS_NOPREFIX | SS_LEFTNOWORDWRAP - LTEXT "Tip:", stc7, 16, 48, 47,10, SS_NOPREFIX - LTEXT "", stc11, 65, 48, 212,10, SS_NOPREFIX | SS_LEFTNOWORDWRAP - LTEXT "Loc:", stc10, 16, 60, 47,10, SS_NOPREFIX - LTEXT "", stc14, 65, 60, 212,10, SS_NOPREFIX | SS_LEFTNOWORDWRAP - LTEXT "Comentariu:", stc9, 16, 72, 47,10, SS_NOPREFIX - LTEXT "", stc13, 65, 72, 212,10, SS_NOPREFIX | SS_LEFTNOWORDWRAP + GROUPBOX "Imprimantă", grp4, 8, 4, 272,84, WS_GROUP + CONTROL "&Imprimă în fișier", chx1, "Button",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,185,36,90,16 + PUSHBUTTON "&Opțiuni…", psh2, 212, 17, 60,14, WS_GROUP + LTEXT "N&ume:", stc6, 16, 20, 36,8 + COMBOBOX cmb4, 52, 18, 152,152,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_GROUP | WS_TABSTOP + LTEXT "Stare:", stc8, 16, 36, 47,10, SS_NOPREFIX + LTEXT "Dummy State", stc12, 65, 36, 120,10, SS_NOPREFIX | SS_LEFTNOWORDWRAP + LTEXT "Tip:", stc7, 16, 48, 47,10, SS_NOPREFIX + LTEXT "Dummy Type", stc11, 65, 48, 212,10, SS_NOPREFIX | SS_LEFTNOWORDWRAP + LTEXT "Loc:", stc10, 16, 60, 47,10, SS_NOPREFIX + LTEXT "Dummy Location", stc14, 65, 60, 212,10, SS_NOPREFIX | SS_LEFTNOWORDWRAP + LTEXT "Comentariu:", stc9, 16, 72, 47,10, SS_NOPREFIX + LTEXT "Dummy Remark", stc13, 65, 72, 212,10, SS_NOPREFIX | SS_LEFTNOWORDWRAP - GROUPBOX "Copii", grp2, 160, 92, 120,64, WS_GROUP - LTEXT "Număr de &copii:",stc5,168,105,68,8 - ICON "", ico3, 170,131, 76,24, WS_GROUP | SS_CENTERIMAGE - CONTROL "C&olaționate", chx2,"Button",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,168,118,100,12 - EDITTEXT edt3, 240,103, 32,12, WS_GROUP | ES_NUMBER + GROUPBOX "Cópii", grp2, 160, 92, 120,64, WS_GROUP + LTEXT "Numă&r de cópii:", stc5,168,105,68,8 + ICON "", ico3, 170,131, 76,24, WS_GROUP | SS_CENTERIMAGE + CONTROL "&Colaționate", chx2,"Button",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,168,118,100,12 + EDITTEXT edt3, 240,103, 32,12, WS_GROUP | ES_NUMBER - GROUPBOX "Interval tipărire", grp1, 8,92, 144,64, WS_GROUP - CONTROL "To&ate", rad1,"Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,16,106,64,12 - CONTROL "Pa&ginile", rad3,"Button",BS_AUTORADIOBUTTON,16,122,36,12 - CONTROL "&Selecție", rad2,"Button",BS_AUTORADIOBUTTON,16,138,64,12 - EDITTEXT edt1, 73,122, 26,12, WS_GROUP | ES_NUMBER - EDITTEXT edt2, 120,122, 26,12, WS_GROUP | ES_NUMBER - RTEXT "&de la:", stc2, 52,124, 20,8 - RTEXT "&la:", stc3, 99,124, 20,8 + GROUPBOX "Volumul de imprimare", grp1, 8,92, 144,64, WS_GROUP + CONTROL "&Tot", rad1,"Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,16,106,64,12 + CONTROL "&Paginile", rad3,"Button",BS_AUTORADIOBUTTON,16,122,36,12 + CONTROL "&Selecția", rad2,"Button",BS_AUTORADIOBUTTON,16,138,64,12 + EDITTEXT edt1, 73,122, 26,12, WS_GROUP | ES_NUMBER + EDITTEXT edt2, 120,122, 26,12, WS_GROUP | ES_NUMBER + RTEXT "&De la:", stc2, 52,124, 20,8 + RTEXT "&La:", stc3, 99,124, 20,8 } PRINT32_SETUP DIALOG 32, 32, 288, 178 STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | DS_CONTEXTHELP | DS_3DLOOK -CAPTION "Setări tipărire" +CAPTION "Opțiuni de imprimare" FONT 8, "MS Shell Dlg" BEGIN - DEFPUSHBUTTON "OK",IDOK,176,156,50,14,WS_GROUP - PUSHBUTTON "Renunță",IDCANCEL,230,156,50,14 -/* PUSHBUTTON "Network...", psh5, 284,156,48,14 */ + DEFPUSHBUTTON "Con&firmă", IDOK,176,156,50,14,WS_GROUP + PUSHBUTTON "A&nulează", IDCANCEL,230,156,50,14 +/* PUSHBUTTON "Network…", psh5, 284,156,48,14 */ - GROUPBOX "Imprimantă", grp4, 8, 4, 272,84, WS_GROUP - PUSHBUTTON "&Proprietăți", psh2, 212, 17, 60,14, WS_GROUP - LTEXT "&Nume:", stc6, 16, 20, 36,8 - COMBOBOX cmb1, 52, 18, 152,152,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_GROUP | WS_TABSTOP - LTEXT "Stare:", stc8, 16, 36, 47,10, SS_NOPREFIX - LTEXT "", stc12, 65, 36, 212,10, SS_NOPREFIX | SS_LEFTNOWORDWRAP - LTEXT "Tip:", stc7, 16, 48, 47,10, SS_NOPREFIX - LTEXT "", stc11, 65, 48, 212,10, SS_NOPREFIX | SS_LEFTNOWORDWRAP - LTEXT "Loc:", stc10, 16, 60, 47,10, SS_NOPREFIX - LTEXT "", stc14, 65, 60, 212,10, SS_NOPREFIX | SS_LEFTNOWORDWRAP - LTEXT "Comentariu:", stc9, 16, 72, 47,10, SS_NOPREFIX - LTEXT "", stc13, 65, 72, 212,10, SS_NOPREFIX | SS_LEFTNOWORDWRAP + GROUPBOX "Imprimantă", grp4, 8, 4, 272,84, WS_GROUP + PUSHBUTTON "Pr&oprietăți", psh2, 212, 17, 60,14, WS_GROUP + LTEXT "N&ume:", stc6, 16, 20, 36,8 + COMBOBOX cmb1, 52, 18, 152,152,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_GROUP | WS_TABSTOP + LTEXT "Stare:", stc8, 16, 36, 47,10, SS_NOPREFIX + LTEXT "[nespecificat]", stc12, 65, 36, 212,10, SS_NOPREFIX | SS_LEFTNOWORDWRAP + LTEXT "Tip:", stc7, 16, 48, 47,10, SS_NOPREFIX + LTEXT "[nespecificat]", stc11, 65, 48, 212,10, SS_NOPREFIX | SS_LEFTNOWORDWRAP + LTEXT "Loc:", stc10, 16, 60, 47,10, SS_NOPREFIX + LTEXT "[nespecificat]", stc14, 65, 60, 212,10, SS_NOPREFIX | SS_LEFTNOWORDWRAP + LTEXT "Comentariu:", stc9, 16, 72, 47,10, SS_NOPREFIX + LTEXT "[nespecificat]", stc13, 65, 72, 212,10, SS_NOPREFIX | SS_LEFTNOWORDWRAP GROUPBOX "Hârtie", grp2, 8, 92, 164,56, WS_GROUP - LTEXT "Mărime:", stc2, 16,108, 36, 8 - COMBOBOX cmb2, 52,106, 112,112,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_GROUP | WS_TABSTOP - LTEXT "&Sursă:", stc3, 16,128, 36, 8 - COMBOBOX cmb3, 52,126, 112,112,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_GROUP | WS_TABSTOP + LTEXT "&Mărime:", stc2, 16,108, 36, 8 + COMBOBOX cmb2, 52,106, 112,112,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_GROUP | WS_TABSTOP + LTEXT "&Sursă:", stc3, 16,128, 36, 8 + COMBOBOX cmb3, 52,126, 112,112,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_GROUP | WS_TABSTOP - GROUPBOX "Orientare", grp1, 180, 92, 100,56, WS_GROUP - ICON "", ico1, 195,112, 18,20, WS_GROUP - CONTROL "P&ortret", rad1,"Button",BS_AUTORADIOBUTTON | WS_GROUP |WS_TABSTOP,224,106,52,12 - CONTROL "&Peisaj", rad2,"Button",BS_AUTORADIOBUTTON,224,126,52,12 + GROUPBOX "Orientare", grp1, 180, 92, 100,56, WS_GROUP + ICON "", ico1, 195,112, 18,20, WS_GROUP + CONTROL "&Portret", rad1,"Button",BS_AUTORADIOBUTTON | WS_GROUP |WS_TABSTOP,224,106,52,12 + CONTROL "P&eisaj", rad2,"Button",BS_AUTORADIOBUTTON,224,126,52,12 END PAGESETUPDLGORD DIALOG 32, 32, 240, 240 STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Setare Pagină" +CAPTION "Formare pagină" FONT 8, "MS Shell Dlg" BEGIN - CONTROL "", rct1, "Static", SS_WHITERECT, 80, 8, 80, 80 - CONTROL "", rct2, "Static", SS_GRAYRECT, 160, 12, 4, 80 - CONTROL "", rct3, "Static", SS_GRAYRECT, 84, 88, 80, 4 - GROUPBOX "Hârtie", grp2, 8, 96, 224, 56, BS_GROUPBOX - LTEXT "Mărime:", stc2, 16, 112, 36, 8 - COMBOBOX cmb2, 64, 110, 160, 160, CBS_SIMPLE|CBS_DROPDOWN|CBS_SORT|WS_GROUP|WS_TABSTOP|WS_VSCROLL - LTEXT "S&ertar:", stc3, 16, 132, 36, 8 - COMBOBOX cmb3, 64, 130, 160, 160, CBS_SIMPLE|CBS_DROPDOWN|CBS_SORT|WS_GROUP|WS_TABSTOP|WS_VSCROLL - GROUPBOX "Orientare", grp1, 8, 156, 64, 56, BS_GROUPBOX - AUTORADIOBUTTON "P&ortret", rad1, 16, 170, 52, 12, BS_AUTORADIOBUTTON - AUTORADIOBUTTON "&Peisaj", rad2, 16, 190, 52, 12, BS_AUTORADIOBUTTON - GROUPBOX "Margini", grp4, 80, 156, 152, 56, BS_GROUPBOX - LTEXT "S&tânga:", stc15, 88, 172, 30, 8 - EDITTEXT edt4, 119, 170, 36, 12, WS_TABSTOP|WS_GROUP|WS_BORDER - LTEXT "&Dreapta:", stc16, 159, 172, 30, 8 - EDITTEXT edt6, 190, 170, 36, 12, WS_TABSTOP|WS_GROUP|WS_BORDER - LTEXT "&Sus:", stc17, 88, 192, 30, 8 - EDITTEXT edt5, 119, 190, 36, 12, WS_TABSTOP|WS_GROUP|WS_BORDER - LTEXT "&Jos:", stc18, 159, 192, 30, 8 - EDITTEXT edt7, 190, 190, 36, 12, WS_TABSTOP|WS_GROUP|WS_BORDER - DEFPUSHBUTTON "OK", IDOK, 70, 220, 50, 14, BS_PUSHBUTTON - PUSHBUTTON "Renunță", IDCANCEL, 126, 220, 50, 14 - PUSHBUTTON "&Imprimantă...", psh3, 182, 220, 50, 14 + CONTROL "", rct1, "Static", SS_WHITERECT, 80, 8, 80, 80 + CONTROL "", rct2, "Static", SS_GRAYRECT, 160, 12, 4, 80 + CONTROL "", rct3, "Static", SS_GRAYRECT, 84, 88, 80, 4 + GROUPBOX "Hârtie", grp2, 8, 96, 224, 56, BS_GROUPBOX + LTEXT "&Mărime:", stc2, 16, 112, 36, 8 + COMBOBOX cmb2, 64, 110, 160, 160, CBS_SIMPLE|CBS_DROPDOWN|CBS_SORT|WS_GROUP|WS_TABSTOP|WS_VSCROLL + LTEXT "Se&rtar:", stc3, 16, 132, 36, 8 + COMBOBOX cmb3, 64, 130, 160, 160, CBS_SIMPLE|CBS_DROPDOWN|CBS_SORT|WS_GROUP|WS_TABSTOP|WS_VSCROLL + GROUPBOX "Orientare", grp1, 8, 156, 64, 56, BS_GROUPBOX + AUTORADIOBUTTON "&Portret", rad1, 16, 170, 52, 12, BS_AUTORADIOBUTTON + AUTORADIOBUTTON "P&eisaj", rad2, 16, 190, 52, 12, BS_AUTORADIOBUTTON + GROUPBOX "Margini", grp4, 80, 156, 152, 56, BS_GROUPBOX + LTEXT "&Stânga:", stc15, 88, 172, 30, 8 + EDITTEXT edt4, 119, 170, 36, 12, WS_TABSTOP|WS_GROUP|WS_BORDER + LTEXT "&Dreapta:", stc16, 159, 172, 30, 8 + EDITTEXT edt6, 190, 170, 36, 12, WS_TABSTOP|WS_GROUP|WS_BORDER + LTEXT "S&us:", stc17, 88, 192, 30, 8 + EDITTEXT edt5, 119, 190, 36, 12, WS_TABSTOP|WS_GROUP|WS_BORDER + LTEXT "J&os:", stc18, 159, 192, 30, 8 + EDITTEXT edt7, 190, 190, 36, 12, WS_TABSTOP|WS_GROUP|WS_BORDER + DEFPUSHBUTTON "Con&firmă", IDOK, 70, 220, 50, 14, BS_PUSHBUTTON + PUSHBUTTON "A&nulează", IDCANCEL, 126, 220, 50, 14 + PUSHBUTTON "&Imprimantă…", psh3, 182, 220, 50, 14 END NEWFILEOPENORD DIALOG 0, 0, 280, 164 STYLE DS_MODALFRAME | DS_CONTEXTHELP | WS_VISIBLE | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_CLIPCHILDREN -CAPTION "Deschide" +CAPTION "Deschidere fișier" FONT 8, "MS Shell Dlg" { - LTEXT "Caută &în:",IDC_LOOKINSTATIC,4,6,43,8, SS_NOTIFY - COMBOBOX IDC_LOOKIN,49,3,132,100,CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + LTEXT "&Caută în:", IDC_LOOKINSTATIC,4,6,43,8, SS_NOTIFY + COMBOBOX IDC_LOOKIN,49,3,132,100,CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - LTEXT "" , IDC_TOOLBARSTATIC, 181, 2, 102, 17, NOT WS_GROUP | NOT WS_VISIBLE - LISTBOX IDC_SHELLSTATIC,4,20,272,85, LBS_SORT | LBS_NOINTEGRALHEIGHT | LBS_MULTICOLUMN | WS_HSCROLL | NOT WS_VISIBLE + LTEXT "" , IDC_TOOLBARSTATIC, 181, 2, 102, 17, NOT WS_GROUP | NOT WS_VISIBLE + LISTBOX IDC_SHELLSTATIC,4,20,272,85, LBS_SORT | LBS_NOINTEGRALHEIGHT | LBS_MULTICOLUMN | WS_HSCROLL | NOT WS_VISIBLE - LTEXT "&Nume fișier:",IDC_FILENAMESTATIC,5,112,56,16, SS_NOTIFY - EDITTEXT IDC_FILENAME,63,110,150,12,ES_AUTOHSCROLL - CONTROL "", cmb13, "ComboBoxEx32", CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP, 63,110,150,150 + LTEXT "N&ume fișier:", IDC_FILENAMESTATIC,5,112,56,16, SS_NOTIFY + EDITTEXT IDC_FILENAME,63,110,150,12,ES_AUTOHSCROLL - LTEXT "&Tip de fișier:",IDC_FILETYPESTATIC,5,130,56,16, SS_NOTIFY - COMBOBOX IDC_FILETYPE,63,128,150,53,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + LTEXT "&Tip de fișier:", IDC_FILETYPESTATIC,5,130,56,16, SS_NOTIFY + COMBOBOX IDC_FILETYPE,63,128,150,53,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - CONTROL "Deschide pentru &numai-citire",IDC_OPENREADONLY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,63,148,150,10 + CONTROL "Do&ar-citire", IDC_OPENREADONLY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,63,148,150,10 - DEFPUSHBUTTON "&Deschide", IDOK,222,110,54,14 - PUSHBUTTON "Renunță", IDCANCEL,222,128,54,14 - PUSHBUTTON "&Ajutor", pshHelp,222,145,54,14 + DEFPUSHBUTTON "&Deschide", IDOK,222,110,54,14 + PUSHBUTTON "A&nulează", IDCANCEL,222,128,54,14 + PUSHBUTTON "&Manual…", pshHelp,222,145,54,14 } NEWFILEOPENV3ORD DIALOG 0, 0, 440, 300 @@ -475,14 +476,14 @@ STYLE DS_MODALFRAME | DS_CONTEXTHELP | WS_VISIBLE | WS_POPUP | WS_CAPTION | WS_S CAPTION "Deschide" FONT 8, "MS Shell Dlg" { - LTEXT "Nume &fișier:", IDC_FILENAMESTATIC, 160, 240, 60, 9, SS_RIGHT - EDITTEXT IDC_FILENAME, 226, 240, 100, 12, WS_CHILD | WS_VISIBLE | WS_TABSTOP + LTEXT "Nume &fișier:", IDC_FILENAMESTATIC, 160, 240, 60, 9, SS_RIGHT + EDITTEXT IDC_FILENAME, 226, 240, 100, 12, WS_CHILD | WS_VISIBLE | WS_TABSTOP LTEXT "&Tip de fișier:", IDC_FILETYPESTATIC, 160, 256, 60, 9, SS_RIGHT - COMBOBOX IDC_FILETYPE, 226, 256, 100, 12, WS_CHILD | WS_VISIBLE | WS_TABSTOP | - CBS_HASSTRINGS | CBS_DROPDOWNLIST + COMBOBOX IDC_FILETYPE, 226, 256, 100, 12, WS_CHILD | WS_VISIBLE | WS_TABSTOP | + CBS_HASSTRINGS | CBS_DROPDOWNLIST - DEFPUSHBUTTON "&Deschide", IDOK, 350, 240, 40, 14, WS_GROUP - PUSHBUTTON "Renunță", IDCANCEL, 395, 240, 40, 14 - PUSHBUTTON "&Ajutor", pshHelp, 350, 272, 40, 14 + DEFPUSHBUTTON "&Deschide", IDOK, 350, 240, 40, 14, WS_GROUP + PUSHBUTTON "A&nulează", IDCANCEL, 395, 240, 40, 14 + PUSHBUTTON "&Manual…", pshHelp, 350, 272, 40, 14 } diff --git a/dll/win32/comdlg32/printdlg.c b/dll/win32/comdlg32/printdlg.c index 8ef077a9d39..237bb965fe0 100644 --- a/dll/win32/comdlg32/printdlg.c +++ b/dll/win32/comdlg32/printdlg.c @@ -23,6 +23,7 @@ */ #include "cdlg.h" + #include #include diff --git a/dll/win32/credui/lang/credui_Ro.rc b/dll/win32/credui/lang/credui_Ro.rc index 5cb1df06dae..6f39ca56328 100644 --- a/dll/win32/credui/lang/credui_Ro.rc +++ b/dll/win32/credui/lang/credui_Ro.rc @@ -1,6 +1,7 @@ /* * Copyright 2007 Robert Shearman (for CodeWeavers) * Copyright 2009 Michael Stefaniuc + * 2011 Fulea Ștefan * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -28,26 +29,26 @@ STYLE DS_MODALFRAME | DS_NOIDLEMSG | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSM CAPTION "IDS_TITLEFORMAT" FONT 8, "MS Shell Dlg" BEGIN - CONTROL IDB_BANNER,-1,"Static",SS_BITMAP | SS_CENTERIMAGE,0, - 0,213,37 - LTEXT "IDS_MESSAGEFORMAT",IDC_MESSAGE,8,48,199,8,NOT WS_GROUP - LTEXT "Nume &utilizator:",-1,8,62,72,12,SS_CENTERIMAGE - CONTROL "",IDC_USERNAME,"ComboBoxEx32",CBS_DROPDOWN | - CBS_NOINTEGRALHEIGHT | WS_TABSTOP,80,62,126,87 - LTEXT "&Parolă:",-1,8,80,72,12,SS_CENTERIMAGE - EDITTEXT IDC_PASSWORD,80,80,126,12,ES_PASSWORD | ES_AUTOHSCROLL - CONTROL "Ține minte pa&rola",IDC_SAVE,"Button", - BS_AUTOCHECKBOX | WS_TABSTOP,80,98,126,12 - DEFPUSHBUTTON "OK",IDOK,97,128,50,14 - PUSHBUTTON "Renunță",IDCANCEL,156,128,50,14 + CONTROL IDB_BANNER,-1,"Static",SS_BITMAP | SS_CENTERIMAGE,0, + 0,213,37 + LTEXT "IDS_MESSAGEFORMAT", IDC_MESSAGE,8,48,199,8,NOT WS_GROUP + LTEXT "N&ume utilizator:", -1,8,62,72,12,SS_CENTERIMAGE + CONTROL "", IDC_USERNAME,"ComboBoxEx32",CBS_DROPDOWN | + CBS_NOINTEGRALHEIGHT | WS_TABSTOP,80,62,126,87 + LTEXT "&Parolă:", -1,8,80,72,12,SS_CENTERIMAGE + EDITTEXT IDC_PASSWORD,80,80,126,12,ES_PASSWORD | ES_AUTOHSCROLL + CONTROL "Ține minte pa&rola", IDC_SAVE,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,80,98,126,12 + DEFPUSHBUTTON "Con&firmă", IDOK,97,128,50,14 + PUSHBUTTON "A&nulează", IDCANCEL,156,128,50,14 END STRINGTABLE { - IDS_TITLEFORMAT "Conectare la %s" - IDS_MESSAGEFORMAT "Conectez la %s" + IDS_TITLEFORMAT "Conectare la „%s”" + IDS_MESSAGEFORMAT "Conectarea la „%s”" IDS_INCORRECTPASSWORDTITLE "Autentificare eșuată" - IDS_INCORRECTPASSWORD "Verificați numele de utilizator și parola." - IDS_CAPSLOCKONTITLE "Tasta Caps Lock este activată" - IDS_CAPSLOCKON "Cu tasta Caps Lock activată este foarte probabil că veți introduce parola greșit.\n\nInainte de a introduce parola apăsați tasta Caps Lock pentru a dezactiva scrierea cu majuscule." + IDS_INCORRECTPASSWORD "Verificați corectitudinea numelui\nși a parolei de utilizator." + IDS_CAPSLOCKONTITLE "Modul «Caps Lock» este activ" + IDS_CAPSLOCKON "Din cauza modului «Caps Lock» activ, riscați introducerea incorectă a parolei.\n\nInainte de a introduce parola, apăsați «Caps Lock» pentru a dezactiva scrierea cu majuscule." } diff --git a/dll/win32/crtdll/CMakeLists.txt b/dll/win32/crtdll/CMakeLists.txt index af293b464e5..fc8b6483bb6 100644 --- a/dll/win32/crtdll/CMakeLists.txt +++ b/dll/win32/crtdll/CMakeLists.txt @@ -29,6 +29,5 @@ if(MSVC) endif() add_importlibs(crtdll kernel32 ntdll) -add_pch(crtdll precomp.h) add_cd_file(TARGET crtdll DESTINATION reactos/system32 FOR all) diff --git a/dll/win32/crypt32/crypt32_private.h b/dll/win32/crypt32/crypt32_private.h index 998cc6c9d4f..3224987e04b 100644 --- a/dll/win32/crypt32/crypt32_private.h +++ b/dll/win32/crypt32/crypt32_private.h @@ -19,7 +19,7 @@ #ifndef __CRYPT32_PRIVATE_H__ #define __CRYPT32_PRIVATE_H__ -#include +#include #include #include @@ -48,6 +48,8 @@ #include #include +#include "cryptres.h" + /* a few asn.1 tags we need */ #define ASN_BOOL (ASN_UNIVERSAL | ASN_PRIMITIVE | 0x01) #define ASN_BITSTRING (ASN_UNIVERSAL | ASN_PRIMITIVE | 0x03) @@ -460,4 +462,4 @@ void ContextList_Free(struct ContextList *list) DECLSPEC_HIDDEN; */ #define IS_INTOID(x) (((ULONG_PTR)(x) >> 16) == 0) -#endif +#endif /* __CRYPT32_PRIVATE_H__ */ diff --git a/dll/win32/crypt32/cryptres.h b/dll/win32/crypt32/cryptres.h index 4ef86aab595..fd6bc0d1452 100644 --- a/dll/win32/crypt32/cryptres.h +++ b/dll/win32/crypt32/cryptres.h @@ -15,6 +15,7 @@ * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ + #ifndef __WINE_CRYPTRES_H__ #define __WINE_CRYPTRES_H__ diff --git a/dll/win32/crypt32/object.c b/dll/win32/crypt32/object.c index 157ac6b77d7..ce0f02c67eb 100644 --- a/dll/win32/crypt32/object.c +++ b/dll/win32/crypt32/object.c @@ -22,8 +22,6 @@ #include -#include "cryptres.h" - WINE_DEFAULT_DEBUG_CHANNEL(crypt); static BOOL CRYPT_ReadBlobFromFile(LPCWSTR fileName, PCERT_BLOB blob) diff --git a/dll/win32/crypt32/oid.c b/dll/win32/crypt32/oid.c index df1f90a3221..a4174305097 100644 --- a/dll/win32/crypt32/oid.c +++ b/dll/win32/crypt32/oid.c @@ -19,8 +19,6 @@ #include "crypt32_private.h" -#include "cryptres.h" - WINE_DEFAULT_DEBUG_CHANNEL(crypt); static const WCHAR DllW[] = { 'D','l','l',0 }; diff --git a/dll/win32/cryptdlg/lang/cryptdlg_Ro.rc b/dll/win32/cryptdlg/lang/cryptdlg_Ro.rc index 0230102a2ba..bbd59a835a7 100644 --- a/dll/win32/cryptdlg/lang/cryptdlg_Ro.rc +++ b/dll/win32/cryptdlg/lang/cryptdlg_Ro.rc @@ -27,15 +27,15 @@ LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL STRINGTABLE { - IDS_CERT_POLICY "Politica certificatului" - IDS_POLICY_ID "Identificatorul politicii: " - IDS_POLICY_QUALIFIER_INFO "Informația calificatorului politicii" - IDS_POLICY_QUALIFIER_ID "Identificatorul calificatorului politicii=" - IDS_CPS "CPS" - IDS_USER_NOTICE "Notiță utilizator" - IDS_QUALIFIER "Calificator" - IDS_NOTICE_REF "Referința notiței" - IDS_ORGANIZATION "Organizația=" - IDS_NOTICE_NUM "Numărul notiței=" - IDS_NOTICE_TEXT "Textul notiței=" + IDS_CERT_POLICY "Politica certificatului" + IDS_POLICY_ID "Identificatorul politicii: " + IDS_POLICY_QUALIFIER_INFO "Informația calificatorului politicii" + IDS_POLICY_QUALIFIER_ID "Identificatorul calificatorului politicii=" + IDS_CPS "CPS" + IDS_USER_NOTICE "Notiță utilizator" + IDS_QUALIFIER "Calificator" + IDS_NOTICE_REF "Referința notiței" + IDS_ORGANIZATION "Organizația=" + IDS_NOTICE_NUM "Numărul notiței=" + IDS_NOTICE_TEXT "Textul notiței=" } diff --git a/dll/win32/cryptui/lang/cryptui_Ro.rc b/dll/win32/cryptui/lang/cryptui_Ro.rc index 3891932629b..b719eaab509 100644 --- a/dll/win32/cryptui/lang/cryptui_Ro.rc +++ b/dll/win32/cryptui/lang/cryptui_Ro.rc @@ -2,6 +2,8 @@ * cryptui dll resources * * Copyright 2008 Juan Lang + * Copyright 2010 Claudia Cotună + * Michael Stefaniuc * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -24,164 +26,164 @@ LANGUAGE LANG_ROMANIAN, SUBLANG_DEFAULT STRINGTABLE { - IDS_CERTIFICATE "Certificat" - IDS_CERTIFICATEINFORMATION "Informații certificat" - IDS_CERT_INFO_BAD_SIG "Acest certificat are o semnătură nevalidă. Se poate ca certificatul să fi fost alterat sau corupt." - IDS_CERT_INFO_UNTRUSTED_CA "Acest certificat rădăcină nu este acreditat. Pentru a-l acredita, adăugați-l în depozitul de certificate rădăcină acreditate al sistemului." - IDS_CERT_INFO_UNTRUSTED_ROOT "Acest certificat nu a putut fi validat față de un certificat rădăcină acreditat." - IDS_CERT_INFO_PARTIAL_CHAIN "Emitentul acestui certificat nu a putut fi aflat." - IDS_CERT_INFO_BAD_PURPOSES "Nu au putut fi verificate toate rolurile intenționate pentru acest certificat." - IDS_CERT_INFO_PURPOSES "Acest certificat este intenționat pentru următoarele roluri:" - IDS_SUBJECT_HEADING "Emis pentru: " - IDS_ISSUER_HEADING "Emis de: " - IDS_VALID_FROM "Valid de la " - IDS_VALID_TO " la " - IDS_CERTIFICATE_BAD_SIGNATURE "Acest certificat are o semnătură nevalabilă." - IDS_CERTIFICATE_BAD_TIME "Acest certificat a expirat sau încă nu este valabil." - IDS_CERTIFICATE_BAD_TIMENEST "Perioada de valabilitate a acestui certificat o depășește pe cea a emitentului său." - IDS_CERTIFICATE_REVOKED "Acest certificat a fost revocat de către emitentul său." - IDS_CERTIFICATE_VALID "Acest certificat este valabil." - IDS_FIELD "Câmp" - IDS_VALUE "Valoare" - IDS_FIELDS_ALL "" - IDS_FIELDS_V1 "Doar câmpurile versiunii 1" - IDS_FIELDS_EXTENSIONS "Doar extensii" - IDS_FIELDS_CRITICAL_EXTENSIONS "Doar extensii critice" - IDS_FIELDS_PROPERTIES "Doar proprietăți" - IDS_FIELD_VERSION "Versiune" - IDS_FIELD_SERIAL_NUMBER "Număr de serie" - IDS_FIELD_ISSUER "Emitent" - IDS_FIELD_VALID_FROM "Valabil de la" - IDS_FIELD_VALID_TO "Valabil până la" - IDS_FIELD_SUBJECT "Subiect" - IDS_FIELD_PUBLIC_KEY "Cheie publică" - IDS_FIELD_PUBLIC_KEY_FORMAT "%s (%d biți)" - IDS_PROP_HASH "Hash SHA1" - IDS_PROP_ENHKEY_USAGE "Utilizări adiționale ale cheii (proprietate)" - IDS_PROP_FRIENDLY_NAME "Nume uzual" - IDS_PROP_DESCRIPTION "Descriere" - IDS_CERTIFICATE_PROPERTIES "Proprietățile certificatului" - IDS_CERTIFICATE_PURPOSE_ERROR "Introduceți OID sub forma 1.2.3.4" - IDS_CERTIFICATE_PURPOSE_EXISTS "OID introdus există deja." - IDS_SELECT_STORE_TITLE "Selectare depozit de certificate" - IDS_SELECT_STORE "Selectați un depozit de certificate." - IDS_IMPORT_WIZARD "Asistent de importare a certificatelor" - IDS_IMPORT_TYPE_MISMATCH "Fișierul conține obiecte care nu respectă criteriile date. Selectați alt fișier." - IDS_IMPORT_FILE_TITLE "Importare fișier" - IDS_IMPORT_FILE_SUBTITLE "Specificați fișierul pe care doriți să-l importați." - IDS_IMPORT_STORE_TITLE "Depozit de certificate" - IDS_IMPORT_STORE_SUBTITLE "Depozitele de certificate sunt colecții de certificate, liste de certificate revocate și liste de certificate acreditate." - IDS_IMPORT_FILTER_CERT "Certificat X.509 (*.cer; *.crt)" - IDS_IMPORT_FILTER_PFX "Schimb de informații personale (*.pfx; *.p12)" - IDS_IMPORT_FILTER_CRL "Listă de certificate revocate (*.crl)" - IDS_IMPORT_FILTER_CTL "Listă de certificate acreditate (*.stl)" - IDS_IMPORT_FILTER_SERIALIZED_STORE "Depozit Microsoft înseriat de certificate (*.sst)" - IDS_IMPORT_FILTER_CMS "Mesaje CMS/PKCS #7 (*.spc; *.p7b)" - IDS_IMPORT_FILTER_ALL "Toate fișierele (*.*)" - IDS_IMPORT_EMPTY_FILE "Selectați un fișier." - IDS_IMPORT_BAD_FORMAT "Formatul fișierului nu este recunoscut. Selectați alt fișier." - IDS_IMPORT_OPEN_FAILED "Nu s-a putut deschide " - IDS_IMPORT_DEST_DETERMINED "Determinat de program" - IDS_IMPORT_SELECT_STORE "Selectați un depozit" - IDS_IMPORT_STORE_SELECTION "Depozitul de certificate selectat" - IDS_IMPORT_DEST_AUTOMATIC "Determinat automat de către program" - IDS_IMPORT_FILE "Fișier" - IDS_IMPORT_CONTENT "Conținut" - IDS_IMPORT_CONTENT_CERT "Certificat" - IDS_IMPORT_CONTENT_CRL "Lista certificatelor revocate" - IDS_IMPORT_CONTENT_CTL "Lista certificatelor acreditate" - IDS_IMPORT_CONTENT_CMS "Mesaj CMS/PKCS #7" - IDS_IMPORT_CONTENT_PFX "Schimb de informații personale" - IDS_IMPORT_CONTENT_STORE "Depozit de certificate" - IDS_IMPORT_SUCCEEDED "Importarea s-a realizat cu succes." - IDS_IMPORT_FAILED "Importarea a eșuat." - IDS_WIZARD_TITLE_FONT "Arial" - IDS_PURPOSE_ALL "" - IDS_PURPOSE_ADVANCED "" - IDS_SUBJECT_COLUMN "Emis pentru" - IDS_ISSUER_COLUMN "Emis de" - IDS_EXPIRATION_COLUMN "Data de expirare" - IDS_FRIENDLY_NAME_COLUMN "Nume uzual" - IDS_ALLOWED_PURPOSE_ALL "" - IDS_ALLOWED_PURPOSE_NONE "" - IDS_WARN_REMOVE_MY "Nu veți mai putea decripta sau semna mesaje cu acest certificat.\n\ + IDS_CERTIFICATE "Certificat" + IDS_CERTIFICATEINFORMATION "Informații certificat" + IDS_CERT_INFO_BAD_SIG "Acest certificat are o semnătură nevalidă. Se poate ca certificatul să fi fost alterat sau corupt." + IDS_CERT_INFO_UNTRUSTED_CA "Acest certificat rădăcină nu este acreditat. Pentru a-l acredita, adăugați-l în depozitul de certificate rădăcină acreditate al sistemului." + IDS_CERT_INFO_UNTRUSTED_ROOT "Acest certificat nu a putut fi validat față de un certificat rădăcină acreditat." + IDS_CERT_INFO_PARTIAL_CHAIN "Emitentul acestui certificat nu a putut fi aflat." + IDS_CERT_INFO_BAD_PURPOSES "Nu au putut fi verificate toate rolurile intenționate pentru acest certificat." + IDS_CERT_INFO_PURPOSES "Acest certificat este intenționat pentru următoarele roluri:" + IDS_SUBJECT_HEADING "Emis pentru: " + IDS_ISSUER_HEADING "Emis de: " + IDS_VALID_FROM "Valid de la " + IDS_VALID_TO " la " + IDS_CERTIFICATE_BAD_SIGNATURE "Acest certificat are o semnătură nevalabilă." + IDS_CERTIFICATE_BAD_TIME "Acest certificat a expirat sau încă nu este valabil." + IDS_CERTIFICATE_BAD_TIMENEST "Perioada de valabilitate a acestui certificat o depășește pe cea a emitentului său." + IDS_CERTIFICATE_REVOKED "Acest certificat a fost revocat de către emitentul său." + IDS_CERTIFICATE_VALID "Acest certificat este valabil." + IDS_FIELD "Câmp" + IDS_VALUE "Valoare" + IDS_FIELDS_ALL "" + IDS_FIELDS_V1 "Doar câmpurile versiunii 1" + IDS_FIELDS_EXTENSIONS "Doar extensii" + IDS_FIELDS_CRITICAL_EXTENSIONS "Doar extensii critice" + IDS_FIELDS_PROPERTIES "Doar proprietăți" + IDS_FIELD_VERSION "Versiune" + IDS_FIELD_SERIAL_NUMBER "Număr de serie" + IDS_FIELD_ISSUER "Emitent" + IDS_FIELD_VALID_FROM "Valabil de la" + IDS_FIELD_VALID_TO "Valabil până la" + IDS_FIELD_SUBJECT "Subiect" + IDS_FIELD_PUBLIC_KEY "Cheie publică" + IDS_FIELD_PUBLIC_KEY_FORMAT "%s (%d biți)" + IDS_PROP_HASH "Hash SHA1" + IDS_PROP_ENHKEY_USAGE "Utilizări adiționale ale cheii (proprietate)" + IDS_PROP_FRIENDLY_NAME "Nume uzual" + IDS_PROP_DESCRIPTION "Descriere" + IDS_CERTIFICATE_PROPERTIES "Proprietățile certificatului" + IDS_CERTIFICATE_PURPOSE_ERROR "Introduceți OID sub forma 1.2.3.4" + IDS_CERTIFICATE_PURPOSE_EXISTS "OID introdus există deja." + IDS_SELECT_STORE_TITLE "Selectare depozit de certificate" + IDS_SELECT_STORE "Selectați un depozit de certificate." + IDS_IMPORT_WIZARD "Asistent de importare a certificatelor" + IDS_IMPORT_TYPE_MISMATCH "Fișierul conține obiecte care nu respectă criteriile date. Selectați alt fișier." + IDS_IMPORT_FILE_TITLE "Importare fișier" + IDS_IMPORT_FILE_SUBTITLE "Specificați fișierul pe care doriți să-l importați." + IDS_IMPORT_STORE_TITLE "Depozit de certificate" + IDS_IMPORT_STORE_SUBTITLE "Depozitele de certificate sunt colecții de certificate, liste de certificate revocate și liste de certificate acreditate." + IDS_IMPORT_FILTER_CERT "Certificat X.509 (*.cer; *.crt)" + IDS_IMPORT_FILTER_PFX "Schimb de informații personale (*.pfx; *.p12)" + IDS_IMPORT_FILTER_CRL "Listă de certificate revocate (*.crl)" + IDS_IMPORT_FILTER_CTL "Listă de certificate acreditate (*.stl)" + IDS_IMPORT_FILTER_SERIALIZED_STORE "Depozit Microsoft înseriat de certificate (*.sst)" + IDS_IMPORT_FILTER_CMS "Mesaje CMS/PKCS #7 (*.spc; *.p7b)" + IDS_IMPORT_FILTER_ALL "Toate fișierele (*.*)" + IDS_IMPORT_EMPTY_FILE "Selectați un fișier." + IDS_IMPORT_BAD_FORMAT "Formatul fișierului nu este recunoscut. Selectați alt fișier." + IDS_IMPORT_OPEN_FAILED "Nu s-a putut deschide " + IDS_IMPORT_DEST_DETERMINED "Determinat de program" + IDS_IMPORT_SELECT_STORE "Selectați un depozit" + IDS_IMPORT_STORE_SELECTION "Depozitul de certificate selectat" + IDS_IMPORT_DEST_AUTOMATIC "Determinat automat de către program" + IDS_IMPORT_FILE "Fișier" + IDS_IMPORT_CONTENT "Conținut" + IDS_IMPORT_CONTENT_CERT "Certificat" + IDS_IMPORT_CONTENT_CRL "Lista certificatelor revocate" + IDS_IMPORT_CONTENT_CTL "Lista certificatelor acreditate" + IDS_IMPORT_CONTENT_CMS "Mesaj CMS/PKCS #7" + IDS_IMPORT_CONTENT_PFX "Schimb de informații personale" + IDS_IMPORT_CONTENT_STORE "Depozit de certificate" + IDS_IMPORT_SUCCEEDED "Importarea s-a realizat cu succes." + IDS_IMPORT_FAILED "Importarea a eșuat." + IDS_WIZARD_TITLE_FONT "Arial" + IDS_PURPOSE_ALL "" + IDS_PURPOSE_ADVANCED "" + IDS_SUBJECT_COLUMN "Emis pentru" + IDS_ISSUER_COLUMN "Emis de" + IDS_EXPIRATION_COLUMN "Data de expirare" + IDS_FRIENDLY_NAME_COLUMN "Nume uzual" + IDS_ALLOWED_PURPOSE_ALL "" + IDS_ALLOWED_PURPOSE_NONE "" + IDS_WARN_REMOVE_MY "Nu veți mai putea decripta sau semna mesaje cu acest certificat.\n\ Sigur doriți să eliminați acest certificat?" - IDS_WARN_REMOVE_PLURAL_MY "Nu veți mai putea decripta sau semna mesaje cu aceste certificate.\n\ + IDS_WARN_REMOVE_PLURAL_MY "Nu veți mai putea decripta sau semna mesaje cu aceste certificate.\n\ Sigur doriți să eliminați aceste certificate?" - IDS_WARN_REMOVE_ADDRESSBOOK "Nu veți mai putea cripta sau verifica mesaje semnate cu acest certificat.\n\ + IDS_WARN_REMOVE_ADDRESSBOOK "Nu veți mai putea cripta sau verifica mesaje semnate cu acest certificat.\n\ Sigur doriți să eliminați acest certificat?" - IDS_WARN_REMOVE_PLURAL_ADDRESSBOOK "Nu veți mai putea cripta sau verifica mesaje semnate cu aceste certificate.\n\ + IDS_WARN_REMOVE_PLURAL_ADDRESSBOOK "Nu veți mai putea cripta sau verifica mesaje semnate cu aceste certificate.\n\ Sigur doriți să eliminați aceste certificate?" - IDS_WARN_REMOVE_CA "Certificatele emise de către această autoritate de certificare nu vor mai fi acreditate.\n\ + IDS_WARN_REMOVE_CA "Certificatele emise de către această autoritate de certificare nu vor mai fi acreditate.\n\ Sigur doriți să eliminați acest certificat?" - IDS_WARN_REMOVE_PLURAL_CA "Certificatele emise de către aceste autorități de certificare nu vor mai fi acreditate.\n\ + IDS_WARN_REMOVE_PLURAL_CA "Certificatele emise de către aceste autorități de certificare nu vor mai fi acreditate.\n\ Sigur doriți să eliminați aceste certificate?" - IDS_WARN_REMOVE_ROOT "Certificatele emise de către această autoritate de certificare rădăcină, sau de către orice alte autorități de certificare validate de ea, nu vor mai fi acreditate.\n\ + IDS_WARN_REMOVE_ROOT "Certificatele emise de către această autoritate de certificare rădăcină, sau de către orice alte autorități de certificare validate de ea, nu vor mai fi acreditate.\n\ Sigur doriți să eliminați acest certificat rădăcină acreditat?" - IDS_WARN_REMOVE_PLURAL_ROOT "Certificatele emise de către aceste autorități de certificare rădăcină, sau de către orice alte autorități de certificare validate de ele, nu vor mai fi acreditate.\n\ + IDS_WARN_REMOVE_PLURAL_ROOT "Certificatele emise de către aceste autorități de certificare rădăcină, sau de către orice alte autorități de certificare validate de ele, nu vor mai fi acreditate.\n\ Sigur doriți să eliminați aceste certificate rădăcină acreditate?" - IDS_WARN_REMOVE_TRUSTEDPUBLISHER "Aplicațiile software semnate de către acest editor nu vor mai fi acreditate.\n\ + IDS_WARN_REMOVE_TRUSTEDPUBLISHER "Aplicațiile software semnate de către acest editor nu vor mai fi acreditate.\n\ Sigur doriți să eliminați acest certificat?" - IDS_WARN_REMOVE_PLURAL_TRUSTEDPUBLISHER "Aplicațiile software semnate de către acești editori nu vor mai fi acreditate.\n\ + IDS_WARN_REMOVE_PLURAL_TRUSTEDPUBLISHER "Aplicațiile software semnate de către acești editori nu vor mai fi acreditate.\n\ Sigur doriți să eliminați aceste certificate?" - IDS_WARN_REMOVE_DEFAULT "Sigur doriți să eliminați acest certificat?" - IDS_WARN_REMOVE_PLURAL_DEFAULT "Sigur doriți să eliminați aceste certificate?" - IDS_CERT_MGR "Certificate" - IDS_FRIENDLY_NAME_NONE "" - IDS_PURPOSE_SERVER_AUTH "Asigură identificarea unui calculator de la distanță" - IDS_PURPOSE_CLIENT_AUTH "Vă dovedește identitatea pentru un calculator de la distanță" - IDS_PURPOSE_CODE_SIGNING "Garantează că aplicația provine de la un anumit editor de software\n\ + IDS_WARN_REMOVE_DEFAULT "Sigur doriți să eliminați acest certificat?" + IDS_WARN_REMOVE_PLURAL_DEFAULT "Sigur doriți să eliminați aceste certificate?" + IDS_CERT_MGR "Certificate" + IDS_FRIENDLY_NAME_NONE "" + IDS_PURPOSE_SERVER_AUTH "Asigură identificarea unui calculator de la distanță" + IDS_PURPOSE_CLIENT_AUTH "Vă dovedește identitatea pentru un calculator de la distanță" + IDS_PURPOSE_CODE_SIGNING "Garantează că aplicația provine de la un anumit editor de software\n\ Protejează aplicația de alterări după publicare" - IDS_PURPOSE_EMAIL_PROTECTION "Protejează mesajele de email" - IDS_PURPOSE_IPSEC "Permite comunicarea securizată pe Internet" - IDS_PURPOSE_TIMESTAMP_SIGNING "Permite semnarea datelor cu ora curentă" - IDS_PURPOSE_CTL_USAGE_SIGNING "Vă permite să semnați digital o listă de certificate acreditate" - IDS_PURPOSE_EFS "Permite criptarea datelor de pe disc" - IDS_PURPOSE_EFS_RECOVERY "Recupererea fișierelor" - IDS_PURPOSE_WHQL "Verificarea driverelor de hardware din Windows" - IDS_PURPOSE_NT5 "Verificarea componentelor de sistem din Windows" - IDS_PURPOSE_OEM_WHQL "Verificarea componentelor de sistem din Windows OEM" - IDS_PURPOSE_EMBEDDED_NT "Verificarea componentelor de sistem din Windows Embedded" - IDS_PURPOSE_ROOT_LIST_SIGNER "Semnatarul listei rădăcină" - IDS_PURPOSE_QUALIFIED_SUBORDINATION "Subordonare calificată" - IDS_PURPOSE_KEY_RECOVERY "Recuperarea cheilor" - IDS_PURPOSE_DOCUMENT_SIGNING "Semnarea documentelor" - IDS_PURPOSE_LIFETIME_SIGNING "Semnătură pe viață" - IDS_PURPOSE_DRM "Drepturi digitale" - IDS_PURPOSE_LICENSES "Licențe de pachete de chei" - IDS_PURPOSE_LICENSE_SERVER "Verificare a serverului de licențe" - IDS_PURPOSE_ENROLLMENT_AGENT "Agent solicitare certificat" - IDS_PURPOSE_SMARTCARD_LOGON "Autentificare prin Smart Card" - IDS_PURPOSE_CA_EXCHANGE "Arhivare chei private" - IDS_PURPOSE_KEY_RECOVERY_AGENT "Agent recuperare chei" - IDS_PURPOSE_DS_EMAIL_REPLICATION "Serviciu Registru pentru replicare email" - IDS_EXPORT_WIZARD "Asistent de exportare a certificatelor" - IDS_EXPORT_FORMAT_TITLE "Format pentru exportare" - IDS_EXPORT_FORMAT_SUBTITLE "Alegeți formatul în care va fi salvat conținutul." - IDS_EXPORT_FILE_TITLE "Nume de fișier pentru exportare" - IDS_EXPORT_FILE_SUBTITLE "Specificați numele de fișier cu care va fi salvat conținutul." - IDS_EXPORT_FILE_EXISTS "Fișierul specificat există deja. Doriți să îl înlocuiți?" - IDS_EXPORT_FILTER_CERT "Binar X.509 codificat în DER (*.cer)" - IDS_EXPORT_FILTER_BASE64_CERT "Binar X.509 codificat în Base64 (*.cer)" - IDS_EXPORT_FILTER_CRL "Listă de certificate revocate (*.crl)" - IDS_EXPORT_FILTER_CTL "Listă de certificate acreditate (*.stl)" - IDS_EXPORT_FILTER_CMS "Mesaje CMS/PKCS #7 (*.p7b)" - IDS_EXPORT_FILTER_PFX "Schimb de informații personale (*.pfx)" - IDS_EXPORT_FILTER_SERIALIZED_CERT_STORE "Depozit înseriat de certificate (*.sst)" - IDS_EXPORT_FORMAT "Format fișier" - IDS_EXPORT_INCLUDE_CHAIN "Include toate certificatele din calea de certificate" - IDS_EXPORT_KEYS "Exportă cheile" - IDS_YES "Da" - IDS_NO "Nu" - IDS_EXPORT_SUCCEEDED "Exportarea s-a realizat cu succes." - IDS_EXPORT_FAILED "Exportarea a eșuat." - IDS_EXPORT_PRIVATE_KEY_TITLE "Exportare cheie privată" - IDS_EXPORT_PRIVATE_KEY_SUBTITLE "Certificatul conține o cheie privată care poate fi exportată odată cu certificatul." - IDS_EXPORT_PASSWORD_TITLE "Introducere parolă" - IDS_EXPORT_PASSWORD_SUBTITLE "Puteți proteja o cheie privată cu o parolă." - IDS_EXPORT_PASSWORD_MISMATCH "Parolele nu se potrivesc." - IDS_EXPORT_PRIVATE_KEY_UNAVAILABLE "Notă: Cheia privată pentru acest certificat nu a putut fi deschisă." - IDS_EXPORT_PRIVATE_KEY_NON_EXPORTABLE "Notă: Cheia privată pentru acest certificat nu este exportabilă." + IDS_PURPOSE_EMAIL_PROTECTION "Protejează mesajele de email" + IDS_PURPOSE_IPSEC "Permite comunicarea securizată pe Internet" + IDS_PURPOSE_TIMESTAMP_SIGNING "Permite semnarea datelor cu ora curentă" + IDS_PURPOSE_CTL_USAGE_SIGNING "Vă permite să semnați digital o listă de certificate acreditate" + IDS_PURPOSE_EFS "Permite criptarea datelor de pe disc" + IDS_PURPOSE_EFS_RECOVERY "Recupererea fișierelor" + IDS_PURPOSE_WHQL "Verificarea modulelor pilot din Windows" + IDS_PURPOSE_NT5 "Verificarea componentelor de sistem din Windows" + IDS_PURPOSE_OEM_WHQL "Verificarea componentelor de sistem din Windows OEM" + IDS_PURPOSE_EMBEDDED_NT "Verificarea componentelor de sistem din Windows Embedded" + IDS_PURPOSE_ROOT_LIST_SIGNER "Semnatarul listei rădăcină" + IDS_PURPOSE_QUALIFIED_SUBORDINATION "Subordonare calificată" + IDS_PURPOSE_KEY_RECOVERY "Recuperarea cheilor" + IDS_PURPOSE_DOCUMENT_SIGNING "Semnarea documentelor" + IDS_PURPOSE_LIFETIME_SIGNING "Semnătură pe viață" + IDS_PURPOSE_DRM "Drepturi digitale" + IDS_PURPOSE_LICENSES "Licențe de pachete de chei" + IDS_PURPOSE_LICENSE_SERVER "Verificare a serverului de licențe" + IDS_PURPOSE_ENROLLMENT_AGENT "Agent solicitare certificat" + IDS_PURPOSE_SMARTCARD_LOGON "Autentificare prin Smart Card" + IDS_PURPOSE_CA_EXCHANGE "Arhivare chei private" + IDS_PURPOSE_KEY_RECOVERY_AGENT "Agent recuperare chei" + IDS_PURPOSE_DS_EMAIL_REPLICATION "Serviciu Registru pentru replicare email" + IDS_EXPORT_WIZARD "Asistent de exportare a certificatelor" + IDS_EXPORT_FORMAT_TITLE "Format pentru exportare" + IDS_EXPORT_FORMAT_SUBTITLE "Alegeți formatul în care va fi salvat conținutul." + IDS_EXPORT_FILE_TITLE "Nume de fișier pentru exportare" + IDS_EXPORT_FILE_SUBTITLE "Specificați numele de fișier cu care va fi salvat conținutul." + IDS_EXPORT_FILE_EXISTS "Fișierul specificat există deja. Doriți să îl înlocuiți?" + IDS_EXPORT_FILTER_CERT "Binar X.509 codificat în DER (*.cer)" + IDS_EXPORT_FILTER_BASE64_CERT "Binar X.509 codificat în Base64 (*.cer)" + IDS_EXPORT_FILTER_CRL "Listă de certificate revocate (*.crl)" + IDS_EXPORT_FILTER_CTL "Listă de certificate acreditate (*.stl)" + IDS_EXPORT_FILTER_CMS "Mesaje CMS/PKCS #7 (*.p7b)" + IDS_EXPORT_FILTER_PFX "Schimb de informații personale (*.pfx)" + IDS_EXPORT_FILTER_SERIALIZED_CERT_STORE "Depozit înseriat de certificate (*.sst)" + IDS_EXPORT_FORMAT "Format fișier" + IDS_EXPORT_INCLUDE_CHAIN "Include toate certificatele din calea de certificate" + IDS_EXPORT_KEYS "Exportă cheile" + IDS_YES "Da" + IDS_NO "Nu" + IDS_EXPORT_SUCCEEDED "Exportarea s-a realizat cu succes." + IDS_EXPORT_FAILED "Exportarea a eșuat." + IDS_EXPORT_PRIVATE_KEY_TITLE "Exportare cheie privată" + IDS_EXPORT_PRIVATE_KEY_SUBTITLE "Certificatul conține o cheie privată care poate fi exportată odată cu certificatul." + IDS_EXPORT_PASSWORD_TITLE "Introducere parolă" + IDS_EXPORT_PASSWORD_SUBTITLE "Puteți proteja o cheie privată cu o parolă." + IDS_EXPORT_PASSWORD_MISMATCH "Parolele nu se potrivesc." + IDS_EXPORT_PRIVATE_KEY_UNAVAILABLE "Notă: Cheia privată pentru acest certificat nu a putut fi deschisă." + IDS_EXPORT_PRIVATE_KEY_NON_EXPORTABLE "Notă: Cheia privată pentru acest certificat nu este exportabilă." } IDD_GENERAL DIALOG 0, 0, 255, 236 @@ -189,15 +191,15 @@ CAPTION "General" STYLE WS_VISIBLE FONT 8, "MS Shell Dlg" BEGIN - CONTROL "", -1, "Static", WS_BORDER|SS_WHITERECT, 6,10,241,200 - CONTROL "", IDC_CERTIFICATE_ICON,"RichEdit20W", ES_READONLY|WS_DISABLED,8,11,26,26 - CONTROL "", IDC_CERTIFICATE_INFO,"RichEdit20W", ES_READONLY|WS_DISABLED,34,11,212,26 - CONTROL "", -1, "Static", SS_BLACKFRAME, 16,37,222,1 - CONTROL "", IDC_CERTIFICATE_STATUS,"RichEdit20W", ES_READONLY|ES_MULTILINE,8,38,238,78 - CONTROL "", -1, "Static", SS_BLACKFRAME, 16,116,222,1 - CONTROL "", IDC_CERTIFICATE_NAMES,"RichEdit20W", ES_READONLY|ES_MULTILINE|WS_DISABLED,8,118,238,90 - PUSHBUTTON "&Instalare certificat...", IDC_ADDTOSTORE,53,216,95,14 - PUSHBUTTON "&Declarația emitentului", IDC_ISSUERSTATEMENT,152,216,95,14 + CONTROL "", -1, "Static", WS_BORDER|SS_WHITERECT, 6,10,241,200 + CONTROL "", IDC_CERTIFICATE_ICON,"RichEdit20W", ES_READONLY|WS_DISABLED,8,11,26,26 + CONTROL "", IDC_CERTIFICATE_INFO,"RichEdit20W", ES_READONLY|WS_DISABLED,34,11,212,26 + CONTROL "", -1, "Static", SS_BLACKFRAME, 16,37,222,1 + CONTROL "", IDC_CERTIFICATE_STATUS,"RichEdit20W", ES_READONLY|ES_MULTILINE,8,38,238,78 + CONTROL "", -1, "Static", SS_BLACKFRAME, 16,116,222,1 + CONTROL "", IDC_CERTIFICATE_NAMES,"RichEdit20W", ES_READONLY|ES_MULTILINE|WS_DISABLED,8,118,238,90 + PUSHBUTTON "&Instalare certificat…", IDC_ADDTOSTORE,53,216,95,14 + PUSHBUTTON "&Declarația emitentului", IDC_ISSUERSTATEMENT,152,216,95,14 END IDD_DETAIL DIALOG 0, 0, 255, 236 @@ -205,13 +207,13 @@ CAPTION "Detalii" STYLE WS_VISIBLE FONT 8, "MS Shell Dlg" BEGIN - LTEXT "&Afișează:", -1, 6,12,40,14 - COMBOBOX IDC_DETAIL_SELECT, 48,10,100,14, CBS_DROPDOWNLIST|WS_BORDER|WS_VSCROLL|WS_TABSTOP - CONTROL "", IDC_DETAIL_LIST, "SysListView32", - LVS_REPORT|LVS_SINGLESEL|WS_CHILD|WS_VISIBLE|WS_TABSTOP|WS_BORDER, 6,28,241,100 - CONTROL "", IDC_DETAIL_VALUE, "RichEdit20W", ES_READONLY|ES_MULTILINE|WS_TABSTOP, 6,136,241,70 - PUSHBUTTON "&Editare proprietăți...", IDC_EDITPROPERTIES,53,216,95,14 - PUSHBUTTON "&Copiere în fișier...", IDC_EXPORT,152,216,95,14 + LTEXT "&Afișează:", -1, 6,12,40,14 + COMBOBOX IDC_DETAIL_SELECT, 48,10,100,14, CBS_DROPDOWNLIST|WS_BORDER|WS_VSCROLL|WS_TABSTOP + CONTROL "", IDC_DETAIL_LIST, "SysListView32", + LVS_REPORT|LVS_SINGLESEL|WS_CHILD|WS_VISIBLE|WS_TABSTOP|WS_BORDER, 6,28,241,100 + CONTROL "", IDC_DETAIL_VALUE, "RichEdit20W", ES_READONLY|ES_MULTILINE|WS_TABSTOP, 6,136,241,70 + PUSHBUTTON "&Editare proprietăți…", IDC_EDITPROPERTIES,53,216,95,14 + PUSHBUTTON "&Copiere în fișier…", IDC_EXPORT,152,216,95,14 END IDD_HIERARCHY DIALOG 0, 0, 255, 236 @@ -219,142 +221,146 @@ CAPTION "Cale de certificare" STYLE WS_VISIBLE FONT 8, "MS Shell Dlg" BEGIN - GROUPBOX "Cale de certi&ficare", -1,6,10,245,165, BS_GROUPBOX - CONTROL "",IDC_CERTPATH, "SysTreeView32", TVS_HASLINES|WS_BORDER, - 13,22,231,130 - PUSHBUTTON "&Vizualizează certificat", IDC_VIEWCERTIFICATE,155,156,90,14 - LTEXT "&Stare certificat:", IDC_CERTIFICATESTATUS,6,183,200,14 - CONTROL "", IDC_CERTIFICATESTATUSTEXT,"RichEdit20W", - WS_BORDER|ES_READONLY|ES_MULTILINE|WS_DISABLED,6,195,245,36 + GROUPBOX "&Cale certificate", -1,6,10,245,165, BS_GROUPBOX + CONTROL "",IDC_CERTPATH, "SysTreeView32", TVS_HASLINES|WS_BORDER, + 13,22,231,130 + PUSHBUTTON "&Afișează certificat", IDC_VIEWCERTIFICATE,155,156,90,14 + LTEXT "&Stare certificat:", IDC_CERTIFICATESTATUS,6,183,200,14 + CONTROL "", IDC_CERTIFICATESTATUSTEXT,"RichEdit20W", + WS_BORDER|ES_READONLY|ES_MULTILINE|WS_DISABLED,6,195,245,36 END IDD_USERNOTICE DIALOG 0, 0, 255, 256 -CAPTION "Declinare a responsabilității" +CAPTION "Exonerare" STYLE WS_VISIBLE FONT 8, "MS Shell Dlg" BEGIN - CONTROL "", IDC_USERNOTICE,"RichEdit20W", - WS_BORDER|ES_READONLY|ES_MULTILINE|WS_DISABLED,6,10,241,200 - PUSHBUTTON "Închide", IDOK,73,216,85,14 - PUSHBUTTON "Alte &informații", IDC_CPS,162,216,85,14 + CONTROL "", IDC_USERNOTICE,"RichEdit20W", + WS_BORDER|ES_READONLY|ES_MULTILINE|WS_DISABLED,6,10,241,200 + PUSHBUTTON "Î&nchide", IDOK,73,216,85,14 + PUSHBUTTON "&Alte informații", IDC_CPS,162,216,85,14 END IDD_CERT_PROPERTIES_GENERAL DIALOG 0, 0, 255, 236 -CAPTION "General" +CAPTION "Generale" STYLE WS_VISIBLE FONT 8, "MS Shell Dlg" BEGIN - LTEXT "&Nume uzual:", -1, 6,14,60,14 - EDITTEXT IDC_FRIENDLY_NAME, 70,12,181,14, ES_AUTOHSCROLL|WS_TABSTOP - LTEXT "&Descriere:", -1, 6,32,60,14 - EDITTEXT IDC_DESCRIPTION, 70,30,181,14, ES_AUTOVSCROLL|ES_MULTILINE|WS_TABSTOP|WS_VSCROLL - GROUPBOX "Rolurile certificatului", -1,6,48,245,185, BS_GROUPBOX - AUTORADIOBUTTON "Activ&ează toate rolurile acestui certificat", - IDC_ENABLE_ALL_PURPOSES, 12,58,230,14, BS_AUTORADIOBUTTON|WS_TABSTOP - AUTORADIOBUTTON "Dezact&ivează toate rolurile acestui certificat", - IDC_DISABLE_ALL_PURPOSES, 12,70,230,14, BS_AUTORADIOBUTTON - AUTORADIOBUTTON "Activează d&oar următoarele roluri ale acestui certificat:", - IDC_ENABLE_SELECTED_PURPOSES, 12,82,230,14, BS_AUTORADIOBUTTON - CONTROL "", IDC_CERTIFICATE_USAGES,"SysListView32", - LVS_REPORT|LVS_NOCOLUMNHEADER|LVS_SINGLESEL|WS_CHILD|WS_VISIBLE|WS_TABSTOP|WS_BORDER, - 24,100,220,106 - PUSHBUTTON "Adăugare &rol...", IDC_ADD_PURPOSE,174,212,70,14 + LTEXT "N&ume uzual:", -1, 6,14,60,14 + EDITTEXT IDC_FRIENDLY_NAME, 70,12,181,14, ES_AUTOHSCROLL|WS_TABSTOP + LTEXT "&Descriere:", -1, 6,32,60,14 + EDITTEXT IDC_DESCRIPTION, 70,30,181,14, ES_AUTOVSCROLL|ES_MULTILINE|WS_TABSTOP|WS_VSCROLL + GROUPBOX "Rolurile certificatului", -1,6,48,245,185, BS_GROUPBOX + AUTORADIOBUTTON "A&ctivează toate rolurile acestui certificat", + IDC_ENABLE_ALL_PURPOSES, 12,58,230,14, BS_AUTORADIOBUTTON|WS_TABSTOP + AUTORADIOBUTTON "De&zactivează toate rolurile acestui certificat", + IDC_DISABLE_ALL_PURPOSES, 12,70,230,14, BS_AUTORADIOBUTTON + AUTORADIOBUTTON "Activează d&oar următoarele roluri ale acestui certificat:", + IDC_ENABLE_SELECTED_PURPOSES, 12,82,230,14, BS_AUTORADIOBUTTON + CONTROL "", IDC_CERTIFICATE_USAGES,"SysListView32", + LVS_REPORT|LVS_NOCOLUMNHEADER|LVS_SINGLESEL|WS_CHILD|WS_VISIBLE|WS_TABSTOP|WS_BORDER, + 24,100,220,106 + PUSHBUTTON "Adăugare &rol…", IDC_ADD_PURPOSE,174,212,70,14 END IDD_ADD_CERT_PURPOSE DIALOG 0,0,200,68 CAPTION "Adăugare rol" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Adăugați identificatorul de obiect (OID) pentru rolul de certificat pe care doriți să-l adăugați:", - -1, 6,6,190,28 - EDITTEXT IDC_NEW_PURPOSE, 6,28,190,14, ES_AUTOVSCROLL|ES_MULTILINE|WS_TABSTOP|WS_VSCROLL - PUSHBUTTON "OK", IDOK, 33,48,60,14 - PUSHBUTTON "Renunță", IDCANCEL, 100,48,60,14 + LTEXT "Adăugați identificatorul de obiect (OID) pentru rolul de certificat pe care doriți să-l adăugați:", + -1, 6,6,190,28 + EDITTEXT IDC_NEW_PURPOSE, 6,28,190,14, ES_AUTOVSCROLL|ES_MULTILINE|WS_TABSTOP|WS_VSCROLL + PUSHBUTTON "Con&firmă", IDOK, 33,48,60,14 + PUSHBUTTON "A&nulează", IDCANCEL, 100,48,60,14 END IDD_SELECT_STORE DIALOG 0,0,200,136 -CAPTION "Selectare depozit de certificate" +CAPTION "Depozit de certificate" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Selectați depozitul de certificate pe care doriți să-l utilizați:", IDC_STORE_TEXT, 6,6,190,28 - CONTROL "",IDC_STORE_LIST, "SysTreeView32", TVS_HASLINES|WS_BORDER|WS_TABSTOP, - 6,28,188,70 - CHECKBOX "Afișea&ză depozitele fizice", IDC_SHOW_PHYSICAL_STORES, 6,102,180,14, BS_AUTOCHECKBOX|WS_TABSTOP - PUSHBUTTON "OK", IDOK, 90,118,50,14, BS_DEFPUSHBUTTON - PUSHBUTTON "Renunță", IDCANCEL, 144,118,50,14 + LTEXT "Selectați depozitul de certificate pe care doriți să-l utilizați:", IDC_STORE_TEXT, 6,6,190,28 + CONTROL "",IDC_STORE_LIST, "SysTreeView32", TVS_HASLINES|WS_BORDER|WS_TABSTOP, + 6,28,188,70 + CHECKBOX "Afișea&ză depozitele fizice", IDC_SHOW_PHYSICAL_STORES, 6,102,180,14, BS_AUTOCHECKBOX|WS_TABSTOP + PUSHBUTTON "Con&firmă", IDOK, 90,118,50,14, BS_DEFPUSHBUTTON + PUSHBUTTON "A&nulează", IDCANCEL, 144,118,50,14 END IDD_IMPORT_WELCOME DIALOG 0,0,317,143 -CAPTION "Asistent de importare a certificatelor" +CAPTION "Importare certificate" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Bun venit în Asistentul de importare a certificatelor", IDC_IMPORT_TITLE, 115,7,195,30 - LTEXT "Un certificat poate fi utilizat pentru identificarea proprie sau a calculatorului cu care comunicați. Poate fi utilizat și pentru autentificare sau pentru a semna mesaje. Depozitele de certificate sunt colecții de certificate, liste de certificate revocate și liste de certificate acreditate.", - -1, 115,40,195,120 + LTEXT "Bun venit la Asistentul de importare a certificatelor", IDC_IMPORT_TITLE, 115,7,195,30 + LTEXT "Acest asistent vă ajută să importați certificate, liste de certificate revocate și liste de certificate acreditate dintr-un fișier într-un depozit de certificate.\n\ +\n\ +Un certificat poate fi utilizat pentru identificarea proprie sau a calculatorului cu care comunicați. Poate fi utilizat și pentru autentificare sau pentru a semna mesaje. Depozitele de certificate sunt colecții de certificate, liste de certificate revocate și liste de certificate acreditate.\n\ +\n\ +Pentru a continua, apăsați pe „Înainte”.", + -1, 115,40,195,120 END IDD_IMPORT_FILE DIALOG 0,0,317,178 -CAPTION "Asistent de importare a certificatelor" +CAPTION "Importare certificate" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Nume &fișier:", -1, 21,1,195,10 - EDITTEXT IDC_IMPORT_FILENAME, 21,11,208,14, ES_AUTOHSCROLL|WS_TABSTOP - PUSHBUTTON "&Navighează", IDC_IMPORT_BROWSE_FILE, 236,11,60,14 - LTEXT "Notă: Următoarele formate de fișier pot conține mai multe certificate, liste de certificate revocate sau liste de certificate acreditate:", - -1, 21,30,265,16 - LTEXT "Standard sintaxă mesaje criptografice/Mesaje PKCS #7 (.p7b)", - -1, 31,53,265,10 - LTEXT "Schimb de informații personale/PKCS #12 (.pfx, .p12)", - -1, 31,68,265,10 - LTEXT "Depozit Microsoft înseriat de certificate (.sst)", - -1, 31,83,265,10 + LTEXT "N&ume fișier:", -1, 21,1,195,10 + EDITTEXT IDC_IMPORT_FILENAME, 21,11,208,14, ES_AUTOHSCROLL|WS_TABSTOP + PUSHBUTTON "&Răsfoire…", IDC_IMPORT_BROWSE_FILE, 236,11,60,14 + LTEXT "Notă: Următoarele formate de fișier pot conține mai multe certificate, liste de certificate revocate sau liste de certificate acreditate:", + -1, 21,30,265,16 + LTEXT "Standard sintaxă mesaje criptografice/Mesaje PKCS #7 (.p7b)", + -1, 31,53,265,10 + LTEXT "Schimb de informații personale/PKCS #12 (.pfx, .p12)", + -1, 31,68,265,10 + LTEXT "Depozit Microsoft înseriat de certificate (.sst)", + -1, 31,83,265,10 END IDD_IMPORT_STORE DIALOG 0,0,317,143 -CAPTION "Asistent de importare a certificatelor" +CAPTION "Importare certificate" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Wine poate selecta automat depozitul de certificate sau puteți să specificați o locație pentru certificate.", - -1, 21,1,220,25 - AUTORADIOBUTTON "Selectează &automat depozitul de certificate", - IDC_IMPORT_AUTO_STORE, 31,28,220,12, BS_AUTORADIOBUTTON|WS_TABSTOP - AUTORADIOBUTTON "&Plasează toate certificatele în următorul depozit:", - IDC_IMPORT_SPECIFY_STORE, 31,42,220,12, BS_AUTORADIOBUTTON - EDITTEXT IDC_IMPORT_STORE, 44,61,185,14, ES_READONLY - PUSHBUTTON "&Navighează", IDC_IMPORT_BROWSE_STORE, 236,61,60,14 + LTEXT "Wine poate selecta automat depozitul de certificate sau puteți să specificați o locație pentru certificate.", + -1, 21,1,220,25 + AUTORADIOBUTTON "Selectează &automat depozitul de certificate", + IDC_IMPORT_AUTO_STORE, 31,28,220,12, BS_AUTORADIOBUTTON|WS_TABSTOP + AUTORADIOBUTTON "&Plasează toate certificatele în următorul depozit:", + IDC_IMPORT_SPECIFY_STORE, 31,42,220,12, BS_AUTORADIOBUTTON + EDITTEXT IDC_IMPORT_STORE, 44,61,185,14, ES_READONLY + PUSHBUTTON "&Răsfoire…", IDC_IMPORT_BROWSE_STORE, 236,61,60,14 END IDD_IMPORT_FINISH DIALOG 0,0,317,178 -CAPTION "Asistent de importare a certificatelor" +CAPTION "Importare certificate" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Se finalizează Asistentul de importare a certificatelor", IDC_IMPORT_TITLE, - 115,1,195,40 - LTEXT "Ați finalizat cu succes Asistentul de importare a certificatelor.", - -1, 115,33,195,24 - LTEXT "Ați specificat următoarea configurație:", - -1, 115,57,195,12 - CONTROL "", IDC_IMPORT_SETTINGS, "SysListView32", - LVS_REPORT|LVS_NOCOLUMNHEADER|LVS_SINGLESEL|WS_CHILD|WS_VISIBLE|WS_TABSTOP|WS_BORDER, - 115,67,174,100 + LTEXT "Se finalizează importarea certificatelor", IDC_IMPORT_TITLE, + 115,1,195,40 + LTEXT "Ați finalizat cu succes procedura de importare a certificatelor.", + -1, 115,33,195,24 + LTEXT "Ați specificat următoarea configurație:", + -1, 115,57,195,12 + CONTROL "", IDC_IMPORT_SETTINGS, "SysListView32", + LVS_REPORT|LVS_NOCOLUMNHEADER|LVS_SINGLESEL|WS_CHILD|WS_VISIBLE|WS_TABSTOP|WS_BORDER, + 115,67,174,100 END IDD_CERT_MGR DIALOG 0,0,335,270 CAPTION "Certificate" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Rolul i&ntenționat:", -1, 7,9,100,12 - COMBOBOX IDC_MGR_PURPOSE_SELECTION, 83,7,245,14, CBS_DROPDOWNLIST|WS_BORDER|WS_VSCROLL|WS_TABSTOP - CONTROL "", IDC_MGR_STORES, "SysTabControl32", WS_CLIPSIBLINGS|WS_TABSTOP, 7,25,321,140 - CONTROL "", IDC_MGR_CERTS, "SysListView32", LVS_REPORT|WS_CHILD|WS_VISIBLE|WS_TABSTOP|WS_BORDER, 15,46,305,111 - PUSHBUTTON "&Importare...", IDC_MGR_IMPORT, 7,172,65,14 - PUSHBUTTON "&Exportare...", IDC_MGR_EXPORT, 76,172,65,14, WS_DISABLED - PUSHBUTTON "&Elimină", IDC_MGR_REMOVE, 145,172,65,14, WS_DISABLED - PUSHBUTTON "&Avansate...", IDC_MGR_ADVANCED, 263,172,65,14 - GROUPBOX "Rolurile intenționate ale certificatului", -1,7,194,321,47, BS_GROUPBOX - LTEXT "", IDC_MGR_PURPOSES, 13,206,252,32 - PUSHBUTTON "&Vizualizare", IDC_MGR_VIEW, 269,218,51,14, WS_DISABLED - PUSHBUTTON "În&chide", IDCANCEL, 277,249,51,14, BS_DEFPUSHBUTTON + LTEXT "&Rolul intenționat:", -1, 7,9,100,12 + COMBOBOX IDC_MGR_PURPOSE_SELECTION, 83,7,245,14, CBS_DROPDOWNLIST|WS_BORDER|WS_VSCROLL|WS_TABSTOP + CONTROL "", IDC_MGR_STORES, "SysTabControl32", WS_CLIPSIBLINGS|WS_TABSTOP, 7,25,321,140 + CONTROL "", IDC_MGR_CERTS, "SysListView32", LVS_REPORT|WS_CHILD|WS_VISIBLE|WS_TABSTOP|WS_BORDER, 15,46,305,111 + PUSHBUTTON "&Importare…", IDC_MGR_IMPORT, 7,172,65,14 + PUSHBUTTON "E&xportare…", IDC_MGR_EXPORT, 76,172,65,14, WS_DISABLED + PUSHBUTTON "Șt&erge", IDC_MGR_REMOVE, 145,172,65,14, WS_DISABLED + PUSHBUTTON "A&vansate…", IDC_MGR_ADVANCED, 263,172,65,14 + GROUPBOX "Rolurile intenționate ale certificatului", -1,7,194,321,47, BS_GROUPBOX + LTEXT "", IDC_MGR_PURPOSES, 13,206,252,32 + PUSHBUTTON "&Afișare…", IDC_MGR_VIEW, 269,218,51,14, WS_DISABLED + PUSHBUTTON "Î&nchide", IDCANCEL, 277,249,51,14, BS_DEFPUSHBUTTON END IDD_CERT_MGR_ADVANCED DIALOG 0,0,248,176 @@ -362,91 +368,95 @@ CAPTION "Opțiuni avansate" FONT 8, "MS Shell Dlg" BEGIN GROUPBOX "Rolul certificatului", -1, 7,7,234,141, BS_GROUPBOX - LTEXT "Selectați unul sau mai multe roluri care să fie afișate când se selectează Roluri avansate.", + LTEXT "Alegeți unul sau mai multe roluri pentru a fi afișate când se va selecta Roluri avansate.", -1, 14,18,220,16 - LTEXT "Rolurile &certificatului:", -1, 14,41,90,12, WS_TABSTOP + LTEXT "&Rolurile certificatului:", -1, 14,41,90,12, WS_TABSTOP CONTROL "", IDC_CERTIFICATE_USAGES,"SysListView32", LVS_REPORT|LVS_NOCOLUMNHEADER|LVS_SINGLESEL|WS_CHILD|WS_VISIBLE|WS_TABSTOP|WS_BORDER, 14,51,220,90 - PUSHBUTTON "OK", IDOK, 132,155,51,14, BS_DEFPUSHBUTTON - PUSHBUTTON "Renunță", IDCANCEL, 190,155,51,14 + PUSHBUTTON "Con&firmă", IDOK, 132,155,51,14, BS_DEFPUSHBUTTON + PUSHBUTTON "A&nulează", IDCANCEL, 190,155,51,14 END IDD_EXPORT_WELCOME DIALOG 0,0,317,143 -CAPTION "Asistent de exportare a certificatelor" +CAPTION "Exportare certificate" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Bun venit în Asistentul de exportare a certificatelor", IDC_EXPORT_TITLE, 115,7,195,30 - LTEXT "Un certificat poate fi utilizat pentru identificarea proprie sau a calculatorului cu care comunicați. Poate fi utilizat și pentru autentificare sau pentru a semna mesaje. Depozitele de certificate sunt colecții de certificate, liste de certificate revocate și liste de certificate acreditate.", - -1, 115,40,195,120 + LTEXT "Bun venit la Asistentul de exportare a certificatelor", IDC_EXPORT_TITLE, 115,7,195,30 + LTEXT "Acest asistent vă va ajuta să exportați certificate, liste de certificate revocate și liste de certificate acreditate dintr-un depozit de certificate într-un fișier.\n\ +\n\ +Un certificat poate fi utilizat pentru identificarea proprie sau a calculatorului cu care comunicați. Poate fi utilizat și pentru autentificare sau pentru a semna mesaje. Depozitele de certificate sunt colecții de certificate, liste de certificate revocate și liste de certificate acreditate.\n\ +\n\ +Pentru a continua, apăsați pe „Înainte”.", + -1, 115,40,195,120 END IDD_EXPORT_PRIVATE_KEY DIALOG 0,0,317,143 -CAPTION "Asistent de exportare a certificatelor" +CAPTION "Exportare certificate" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Dacă alegeți să exportați cheia privată, vi se va solicita pe o pagină următoare o parolă pentru a proteja această cheie privată.", -1, 21,1,195,25 - LTEXT "Doriți să exportați cheia privată?", -1, 21,27,195,10 - AUTORADIOBUTTON "&Da, exportă cheia privată", - IDC_EXPORT_PRIVATE_KEY_YES, 31,36,200,12, BS_AUTORADIOBUTTON|WS_TABSTOP - AUTORADIOBUTTON "N&u, nu exporta cheia privată", - IDC_EXPORT_PRIVATE_KEY_NO, 31,48,200,12, BS_AUTORADIOBUTTON - LTEXT "", IDC_EXPORT_PRIVATE_KEY_UNAVAILABLE, 21,60,200,24 + LTEXT "Dacă alegeți să exportați cheia privată, vi se va solicita pe o pagină următoare o parolă pentru a proteja această cheie privată.", -1, 21,1,195,25 + LTEXT "Doriți să exportați cheia privată?", -1, 21,27,195,10 + AUTORADIOBUTTON "&Da, exportă cheia privată", + IDC_EXPORT_PRIVATE_KEY_YES, 31,36,200,12, BS_AUTORADIOBUTTON|WS_TABSTOP + AUTORADIOBUTTON "N&u, nu exporta cheia privată", + IDC_EXPORT_PRIVATE_KEY_NO, 31,48,200,12, BS_AUTORADIOBUTTON + LTEXT "", IDC_EXPORT_PRIVATE_KEY_UNAVAILABLE, 21,60,200,24 END IDD_EXPORT_PASSWORD DIALOG 0,0,317,143 -CAPTION "Asistent de exportare a certificatelor" +CAPTION "Exportare certificate" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "&Parolă:", -1, 21,1,195,10 - EDITTEXT IDC_EXPORT_PASSWORD, 21,11,208,14, ES_AUTOHSCROLL|WS_TABSTOP - LTEXT "&Confirmați parola:", -1, 21,35,195,10 - EDITTEXT IDC_EXPORT_PASSWORD_CONFIRM, 21,45,208,14, ES_AUTOHSCROLL|WS_TABSTOP + LTEXT "&Parola:", -1, 21,1,195,10 + EDITTEXT IDC_EXPORT_PASSWORD, 21,11,208,14, ES_AUTOHSCROLL|WS_TABSTOP + LTEXT "&Confirmați parola:", -1, 21,35,195,10 + EDITTEXT IDC_EXPORT_PASSWORD_CONFIRM, 21,45,208,14, ES_AUTOHSCROLL|WS_TABSTOP END IDD_EXPORT_FORMAT DIALOG 0,0,317,143 -CAPTION "Asistent de exportare a certificatelor" +CAPTION "Exportare certificate" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Selectați formatul pe care doriți să îl utilizați:", -1, 21,1,195,10 + LTEXT "Selectați formatul pe care doriți să îl utilizați:", -1, 21,1,195,10 AUTORADIOBUTTON "Binar X.509 codificat în &DER (.cer)", - IDC_EXPORT_FORMAT_DER, 31,18,280,12, BS_AUTORADIOBUTTON|WS_TABSTOP - AUTORADIOBUTTON "X.509 codificat în ba&se64 (.cer):", - IDC_EXPORT_FORMAT_BASE64, 31,30,280,12, BS_AUTORADIOBUTTON - AUTORADIOBUTTON "Standard sintaxă mesaje &criptografice/Mesaj PKCS #7 (.p7b)", - IDC_EXPORT_FORMAT_CMS, 31,42,280,12, BS_AUTORADIOBUTTON - CHECKBOX "&Include toate certificatele din calea de certificare, dacă este posibil", - IDC_EXPORT_CMS_INCLUDE_CHAIN, 44,57,280,8, BS_AUTOCHECKBOX|WS_TABSTOP|WS_DISABLED - AUTORADIOBUTTON "Schimb de informații &personale/PKCS #12 (.pfx)", - IDC_EXPORT_FORMAT_PFX, 31,72,280,12, BS_AUTORADIOBUTTON|WS_DISABLED - CHECKBOX "Incl&ude toate certificatele din calea de certificare, dacă este posibil", - IDC_EXPORT_PFX_INCLUDE_CHAIN, 44,87,280,8, BS_AUTOCHECKBOX|WS_TABSTOP|WS_DISABLED - CHECKBOX "Activ&ează criptarea puternică", - IDC_EXPORT_PFX_STRONG_ENCRYPTION, 44,102,280,8, BS_AUTOCHECKBOX|WS_TABSTOP|WS_DISABLED - CHECKBOX "Șterge c&heia privată dacă exportarea reușește", - IDC_EXPORT_PFX_DELETE_PRIVATE_KEY, 44,117,280,8, BS_AUTOCHECKBOX|WS_TABSTOP|WS_DISABLED + IDC_EXPORT_FORMAT_DER, 31,18,280,12, BS_AUTORADIOBUTTON|WS_TABSTOP + AUTORADIOBUTTON "X.509 codificat în &base64 (.cer):", + IDC_EXPORT_FORMAT_BASE64, 31,30,280,12, BS_AUTORADIOBUTTON + AUTORADIOBUTTON "Standard sintaxă mesaje criptografice/Mesaj &PKCS #7 (.p7b)", + IDC_EXPORT_FORMAT_CMS, 31,42,280,12, BS_AUTORADIOBUTTON + CHECKBOX "&Include toate certificatele din calea de certificare, dacă este posibil", + IDC_EXPORT_CMS_INCLUDE_CHAIN, 44,57,280,8, BS_AUTOCHECKBOX|WS_TABSTOP|WS_DISABLED + AUTORADIOBUTTON "Schimb de informații personale/P&KCS #12 (.pfx)", + IDC_EXPORT_FORMAT_PFX, 31,72,280,12, BS_AUTORADIOBUTTON|WS_DISABLED + CHECKBOX "Incl&ude toate certificatele din calea de certificare, dacă este posibil", + IDC_EXPORT_PFX_INCLUDE_CHAIN, 44,87,280,8, BS_AUTOCHECKBOX|WS_TABSTOP|WS_DISABLED + CHECKBOX "Acti&vează criptarea puternică", + IDC_EXPORT_PFX_STRONG_ENCRYPTION, 44,102,280,8, BS_AUTOCHECKBOX|WS_TABSTOP|WS_DISABLED + CHECKBOX "Șt&erge cheia privată dacă exportarea reușește", + IDC_EXPORT_PFX_DELETE_PRIVATE_KEY, 44,117,280,8, BS_AUTOCHECKBOX|WS_TABSTOP|WS_DISABLED END IDD_EXPORT_FILE DIALOG 0,0,317,143 -CAPTION "Asistent de exportare a certificatelor" +CAPTION "Exportare certificate" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Nume &fișier:", -1, 21,1,195,10 - EDITTEXT IDC_EXPORT_FILENAME, 21,11,208,14, ES_AUTOHSCROLL|WS_TABSTOP - PUSHBUTTON "&Navighează", IDC_EXPORT_BROWSE_FILE, 236,11,60,14 + LTEXT "N&ume fișier:", -1, 21,1,195,10 + EDITTEXT IDC_EXPORT_FILENAME, 21,11,208,14, ES_AUTOHSCROLL|WS_TABSTOP + PUSHBUTTON "&Răsfoire…", IDC_EXPORT_BROWSE_FILE, 236,11,60,14 END IDD_EXPORT_FINISH DIALOG 0,0,317,178 -CAPTION "Asistent de exportare a certificatelor" +CAPTION "Exportare certificate" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Se finalizează Asistentul de exportare a certificatelor", IDC_EXPORT_TITLE, - 115,1,195,40 - LTEXT "Ați finalizat cu succes Asistentul de exportare a certificatelor", - -1, 115,33,195,24 - LTEXT "Ați specificat următoarea configurație:", - -1, 115,57,195,12 - CONTROL "", IDC_EXPORT_SETTINGS, "SysListView32", - LVS_REPORT|LVS_NOCOLUMNHEADER|LVS_SINGLESEL|WS_CHILD|WS_VISIBLE|WS_TABSTOP|WS_BORDER, - 115,67,174,100 + LTEXT "Se finalizează exportarea certificatelor", IDC_EXPORT_TITLE, + 115,1,195,40 + LTEXT "Ați finalizat cu succes procedura de exportare a certificatelor", + -1, 115,33,195,24 + LTEXT "Ați specificat următoarea configurație:", + -1, 115,57,195,12 + CONTROL "", IDC_EXPORT_SETTINGS, "SysListView32", + LVS_REPORT|LVS_NOCOLUMNHEADER|LVS_SINGLESEL|WS_CHILD|WS_VISIBLE|WS_TABSTOP|WS_BORDER, + 115,67,174,100 END diff --git a/dll/win32/dbghelp/coff.c b/dll/win32/dbghelp/coff.c index ea8a15fc1ba..6ab0b67d753 100644 --- a/dll/win32/dbghelp/coff.c +++ b/dll/win32/dbghelp/coff.c @@ -32,26 +32,7 @@ * Add symbol size to internal symbol table. */ -#include -//#include "wine/port.h" - -#include -//#include - -#include -#ifdef HAVE_UNISTD_H -# include -#endif - -//#include -//#include "windef.h" -//#include "winbase.h" -//#include "winternl.h" - -//#include "wine/exception.h" -#include #include "dbghelp_private.h" -#include WINE_DEFAULT_DEBUG_CHANNEL(dbghelp_coff); diff --git a/dll/win32/dbghelp/compat.c b/dll/win32/dbghelp/compat.c index c940075ebd8..c9a49ca7fb5 100644 --- a/dll/win32/dbghelp/compat.c +++ b/dll/win32/dbghelp/compat.c @@ -1,5 +1,3 @@ -#include -#include #include "dbghelp_private.h" void* __HeapAlloc(int heap, int flags, size_t size) diff --git a/dll/win32/dbghelp/cpu_arm.c b/dll/win32/dbghelp/cpu_arm.c index 4deb909b978..1b561c68bca 100644 --- a/dll/win32/dbghelp/cpu_arm.c +++ b/dll/win32/dbghelp/cpu_arm.c @@ -19,13 +19,7 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -//#include - -//#include "ntstatus.h" -#define WIN32_NO_STATUS #include "dbghelp_private.h" -//#include "winternl.h" -#include WINE_DEFAULT_DEBUG_CHANNEL(dbghelp); diff --git a/dll/win32/dbghelp/cpu_arm64.c b/dll/win32/dbghelp/cpu_arm64.c index 235049dacde..87864afc06b 100644 --- a/dll/win32/dbghelp/cpu_arm64.c +++ b/dll/win32/dbghelp/cpu_arm64.c @@ -19,13 +19,7 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include - -#include "ntstatus.h" -#define WIN32_NO_STATUS #include "dbghelp_private.h" -#include "winternl.h" -#include "wine/debug.h" WINE_DEFAULT_DEBUG_CHANNEL(dbghelp); diff --git a/dll/win32/dbghelp/cpu_i386.c b/dll/win32/dbghelp/cpu_i386.c index f37f36f65c4..88642e0dbde 100644 --- a/dll/win32/dbghelp/cpu_i386.c +++ b/dll/win32/dbghelp/cpu_i386.c @@ -18,18 +18,10 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include - -#ifndef DBGHELP_STATIC_LIB -#include "ntstatus.h" -#endif - #include "dbghelp_private.h" #ifndef DBGHELP_STATIC_LIB -#include "wine/winbase16.h" -#include "winternl.h" -#include "wine/debug.h" +#include #endif WINE_DEFAULT_DEBUG_CHANNEL(dbghelp); diff --git a/dll/win32/dbghelp/cpu_ppc.c b/dll/win32/dbghelp/cpu_ppc.c index 56571c51047..7543ef689ab 100644 --- a/dll/win32/dbghelp/cpu_ppc.c +++ b/dll/win32/dbghelp/cpu_ppc.c @@ -18,13 +18,7 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include - -#include "ntstatus.h" -#define WIN32_NO_STATUS #include "dbghelp_private.h" -#include "winternl.h" -#include "wine/debug.h" WINE_DEFAULT_DEBUG_CHANNEL(dbghelp); diff --git a/dll/win32/dbghelp/cpu_x86_64.c b/dll/win32/dbghelp/cpu_x86_64.c index 2e73aa305cf..d3e27205c02 100644 --- a/dll/win32/dbghelp/cpu_x86_64.c +++ b/dll/win32/dbghelp/cpu_x86_64.c @@ -19,15 +19,7 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include - -#define NONAMELESSUNION -#define NONAMELESSSTRUCT -#include "ntstatus.h" -#define WIN32_NO_STATUS #include "dbghelp_private.h" -#include "winternl.h" -#include "wine/debug.h" WINE_DEFAULT_DEBUG_CHANNEL(dbghelp); diff --git a/dll/win32/dbghelp/crc32.c b/dll/win32/dbghelp/crc32.c index e1f604e6eec..61eaddef261 100644 --- a/dll/win32/dbghelp/crc32.c +++ b/dll/win32/dbghelp/crc32.c @@ -19,11 +19,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "config.h" -#include "wine/port.h" - -#include - #include "dbghelp_private.h" /* Copyright (C) 1986 Gary S. Brown diff --git a/dll/win32/dbghelp/dbghelp.c b/dll/win32/dbghelp/dbghelp.c index 0e63c142f70..ae4ea13b7ba 100644 --- a/dll/win32/dbghelp/dbghelp.c +++ b/dll/win32/dbghelp/dbghelp.c @@ -18,17 +18,9 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "config.h" - #include "dbghelp_private.h" -#include "wdbgexts.h" -#ifndef DBGHELP_STATIC_LIB -#include "winerror.h" -#include "psapi.h" -#include "wine/debug.h" -#include "winnls.h" -#endif +#include "wdbgexts.h" WINE_DEFAULT_DEBUG_CHANNEL(dbghelp); diff --git a/dll/win32/dbghelp/dbghelp_private.h b/dll/win32/dbghelp/dbghelp_private.h index 2180fddedf8..de9fc6336d3 100644 --- a/dll/win32/dbghelp/dbghelp_private.h +++ b/dll/win32/dbghelp/dbghelp_private.h @@ -21,31 +21,56 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#define WIN32_NO_STATUS +#include + +#include +#include + +#ifdef HAVE_SYS_MMAN_H +# include +#endif +#ifdef HAVE_SYS_STAT_H +# include +#endif +#ifdef HAVE_UNISTD_H +# include +#endif + #define _INC_WINDOWS #define COM_NO_WINDOWS_H -#include +#define NONAMELESSUNION +#define NONAMELESSSTRUCT #ifndef DBGHELP_STATIC_LIB + +#include + +#include +#define WIN32_NO_STATUS #include #include #include +#include #include #include #include +#include + +#include +#include #include -#else + +#else /* DBGHELP_STATIC_LIB */ + #include #include "compat.h" -#endif -//#include "oaidl.h" -//#include "winnls.h" +#endif /* DBGHELP_STATIC_LIB */ + #include #include - /* #define USE_STATS */ struct pool /* poor's man */ @@ -815,3 +840,5 @@ extern struct symt_pointer* extern struct symt_typedef* symt_new_typedef(struct module* module, struct symt* ref, const char* name) DECLSPEC_HIDDEN; + +#include "image_private.h" diff --git a/dll/win32/dbghelp/dwarf.c b/dll/win32/dbghelp/dwarf.c index f25b0faec13..cca040ea77a 100644 --- a/dll/win32/dbghelp/dwarf.c +++ b/dll/win32/dbghelp/dwarf.c @@ -20,46 +20,12 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#define NONAMELESSUNION - -#include - -//#include -//#include -#ifdef HAVE_SYS_STAT_H -# include -#endif -#ifdef HAVE_SYS_MMAN_H -#include -#endif -//#include -//#include -//#include -#ifdef HAVE_UNISTD_H -# include -#endif -//#include -#include -#include +#include "dbghelp_private.h" #ifdef HAVE_ZLIB #include #endif -//#include "windef.h" -//#include "winbase.h" -//#include "winuser.h" -//#include "ole2.h" -//#include "oleauto.h" - -#ifndef DBGHELP_STATIC_LIB -#include -#include -#endif - -#include "dbghelp_private.h" -#include "image_private.h" - WINE_DEFAULT_DEBUG_CHANNEL(dbghelp_dwarf); /* FIXME: diff --git a/dll/win32/dbghelp/dwarf.h b/dll/win32/dbghelp/dwarf.h index b96eab777ca..147f0a4bc05 100644 --- a/dll/win32/dbghelp/dwarf.h +++ b/dll/win32/dbghelp/dwarf.h @@ -18,6 +18,8 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ +#pragma once + typedef enum dwarf_tag_e { DW_TAG_padding = 0x00, diff --git a/dll/win32/dbghelp/elf_module.c b/dll/win32/dbghelp/elf_module.c index f8015c1b6c2..469b3409d12 100644 --- a/dll/win32/dbghelp/elf_module.c +++ b/dll/win32/dbghelp/elf_module.c @@ -19,8 +19,7 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "config.h" -#include "wine/port.h" +#include "dbghelp_private.h" #if defined(__svr4__) || defined(__sun) #define __ELF__ 1 @@ -29,26 +28,10 @@ #define _FILE_OFFSET_BITS 32 #endif -#include -#include #include -#ifdef HAVE_SYS_STAT_H -# include -#endif #include -#ifdef HAVE_SYS_MMAN_H -#include -#endif -#ifdef HAVE_UNISTD_H -# include -#endif -#include "dbghelp_private.h" - -#include "image_private.h" - -#include "wine/library.h" -#include "wine/debug.h" +#include #ifdef __ELF__ diff --git a/dll/win32/dbghelp/image.c b/dll/win32/dbghelp/image.c index 954a0ee21b3..3420caa9612 100644 --- a/dll/win32/dbghelp/image.c +++ b/dll/win32/dbghelp/image.c @@ -18,14 +18,7 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include -//#include -//#include -//#include - #include "dbghelp_private.h" -#include -#include WINE_DEFAULT_DEBUG_CHANNEL(dbghelp); diff --git a/dll/win32/dbghelp/image_private.h b/dll/win32/dbghelp/image_private.h index 8b32795d48c..5af8358bdc6 100644 --- a/dll/win32/dbghelp/image_private.h +++ b/dll/win32/dbghelp/image_private.h @@ -19,6 +19,8 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ +#pragma once + #ifdef HAVE_ELF_H # include #endif diff --git a/dll/win32/dbghelp/macho_module.c b/dll/win32/dbghelp/macho_module.c index 1aaa7f11afc..6013867cef5 100644 --- a/dll/win32/dbghelp/macho_module.c +++ b/dll/win32/dbghelp/macho_module.c @@ -21,22 +21,10 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "config.h" -#include "wine/port.h" - #include "dbghelp_private.h" #ifdef HAVE_MACH_O_LOADER_H -#include -#include -#ifdef HAVE_SYS_STAT_H -# include -#endif -#ifdef HAVE_SYS_MMAN_H -# include -#endif - #include #include #include diff --git a/dll/win32/dbghelp/minidump.c b/dll/win32/dbghelp/minidump.c index b00f9e2fbd9..eda087cd390 100644 --- a/dll/win32/dbghelp/minidump.c +++ b/dll/win32/dbghelp/minidump.c @@ -18,17 +18,9 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include - -#define NONAMELESSUNION -#define NONAMELESSSTRUCT - -#include "ntstatus.h" -#define WIN32_NO_STATUS #include "dbghelp_private.h" -#include "winternl.h" -#include "psapi.h" -#include "wine/debug.h" + +#include WINE_DEFAULT_DEBUG_CHANNEL(dbghelp); diff --git a/dll/win32/dbghelp/module.c b/dll/win32/dbghelp/module.c index b73c1da8b4b..1886dfaf7dc 100644 --- a/dll/win32/dbghelp/module.c +++ b/dll/win32/dbghelp/module.c @@ -19,20 +19,8 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include -//#include -//#include -//#include -#include - #include "dbghelp_private.h" -#ifndef DBGHELP_STATIC_LIB -#include -#include -#endif -//#include "winternl.h" - WINE_DEFAULT_DEBUG_CHANNEL(dbghelp); const WCHAR S_ElfW[] = {'<','e','l','f','>','\0'}; diff --git a/dll/win32/dbghelp/msc.c b/dll/win32/dbghelp/msc.c index 4978acfc48f..73df7398e4d 100644 --- a/dll/win32/dbghelp/msc.c +++ b/dll/win32/dbghelp/msc.c @@ -32,29 +32,9 @@ * Add symbol size to internal symbol table. */ -#define NONAMELESSUNION - -#include "config.h" -#include "wine/port.h" - -#include -#include -#include - -#include -#ifdef HAVE_UNISTD_H -# include -#endif - -#include -#include "windef.h" -#include "winbase.h" -#include "winternl.h" - -#include "wine/exception.h" -#include "wine/debug.h" #include "dbghelp_private.h" -#include "wine/mscvpdb.h" + +#include WINE_DEFAULT_DEBUG_CHANNEL(dbghelp_msc); diff --git a/dll/win32/dbghelp/path.c b/dll/win32/dbghelp/path.c index 0a3162d2860..f4eaa1bcab2 100644 --- a/dll/win32/dbghelp/path.c +++ b/dll/win32/dbghelp/path.c @@ -18,15 +18,7 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include -//#include -//#include -//#include - #include "dbghelp_private.h" -//#include "winnls.h" -#include -#include WINE_DEFAULT_DEBUG_CHANNEL(dbghelp); diff --git a/dll/win32/dbghelp/pe_module.c b/dll/win32/dbghelp/pe_module.c index 43822216490..b10bec98604 100644 --- a/dll/win32/dbghelp/pe_module.c +++ b/dll/win32/dbghelp/pe_module.c @@ -21,20 +21,7 @@ * */ -#include "config.h" -#include "wine/port.h" - -#include -#include -#include -#include - #include "dbghelp_private.h" -#include "image_private.h" -#ifndef DBGHELP_STATIC_LIB -#include "winternl.h" -#include "wine/debug.h" -#endif WINE_DEFAULT_DEBUG_CHANNEL(dbghelp); diff --git a/dll/win32/dbghelp/rosstubs.c b/dll/win32/dbghelp/rosstubs.c index 1dbc8a41308..f500a5ecb3a 100644 --- a/dll/win32/dbghelp/rosstubs.c +++ b/dll/win32/dbghelp/rosstubs.c @@ -20,8 +20,7 @@ #include "dbghelp_private.h" -ULONG __cdecl DbgPrint(IN PCCH Format, IN ...); -#define UNIMPLEMENTED DbgPrint("DBGHELP: %s is unimplemented, please try again later.\n", __FUNCTION__); +WINE_DEFAULT_DEBUG_CHANNEL(dbghelp); #define PDBGHELP_CREATE_USER_DUMP_CALLBACK PVOID #define PSYM_ENUMPROCESSES_CALLBACK PVOID diff --git a/dll/win32/dbghelp/source.c b/dll/win32/dbghelp/source.c index d33908a3f5a..829a10da281 100644 --- a/dll/win32/dbghelp/source.c +++ b/dll/win32/dbghelp/source.c @@ -18,18 +18,9 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * */ -#include -//#include -//#include -//#include -#include #include "dbghelp_private.h" -#ifndef DBGHELP_STATIC_LIB -#include -#endif - WINE_DEFAULT_DEBUG_CHANNEL(dbghelp); static struct module* rb_module; diff --git a/dll/win32/dbghelp/stabs.c b/dll/win32/dbghelp/stabs.c index f37629eda33..065556c7b7c 100644 --- a/dll/win32/dbghelp/stabs.c +++ b/dll/win32/dbghelp/stabs.c @@ -29,41 +29,12 @@ * available (hopefully) from http://sources.redhat.com/gdb/onlinedocs */ -#include -//#include "wine/port.h" - -//#include -//#include -#ifdef HAVE_SYS_STAT_H -# include -#endif -#ifdef HAVE_SYS_MMAN_H -#include -#endif -//#include -//#include -//#include -#ifdef HAVE_UNISTD_H -# include -#endif -//#include -#include -//#include +#include "dbghelp_private.h" #ifdef HAVE_MACH_O_NLIST_H # include #endif -//#include "windef.h" -//#include "winbase.h" -//#include "winnls.h" - -#include "dbghelp_private.h" - -#ifndef DBGHELP_STATIC_LIB -#include -#endif - WINE_DEFAULT_DEBUG_CHANNEL(dbghelp_stabs); #ifndef DBGHELP_STATIC_LIB diff --git a/dll/win32/dbghelp/stack.c b/dll/win32/dbghelp/stack.c index 39df9feff1e..c8dcac1f448 100644 --- a/dll/win32/dbghelp/stack.c +++ b/dll/win32/dbghelp/stack.c @@ -21,14 +21,7 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include -//#include -//#include -//#include -//#include - #include "dbghelp_private.h" -#include WINE_DEFAULT_DEBUG_CHANNEL(dbghelp); diff --git a/dll/win32/dbghelp/storage.c b/dll/win32/dbghelp/storage.c index b91a0dd2853..5f9c62426e1 100644 --- a/dll/win32/dbghelp/storage.c +++ b/dll/win32/dbghelp/storage.c @@ -19,16 +19,8 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ - -#include "config.h" -#include -#include - -#ifndef DBGHELP_STATIC_LIB -#include "wine/debug.h" -#endif - #include "dbghelp_private.h" + #ifdef USE_STATS #include #endif diff --git a/dll/win32/dbghelp/symbol.c b/dll/win32/dbghelp/symbol.c index aa462da9440..48ebb33bdb4 100644 --- a/dll/win32/dbghelp/symbol.c +++ b/dll/win32/dbghelp/symbol.c @@ -19,25 +19,8 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#define NONAMELESSUNION -#define NONAMELESSSTRUCT - -#include "config.h" - -#include -#include -#include -#include -#include -#include - #include "dbghelp_private.h" -#ifndef DBGHELP_STATIC_LIB -#include "wine/debug.h" -#include "winnls.h" -#endif - WINE_DEFAULT_DEBUG_CHANNEL(dbghelp); WINE_DECLARE_DEBUG_CHANNEL(dbghelp_symt); diff --git a/dll/win32/dbghelp/type.c b/dll/win32/dbghelp/type.c index 723c3ba37e6..ca57d1a3e28 100644 --- a/dll/win32/dbghelp/type.c +++ b/dll/win32/dbghelp/type.c @@ -22,20 +22,6 @@ * upon which full support for datatype handling will eventually be built. */ -#define NONAMELESSUNION - -#include "config.h" -#include -#include -#include - -#ifndef DBGHELP_STATIC_LIB -#include "windef.h" -#include "winbase.h" -#include "winnls.h" -#include "wine/debug.h" -#endif - #include "dbghelp_private.h" WINE_DEFAULT_DEBUG_CHANNEL(dbghelp); diff --git a/dll/win32/dbghelp/wdbgexts.h b/dll/win32/dbghelp/wdbgexts.h index 91bcbf55597..50fa09742e8 100644 --- a/dll/win32/dbghelp/wdbgexts.h +++ b/dll/win32/dbghelp/wdbgexts.h @@ -19,6 +19,8 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ +#pragma once + typedef struct EXT_API_VERSION { USHORT MajorVersion; diff --git a/dll/win32/devmgr/lang/pl-PL.rc b/dll/win32/devmgr/lang/pl-PL.rc index f991fd66983..23e8988c03f 100644 --- a/dll/win32/devmgr/lang/pl-PL.rc +++ b/dll/win32/devmgr/lang/pl-PL.rc @@ -5,7 +5,7 @@ * Updated by xrogers (13.04.2007) * Updated by Caemyr - Olaf Siejka (Jan 2008, Jan 2010) * UTF-8 conversion by Caemyr (May, 2011) - * Updated by Saibamen - Adam Stachowicz (saibamenppl@gmail.com) (August, 2011) + * Updated by Saibamen - Adam Stachowicz (saibamenppl@gmail.com) (November, 2011) */ LANGUAGE LANG_POLISH, SUBLANG_DEFAULT @@ -35,12 +35,12 @@ BEGIN IDS_NOTAVAILABLE "Niedostępne" IDS_NOTDIGITALLYSIGNED "Niepodpisany cyfrowo" IDS_NODRIVERS "Żadne pliki sterownika nie są potrzebne albo nie zostały załadowane dla tego urządzenia." - IDS_RESOURCE_COLUMN "Resource type" - IDS_SETTING_COLUMN "Setting" - IDS_RESOURCE_MEMORY_RANGE "Memory range" + IDS_RESOURCE_COLUMN "Typ zasobu" + IDS_SETTING_COLUMN "Ustawienie" + IDS_RESOURCE_MEMORY_RANGE "Zakres pamięci" IDS_RESOURCE_INTERRUPT "IRQ" IDS_RESOURCE_DMA "DMA" - IDS_RESOURCE_PORT "E/A range" + IDS_RESOURCE_PORT "Zakres E/A" END /* error messages, source: http://www.z123.org/techsupport/medm.htm */ @@ -185,8 +185,8 @@ BEGIN EDITTEXT IDC_DIGITALSIGNER, 100, 81, 145, 12, NOT WS_TABSTOP | NOT WS_BORDER | ES_AUTOHSCROLL | ES_READONLY PUSHBUTTON "&Szczegóły sterownika...", IDC_DRIVERDETAILS, 7, 106, 75, 15 LTEXT "Wyświetla informacje szczegółowe.", -1, 91, 110, 154, 17, SS_NOPREFIX - PUSHBUTTON "&Update Driver...", IDC_UPDATEDRIVER, 7, 126, 75, 15 - LTEXT "Update the device driver.", -1, 91, 130, 154, 17, SS_NOPREFIX + PUSHBUTTON "Akt&ualizuj sterownik...", IDC_UPDATEDRIVER, 7, 126, 75, 15 + LTEXT "Aktualizuje oprogramowanie sterownika.", -1, 91, 130, 154, 17, SS_NOPREFIX END IDD_DRIVERDETAILS DIALOGEX 0, 0, 224, 230 @@ -226,12 +226,12 @@ END IDD_DEVICERESOURCES DIALOGEX 0, 0, 252, 218 STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Resources" +CAPTION "Zasoby" FONT 8, "MS Shell Dlg" BEGIN ICON "", IDC_DEVICON, 7, 7, 20, 20 LTEXT "", IDC_DEVNAME, 37, 9, 174, 16, SS_NOPREFIX - LTEXT "Resource settings:", -1, 7, 36, 204, 8 + LTEXT "Ustawienia zasobów:", -1, 7, 36, 204, 8 CONTROL "", IDC_DRIVERRESOURCES, "SysListView32", LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_SHAREIMAGELISTS | LVS_SORTASCENDING | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP, 7, 46, 209, 80 diff --git a/dll/win32/devmgr/lang/ro-RO.rc b/dll/win32/devmgr/lang/ro-RO.rc index 7ad15de5ded..61ec4660991 100644 --- a/dll/win32/devmgr/lang/ro-RO.rc +++ b/dll/win32/devmgr/lang/ro-RO.rc @@ -27,12 +27,12 @@ BEGIN IDS_NOTAVAILABLE "Indisponibil" IDS_NOTDIGITALLYSIGNED "Nesemnat digital" IDS_NODRIVERS "Fie nu sunt necesare module pilot, fie nu a fost încărcat niciunul." - IDS_RESOURCE_COLUMN "Resource type" - IDS_SETTING_COLUMN "Setting" - IDS_RESOURCE_MEMORY_RANGE "Memory range" + IDS_RESOURCE_COLUMN "Tip de resursă" + IDS_SETTING_COLUMN "Configuraţie" + IDS_RESOURCE_MEMORY_RANGE "Domeniu de memorie" IDS_RESOURCE_INTERRUPT "IRQ" IDS_RESOURCE_DMA "DMA" - IDS_RESOURCE_PORT "E/A range" + IDS_RESOURCE_PORT "Domeniu E/A" END /* error messages, source: http://www.z123.org/techsupport/medm.htm */ @@ -177,8 +177,8 @@ BEGIN EDITTEXT IDC_DIGITALSIGNER, 100, 81, 145, 12, NOT WS_TABSTOP | NOT WS_BORDER | ES_AUTOHSCROLL | ES_READONLY PUSHBUTTON "&Detalii…", IDC_DRIVERDETAILS, 7, 106, 75, 15 LTEXT "Mai multe detalii despre modulele pilot.", -1, 91, 110, 154, 17, SS_NOPREFIX - PUSHBUTTON "&Update Driver...", IDC_UPDATEDRIVER, 7, 126, 75, 15 - LTEXT "Update the device driver.", -1, 91, 130, 154, 17, SS_NOPREFIX + PUSHBUTTON "&Actualizare modul-pilot…", IDC_UPDATEDRIVER, 7, 126, 75, 15 + LTEXT "Actualizare modulului-pilot pentru dispozitiv.", -1, 91, 130, 154, 17, SS_NOPREFIX END IDD_DRIVERDETAILS DIALOGEX 0, 0, 224, 230 @@ -218,12 +218,12 @@ END IDD_DEVICERESOURCES DIALOGEX 0, 0, 252, 218 STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Resources" +CAPTION "Resurse" FONT 8, "MS Shell Dlg" BEGIN ICON "", IDC_DEVICON, 7, 7, 20, 20 LTEXT "", IDC_DEVNAME, 37, 9, 174, 16, SS_NOPREFIX - LTEXT "Resource settings:", -1, 7, 36, 204, 8 + LTEXT "Configurație de resurse:", -1, 7, 36, 204, 8 CONTROL "", IDC_DRIVERRESOURCES, "SysListView32", LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_SHAREIMAGELISTS | LVS_SORTASCENDING | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP, 7, 46, 209, 80 diff --git a/dll/win32/getuname/getuname.rc b/dll/win32/getuname/getuname.rc index b452573f781..3805c41a28b 100644 --- a/dll/win32/getuname/getuname.rc +++ b/dll/win32/getuname/getuname.rc @@ -12,3 +12,6 @@ #ifdef LANGUAGE_EN_US #include "lang/en-US.rc" #endif +#ifdef LANGUAGE_RO_RO + #include "lang/ro-RO.rc" +#endif diff --git a/dll/win32/getuname/lang/ro-RO.rc b/dll/win32/getuname/lang/ro-RO.rc new file mode 100644 index 00000000000..50739745a86 --- /dev/null +++ b/dll/win32/getuname/lang/ro-RO.rc @@ -0,0 +1,7815 @@ +/* + * PROJECT: Unicode name dll + * FILE: dll\win32\getuname\lang\ro-RO.rc + * PURPOSE: Unicode Description Strings + * PROGRAMMERS: Baruch Rutman (peterooch at gmail dot com) + * TRANSLATOR: Ștefan Fulea (stefan dot fulea at mail dot md) + * 2014-01-12: partial translation + */ +LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL +STRINGTABLE +BEGIN + 0 "Nul" + 1 "Început de antet - SCH" + 2 "Început de text - STX" + 3 "Sfârșit de text - ETX" + 4 "Sfârșit de transmisie - EOT" + 5 "Solicitare - ENQ" + 6 "Confirmare - ACK" + 7 "Bell" + 8 "Backspace" + 9 "Tabulare" + 10 "Rând nou - LF" + 11 "Tabulare verticală - VT" + 12 "Pagină nouă - FF" + 13 "Retur caracter purtător - CR" + 14 "Deplasament Ext - SO" + 15 "Deplasament Int - SI" + 16 "Întrupere interpretare digitală - DLE" + 17 "Control dispozitiv unu - DC1" + 18 "Control dispozitiv doi - DC2" + 19 "Control dispozitiv trei - DC3" + 20 "Control dispozitiv patru - DC4" + 21 "Confirmare negativă - NAK" + 22 "Conținut de sincronizare - SYN" + 23 "Terminator de transmisie - ETB" + 24 "Anulare - CAN" + 25 "Capăt de mediu - EM" + 26 "Substitut - SUB" + 27 "Ieșire - ESC" + 28 "Separator de informație patru - FS" + 29 "Separator de informație trei - GS" + 30 "Separator de informație doi - RS" + 31 "Separator de informație unu - US" + 32 "Spațiu" + 33 "Semn de exclamare" + 34 "Semn de întrebare" + 35 "Diez" + 36 "Dolar" + 37 "Procent" + 38 "Logograma et" + 39 "Apostrof" + 40 "Paranteză deschisă" + 41 "Paranteză închisă" + 42 "Asterisc" + 43 "Plus" + 44 "Virgulă" + 45 "Minus" + 46 "Punct" + 47 "Solidus" + 48 "Cifra zero" + 49 "Cifra unu" + 50 "Cifra doi" + 51 "Cifra trei" + 52 "Cifra patru" + 53 "Cifra cinci" + 54 "Cifra șase" + 55 "Cifra șapte" + 56 "Cifra opt" + 57 "Cifra nouă" + 58 "Două puncte" + 59 "Punct și virgulă" + 60 "Mai mic" + 61 "Egal" + 62 "Mai mare" + 63 "Semn de întrebare" + 64 "A-rond" + 65 "Litera latină a majusculă" + 66 "Litera latină b majusculă" + 67 "Litera latină c majusculă" + 68 "Litera latină d majusculă" + 69 "Litera latină e majusculă" + 70 "Litera latină f majusculă" + 71 "Litera latină g majusculă" + 72 "Litera latină h majusculă" + 73 "Litera latină i majusculă" + 74 "Litera latină j majusculă" + 75 "Litera latină k majusculă" + 76 "Litera latină l majusculă" + 77 "Litera latină m majusculă" + 78 "Litera latină n majusculă" + 79 "Litera latină o majusculă" + 80 "Litera latină p majusculă" + 81 "Litera latină q majusculă" + 82 "Litera latină r majusculă" + 83 "Litera latină s majusculă" + 84 "Litera latină t majusculă" + 85 "Litera latină u majusculă" + 86 "Litera latină v majusculă" + 87 "Litera latină w majusculă" + 88 "Litera latină x majusculă" + 89 "Litera latină y majusculă" + 90 "Litera latină z majusculă" + 91 "Paranteză pătrată deschisă" + 92 "Solidus întors" + 93 "Paranteză pătrată închisă" + 94 "Accent circumflex" + 95 "Simbol subliniere" + 96 "Accent grav" + 97 "Litera latină a" + 98 "Litera latină b" + 99 "Litera latină c" + 100 "Litera latină d" + 101 "Litera latină e" + 102 "Litera latină f" + 103 "Litera latină g" + 104 "Litera latină h" + 105 "Litera latină i" + 106 "Litera latină j" + 107 "Litera latină k" + 108 "Litera latină l" + 109 "Litera latină m" + 110 "Litera latină n" + 111 "Litera latină o" + 112 "Litera latină p" + 113 "Litera latină q" + 114 "Litera latină r" + 115 "Litera latină s" + 116 "Litera latină t" + 117 "Litera latină u" + 118 "Litera latină v" + 119 "Litera latină w" + 120 "Litera latină x" + 121 "Litera latină y" + 122 "Litera latină z" + 123 "Paranteză figurată deschisă" + 124 "Bară verticală" + 125 "Paranteză figurată închisă" + 126 "Tildă" + 127 "Șterge" + 130 "Întrerupere permisă" + 131 "Întrerupere nepermisă" + 133 "Linie următoare" + 134 "Început zonă de selecție" + 135 "Sfârșit zonă de selecție" + 136 "Set caracter tabulare" + 137 "Set caracter tabulare cu rectificare" + 138 "Set tabulare verticală" + 139 "Linie parțială înainte" + 140 "Linie parțială înapoi" + 141 "Inversare rând nou" + 142 "Deplasament unitar doi" + 143 "Deplasament unitar trei" + 144 "Șir control dispozitiv" + 145 "Uz privat unu" + 146 "Uz privat doi" + 147 "Stare transmitere set" + 148 "Caracter de anulare" + 149 "Mesaj în așteptare" + 150 "Început de zonă apărată" + 151 "Sfârșit de zonă apărată" + 152 "Început de șir" + 154 "Introductor de caracter unitar" + 155 "Introductor de secvență control" + 156 "Terminator de șir" + 157 "Comandă sistem de operare" + 158 "Mesaj de izolare" + 159 "Comandă de program aplicație" + 160 "Spațiu fix" + 161 "Semn de exclamare inversat" + 162 "Cent" + 163 "Liră" + 164 "Valută" + 165 "Yen" + 166 "Bară întreruptă" + 167 "Paragraf" + 168 "Tremă" + 169 "Semn drept de autor" + 170 "Indicator ordinal feminin" + 171 "Ghilimele unghiulare deschise" + 172 "Semn negat" + 173 "Cratimă de vers" + 174 "Semn înregistrat" + 175 "Macron" + 176 "Semn grad" + 177 "Semn plus-minus" + 178 "Exponent doi" + 179 "Exponent trei" + 180 "Accent acut" + 181 "Semn micro" + 182 "Semn de alineat" + 183 "Interpunct" + 184 "Sedilă" + 185 "Exponent unu" + 186 "Indicator ordinal masculin" + 187 "Ghilimele unghiulare închise" + 188 "Fracție vulgară un sfert" + 189 "Fracție vulgară o jumătate" + 190 "Fracție vulgară trei sferturi" + 191 "Semn de întrebare inversat" + 192 "Litera latină majusculă a cu accent grav" + 193 "Litera latină majusculă a cu accent acut" + 194 "Litera latină majusculă a cu circumflex" + 195 "Litera latină majusculă a cu tildă" + 196 "Litera latină majusculă a cu tremă" + 197 "Litera latină majusculă a cu inel deasupra" + 198 "Litera latină majusculă ae" + 199 "Litera latină majusculă c cu sedilă" + 200 "Litera latină majusculă e cu accent grav" + 201 "Litera latină majusculă e cu accent acut" + 202 "Litera latină majusculă e cu circumflex" + 203 "Litera latină majusculă e cu tremă" + 204 "Litera latină majusculă i cu accent grav" + 205 "Litera latină majusculă i cu accent acut" + 206 "Litera latină majusculă i cu circumflex" + 207 "Litera latină majusculă i cu tremă" + 208 "Litera latină majusculă eth" + 209 "Litera latină majusculă n cu tildă" + 210 "Litera latină majusculă o cu accent grav" + 211 "Litera latină majusculă o cu accent acut" + 212 "Litera latină majusculă o cu circumflex" + 213 "Litera latină majusculă o cu tildă" + 214 "Litera latină majusculă o cu tremă" + 215 "Semn de înmulțire" + 216 "Litera latină majusculă o tăiat" + 217 "Litera latină majusculă u cu accent grav" + 218 "Litera latină majusculă u cu accent acut" + 219 "Litera latină majusculă u cu circumflex" + 220 "Litera latină majusculă u cu tremă" + 221 "Litera latină majusculă y cu accent acut" + 222 "Litera latină majusculă thorn" + 223 "Litera latină s ascuțit" + 224 "Litera latină a cu accent grav" + 225 "Litera latină a cu accent acut" + 226 "Litera latină a cu circumflex" + 227 "Litera latină a cu tildă" + 228 "Litera latină a cu tremă" + 229 "Litera latină a cu inel deasupra" + 230 "Litera latină ae" + 231 "Litera latină c cu sedilă" + 232 "Litera latină e cu accent grav" + 233 "Litera latină e cu accent acut" + 234 "Litera latină e cu circumflex" + 235 "Litera latină e cu tremă" + 236 "Litera latină i cu accent grav" + 237 "Litera latină i cu accent acut" + 238 "Litera latină i cu circumflex" + 239 "Litera latină i cu tremă" + 240 "Litera latină eth" + 241 "Litera latină n cu tildă" + 242 "Litera latină o cu accent grav" + 243 "Litera latină o cu accent acut" + 244 "Litera latină o cu circumflex" + 245 "Litera latină o cu tildă" + 246 "Litera latină o cu tremă" + 247 "Semn de împărțire" + 248 "Litera latină o tăiat" + 249 "Litera latină u cu accent grav" + 250 "Litera latină u cu accent acut" + 251 "Litera latină u cu circumflex" + 252 "Litera latină u cu tremă" + 253 "Litera latină y cu accent acut" + 254 "Litera latină thorn" + 255 "Litera latină y cu tremă" + 256 "Litera latină majusculă a cu macron" + 257 "Litera latină a cu macron" + 258 "Litera latină majusculă a cu breve" + 259 "Litera latină a cu breve" + 260 "Litera latină majusculă a cu ogonek" + 261 "Litera latină a cu ogonek" + 262 "Litera latină majusculă c cu accent acut" + 263 "Litera latină c cu accent acut" + 264 "Litera latină majusculă c cu circumflex" + 265 "Litera latină c cu circumflex" + 266 "Litera latină majusculă c cu punct deasupra" + 267 "Litera latină c cu punct deasupra" + 268 "Litera latină majusculă c cu caron" + 269 "Litera latină c cu caron" + 270 "Litera latină majusculă d cu caron" + 271 "Litera latină d cu caron" + 272 "Litera latină majusculă d tăiat" + 273 "Litera latină d tăiat" + 274 "Litera latină majusculă e cu macron" + 275 "Litera latină e cu macron" + 276 "Litera latină majusculă e cu breve" + 277 "Litera latină e cu breve" + 278 "Litera latină majusculă e cu punct deasupra" + 279 "Litera latină e cu punct deasupra" + 280 "Litera latină majusculă e cu ogonek" + 281 "Litera latină e cu ogonek" + 282 "Litera latină majusculă e cu caron" + 283 "Litera latină e cu caron" + 284 "Litera latină majusculă g cu circumflex" + 285 "Litera latină g cu circumflex" + 286 "Litera latină majusculă g cu breve" + 287 "Litera latină g cu breve" + 288 "Litera latină majusculă g cu punct deasupra" + 289 "Litera latină g cu punct deasupra" + 290 "Litera latină majusculă g cu sedilă" + 291 "Litera latină g cu sedilă" + 292 "Litera latină majusculă h cu circumflex" + 293 "Litera latină h cu circumflex" + 294 "Litera latină majusculă h tăiat" + 295 "Litera latină h tăiat" + 296 "Litera latină majusculă i cu tildă" + 297 "Litera latină i cu tildă" + 298 "Litera latină majusculă i cu macron" + 299 "Litera latină i cu macron" + 300 "Litera latină majusculă i cu breve" + 301 "Litera latină i cu breve" + 302 "Litera latină majusculă i cu ogonek" + 303 "Litera latină i cu ogonek" + 304 "Litera latină majusculă i cu punct deasupra" + 305 "Litera latină i fără punct" + 306 "Ligatura latină majusculă ij" + 307 "Ligatura latină ij" + 308 "Litera latină majusculă j cu circumflex" + 309 "Litera latină j cu circumflex" + 310 "Litera latină majusculă k cu sedilă" + 311 "Litera latină k cu sedilă" + 312 "Litera latină kra" + 313 "Litera latină majusculă l cu accent acut" + 314 "Litera latină l cu accent acut" + 315 "Litera latină majusculă l cu sedilă" + 316 "Litera latină l cu sedilă" + 317 "Litera latină majusculă l cu caron" + 318 "Litera latină l cu caron" + 319 "Litera latină majusculă l cu interpunct" + 320 "Litera latină l cu interpunct" + 321 "Litera latină majusculă l tăiat" + 322 "Litera latină l tăiat" + 323 "Litera latină majusculă n cu accent acut" + 324 "Litera latină n cu accent acut" + 325 "Litera latină majusculă n cu sedilă" + 326 "Litera latină n cu sedilă" + 327 "Litera latină majusculă n cu caron" + 328 "Litera latină n cu caron" + 329 "Litera latină n precedat de apostrof" + 330 "Litera latină majusculă eng" + 331 "Litera latină eng" + 332 "Litera latină majusculă o cu macron" + 333 "Litera latină o cu macron" + 334 "Litera latină majusculă o cu breve" + 335 "Litera latină o cu breve" + 336 "Litera latină majusculă o cu dublu-accent acut" + 337 "Litera latină o cu dublu-accent acut" + 338 "Ligatura latină majusculă oe" + 339 "Ligatura latină oe" + 340 "Litera latină majusculă r cu accent acut" + 341 "Litera latină r cu accent acut" + 342 "Litera latină majusculă r cu sedilă" + 343 "Litera latină r cu sedilă" + 344 "Litera latină majusculă r cu caron" + 345 "Litera latină r cu caron" + 346 "Litera latină majusculă s cu accent acut" + 347 "Litera latină s cu accent acut" + 348 "Litera latină majusculă s cu circumflex" + 349 "Litera latină s cu circumflex" + 350 "Litera latină majusculă s cu sedilă" + 351 "Litera latină s cu sedilă" + 352 "Litera latină majusculă s cu caron" + 353 "Litera latină s cu caron" + 354 "Litera latină majusculă t cu sedilă" + 355 "Litera latină t cu sedilă" + 356 "Litera latină majusculă t cu caron" + 357 "Litera latină t cu caron" + 358 "Litera latină majusculă t tăiat" + 359 "Litera latină t tăiat" + 360 "Litera latină majusculă u cu tildă" + 361 "Litera latină u cu tildă" + 362 "Litera latină majusculă u cu macron" + 363 "Litera latină u cu macron" + 364 "Litera latină majusculă u cu breve" + 365 "Litera latină u cu breve" + 366 "Litera latină majusculă u cu inel deasupra" + 367 "Litera latină u cu inel deasupra" + 368 "Litera latină majusculă u cu dublu-accent acut" + 369 "Litera latină u cu dublu-accent acut" + 370 "Litera latină majusculă u cu ogonek" + 371 "Litera latină u cu ogonek" + 372 "Litera latină majusculă w cu circumflex" + 373 "Litera latină w cu circumflex" + 374 "Litera latină majusculă y cu circumflex" + 375 "Litera latină y cu circumflex" + 376 "Litera latină majusculă y cu tremă" + 377 "Litera latină majusculă z cu accent acut" + 378 "Litera latină z cu accent acut" + 379 "Litera latină majusculă z cu punct deasupra" + 380 "Litera latină z cu punct deasupra" + 381 "Litera latină majusculă z cu caron" + 382 "Litera latină z cu caron" + 383 "Litera latină s lung" + 384 "Litera latină b tăiat" + 385 "Litera latină majusculă b cu cârligel" + 386 "Litera latină majusculă b supraliniată" + 387 "Litera latină b supraliniat" + 388 "Litera latină majusculă ton-șase" + 389 "Litera latină ton-șase" + 390 "Litera latină majusculă o deschis" + 391 "Litera latină majusculă c cu cârligel" + 392 "Litera latină c cu cârligel" + 393 "Litera latină majusculă d african" + 394 "Litera latină majusculă d cu cârligel" + 395 "Litera latină majusculă d supraliniat" + 396 "Litera latină d supraliniat" + 397 "Litera latină delta răsturnat" + 398 "Litera latină majusculă e întors" + 399 "Litera latină majusculă schwa" + 400 "Litera latină majusculă e deschis" + 401 "Litera latină majusculă f cu cârligel" + 402 "Litera latină f cu cârligel" + 403 "Litera latină majusculă g cu cârligel" + 404 "Litera latină majusculă gamma" + 405 "Litera latină hv" + 406 "Litera latină majusculă iota" + 407 "Litera latină majusculă i tăiat" + 408 "Litera latină majusculă k cu cârligel" + 409 "Litera latină k cu cârligel" + 410 "Litera latină l barat" + 411 "Litera latină lambda tăiat" + 412 "Litera latină majusculă m răsturnat" + 413 "Litera latină majusculă n cu cârligel stânga" + 414 "Litera latină n cu picior drept alungit" + 415 "Litera latină majusculă o cu tildă la mijloc" + 416 "Litera latină majusculă o cu corn" + 417 "Litera latină o cu corn" + 418 "Litera latină majusculă oi" + 419 "Litera latină oi" + 420 "Litera latină majusculă p cu cârligel" + 421 "Litera latină p cu cârligel" + 422 "Litera latină yr" + 423 "Litera latină majusculă ton-doi" + 424 "Litera latină ton-doi" + 425 "Litera latină majusculă eș" + 426 "Litera latină eș întors cu buclă" + 427 "Litera latină t cu cârligel palatal" + 428 "Litera latină majusculă t cu cârligel" + 429 "Litera latină t cu cârligel" + 430 "Litera latină majusculă t cu cârligel retroflex" + 431 "Litera latină majusculă u cu corn" + 432 "Litera latină u cu corn" + 433 "Litera latină majusculă ipsilon" + 434 "Litera latină majusculă v cu cârligel" + 435 "Litera latină majusculă y cu cârligel" + 436 "Litera latină y cu cârligel" + 437 "Litera latină majusculă z tăiat" + 438 "Litera latină z tăiat" + 439 "Litera latină majusculă ezh" + 440 "Litera latină majusculă ezh întors" + 441 "Litera latină ezh întors" + 442 "Litera latină ezh cu codiță" + 443 "Litera latină doi tăiat" + 444 "Litera latină majusculă ton-cinci" + 445 "Litera latină ton-cinci" + 446 "Litera latină stop-glotal tăiat inversat" + 447 "Litera latină wynn" + 448 "Litera latină clic dental" + 449 "Litera latină clic lateral" + 450 "Litera latină clic alveolar" + 451 "Litera latină clic retroflex" + 452 "Litera latină majusculă dz cu caron" + 453 "Litera latină majusculă d cu litera z cu caron" + 454 "Litera latină dz cu caron" + 455 "Litera latină majusculă lj" + 456 "Litera latină majusculă l cu litera j" + 457 "Litera latină lj" + 458 "Litera latină majusculă nj" + 459 "Litera latină majusculă n cu litera j" + 460 "Litera latină nj" + 461 "Litera latină majusculă a cu caron" + 462 "Litera latină a cu caron" + 463 "Litera latină majusculă i cu caron" + 464 "Litera latină i cu caron" + 465 "Litera latină majusculă o cu caron" + 466 "Litera latină o cu caron" + 467 "Litera latină majusculă u cu caron" + 468 "Litera latină u cu caron" + 469 "Litera latină majusculă u cu tremă și macron" + 470 "Litera latină u cu tremă și macron" + 471 "Litera latină majusculă u cu tremă și accent acut" + 472 "Litera latină u cu tremă și accent acut" + 473 "Litera latină majusculă u cu tremă și caron" + 474 "Litera latină u cu tremă și caron" + 475 "Litera latină majusculă u cu tremă și accent grav" + 476 "Litera latină u cu tremă și accent grav" + 477 "Litera latină e răsturnat" + 478 "Litera latină majusculă a cu tremă și macron" + 479 "Litera latină a cu tremă și macron" + 480 "Litera latină majusculă a cu punct deasupra și macron" + 481 "Litera latină a cu punct deasupra și macron" + 482 "Litera latină majusculă ae cu macron" + 483 "Litera latină ae cu macron" + 484 "Litera latină majusculă g tăiat" + 485 "Litera latină g tăiat" + 486 "Litera latină majusculă g cu caron" + 487 "Litera latină g cu caron" + 488 "Litera latină majusculă k cu caron" + 489 "Litera latină k cu caron" + 490 "Litera latină majusculă o cu ogonek" + 491 "Litera latină o cu ogonek" + 492 "Litera latină majusculă o cu ogonek și macron" + 493 "Litera latină o cu ogonek și macron" + 494 "Litera latină majusculă ezh cu caron" + 495 "Litera latină ezh cu caron" + 496 "Litera latină j cu caron" + 497 "Litera latină majusculă dz" + 498 "Litera latină majusculă d cu litera z" + 499 "Litera latină dz" + 500 "Litera latină majusculă g cu accent acut" + 501 "Litera latină g cu accent acut" + 502 "Litera latină majusculă hwair" + 503 "Litera latină majusculă wynn" + 504 "Litera latină majusculă n cu accent grav" + 505 "Litera latină n cu accent grav" + 506 "Litera latină majusculă a cu inel deasupra și accent acut" + 507 "Litera latină a cu inel deasupra și accent acut" + 508 "Litera latină majusculă ae cu accent acut" + 509 "Litera latină ae cu accent acut" + 510 "Litera latină majusculă o tăiat cu accent acut" + 511 "Litera latină o tăiat cu accent acut" + 512 "Litera latină majusculă a cu dublu-accent grav" + 513 "Litera latină a cu dublu-accent grav" + 514 "Litera latină majusculă a cu breve inversat" + 515 "Litera latină a cu breve " + 516 "Litera latină majusculă e cu dublu-accent grav" + 517 "Litera latină e cu dublu-accent grav" + 518 "Litera latină majusculă e cu breve inversat" + 519 "Litera latină e cu breve inversat" + 520 "Litera latină majusculă i cu dublu-accent grav" + 521 "Litera latină i cu dublu-accent grav" + 522 "Litera latină majusculă i cu breve inversat" + 523 "Litera latină i cu breve inversat" + 524 "Litera latină majusculă o cu dublu-accent grav" + 525 "Litera latină o cu dublu-accent grav" + 526 "Litera latină majusculă o cu breve inversat" + 527 "Litera latină o cu breve inversat" + 528 "Litera latină majusculă r cu dublu-accent grav" + 529 "Litera latină r cu dublu-accent grav" + 530 "Litera latină majusculă r cu breve inversat" + 531 "Litera latină r cu breve inversat" + 532 "Litera latină majusculă u cu dublu-accent grav" + 533 "Litera latină u cu dublu-accent grav" + 534 "Litera latină majusculă u cu breve inversat" + 535 "Litera latină u cu breve inversat" + 536 "Litera latină majusculă s cu virgulă dedesubt" + 537 "Litera latină s cu virgulă dedesubt" + 538 "Litera latină majusculă t cu virgulă dedesubt" + 539 "Litera latină t cu virgulă dedesubt" + 540 "Litera latină majusculă yogh" + 541 "Litera latină yogh" + 542 "Litera latină majusculă h cu caron" + 543 "Litera latină h cu caron" + 544 "Litera latină majusculă n cu picior drept alungit" + 545 "Litera latină d cu încrețitură" + 546 "Litera latină majusculă ou" + 547 "Litera latină ou" + 548 "Litera latină majusculă z cu cârligel" + 549 "Litera latină z cu cârligel" + 550 "Litera latină majusculă a cu punct deasupra" + 551 "Litera latină a cu punct deasupra" + 552 "Litera latină majusculă e cu sedilă" + 553 "Litera latină e cu sedilă" + 554 "Litera latină majusculă o cu tremă și macron" + 555 "Litera latină o cu tremă și macron" + 556 "Litera latină majusculă o cu tildă și macron" + 557 "Litera latină o cu tildă și macron" + 558 "Litera latină majusculă o cu punct deasupra" + 559 "Litera latină o cu punct deasupra" + 560 "Litera latină majusculă o cu punct deasupra și macron" + 561 "Litera latină o cu punct deasupra și macron" + 562 "Litera latină majusculă y cu macron" + 563 "Litera latină y cu macron" + 564 "Litera latină l cu încrețitură" + 565 "Litera latină n cu încrețitură" + 566 "Litera latină t cu încrețitură" + 567 "Litera latină j fără punct" + 568 "Litera latină digramă db" + 569 "Litera latină digramă qp" + 570 "Litera latină majusculă a tăiat" + 571 "Litera latină majusculă c tăiat" + 572 "Litera latină c tăiat" + 573 "Litera latină majusculă l barat" + 574 "Litera latină majusculă t tăiat oblic" + 575 "Litera latină s cu codiță ondulată" + 576 "Litera latină z cu codiță ondulată" + 577 "Litera latină majusculă stop-glotal" + 578 "Litera latină stop-glotal" + 579 "Litera latină majusculă b tăiat" + 580 "Litera latină majusculă u barat" + 581 "Litera latină majusculă v răsturnat" + 582 "Litera latină majusculă e tăiat" + 583 "Litera latină e tăiat" + 584 "Litera latină majusculă j tăiat" + 585 "Litera latină j tăiat" + 586 "Litera latină q cu codiță cârligel" + 587 "Litera latină q cu codiță cârligel" + 588 "Litera latină majusculă r tăiat" + 589 "Litera latină r tăiat" + 590 "Litera latină majusculă y tăiat" + 591 "Litera latină y tăiat" + 592 "Litera latină a răsturnat" + 593 "Litera latină alpha" + 594 "Litera latină alpha răsturnat" + 595 "Litera latină b cu cârligel" + 596 "Litera latină o deschis" + 597 "Litera latină c cu încrețitură" + 598 "Litera latină d cu codiță" + 599 "Litera latină d cu cârligel" + 600 "Litera latină e întors" + 601 "Litera latină schwa" + 602 "Litera latină schwa cu cârligel" + 603 "Litera latină e deschis" + 604 "Litera latină e deschis întors" + 605 "Litera latină e deschis întors cu cârligel" + 606 "Litera latină e deschis întors închis" + 607 "Litera latină j tăiat fără punct" + 608 "Litera latină g cu cârligel" + 609 "Litera latină g script" + 610 "Litera latină g majusculă miniatură" + 611 "Litera latină gamma" + 612 "Litera latină corn-de-berbec" + 613 "Litera latină h răsturnat" + 614 "Litera latină h cu corn" + 615 "Litera latină heng cu cârligel" + 616 "Litera latină i tăiat" + 617 "Litera latină iota" + 618 "Litera latină i majusculă miniatură" + 619 "Litera latină l cu tildă la mijloc" + 620 "Litera latină l cu centură" + 621 "Litera latină l cu cârligel retroflex" + 622 "Litera latină lezh" + 623 "Litera latină m răsturnat" + 624 "Litera latină m răsturnat cu picior alungit" + 625 "Litera latină m cu cârligel" + 626 "Litera latină n cu cârligel stânga" + 627 "Litera latină n cu cârligel retroflex" + 628 "Litera latină n majusculă miniatură" + 629 "Litera latină o barat" + 630 "Litera latină oe majusculă miniatură" + 631 "Litera latină omega închis" + 632 "Litera latină phi" + 633 "Litera latină r răsturnat" + 634 "Litera latină r răsturnat cu picior alungit" + 635 "Litera latină r răsturnat cu cârligel" + 636 "Litera latină r cu picior alungit" + 637 "Litera latină r cu codiță" + 638 "Litera latină r cu undiță" + 639 "Litera latină r întors cu undiță" + 640 "Litera latină r majusculă miniatură" + 641 "Litera latină r majusculă miniatură inversat" + 642 "Litera latină s cu cârligel" + 643 "Litera latină eș" + 644 "Litera latină j tăiat fără punct cu cârligel" + 645 "Litera latină eș întors îndesat" + 646 "Litera latină eș cu încrețitură" + 647 "Litera latină t răsturnat" + 648 "Litera latină t cu cârligel retroflex" + 649 "Litera latină u barat" + 650 "Litera latină ipsilon" + 651 "Litera latină v cu cârligel" + 652 "Litera latină v răsturnat" + 653 "Litera latină w răsturnat" + 654 "Litera latină y răsturnat" + 655 "Litera latină y majusculă miniatură" + 656 "Litera latină z cu cârligel retroflex" + 657 "Litera latină z cu cârligel" + 658 "Litera latină ezh" + 659 "Litera latină ezh cu cârligel" + 660 "Litera latină stop glotal" + 661 "Litera latină sunet fricativ faringal" + 662 "Litera latină stop glotal inversat" + 663 "Litera latină c alungit" + 664 "Litera latină clic bilabial" + 665 "Litera latină b majusculă miniatură" + 666 "Litera latină e deschis închis" + 667 "Litera latină g majusculă miniatură cu cârligel" + 668 "Litera latină h majusculă miniatură" + 669 "Litera latină j cu codiță întretăiată" + 670 "Litera latină k răsturnat" + 671 "Litera latină l majusculă miniatură" + 672 "Litera latină q cu cârligel" + 673 "Litera latină stop glotal tăiat" + 674 "Litera latină stop glotal întors tăiat" + 675 "Litera latină digramă dz" + 676 "Litera latină dezh digramă" + 677 "Litera latină dz digramă cu încrețitură" + 678 "Litera latină ț digramă" + 679 "Litera latină teș digramă" + 680 "Litera latină tc digramă cu încrețitură" + 681 "Litera latină feng digramă" + 682 "Litera latină ls digramă" + 683 "Litera latină lz digramă" + 684 "Litera latină precutant bilabial" + 685 "Litera latină percutant bidental" + 686 "Litera latină h răsturnat cu undiță" + 687 "Litera latină h răsturnat cu undiță și codiță" + 688 "Litera modificatoare h mic" + 689 "Litera modificatoare h mic cu cârligel" + 690 "Litera modificatoare j mic" + 691 "Litera modificatoare r mic" + 692 "Litera modificatoare r mic răsturnat" + 693 "Litera modificatoare r mic răsturnat cu cârligel" + 694 "Litera modificatoare r majusculă miniatură inversat" + 695 "Litera modificatoare w" + 696 "Litera modificatoare y" + 697 "Litera modificatoare prim" + 698 "Litera modificatoare prim dublu" + 699 "Litera modificatoare virgulă răsturnată" + 700 "Litera modificatoare apostrof" + 701 "Litera modificatoare virgulă întoarsă" + 702 "Litera modificatoare semi-inel drept" + 703 "Litera modificatoare semi-inel stâng" + 704 "Litera modificatoare stop glotal" + 705 "Litera modificatoare stop glotal întors" + 706 "Litera modificatoare vârf de săgeată spre stânga" + 707 "Litera modificatoare vârf de săgeată spre dreapta" + 708 "Litera modificatoare vârf de săgeată în sus" + 709 "Litera modificatoare vârf de săgeată în jos" + 710 "Litera modificatoare accent circumflex" + 711 "Caron" + 712 "Litera modificatoare linie verticală" + 713 "Litera modificatoare macron" + 714 "Litera modificatoare accent acut" + 715 "Litera modificatoare accent grav" + 716 "Litera modificatoare linie verticală jos" + 717 "Litera modificatoare macron jos" + 718 "Litera modificatoare accent grav jos" + 719 "Litera modificatoare accent acut jos" + 720 "Litera modificatoare două puncte triangulare" + 721 "Litera modificatoare interpunct triangular" + 722 "Litera modificatoare semi-inel drept centrat" + 723 "Litera modificatoare semi-inel stâng centrat" + 724 "Litera modificatoare cui în sus" + 725 "Litera modificatoare cui în jos" + 726 "Litera modificatoare semn plus" + 727 "Litera modificatoare semn minus" + 728 "Breve" + 729 "Punct deasupra" + 730 "Inel deasupra" + 731 "Ogonek" + 732 "Tildă mică" + 733 "Dublu-accent acut" + 734 "Litera modificatoare cârligel retoric" + 735 "Litera modificatoare accent încrucișat" + 736 "Litera modificatoare gama mic" + 737 "Litera modificatoare l mic" + 738 "Litera modificatoare s mic" + 739 "Litera modificatoare x mic" + 740 "Litera modificatoare stop glotal mic întors" + 741 "Litera modificatoare bară de intonație extra-ridicată" + 742 "Litera modificatoare bară de intonație ridicată" + 743 "Litera modificatoare bară de intonație medie" + 744 "Litera modificatoare bară de intonație coborâtă" + 745 "Litera modificatoare bară de intonație extra-coborâtă" + 746 "Litera modificatoare însemn pentru intonație de plecare yin" + 747 "Litera modificatoare însemn pentru intonație de plecare yang" + 748 "Litera modificatoare vocal" + 749 "Litera modificatoare neaspirat" + 750 "Litera modificatoare dublu-apostrof" + 751 "Litera modificatoare vârf de săgeată mic în jos" + 752 "Litera modificatoare vârf de săgeată mic în sus" + 753 "Litera modificatoare vârf de săgeată mic spre stânga" + 754 "Litera modificatoare vârf de săgeată mic spre dreapta" + 755 "Litera modificatoare inel jos" + 756 "Litera modificatoare accent grav centrat" + 757 "Litera modificatoare dublu-accent grav centrat" + 758 "Litera modificatoare dublu-accent acut centrat" + 759 "Litera modificatoare tildă jos" + 760 "Litera modificatoare două puncte ridicat" + 761 "Litera modificatoare început de intonație ridicată" + 762 "Litera modificatoare sfârșit de intonație ridicată" + 763 "Litera modificatoare început de intonație coborâtă" + 764 "Litera modificatoare sfârșit de intonație coborâtă" + 765 "Litera modificatoare raft" + 766 "Litera modificatoare raft deschis" + 767 "Litera modificatoare săgeată spre stânga coborâtă" + 768 "Îmbinativ accent grav" + 769 "Îmbinativ accent acut" + 770 "Îmbinativ accent circumflex" + 771 "Îmbinativ tildă" + 772 "Îmbinativ macron" + 773 "Îmbinativ supra-liniere" + 774 "Îmbinativ breve" + 775 "Îmbinativ punct deasupra" + 776 "Îmbinativ tremă" + 777 "Îmbinativ cârligel deasupra" + 778 "Îmbinativ inel deasupra" + 779 "Îmbinativ dublu-accent acut" + 780 "Îmbinativ caron" + 781 "Îmbinativ linie verticală deasupra" + 782 "Îmbinativ linie verticală dublă deasupra" + 783 "Îmbinativ dublu-accent grav" + 784 "Îmbinativ candrabindu" + 785 "Îmbinativ breve inversat" + 786 "Îmbinativ virgulă răsturnată deasupra" + 787 "Îmbinativ virgulă deasupra" + 788 "Îmbinativ virgulă întoarsă deasupra" + 789 "Îmbinativ virgulă deasupra la dreapta" + 790 "Îmbinativ accent grav dedesubt" + 791 "Îmbinativ accent acut dedesubt" + 792 "Îmbinativ cui spre stânga dedesubt" + 793 "Îmbinativ cui spre dreapta dedesubt" + 794 "Îmbinativ unghi din stânga deasupra" + 795 "Îmbinativ corn" + 796 "Îmbinativ semi-inel stâng dedesubt" + 797 "Îmbinativ cui în sus dedesubt" + 798 "Îmbinativ cui în jos dedesubt" + 799 "Îmbinativ semn plus dedesubt" + 800 "Îmbinativ semn minus dedesubt" + 801 "Îmbinativ cârligel palatizat dedesubt" + 802 "Îmbinativ cârligel retroflex dedesubt" + 803 "Îmbinativ punct dedesubt" + 804 "Îmbinativ tremă dedesubt" + 805 "Îmbinativ inel dedesubt" + 806 "Îmbinativ virgulă dedesubt" + 807 "Îmbinativ sedilă dedesubt" + 808 "Îmbinativ ogonek" + 809 "Îmbinativ linie verticală dedesubt" + 810 "Îmbinativ pod dedesubt" + 811 "Îmbinativ arcadă dublă inversată dedesubt" + 812 "Îmbinativ caron dedesubt" + 813 "Îmbinativ accent circumflex dedesubt" + 814 "Îmbinativ breve dedesubt" + 815 "Îmbinativ breve inversat dedesubt" + 816 "Îmbinativ tildă dedesubt" + 817 "Îmbinativ macron dedesubt" + 818 "Îmbinativ subliniere" + 819 "Îmbinativ subliniere dublă" + 820 "Îmbinativ tildă suprapusă" + 821 "Îmbinativ bară scurtă suprapusă" + 822 "Îmbinativ bară lungă suprapusă" + 823 "Îmbinativ solidus scurt suprapus" + 824 "Îmbinativ solidus lung suprapus" + 825 "Îmbinativ semi-inel drept dedesubt" + 826 "Îmbinativ pot inversat dedesubt" + 827 "Îmbinativ pătrat dedesubt" + 828 "Îmbinativ pescăruș dedesubt" + 829 "Îmbinativ x deasupra" + 830 "Îmbinativ tildă verticală" + 831 "Îmbinativ supra-liniere dublă" + 832 "Îmbinativ notă de intonație gravă" + 833 "Îmbinativ notă de intonație acută" + 834 "Îmbinativ grecesc perispomeni" + 835 "Îmbinativ grecesc koronis" + 836 "Îmbinativ grecesc intonație dialytika" + 837 "Îmbinativ grecesc ypogegrammeni" + 838 "Îmbinativ pod deasupra" + 839 "Îmbinativ semn egal dedesubt" + 840 "Îmbinativ linie verticală dublă dedesubt" + 841 "Îmbinativ unghi din stânga dedesubt" + 842 "Îmbinativ ne-tildă deasupra" + 843 "Îmbinativ omotetic deasupra" + 844 "Îmbinativ semn-aproximativ deasupra" + 845 "Îmbinativ săgeată bidirecțională orizontală dedesubt" + 846 "Îmbinativ săgeată în sus dedesubt" + 847 "Îmbinativ unificator grafemic" + 848 "Îmbinativ săgeată spre dreapta deasupra" + 849 "Îmbinativ semi-inel stâng deasupra" + 850 "Îmbinativ fermata" + 851 "Îmbinativ x dedesubt" + 852 "Îmbinativ vârf de săgeată spre stânga dedesubt" + 853 "Îmbinativ vârf de săgeată spre dreapta dedesubt" + 854 "Îmbinativ vârfuri de săgeată spre dreapta și în sus dedesubt" + 855 "Îmbinativ semi-inel drept deasupra" + 856 "Îmbinativ punct deasupra la dreapta" + 857 "Îmbinativ asterisc deasupra" + 858 "Îmbinativ dublu-inel dedesubt" + 859 "Îmbinativ zigzag deasupra" + 860 "Îmbinativ dublu-breve dedesubt" + 861 "Îmbinativ dublu-breve" + 862 "Îmbinativ dublu-macron" + 863 "Îmbinativ dublu-macron dedesubt" + 864 "Îmbinativ tildă dublă" + 865 "Îmbinativ dublu-breve inversat" + 866 "Îmbinativ săgeată spre dreapta dublă dedesubt" + 867 "Îmbinativ literă latină a" + 868 "Îmbinativ literă latină e" + 869 "Îmbinativ literă latină i" + 870 "Îmbinativ literă latină o" + 871 "Îmbinativ literă latină u" + 872 "Îmbinativ literă latină c" + 873 "Îmbinativ literă latină d" + 874 "Îmbinativ literă latină h" + 875 "Îmbinativ literă latină m" + 876 "Îmbinativ literă latină r" + 877 "Îmbinativ literă latină t" + 878 "Îmbinativ literă latină v" + 879 "Îmbinativ literă latină x" + 880 "Litera grecească majusculă heta" + 881 "Litera grecească heta" + 882 "Litera grecească majusculă sampi arhaic" + 883 "Litera grecească sampi arhaic" + 884 "Semn numeral grec" + 885 "Semn numeral grec coborât" + 886 "Litera grecească majusculă digama pamfiliană" + 887 "Litera grecească digama pamfiliană" + 890 "Ypogegrammeni grecesc" + 891 "Simbolul grecesc sigma luniform întors" + 892 "Simbolul grecesc sigma luniform punctat" + 893 "Simbolul grecesc sigma luniform punctat întors" + 894 "Semn de întrebare grecesc" + 900 "Accent acut grecesc" + 901 "Tremă grecească cu accent acut" + 902 "Litera grecească majusculă alfa cu accent acut" + 903 "Interpunct grecesc" + 904 "Litera grecească majusculă epsilon cu accent acut" + 905 "Litera grecească majusculă eta cu accent acut" + 906 "Litera grecească majusculă iota cu accent acut" + 908 "Litera grecească majusculă omicron cu accent acut" + 910 "Litera grecească majusculă ipsilon cu accent acut" + 911 "Litera grecească majusculă omega cu accent acut" + 912 "Litera grecească iota cu tremă și accent acut" + 913 "Litera grecească majusculă alfa" + 914 "Litera grecească majusculă beta" + 915 "Litera grecească majusculă gama" + 916 "Litera grecească majusculă delta" + 917 "Litera grecească majusculă epsilon" + 918 "Litera grecească majusculă zeta" + 919 "Litera grecească majusculă eta" + 920 "Litera grecească majusculă teta" + 921 "Litera grecească majusculă iota" + 922 "Litera grecească majusculă kappa" + 923 "Litera grecească majusculă lambda" + 924 "Litera grecească majusculă miu" + 925 "Litera grecească majusculă niu" + 926 "Litera grecească majusculă csi" + 927 "Litera grecească majusculă omicron" + 928 "Litera grecească majusculă pi" + 929 "Litera grecească majusculă ro" + 931 "Litera grecească majusculă sigma" + 932 "Litera grecească majusculă tau" + 933 "Litera grecească majusculă ipsilon" + 934 "Litera grecească majusculă fi" + 935 "Litera grecească majusculă hi" + 936 "Litera grecească majusculă psi" + 937 "Litera grecească majusculă omega" + 938 "Litera grecească majusculă iota cu tremă" + 939 "Litera grecească majusculă ipsilon cu tremă" + 940 "Litera grecească alfa cu accent acut" + 941 "Litera grecească epsilon cu accent acut" + 942 "Litera grecească eta cu accent acut" + 943 "Litera grecească iota cu accent acut" + 944 "Litera grecească ipsilon cu accent acut" + 945 "Litera grecească alfa" + 946 "Litera grecească beta" + 947 "Litera grecească gama" + 948 "Litera grecească delta" + 949 "Litera grecească epsilon" + 950 "Litera grecească zeta" + 951 "Litera grecească eta" + 952 "Litera grecească teta" + 953 "Litera grecească iota" + 954 "Litera grecească kappa" + 955 "Litera grecească lambda" + 956 "Litera grecească miu" + 957 "Litera grecească niu" + 958 "Litera grecească csi" + 959 "Litera grecească omicron" + 960 "Litera grecească pi" + 961 "Litera grecească ro" + 962 "Litera grecească sigma final" + 963 "Litera grecească sigma" + 964 "Litera grecească tau" + 965 "Litera grecească ipsilon" + 966 "Litera grecească fi" + 967 "Litera grecească hi" + 968 "Litera grecească psi" + 969 "Litera grecească omega" + 970 "Litera grecească iota cu tremă" + 971 "Litera grecească ipsilon cu tremă" + 972 "Litera grecească omicron cu accent acut" + 973 "Litera grecească ipsilon cu accent acut" + 974 "Litera grecească omega cu accent acut" + 975 "Simbolul grecesc majuscul kai" + 976 "Simbolul grecesc beta" + 977 "Simbolul grecesc teta" + 978 "Simbolul grecesc ipsilon cu cârligel" + 979 "Simbolul grecesc ipsilon cu accent acut și cârligel" + 980 "Simbolul grecesc ipsilon cu tremă și cârligel" + 981 "Simbolul grecesc fi" + 982 "Simbolul grecesc pi" + 983 "Simbolul grecesc kai" + 984 "Litera grecească majusculă koppa arhaic" + 985 "Litera grecească koppa arhaic" + 986 "Litera grecească majusculă stigma" + 987 "Litera grecească stigma" + 988 "Litera grecească majusculă digama" + 989 "Litera grecească digama" + 990 "Litera grecească majusculă koppa" + 991 "Litera grecească koppa" + 992 "Litera grecească majusculă sampi" + 993 "Litera grecească sampi" + 994 "Litera coptă majusculă șei" + 995 "Litera coptă șei" + 996 "Litera coptă majusculă fei" + 997 "Litera coptă fei" + 998 "Litera coptă majusculă khei" + 999 "Litera coptă khei" + 1000 "Litera coptă majusculă hori" + 1001 "Litera coptă hori" + 1002 "Litera coptă majusculă gangia" + 1003 "Litera coptă gangia" + 1004 "Litera coptă majusculă șima" + 1005 "Litera coptă șima" + 1006 "Litera coptă majusculă dei" + 1007 "Litera coptă dei" + 1008 "Simbolul grecesc kappa" + 1009 "Simbolul grecesc ro" + 1010 "Simbolul grecesc sigma luniform" + 1011 "Litera grecească yot" + 1012 "Simbolul grecesc majuscul teta" + 1013 "Simbolul grecesc epsilon luniform" + 1014 "Simbolul grecesc epsilon luniform întors" + 1015 "Litera grecească majusculă șo" + 1016 "Litera grecească șo" + 1017 "Simbolul grecesc majuscul sigma luniform" + 1018 "Litera grecească majusculă san" + 1019 "Litera grecească san" + 1020 "Simbolul grecesc ro tăiat" + 1021 "Simbolul grecesc majuscul sigma luniform întors" + 1022 "Simbolul grecesc majuscul sigma luniform punctat" + 1023 "Simbolul grecesc majuscul sigma luniform punctat întors" + 1024 "Litera chirilică majusculă ie cu accent grav" + 1025 "Litera chirilică majusculă io" + 1026 "Litera chirilică majusculă dje" + 1027 "Litera chirilică majusculă gje" + 1028 "Litera chirilică majusculă ie ucraineană" + 1029 "Litera chirilică majusculă dze" + 1030 "Litera chirilică majusculă i belarus-ucraineană" + 1031 "Litera chirilică majusculă yi" + 1032 "Litera chirilică majusculă je" + 1033 "Litera chirilică majusculă lje" + 1034 "Litera chirilică majusculă nje" + 1035 "Litera chirilică majusculă tșe" + 1036 "Litera chirilică majusculă kje" + 1037 "Litera chirilică majusculă i cu accent grav" + 1038 "Litera chirilică majusculă u scurt" + 1039 "Litera chirilică majusculă dzhe" + 1040 "Litera chirilică majusculă a" + 1041 "Litera chirilică majusculă bă" + 1042 "Litera chirilică majusculă vă" + 1043 "Litera chirilică majusculă gă" + 1044 "Litera chirilică majusculă dă" + 1045 "Litera chirilică majusculă e" + 1046 "Litera chirilică majusculă jă" + 1047 "Litera chirilică majusculă ză" + 1048 "Litera chirilică majusculă i" + 1049 "Litera chirilică majusculă i scurt" + 1050 "Litera chirilică majusculă ka" + 1051 "Litera chirilică majusculă eli" + 1052 "Litera chirilică majusculă em" + 1053 "Litera chirilică majusculă en" + 1054 "Litera chirilică majusculă o" + 1055 "Litera chirilică majusculă pă" + 1056 "Litera chirilică majusculă ăr" + 1057 "Litera chirilică majusculă ăs" + 1058 "Litera chirilică majusculă tă" + 1059 "Litera chirilică majusculă u" + 1060 "Litera chirilică majusculă ăf" + 1061 "Litera chirilică majusculă ha" + 1062 "Litera chirilică majusculă ță" + 1063 "Litera chirilică majusculă ce" + 1064 "Litera chirilică majusculă șa" + 1065 "Litera chirilică majusculă șcea" + 1066 "Litera chirilică majusculă semnul tare" + 1067 "Litera chirilică majusculă î" + 1068 "Litera chirilică majusculă semnul moale" + 1069 "Litera chirilică majusculă ă" + 1070 "Litera chirilică majusculă iu" + 1071 "Litera chirilică majusculă ia" + 1072 "Litera chirilică a" + 1073 "Litera chirilică bă" + 1074 "Litera chirilică vă" + 1075 "Litera chirilică gă" + 1076 "Litera chirilică dă" + 1077 "Litera chirilică e" + 1078 "Litera chirilică jă" + 1079 "Litera chirilică ză" + 1080 "Litera chirilică i" + 1081 "Litera chirilică i scurt" + 1082 "Litera chirilică ka" + 1083 "Litera chirilică eli" + 1084 "Litera chirilică em" + 1085 "Litera chirilică en" + 1086 "Litera chirilică o" + 1087 "Litera chirilică pă" + 1088 "Litera chirilică ăr" + 1089 "Litera chirilică ăs" + 1090 "Litera chirilică tă" + 1091 "Litera chirilică u" + 1092 "Litera chirilică ăf" + 1093 "Litera chirilică ha" + 1094 "Litera chirilică ță" + 1095 "Litera chirilică ce" + 1096 "Litera chirilică șa" + 1097 "Litera chirilică șcea" + 1098 "Litera chirilică semnul tare" + 1099 "Litera chirilică î" + 1100 "Litera chirilică semnul moale" + 1101 "Litera chirilică ă" + 1102 "Litera chirilică iu" + 1103 "Litera chirilică ia" + 1104 "Litera chirilică e cu accent grav" + 1105 "Litera chirilică io" + 1106 "Litera chirilică dje" + 1107 "Litera chirilică gje" + 1108 "Litera chirilică e ucraineană" + 1109 "Litera chirilică dze" + 1110 "Litera chirilică i belarus-ucraineană" + 1111 "Litera chirilică yi" + 1112 "Litera chirilică je" + 1113 "Litera chirilică lje" + 1114 "Litera chirilică nje" + 1115 "Litera chirilică tșe" + 1116 "Litera chirilică kje" + 1117 "Litera chirilică i cu accent grav" + 1118 "Litera chirilică u scurt" + 1119 "Litera chirilică dzhe" + 1120 "Litera chirilică majusculă omega" + 1121 "Litera chirilică omega" + 1122 "Litera chirilică majusculă yat" + 1123 "Litera chirilică yat" + 1124 "Litera chirilică majusculă e iotificat" + 1125 "Litera chirilică e iotificat" + 1126 "Litera chirilică majusculă yus mic" + 1127 "Litera chirilică yus mic" + 1128 "Litera chirilică majusculă yus mic iotoficat" + 1129 "Litera chirilică yus mic iotificat" + 1130 "Litera chirilică majusculă yus mare" + 1131 "Litera chirilică yus mare" + 1132 "Litera chirilică majusculă yus mare iotificat" + 1133 "Litera chirilică yus mare iotificat" + 1134 "Litera chirilică majusculă ksi" + 1135 "Litera chirilică ksi" + 1136 "Litera chirilică majusculă psi" + 1137 "Litera chirilică psi" + 1138 "Litera chirilică majusculă fita" + 1139 "Litera chirilică fita" + 1140 "Litera chirilică majusculă ijița" + 1141 "Litera chirilică ijița" + 1142 "Litera chirilică majusculă ijița cu dublu-accent grav" + 1143 "Litera chirilică ijița cu dublu-accent grav" + 1144 "Litera chirilică majusculă uk" + 1145 "Litera chirilică uk" + 1146 "Litera chirilică majusculă omega rotund" + 1147 "Litera chirilică omega rotund" + 1148 "Litera chirilică majusculă omega cu titlo" + 1149 "Litera chirilică omega cu titlo" + 1150 "Litera chirilică majusculă ot" + 1151 "Litera chirilică ot" + 1152 "Litera chirilică majusculă koppa" + 1153 "Litera chirilică koppa" + 1154 "Semn chirilic mii" + 1155 "Îmbinativ chirilic titlo" + 1156 "Îmbinativ chirilic palatalizare" + 1157 "Îmbinativ chirilic dasia pneumata" + 1158 "Îmbinativ chirilic psili pneumata" + 1159 "Îmbinativ chirilic pocrîtie" + 1160 "Semn îmbinativ chirilic sute de mii" + 1161 "Semn îmbinativ chirilic milioane" + 1162 "Litera chirilică majusculă i scurt cu codiță" + 1163 "Litera chirilică i scurt cu codiță" + 1164 "Litera chirilică majusculă semn semi-moale" + 1165 "Litera chirilică semn semi-moale" + 1166 "Litera chirilică majusculă ăr cu însemn" + 1167 "Litera chirilică ăr cu însemn" + 1168 "Litera chirilică majusculă gă cu ascendență" + 1169 "Litera chirilică gă cu ascendență" + 1170 "Litera chirilică majusculă gă tăiat" + 1171 "Litera chirilică gă tăiat" + 1172 "Litera chirilică majusculă gă cu cârligel median" + 1173 "Litera chirilică gă cu cârligel median" + 1174 "Litera chirilică majusculă jă cu descendență" + 1175 "Litera chirilică jă cu descendență" + 1176 "Litera chirilică majusculă ză cu descendență" + 1177 "Litera chirilică ză cu descendență" + 1178 "Litera chirilică majusculă ka cu descendență" + 1179 "Litera chirilică ka cu descendență" + 1180 "Litera chirilică majusculă ka tăiat vertical" + 1181 "Litera chirilică ka tăiat vertical" + 1182 "Litera chirilică majusculă ka tăiat" + 1183 "Litera chirilică ka tăiat" + 1184 "Litera chirilică majusculă ka bașchir" + 1185 "Litera chirilică ka bașchir" + 1186 "Litera chirilică majusculă en cu descendență" + 1187 "Litera chirilică en cu descendență" + 1188 "Ligatura chirilică majusculă en gă" + 1189 "Ligatura chirilică en gă" + 1190 "Litera chirilică majusculă pă cu cârligel median" + 1191 "Litera chirilică pă cu cârligel median" + 1192 "Litera chirilică majusculă ha abhaz" + 1193 "Litera chirilică ha abhaz" + 1194 "Litera chirilică majusculă ăs cu descendență" + 1195 "Litera chirilică ăs cu descendență" + 1196 "Litera chirilică majusculă tă cu descendență" + 1197 "Litera chirilică tă cu descendență" + 1198 "Litera chirilică majusculă u drept" + 1199 "Litera chirilică u drept" + 1200 "Litera chirilică majusculă u drept tăiat" + 1201 "Litera chirilică u drept tăiat" + 1202 "Litera chirilică majusculă ha cu descendență" + 1203 "Litera chirilică ha cu descendență" + 1204 "Ligatura chirilică majusculă tă ță" + 1205 "Ligatura chirilică tă ță" + 1206 "Litera chirilică majusculă ce cu descendență" + 1207 "Litera chirilică ce cu descendență" + 1208 "Litera chirilică majusculă ce tăiat vertical" + 1209 "Litera chirilică ce tăiat vertical" + 1210 "Litera chirilică majusculă șha" + 1211 "Litera chirilică șha" + 1212 "Litera chirilică majusculă ce abhaz" + 1213 "Litera chirilică ce abhaz" + 1214 "Litera chirilică majusculă ce abhaz cu descendență" + 1215 "Litera chirilică ce abhaz cu descendență" + 1216 "Litera chirilică majusculă palocika" + 1217 "Litera chirilică majusculă jă cu breve" + 1218 "Litera chirilică jă cu breve" + 1219 "Litera chirilică majusculă ka cu cârligel" + 1220 "Litera chirilică ka cu cârligel" + 1221 "Litera chirilică majusculă eli cu codiță" + 1222 "Litera chirilică eli cu codiță" + 1223 "Litera chirilică majusculă en cu cârligel" + 1224 "Litera chirilică en cu cârligel" + 1225 "Litera chirilică majusculă en cu codiță" + 1226 "Litera chirilică en cu codiță" + 1227 "Litera chirilică majusculă ce hacaș" + 1228 "Litera chirilică ce hacaș" + 1229 "Litera chirilică majusculă em cu codiță" + 1230 "Litera chirilică em cu codiță" + 1231 "Litera chirilică palocika" + 1232 "Litera chirilică majusculă a cu breve" + 1233 "Litera chirilică a cu breve" + 1234 "Litera chirilică majusculă a cu tremă" + 1235 "Litera chirilică a cu tremă" + 1236 "Ligatura chirilică majusculă a e" + 1237 "Ligatura chirilică a e" + 1238 "Litera chirilică majusculă e cu breve" + 1239 "Litera chirilică e cu breve" + 1240 "Litera chirilică majusculă schwa" + 1241 "Litera chirilică schwa" + 1242 "Litera chirilică majusculă schwa cu tremă" + 1243 "Litera chirilică schwa cu tremă" + 1244 "Litera chirilică majusculă jă cu tremă" + 1245 "Litera chirilică jă cu tremă" + 1246 "Litera chirilică majusculă ză cu tremă" + 1247 "Litera chirilică ză cu tremă" + 1248 "Litera chirilică majusculă dze abhaz" + 1249 "Litera chirilică dze abhaz" + 1250 "Litera chirilică majusculă i cu macron" + 1251 "Litera chirilică i cu macron" + 1252 "Litera chirilică majusculă i cu tremă" + 1253 "Litera chirilică i cu tremă" + 1254 "Litera chirilică majusculă o cu tremă" + 1255 "Litera chirilică o cu tremă" + 1256 "Litera chirilică majusculă o barat" + 1257 "Litera chirilică o barat" + 1258 "Litera chirilică majusculă o barat cu tremă" + 1259 "Litera chirilică o barat cu tremă" + 1260 "Litera chirilică majusculă ă cu tremă" + 1261 "Litera chirilică ă cu tremă" + 1262 "Litera chirilică majusculă u cu macron" + 1263 "Litera chirilică u cu macron" + 1264 "Litera chirilică majusculă u cu tremă" + 1265 "Litera chirilică u cu tremă" + 1266 "Litera chirilică majusculă u cu dublu-accent acut" + 1267 "Litera chirilică u cu dublu-accent acut" + 1268 "Litera chirilică majusculă ce cu tremă" + 1269 "Litera chirilică ce cu tremă" + 1270 "Litera chirilică majusculă gă cu descendență" + 1271 "Litera chirilică gă cu descendență" + 1272 "Litera chirilică majusculă î cu tremă" + 1273 "Litera chirilică î cu tremă" + 1274 "Litera chirilică majusculă gă tăiat cu cârligel" + 1275 "Litera chirilică gă tăiat cu cârligel" + 1276 "Litera chirilică majusculă ha cu cârligel" + 1277 "Litera chirilică ha cu cârligel" + 1278 "Litera chirilică majusculă ha tăiat" + 1279 "Litera chirilică ha tăiat" + 1280 "Litera chirilică majusculă komi dă" + 1281 "Litera chirilică komi dă" + 1282 "Litera chirilică majusculă komi dje" + 1283 "Litera chirilică komi dje" + 1284 "Litera chirilică majusculă komi jă" + 1285 "Litera chirilică komi jă" + 1286 "Litera chirilică majusculă komi dzje" + 1287 "Litera chirilică komi dzje" + 1288 "Litera chirilică majusculă komi lje" + 1289 "Litera chirilică komi lje" + 1290 "Litera chirilică majusculă komi nje" + 1291 "Litera chirilică komi nje" + 1292 "Litera chirilică majusculă komi sje" + 1293 "Litera chirilică komi sje" + 1294 "Litera chirilică majusculă komi tje" + 1295 "Litera chirilică komi tje" + 1296 "Litera chirilică majusculă ză întors" + 1297 "Litera chirilică ză întors" + 1298 "Litera chirilică majusculă eli cu cârligel" + 1299 "Litera chirilică eli cu cârligel" + 1300 "Litera chirilică majusculă lha" + 1301 "Litera chirilică lha" + 1302 "Litera chirilică majusculă rha" + 1303 "Litera chirilică rha" + 1304 "Litera chirilică majusculă yae" + 1305 "Litera chirilică yae" + 1306 "Litera chirilică majusculă qa" + 1307 "Litera chirilică qa" + 1308 "Litera chirilică majusculă we" + 1309 "Litera chirilică we" + 1310 "Litera chirilică majusculă ka aleut" + 1311 "Litera chirilică ka aleut" + 1312 "Litera chirilică majusculă eli cu cârligel median" + 1313 "Litera chirilică eli cu cârligel median" + 1314 "Litera chirilică majusculă en cu cârligel median" + 1315 "Litera chirilică en cu cârligel median" + 1316 "Litera chirilică majusculă pă cu descendență" + 1317 "Litera chirilică pă cu descendență" + 1318 "Litera chirilică majusculă șha cu descendență" + 1319 "Litera chirilică șha cu descendență" + 1329 "Litera armenească majusculă ayb" + 1330 "Litera armenească majusculă ben" + 1331 "Litera armenească majusculă gim" + 1332 "Litera armenească majusculă da" + 1333 "Litera armenească majusculă eci" + 1334 "Litera armenească majusculă za" + 1335 "Litera armenească majusculă eh" + 1336 "Litera armenească majusculă et" + 1337 "Litera armenească majusculă to" + 1338 "Litera armenească majusculă zhe" + 1339 "Litera armenească majusculă ini" + 1340 "Litera armenească majusculă liwn" + 1341 "Litera armenească majusculă xeh" + 1342 "Litera armenească majusculă ca" + 1343 "Litera armenească majusculă ken" + 1344 "Litera armenească majusculă ho" + 1345 "Litera armenească majusculă ja" + 1346 "Litera armenească majusculă ghad" + 1347 "Litera armenească majusculă ceh" + 1348 "Litera armenească majusculă men" + 1349 "Litera armenească majusculă yi" + 1350 "Litera armenească majusculă now" + 1351 "Litera armenească majusculă șa" + 1352 "Litera armenească majusculă vo" + 1353 "Litera armenească majusculă cea" + 1354 "Litera armenească majusculă peh" + 1355 "Litera armenească majusculă jheh" + 1356 "Litera armenească majusculă ra" + 1357 "Litera armenească majusculă seh" + 1358 "Litera armenească majusculă vew" + 1359 "Litera armenească majusculă tiwn" + 1360 "Litera armenească majusculă reh" + 1361 "Litera armenească majusculă co" + 1362 "Litera armenească majusculă yiwn" + 1363 "Litera armenească majusculă piwr" + 1364 "Litera armenească majusculă keh" + 1365 "Litera armenească majusculă oh" + 1366 "Litera armenească majusculă feh" + 1369 "Litera armenească modificatoare semi-inel stâng" + 1370 "Apostrof armenesc" + 1371 "Semn de accentuare armenesc" + 1372 "Semn de exclamare armenesc" + 1373 "Virgulă armenească" + 1374 "Semn de întrebare armenesc" + 1375 "Semn de abreviere armenesc" + 1377 "Litera armenească ayb" + 1378 "Litera armenească ben" + 1379 "Litera armenească gim" + 1380 "Litera armenească da" + 1381 "Litera armenească eci" + 1382 "Litera armenească za" + 1383 "Litera armenească eh" + 1384 "Litera armenească et" + 1385 "Litera armenească to" + 1386 "Litera armenească zhe" + 1387 "Litera armenească ini" + 1388 "Litera armenească liwn" + 1389 "Litera armenească xeh" + 1390 "Litera armenească ca" + 1391 "Litera armenească ken" + 1392 "Litera armenească ho" + 1393 "Litera armenească ja" + 1394 "Litera armenească ghad" + 1395 "Litera armenească ceh" + 1396 "Litera armenească men" + 1397 "Litera armenească yi" + 1398 "Litera armenească now" + 1399 "Litera armenească șa" + 1400 "Litera armenească vo" + 1401 "Litera armenească cea" + 1402 "Litera armenească peh" + 1403 "Litera armenească jheh" + 1404 "Litera armenească ra" + 1405 "Litera armenească seh" + 1406 "Litera armenească vew" + 1407 "Litera armenească tiwn" + 1408 "Litera armenească reh" + 1409 "Litera armenească co" + 1410 "Litera armenească yiwn" + 1411 "Litera armenească piwr" + 1412 "Litera armenească keh" + 1413 "Litera armenească oh" + 1414 "Litera armenească feh" + 1415 "Ligatură armenească eci yiwn" + 1417 "Punct armenesc" + 1418 "Cratimă armenească" + 1423 "Semnul armenesc dram" + 1425 "Accentul ebraic etnahta" + 1426 "Accentul ebraic segol" + 1427 "Accentul ebraic șalșelet" + 1428 "Accentul ebraic zaqef qatan" + 1429 "Accentul ebraic zaqef gadol" + 1430 "Accentul ebraic tipeha" + 1431 "Accentul ebraic revia" + 1432 "Accentul ebraic zarqa" + 1433 "Accentul ebraic pașta" + 1434 "Accentul ebraic yetiv" + 1435 "Accentul ebraic tevir" + 1436 "Accentul ebraic gereș" + 1437 "Accentul ebraic gereș muqdam" + 1438 "Accentul ebraic gerșayim" + 1439 "Accentul ebraic qarney para" + 1440 "Accentul ebraic telișa gedola" + 1441 "Accentul ebraic pazer" + 1442 "Accentul ebraic atnah hafukh" + 1443 "Accentul ebraic munah" + 1444 "Accentul ebraic mahapakh" + 1445 "Accentul ebraic merkha" + 1446 "Accentul ebraic merkha kefula" + 1447 "Accentul ebraic darga" + 1448 "Accentul ebraic qadma" + 1449 "Accentul ebraic telișa qetana" + 1450 "Accentul ebraic yerah ben yomo" + 1451 "Accentul ebraic ole" + 1452 "Accentul ebraic iluy" + 1453 "Accentul ebraic dehi" + 1454 "Accentul ebraic zinor" + 1455 "Semnul ebraic cerc masora" + 1456 "Punctul ebraic șeva" + 1457 "Punctul ebraic hataf segol" + 1458 "Punctul ebraic hataf patah" + 1459 "Punctul ebraic hataf qamaț" + 1460 "Punctul ebraic hiriq" + 1461 "Punctul ebraic țere" + 1462 "Punctul ebraic segol" + 1463 "Punctul ebraic patah" + 1464 "Punctul ebraic qamaț" + 1465 "Punctul ebraic holam" + 1466 "Punctul ebraic holam haser pentru vav" + 1467 "Punctul ebraic qubuț" + 1468 "Punctul ebraic dageș sau mapiq" + 1469 "Punctul ebraic meteg" + 1470 "Punctuația ebraică maqaf" + 1471 "Punctul ebraic rafe" + 1472 "Punctuația ebraică paseq" + 1473 "Punctul ebraic șin" + 1474 "Punctul ebraic sin" + 1475 "Punctuația ebraică sof pasuq" + 1476 "Semnul ebraic punct ridicat" + 1477 "Semnul ebraic punct coborât" + 1478 "Punctuația ebraică nun hafukha" + 1479 "Punctul ebraic qamaț qatan" + 1488 "Litera ebraică alef" + 1489 "Litera ebraică bet" + 1490 "Litera ebraică ghimel" + 1491 "Litera ebraică dalet" + 1492 "Litera ebraică he" + 1493 "Litera ebraică vav" + 1494 "Litera ebraică zayin" + 1495 "Litera ebraică het" + 1496 "Litera ebraică tet" + 1497 "Litera ebraică yod" + 1498 "Litera ebraică kaf final" + 1499 "Litera ebraică kaf" + 1500 "Litera ebraică lamed" + 1501 "Litera ebraică mem final" + 1502 "Litera ebraică mem" + 1503 "Litera ebraică nun final" + 1504 "Litera ebraică nun" + 1505 "Litera ebraică samekh" + 1506 "Litera ebraică ayin" + 1507 "Litera ebraică pe final" + 1508 "Litera ebraică pe" + 1509 "Litera ebraică țadi final" + 1510 "Litera ebraică țadi" + 1511 "Litera ebraică qof" + 1512 "Litera ebraică reș" + 1513 "Litera ebraică șin" + 1514 "Litera ebraică tav" + 1520 "Ligatura ebraică dublu-vav idiș" + 1521 "Ligatura ebraică yod vav idiș" + 1522 "Ligatura ebraică dublu-yod idiș" + 1523 "Punctuația ebraică gereș" + 1524 "Punctuația ebraică gerșayim" + 1536 "Semnul număr arab" + 1537 "Semnul arab sanah" + 1538 "Semnul arab de adnotare" + 1539 "Semnul arab safha" + 1540 "Semnul arab samvat" + 1542 "Rădăcina de ordin trei arab-indiană" + 1543 "Rădăcina de ordin patru arab-indiană" + 1544 "Ray arab" + 1545 "Semnul arab-indian la mie" + 1546 "Semnul arab-indian la zece mii" + 1547 "Semnul afghani" + 1548 "Virgula arabă" + 1549 "Separatorul de dată arab" + 1550 "Semnul arab vers poetic" + 1551 "Semnul arab misra" + 1552 "Semnul arab sallallahou alayhe wassallam" + 1553 "Semnul arab alayhe assallam" + 1554 "Semnul arab rahmatullah alayhe" + 1555 "Semnul arab radi allahou anhu" + 1556 "Semnul arab takhallus" + 1557 "Tah arab ridicat" + 1558 "Ligatura arăbească ridicată alef cu lam cu yeh" + 1559 "Zain arab ridicat" + 1560 "Fatha arabă" + 1561 "Damma arabă" + 1562 "Kasra arabă" + 1563 "Semnul de punctuație două puncte arab" + 1566 "Semnul de punctuație trei puncte arab" + 1567 "Semnul de întrebare arab" + 1568 "Litera arabă kashmiri yeh" + 1569 "Litera arabă hamza" + 1570 "Litera arabă alef cu madda deasupra" + 1571 "Litera arabă alef cu hamza deasupra" + 1572 "Litera arabă waw cu hamza deasupra" + 1573 "Litera arabă alef cu hamza dedesubt" + 1574 "Litera arabă yeh cu hamza deasupra" + 1575 "Litera arabă alef" + 1576 "Litera arabă beh" + 1577 "Litera arabă teh marbuta" + 1578 "Litera arabă teh" + 1579 "Litera arabă theh" + 1580 "Litera arabă jeem" + 1581 "Litera arabă hah" + 1582 "Litera arabă khah" + 1583 "Litera arabă dal" + 1584 "Litera arabă thal" + 1585 "Litera arabă reh" + 1586 "Litera arabă zain" + 1587 "Litera arabă seen" + 1588 "Litera arabă șeen" + 1589 "Litera arabă sad" + 1590 "Litera arabă dad" + 1591 "Litera arabă tah" + 1592 "Litera arabă zah" + 1593 "Litera arabă ain" + 1594 "Litera arabă ghain" + 1595 "Litera arabă keheh cu două puncte deasupra" + 1596 "Litera arabă keheh cu trei puncte dedesubt" + 1597 "Litera arabă yeh persan cu v inversat" + 1598 "Litera arabă yeh persan cu două puncte deasupra" + 1599 "Litera arabă yeh persan cu trei puncte deasupra" + 1600 "Tatweel arab" + 1601 "Litera arabă feh" + 1602 "Litera arabă qaf" + 1603 "Litera arabă kaf" + 1604 "Litera arabă lam" + 1605 "Litera arabă meem" + 1606 "Litera arabă noon" + 1607 "Litera arabă heh" + 1608 "Litera arabă waw" + 1609 "Litera arabă alef maksura" + 1610 "Litera arabă yeh" + 1611 "Fathatan arab" + 1612 "Dammatan arab" + 1613 "Kasratan arab" + 1614 "Fatha arab" + 1615 "Damma arab" + 1616 "Kasra arab" + 1617 "Shadda arab" + 1618 "Sukun arab" + 1619 "Maddah arab deasupra" + 1620 "Hamza arab deasupra" + 1621 "Hamza arab dedesubt" + 1622 "Indice arab alef" + 1623 "Damma arab inversat" + 1624 "Semnul arab noon ghunna" + 1625 "Zwarakay arab" + 1626 "Semnul arab vocală v deasupra" + 1627 "Semnul arab vocală v întors deasupra" + 1628 "Semnul arab vocală punct dedesubt" + 1629 "Damma întors" + 1630 "Fatha arab cu două puncte" + 1631 "Hamza arab ondulat dedesubt" + 1632 "Cifra arab-indiană zero" + 1633 "Cifra arab-indiană unu" + 1634 "Cifra arab-indiană doi" + 1635 "Cifra arab-indiană trei" + 1636 "Cifra arab-indiană patru" + 1637 "Cifra arab-indiană cinci" + 1638 "Cifra arab-indiană șase" + 1639 "Cifra arab-indiană șapte" + 1640 "Cifra arab-indiană opt" + 1641 "Cifra arab-indiană nouă" + 1642 "Semnul arab la sută" + 1643 "Separatorul zecimal arab" + 1644 "Separatorul de mie arab" + 1645 "Steaua arabă cu cinci colțuri" + 1646 "Litera arabă beh fără punct" + 1647 "Litera arabă qaf fără punct" + 1648 "Litera arabă alef exponent" + 1649 "Litera arabă alef wasla" + 1650 "Litera arabă alef cu hamza ondulat deasupra" + 1651 "Litera arabă alef cu hamza ondulat dedesubt" + 1652 "Litera arabă hamza ridicat" + 1653 "Litera arabă hamza alef ridicat" + 1654 "Litera arabă hamza waw ridicat" + 1655 "Litera arabă u cu hamza deasupra" + 1656 "Litera arabă hamza yeh ridicat" + 1657 "Litera arabă tteh" + 1658 "Litera arabă tteheh" + 1659 "Litera arabă beeh" + 1660 "Litera arabă teh cu inel" + 1661 "Litera arabă teh cu trei puncte descendente deasupra" + 1662 "Litera arabă peh" + 1663 "Litera arabă teheh" + 1664 "Litera arabă beheh" + 1665 "Litera arabă hah cu hamza deasupra" + 1666 "Litera arabă hah cu două puncte verticale deasupra" + 1667 "Litera arabă nyeh" + 1668 "Litera arabă dyeh" + 1669 "Litera arabă hah cu trei puncte deasupra" + 1670 "Litera arabă tcheh" + 1671 "Litera arabă tcheheh" + 1672 "Litera arabă ddal" + 1673 "Litera arabă dal cu inel" + 1674 "Litera arabă dal cu punct dedesubt" + 1675 "Litera arabă dal cu punct dedesubt și tah" + 1676 "Litera arabă dahal" + 1677 "Litera arabă ddahal" + 1678 "Litera arabă dul" + 1679 "Litera arabă dal cu trei puncte descendente deasupra" + 1680 "Litera arabă dal cu patru puncte deasupra" + 1681 "Litera arabă rreh" + 1682 "Litera arabă reh cu v" + 1683 "Litera arabă reh cu inel" + 1684 "Litera arabă reh cu punct dedesubt" + 1685 "Litera arabă reh cu v dedesubt" + 1686 "Litera arabă reh cu punct dedesubt și deasupra" + 1687 "Litera arabă reh cu două puncte deasupra" + 1688 "Litera arabă jeh" + 1689 "Litera arabă reh cu patru puncte deasupra" + 1690 "Litera arabă seen cu punct dedesubt și deasupra" + 1691 "Litera arabă seen cu trei puncte dedesubt" + 1692 "Litera arabă seen cu trei puncte dedesubt și deasupra" + 1693 "Litera arabă sad cu două puncte dedesubt" + 1694 "Litera arabă sad cu trei puncte deasupra" + 1695 "Litera arabă tah cu trei puncte deasupra" + 1696 "Litera arabă ain cu trei puncte deasupra" + 1697 "Litera arabă feh fără punct" + 1698 "Litera arabă feh cu punct mutat dedesubt" + 1699 "Litera arabă feh cu punct dedesubt" + 1700 "Litera arabă veh" + 1701 "Litera arabă feh cu trei puncte dedesubt" + 1702 "Litera arabă peheh" + 1703 "Litera arabă qaf cu punct deasupra" + 1704 "Litera arabă qaf cu trei puncte deasupra" + 1705 "Litera arabă keheh" + 1706 "Litera arabă swash kaf" + 1707 "Litera arabă kaf cu inel" + 1708 "Litera arabă kaf cu punct deasupra" + 1709 "Litera arabă ng" + 1710 "Litera arabă kaf cu trei puncte dedesubt" + 1711 "Litera arabă gaf" + 1712 "Litera arabă gaf cu inel" + 1713 "Litera arabă ngoeh" + 1714 "Litera arabă gaf cu două puncte dedesubt" + 1715 "Litera arabă gueh" + 1716 "Litera arabă gaf cu trei puncte deasupra" + 1717 "Litera arabă lam cu v" + 1718 "Litera arabă lam cu punct deasupra" + 1719 "Litera arabă lam cu trei puncte deasupra" + 1720 "Litera arabă lam cu trei puncte dedesubt" + 1721 "Litera arabă noon cu punct dedesubt" + 1722 "Litera arabă noon ghunna" + 1723 "Litera arabă rnoon" + 1724 "Litera arabă noon cu inel" + 1725 "Litera arabă noon cu trei puncte deasupra" + 1726 "Litera arabă heh doachashmee" + 1727 "Litera arabă tcheh cu punct deasupra" + 1728 "Litera arabă heh cu yeh deasupra" + 1729 "Litera arabă heh goal" + 1730 "Litera arabă heh goal cu hamza deasupra" + 1731 "Litera arabă teh marbuta goal" + 1732 "Litera arabă waw cu inel" + 1733 "Litera arabă oe kirghiz" + 1734 "Litera arabă oe" + 1735 "Litera arabă u" + 1736 "Litera arabă yu" + 1737 "Litera arabă yu kirghiz" + 1738 "Litera arabă waw cu două puncte deasupra" + 1739 "Litera arabă ve" + 1740 "Litera arabă yeh persan" + 1741 "Litera arabă yeh cu codiță" + 1742 "Litera arabă yeh cu v" + 1743 "Litera arabă waw cu punct deasupra" + 1744 "Litera arabă e" + 1745 "Litera arabă yeh cu trei puncte dedesubt" + 1746 "Litera arabă yeh barator" + 1747 "Litera arabă yeh barator cu hamza deasupra" + 1748 "Punct arab" + 1749 "Litera arabă ae" + 1750 "Ligatură arabă ridicată sad cu lam cu alef maksura" + 1751 "Ligatură arabă ridicată qaf cu lam cu alef maksura" + 1752 "Meem arab ridicat formă inițială" + 1753 "Lam alef arab ridicat" + 1754 "Jeem arab ridicat" + 1755 "Trei puncte arabe ridicate" + 1756 "Seen arab ridicat" + 1757 "Sfârșit arab pentru ayah" + 1758 "Steaua arabă rub el hizb" + 1759 "Zero arab ridicat rotunjit" + 1760 "Zero arab ridicat rectangular" + 1761 "Cap de khah arab ridicat fără punct" + 1762 "Meem arab ridicat formă izolată" + 1763 "Seen arab coborât" + 1764 "Madda arab ridicat" + 1765 "Waw arab" + 1766 "Yeh arab" + 1767 "Yeh arab ridicat" + 1768 "Noon arab ridicat" + 1769 "Locul arab al Sajdahului" + 1770 "Oprire arabă coborâtă cu centru gol" + 1771 "Oprire arabă ridicată cu centru gol" + 1772 "Oprire arabă ridicată rotunjită cu centru plin" + 1773 "Meem arab coborât" + 1774 "Litera arabă dal cu v inversat" + 1775 "Litera arabă reh cu v inversat" + 1776 "Cifra arab-indiană extinsă zero" + 1777 "Cifra arab-indiană extinsă unu" + 1778 "Cifra arab-indiană extinsă doi" + 1779 "Cifra arab-indiană extinsă trei" + 1780 "Cifra arab-indiană extinsă patru" + 1781 "Cifra arab-indiană extinsă cinci" + 1782 "Cifra arab-indiană extinsă șase" + 1783 "Cifra arab-indiană extinsă șapte" + 1784 "Cifra arab-indiană extinsă opt" + 1785 "Cifra arab-indiană extinsă nouă" + 1786 "Litera arabă șeen cu punct dedesubt" + 1787 "Litera arabă dad cu punct dedesubt" + 1788 "Litera arabă ghain cu punct dedesubt" + 1789 "Semnul arab sindhi conjunctiv" + 1790 "Semnul arab sindhi post-poziție" + 1791 "Litera arabă heh cu v inversat" + 1792 "Semnul siriac sfârșit de paragraf" + 1793 "Punct siriac supra-liniar" + 1794 "Punct siriac sub-liniar" + 1795 "Semnul siriac două puncte supra-liniar" + 1796 "Semnul siriac două puncte sub-liniar" + 1797 "Semnul siriac orizontal două puncte" + 1798 "Semnul siriac oblic-stânga două puncte" + 1799 "Semnul siriac oblic-dreapta două puncte" + 1800 "Semnul siriac oblic-stânga supra-liniar două puncte" + 1801 "Semnul siriac oblic-dreapta supra-liniar două puncte" + 1802 "Semnul siriac contracție" + 1803 "Semnul siriac obelus harklean" + 1804 "Semnul siriac metobelus harklean" + 1805 "Semnul siriac asterisc harklean" + 1807 "Semnul siriac de abreviere" + 1808 "Litera siriacă alaph" + 1809 "Litera siriacă alaph superscript" + 1810 "Litera siriacă beth" + 1811 "Litera siriacă gamal" + 1812 "Litera siriacă gamal garshuni" + 1813 "Litera siriacă dalath" + 1814 "Litera siriacă dalath rish fără punct" + 1815 "Litera siriacă he" + 1816 "Litera siriacă waw" + 1817 "Litera siriacă zain" + 1818 "Litera siriacă heth" + 1819 "Litera siriacă teth" + 1820 "Litera siriacă teth garshuni" + 1821 "Litera siriacă yudh" + 1822 "Litera siriacă yudh he" + 1823 "Litera siriacă kaph" + 1824 "Litera siriacă lamadh" + 1825 "Litera siriacă mim" + 1826 "Litera siriacă nun" + 1827 "Litera siriacă semkath" + 1828 "Litera siriacă final semkath" + 1829 "Litera siriacă e" + 1830 "Litera siriacă pe" + 1831 "Litera siriacă reversed pe" + 1832 "Litera siriacă sadhe" + 1833 "Litera siriacă qaph" + 1834 "Litera siriacă rish" + 1835 "Litera siriacă șin" + 1836 "Litera siriacă taw" + 1837 "Litera siriacă bheth persan" + 1838 "Litera siriacă ghamal persan" + 1839 "Litera siriacă dhalath persan" + 1840 "Pthaha siriac deasupra" + 1841 "Pthaha siriac dedesubt" + 1842 "Pthaha siriac punctat" + 1843 "Zqapha siriac deasupra" + 1844 "Zqapha siriac dedesubt" + 1845 "Zqapha siriac punctat" + 1846 "Rbasa siriac deasupra" + 1847 "Rbasa siriac dedesubt" + 1848 "Zlama siriac orizontal punctat" + 1849 "Zlama siriac angular punctat" + 1850 "Hbasa siriac deasupra" + 1851 "Hbasa siriac dedesubt" + 1852 "Hbasa-esasa siriac punctat" + 1853 "Esasa siriac deasupra" + 1854 "Esasa siriac dedesubt" + 1855 "Rwaha siriac" + 1856 "Punct feminin siriac" + 1857 "Qushshaya siriac" + 1858 "Rukkakha siriac" + 1859 "Semnul siriac două puncte verticale deasupra" + 1860 "Semnul siriac două puncte verticale dedesubt" + 1861 "Semnul siriac trei puncte deasupra" + 1862 "Semnul siriac trei puncte dedesubt" + 1863 "Semnul siriac linie oblică deasupra" + 1864 "Semnul siriac linie oblică dedesubt" + 1865 "Semnul siriac muzică" + 1866 "Barrekh siriac" + 1869 "Litera siriacă zhain sogdian" + 1870 "Litera siriacă khaph sogdian" + 1871 "Litera siriacă fe sogdian" + 1872 "Litera arabă beh cu trei puncte orizontale dedesubt" + 1873 "Litera arabă beh cu punct dedesubt și trei puncte deasupra" + 1874 "Litera arabă beh cu trei puncte ascendente dedesubt" + 1875 "Litera arabă beh cu trei puncte ascendente dedesubt și două puncte deasupra" + 1876 "Litera arabă beh cu două puncte dedesubt și un punct deasupra" + 1877 "Litera arabă beh cu v inversat dedesubt" + 1878 "Litera arabă beh cu v" + 1879 "Litera arabă hah cu două puncte deasupra" + 1880 "Litera arabă hah cu trei puncte ascendente dedesubt" + 1881 "Litera arabă dal cu două puncte verticale dedesubt și cu tah" + 1882 "Litera arabă dal cu v inversat dedesubt" + 1883 "Litera arabă reh tăiat" + 1884 "Litera arabă seen cu patru puncte deasupra" + 1885 "Litera arabă ain cu două puncte deasupra" + 1886 "Litera arabă ain cu trei puncte descendente deasupra" + 1887 "Litera arabă ain cu două puncte verticale deasupra" + 1888 "Litera arabă feh cu două puncte dedesubt" + 1889 "Litera arabă feh cu trei puncte ascendente dedesubt" + 1890 "Litera arabă keheh cu punct deasupra" + 1891 "Litera arabă keheh cu trei puncte deasupra" + 1892 "Litera arabă keheh cu trei puncte ascendente dedesubt" + 1893 "Litera arabă meem cu punct deasupra" + 1894 "Litera arabă meem cu punct dedesubt" + 1895 "Litera arabă noon cu două puncte dedesubt" + 1896 "Litera arabă noon cu tah" + 1897 "Litera arabă noon cu v" + 1898 "Litera arabă lam barat" + 1899 "Litera arabă reh cu două puncte verticale deasupra" + 1900 "Litera arabă reh cu hamza deasupra" + 1901 "Litera arabă seen cu două puncte verticale deasupra" + 1902 "Litera arabă hah cu litera arabă tah dedesubt" + 1903 "Litera arabă hah cu litera arabă tah și două puncte" + 1904 "Litera arabă seen cu litera arabă tah și două puncte" + 1905 "Litera arabă reh cu litera arabă tah și două puncte" + 1906 "Litera arabă hah cu litera arabă tah deasupra" + 1907 "Litera arabă alef cu cifra arab-indiană extinsă doi deasupra" + 1908 "Litera arabă alef cu cifra arab-indiană extinsă trei deasupra" + 1909 "Litera arabă yeh persan cu cifra arab-indiană extinsă doi deasupra" + 1910 "Litera arabă yeh persan cu cifra arab-indiană extinsă trei deasupra" + 1911 "Litera arabă yeh persan cu cifra arab-indiană extinsă patru dedesubt" + 1912 "Litera arabă waw cu cifra arab-indiană extinsă doi deasupra" + 1913 "Litera arabă waw cu cifra arab-indiană extinsă trei deasupra" + 1914 "Litera arabă yeh barator cu cifra arab-indiană extinsă doi deasupra" + 1915 "Litera arabă yeh barator cu cifra arab-indiană extinsă trei deasupra" + 1916 "Litera arabă hah cu cifra arab-indiană extinsă patru dedesubt" + 1917 "Litera arabă seen cu cifra arab-indiană extinsă patru deasupra" + 1918 "Litera arabă seen cu v inversat" + 1919 "Litera arabă kaf cu două puncte deasupra" + 1920 "Litera thaana haa" + 1921 "Litera thaana shaviyani" + 1922 "Litera thaana noonu" + 1923 "Litera thaana raa" + 1924 "Litera thaana baa" + 1925 "Litera thaana lhaviyani" + 1926 "Litera thaana kaafu" + 1927 "Litera thaana alifu" + 1928 "Litera thaana vaavu" + 1929 "Litera thaana meemu" + 1930 "Litera thaana faafu" + 1931 "Litera thaana dhaalu" + 1932 "Litera thaana thaa" + 1933 "Litera thaana laamu" + 1934 "Litera thaana gaafu" + 1935 "Litera thaana gnaviyani" + 1936 "Litera thaana seenu" + 1937 "Litera thaana daviyani" + 1938 "Litera thaana zaviyani" + 1939 "Litera thaana taviyani" + 1940 "Litera thaana yaa" + 1941 "Litera thaana paviyani" + 1942 "Litera thaana javiyani" + 1943 "Litera thaana chaviyani" + 1944 "Litera thaana ttaa" + 1945 "Litera thaana hhaa" + 1946 "Litera thaana khaa" + 1947 "Litera thaana thaalu" + 1948 "Litera thaana zaa" + 1949 "Litera thaana sheenu" + 1950 "Litera thaana saadhu" + 1951 "Litera thaana daadhu" + 1952 "Litera thaana to" + 1953 "Litera thaana zo" + 1954 "Litera thaana ainu" + 1955 "Litera thaana ghainu" + 1956 "Litera thaana qaafu" + 1957 "Litera thaana waavu" + 1958 "Semnul thaana abafili" + 1959 "Semnul thaana aabaafili" + 1960 "Semnul thaana ibifili" + 1961 "Semnul thaana eebeefili" + 1962 "Semnul thaana ubufili" + 1963 "Semnul thaana ooboofili" + 1964 "Semnul thaana ebefili" + 1965 "Semnul thaana eybeyfili" + 1966 "Semnul thaana obofili" + 1967 "Semnul thaana oaboafili" + 1968 "Semnul thaana sukun" + 1969 "Litera thaana naa" + 1984 "Cifra n-ko zero" + 1985 "Cifra n-ko unu" + 1986 "Cifra n-ko doi" + 1987 "Cifra n-ko trei" + 1988 "Cifra n-ko patru" + 1989 "Cifra n-ko cinci" + 1990 "Cifra n-ko șase" + 1991 "Cifra n-ko șapte" + 1992 "Cifra n-ko opt" + 1993 "Cifra n-ko nouă" + 1994 "Litera n-ko a" + 1995 "Litera n-ko ee" + 1996 "Litera n-ko i" + 1997 "Litera n-ko e" + 1998 "Litera n-ko u" + 1999 "Litera n-ko oo" + 2000 "Litera n-ko o" + 2001 "Litera n-ko dagbasinna" + 2002 "Litera n-ko n" + 2003 "Litera n-ko ba" + 2004 "Litera n-ko pa" + 2005 "Litera n-ko ta" + 2006 "Litera n-ko ja" + 2007 "Litera n-ko cha" + 2008 "Litera n-ko da" + 2009 "Litera n-ko ra" + 2010 "Litera n-ko rra" + 2011 "Litera n-ko sa" + 2012 "Litera n-ko gba" + 2013 "Litera n-ko fa" + 2014 "Litera n-ko ka" + 2015 "Litera n-ko la" + 2016 "Litera n-ko na woloso" + 2017 "Litera n-ko ma" + 2018 "Litera n-ko nya" + 2019 "Litera n-ko na" + 2020 "Litera n-ko ha" + 2021 "Litera n-ko wa" + 2022 "Litera n-ko ya" + 2023 "Litera n-ko nya woloso" + 2024 "Litera n-ko jona ja" + 2025 "Litera n-ko jona cha" + 2026 "Litera n-ko jona ra" + 2027 "Îmbinativ n-ko intonație ridicată scurtă" + 2028 "Îmbinativ n-ko intonație coborâtă scurtă" + 2029 "Îmbinativ n-ko intonație ascendentă scurtă" + 2030 "Îmbinativ n-ko intonație descendentă lungă" + 2031 "Îmbinativ n-ko intonație ridicată lungă" + 2032 "Îmbinativ n-ko intonație coborâtă lungă" + 2033 "Îmbinativ n-ko intonație ascendentă lungă" + 2034 "Îmbinativ n-ko însemn nazal" + 2035 "Îmbinativ n-ko punct dublu deasupra" + 2036 "Apostrof n-ko de intonație ridicată" + 2037 "Apostrof n-ko de intonație coborâtă" + 2038 "Simbolul n-ko oo dennen" + 2039 "Simbolul n-ko gbakurunen" + 2040 "Virgulă n-ko" + 2041 "Semn de exclamare n-ko" + 2042 "Lajanyalan n-ko" + 2048 "Litera samariteană alaf" + 2049 "Litera samariteană bit" + 2050 "Litera samariteană gaman" + 2051 "Litera samariteană dalat" + 2052 "Litera samariteană iy" + 2053 "Litera samariteană baa" + 2054 "Litera samariteană zen" + 2055 "Litera samariteană it" + 2056 "Litera samariteană tit" + 2057 "Litera samariteană yut" + 2058 "Litera samariteană kaaf" + 2059 "Litera samariteană labat" + 2060 "Litera samariteană mim" + 2061 "Litera samariteană nun" + 2062 "Litera samariteană singaat" + 2063 "Litera samariteană in" + 2064 "Litera samariteană fi" + 2065 "Litera samariteană tsaadiy" + 2066 "Litera samariteană quf" + 2067 "Litera samariteană rish" + 2068 "Litera samariteană shan" + 2069 "Litera samariteană taaf" + 2070 "Semnul samaritean in" + 2071 "Semnul samaritean in-alaf" + 2072 "Semnul samaritean occlusion" + 2073 "Semnul samaritean dagesh" + 2074 "Litera samariteană modificatoare yut epitetic" + 2075 "Semnul samaritean yut epitetic" + 2076 "Semnul samaritean vocală e lung" + 2077 "Semnul samaritean vocală e" + 2078 "Semnul samaritean vocală aa prelungit" + 2079 "Semnul samaritean vocală aa lung" + 2080 "Semnul samaritean vocală aa" + 2081 "Semnul samaritean vocală a prelungit" + 2082 "Semnul samaritean vocală a lung" + 2083 "Semnul samaritean vocală a" + 2084 "Litera samariteană modificatoare a scurt" + 2085 "Semnul samaritean vocală a scurt" + 2086 "Semnul samaritean vocală u lung" + 2087 "Semnul samaritean vocală u" + 2088 "Litera samariteană modificatoare i" + 2089 "Semnul samaritean vocală i lung" + 2090 "Semnul samaritean vocală i" + 2091 "Semnul samaritean vocală o" + 2092 "Semnul samaritean vocală sukun" + 2093 "Semnul samaritean nequdaa" + 2096 "Punctuația samariteană nequdaa" + 2097 "Punctuația samariteană afsaaq" + 2098 "Punctuația samariteană anged" + 2099 "Punctuația samariteană bau" + 2100 "Punctuația samariteană atmaau" + 2101 "Punctuația samariteană shiyyaalaa" + 2102 "Însemn samaritean de abreviere" + 2103 "Punctuația samariteană melodic qitsa" + 2104 "Punctuația samariteană ziqaa" + 2105 "Punctuația samariteană qitsa" + 2106 "Punctuația samariteană zaef" + 2107 "Punctuația samariteană turu" + 2108 "Punctuația samariteană arkaanu" + 2109 "Punctuația samariteană sof mashfaat" + 2110 "Punctuația samariteană annaau" + 2112 "Litera mandaică halqa" + 2113 "Litera mandaică ab" + 2114 "Litera mandaică ag" + 2115 "Litera mandaică ad" + 2116 "Litera mandaică ah" + 2117 "Litera mandaică ușenna" + 2118 "Litera mandaică az" + 2119 "Litera mandaică it" + 2120 "Litera mandaică att" + 2121 "Litera mandaică aksa" + 2122 "Litera mandaică ak" + 2123 "Litera mandaică al" + 2124 "Litera mandaică am" + 2125 "Litera mandaică an" + 2126 "Litera mandaică as" + 2127 "Litera mandaică in" + 2128 "Litera mandaică ap" + 2129 "Litera mandaică asz" + 2130 "Litera mandaică aq" + 2131 "Litera mandaică ar" + 2132 "Litera mandaică aș" + 2133 "Litera mandaică at" + 2134 "Litera mandaică dushenna" + 2135 "Litera mandaică kad" + 2136 "Litera mandaică ain" + 2137 "Însemnul fricativ mandaic" + 2138 "Însemnul vocalic mandaic" + 2139 "Însemn de împerechere mandaic" + 2142 "Punctuație mandaică" + 2208 "Litera arabă beh cu v dedesubt" + 2210 "Litera arabă jeem cu fouă puncte deasupra" + 2211 "Litera arabă tah cu două puncte deasupra" + 2212 "Litera arabă feh cu punct dedesubt și trei puncte deasupra" + 2213 "Litera arabă qaf cu punct dedesubt" + 2214 "Litera arabă lam dublu-barat" + 2215 "Litera arabă meem cu trei puncte deasupra" + 2216 "Litera arabă yeh cu două puncte dedesubt și hamza deasupra" + 2217 "Litera arabă yeh cu două puncte dedesubt și unul deasupra" + 2218 "Litera arabă reh cu buclă" + 2219 "Litera arabă waw cu punct dedesubt" + 2220 "Litera arabă rohingya yeh" + 2276 "Fatha arab cu încrețitură" + 2277 "Damma arab cu încrețitură" + 2278 "Kasra arab cu încrețitură" + 2279 "Fathatan arab cu încrețitură" + 2280 "Dammatan arab cu încrețitură" + 2281 "Kasratan arab cu încrețitură" + 2282 "Ton arab un punct deasupra" + 2283 "Ton arab două puncte deasupra" + 2284 "Ton arab buclă deasupra" + 2285 "Ton arab un punct dedesubt" + 2286 "Ton arab două puncte dedesubt" + 2287 "Ton arab buclă dedesubt" + 2288 "Fathatan arab deschis" + 2289 "Dammatan arab deschis" + 2290 "Kasratan arab deschis" + 2291 "Waw arab ridicat" + 2292 "Fatha arab cu inel" + 2293 "Fatha arab cu punct deasupra" + 2294 "Kasra arab cu punct dedesubt" + 2295 "Semnul arab vârf de săgeată spre stânga deasupra" + 2296 "Semnul arab vârf de săgeată spre dreapta deasupra" + 2297 "Semnul arab vârf de săgeată spre stânga dedesubt" + 2298 "Semnul arab vârf de săgeată spre dreapta dedesubt" + 2299 "Semnul arab dublu-vârf de săgeată spre dreapta deasupra" + 2300 "Semnul arab dublu-vârf de săgeată spre dreapta deasupra cu punct" + 2301 "Semnul arab vârf de săgeată spre dreapta deasupra cu punct" + 2302 "Damma arab cu punct" + 2304 "Semnul devanagari candrabindu inversat" + 2305 "Semnul devanagari candrabindu" + 2306 "Semnul devanagari anusvara" + 2307 "Semnul devanagari visarga" + 2308 "Litera devanagari a scurt" + 2309 "Litera devanagari a" + 2310 "Litera devanagari aa" + 2311 "Litera devanagari i" + 2312 "Litera devanagari ii" + 2313 "Litera devanagari u" + 2314 "Litera devanagari uu" + 2315 "Litera devanagari r vocal" + 2316 "Litera devanagari l vocal" + 2317 "Litera devanagari e candra" + 2318 "Litera devanagari e scurt" + 2319 "Litera devanagari e" + 2320 "Litera devanagari ai" + 2321 "Litera devanagari o candra" + 2322 "Litera devanagari o scurt" + 2323 "Litera devanagari o" + 2324 "Litera devanagari au" + 2325 "Litera devanagari ka" + 2326 "Litera devanagari kha" + 2327 "Litera devanagari ga" + 2328 "Litera devanagari gha" + 2329 "Litera devanagari nga" + 2330 "Litera devanagari ca" + 2331 "Litera devanagari cha" + 2332 "Litera devanagari ja" + 2333 "Litera devanagari jha" + 2334 "Litera devanagari nya" + 2335 "Litera devanagari tta" + 2336 "Litera devanagari ttha" + 2337 "Litera devanagari dda" + 2338 "Litera devanagari ddha" + 2339 "Litera devanagari nna" + 2340 "Litera devanagari ta" + 2341 "Litera devanagari tha" + 2342 "Litera devanagari da" + 2343 "Litera devanagari dha" + 2344 "Litera devanagari na" + 2345 "Litera devanagari nnna" + 2346 "Litera devanagari pa" + 2347 "Litera devanagari pha" + 2348 "Litera devanagari ba" + 2349 "Litera devanagari bha" + 2350 "Litera devanagari ma" + 2351 "Litera devanagari ya" + 2352 "Litera devanagari ra" + 2353 "Litera devanagari rra" + 2354 "Litera devanagari la" + 2355 "Litera devanagari lla" + 2356 "Litera devanagari llla" + 2357 "Litera devanagari va" + 2358 "Litera devanagari șa" + 2359 "Litera devanagari dsa" + 2360 "Litera devanagari da" + 2361 "Litera devanagari ha" + 2362 "Semnul devanagari oe vocal" + 2363 "Semnul devanagari ooe vocal" + 2364 "Semnul devanagari nukta" + 2365 "Semnul devanagari avagraha" + 2366 "Semnul devanagari vocală aa" + 2367 "Semnul devanagari vocală i" + 2368 "Semnul devanagari vocală ii" + 2369 "Semnul devanagari vocală u" + 2370 "Semnul devanagari vocală uu" + 2371 "Semnul devanagari vocală r vocal" + 2372 "Semnul devanagari vocală rr vocal" + 2373 "Semnul devanagari vocală e candra" + 2374 "Semnul devanagari vocală e scurt" + 2375 "Semnul devanagari vocală e" + 2376 "Semnul devanagari vocală ai" + 2377 "Semnul devanagari vocală o candra" + 2378 "Semnul devanagari vocală o scurt" + 2379 "Semnul devanagari vocală o" + 2380 "Semnul devanagari vocală au" + 2381 "Semnul devanagari virama" + 2382 "Semnul devanagari vocală e prishthamatra" + 2383 "Semnul devanagari vocală aw" + 2384 "Om devanagari" + 2385 "Semnul devanagari accent udatta" + 2386 "Semnul devanagari accent anudatta" + 2387 "Semnul devanagari accent grav" + 2388 "Semnul devanagari accent acut" + 2389 "Semnul devanagari vocală e candra lung" + 2390 "Semnul devanagari vocală ue" + 2391 "Semnul devanagari vocală uue" + 2392 "Litera devanagari qa" + 2393 "Litera devanagari khha" + 2394 "Litera devanagari ghha" + 2395 "Litera devanagari za" + 2396 "Litera devanagari dddha" + 2397 "Litera devanagari rha" + 2398 "Litera devanagari fa" + 2399 "Litera devanagari yya" + 2400 "Litera devanagari rr vocal" + 2401 "Litera devanagari ll vocal" + 2402 "Semnul devanagari vocală l vocal" + 2403 "Semnul devanagari vocală ll vocal" + 2404 "Danda devanagari" + 2405 "Dublu-danda devanagari" + 2406 "Cifra devanagari zero" + 2407 "Cifra devanagari unu" + 2408 "Cifra devanagari doi" + 2409 "Cifra devanagari trei" + 2410 "Cifra devanagari patru" + 2411 "Cifra devanagari cinci" + 2412 "Cifra devanagari șase" + 2413 "Cifra devanagari șapte" + 2414 "Cifra devanagari opt" + 2415 "Cifra devanagari nouă" + 2416 "Semnul devanagari abreviere" + 2417 "Semnul devanagari punct de spațiere ridicat" + 2418 "Litera devanagari a candra" + 2419 "Litera devanagari oe" + 2420 "Litera devanagari ooe" + 2421 "Litera devanagari aw" + 2422 "Litera devanagari ue" + 2423 "Litera devanagari uue" + 2425 "Litera devanagari zha" + 2426 "Litera devanagari ya greu" + 2427 "Litera devanagari gga" + 2428 "Litera devanagari jja" + 2429 "Litera devanagari stop glotal" + 2430 "Litera devanagari ddda" + 2431 "Litera devanagari bba" + 2433 "Semnul bengalez candrabindu" + 2434 "Semnul bengalez anusvara" + 2435 "Semnul bengalez visarga" + 2437 "Litera bengaleză a" + 2438 "Litera bengaleză aa" + 2439 "Litera bengaleză i" + 2440 "Litera bengaleză ii" + 2441 "Litera bengaleză u" + 2442 "Litera bengaleză uu" + 2443 "Litera bengaleză r vocal" + 2444 "Litera bengaleză l vocal" + 2447 "Litera bengaleză e" + 2448 "Litera bengaleză ai" + 2451 "Litera bengaleză o" + 2452 "Litera bengaleză au" + 2453 "Litera bengaleză ka" + 2454 "Litera bengaleză kha" + 2455 "Litera bengaleză ga" + 2456 "Litera bengaleză gha" + 2457 "Litera bengaleză nga" + 2458 "Litera bengaleză ca" + 2459 "Litera bengaleză cha" + 2460 "Litera bengaleză ja" + 2461 "Litera bengaleză jha" + 2462 "Litera bengaleză nya" + 2463 "Litera bengaleză tta" + 2464 "Litera bengaleză ttha" + 2465 "Litera bengaleză dda" + 2466 "Litera bengaleză ddha" + 2467 "Litera bengaleză nna" + 2468 "Litera bengaleză ta" + 2469 "Litera bengaleză tha" + 2470 "Litera bengaleză da" + 2471 "Litera bengaleză dha" + 2472 "Litera bengaleză na" + 2474 "Litera bengaleză pa" + 2475 "Litera bengaleză pha" + 2476 "Litera bengaleză ba" + 2477 "Litera bengaleză bha" + 2478 "Litera bengaleză ma" + 2479 "Litera bengaleză ya" + 2480 "Litera bengaleză ra" + 2482 "Litera bengaleză la" + 2486 "Litera bengaleză sha" + 2487 "Litera bengaleză ssa" + 2488 "Litera bengaleză sa" + 2489 "Litera bengaleză ha" + 2492 "Semnul bengalez nukta" + 2493 "Semnul bengalez avagraha" + 2494 "Semnul bengalez vocală aa" + 2495 "Semnul bengalez vocală i" + 2496 "Semnul bengalez vocală ii" + 2497 "Semnul bengalez vocală u" + 2498 "Semnul bengalez vocală uu" + 2499 "Semnul bengalez vocală r vocal" + 2500 "Semnul bengalez vocală rr vocal" + 2503 "Semnul bengalez vocală e" + 2504 "Semnul bengalez vocală ai" + 2507 "Semnul bengalez vocală o" + 2508 "Semnul bengalez vocală au" + 2509 "Semnul bengalez virama" + 2510 "Litera bengaleză ta khanda" + 2519 "Însemnul bengalez au de lungime" + 2524 "Litera bengaleză rra" + 2525 "Litera bengaleză rha" + 2527 "Litera bengaleză yya" + 2528 "Litera bengaleză rr vocal" + 2529 "Litera bengaleză ll vocal" + 2530 "Semnul bengalez vocală l vocal" + 2531 "Semnul bengalez vocală ll vocal" + 2534 "Cifra bengaleză zero" + 2535 "Cifra bengaleză unu" + 2536 "Cifra bengaleză doi" + 2537 "Cifra bengaleză trei" + 2538 "Cifra bengaleză patru" + 2539 "Cifra bengaleză cinci" + 2540 "Cifra bengaleză șase" + 2541 "Cifra bengaleză șapte" + 2542 "Cifra bengaleză opt" + 2543 "Cifra bengaleză nouă" + 2544 "Litera bengaleză ra cu diagonală mediană" + 2545 "Litera bengaleză ra cu diagonală coborâtă" + 2546 "Însemnul bengalez rupee" + 2547 "Semnul bengalez rupee" + 2548 "Numărător bengalez de valută unu" + 2549 "Numărător bengalez de valută doi" + 2550 "Numărător bengalez de valută trei" + 2551 "Numărător bengalez de valută patru" + 2552 "Numărător bengalez de valută cu unu mai puțin decât numitorul" + 2553 "Numitor bengalez de valută șaisprezece" + 2554 "Isshar bengalez" + 2555 "Însemn bengalez ganda" + 2561 "Semnul gurmukhi adak bindi" + 2562 "Semnul gurmukhi bindi" + 2563 "Semnul gurmukhi visarga" + 2565 "Litera gurmukhi a" + 2566 "Litera gurmukhi aa" + 2567 "Litera gurmukhi i" + 2568 "Litera gurmukhi ii" + 2569 "Litera gurmukhi u" + 2570 "Litera gurmukhi uu" + 2575 "Litera gurmukhi ee" + 2576 "Litera gurmukhi ai" + 2579 "Litera gurmukhi oo" + 2580 "Litera gurmukhi au" + 2581 "Litera gurmukhi ka" + 2582 "Litera gurmukhi kha" + 2583 "Litera gurmukhi ga" + 2584 "Litera gurmukhi gha" + 2585 "Litera gurmukhi nga" + 2586 "Litera gurmukhi ca" + 2587 "Litera gurmukhi cha" + 2588 "Litera gurmukhi ja" + 2589 "Litera gurmukhi jha" + 2590 "Litera gurmukhi nya" + 2591 "Litera gurmukhi tta" + 2592 "Litera gurmukhi ttha" + 2593 "Litera gurmukhi dda" + 2594 "Litera gurmukhi ddha" + 2595 "Litera gurmukhi nna" + 2596 "Litera gurmukhi ta" + 2597 "Litera gurmukhi tha" + 2598 "Litera gurmukhi da" + 2599 "Litera gurmukhi dha" + 2600 "Litera gurmukhi na" + 2602 "Litera gurmukhi pa" + 2603 "Litera gurmukhi pha" + 2604 "Litera gurmukhi ba" + 2605 "Litera gurmukhi bha" + 2606 "Litera gurmukhi ma" + 2607 "Litera gurmukhi ya" + 2608 "Litera gurmukhi ra" + 2610 "Litera gurmukhi la" + 2611 "Litera gurmukhi lla" + 2613 "Litera gurmukhi va" + 2614 "Litera gurmukhi sha" + 2616 "Litera gurmukhi sa" + 2617 "Litera gurmukhi ha" + 2620 "Semnul gurmukhi nukta" + 2622 "Semnul gurmukhi vocală aa" + 2623 "Semnul gurmukhi vocală i" + 2624 "Semnul gurmukhi vocală ii" + 2625 "Semnul gurmukhi vocală u" + 2626 "Semnul gurmukhi vocală uu" + 2631 "Semnul gurmukhi vocală ee" + 2632 "Semnul gurmukhi vocală ai" + 2635 "Semnul gurmukhi vocală oo" + 2636 "Semnul gurmukhi vocală au" + 2637 "Semnul gurmukhi virama" + 2641 "Semnul gurmukhi udaat" + 2649 "Litera gurmukhi khha" + 2650 "Litera gurmukhi ghha" + 2651 "Litera gurmukhi za" + 2652 "Litera gurmukhi rra" + 2654 "Litera gurmukhi fa" + 2662 "Cifra gurmukhi zero" + 2663 "Cifra gurmukhi unu" + 2664 "Cifra gurmukhi doi" + 2665 "Cifra gurmukhi trei" + 2666 "Cifra gurmukhi patru" + 2667 "Cifra gurmukhi cinci" + 2668 "Cifra gurmukhi șase" + 2669 "Cifra gurmukhi șapte" + 2670 "Cifra gurmukhi opt" + 2671 "Cifra gurmukhi nouă" + 2672 "Tippi gurmukhi" + 2673 "Addak gurmukhi" + 2674 "Iri gurmukhi" + 2675 "Ura gurmukhi" + 2676 "Ek onkar gurmukhi" + 2677 "Semnul gurmukhi yakash" + 2689 "Semnul gujarati candrabindu" + 2690 "Semnul gujarati anusvara" + 2691 "Semnul gujarati visarga" + 2693 "Litera gujarati a" + 2694 "Litera gujarati aa" + 2695 "Litera gujarati i" + 2696 "Litera gujarati ii" + 2697 "Litera gujarati u" + 2698 "Litera gujarati uu" + 2699 "Litera gujarati r vocal" + 2700 "Litera gujarati l vocal" + 2701 "Vocala gujarati e candra" + 2703 "Litera gujarati e" + 2704 "Litera gujarati ai" + 2705 "Vocala gujarati o candra" + 2707 "Litera gujarati o" + 2708 "Litera gujarati au" + 2709 "Litera gujarati ka" + 2710 "Litera gujarati kha" + 2711 "Litera gujarati ga" + 2712 "Litera gujarati gha" + 2713 "Litera gujarati nga" + 2714 "Litera gujarati ca" + 2715 "Litera gujarati cha" + 2716 "Litera gujarati ja" + 2717 "Litera gujarati jha" + 2718 "Litera gujarati nya" + 2719 "Litera gujarati tta" + 2720 "Litera gujarati ttha" + 2721 "Litera gujarati dda" + 2722 "Litera gujarati ddha" + 2723 "Litera gujarati nna" + 2724 "Litera gujarati ta" + 2725 "Litera gujarati tha" + 2726 "Litera gujarati da" + 2727 "Litera gujarati dha" + 2728 "Litera gujarati na" + 2730 "Litera gujarati pa" + 2731 "Litera gujarati pha" + 2732 "Litera gujarati ba" + 2733 "Litera gujarati bha" + 2734 "Litera gujarati ma" + 2735 "Litera gujarati ya" + 2736 "Litera gujarati ra" + 2738 "Litera gujarati la" + 2739 "Litera gujarati lla" + 2741 "Litera gujarati va" + 2742 "Litera gujarati sha" + 2743 "Litera gujarati ssa" + 2744 "Litera gujarati sa" + 2745 "Litera gujarati ha" + 2748 "Semnul gujarati nukta" + 2749 "Semnul gujarati avagraha" + 2750 "Semnul gujarati vocală aa" + 2751 "Semnul gujarati vocală i" + 2752 "Semnul gujarati vocală ii" + 2753 "Semnul gujarati vocală u" + 2754 "Semnul gujarati vocală uu" + 2755 "Semnul gujarati vocală r vocal" + 2756 "Semnul gujarati vocală rr vocal" + 2757 "Semnul gujarati vocală e candra" + 2759 "Semnul gujarati vocală e" + 2760 "Semnul gujarati vocală ai" + 2761 "Semnul gujarati vocală o candra" + 2763 "Semnul gujarati vocală o" + 2764 "Semnul gujarati vocală au" + 2765 "Semnul gujarati virama" + 2768 "Om gujarati" + 2784 "Litera gujarati rr vocal" + 2785 "Litera gujarati ll vocal" + 2786 "Semnul gujarati vocală l vocal" + 2787 "Semnul gujarati vocală ll vocal" + 2790 "Cifra gujarati zero" + 2791 "Cifra gujarati unu" + 2792 "Cifra gujarati doi" + 2793 "Cifra gujarati trei" + 2794 "Cifra gujarati patru" + 2795 "Cifra gujarati cinci" + 2796 "Cifra gujarati șase" + 2797 "Cifra gujarati șapte" + 2798 "Cifra gujarati opt" + 2799 "Cifra gujarati nouă" + 2800 "Semnul gujarati abreviere" + 2801 "Semnul gujarati rupee" + 2817 "Semnul oriya candrabindu" + 2818 "Semnul oriya anusvara" + 2819 "Semnul oriya visarga" + 2821 "Litera oriya a" + 2822 "Litera oriya aa" + 2823 "Litera oriya i" + 2824 "Litera oriya ii" + 2825 "Litera oriya u" + 2826 "Litera oriya uu" + 2827 "Litera oriya r vocal" + 2828 "Litera oriya l vocal" + 2831 "Litera oriya e" + 2832 "Litera oriya ai" + 2835 "Litera oriya o" + 2836 "Litera oriya au" + 2837 "Litera oriya ka" + 2838 "Litera oriya kha" + 2839 "Litera oriya ga" + 2840 "Litera oriya gha" + 2841 "Litera oriya nga" + 2842 "Litera oriya ca" + 2843 "Litera oriya cha" + 2844 "Litera oriya ja" + 2845 "Litera oriya jha" + 2846 "Litera oriya nya" + 2847 "Litera oriya tta" + 2848 "Litera oriya ttha" + 2849 "Litera oriya dda" + 2850 "Litera oriya ddha" + 2851 "Litera oriya nna" + 2852 "Litera oriya ta" + 2853 "Litera oriya tha" + 2854 "Litera oriya da" + 2855 "Litera oriya dha" + 2856 "Litera oriya na" + 2858 "Litera oriya pa" + 2859 "Litera oriya pha" + 2860 "Litera oriya ba" + 2861 "Litera oriya bha" + 2862 "Litera oriya ma" + 2863 "Litera oriya ya" + 2864 "Litera oriya ra" + 2866 "Litera oriya la" + 2867 "Litera oriya lla" + 2869 "Litera oriya va" + 2870 "Litera oriya sha" + 2871 "Litera oriya ssa" + 2872 "Litera oriya sa" + 2873 "Litera oriya ha" + 2876 "Semnul oriya nukta" + 2877 "Semnul oriya avagraha" + 2878 "Semnul oriya vocală aa" + 2879 "Semnul oriya vocală i" + 2880 "Semnul oriya vocală ii" + 2881 "Semnul oriya vocală u" + 2882 "Semnul oriya vocală uu" + 2883 "Semnul oriya vocală r vocal" + 2884 "Semnul oriya vocală rr vocal" + 2887 "Semnul oriya vocală e" + 2888 "Semnul oriya vocală ai" + 2891 "Semnul oriya vocală o" + 2892 "Semnul oriya vocală au" + 2893 "Semnul oriya virama" + 2902 "Însemnul oriya ai de lungime" + 2903 "Însemnul oriya au de lungime" + 2908 "Litera oriya rra" + 2909 "Litera oriya rha" + 2911 "Litera oriya yya" + 2912 "Litera oriya rr vocal" + 2913 "Litera oriya ll vocal" + 2914 "Semnul oriya vocală l vocal" + 2915 "Semnul oriya vocală ll vocal" + 2918 "Cifra oriya zero" + 2919 "Cifra oriya unu" + 2920 "Cifra oriya doi" + 2921 "Cifra oriya trei" + 2922 "Cifra oriya patru" + 2923 "Cifra oriya cinci" + 2924 "Cifra oriya șase" + 2925 "Cifra oriya șapte" + 2926 "Cifra oriya opt" + 2927 "Cifra oriya nouă" + 2928 "Isshar oriya" + 2929 "Litera oriya wa" + 2930 "Fracția oriya un sfert" + 2931 "Fracția oriya o jumătate" + 2932 "Fracția oriya trei sferturi" + 2933 "Fracția oriya o șaisprezecime" + 2934 "Fracția oriya o optime" + 2935 "Fracția oriya trei șaisprezecimi" + 2946 "Semnul tamil anusvara" + 2947 "Semnul tamil visarga" + 2949 "Litera tamilă a" + 2950 "Litera tamilă aa" + 2951 "Litera tamilă i" + 2952 "Litera tamilă ii" + 2953 "Litera tamilă u" + 2954 "Litera tamilă uu" + 2958 "Litera tamilă e" + 2959 "Litera tamilă ee" + 2960 "Litera tamilă ai" + 2962 "Litera tamilă o" + 2963 "Litera tamilă oo" + 2964 "Litera tamilă au" + 2965 "Litera tamilă aa" + 2969 "Litera tamilă nga" + 2970 "Litera tamilă ca" + 2972 "Litera tamilă ja" + 2974 "Litera tamilă nya" + 2975 "Litera tamilă tta" + 2979 "Litera tamilă nna" + 2980 "Litera tamilă ta" + 2984 "Litera tamilă na" + 2985 "Litera tamilă nnna" + 2986 "Litera tamilă pa" + 2990 "Litera tamilă ma" + 2991 "Litera tamilă ya" + 2992 "Litera tamilă ra" + 2993 "Litera tamilă rra" + 2994 "Litera tamilă la" + 2995 "Litera tamilă lla" + 2996 "Litera tamilă llla" + 2997 "Litera tamilă va" + 2998 "Litera tamilă sha" + 2999 "Litera tamilă ssa" + 3000 "Litera tamilă sa" + 3001 "Litera tamilă ha" + 3006 "Semnul tamil vocală aa" + 3007 "Semnul tamil vocală i" + 3008 "Semnul tamil vocală ii" + 3009 "Semnul tamil vocală u" + 3010 "Semnul tamil vocală uu" + 3014 "Semnul tamil vocală e" + 3015 "Semnul tamil vocală ee" + 3016 "Semnul tamil vocală ai" + 3018 "Semnul tamil vocală o" + 3019 "Semnul tamil vocală oo" + 3020 "Semnul tamil vocală au" + 3021 "Semnul tamil virama" + 3024 "Om tamil" + 3031 "Însemnul tamil au de lungime" + 3046 "Cifra tamilă zero" + 3047 "Cifra tamilă unu" + 3048 "Cifra tamilă doi" + 3049 "Cifra tamilă trei" + 3050 "Cifra tamilă patru" + 3051 "Cifra tamilă cinci" + 3052 "Cifra tamilă șase" + 3053 "Cifra tamilă șapte" + 3054 "Cifra tamilă opt" + 3055 "Cifra tamilă nouă" + 3056 "Numărul tamil zece" + 3057 "Numărul tamil o sută" + 3058 "Numărul tamil o mie" + 3059 "Semnul tamil ziuă" + 3060 "Semnul tamil lună" + 3061 "Semnul tamil an" + 3062 "Semnul tamil debit" + 3063 "Semnul tamil credit" + 3064 "Semnul tamil ca deasupra" + 3065 "Semnul tamil rupee" + 3066 "Semnul tamil număr" + 3073 "Semnul telugu candrabindu" + 3074 "Semnul telugu anusvara" + 3075 "Semnul telugu visarga" + 3077 "Litera telugu a" + 3078 "Litera telugu aa" + 3079 "Litera telugu i" + 3080 "Litera telugu ii" + 3081 "Litera telugu u" + 3082 "Litera telugu uu" + 3083 "Litera telugu r vocal" + 3084 "Litera telugu l vocal" + 3086 "Litera telugu e" + 3087 "Litera telugu ee" + 3088 "Litera telugu ai" + 3090 "Litera telugu o" + 3091 "Litera telugu oo" + 3092 "Litera telugu au" + 3093 "Litera telugu ka" + 3094 "Litera telugu kha" + 3095 "Litera telugu ga" + 3096 "Litera telugu gha" + 3097 "Litera telugu nga" + 3098 "Litera telugu ca" + 3099 "Litera telugu cha" + 3100 "Litera telugu ja" + 3101 "Litera telugu jha" + 3102 "Litera telugu nya" + 3103 "Litera telugu tta" + 3104 "Litera telugu ttha" + 3105 "Litera telugu dda" + 3106 "Litera telugu ddha" + 3107 "Litera telugu nna" + 3108 "Litera telugu ta" + 3109 "Litera telugu tha" + 3110 "Litera telugu da" + 3111 "Litera telugu dha" + 3112 "Litera telugu na" + 3114 "Litera telugu pa" + 3115 "Litera telugu pha" + 3116 "Litera telugu ba" + 3117 "Litera telugu bha" + 3118 "Litera telugu ma" + 3119 "Litera telugu ya" + 3120 "Litera telugu ra" + 3121 "Litera telugu rra" + 3122 "Litera telugu la" + 3123 "Litera telugu lla" + 3125 "Litera telugu va" + 3126 "Litera telugu sha" + 3127 "Litera telugu ssa" + 3128 "Litera telugu sa" + 3129 "Litera telugu ha" + 3133 "Semnul telugu avagraha" + 3134 "Semnul telugu vocală aa" + 3135 "Semnul telugu vocală i" + 3136 "Semnul telugu vocală ii" + 3137 "Semnul telugu vocală u" + 3138 "Semnul telugu vocală uu" + 3139 "Semnul telugu vocală r vocal" + 3140 "Semnul telugu vocală rr vocal" + 3142 "Semnul telugu vocală e" + 3143 "Semnul telugu vocală ee" + 3144 "Semnul telugu vocală ai" + 3146 "Semnul telugu vocală o" + 3147 "Semnul telugu vocală oo" + 3148 "Semnul telugu vocală au" + 3149 "Semnul telugu virama" + 3157 "Însemnul telugu pentru lungime" + 3158 "Însemnul telugu ai de lungime" + 3160 "Litera telugu tsa" + 3161 "Litera telugu dza" + 3168 "Litera telugu rr vocal" + 3169 "Litera telugu ll vocal" + 3170 "Semnul telugu vocală l vocal" + 3171 "Semnul telugu vocală ll vocal" + 3174 "Cifra telugu zero" + 3175 "Cifra telugu unu" + 3176 "Cifra telugu doi" + 3177 "Cifra telugu trei" + 3178 "Cifra telugu patru" + 3179 "Cifra telugu cinci" + 3180 "Cifra telugu șase" + 3181 "Cifra telugu șapte" + 3182 "Cifra telugu opt" + 3183 "Cifra telugu nouă" + 3192 "Cifra telugu fracționară zero pentru puteri impare a lui patru" + 3193 "Cifra telugu fracționară unu pentru puteri impare a lui patru" + 3194 "Cifra telugu fracționară doi pentru puteri impare a lui patru" + 3195 "Cifra telugu fracționară trei pentru puteri impare a lui patru" + 3196 "Cifra telugu fracționară unu pentru puteri pare a lui patru" + 3197 "Cifra telugu fracționară doi pentru puteri pare a lui patru" + 3198 "Cifra telugu fracționară trei pentru puteri pare a lui patru" + 3199 "Semnul telugu tuumu" + 3202 "Semnul kannada anusvara" + 3203 "Semnul kannada visarga" + 3205 "Litera kannada a" + 3206 "Litera kannada aa" + 3207 "Litera kannada i" + 3208 "Litera kannada ii" + 3209 "Litera kannada u" + 3210 "Litera kannada uu" + 3211 "Litera kannada r vocal" + 3212 "Litera kannada l vocal" + 3214 "Litera kannada e" + 3215 "Litera kannada ee" + 3216 "Litera kannada ai" + 3218 "Litera kannada o" + 3219 "Litera kannada oo" + 3220 "Litera kannada au" + 3221 "Litera kannada ka" + 3222 "Litera kannada kha" + 3223 "Litera kannada ga" + 3224 "Litera kannada gha" + 3225 "Litera kannada nga" + 3226 "Litera kannada ca" + 3227 "Litera kannada cha" + 3228 "Litera kannada ja" + 3229 "Litera kannada jha" + 3230 "Litera kannada nya" + 3231 "Litera kannada tta" + 3232 "Litera kannada ttha" + 3233 "Litera kannada dda" + 3234 "Litera kannada ddha" + 3235 "Litera kannada nna" + 3236 "Litera kannada ta" + 3237 "Litera kannada tha" + 3238 "Litera kannada da" + 3239 "Litera kannada dha" + 3240 "Litera kannada na" + 3242 "Litera kannada pa" + 3243 "Litera kannada pha" + 3244 "Litera kannada ba" + 3245 "Litera kannada bha" + 3246 "Litera kannada ma" + 3247 "Litera kannada ya" + 3248 "Litera kannada ra" + 3249 "Litera kannada rra" + 3250 "Litera kannada la" + 3251 "Litera kannada lla" + 3253 "Litera kannada va" + 3254 "Litera kannada sha" + 3255 "Litera kannada ssa" + 3256 "Litera kannada sa" + 3257 "Litera kannada ha" + 3260 "Semnul kannada nukta" + 3261 "Semnul kannada avagraha" + 3262 "Semnul kannada vocală aa" + 3263 "Semnul kannada vocală i" + 3264 "Semnul kannada vocală ii" + 3265 "Semnul kannada vocală u" + 3266 "Semnul kannada vocală uu" + 3267 "Semnul kannada vocală r vocal" + 3268 "Semnul kannada vocală rr vocal" + 3270 "Semnul kannada vocală e" + 3271 "Semnul kannada vocală ee" + 3272 "Semnul kannada vocală ai" + 3274 "Semnul kannada vocală o" + 3275 "Semnul kannada vocală oo" + 3276 "Semnul kannada vocală au" + 3277 "Semnul kannada virama" + 3285 "Semnul kannada pentru lungime" + 3286 "Semnul kannada ai de lungime" + 3294 "Litera kannada fa" + 3296 "Litera kannada rr vocal" + 3297 "Litera kannada ll vocal" + 3298 "Semnul kannada vocală l vocal" + 3299 "Semnul kannada vocală ll vocal" + 3302 "Cifra kannada zero" + 3303 "Cifra kannada unu" + 3304 "Cifra kannada doi" + 3305 "Cifra kannada trei" + 3306 "Cifra kannada patru" + 3307 "Cifra kannada cinci" + 3308 "Cifra kannada șase" + 3309 "Cifra kannada șapte" + 3310 "Cifra kannada opt" + 3311 "Cifra kannada nouă" + 3313 "Semnul kannada jihvamuliya" + 3314 "Semnul kannada upadhmaniya" + 3330 "Semnul malayalam anusvara" + 3331 "Semnul malayalam visarga" + 3333 "Litera malayalam a" + 3334 "Litera malayalam aa" + 3335 "Litera malayalam i" + 3336 "Litera malayalam ii" + 3337 "Litera malayalam u" + 3338 "Litera malayalam uu" + 3339 "Litera malayalam r vocal" + 3340 "Litera malayalam l vocal" + 3342 "Litera malayalam e" + 3343 "Litera malayalam ee" + 3344 "Litera malayalam ai" + 3346 "Litera malayalam o" + 3347 "Litera malayalam oo" + 3348 "Litera malayalam au" + 3349 "Litera malayalam ka" + 3350 "Litera malayalam kha" + 3351 "Litera malayalam ga" + 3352 "Litera malayalam gha" + 3353 "Litera malayalam nga" + 3354 "Litera malayalam ca" + 3355 "Litera malayalam cha" + 3356 "Litera malayalam ja" + 3357 "Litera malayalam jha" + 3358 "Litera malayalam nya" + 3359 "Litera malayalam tta" + 3360 "Litera malayalam ttha" + 3361 "Litera malayalam dda" + 3362 "Litera malayalam ddha" + 3363 "Litera malayalam nna" + 3364 "Litera malayalam ta" + 3365 "Litera malayalam tha" + 3366 "Litera malayalam da" + 3367 "Litera malayalam dha" + 3368 "Litera malayalam na" + 3369 "Litera malayalam nnna" + 3370 "Litera malayalam pa" + 3371 "Litera malayalam pha" + 3372 "Litera malayalam ba" + 3373 "Litera malayalam bha" + 3374 "Litera malayalam ma" + 3375 "Litera malayalam ya" + 3376 "Litera malayalam ra" + 3377 "Litera malayalam rra" + 3378 "Litera malayalam la" + 3379 "Litera malayalam lla" + 3380 "Litera malayalam llla" + 3381 "Litera malayalam va" + 3382 "Litera malayalam sha" + 3383 "Litera malayalam ssa" + 3384 "Litera malayalam sa" + 3385 "Litera malayalam ha" + 3386 "Litera malayalam ttta" + 3389 "Semnul malayalam avagraha" + 3390 "Semnul malayalam vocală aa" + 3391 "Semnul malayalam vocală i" + 3392 "Semnul malayalam vocală ii" + 3393 "Semnul malayalam vocală u" + 3394 "Semnul malayalam vocală uu" + 3395 "Semnul malayalam vocală r vocal" + 3396 "Semnul malayalam vocală rr vocal" + 3398 "Semnul malayalam vocală e" + 3399 "Semnul malayalam vocală ee" + 3400 "Semnul malayalam vocală ai" + 3402 "Semnul malayalam vocală o" + 3403 "Semnul malayalam vocală oo" + 3404 "Semnul malayalam vocală au" + 3405 "Semnul malayalam virama" + 3406 "Litera malayalam punct reph" + 3415 "Însemnul malayalam au de lungime" + 3424 "Litera malayalam rr vocal" + 3425 "Litera malayalam ll vocal" + 3426 "Semnul malayalam vocală l vocal" + 3427 "Semnul malayalam vocală ll vocal" + 3430 "Cifra malayalam zero" + 3431 "Cifra malayalam unu" + 3432 "Cifra malayalam doi" + 3433 "Cifra malayalam trei" + 3434 "Cifra malayalam patru" + 3435 "Cifra malayalam cinci" + 3436 "Cifra malayalam șase" + 3437 "Cifra malayalam șapte" + 3438 "Cifra malayalam opt" + 3439 "Cifra malayalam nouă" + 3440 "Numărul malayalam zece" + 3441 "Numărul malayalam o sută" + 3442 "Numărul malayalam o mie" + 3443 "Fracția malayalam un sfert" + 3444 "Fracția malayalam o jumătate" + 3445 "Fracția malayalam trei sferturi" + 3449 "Însemnul malayalam pentru dată" + 3450 "Litera malayalam nn chillu" + 3451 "Litera malayalam n chillu" + 3452 "Litera malayalam rr chillu" + 3453 "Litera malayalam l chillu" + 3454 "Litera malayalam ll chillu" + 3455 "Litera malayalam k chillu" + 3458 "Semnul singalez anusvaraya" + 3459 "Semnul singalez visargaya" + 3461 "Litera singaleză ayanna" + 3462 "Litera singaleză aayanna" + 3463 "Litera singaleză aeyanna" + 3464 "Litera singaleză aeeyanna" + 3465 "Litera singaleză iyanna" + 3466 "Litera singaleză iiyanna" + 3467 "Litera singaleză uyanna" + 3468 "Litera singaleză uuyanna" + 3469 "Litera singaleză iruyanna" + 3470 "Litera singaleză iruuyanna" + 3471 "Litera singaleză iluyanna" + 3472 "Litera singaleză iluuyanna" + 3473 "Litera singaleză eyanna" + 3474 "Litera singaleză eeyanna" + 3475 "Litera singaleză aiyanna" + 3476 "Litera singaleză oyanna" + 3477 "Litera singaleză ooyanna" + 3478 "Litera singaleză auyanna" + 3482 "Litera singaleză alpapraana kayanna" + 3483 "Litera singaleză mahaapraana kayanna" + 3484 "Litera singaleză alpapraana gayanna" + 3485 "Litera singaleză mahaapraana gayanna" + 3486 "Litera singaleză kantaja naasikyaya" + 3487 "Litera singaleză sanyaka gayanna" + 3488 "Litera singaleză alpapraana cayanna" + 3489 "Litera singaleză mahaapraana cayanna" + 3490 "Litera singaleză alpapraana jayanna" + 3491 "Litera singaleză mahaapraana jayanna" + 3492 "Litera singaleză taaluja naasikyaya" + 3493 "Litera singaleză taaluja sanyooga naaksikyaya" + 3494 "Litera singaleză sanyaka jayanna" + 3495 "Litera singaleză alpapraana ttayanna" + 3496 "Litera singaleză mahaapraana ttayanna" + 3497 "Litera singaleză alpapraana ddayanna" + 3498 "Litera singaleză mahaapraana ddayanna" + 3499 "Litera singaleză muurdhaja nayanna" + 3500 "Litera singaleză sanyaka ddayanna" + 3501 "Litera singaleză alpapraana tayanna" + 3502 "Litera singaleză mahaapraana tayanna" + 3503 "Litera singaleză alpapraana dayanna" + 3504 "Litera singaleză mahaapraana dayanna" + 3505 "Litera singaleză dantaja nayanna" + 3507 "Litera singaleză sanyaka dayanna" + 3508 "Litera singaleză alpapraana payanna" + 3509 "Litera singaleză mahaapraana payanna" + 3510 "Litera singaleză alpapraana bayanna" + 3511 "Litera singaleză mahaapraana bayanna" + 3512 "Litera singaleză mayanna" + 3513 "Litera singaleză amba bayanna" + 3514 "Litera singaleză yayanna" + 3515 "Litera singaleză rayanna" + 3517 "Litera singaleză dantaja layanna" + 3520 "Litera singaleză vayanna" + 3521 "Litera singaleză taaluja sayanna" + 3522 "Litera singaleză muurdhaja sayanna" + 3523 "Litera singaleză dantaja sayanna" + 3524 "Litera singaleză hayanna" + 3525 "Litera singaleză muurdhaja layanna" + 3526 "Litera singaleză fayanna" + 3530 "Semnul singalez al-lakuna" + 3535 "Semnul singalez vocală aela-pilla" + 3536 "Semnul singalez vocală ketti aeda-pilla" + 3537 "Semnul singalez vocală diga aeda-pilla" + 3538 "Semnul singalez vocală ketti is-pilla" + 3539 "Semnul singalez vocală diga is-pilla" + 3540 "Semnul singalez vocală ketti paa-pilla" + 3542 "Semnul singalez vocală diga paa-pilla" + 3544 "Semnul singalez vocală gaetta-pilla" + 3545 "Semnul singalez vocală kombuva" + 3546 "Semnul singalez vocală diga kombuva" + 3547 "Semnul singalez vocală kombu deka" + 3548 "Semnul singalez vocală kombuva haa aela-pilla" + 3549 "Semnul singalez vocală kombuva haa diga aela-pilla" + 3550 "Semnul singalez vocală kombuva haa gayanukitta" + 3551 "Semnul singalez vocală gayanukitta" + 3570 "Semnul singalez vocală diga gaetta-pilla" + 3571 "Semnul singalez vocală diga gayanukitta" + 3572 "Punctuația singaleză kunddaliya" + 3585 "Caracterul thailandez ko kai" + 3586 "Caracterul thailandez kho khai" + 3587 "Caracterul thailandez kho khuat" + 3588 "Caracterul thailandez kho khwai" + 3589 "Caracterul thailandez kho khon" + 3590 "Caracterul thailandez kho rakhang" + 3591 "Caracterul thailandez ngo ngu" + 3592 "Caracterul thailandez cho chan" + 3593 "Caracterul thailandez cho ching" + 3594 "Caracterul thailandez cho chang" + 3595 "Caracterul thailandez so so" + 3596 "Caracterul thailandez cho choe" + 3597 "Caracterul thailandez yo ying" + 3598 "Caracterul thailandez do chada" + 3599 "Caracterul thailandez to patak" + 3600 "Caracterul thailandez tho than" + 3601 "Caracterul thailandez tho nangmontho" + 3602 "Caracterul thailandez tho phuthao" + 3603 "Caracterul thailandez no nen" + 3604 "Caracterul thailandez do dek" + 3605 "Caracterul thailandez to tao" + 3606 "Caracterul thailandez tho thung" + 3607 "Caracterul thailandez tho thahan" + 3608 "Caracterul thailandez tho thong" + 3609 "Caracterul thailandez no nu" + 3610 "Caracterul thailandez bo baimai" + 3611 "Caracterul thailandez po pla" + 3612 "Caracterul thailandez pho phung" + 3613 "Caracterul thailandez fo fa" + 3614 "Caracterul thailandez pho phan" + 3615 "Caracterul thailandez fo fan" + 3616 "Caracterul thailandez pho samphao" + 3617 "Caracterul thailandez mo ma" + 3618 "Caracterul thailandez yo yak" + 3619 "Caracterul thailandez ro rua" + 3620 "Caracterul thailandez ru" + 3621 "Caracterul thailandez lo ling" + 3622 "Caracterul thailandez lu" + 3623 "Caracterul thailandez wo waen" + 3624 "Caracterul thailandez so sala" + 3625 "Caracterul thailandez so rusi" + 3626 "Caracterul thailandez so sua" + 3627 "Caracterul thailandez ho hip" + 3628 "Caracterul thailandez lo chula" + 3629 "Caracterul thailandez o ang" + 3630 "Caracterul thailandez ho nokhuk" + 3631 "Caracterul thailandez paiyannoi" + 3632 "Caracterul thailandez sara a" + 3633 "Caracterul thailandez mai han-akat" + 3634 "Caracterul thailandez sara aa" + 3635 "Caracterul thailandez sara am" + 3636 "Caracterul thailandez sara i" + 3637 "Caracterul thailandez sara ii" + 3638 "Caracterul thailandez sara ue" + 3639 "Caracterul thailandez sara uee" + 3640 "Caracterul thailandez sara u" + 3641 "Caracterul thailandez sara uu" + 3642 "Caracterul thailandez phinthu" + 3647 "Simbolul thailandez valutar baht" + 3648 "Caracterul thailandez sara e" + 3649 "Caracterul thailandez sara ae" + 3650 "Caracterul thailandez sara o" + 3651 "Caracterul thailandez sara ai maimuan" + 3652 "Caracterul thailandez sara ai maimalai" + 3653 "Caracterul thailandez lakkhangyao" + 3654 "Caracterul thailandez maiyamok" + 3655 "Caracterul thailandez maitaikhu" + 3656 "Caracterul thailandez mai ek" + 3657 "Caracterul thailandez mai tho" + 3658 "Caracterul thailandez mai tri" + 3659 "Caracterul thailandez mai chattawa" + 3660 "Caracterul thailandez thanthakhat" + 3661 "Caracterul thailandez nikhahit" + 3662 "Caracterul thailandez yamakkan" + 3663 "Caracterul thailandez fongman" + 3664 "Cifra thailandeză zero" + 3665 "Cifra thailandeză unu" + 3666 "Cifra thailandeză doi" + 3667 "Cifra thailandeză trei" + 3668 "Cifra thailandeză patru" + 3669 "Cifra thailandeză cinci" + 3670 "Cifra thailandeză șase" + 3671 "Cifra thailandeză șapte" + 3672 "Cifra thailandeză opt" + 3673 "Cifra thailandeză nouă" + 3674 "Caracterul thailandez angkhankhu" + 3675 "Caracterul thailandez khomut" + 3713 "Litera laoțiană ko" + 3714 "Litera laoțiană kho sung" + 3716 "Litera laoțiană kho tam" + 3719 "Litera laoțiană ngo" + 3720 "Litera laoțiană co" + 3722 "Litera laoțiană so tam" + 3725 "Litera laoțiană nyo" + 3732 "Litera laoțiană do" + 3733 "Litera laoțiană to" + 3734 "Litera laoțiană tho sung" + 3735 "Litera laoțiană tho tam" + 3737 "Litera laoțiană no" + 3738 "Litera laoțiană bo" + 3739 "Litera laoțiană po" + 3740 "Litera laoțiană pho sung" + 3741 "Litera laoțiană fo tam" + 3742 "Litera laoțiană pho tam" + 3743 "Litera laoțiană fo sung" + 3745 "Litera laoțiană mo" + 3746 "Litera laoțiană yo" + 3747 "Litera laoțiană lo ling" + 3749 "Litera laoțiană lo loot" + 3751 "Litera laoțiană wo" + 3754 "Litera laoțiană so sung" + 3755 "Litera laoțiană ho sung" + 3757 "Litera laoțiană o" + 3758 "Litera laoțiană ho tam" + 3759 "Elipsa laoțiană" + 3760 "Semnul laoțian vocală a" + 3761 "Semnul laoțian vocală mai kan" + 3762 "Semnul laoțian vocală aa" + 3763 "Semnul laoțian vocală am" + 3764 "Semnul laoțian vocală i" + 3765 "Semnul laoțian vocală ii" + 3766 "Semnul laoțian vocală y" + 3767 "Semnul laoțian vocală yy" + 3768 "Semnul laoțian vocală u" + 3769 "Semnul laoțian vocală uu" + 3771 "Semnul laoțian vocală mai kon" + 3772 "Semnul laoțian semivocală lo" + 3773 "Semnul laoțian semivocală nyo" + 3776 "Semnul laoțian vocală e" + 3777 "Semnul laoțian vocală ei" + 3778 "Semnul laoțian vocală o" + 3779 "Semnul laoțian vocală ay" + 3780 "Semnul laoțian vocală ai" + 3782 "Ko la laoțian" + 3784 "Tonul laoțian mai ek" + 3785 "Tonul laoțian mai tho" + 3786 "Tonul laoțian mai ti" + 3787 "Tonul laoțian mai catawa" + 3788 "Însemnul laoțian de anulare" + 3789 "Niggahita laoțian" + 3792 "Cifra laoțiană zero" + 3793 "Cifra laoțiană unu" + 3794 "Cifra laoțiană doi" + 3795 "Cifra laoțiană trei" + 3796 "Cifra laoțiană patru" + 3797 "Cifra laoțiană cinci" + 3798 "Cifra laoțiană șase" + 3799 "Cifra laoțiană șapte" + 3800 "Cifra laoțiană opt" + 3801 "Cifra laoțiană nouă" + 3804 "Ho no laoțian" + 3805 "Ho mo laoțian" + 3806 "Litera laoțiană khmu go" + 3807 "Litera laoțiană khmu nyo" + 3840 "Silaba tibetană om" + 3841 "Însemnul tibetan gter yig mgo - a trunchiat" + 3842 "Însemnul tibetan gter yig mgo -um rnam bcad ma" + 3843 "Însemnul tibetan gter yig mgo -um gter tsheg ma" + 3844 "Însemnul tibetan de deschidere yig mgo mdun ma" + 3845 "Însemnul tibetan de încheiere yig mgo sgab ma" + 3846 "Însemnul tibetan de omisiune yig mgo phur shad ma" + 3847 "Însemnul tibetan yig mgo tsheg shad ma" + 3848 "Însemnul tibetan sbrul shad" + 3849 "Însemnul tibetan bskur yig mgo" + 3850 "Însemnul tibetan bka- shog yig mgo" + 3851 "Însemnul tibetan intersilabic tsheg" + 3852 "Însemnul tibetan delimitor tsheg bstar" + 3853 "Însemnul tibetan shad" + 3854 "Însemnul tibetan nyis shad" + 3855 "Însemnul tibetan tsheg shad" + 3856 "Însemnul tibetan nyis tsheg shad" + 3857 "Însemnul tibetan rin chen spungs shad" + 3858 "Însemnul tibetan rgya gram shad" + 3859 "Însemnul tibetan de omisiune cu can lung -dzud rtags me" + 3860 "Însemnul tibetan gter tsheg" + 3861 "Semnul tibetan logotip chad rtags" + 3862 "Semnul tibetan logotip lhag rtags" + 3863 "Semnul tibetan astrologic sgra gcan -char rtags" + 3864 "Semnul tibetan astrologic -khyud pa" + 3865 "Semnul tibetan astrologic sdong tshugs" + 3866 "Semnul tibetan rdel dkar gcig" + 3867 "Semnul tibetan rdel dkar gnyis" + 3868 "Semnul tibetan rdel dkar gsum" + 3869 "Semnul tibetan rdel nag gcig" + 3870 "Semnul tibetan rdel nag gnyis" + 3871 "Semnul tibetan rdel dkar rdel nag" + 3872 "Cifra tibetană zero" + 3873 "Cifra tibetană unu" + 3874 "Cifra tibetană doi" + 3875 "Cifra tibetană trei" + 3876 "Cifra tibetană patru" + 3877 "Cifra tibetană cinci" + 3878 "Cifra tibetană șase" + 3879 "Cifra tibetană șapte" + 3880 "Cifra tibetană opt" + 3881 "Cifra tibetană nouă" + 3882 "Cifra tibetană jumătatea unu" + 3883 "Cifra tibetană jumătatea doi" + 3884 "Cifra tibetană jumătatea trei" + 3885 "Cifra tibetană jumătatea patru" + 3886 "Cifra tibetană jumătatea cinci" + 3887 "Cifra tibetană jumătatea șase" + 3888 "Cifra tibetană jumătatea șapte" + 3889 "Cifra tibetană jumătatea opt" + 3890 "Cifra tibetană jumătatea nouă" + 3891 "Cifra tibetană jumătatea zece" + 3892 "Însemnul tibetan bsdus rtags" + 3893 "Însemnul tibetan ngas bzung nyi zla" + 3894 "Însemnul tibetan de omisiune -dzud rtags bzhi mig can" + 3895 "Însemnul tibetan ngas bzung sgor rtags" + 3896 "Însemnul tibetan che mgo" + 3897 "Însemnul tibetan tsa -phru" + 3898 "Însemnul tibetan gug rtags gyon" + 3899 "Însemnul tibetan gug rtags gyas" + 3900 "Însemnul tibetan ang khang gyon" + 3901 "Însemnul tibetan ang khang gyas" + 3902 "Semnul tibetan yar tshes" + 3903 "Semnul tibetan mar tshes" + 3904 "Litera tibetană ka" + 3905 "Litera tibetană kha" + 3906 "Litera tibetană ga" + 3907 "Litera tibetană gha" + 3908 "Litera tibetană nga" + 3909 "Litera tibetană ca" + 3910 "Litera tibetană cha" + 3911 "Litera tibetană ja" + 3913 "Litera tibetană nya" + 3914 "Litera tibetană tta" + 3915 "Litera tibetană ttha" + 3916 "Litera tibetană dda" + 3917 "Litera tibetană ddha" + 3918 "Litera tibetană nna" + 3919 "Litera tibetană ta" + 3920 "Litera tibetană tha" + 3921 "Litera tibetană da" + 3922 "Litera tibetană dha" + 3923 "Litera tibetană na" + 3924 "Litera tibetană pa" + 3925 "Litera tibetană pha" + 3926 "Litera tibetană ba" + 3927 "Litera tibetană bha" + 3928 "Litera tibetană ma" + 3929 "Litera tibetană tsa" + 3930 "Litera tibetană tsha" + 3931 "Litera tibetană dza" + 3932 "Litera tibetană dzha" + 3933 "Litera tibetană wa" + 3934 "Litera tibetană zha" + 3935 "Litera tibetană za" + 3936 "Litera tibetană -a" + 3937 "Litera tibetană ya" + 3938 "Litera tibetană ra" + 3939 "Litera tibetană la" + 3940 "Litera tibetană sha" + 3941 "Litera tibetană ssa" + 3942 "Litera tibetană sa" + 3943 "Litera tibetană ha" + 3944 "Litera tibetană a" + 3945 "Litera tibetană kssa" + 3946 "Litera tibetană ra de formă fixă" + 3947 "Litera tibetană kka" + 3948 "Litera tibetană rra" + 3953 "Semnul tibetan vocală aa" + 3954 "Semnul tibetan vocală i" + 3955 "Semnul tibetan vocală ii" + 3956 "Semnul tibetan vocală u" + 3957 "Semnul tibetan vocală uu" + 3958 "Semnul tibetan vocală r vocal" + 3959 "Semnul tibetan vocală rr vocal" + 3960 "Semnul tibetan vocală l vocal" + 3961 "Semnul tibetan vocală ll vocal" + 3962 "Semnul tibetan vocală e" + 3963 "Semnul tibetan vocală ee" + 3964 "Semnul tibetan vocală o" + 3965 "Semnul tibetan vocală oo" + 3966 "Semnul tibetan rjes su nga ro" + 3967 "Semnul tibetan rnam bcad" + 3968 "Semnul tibetan vocală i întors" + 3969 "Semnul tibetan vocală ii întors" + 3970 "Semnul tibetan nyi zla naa da" + 3971 "Semnul tibetan sna ldan" + 3972 "Însemnul tibetan halanta" + 3973 "Însemnul tibetan paluta" + 3974 "Semnul tibetan lci rtags" + 3975 "Semnul tibetan yang rtags" + 3976 "Semnul tibetan lce tsa can" + 3977 "Semnul tibetan mchu can" + 3978 "Semnul tibetan gru can rgyings" + 3979 "Semnul tibetan gru med rgyings" + 3980 "Semnul tibetan mchu can inversat" + 3981 "Semnul tibetan subjugat lce tsa can" + 3982 "Semnul tibetan subjugat mchu can" + 3983 "Semnul tibetan subjugat mchu can inversat" + 3984 "Litera tibetană subjugată ka" + 3985 "Litera tibetană subjugată kha" + 3986 "Litera tibetană subjugată ga" + 3987 "Litera tibetană subjugată gha" + 3988 "Litera tibetană subjugată nga" + 3989 "Litera tibetană subjugată ca" + 3990 "Litera tibetană subjugată cha" + 3991 "Litera tibetană subjugată ja" + 3993 "Litera tibetană subjugată nya" + 3994 "Litera tibetană subjugată tta" + 3995 "Litera tibetană subjugată ttha" + 3996 "Litera tibetană subjugată dda" + 3997 "Litera tibetană subjugată ddha" + 3998 "Litera tibetană subjugată nna" + 3999 "Litera tibetană subjugată ta" + 4000 "Litera tibetană subjugată tha" + 4001 "Litera tibetană subjugată da" + 4002 "Litera tibetană subjugată dha" + 4003 "Litera tibetană subjugată na" + 4004 "Litera tibetană subjugată pa" + 4005 "Litera tibetană subjugată pha" + 4006 "Litera tibetană subjugată ba" + 4007 "Litera tibetană subjugată bha" + 4008 "Litera tibetană subjugată ma" + 4009 "Litera tibetană subjugată tsa" + 4010 "Litera tibetană subjugată tsha" + 4011 "Litera tibetană subjugată dza" + 4012 "Litera tibetană subjugată dzha" + 4013 "Litera tibetană subjugată wa" + 4014 "Litera tibetană subjugată zha" + 4015 "Litera tibetană subjugată za" + 4016 "Litera tibetană subjugată -a" + 4017 "Litera tibetană subjugată ya" + 4018 "Litera tibetană subjugată ra" + 4019 "Litera tibetană subjugată la" + 4020 "Litera tibetană subjugată sha" + 4021 "Litera tibetană subjugată ssa" + 4022 "Litera tibetană subjugată sa" + 4023 "Litera tibetană subjugată ha" + 4024 "Litera tibetană subjugată a" + 4025 "Litera tibetană subjugată kssa" + 4026 "Litera tibetană subjugată wa de formă fixă" + 4027 "Litera tibetană subjugată ya de formă fixă" + 4028 "Litera tibetană subjugată ra de formă fixă" + 4030 "Ku ru kha tibetan" + 4031 "Ku ru kha bzhi mig can tibetan" + 4032 "Semnul tibetan de intonație bătaie grea" + 4033 "Semnul tibetan de intonație bătaie ușoară" + 4034 "Semnul tibetan de intonație cang te-u" + 4035 "Semnul tibetan de intonație sbub -chal" + 4036 "Semnul tibetan dril bu" + 4037 "Semnul tibetan rdo rje" + 4038 "Semnul tibetan padma gdan" + 4039 "Semnul tibetan rdo rje rgya gram" + 4040 "Semnul tibetan phur pa" + 4041 "Semnul tibetan nor bu" + 4042 "Semnul tibetan nor bu nyis -khyil" + 4043 "Semnul tibetan nor bu gsum -khyil" + 4044 "Semnul tibetan nor bu bzhi -khyil" + 4046 "Semnul tibetan rdel nag rdel dkar" + 4047 "Semnul tibetan rdel nag gsum" + 4048 "Însemnul tibetan bska- shog gi mgo rgyan" + 4049 "Însemnul tibetan mnyam yig gi mgo rgyan" + 4050 "Însemnul tibetan nyis tsheg" + 4051 "Însemnul tibetan de deschidere brda rnying yig mgo mdun ma" + 4052 "Însemnul tibetan de încheiere brda rnying yig mgo sgab ma" + 4053 "Semnul svasti spre dreapta" + 4054 "Semnul svasti spre stânga" + 4055 "Semnul svasti spre dreapta cu puncte" + 4056 "Semnul svasti spre stânga cu puncte" + 4057 "Însemnul tibetan mchan rtags de început" + 4058 "Însemnul tibetan mchan rtags de sfârșit" + 4096 "Litera burmană ka" + 4097 "Litera burmană kha" + 4098 "Litera burmană ga" + 4099 "Litera burmană gha" + 4100 "Litera burmană nga" + 4101 "Litera burmană ca" + 4102 "Litera burmană cha" + 4103 "Litera burmană ja" + 4104 "Litera burmană jha" + 4105 "Litera burmană nya" + 4106 "Litera burmană nnya" + 4107 "Litera burmană tta" + 4108 "Litera burmană ttha" + 4109 "Litera burmană dda" + 4110 "Litera burmană ddha" + 4111 "Litera burmană nna" + 4112 "Litera burmană ta" + 4113 "Litera burmană tha" + 4114 "Litera burmană da" + 4115 "Litera burmană dha" + 4116 "Litera burmană na" + 4117 "Litera burmană pa" + 4118 "Litera burmană pha" + 4119 "Litera burmană ba" + 4120 "Litera burmană bha" + 4121 "Litera burmană ma" + 4122 "Litera burmană ya" + 4123 "Litera burmană ra" + 4124 "Litera burmană la" + 4125 "Litera burmană wa" + 4126 "Litera burmană sa" + 4127 "Litera burmană ha" + 4128 "Litera burmană lla" + 4129 "Litera burmană a" + 4130 "Litera burmană shan a" + 4131 "Litera burmană i" + 4132 "Litera burmană ii" + 4133 "Litera burmană u" + 4134 "Litera burmană uu" + 4135 "Litera burmană e" + 4136 "Litera burmană mon e" + 4137 "Litera burmană o" + 4138 "Litera burmană au" + 4139 "Semnul burman vocală aa înalt" + 4140 "Semnul burman vocală aa" + 4141 "Semnul burman vocală i" + 4142 "Semnul burman vocală ii" + 4143 "Semnul burman vocală u" + 4144 "Semnul burman vocală uu" + 4145 "Semnul burman vocală e" + 4146 "Semnul burman vocală ai" + 4147 "Semnul burman vocală mon ii" + 4148 "Semnul burman vocală mon o" + 4149 "Semnul burman vocală e deasupra" + 4150 "Semnul burman anusvara" + 4151 "Semnul burman punct dedesubt" + 4152 "Semnul burman visarga" + 4153 "Semnul burman virama" + 4154 "Semnul burman asat" + 4155 "Semnul burman consoană ya mijlociu" + 4156 "Semnul burman consoană ra mijlociu" + 4157 "Semnul burman consoană wa mijlociu" + 4158 "Semnul burman consoană ha mijlociu" + 4159 "Litera burmană sa mare" + 4160 "Cifra burmană zero" + 4161 "Cifra burmană unu" + 4162 "Cifra burmană doi" + 4163 "Cifra burmană trei" + 4164 "Cifra burmană patru" + 4165 "Cifra burmană cinci" + 4166 "Cifra burmană șase" + 4167 "Cifra burmană șapte" + 4168 "Cifra burmană opt" + 4169 "Cifra burmană nouă" + 4170 "Semnul burman secțiune minoră" + 4171 "Semnul burman secțiune" + 4172 "Simbolul burman locativ" + 4173 "Simbolul burman complet" + 4174 "Simbolul burman sus-menționat" + 4175 "Simbolul burman genitiv" + 4176 "Litera burmană sha" + 4177 "Litera burmană ssa" + 4178 "Litera burmană r vocal" + 4179 "Litera burmană rr vocal" + 4180 "Litera burmană l vocal" + 4181 "Litera burmană ll vocal" + 4182 "Semnul burman vocală r vocal" + 4183 "Semnul burman vocală rr vocal" + 4184 "Semnul burman vocală l vocal" + 4185 "Semnul burman vocală ll vocal" + 4186 "Litera burmană mon nga" + 4187 "Litera burmană mon jha" + 4188 "Litera burmană mon bba" + 4189 "Litera burmană mon bbe" + 4190 "Semnul burman consoană mon cu na mijlociu" + 4191 "Semnul burman consoană mon cu ma mijlociu" + 4192 "Semnul burman consoană mon cu la mijlociu" + 4193 "Litera burmană sgaw karen sha" + 4194 "Semnul burman vocală sgaw karen eu" + 4195 "Însemnul burman intonație sgaw karen hathi" + 4196 "Însemnul burman intonație sgaw karen ke pho" + 4197 "Litera burmană vestică pwo karen tha" + 4198 "Litera burmană vestică pwo karen pwa" + 4199 "Semnul burman vocală vestic pwo karen eu" + 4200 "Semnul burman vocală vestic pwo karen ue" + 4201 "Semnul burman vestic pwo karen intonație-1" + 4202 "Semnul burman vestic pwo karen intonație-2" + 4203 "Semnul burman vestic pwo karen intonație-3" + 4204 "Semnul burman vestic pwo karen intonație-4" + 4205 "Semnul burman vestic pwo karen intonație-5" + 4206 "Litera burmană estică pwo karen nna" + 4207 "Litera burmană estică pwo karen ywa" + 4208 "Litera burmană estică pwo karen ghwa" + 4209 "Semnul burman vocală geba karen i" + 4210 "Semnul burman vocală kayah oe" + 4211 "Semnul burman vocală kayah u" + 4212 "Semnul burman vocală kayah ee" + 4213 "Litera burmană shan ka" + 4214 "Litera burmană shan kha" + 4215 "Litera burmană shan ga" + 4216 "Litera burmană shan ca" + 4217 "Litera burmană shan za" + 4218 "Litera burmană shan nya" + 4219 "Litera burmană shan da" + 4220 "Litera burmană shan na" + 4221 "Litera burmană shan pha" + 4222 "Litera burmană shan fa" + 4223 "Litera burmană shan ba" + 4224 "Litera burmană shan tha" + 4225 "Litera burmană shan ha" + 4226 "Semnul burman consoană shan cu wa mijlociu" + 4227 "Semnul burman vocală shan aa" + 4228 "Semnul burman vocală shan e" + 4229 "Semnul burman vocală shan e deasupra" + 4230 "Semnul burman vocală shan y final" + 4231 "Semnul burman shan intonație-2" + 4232 "Semnul burman shan intonație-3" + 4233 "Semnul burman shan intonație-5" + 4234 "Semnul burman shan intonație-6" + 4235 "Semnul burman consiliu shan intonație-2" + 4236 "Semnul burman consiliu shan intonație-3" + 4237 "Semnul burman consiliu shan intonație emfatică" + 4238 "Litera burmană rumai palaung fa" + 4239 "Semnul burman rumai palaung intonație-5" + 4240 "Cifra burmană shan zero" + 4241 "Cifra burmană shan unu" + 4242 "Cifra burmană shan doi" + 4243 "Cifra burmană shan trei" + 4244 "Cifra burmană shan patru" + 4245 "Cifra burmană shan cinci" + 4246 "Cifra burmană shan șase" + 4247 "Cifra burmană shan șapte" + 4248 "Cifra burmană shan opt" + 4249 "Cifra burmană shan nouă" + 4250 "Semnul burman khamti intonație-1" + 4251 "Semnul burman khamti intonație-3" + 4252 "Semnul burman vocală aiton a" + 4253 "Semnul burman vocală aiton ai" + 4254 "Simbolul burman shan unu" + 4255 "Simbolul burman shan de exclamare" + 4256 "Litera georginană majusculă an" + 4257 "Litera georginană majusculă ban" + 4258 "Litera georginană majusculă gan" + 4259 "Litera georginană majusculă don" + 4260 "Litera georginană majusculă en" + 4261 "Litera georginană majusculă vin" + 4262 "Litera georginană majusculă zen" + 4263 "Litera georginană majusculă tan" + 4264 "Litera georginană majusculă in" + 4265 "Litera georginană majusculă kan" + 4266 "Litera georginană majusculă las" + 4267 "Litera georginană majusculă man" + 4268 "Litera georginană majusculă nar" + 4269 "Litera georginană majusculă on" + 4270 "Litera georginană majusculă par" + 4271 "Litera georginană majusculă zhar" + 4272 "Litera georginană majusculă rae" + 4273 "Litera georginană majusculă san" + 4274 "Litera georginană majusculă tar" + 4275 "Litera georginană majusculă un" + 4276 "Litera georginană majusculă phar" + 4277 "Litera georginană majusculă khar" + 4278 "Litera georginană majusculă ghan" + 4279 "Litera georginană majusculă qar" + 4280 "Litera georginană majusculă shin" + 4281 "Litera georginană majusculă chin" + 4282 "Litera georginană majusculă can" + 4283 "Litera georginană majusculă jil" + 4284 "Litera georginană majusculă cil" + 4285 "Litera georginană majusculă char" + 4286 "Litera georginană majusculă xan" + 4287 "Litera georginană majusculă jhan" + 4288 "Litera georginană majusculă hae" + 4289 "Litera georginană majusculă he" + 4290 "Litera georginană majusculă hie" + 4291 "Litera georginană majusculă we" + 4292 "Litera georginană majusculă har" + 4293 "Litera georginană majusculă hoe" + 4295 "Litera georginană majusculă yn" + 4301 "Litera georginană majusculă aen" + 4304 "Litera georginană an" + 4305 "Litera georginană ban" + 4306 "Litera georginană gan" + 4307 "Litera georginană don" + 4308 "Litera georginană en" + 4309 "Litera georginană vin" + 4310 "Litera georginană zen" + 4311 "Litera georginană tan" + 4312 "Litera georginană in" + 4313 "Litera georginană kan" + 4314 "Litera georginană las" + 4315 "Litera georginană man" + 4316 "Litera georginană nar" + 4317 "Litera georginană on" + 4318 "Litera georginană par" + 4319 "Litera georginană zhar" + 4320 "Litera georginană rae" + 4321 "Litera georginană san" + 4322 "Litera georginană tar" + 4323 "Litera georginană un" + 4324 "Litera georginană phar" + 4325 "Litera georginană khar" + 4326 "Litera georginană ghan" + 4327 "Litera georginană qar" + 4328 "Litera georginană shin" + 4329 "Litera georginană chin" + 4330 "Litera georginană can" + 4331 "Litera georginană jil" + 4332 "Litera georginană cil" + 4333 "Litera georginană char" + 4334 "Litera georginană xan" + 4335 "Litera georginană jhan" + 4336 "Litera georginană hae" + 4337 "Litera georginană he" + 4338 "Litera georginană hie" + 4339 "Litera georginană we" + 4340 "Litera georginană har" + 4341 "Litera georginană hoe" + 4342 "Litera georginană fi" + 4343 "Litera georginană yn" + 4344 "Litera georginană elifi" + 4345 "Litera georginană gan răsturnat" + 4346 "Litera georginană ain" + 4347 "Separator de paragraf georginan" + 4348 "Litera georgiană modificatoare nar" + 4349 "Litera georginană aen" + 4350 "Litera georginană semnul moale" + 4351 "Litera georginană semnul labial" + 4352 "Hangul choseong kiyeok" + 4353 "Hangul choseong ssangkiyeok" + 4354 "Hangul choseong nieun" + 4355 "Hangul choseong tikeut" + 4356 "Hangul choseong ssangtikeut" + 4357 "Hangul choseong rieul" + 4358 "Hangul choseong mieum" + 4359 "Hangul choseong pieup" + 4360 "Hangul choseong ssangpieup" + 4361 "Hangul choseong sios" + 4362 "Hangul choseong ssangsios" + 4363 "Hangul choseong ieung" + 4364 "Hangul choseong cieuc" + 4365 "Hangul choseong ssangcieuc" + 4366 "Hangul choseong chieuch" + 4367 "Hangul choseong khieukh" + 4368 "Hangul choseong thieuth" + 4369 "Hangul choseong phieuph" + 4370 "Hangul choseong hieuh" + 4371 "Hangul choseong nieun-kiyeok" + 4372 "Hangul choseong ssangnieun" + 4373 "Hangul choseong nieun-tikeut" + 4374 "Hangul choseong nieun-pieup" + 4375 "Hangul choseong tikeut-kiyeok" + 4376 "Hangul choseong rieul-nieun" + 4377 "Hangul choseong ssangrieul" + 4378 "Hangul choseong rieul-hieuh" + 4379 "Hangul choseong kapyeounrieul" + 4380 "Hangul choseong mieum-pieup" + 4381 "Hangul choseong kapyeounmieum" + 4382 "Hangul choseong pieup-kiyeok" + 4383 "Hangul choseong pieup-nieun" + 4384 "Hangul choseong pieup-tikeut" + 4385 "Hangul choseong pieup-sios" + 4386 "Hangul choseong pieup-sios-kiyeok" + 4387 "Hangul choseong pieup-sios-tikeut" + 4388 "Hangul choseong pieup-sios-pieup" + 4389 "Hangul choseong pieup-ssangsios" + 4390 "Hangul choseong pieup-sios-cieuc" + 4391 "Hangul choseong pieup-cieuc" + 4392 "Hangul choseong pieup-chieuch" + 4393 "Hangul choseong pieup-thieuth" + 4394 "Hangul choseong pieup-phieuph" + 4395 "Hangul choseong kapyeounpieup" + 4396 "Hangul choseong kapyeounssangpieup" + 4397 "Hangul choseong sios-kiyeok" + 4398 "Hangul choseong sios-nieun" + 4399 "Hangul choseong sios-tikeut" + 4400 "Hangul choseong sios-rieul" + 4401 "Hangul choseong sios-mieum" + 4402 "Hangul choseong sios-pieup" + 4403 "Hangul choseong sios-pieup-kiyeok" + 4404 "Hangul choseong sios-ssangsios" + 4405 "Hangul choseong sios-teung" + 4406 "Hangul choseong sios-cieuc" + 4407 "Hangul choseong sios-chieuch" + 4408 "Hangul choseong sios-khieukh" + 4409 "Hangul choseong sios-thieuth" + 4410 "Hangul choseong sios-phieuph" + 4411 "Hangul choseong sios-hieuh" + 4412 "Hangul choseong chitueumsios" + 4413 "Hangul choseong chitueumssangsios" + 4414 "Hangul choseong ceongchieumsios" + 4415 "Hangul choseong ceongchieumssangsios" + 4416 "Hangul choseong pansios" + 4417 "Hangul choseong ieung-kiyeok" + 4418 "Hangul choseong ieung-tikeut" + 4419 "Hangul choseong ieung-mieum" + 4420 "Hangul choseong ieung-pieup" + 4421 "Hangul choseong ieung-sios" + 4422 "Hangul choseong ieung-pansios" + 4423 "Hangul choseong ssangieung" + 4424 "Hangul choseong ieung-cieuc" + 4425 "Hangul choseong ieung-chieuch" + 4426 "Hangul choseong ieung-thieuth" + 4427 "Hangul choseong ieung-phieuph" + 4428 "Hangul choseong yesieung" + 4429 "Hangul choseong cieuc-ieung" + 4430 "Hangul choseong chitueumcieuc" + 4431 "Hangul choseong chitueumssangcieuc" + 4432 "Hangul choseong ceongchieumcieuc" + 4433 "Hangul choseong ceongchieumssangcieuc" + 4434 "Hangul choseong chieuch-khieukh" + 4435 "Hangul choseong chieuch-hieuh" + 4436 "Hangul choseong chitueumchieuch" + 4437 "Hangul choseong ceongchieumchieuch" + 4438 "Hangul choseong phieuph-pieup" + 4439 "Hangul choseong kapyeounphieuph" + 4440 "Hangul choseong ssanghieuh" + 4441 "Hangul choseong yeorinhieuh" + 4442 "Hangul choseong kiyeok-tikeut" + 4443 "Hangul choseong nieun-sios" + 4444 "Hangul choseong nieun-cieuc" + 4445 "Hangul choseong nieun-hieuh" + 4446 "Hangul choseong tikeut-rieul" + 4447 "Hangul choseong caracter de umplere" + 4448 "Hangul jungseong caracter de umplere" + 4449 "Hangul jungseong a" + 4450 "Hangul jungseong ae" + 4451 "Hangul jungseong ya" + 4452 "Hangul jungseong yae" + 4453 "Hangul jungseong eo" + 4454 "Hangul jungseong e" + 4455 "Hangul jungseong yeo" + 4456 "Hangul jungseong ye" + 4457 "Hangul jungseong o" + 4458 "Hangul jungseong wa" + 4459 "Hangul jungseong wae" + 4460 "Hangul jungseong oe" + 4461 "Hangul jungseong yo" + 4462 "Hangul jungseong u" + 4463 "Hangul jungseong weo" + 4464 "Hangul jungseong we" + 4465 "Hangul jungseong wi" + 4466 "Hangul jungseong yu" + 4467 "Hangul jungseong eu" + 4468 "Hangul jungseong yi" + 4469 "Hangul jungseong i" + 4470 "Hangul jungseong a-o" + 4471 "Hangul jungseong a-u" + 4472 "Hangul jungseong ya-o" + 4473 "Hangul jungseong ya-yo" + 4474 "Hangul jungseong eo-o" + 4475 "Hangul jungseong eo-u" + 4476 "Hangul jungseong eo-eu" + 4477 "Hangul jungseong yeo-o" + 4478 "Hangul jungseong yeo-u" + 4479 "Hangul jungseong o-eo" + 4480 "Hangul jungseong o-e" + 4481 "Hangul jungseong o-ye" + 4482 "Hangul jungseong o-o" + 4483 "Hangul jungseong o-u" + 4484 "Hangul jungseong yo-ya" + 4485 "Hangul jungseong yo-yae" + 4486 "Hangul jungseong yo-yeo" + 4487 "Hangul jungseong yo-o" + 4488 "Hangul jungseong yo-i" + 4489 "Hangul jungseong u-a" + 4490 "Hangul jungseong u-ae" + 4491 "Hangul jungseong u-eo-eu" + 4492 "Hangul jungseong u-ye" + 4493 "Hangul jungseong u-u" + 4494 "Hangul jungseong yu-a" + 4495 "Hangul jungseong yu-eo" + 4496 "Hangul jungseong yu-e" + 4497 "Hangul jungseong yu-yeo" + 4498 "Hangul jungseong yu-ye" + 4499 "Hangul jungseong yu-u" + 4500 "Hangul jungseong yu-i" + 4501 "Hangul jungseong eu-u" + 4502 "Hangul jungseong eu-eu" + 4503 "Hangul jungseong yi-u" + 4504 "Hangul jungseong i-a" + 4505 "Hangul jungseong i-ya" + 4506 "Hangul jungseong i-o" + 4507 "Hangul jungseong i-u" + 4508 "Hangul jungseong i-eu" + 4509 "Hangul jungseong i-araea" + 4510 "Hangul jungseong araea" + 4511 "Hangul jungseong araea-eo" + 4512 "Hangul jungseong araea-u" + 4513 "Hangul jungseong araea-i" + 4514 "Hangul jungseong ssangaraea" + 4515 "Hangul jungseong a-eu" + 4516 "Hangul jungseong ya-u" + 4517 "Hangul jungseong yeo-ya" + 4518 "Hangul jungseong o-ya" + 4519 "Hangul jungseong o-yae" + 4520 "Hangul jongseong kiyeok" + 4521 "Hangul jongseong ssangkiyeok" + 4522 "Hangul jongseong kiyeok-sios" + 4523 "Hangul jongseong nieun" + 4524 "Hangul jongseong nieun-cieuc" + 4525 "Hangul jongseong nieun-hieuh" + 4526 "Hangul jongseong tikeut" + 4527 "Hangul jongseong rieul" + 4528 "Hangul jongseong rieul-kiyeok" + 4529 "Hangul jongseong rieul-mieum" + 4530 "Hangul jongseong rieul-pieup" + 4531 "Hangul jongseong rieul-sios" + 4532 "Hangul jongseong rieul-thieuth" + 4533 "Hangul jongseong rieul-phieuph" + 4534 "Hangul jongseong rieul-hieuh" + 4535 "Hangul jongseong mieum" + 4536 "Hangul jongseong pieup" + 4537 "Hangul jongseong pieup-sios" + 4538 "Hangul jongseong sios" + 4539 "Hangul jongseong ssangsios" + 4540 "Hangul jongseong ieung" + 4541 "Hangul jongseong cieuc" + 4542 "Hangul jongseong chieuch" + 4543 "Hangul jongseong khieukh" + 4544 "Hangul jongseong thieuth" + 4545 "Hangul jongseong phieuph" + 4546 "Hangul jongseong hieuh" + 4547 "Hangul jongseong kiyeok-rieul" + 4548 "Hangul jongseong kiyeok-sios-kiyeok" + 4549 "Hangul jongseong nieun-kiyeok" + 4550 "Hangul jongseong nieun-tikeut" + 4551 "Hangul jongseong nieun-sios" + 4552 "Hangul jongseong nieun-pansios" + 4553 "Hangul jongseong nieun-thieuth" + 4554 "Hangul jongseong tikeut-kiyeok" + 4555 "Hangul jongseong tikeut-rieul" + 4556 "Hangul jongseong rieul-kiyeok-sios" + 4557 "Hangul jongseong rieul-nieun" + 4558 "Hangul jongseong rieul-tikeut" + 4559 "Hangul jongseong rieul-tikeut-hieuh" + 4560 "Hangul jongseong ssangrieul" + 4561 "Hangul jongseong rieul-mieum-kiyeok" + 4562 "Hangul jongseong rieul-mieum-sios" + 4563 "Hangul jongseong rieul-pieup-sios" + 4564 "Hangul jongseong rieul-pieup-hieuh" + 4565 "Hangul jongseong rieul-kapyeounpieup" + 4566 "Hangul jongseong rieul-ssangsios" + 4567 "Hangul jongseong rieul-pansios" + 4568 "Hangul jongseong rieul-khieukh" + 4569 "Hangul jongseong rieul-yeorinhieuh" + 4570 "Hangul jongseong mieum-kiyeok" + 4571 "Hangul jongseong mieum-rieul" + 4572 "Hangul jongseong mieum-pieup" + 4573 "Hangul jongseong mieum-sios" + 4574 "Hangul jongseong mieum-ssangsios" + 4575 "Hangul jongseong mieum-pansios" + 4576 "Hangul jongseong mieum-chieuch" + 4577 "Hangul jongseong mieum-hieuh" + 4578 "Hangul jongseong kapyeounmieum" + 4579 "Hangul jongseong pieup-rieul" + 4580 "Hangul jongseong pieup-phieuph" + 4581 "Hangul jongseong pieup-hieuh" + 4582 "Hangul jongseong kapyeounpieup" + 4583 "Hangul jongseong sios-kiyeok" + 4584 "Hangul jongseong sios-tikeut" + 4585 "Hangul jongseong sios-rieul" + 4586 "Hangul jongseong sios-pieup" + 4587 "Hangul jongseong pansios" + 4588 "Hangul jongseong ieung-kiyeok" + 4589 "Hangul jongseong ieung-ssangkiyeok" + 4590 "Hangul jongseong ssangieung" + 4591 "Hangul jongseong ieung-khieukh" + 4592 "Hangul jongseong yesieung" + 4593 "Hangul jongseong yesieung-sios" + 4594 "Hangul jongseong yesieung-pansios" + 4595 "Hangul jongseong phieuph-pieup" + 4596 "Hangul jongseong kapyeounphieuph" + 4597 "Hangul jongseong hieuh-nieun" + 4598 "Hangul jongseong hieuh-rieul" + 4599 "Hangul jongseong hieuh-mieum" + 4600 "Hangul jongseong hieuh-pieup" + 4601 "Hangul jongseong yeorinhieuh" + 4602 "Hangul jongseong kiyeok-nieun" + 4603 "Hangul jongseong kiyeok-pieup" + 4604 "Hangul jongseong kiyeok-chieuch" + 4605 "Hangul jongseong kiyeok-khieukh" + 4606 "Hangul jongseong kiyeok-hieuh" + 4607 "Hangul jongseong ssangnieun" + 4608 "Silaba etiopiană ha" + 4609 "Silaba etiopiană hu" + 4610 "Silaba etiopiană hi" + 4611 "Silaba etiopiană haa" + 4612 "Silaba etiopiană hee" + 4613 "Silaba etiopiană he" + 4614 "Silaba etiopiană ho" + 4615 "Silaba etiopiană hoa" + 4616 "Silaba etiopiană la" + 4617 "Silaba etiopiană lu" + 4618 "Silaba etiopiană li" + 4619 "Silaba etiopiană laa" + 4620 "Silaba etiopiană lee" + 4621 "Silaba etiopiană le" + 4622 "Silaba etiopiană lo" + 4623 "Silaba etiopiană lwa" + 4624 "Silaba etiopiană hha" + 4625 "Silaba etiopiană hhu" + 4626 "Silaba etiopiană hhi" + 4627 "Silaba etiopiană hhaa" + 4628 "Silaba etiopiană hhee" + 4629 "Silaba etiopiană hhe" + 4630 "Silaba etiopiană hho" + 4631 "Silaba etiopiană hhwa" + 4632 "Silaba etiopiană ma" + 4633 "Silaba etiopiană mu" + 4634 "Silaba etiopiană mi" + 4635 "Silaba etiopiană maa" + 4636 "Silaba etiopiană mee" + 4637 "Silaba etiopiană me" + 4638 "Silaba etiopiană mo" + 4639 "Silaba etiopiană mwa" + 4640 "Silaba etiopiană sza" + 4641 "Silaba etiopiană szu" + 4642 "Silaba etiopiană szi" + 4643 "Silaba etiopiană szaa" + 4644 "Silaba etiopiană szee" + 4645 "Silaba etiopiană sze" + 4646 "Silaba etiopiană szo" + 4647 "Silaba etiopiană szwa" + 4648 "Silaba etiopiană ra" + 4649 "Silaba etiopiană ru" + 4650 "Silaba etiopiană ri" + 4651 "Silaba etiopiană raa" + 4652 "Silaba etiopiană ree" + 4653 "Silaba etiopiană re" + 4654 "Silaba etiopiană ro" + 4655 "Silaba etiopiană rwa" + 4656 "Silaba etiopiană sa" + 4657 "Silaba etiopiană su" + 4658 "Silaba etiopiană si" + 4659 "Silaba etiopiană saa" + 4660 "Silaba etiopiană see" + 4661 "Silaba etiopiană se" + 4662 "Silaba etiopiană so" + 4663 "Silaba etiopiană swa" + 4664 "Silaba etiopiană sha" + 4665 "Silaba etiopiană shu" + 4666 "Silaba etiopiană shi" + 4667 "Silaba etiopiană shaa" + 4668 "Silaba etiopiană shee" + 4669 "Silaba etiopiană she" + 4670 "Silaba etiopiană sho" + 4671 "Silaba etiopiană shwa" + 4672 "Silaba etiopiană qa" + 4673 "Silaba etiopiană qu" + 4674 "Silaba etiopiană qi" + 4675 "Silaba etiopiană qaa" + 4676 "Silaba etiopiană qee" + 4677 "Silaba etiopiană qe" + 4678 "Silaba etiopiană qo" + 4679 "Silaba etiopiană qoa" + 4680 "Silaba etiopiană qwa" + 4682 "Silaba etiopiană qwi" + 4683 "Silaba etiopiană qwaa" + 4684 "Silaba etiopiană qwee" + 4685 "Silaba etiopiană qwe" + 4688 "Silaba etiopiană qha" + 4689 "Silaba etiopiană qhu" + 4690 "Silaba etiopiană qhi" + 4691 "Silaba etiopiană qhaa" + 4692 "Silaba etiopiană qhee" + 4693 "Silaba etiopiană qhe" + 4694 "Silaba etiopiană qho" + 4696 "Silaba etiopiană qhwa" + 4698 "Silaba etiopiană qhwi" + 4699 "Silaba etiopiană qhwaa" + 4700 "Silaba etiopiană qhwee" + 4701 "Silaba etiopiană qhwe" + 4704 "Silaba etiopiană ba" + 4705 "Silaba etiopiană bu" + 4706 "Silaba etiopiană bi" + 4707 "Silaba etiopiană baa" + 4708 "Silaba etiopiană bee" + 4709 "Silaba etiopiană be" + 4710 "Silaba etiopiană bo" + 4711 "Silaba etiopiană bwa" + 4712 "Silaba etiopiană va" + 4713 "Silaba etiopiană vu" + 4714 "Silaba etiopiană vi" + 4715 "Silaba etiopiană vaa" + 4716 "Silaba etiopiană vee" + 4717 "Silaba etiopiană ve" + 4718 "Silaba etiopiană vo" + 4719 "Silaba etiopiană vwa" + 4720 "Silaba etiopiană ta" + 4721 "Silaba etiopiană tu" + 4722 "Silaba etiopiană ti" + 4723 "Silaba etiopiană taa" + 4724 "Silaba etiopiană tee" + 4725 "Silaba etiopiană te" + 4726 "Silaba etiopiană to" + 4727 "Silaba etiopiană twa" + 4728 "Silaba etiopiană ca" + 4729 "Silaba etiopiană cu" + 4730 "Silaba etiopiană ci" + 4731 "Silaba etiopiană caa" + 4732 "Silaba etiopiană cee" + 4733 "Silaba etiopiană ce" + 4734 "Silaba etiopiană co" + 4735 "Silaba etiopiană cwa" + 4736 "Silaba etiopiană xa" + 4737 "Silaba etiopiană xu" + 4738 "Silaba etiopiană xi" + 4739 "Silaba etiopiană xaa" + 4740 "Silaba etiopiană xee" + 4741 "Silaba etiopiană xe" + 4742 "Silaba etiopiană xo" + 4743 "Silaba etiopiană xoa" + 4744 "Silaba etiopiană xwa" + 4746 "Silaba etiopiană xwi" + 4747 "Silaba etiopiană xwaa" + 4748 "Silaba etiopiană xwee" + 4749 "Silaba etiopiană xwe" + 4752 "Silaba etiopiană na" + 4753 "Silaba etiopiană nu" + 4754 "Silaba etiopiană ni" + 4755 "Silaba etiopiană naa" + 4756 "Silaba etiopiană nee" + 4757 "Silaba etiopiană ne" + 4758 "Silaba etiopiană no" + 4759 "Silaba etiopiană nwa" + 4760 "Silaba etiopiană nya" + 4761 "Silaba etiopiană nyu" + 4762 "Silaba etiopiană nyi" + 4763 "Silaba etiopiană nyaa" + 4764 "Silaba etiopiană nyee" + 4765 "Silaba etiopiană nye" + 4766 "Silaba etiopiană nyo" + 4767 "Silaba etiopiană nywa" + 4768 "Silaba etiopiană a glotal" + 4769 "Silaba etiopiană u glotal" + 4770 "Silaba etiopiană i glotal" + 4771 "Silaba etiopiană aa glotal" + 4772 "Silaba etiopiană ee glotal" + 4773 "Silaba etiopiană e glotal" + 4774 "Silaba etiopiană o glotal" + 4775 "Silaba etiopiană wa glotal" + 4776 "Silaba etiopiană ka" + 4777 "Silaba etiopiană ku" + 4778 "Silaba etiopiană ki" + 4779 "Silaba etiopiană kaa" + 4780 "Silaba etiopiană kee" + 4781 "Silaba etiopiană ke" + 4782 "Silaba etiopiană ko" + 4783 "Silaba etiopiană koa" + 4784 "Silaba etiopiană kwa" + 4786 "Silaba etiopiană kwi" + 4787 "Silaba etiopiană kwaa" + 4788 "Silaba etiopiană kwee" + 4789 "Silaba etiopiană kwe" + 4792 "Silaba etiopiană kxa" + 4793 "Silaba etiopiană kxu" + 4794 "Silaba etiopiană kxi" + 4795 "Silaba etiopiană kxaa" + 4796 "Silaba etiopiană kxee" + 4797 "Silaba etiopiană kxe" + 4798 "Silaba etiopiană kxo" + 4800 "Silaba etiopiană kxwa" + 4802 "Silaba etiopiană kxwi" + 4803 "Silaba etiopiană kxwaa" + 4804 "Silaba etiopiană kxwee" + 4805 "Silaba etiopiană kxwe" + 4808 "Silaba etiopiană wa" + 4809 "Silaba etiopiană wu" + 4810 "Silaba etiopiană wi" + 4811 "Silaba etiopiană waa" + 4812 "Silaba etiopiană wee" + 4813 "Silaba etiopiană we" + 4814 "Silaba etiopiană wo" + 4815 "Silaba etiopiană woa" + 4816 "Silaba etiopiană a faringal" + 4817 "Silaba etiopiană u faringal" + 4818 "Silaba etiopiană i faringal" + 4819 "Silaba etiopiană aa faringal" + 4820 "Silaba etiopiană ee faringal" + 4821 "Silaba etiopiană e faringal" + 4822 "Silaba etiopiană o faringal" + 4824 "Silaba etiopiană za" + 4825 "Silaba etiopiană zu" + 4826 "Silaba etiopiană zi" + 4827 "Silaba etiopiană zaa" + 4828 "Silaba etiopiană zee" + 4829 "Silaba etiopiană ze" + 4830 "Silaba etiopiană zo" + 4831 "Silaba etiopiană zwa" + 4832 "Silaba etiopiană zha" + 4833 "Silaba etiopiană zhu" + 4834 "Silaba etiopiană zhi" + 4835 "Silaba etiopiană zhaa" + 4836 "Silaba etiopiană zhee" + 4837 "Silaba etiopiană zhe" + 4838 "Silaba etiopiană zho" + 4839 "Silaba etiopiană zhwa" + 4840 "Silaba etiopiană ya" + 4841 "Silaba etiopiană yu" + 4842 "Silaba etiopiană yi" + 4843 "Silaba etiopiană yaa" + 4844 "Silaba etiopiană yee" + 4845 "Silaba etiopiană ye" + 4846 "Silaba etiopiană yo" + 4847 "Silaba etiopiană yoa" + 4848 "Silaba etiopiană da" + 4849 "Silaba etiopiană du" + 4850 "Silaba etiopiană di" + 4851 "Silaba etiopiană daa" + 4852 "Silaba etiopiană dee" + 4853 "Silaba etiopiană de" + 4854 "Silaba etiopiană do" + 4855 "Silaba etiopiană dwa" + 4856 "Silaba etiopiană dda" + 4857 "Silaba etiopiană ddu" + 4858 "Silaba etiopiană ddi" + 4859 "Silaba etiopiană ddaa" + 4860 "Silaba etiopiană ddee" + 4861 "Silaba etiopiană dde" + 4862 "Silaba etiopiană ddo" + 4863 "Silaba etiopiană ddwa" + 4864 "Silaba etiopiană ja" + 4865 "Silaba etiopiană ju" + 4866 "Silaba etiopiană ji" + 4867 "Silaba etiopiană jaa" + 4868 "Silaba etiopiană jee" + 4869 "Silaba etiopiană je" + 4870 "Silaba etiopiană jo" + 4871 "Silaba etiopiană jwa" + 4872 "Silaba etiopiană ga" + 4873 "Silaba etiopiană gu" + 4874 "Silaba etiopiană gi" + 4875 "Silaba etiopiană gaa" + 4876 "Silaba etiopiană gee" + 4877 "Silaba etiopiană ge" + 4878 "Silaba etiopiană go" + 4879 "Silaba etiopiană goa" + 4880 "Silaba etiopiană gwa" + 4882 "Silaba etiopiană gwi" + 4883 "Silaba etiopiană gwaa" + 4884 "Silaba etiopiană gwee" + 4885 "Silaba etiopiană gwe" + 4888 "Silaba etiopiană gga" + 4889 "Silaba etiopiană ggu" + 4890 "Silaba etiopiană ggi" + 4891 "Silaba etiopiană ggaa" + 4892 "Silaba etiopiană ggee" + 4893 "Silaba etiopiană gge" + 4894 "Silaba etiopiană ggo" + 4895 "Silaba etiopiană ggwaa" + 4896 "Silaba etiopiană tha" + 4897 "Silaba etiopiană thu" + 4898 "Silaba etiopiană thi" + 4899 "Silaba etiopiană thaa" + 4900 "Silaba etiopiană thee" + 4901 "Silaba etiopiană the" + 4902 "Silaba etiopiană tho" + 4903 "Silaba etiopiană thwa" + 4904 "Silaba etiopiană cha" + 4905 "Silaba etiopiană chu" + 4906 "Silaba etiopiană chi" + 4907 "Silaba etiopiană chaa" + 4908 "Silaba etiopiană chee" + 4909 "Silaba etiopiană che" + 4910 "Silaba etiopiană cho" + 4911 "Silaba etiopiană chwa" + 4912 "Silaba etiopiană pha" + 4913 "Silaba etiopiană phu" + 4914 "Silaba etiopiană phi" + 4915 "Silaba etiopiană phaa" + 4916 "Silaba etiopiană phee" + 4917 "Silaba etiopiană phe" + 4918 "Silaba etiopiană pho" + 4919 "Silaba etiopiană phwa" + 4920 "Silaba etiopiană tsa" + 4921 "Silaba etiopiană tsu" + 4922 "Silaba etiopiană tsi" + 4923 "Silaba etiopiană tsaa" + 4924 "Silaba etiopiană tsee" + 4925 "Silaba etiopiană tse" + 4926 "Silaba etiopiană tso" + 4927 "Silaba etiopiană tswa" + 4928 "Silaba etiopiană tza" + 4929 "Silaba etiopiană tzu" + 4930 "Silaba etiopiană tzi" + 4931 "Silaba etiopiană tzaa" + 4932 "Silaba etiopiană tzee" + 4933 "Silaba etiopiană tze" + 4934 "Silaba etiopiană tzo" + 4935 "Silaba etiopiană tzoa" + 4936 "Silaba etiopiană fa" + 4937 "Silaba etiopiană fu" + 4938 "Silaba etiopiană fi" + 4939 "Silaba etiopiană faa" + 4940 "Silaba etiopiană fee" + 4941 "Silaba etiopiană fe" + 4942 "Silaba etiopiană fo" + 4943 "Silaba etiopiană fwa" + 4944 "Silaba etiopiană pa" + 4945 "Silaba etiopiană pu" + 4946 "Silaba etiopiană pi" + 4947 "Silaba etiopiană paa" + 4948 "Silaba etiopiană pee" + 4949 "Silaba etiopiană pe" + 4950 "Silaba etiopiană po" + 4951 "Silaba etiopiană pwa" + 4952 "Silaba etiopiană rya" + 4953 "Silaba etiopiană mya" + 4954 "Silaba etiopiană fya" + 4957 "Însemn etiopian îmbinativ de lungime vocală și germinare" + 4958 "Însemn etiopian îmbinativ de lungime vocală" + 4959 "Însemn etiopian îmbinativ de germinare" + 4960 "Însemn etiopian de secțiune" + 4961 "Însemn etiopian pentru spațiu între cuvinte" + 4962 "Punct etiopian" + 4963 "Virgulă etiopiană" + 4964 "Punct și virgulă etiopian" + 4965 "Două puncte etiopian" + 4966 "Două puncte etiopian pentru prefață" + 4967 "Semnul etiopian de întrebare" + 4968 "Semnul etiopian separator de paragraf" + 4969 "Cifra etiopiană unu" + 4970 "Cifra etiopiană doi" + 4971 "Cifra etiopiană trei" + 4972 "Cifra etiopiană patru" + 4973 "Cifra etiopiană cinci" + 4974 "Cifra etiopiană șase" + 4975 "Cifra etiopiană șapte" + 4976 "Cifra etiopiană opt" + 4977 "Cifra etiopiană nouă" + 4978 "Numărul etiopian zece" + 4979 "Numărul etiopian douăzeci" + 4980 "Numărul etiopian treizeci" + 4981 "Numărul etiopian patruzeci" + 4982 "Numărul etiopian cincizeci" + 4983 "Numărul etiopian șaizeci" + 4984 "Numărul etiopian șaptezeci" + 4985 "Numărul etiopian optzeci" + 4986 "Numărul etiopian nouăzeci" + 4987 "Numărul etiopian o sută" + 4988 "Numărul etiopian zece mii" + 4992 "Silaba etiopiană mwa sebatbeit" + 4993 "Silaba etiopiană mwi" + 4994 "Silaba etiopiană mwee" + 4995 "Silaba etiopiană mwe" + 4996 "Silaba etiopiană bwa sebatbeit" + 4997 "Silaba etiopiană bwi" + 4998 "Silaba etiopiană bwee" + 4999 "Silaba etiopiană bwe" + 5000 "Silaba etiopiană fwa sebatbeit" + 5001 "Silaba etiopiană fwi" + 5002 "Silaba etiopiană fwee" + 5003 "Silaba etiopiană fwe" + 5004 "Silaba etiopiană pwa sebatbeit" + 5005 "Silaba etiopiană pwi" + 5006 "Silaba etiopiană pwee" + 5007 "Silaba etiopiană pwe" + 5008 "Însemn etiopian de intonație yizet" + 5009 "Însemn etiopian de intonație deret" + 5010 "Însemn etiopian de intonație rikrik" + 5011 "Însemn etiopian de intonație short rikrik" + 5012 "Însemn etiopian de intonație difat" + 5013 "Însemn etiopian de intonație kenat" + 5014 "Însemn etiopian de intonație chiret" + 5015 "Însemn etiopian de intonație hidet" + 5016 "Însemn etiopian de intonație deret-hidet" + 5017 "Însemn etiopian de intonație kurt" + 5024 "Silaba cherokee a" + 5025 "Silaba cherokee e" + 5026 "Silaba cherokee i" + 5027 "Silaba cherokee o" + 5028 "Silaba cherokee u" + 5029 "Silaba cherokee v" + 5030 "Silaba cherokee ga" + 5031 "Silaba cherokee ka" + 5032 "Silaba cherokee ge" + 5033 "Silaba cherokee gi" + 5034 "Silaba cherokee go" + 5035 "Silaba cherokee gu" + 5036 "Silaba cherokee gv" + 5037 "Silaba cherokee ha" + 5038 "Silaba cherokee he" + 5039 "Silaba cherokee hi" + 5040 "Silaba cherokee ho" + 5041 "Silaba cherokee hu" + 5042 "Silaba cherokee hv" + 5043 "Silaba cherokee la" + 5044 "Silaba cherokee le" + 5045 "Silaba cherokee li" + 5046 "Silaba cherokee lo" + 5047 "Silaba cherokee lu" + 5048 "Silaba cherokee lv" + 5049 "Silaba cherokee ma" + 5050 "Silaba cherokee me" + 5051 "Silaba cherokee mi" + 5052 "Silaba cherokee mo" + 5053 "Silaba cherokee mu" + 5054 "Silaba cherokee na" + 5055 "Silaba cherokee hna" + 5056 "Silaba cherokee nah" + 5057 "Silaba cherokee ne" + 5058 "Silaba cherokee ni" + 5059 "Silaba cherokee no" + 5060 "Silaba cherokee nu" + 5061 "Silaba cherokee nv" + 5062 "Silaba cherokee qua" + 5063 "Silaba cherokee que" + 5064 "Silaba cherokee qui" + 5065 "Silaba cherokee quo" + 5066 "Silaba cherokee quu" + 5067 "Silaba cherokee quv" + 5068 "Silaba cherokee sa" + 5069 "Silaba cherokee s" + 5070 "Silaba cherokee se" + 5071 "Silaba cherokee si" + 5072 "Silaba cherokee so" + 5073 "Silaba cherokee su" + 5074 "Silaba cherokee sv" + 5075 "Silaba cherokee da" + 5076 "Silaba cherokee ta" + 5077 "Silaba cherokee de" + 5078 "Silaba cherokee te" + 5079 "Silaba cherokee di" + 5080 "Silaba cherokee ti" + 5081 "Silaba cherokee do" + 5082 "Silaba cherokee du" + 5083 "Silaba cherokee dv" + 5084 "Silaba cherokee dla" + 5085 "Silaba cherokee tla" + 5086 "Silaba cherokee tle" + 5087 "Silaba cherokee tli" + 5088 "Silaba cherokee tlo" + 5089 "Silaba cherokee tlu" + 5090 "Silaba cherokee tlv" + 5091 "Silaba cherokee tsa" + 5092 "Silaba cherokee tse" + 5093 "Silaba cherokee tsi" + 5094 "Silaba cherokee tso" + 5095 "Silaba cherokee tsu" + 5096 "Silaba cherokee tsv" + 5097 "Silaba cherokee wa" + 5098 "Silaba cherokee we" + 5099 "Silaba cherokee wi" + 5100 "Silaba cherokee wo" + 5101 "Silaba cherokee wu" + 5102 "Silaba cherokee wv" + 5103 "Silaba cherokee ya" + 5104 "Silaba cherokee ye" + 5105 "Silaba cherokee yi" + 5106 "Silaba cherokee yo" + 5107 "Silaba cherokee yu" + 5108 "Silaba cherokee yv" + 5120 "Silaba aborigen-canadiană cratimă" + 5121 "Silaba aborigen-canadiană e" + 5122 "Silaba aborigen-canadiană aai" + 5123 "Silaba aborigen-canadiană i" + 5124 "Silaba aborigen-canadiană ii" + 5125 "Silaba aborigen-canadiană o" + 5126 "Silaba aborigen-canadiană oo" + 5127 "Silaba aborigen-canadiană oo în dialectul cree y" + 5128 "Silaba aborigen-canadiană purtătoare ee" + 5129 "Silaba aborigen-canadiană purtătoare i" + 5130 "Silaba aborigen-canadiană a" + 5131 "Silaba aborigen-canadiană aa" + 5132 "Silaba aborigen-canadiană we" + 5133 "Silaba aborigen-canadiană we în cree de vest" + 5134 "Silaba aborigen-canadiană wi" + 5135 "Silaba aborigen-canadiană wi în cree de vest" + 5136 "Silaba aborigen-canadiană wii" + 5137 "Silaba aborigen-canadiană wii în cree de vest" + 5138 "Silaba aborigen-canadiană wo" + 5139 "Silaba aborigen-canadiană wo în cree de vest" + 5140 "Silaba aborigen-canadiană woo" + 5141 "Silaba aborigen-canadiană woo în cree de vest" + 5142 "Silaba aborigen-canadiană woo în naskapi" + 5143 "Silaba aborigen-canadiană wa" + 5144 "Silaba aborigen-canadiană wa în cree de vest" + 5145 "Silaba aborigen-canadiană waa" + 5146 "Silaba aborigen-canadiană waa în cree de vest" + 5147 "Silaba aborigen-canadiană waa în naskapi" + 5148 "Silaba aborigen-canadiană ai" + 5149 "Silaba aborigen-canadiană y în cree de vest" + 5150 "Silaba aborigen-canadiană stop glotal" + 5151 "Silaba aborigen-canadiană accent final acut" + 5152 "Silaba aborigen-canadiană accent final grav" + 5153 "Silaba aborigen-canadiană accent final semi-inel inferior" + 5154 "Silaba aborigen-canadiană accent final semi-inel superior" + 5155 "Silaba aborigen-canadiană accent final semi-inel drept" + 5156 "Silaba aborigen-canadiană accent final inel" + 5157 "Silaba aborigen-canadiană accent final dublu-acut" + 5158 "Silaba aborigen-canadiană accent final scurtă bară dublă verticală" + 5159 "Silaba aborigen-canadiană accent final interpunct" + 5160 "Silaba aborigen-canadiană accent final scurtă bară verticală" + 5161 "Silaba aborigen-canadiană accent final plus" + 5162 "Silaba aborigen-canadiană accent final cui în jos" + 5163 "Silaba aborigen-canadiană en" + 5164 "Silaba aborigen-canadiană in" + 5165 "Silaba aborigen-canadiană on" + 5166 "Silaba aborigen-canadiană an" + 5167 "Silaba aborigen-canadiană pe" + 5168 "Silaba aborigen-canadiană paai" + 5169 "Silaba aborigen-canadiană pi" + 5170 "Silaba aborigen-canadiană pii" + 5171 "Silaba aborigen-canadiană po" + 5172 "Silaba aborigen-canadiană poo" + 5173 "Silaba aborigen-canadiană poo în dialectul cree y" + 5174 "Silaba aborigen-canadiană purtătoare hee" + 5175 "Silaba aborigen-canadiană purtătoare hi" + 5176 "Silaba aborigen-canadiană pa" + 5177 "Silaba aborigen-canadiană paa" + 5178 "Silaba aborigen-canadiană pwe" + 5179 "Silaba aborigen-canadiană pwe în cree de vest" + 5180 "Silaba aborigen-canadiană pwi" + 5181 "Silaba aborigen-canadiană pwi în cree de vest" + 5182 "Silaba aborigen-canadiană pwii" + 5183 "Silaba aborigen-canadiană pwii în cree de vest" + 5184 "Silaba aborigen-canadiană pwo" + 5185 "Silaba aborigen-canadiană pwo în cree de vest" + 5186 "Silaba aborigen-canadiană pwoo" + 5187 "Silaba aborigen-canadiană pwoo în cree de vest" + 5188 "Silaba aborigen-canadiană pwa" + 5189 "Silaba aborigen-canadiană pwa în cree de vest" + 5190 "Silaba aborigen-canadiană pwaa" + 5191 "Silaba aborigen-canadiană pwaa în cree de vest" + 5192 "Silaba aborigen-canadiană pwaa în dialectul cree y" + 5193 "Silaba aborigen-canadiană p" + 5194 "Silaba aborigen-canadiană p în cree de vest" + 5195 "Silaba aborigen-canadiană purtătoare h" + 5196 "Silaba aborigen-canadiană te" + 5197 "Silaba aborigen-canadiană taai" + 5198 "Silaba aborigen-canadiană ti" + 5199 "Silaba aborigen-canadiană tii" + 5200 "Silaba aborigen-canadiană to" + 5201 "Silaba aborigen-canadiană too" + 5202 "Silaba aborigen-canadiană too în dialectul cree y" + 5203 "Silaba aborigen-canadiană purtătoare dee" + 5204 "Silaba aborigen-canadiană purtătoare di" + 5205 "Silaba aborigen-canadiană ta" + 5206 "Silaba aborigen-canadiană taa" + 5207 "Silaba aborigen-canadiană twe" + 5208 "Silaba aborigen-canadiană twe în cree de vest" + 5209 "Silaba aborigen-canadiană twi" + 5210 "Silaba aborigen-canadiană twi în cree de vest" + 5211 "Silaba aborigen-canadiană twii" + 5212 "Silaba aborigen-canadiană twii în cree de vest" + 5213 "Silaba aborigen-canadiană two" + 5214 "Silaba aborigen-canadiană two în cree de vest" + 5215 "Silaba aborigen-canadiană twoo" + 5216 "Silaba aborigen-canadiană twoo în cree de vest" + 5217 "Silaba aborigen-canadiană twa" + 5218 "Silaba aborigen-canadiană twa în cree de vest" + 5219 "Silaba aborigen-canadiană twaa" + 5220 "Silaba aborigen-canadiană twaa în cree de vest" + 5221 "Silaba aborigen-canadiană twaa în naskapi" + 5222 "Silaba aborigen-canadiană t" + 5223 "Silaba aborigen-canadiană tte" + 5224 "Silaba aborigen-canadiană tti" + 5225 "Silaba aborigen-canadiană tto" + 5226 "Silaba aborigen-canadiană tta" + 5227 "Silaba aborigen-canadiană ke" + 5228 "Silaba aborigen-canadiană kaai" + 5229 "Silaba aborigen-canadiană ki" + 5230 "Silaba aborigen-canadiană kii" + 5231 "Silaba aborigen-canadiană ko" + 5232 "Silaba aborigen-canadiană koo" + 5233 "Silaba aborigen-canadiană koo în dialectul cree y" + 5234 "Silaba aborigen-canadiană ka" + 5235 "Silaba aborigen-canadiană kaa" + 5236 "Silaba aborigen-canadiană kwe" + 5237 "Silaba aborigen-canadiană kwe în cree de vest" + 5238 "Silaba aborigen-canadiană kwi" + 5239 "Silaba aborigen-canadiană kwi în cree de vest" + 5240 "Silaba aborigen-canadiană kwii" + 5241 "Silaba aborigen-canadiană kwii în cree de vest" + 5242 "Silaba aborigen-canadiană kwo" + 5243 "Silaba aborigen-canadiană kwo în cree de vest" + 5244 "Silaba aborigen-canadiană kwoo" + 5245 "Silaba aborigen-canadiană kwoo în cree de vest" + 5246 "Silaba aborigen-canadiană kwa" + 5247 "Silaba aborigen-canadiană kwa în cree de vest" + 5248 "Silaba aborigen-canadiană kwaa" + 5249 "Silaba aborigen-canadiană kwaa în cree de vest" + 5250 "Silaba aborigen-canadiană kwaa în naskapi" + 5251 "Silaba aborigen-canadiană k" + 5252 "Silaba aborigen-canadiană kw" + 5253 "Silaba aborigen-canadiană keh în slavey de sud" + 5254 "Silaba aborigen-canadiană kih în slavey de sud" + 5255 "Silaba aborigen-canadiană koh în slavey de sud" + 5256 "Silaba aborigen-canadiană kah în slavey de sud" + 5257 "Silaba aborigen-canadiană ce" + 5258 "Silaba aborigen-canadiană caai" + 5259 "Silaba aborigen-canadiană ci" + 5260 "Silaba aborigen-canadiană cii" + 5261 "Silaba aborigen-canadiană co" + 5262 "Silaba aborigen-canadiană coo" + 5263 "Silaba aborigen-canadiană coo în dialectul cree y" + 5264 "Silaba aborigen-canadiană ca" + 5265 "Silaba aborigen-canadiană caa" + 5266 "Silaba aborigen-canadiană cwe" + 5267 "Silaba aborigen-canadiană cwe în cree de vest" + 5268 "Silaba aborigen-canadiană cwi" + 5269 "Silaba aborigen-canadiană cwi în cree de vest" + 5270 "Silaba aborigen-canadiană cwii" + 5271 "Silaba aborigen-canadiană cwii în cree de vest" + 5272 "Silaba aborigen-canadiană cwo" + 5273 "Silaba aborigen-canadiană cwo în cree de vest" + 5274 "Silaba aborigen-canadiană cwoo" + 5275 "Silaba aborigen-canadiană cwoo în cree de vest" + 5276 "Silaba aborigen-canadiană cwa" + 5277 "Silaba aborigen-canadiană cwa în cree de vest" + 5278 "Silaba aborigen-canadiană cwaa" + 5279 "Silaba aborigen-canadiană cwaa în cree de vest" + 5280 "Silaba aborigen-canadiană cwaa în naskapi" + 5281 "Silaba aborigen-canadiană c" + 5282 "Silaba aborigen-canadiană th în sayisi" + 5283 "Silaba aborigen-canadiană me" + 5284 "Silaba aborigen-canadiană maai" + 5285 "Silaba aborigen-canadiană mi" + 5286 "Silaba aborigen-canadiană mii" + 5287 "Silaba aborigen-canadiană mo" + 5288 "Silaba aborigen-canadiană moo" + 5289 "Silaba aborigen-canadiană moo în dialectul cree y" + 5290 "Silaba aborigen-canadiană ma" + 5291 "Silaba aborigen-canadiană maa" + 5292 "Silaba aborigen-canadiană mwe" + 5293 "Silaba aborigen-canadiană mwe în cree de vest" + 5294 "Silaba aborigen-canadiană mwi" + 5295 "Silaba aborigen-canadiană mwi în cree de vest" + 5296 "Silaba aborigen-canadiană mwii" + 5297 "Silaba aborigen-canadiană mwii în cree de vest" + 5298 "Silaba aborigen-canadiană mwo" + 5299 "Silaba aborigen-canadiană mwo în cree de vest" + 5300 "Silaba aborigen-canadiană mwoo" + 5301 "Silaba aborigen-canadiană mwoo în cree de vest" + 5302 "Silaba aborigen-canadiană mwa" + 5303 "Silaba aborigen-canadiană mwa în cree de vest" + 5304 "Silaba aborigen-canadiană mwaa" + 5305 "Silaba aborigen-canadiană mwaa în cree de vest" + 5306 "Silaba aborigen-canadiană mwaa în naskapi" + 5307 "Silaba aborigen-canadiană m" + 5308 "Silaba aborigen-canadiană m în cree de vest" + 5309 "Silaba aborigen-canadiană mh" + 5310 "Silaba aborigen-canadiană m în athapascan" + 5311 "Silaba aborigen-canadiană m în sayisi" + 5312 "Silaba aborigen-canadiană ne" + 5313 "Silaba aborigen-canadiană naai" + 5314 "Silaba aborigen-canadiană ni" + 5315 "Silaba aborigen-canadiană nii" + 5316 "Silaba aborigen-canadiană no" + 5317 "Silaba aborigen-canadiană noo" + 5318 "Silaba aborigen-canadiană noo în dialectul cree y" + 5319 "Silaba aborigen-canadiană na" + 5320 "Silaba aborigen-canadiană naa" + 5321 "Silaba aborigen-canadiană nwe" + 5322 "Silaba aborigen-canadiană nwe în cree de vest" + 5323 "Silaba aborigen-canadiană nwa" + 5324 "Silaba aborigen-canadiană nwa în cree de vest" + 5325 "Silaba aborigen-canadiană nwaa" + 5326 "Silaba aborigen-canadiană nwaa în cree de vest" + 5327 "Silaba aborigen-canadiană nwaa în naskapi" + 5328 "Silaba aborigen-canadiană n" + 5329 "Silaba aborigen-canadiană purtătoare ng" + 5330 "Silaba aborigen-canadiană nh" + 5331 "Silaba aborigen-canadiană le" + 5332 "Silaba aborigen-canadiană laai" + 5333 "Silaba aborigen-canadiană li" + 5334 "Silaba aborigen-canadiană lii" + 5335 "Silaba aborigen-canadiană lo" + 5336 "Silaba aborigen-canadiană loo" + 5337 "Silaba aborigen-canadiană loo în dialectul cree y" + 5338 "Silaba aborigen-canadiană la" + 5339 "Silaba aborigen-canadiană laa" + 5340 "Silaba aborigen-canadiană lwe" + 5341 "Silaba aborigen-canadiană lwe în cree de vest" + 5342 "Silaba aborigen-canadiană lwi" + 5343 "Silaba aborigen-canadiană lwi în cree de vest" + 5344 "Silaba aborigen-canadiană lwii" + 5345 "Silaba aborigen-canadiană lwii în cree de vest" + 5346 "Silaba aborigen-canadiană lwo" + 5347 "Silaba aborigen-canadiană lwo în cree de vest" + 5348 "Silaba aborigen-canadiană lwoo" + 5349 "Silaba aborigen-canadiană lwoo în cree de vest" + 5350 "Silaba aborigen-canadiană lwa" + 5351 "Silaba aborigen-canadiană lwa în cree de vest" + 5352 "Silaba aborigen-canadiană lwaa" + 5353 "Silaba aborigen-canadiană lwaa în cree de vest" + 5354 "Silaba aborigen-canadiană l" + 5355 "Silaba aborigen-canadiană l în cree de vest" + 5356 "Silaba aborigen-canadiană l de mijloc" + 5357 "Silaba aborigen-canadiană se" + 5358 "Silaba aborigen-canadiană saai" + 5359 "Silaba aborigen-canadiană si" + 5360 "Silaba aborigen-canadiană sii" + 5361 "Silaba aborigen-canadiană so" + 5362 "Silaba aborigen-canadiană soo" + 5363 "Silaba aborigen-canadiană soo în dialectul cree y" + 5364 "Silaba aborigen-canadiană sa" + 5365 "Silaba aborigen-canadiană saa" + 5366 "Silaba aborigen-canadiană swe" + 5367 "Silaba aborigen-canadiană swe în cree de vest" + 5368 "Silaba aborigen-canadiană swi" + 5369 "Silaba aborigen-canadiană swi în cree de vest" + 5370 "Silaba aborigen-canadiană swii" + 5371 "Silaba aborigen-canadiană swii în cree de vest" + 5372 "Silaba aborigen-canadiană swo" + 5373 "Silaba aborigen-canadiană swo în cree de vest" + 5374 "Silaba aborigen-canadiană swoo" + 5375 "Silaba aborigen-canadiană swoo în cree de vest" + 5376 "Silaba aborigen-canadiană swa" + 5377 "Silaba aborigen-canadiană swa în cree de vest" + 5378 "Silaba aborigen-canadiană swaa" + 5379 "Silaba aborigen-canadiană swaa în cree de vest" + 5380 "Silaba aborigen-canadiană swaa în naskapi" + 5381 "Silaba aborigen-canadiană s" + 5382 "Silaba aborigen-canadiană s în athapascan" + 5383 "Silaba aborigen-canadiană sw" + 5384 "Silaba aborigen-canadiană s în niitsitapi" + 5385 "Silaba aborigen-canadiană sk în cree moose" + 5386 "Silaba aborigen-canadiană skw în naskapi" + 5387 "Silaba aborigen-canadiană s-w în naskapi" + 5388 "Silaba aborigen-canadiană spwa în naskapi" + 5389 "Silaba aborigen-canadiană stwa în naskapi" + 5390 "Silaba aborigen-canadiană skwa în naskapi" + 5391 "Silaba aborigen-canadiană scwa în naskapi" + 5392 "Silaba aborigen-canadiană she" + 5393 "Silaba aborigen-canadiană shi" + 5394 "Silaba aborigen-canadiană shii" + 5395 "Silaba aborigen-canadiană sho" + 5396 "Silaba aborigen-canadiană shoo" + 5397 "Silaba aborigen-canadiană sha" + 5398 "Silaba aborigen-canadiană shaa" + 5399 "Silaba aborigen-canadiană shwe" + 5400 "Silaba aborigen-canadiană shwe în cree de vest" + 5401 "Silaba aborigen-canadiană shwi" + 5402 "Silaba aborigen-canadiană shwi în cree de vest" + 5403 "Silaba aborigen-canadiană shwii" + 5404 "Silaba aborigen-canadiană shwii în cree de vest" + 5405 "Silaba aborigen-canadiană shwo" + 5406 "Silaba aborigen-canadiană shwo în cree de vest" + 5407 "Silaba aborigen-canadiană shwoo" + 5408 "Silaba aborigen-canadiană shwoo în cree de vest" + 5409 "Silaba aborigen-canadiană shwa" + 5410 "Silaba aborigen-canadiană shwa în cree de vest" + 5411 "Silaba aborigen-canadiană shwaa" + 5412 "Silaba aborigen-canadiană shwaa în cree de vest" + 5413 "Silaba aborigen-canadiană sh" + 5414 "Silaba aborigen-canadiană ye" + 5415 "Silaba aborigen-canadiană yaai" + 5416 "Silaba aborigen-canadiană yi" + 5417 "Silaba aborigen-canadiană yii" + 5418 "Silaba aborigen-canadiană yo" + 5419 "Silaba aborigen-canadiană yoo" + 5420 "Silaba aborigen-canadiană yoo în dialectul cree y" + 5421 "Silaba aborigen-canadiană ya" + 5422 "Silaba aborigen-canadiană yaa" + 5423 "Silaba aborigen-canadiană ywe" + 5424 "Silaba aborigen-canadiană ywe în cree de vest" + 5425 "Silaba aborigen-canadiană ywi" + 5426 "Silaba aborigen-canadiană ywi în cree de vest" + 5427 "Silaba aborigen-canadiană ywii" + 5428 "Silaba aborigen-canadiană ywii în cree de vest" + 5429 "Silaba aborigen-canadiană ywo" + 5430 "Silaba aborigen-canadiană ywo în cree de vest" + 5431 "Silaba aborigen-canadiană ywoo" + 5432 "Silaba aborigen-canadiană ywoo în cree de vest" + 5433 "Silaba aborigen-canadiană ywa" + 5434 "Silaba aborigen-canadiană ywa în cree de vest" + 5435 "Silaba aborigen-canadiană ywaa" + 5436 "Silaba aborigen-canadiană ywaa în cree de vest" + 5437 "Silaba aborigen-canadiană ywaa în naskapi" + 5438 "Silaba aborigen-canadiană y" + 5439 "Silaba aborigen-canadiană y în cree biblie" + 5440 "Silaba aborigen-canadiană y în cree de vest" + 5441 "Silaba aborigen-canadiană yi în sayisi" + 5442 "Silaba aborigen-canadiană re" + 5443 "Silaba aborigen-canadiană re în dialectul cree r" + 5444 "Silaba aborigen-canadiană le în cree de vest" + 5445 "Silaba aborigen-canadiană raai" + 5446 "Silaba aborigen-canadiană ri" + 5447 "Silaba aborigen-canadiană rii" + 5448 "Silaba aborigen-canadiană ro" + 5449 "Silaba aborigen-canadiană roo" + 5450 "Silaba aborigen-canadiană lo în cree de vest" + 5451 "Silaba aborigen-canadiană ra" + 5452 "Silaba aborigen-canadiană raa" + 5453 "Silaba aborigen-canadiană la în cree de vest" + 5454 "Silaba aborigen-canadiană rwaa" + 5455 "Silaba aborigen-canadiană rwaa în cree de vest" + 5456 "Silaba aborigen-canadiană r" + 5457 "Silaba aborigen-canadiană r în cree de vest" + 5458 "Silaba aborigen-canadiană r de mijloc" + 5459 "Silaba aborigen-canadiană fe" + 5460 "Silaba aborigen-canadiană faai" + 5461 "Silaba aborigen-canadiană fi" + 5462 "Silaba aborigen-canadiană fii" + 5463 "Silaba aborigen-canadiană fo" + 5464 "Silaba aborigen-canadiană foo" + 5465 "Silaba aborigen-canadiană fa" + 5466 "Silaba aborigen-canadiană faa" + 5467 "Silaba aborigen-canadiană fwaa" + 5468 "Silaba aborigen-canadiană fwaa în cree de vest" + 5469 "Silaba aborigen-canadiană f" + 5470 "Silaba aborigen-canadiană the" + 5471 "Silaba aborigen-canadiană the în dialectul cree n" + 5472 "Silaba aborigen-canadiană thi" + 5473 "Silaba aborigen-canadiană thi în dialectul cree n" + 5474 "Silaba aborigen-canadiană thii" + 5475 "Silaba aborigen-canadiană thii în dialectul cree n" + 5476 "Silaba aborigen-canadiană tho" + 5477 "Silaba aborigen-canadiană thoo" + 5478 "Silaba aborigen-canadiană tha" + 5479 "Silaba aborigen-canadiană thaa" + 5480 "Silaba aborigen-canadiană thwaa" + 5481 "Silaba aborigen-canadiană thwaa în cree de vest" + 5482 "Silaba aborigen-canadiană th" + 5483 "Silaba aborigen-canadiană tthe" + 5484 "Silaba aborigen-canadiană tthi" + 5485 "Silaba aborigen-canadiană ttho" + 5486 "Silaba aborigen-canadiană ttha" + 5487 "Silaba aborigen-canadiană tth" + 5488 "Silaba aborigen-canadiană tye" + 5489 "Silaba aborigen-canadiană tyi" + 5490 "Silaba aborigen-canadiană tyo" + 5491 "Silaba aborigen-canadiană tya" + 5492 "Silaba aborigen-canadiană he în nunavik" + 5493 "Silaba aborigen-canadiană hi în nunavik" + 5494 "Silaba aborigen-canadiană hii în nunavik" + 5495 "Silaba aborigen-canadiană ho în nunavik" + 5496 "Silaba aborigen-canadiană hoo în nunavik" + 5497 "Silaba aborigen-canadiană ha în nunavik" + 5498 "Silaba aborigen-canadiană haa în nunavik" + 5499 "Silaba aborigen-canadiană h în nunavik" + 5500 "Silaba aborigen-canadiană h în nunavut" + 5501 "Silaba aborigen-canadiană hk" + 5502 "Silaba aborigen-canadiană qaai" + 5503 "Silaba aborigen-canadiană qi" + 5504 "Silaba aborigen-canadiană qii" + 5505 "Silaba aborigen-canadiană qo" + 5506 "Silaba aborigen-canadiană qoo" + 5507 "Silaba aborigen-canadiană qa" + 5508 "Silaba aborigen-canadiană qaa" + 5509 "Silaba aborigen-canadiană q" + 5510 "Silaba aborigen-canadiană tlhe" + 5511 "Silaba aborigen-canadiană tlhi" + 5512 "Silaba aborigen-canadiană tlho" + 5513 "Silaba aborigen-canadiană tlha" + 5514 "Silaba aborigen-canadiană re în cree de vest" + 5515 "Silaba aborigen-canadiană ri în cree de vest" + 5516 "Silaba aborigen-canadiană ro în cree de vest" + 5517 "Silaba aborigen-canadiană ra în cree de vest" + 5518 "Silaba aborigen-canadiană ngaai" + 5519 "Silaba aborigen-canadiană ngi" + 5520 "Silaba aborigen-canadiană ngii" + 5521 "Silaba aborigen-canadiană ngo" + 5522 "Silaba aborigen-canadiană ngoo" + 5523 "Silaba aborigen-canadiană nga" + 5524 "Silaba aborigen-canadiană ngaa" + 5525 "Silaba aborigen-canadiană ng" + 5526 "Silaba aborigen-canadiană nng" + 5527 "Silaba aborigen-canadiană she în sayisi" + 5528 "Silaba aborigen-canadiană shi în sayisi" + 5529 "Silaba aborigen-canadiană sho în sayisi" + 5530 "Silaba aborigen-canadiană sha în sayisi" + 5531 "Silaba aborigen-canadiană the în dialectul woods-cree" + 5532 "Silaba aborigen-canadiană thi în dialectul woods-cree" + 5533 "Silaba aborigen-canadiană tho în dialectul woods-cree" + 5534 "Silaba aborigen-canadiană tha în dialectul woods-cree" + 5535 "Silaba aborigen-canadiană th în dialectul woods-cree" + 5536 "Silaba aborigen-canadiană lhi" + 5537 "Silaba aborigen-canadiană lhii" + 5538 "Silaba aborigen-canadiană lho" + 5539 "Silaba aborigen-canadiană lhoo" + 5540 "Silaba aborigen-canadiană lha" + 5541 "Silaba aborigen-canadiană lhaa" + 5542 "Silaba aborigen-canadiană lh" + 5543 "Silaba aborigen-canadiană the în cree dialectul th" + 5544 "Silaba aborigen-canadiană thi în cree dialectul th" + 5545 "Silaba aborigen-canadiană thii în cree dialectul th" + 5546 "Silaba aborigen-canadiană tho în cree dialectul th" + 5547 "Silaba aborigen-canadiană thoo în cree dialectul th" + 5548 "Silaba aborigen-canadiană tha în cree dialectul th" + 5549 "Silaba aborigen-canadiană thaa în cree dialectul th" + 5550 "Silaba aborigen-canadiană th în cree dialectul th" + 5551 "Silaba aborigen-canadiană b în aivilik" + 5552 "Silaba aborigen-canadiană e în niitsitapi" + 5553 "Silaba aborigen-canadiană i în niitsitapi" + 5554 "Silaba aborigen-canadiană o în niitsitapi" + 5555 "Silaba aborigen-canadiană a în niitsitapi" + 5556 "Silaba aborigen-canadiană we în niitsitapi" + 5557 "Silaba aborigen-canadiană wi în niitsitapi" + 5558 "Silaba aborigen-canadiană wo în niitsitapi" + 5559 "Silaba aborigen-canadiană wa în niitsitapi" + 5560 "Silaba aborigen-canadiană we în niitsitapi" + 5561 "Silaba aborigen-canadiană wi în niitsitapi" + 5562 "Silaba aborigen-canadiană wo în niitsitapi" + 5563 "Silaba aborigen-canadiană wa în niitsitapi" + 5564 "Silaba aborigen-canadiană ke în niitsitapi" + 5565 "Silaba aborigen-canadiană ki în niitsitapi" + 5566 "Silaba aborigen-canadiană ko în niitsitapi" + 5567 "Silaba aborigen-canadiană ka în niitsitapi" + 5568 "Silaba aborigen-canadiană he în sayisi" + 5569 "Silaba aborigen-canadiană hi în sayisi" + 5570 "Silaba aborigen-canadiană ho în sayisi" + 5571 "Silaba aborigen-canadiană ha în sayisi" + 5572 "Silaba aborigen-canadiană purtătoare ghu" + 5573 "Silaba aborigen-canadiană purtătoare gho" + 5574 "Silaba aborigen-canadiană purtătoare ghe" + 5575 "Silaba aborigen-canadiană purtătoare ghee" + 5576 "Silaba aborigen-canadiană purtătoare ghi" + 5577 "Silaba aborigen-canadiană purtătoare gha" + 5578 "Silaba aborigen-canadiană purtătoare ru" + 5579 "Silaba aborigen-canadiană purtătoare ro" + 5580 "Silaba aborigen-canadiană purtătoare re" + 5581 "Silaba aborigen-canadiană purtătoare ree" + 5582 "Silaba aborigen-canadiană purtătoare ri" + 5583 "Silaba aborigen-canadiană purtătoare ra" + 5584 "Silaba aborigen-canadiană purtătoare wu" + 5585 "Silaba aborigen-canadiană purtătoare wo" + 5586 "Silaba aborigen-canadiană purtătoare we" + 5587 "Silaba aborigen-canadiană purtătoare wee" + 5588 "Silaba aborigen-canadiană purtătoare wi" + 5589 "Silaba aborigen-canadiană purtătoare wa" + 5590 "Silaba aborigen-canadiană purtătoare hwu" + 5591 "Silaba aborigen-canadiană purtătoare hwo" + 5592 "Silaba aborigen-canadiană purtătoare hwe" + 5593 "Silaba aborigen-canadiană purtătoare hwee" + 5594 "Silaba aborigen-canadiană purtătoare hwi" + 5595 "Silaba aborigen-canadiană purtătoare hwa" + 5596 "Silaba aborigen-canadiană purtătoare thu" + 5597 "Silaba aborigen-canadiană purtătoare tho" + 5598 "Silaba aborigen-canadiană purtătoare the" + 5599 "Silaba aborigen-canadiană purtătoare thee" + 5600 "Silaba aborigen-canadiană purtătoare thi" + 5601 "Silaba aborigen-canadiană purtătoare tha" + 5602 "Silaba aborigen-canadiană purtătoare ttu" + 5603 "Silaba aborigen-canadiană purtătoare tto" + 5604 "Silaba aborigen-canadiană purtătoare tte" + 5605 "Silaba aborigen-canadiană purtătoare ttee" + 5606 "Silaba aborigen-canadiană purtătoare tti" + 5607 "Silaba aborigen-canadiană purtătoare tta" + 5608 "Silaba aborigen-canadiană purtătoare pu" + 5609 "Silaba aborigen-canadiană purtătoare po" + 5610 "Silaba aborigen-canadiană purtătoare pe" + 5611 "Silaba aborigen-canadiană purtătoare pee" + 5612 "Silaba aborigen-canadiană purtătoare pi" + 5613 "Silaba aborigen-canadiană purtătoare pa" + 5614 "Silaba aborigen-canadiană purtătoare p" + 5615 "Silaba aborigen-canadiană purtătoare gu" + 5616 "Silaba aborigen-canadiană purtătoare go" + 5617 "Silaba aborigen-canadiană purtătoare ge" + 5618 "Silaba aborigen-canadiană purtătoare gee" + 5619 "Silaba aborigen-canadiană purtătoare gi" + 5620 "Silaba aborigen-canadiană purtătoare ga" + 5621 "Silaba aborigen-canadiană purtătoare khu" + 5622 "Silaba aborigen-canadiană purtătoare kho" + 5623 "Silaba aborigen-canadiană purtătoare khe" + 5624 "Silaba aborigen-canadiană purtătoare khee" + 5625 "Silaba aborigen-canadiană purtătoare khi" + 5626 "Silaba aborigen-canadiană purtătoare kha" + 5627 "Silaba aborigen-canadiană purtătoare kku" + 5628 "Silaba aborigen-canadiană purtătoare kko" + 5629 "Silaba aborigen-canadiană purtătoare kke" + 5630 "Silaba aborigen-canadiană purtătoare kkee" + 5631 "Silaba aborigen-canadiană purtătoare kki" + 5632 "Silaba aborigen-canadiană purtătoare kka" + 5633 "Silaba aborigen-canadiană purtătoare kk" + 5634 "Silaba aborigen-canadiană purtătoare nu" + 5635 "Silaba aborigen-canadiană purtătoare no" + 5636 "Silaba aborigen-canadiană purtătoare ne" + 5637 "Silaba aborigen-canadiană purtătoare nee" + 5638 "Silaba aborigen-canadiană purtătoare ni" + 5639 "Silaba aborigen-canadiană purtătoare na" + 5640 "Silaba aborigen-canadiană purtătoare mu" + 5641 "Silaba aborigen-canadiană purtătoare mo" + 5642 "Silaba aborigen-canadiană purtătoare me" + 5643 "Silaba aborigen-canadiană purtătoare mee" + 5644 "Silaba aborigen-canadiană purtătoare mi" + 5645 "Silaba aborigen-canadiană purtătoare ma" + 5646 "Silaba aborigen-canadiană purtătoare yu" + 5647 "Silaba aborigen-canadiană purtătoare yo" + 5648 "Silaba aborigen-canadiană purtătoare ye" + 5649 "Silaba aborigen-canadiană purtătoare yee" + 5650 "Silaba aborigen-canadiană purtătoare yi" + 5651 "Silaba aborigen-canadiană purtătoare ya" + 5652 "Silaba aborigen-canadiană purtătoare ju" + 5653 "Silaba aborigen-canadiană ju în sayisi" + 5654 "Silaba aborigen-canadiană purtătoare jo" + 5655 "Silaba aborigen-canadiană purtătoare je" + 5656 "Silaba aborigen-canadiană purtătoare jee" + 5657 "Silaba aborigen-canadiană purtătoare ji" + 5658 "Silaba aborigen-canadiană ji în sayisi" + 5659 "Silaba aborigen-canadiană purtătoare ja" + 5660 "Silaba aborigen-canadiană purtătoare jju" + 5661 "Silaba aborigen-canadiană purtătoare jjo" + 5662 "Silaba aborigen-canadiană purtătoare jje" + 5663 "Silaba aborigen-canadiană purtătoare jjee" + 5664 "Silaba aborigen-canadiană purtătoare jji" + 5665 "Silaba aborigen-canadiană purtătoare jja" + 5666 "Silaba aborigen-canadiană purtătoare lu" + 5667 "Silaba aborigen-canadiană purtătoare lo" + 5668 "Silaba aborigen-canadiană purtătoare le" + 5669 "Silaba aborigen-canadiană purtătoare lee" + 5670 "Silaba aborigen-canadiană purtătoare li" + 5671 "Silaba aborigen-canadiană purtătoare la" + 5672 "Silaba aborigen-canadiană purtătoare dlu" + 5673 "Silaba aborigen-canadiană purtătoare dlo" + 5674 "Silaba aborigen-canadiană purtătoare dle" + 5675 "Silaba aborigen-canadiană purtătoare dlee" + 5676 "Silaba aborigen-canadiană purtătoare dli" + 5677 "Silaba aborigen-canadiană purtătoare dla" + 5678 "Silaba aborigen-canadiană purtătoare lhu" + 5679 "Silaba aborigen-canadiană purtătoare lho" + 5680 "Silaba aborigen-canadiană purtătoare lhe" + 5681 "Silaba aborigen-canadiană purtătoare lhee" + 5682 "Silaba aborigen-canadiană purtătoare lhi" + 5683 "Silaba aborigen-canadiană purtătoare lha" + 5684 "Silaba aborigen-canadiană purtătoare tlhu" + 5685 "Silaba aborigen-canadiană purtătoare tlho" + 5686 "Silaba aborigen-canadiană purtătoare tlhe" + 5687 "Silaba aborigen-canadiană purtătoare tlhee" + 5688 "Silaba aborigen-canadiană purtătoare tlhi" + 5689 "Silaba aborigen-canadiană purtătoare tlha" + 5690 "Silaba aborigen-canadiană purtătoare tlu" + 5691 "Silaba aborigen-canadiană purtătoare tlo" + 5692 "Silaba aborigen-canadiană purtătoare tle" + 5693 "Silaba aborigen-canadiană purtătoare tlee" + 5694 "Silaba aborigen-canadiană purtătoare tli" + 5695 "Silaba aborigen-canadiană purtătoare tla" + 5696 "Silaba aborigen-canadiană purtătoare zu" + 5697 "Silaba aborigen-canadiană purtătoare zo" + 5698 "Silaba aborigen-canadiană purtătoare ze" + 5699 "Silaba aborigen-canadiană purtătoare zee" + 5700 "Silaba aborigen-canadiană purtătoare zi" + 5701 "Silaba aborigen-canadiană purtătoare za" + 5702 "Silaba aborigen-canadiană purtătoare z" + 5703 "Silaba aborigen-canadiană inițială purtătoare z" + 5704 "Silaba aborigen-canadiană purtătoare dzu" + 5705 "Silaba aborigen-canadiană purtătoare dzo" + 5706 "Silaba aborigen-canadiană purtătoare dze" + 5707 "Silaba aborigen-canadiană purtătoare dzee" + 5708 "Silaba aborigen-canadiană purtătoare dzi" + 5709 "Silaba aborigen-canadiană purtătoare dza" + 5710 "Silaba aborigen-canadiană purtătoare su" + 5711 "Silaba aborigen-canadiană purtătoare so" + 5712 "Silaba aborigen-canadiană purtătoare se" + 5713 "Silaba aborigen-canadiană purtătoare see" + 5714 "Silaba aborigen-canadiană purtătoare si" + 5715 "Silaba aborigen-canadiană purtătoare sa" + 5716 "Silaba aborigen-canadiană purtătoare shu" + 5717 "Silaba aborigen-canadiană purtătoare sho" + 5718 "Silaba aborigen-canadiană purtătoare she" + 5719 "Silaba aborigen-canadiană purtătoare shee" + 5720 "Silaba aborigen-canadiană purtătoare shi" + 5721 "Silaba aborigen-canadiană purtătoare sha" + 5722 "Silaba aborigen-canadiană purtătoare sh" + 5723 "Silaba aborigen-canadiană purtătoare tsu" + 5724 "Silaba aborigen-canadiană purtătoare tso" + 5725 "Silaba aborigen-canadiană purtătoare tse" + 5726 "Silaba aborigen-canadiană purtătoare tsee" + 5727 "Silaba aborigen-canadiană purtătoare tsi" + 5728 "Silaba aborigen-canadiană purtătoare tsa" + 5729 "Silaba aborigen-canadiană purtătoare chu" + 5730 "Silaba aborigen-canadiană purtătoare cho" + 5731 "Silaba aborigen-canadiană purtătoare che" + 5732 "Silaba aborigen-canadiană purtătoare chee" + 5733 "Silaba aborigen-canadiană purtătoare chi" + 5734 "Silaba aborigen-canadiană purtătoare cha" + 5735 "Silaba aborigen-canadiană purtătoare ttsu" + 5736 "Silaba aborigen-canadiană purtătoare ttso" + 5737 "Silaba aborigen-canadiană purtătoare ttse" + 5738 "Silaba aborigen-canadiană purtătoare ttsee" + 5739 "Silaba aborigen-canadiană purtătoare ttsi" + 5740 "Silaba aborigen-canadiană purtătoare ttsa" + 5741 "Semnul aborigen-canadian silabă chi" + 5742 "Silaba aborigen-canadiană punct" + 5743 "Silaba aborigen-canadiană qai" + 5744 "Silaba aborigen-canadiană ngai" + 5745 "Silaba aborigen-canadiană nngi" + 5746 "Silaba aborigen-canadiană nngii" + 5747 "Silaba aborigen-canadiană nngo" + 5748 "Silaba aborigen-canadiană nngoo" + 5749 "Silaba aborigen-canadiană nnga" + 5750 "Silaba aborigen-canadiană nngaa" + 5751 "Silaba aborigen-canadiană thwee în dialectul woods-cree" + 5752 "Silaba aborigen-canadiană thwi în dialectul woods-cree" + 5753 "Silaba aborigen-canadiană thwii în dialectul woods-cree" + 5754 "Silaba aborigen-canadiană thwo în dialectul woods-cree" + 5755 "Silaba aborigen-canadiană thwoo în dialectul woods-cree" + 5756 "Silaba aborigen-canadiană thwa în dialectul woods-cree" + 5757 "Silaba aborigen-canadiană thwaa în dialectul woods-cree" + 5758 "Silaba aborigen-canadiană finală th în dialectul woods-cree" + 5759 "Silaba aborigen-canadiană w în niitsitapi" + 5760 "Însemnul celtic spațiu" + 5761 "Litera celtică beith" + 5762 "Litera celtică luis" + 5763 "Litera celtică fearn" + 5764 "Litera celtică sail" + 5765 "Litera celtică nion" + 5766 "Litera celtică uath" + 5767 "Litera celtică dair" + 5768 "Litera celtică tinne" + 5769 "Litera celtică coll" + 5770 "Litera celtică ceirt" + 5771 "Litera celtică muin" + 5772 "Litera celtică gort" + 5773 "Litera celtică ngeadal" + 5774 "Litera celtică straif" + 5775 "Litera celtică ruis" + 5776 "Litera celtică ailm" + 5777 "Litera celtică onn" + 5778 "Litera celtică ur" + 5779 "Litera celtică eadhadh" + 5780 "Litera celtică iodhadh" + 5781 "Litera celtică eabhadh" + 5782 "Litera celtică or" + 5783 "Litera celtică uilleann" + 5784 "Litera celtică ifin" + 5785 "Litera celtică eamhancholl" + 5786 "Litera celtică peith" + 5787 "Însemnul celtic pană" + 5788 "Însemnul celtic pană întors" + 5792 "Litera runică f fe feoh fehu" + 5793 "Litera runică v" + 5794 "Litera runică u ur uruz" + 5795 "Litera runică yr" + 5796 "Litera runică y" + 5797 "Litera runică w" + 5798 "Litera runică thorn thurs thurisaz" + 5799 "Litera runică eth" + 5800 "Litera runică a ansuz" + 5801 "Litera runică o os" + 5802 "Litera runică a ac" + 5803 "Litera runică aesc" + 5804 "Litera runică o oss-ram-lung" + 5805 "Litera runică o oss-ram-scurt" + 5806 "Litera runică o" + 5807 "Litera runică oe" + 5808 "Litera runică on" + 5809 "Litera runică r reid rad raido" + 5810 "Litera runică kauna" + 5811 "Litera runică cen" + 5812 "Litera runică k kaun" + 5813 "Litera runică g" + 5814 "Litera runică eng" + 5815 "Litera runică g gyfu gebo" + 5816 "Litera runică gar" + 5817 "Litera runică w wynn wunjo" + 5818 "Litera runică h haglaz" + 5819 "Litera runică h haegl" + 5820 "Litera runică h hagall-ram-lung" + 5821 "Litera runică h hagall-ram-scurt" + 5822 "Litera runică n naud nyd naudiz" + 5823 "Litera runică n naud-ram-scurt" + 5824 "Litera runică n punctat" + 5825 "Litera runică i iss is isaz" + 5826 "Litera runică e" + 5827 "Litera runică j jeran" + 5828 "Litera runică ger" + 5829 "Litera runică ae ar-ram-lung" + 5830 "Litera runică a ar-ram-scurt" + 5831 "Litera runică eoh iwaz" + 5832 "Litera runică p peorth pertho" + 5833 "Litera runică eolhx algiz" + 5834 "Litera runică s sowilo" + 5835 "Litera runică s sol-ram-lung sigel" + 5836 "Litera runică s sol-ram-scurt" + 5837 "Litera runică c" + 5838 "Litera runică z" + 5839 "Litera runică t tyr tir tiwaz" + 5840 "Litera runică t tyr-ram-scurt" + 5841 "Litera runică d" + 5842 "Litera runică b bjarkan beorc berkanan" + 5843 "Litera runică b bjarkan-ram-scurt" + 5844 "Litera runică p punctat" + 5845 "Litera runică p deschis" + 5846 "Litera runică e eh ehwaz" + 5847 "Litera runică m man mannaz" + 5848 "Litera runică m madr-ram-lung" + 5849 "Litera runică m madr-ram-lung" + 5850 "Litera runică l logr lagu laukaz" + 5851 "Litera runică l punctat" + 5852 "Litera runică ingwaz" + 5853 "Litera runică ing" + 5854 "Litera runică d daeg dagaz" + 5855 "Litera runică o ethel othalan" + 5856 "Litera runică ear" + 5857 "Litera runică ior" + 5858 "Litera runică cweorth" + 5859 "Litera runică calc" + 5860 "Litera runică cealc" + 5861 "Litera runică stan" + 5862 "Litera runică yr-ram-lung" + 5863 "Litera runică yr-ram-scurt" + 5864 "Litera runică islandeză yr" + 5865 "Litera runică q" + 5866 "Litera runică x" + 5867 "Punctuație runică singulară" + 5868 "Punctuație runică multiplă" + 5869 "Punctuație runică cruce" + 5870 "Simbolul runic arlaug" + 5871 "Simbolul runic tvimadur" + 5872 "Simbolul runic belgthor" + 5888 "Litera tagalog a" + 5889 "Litera tagalog i" + 5890 "Litera tagalog u" + 5891 "Litera tagalog ka" + 5892 "Litera tagalog ga" + 5893 "Litera tagalog nga" + 5894 "Litera tagalog ta" + 5895 "Litera tagalog da" + 5896 "Litera tagalog na" + 5897 "Litera tagalog pa" + 5898 "Litera tagalog ba" + 5899 "Litera tagalog ma" + 5900 "Litera tagalog ya" + 5902 "Litera tagalog la" + 5903 "Litera tagalog wa" + 5904 "Litera tagalog sa" + 5905 "Litera tagalog ha" + 5906 "Semnul tagalog vocală i" + 5907 "Semnul tagalog vocală u" + 5908 "Semnul tagalog virama" + 5920 "Litera hanunoo a" + 5921 "Litera hanunoo i" + 5922 "Litera hanunoo u" + 5923 "Litera hanunoo ka" + 5924 "Litera hanunoo ga" + 5925 "Litera hanunoo nga" + 5926 "Litera hanunoo ta" + 5927 "Litera hanunoo da" + 5928 "Litera hanunoo na" + 5929 "Litera hanunoo pa" + 5930 "Litera hanunoo ba" + 5931 "Litera hanunoo ma" + 5932 "Litera hanunoo ya" + 5933 "Litera hanunoo ra" + 5934 "Litera hanunoo la" + 5935 "Litera hanunoo wa" + 5936 "Litera hanunoo sa" + 5937 "Litera hanunoo ha" + 5938 "Semnul hanunoo vocală i" + 5939 "Semnul hanunoo vocală u" + 5940 "Semnul hanunoo pamudpod" + 5941 "Punctuație filipineză singulară" + 5942 "Punctuație filipineză dublă" + 5952 "Litera buhidă a" + 5953 "Litera buhidă i" + 5954 "Litera buhidă u" + 5955 "Litera buhidă ka" + 5956 "Litera buhidă ga" + 5957 "Litera buhidă nga" + 5958 "Litera buhidă ta" + 5959 "Litera buhidă da" + 5960 "Litera buhidă na" + 5961 "Litera buhidă pa" + 5962 "Litera buhidă ba" + 5963 "Litera buhidă ma" + 5964 "Litera buhidă ya" + 5965 "Litera buhidă ra" + 5966 "Litera buhidă la" + 5967 "Litera buhidă wa" + 5968 "Litera buhidă sa" + 5969 "Litera buhidă ha" + 5970 "Semnul buhid vocală i" + 5971 "Semnul buhid vocală u" + 5984 "Litera tagbanwa a" + 5985 "Litera tagbanwa i" + 5986 "Litera tagbanwa u" + 5987 "Litera tagbanwa ka" + 5988 "Litera tagbanwa ga" + 5989 "Litera tagbanwa nga" + 5990 "Litera tagbanwa ta" + 5991 "Litera tagbanwa da" + 5992 "Litera tagbanwa na" + 5993 "Litera tagbanwa pa" + 5994 "Litera tagbanwa ba" + 5995 "Litera tagbanwa ma" + 5996 "Litera tagbanwa ya" + 5998 "Litera tagbanwa la" + 5999 "Litera tagbanwa wa" + 6000 "Litera tagbanwa sa" + 6002 "Semnul tagbanwa vocală i" + 6003 "Semnul tagbanwa vocală u" + 6016 "Litera khmer ka" + 6017 "Litera khmer kha" + 6018 "Litera khmer ko" + 6019 "Litera khmer kho" + 6020 "Litera khmer ngo" + 6021 "Litera khmer ca" + 6022 "Litera khmer cha" + 6023 "Litera khmer co" + 6024 "Litera khmer cho" + 6025 "Litera khmer nyo" + 6026 "Litera khmer da" + 6027 "Litera khmer ttha" + 6028 "Litera khmer do" + 6029 "Litera khmer ttho" + 6030 "Litera khmer nno" + 6031 "Litera khmer ta" + 6032 "Litera khmer tha" + 6033 "Litera khmer to" + 6034 "Litera khmer tho" + 6035 "Litera khmer no" + 6036 "Litera khmer ba" + 6037 "Litera khmer pha" + 6038 "Litera khmer po" + 6039 "Litera khmer pho" + 6040 "Litera khmer mo" + 6041 "Litera khmer yo" + 6042 "Litera khmer ro" + 6043 "Litera khmer lo" + 6044 "Litera khmer vo" + 6045 "Litera khmer sha" + 6046 "Litera khmer sso" + 6047 "Litera khmer sa" + 6048 "Litera khmer ha" + 6049 "Litera khmer la" + 6050 "Litera khmer qa" + 6051 "Vocală khmer independentă qaq" + 6052 "Vocală khmer independentă qaa" + 6053 "Vocală khmer independentă qi" + 6054 "Vocală khmer independentă qii" + 6055 "Vocală khmer independentă qu" + 6056 "Vocală khmer independentă quk" + 6057 "Vocală khmer independentă quu" + 6058 "Vocală khmer independentă quuv" + 6059 "Vocală khmer independentă ry" + 6060 "Vocală khmer independentă ryy" + 6061 "Vocală khmer independentă ly" + 6062 "Vocală khmer independentă lyy" + 6063 "Vocală khmer independentă qe" + 6064 "Vocală khmer independentă qai" + 6065 "Vocală khmer independentă qoo de primul tip" + 6066 "Vocală khmer independentă qoo de al doilea tip" + 6067 "Vocală khmer independentă qau" + 6068 "Vocală khmer inerentă aq" + 6069 "Vocală khmer inerentă aa" + 6070 "Semnul khmer vocală aa" + 6071 "Semnul khmer vocală i" + 6072 "Semnul khmer vocală ii" + 6073 "Semnul khmer vocală y" + 6074 "Semnul khmer vocală yy" + 6075 "Semnul khmer vocală u" + 6076 "Semnul khmer vocală uu" + 6077 "Semnul khmer vocală ua" + 6078 "Semnul khmer vocală oe" + 6079 "Semnul khmer vocală ya" + 6080 "Semnul khmer vocală ie" + 6081 "Semnul khmer vocală e" + 6082 "Semnul khmer vocală ae" + 6083 "Semnul khmer vocală ai" + 6084 "Semnul khmer vocală oo" + 6085 "Semnul khmer vocală au" + 6086 "Semnul khmer nikahit" + 6087 "Semnul khmer reahmuk" + 6088 "Semnul khmer yuukaleapintu" + 6089 "Semnul khmer muusikatoan" + 6090 "Semnul khmer triisap" + 6091 "Semnul khmer bantoc" + 6092 "Semnul khmer robat" + 6093 "Semnul khmer toandakhiat" + 6094 "Semnul khmer kakabat" + 6095 "Semnul khmer ahsda" + 6096 "Semnul khmer samyok sannya" + 6097 "Semnul khmer viriam" + 6098 "Semnul khmer coeng" + 6099 "Semnul khmer bathamasat" + 6100 "Semnul khmer khan" + 6101 "Semnul khmer bariyoosan" + 6102 "Semnul khmer camnuc pii kuuh" + 6103 "Semnul khmer lek too" + 6104 "Semnul khmer beyyal" + 6105 "Semnul khmer phnaek muan" + 6106 "Semnul khmer koomuut" + 6107 "Simbolul khmer valutar riel" + 6108 "Semnul khmer avakrahasanya" + 6109 "Semnul khmer atthacan" + 6112 "Cifra khmer zero" + 6113 "Cifra khmer unu" + 6114 "Cifra khmer doi" + 6115 "Cifra khmer trei" + 6116 "Cifra khmer patru" + 6117 "Cifra khmer cinci" + 6118 "Cifra khmer șase" + 6119 "Cifra khmer șapte" + 6120 "Cifra khmer opt" + 6121 "Cifra khmer nouă" + 6128 "Simbolul khmer lek attak son" + 6129 "Simbolul khmer lek attak muoy" + 6130 "Simbolul khmer lek attak pii" + 6131 "Simbolul khmer lek attak bei" + 6132 "Simbolul khmer lek attak buon" + 6133 "Simbolul khmer lek attak pram" + 6134 "Simbolul khmer lek attak pram-muoy" + 6135 "Simbolul khmer lek attak pram-pii" + 6136 "Simbolul khmer lek attak pram-bei" + 6137 "Simbolul khmer lek attak pram-buon" + 6144 "Birga mongolă" + 6145 "Elipsa mongolă" + 6146 "Virgula mongolă" + 6147 "Punctul mongol" + 6148 "Două puncte mongol" + 6149 "Patru puncte mongol" + 6150 "Cratima mongolă todo" + 6151 "Semnul mongol de delimitare silabe sibe" + 6152 "Virgula mongolă manchu" + 6153 "Punctul mongol manchu" + 6154 "Nirugu mongol" + 6155 "Selectorul mongol de variație liberă unu" + 6156 "Selectorul mongol de variație liberă doi" + 6157 "Selectorul mongol de variație liberă trei" + 6158 "Separatorul mongol de variație" + 6160 "Cifra mongolă zero" + 6161 "Cifra mongolă unu" + 6162 "Cifra mongolă doi" + 6163 "Cifra mongolă trei" + 6164 "Cifra mongolă patru" + 6165 "Cifra mongolă cinci" + 6166 "Cifra mongolă șase" + 6167 "Cifra mongolă șapte" + 6168 "Cifra mongolă opt" + 6169 "Cifra mongolă nouă" + 6176 "Litera mongolă a" + 6177 "Litera mongolă e" + 6178 "Litera mongolă i" + 6179 "Litera mongolă o" + 6180 "Litera mongolă u" + 6181 "Litera mongolă oe" + 6182 "Litera mongolă ue" + 6183 "Litera mongolă ee" + 6184 "Litera mongolă na" + 6185 "Litera mongolă ang" + 6186 "Litera mongolă ba" + 6187 "Litera mongolă pa" + 6188 "Litera mongolă qa" + 6189 "Litera mongolă ga" + 6190 "Litera mongolă ma" + 6191 "Litera mongolă la" + 6192 "Litera mongolă sa" + 6193 "Litera mongolă sha" + 6194 "Litera mongolă ta" + 6195 "Litera mongolă da" + 6196 "Litera mongolă cha" + 6197 "Litera mongolă ja" + 6198 "Litera mongolă ya" + 6199 "Litera mongolă ra" + 6200 "Litera mongolă wa" + 6201 "Litera mongolă fa" + 6202 "Litera mongolă ka" + 6203 "Litera mongolă kha" + 6204 "Litera mongolă tsa" + 6205 "Litera mongolă za" + 6206 "Litera mongolă haa" + 6207 "Litera mongolă zra" + 6208 "Litera mongolă lha" + 6209 "Litera mongolă zhi" + 6210 "Litera mongolă chi" + 6211 "Semnul mongol vocală lungă todo" + 6212 "Litera mongolă todo e" + 6213 "Litera mongolă todo i" + 6214 "Litera mongolă todo o" + 6215 "Litera mongolă todo u" + 6216 "Litera mongolă todo oe" + 6217 "Litera mongolă todo ue" + 6218 "Litera mongolă todo ang" + 6219 "Litera mongolă todo ba" + 6220 "Litera mongolă todo pa" + 6221 "Litera mongolă todo qa" + 6222 "Litera mongolă todo ga" + 6223 "Litera mongolă todo ma" + 6224 "Litera mongolă todo ta" + 6225 "Litera mongolă todo da" + 6226 "Litera mongolă todo cha" + 6227 "Litera mongolă todo ja" + 6228 "Litera mongolă todo tsa" + 6229 "Litera mongolă todo ya" + 6230 "Litera mongolă todo wa" + 6231 "Litera mongolă todo ka" + 6232 "Litera mongolă todo gaa" + 6233 "Litera mongolă todo haa" + 6234 "Litera mongolă todo jia" + 6235 "Litera mongolă todo nia" + 6236 "Litera mongolă todo dza" + 6237 "Litera mongolă sibe e" + 6238 "Litera mongolă sibe i" + 6239 "Litera mongolă sibe iy" + 6240 "Litera mongolă sibe ue" + 6241 "Litera mongolă sibe u" + 6242 "Litera mongolă sibe ang" + 6243 "Litera mongolă sibe ka" + 6244 "Litera mongolă sibe ga" + 6245 "Litera mongolă sibe ha" + 6246 "Litera mongolă sibe pa" + 6247 "Litera mongolă sibe sha" + 6248 "Litera mongolă sibe ta" + 6249 "Litera mongolă sibe da" + 6250 "Litera mongolă sibe ja" + 6251 "Litera mongolă sibe fa" + 6252 "Litera mongolă sibe gaa" + 6253 "Litera mongolă sibe haa" + 6254 "Litera mongolă sibe tsa" + 6255 "Litera mongolă sibe za" + 6256 "Litera mongolă sibe raa" + 6257 "Litera mongolă sibe cha" + 6258 "Litera mongolă sibe zha" + 6259 "Litera mongolă manchu i" + 6260 "Litera mongolă manchu ka" + 6261 "Litera mongolă manchu ra" + 6262 "Litera mongolă manchu fa" + 6263 "Litera mongolă manchu zha" + 6272 "Litera mongolă ali gali anusvara unu" + 6273 "Litera mongolă ali gali visarga unu" + 6274 "Litera mongolă ali gali damaru" + 6275 "Litera mongolă ali gali ubadama" + 6276 "Litera mongolă ali gali ubadama inversat" + 6277 "Litera mongolă ali gali baluda" + 6278 "Litera mongolă ali gali baluda triplu" + 6279 "Litera mongolă ali gali a" + 6280 "Litera mongolă ali gali i" + 6281 "Litera mongolă ali gali ka" + 6282 "Litera mongolă ali gali nga" + 6283 "Litera mongolă ali gali ca" + 6284 "Litera mongolă ali gali tta" + 6285 "Litera mongolă ali gali ttha" + 6286 "Litera mongolă ali gali dda" + 6287 "Litera mongolă ali gali nna" + 6288 "Litera mongolă ali gali ta" + 6289 "Litera mongolă ali gali da" + 6290 "Litera mongolă ali gali pa" + 6291 "Litera mongolă ali gali pha" + 6292 "Litera mongolă ali gali ssa" + 6293 "Litera mongolă ali gali zha" + 6294 "Litera mongolă ali gali za" + 6295 "Litera mongolă ali gali ah" + 6296 "Litera mongolă todo ali gali ta" + 6297 "Litera mongolă todo ali gali zha" + 6298 "Litera mongolă manchu ali gali gha" + 6299 "Litera mongolă manchu ali gali nga" + 6300 "Litera mongolă manchu ali gali ca" + 6301 "Litera mongolă manchu ali gali jha" + 6302 "Litera mongolă manchu ali gali tta" + 6303 "Litera mongolă manchu ali gali ddha" + 6304 "Litera mongolă manchu ali gali ta" + 6305 "Litera mongolă manchu ali gali dha" + 6306 "Litera mongolă manchu ali gali ssa" + 6307 "Litera mongolă manchu ali gali cya" + 6308 "Litera mongolă manchu ali gali zha" + 6309 "Litera mongolă manchu ali gali za" + 6310 "Litera mongolă ali gali semi-u" + 6311 "Litera mongolă ali gali semi-ya" + 6312 "Litera mongolă manchu ali gali bha" + 6313 "Litera mongolă ali gali dagalga" + 6314 "Litera mongolă manchu ali gali lha" + 6320 "Silaba aborigen-canadiană oy" + 6321 "Silaba aborigen-canadiană ay" + 6322 "Silaba aborigen-canadiană aay" + 6323 "Silaba aborigen-canadiană way" + 6324 "Silaba aborigen-canadiană poy" + 6325 "Silaba aborigen-canadiană pay" + 6326 "Silaba aborigen-canadiană pwoy" + 6327 "Silaba aborigen-canadiană tay" + 6328 "Silaba aborigen-canadiană kay" + 6329 "Silaba aborigen-canadiană kway" + 6330 "Silaba aborigen-canadiană may" + 6331 "Silaba aborigen-canadiană noy" + 6332 "Silaba aborigen-canadiană nay" + 6333 "Silaba aborigen-canadiană lay" + 6334 "Silaba aborigen-canadiană soy" + 6335 "Silaba aborigen-canadiană say" + 6336 "Silaba aborigen-canadiană shoy" + 6337 "Silaba aborigen-canadiană shay" + 6338 "Silaba aborigen-canadiană shwoy" + 6339 "Silaba aborigen-canadiană yoy" + 6340 "Silaba aborigen-canadiană yay" + 6341 "Silaba aborigen-canadiană ray" + 6342 "Silaba aborigen-canadiană nwi" + 6343 "Silaba aborigen-canadiană ojibway nwi" + 6344 "Silaba aborigen-canadiană nwii" + 6345 "Silaba aborigen-canadiană ojibway nwii" + 6346 "Silaba aborigen-canadiană nwo" + 6347 "Silaba aborigen-canadiană ojibway nwo" + 6348 "Silaba aborigen-canadiană nwoo" + 6349 "Silaba aborigen-canadiană ojibway nwoo" + 6350 "Silaba aborigen-canadiană rwee" + 6351 "Silaba aborigen-canadiană rwi" + 6352 "Silaba aborigen-canadiană rwii" + 6353 "Silaba aborigen-canadiană rwo" + 6354 "Silaba aborigen-canadiană rwoo" + 6355 "Silaba aborigen-canadiană rwa" + 6356 "Silaba aborigen-canadiană ojibway p" + 6357 "Silaba aborigen-canadiană ojibway t" + 6358 "Silaba aborigen-canadiană ojibway k" + 6359 "Silaba aborigen-canadiană ojibway c" + 6360 "Silaba aborigen-canadiană ojibway m" + 6361 "Silaba aborigen-canadiană ojibway n" + 6362 "Silaba aborigen-canadiană ojibway s" + 6363 "Silaba aborigen-canadiană ojibway sh" + 6364 "Silaba aborigen-canadiană w estic" + 6365 "Silaba aborigen-canadiană w vestic" + 6366 "Silaba aborigen-canadiană inel mic final" + 6367 "Silaba aborigen-canadiană punct ridicat final" + 6368 "Silaba aborigen-canadiană rwe în dialectul cree r" + 6369 "Silaba aborigen-canadiană loo în dialectul cree de vest" + 6370 "Silaba aborigen-canadiană laa în dialectul cree de vest" + 6371 "Silaba aborigen-canadiană thwe" + 6372 "Silaba aborigen-canadiană thwa" + 6373 "Silaba aborigen-canadiană tthwe" + 6374 "Silaba aborigen-canadiană tthoo" + 6375 "Silaba aborigen-canadiană tthaa" + 6376 "Silaba aborigen-canadiană tlhwe" + 6377 "Silaba aborigen-canadiană tlhoo" + 6378 "Silaba aborigen-canadiană shwe în sayisi" + 6379 "Silaba aborigen-canadiană shoo în sayisi" + 6380 "Silaba aborigen-canadiană hoo în sayisi" + 6381 "Silaba aborigen-canadiană purtătoare gwu" + 6382 "Silaba aborigen-canadiană purtătoare gee în dialectul dene" + 6383 "Silaba aborigen-canadiană purtătoare gaa" + 6384 "Silaba aborigen-canadiană purtătoare gwa" + 6385 "Silaba aborigen-canadiană juu în sayisi" + 6386 "Silaba aborigen-canadiană purtătoare jwa" + 6387 "Silaba aborigen-canadiană l-castor în dialectul dene" + 6388 "Silaba aborigen-canadiană r-castor în dialectul dene" + 6389 "Silaba aborigen-canadiană purtătoare s dental" + 6400 "Litera limbu purtătoare de vocală" + 6401 "Litera limbu ka" + 6402 "Litera limbu kha" + 6403 "Litera limbu ga" + 6404 "Litera limbu gha" + 6405 "Litera limbu nga" + 6406 "Litera limbu ca" + 6407 "Litera limbu cha" + 6408 "Litera limbu ja" + 6409 "Litera limbu jha" + 6410 "Litera limbu yan" + 6411 "Litera limbu ta" + 6412 "Litera limbu tha" + 6413 "Litera limbu da" + 6414 "Litera limbu dha" + 6415 "Litera limbu na" + 6416 "Litera limbu pa" + 6417 "Litera limbu pha" + 6418 "Litera limbu ba" + 6419 "Litera limbu bha" + 6420 "Litera limbu ma" + 6421 "Litera limbu ya" + 6422 "Litera limbu ra" + 6423 "Litera limbu la" + 6424 "Litera limbu wa" + 6425 "Litera limbu sha" + 6426 "Litera limbu ssa" + 6427 "Litera limbu sa" + 6428 "Litera limbu ha" + 6432 "Semnul limbu vocală a" + 6433 "Semnul limbu vocală i" + 6434 "Semnul limbu vocală u" + 6435 "Semnul limbu vocală ee" + 6436 "Semnul limbu vocală ai" + 6437 "Semnul limbu vocală oo" + 6438 "Semnul limbu vocală au" + 6439 "Semnul limbu vocală e" + 6440 "Semnul limbu vocală o" + 6441 "Litera limbu subjugată ya" + 6442 "Litera limbu subjugată ra" + 6443 "Litera limbu subjugată wa" + 6448 "Litera limbu ka mic" + 6449 "Litera limbu nga mic" + 6450 "Litera limbu anusvara mic" + 6451 "Litera limbu ta mic" + 6452 "Litera limbu na mic" + 6453 "Litera limbu pa mic" + 6454 "Litera limbu ma mic" + 6455 "Litera limbu ra mic" + 6456 "Litera limbu la mic" + 6457 "Semnul limbu mukphreng" + 6458 "Semnul limbu kemphreng" + 6459 "Semnul limbu sa-i" + 6464 "Semnul limbu loo" + 6468 "Semnul limbu de exclamare" + 6469 "Semnul limbu de întrebare" + 6470 "Cifra limbu zero" + 6471 "Cifra limbu unu" + 6472 "Cifra limbu doi" + 6473 "Cifra limbu trei" + 6474 "Cifra limbu patru" + 6475 "Cifra limbu cinci" + 6476 "Cifra limbu șase" + 6477 "Cifra limbu șapte" + 6478 "Cifra limbu opt" + 6479 "Cifra limbu nouă" + 6480 "Litera tai le ka" + 6481 "Litera tai le xa" + 6482 "Litera tai le nga" + 6483 "Litera tai le tsa" + 6484 "Litera tai le sa" + 6485 "Litera tai le ya" + 6486 "Litera tai le ta" + 6487 "Litera tai le tha" + 6488 "Litera tai le la" + 6489 "Litera tai le pa" + 6490 "Litera tai le pha" + 6491 "Litera tai le ma" + 6492 "Litera tai le fa" + 6493 "Litera tai le va" + 6494 "Litera tai le ha" + 6495 "Litera tai le qa" + 6496 "Litera tai le kha" + 6497 "Litera tai le tsha" + 6498 "Litera tai le na" + 6499 "Litera tai le a" + 6500 "Litera tai le i" + 6501 "Litera tai le ee" + 6502 "Litera tai le eh" + 6503 "Litera tai le u" + 6504 "Litera tai le oo" + 6505 "Litera tai le o" + 6506 "Litera tai le ue" + 6507 "Litera tai le e" + 6508 "Litera tai le aue" + 6509 "Litera tai le ai" + 6512 "Litera tai le intonație-2" + 6513 "Litera tai le intonație-3" + 6514 "Litera tai le intonație-4" + 6515 "Litera tai le intonație-5" + 6516 "Litera tai le intonație-6" + 6528 "Litera tai le nou qa ridicat" + 6529 "Litera tai le nou qa coborât" + 6530 "Litera tai le nou ka ridicat" + 6531 "Litera tai le nou xa ridicat" + 6532 "Litera tai le nou nga ridicat" + 6533 "Litera tai le nou ka coborât" + 6534 "Litera tai le nou xa coborât" + 6535 "Litera tai le nou nga coborât" + 6536 "Litera tai le nou tsa ridicat" + 6537 "Litera tai le nou sa ridicat" + 6538 "Litera tai le nou ya ridicat" + 6539 "Litera tai le nou tsa coborât" + 6540 "Litera tai le nou sa coborât" + 6541 "Litera tai le nou ya coborât" + 6542 "Litera tai le nou ta ridicat" + 6543 "Litera tai le nou tha ridicat" + 6544 "Litera tai le nou na ridicat" + 6545 "Litera tai le nou ta coborât" + 6546 "Litera tai le nou tha coborât" + 6547 "Litera tai le nou na coborât" + 6548 "Litera tai le nou pa ridicat" + 6549 "Litera tai le nou pha ridicat" + 6550 "Litera tai le nou ma ridicat" + 6551 "Litera tai le nou pa coborât" + 6552 "Litera tai le nou pha coborât" + 6553 "Litera tai le nou ma coborât" + 6554 "Litera tai le nou fa ridicat" + 6555 "Litera tai le nou va ridicat" + 6556 "Litera tai le nou la ridicat" + 6557 "Litera tai le nou fa coborât" + 6558 "Litera tai le nou va coborât" + 6559 "Litera tai le nou la coborât" + 6560 "Litera tai le nou ha ridicat" + 6561 "Litera tai le nou da ridicat" + 6562 "Litera tai le nou ba ridicat" + 6563 "Litera tai le nou ha coborât" + 6564 "Litera tai le nou da coborât" + 6565 "Litera tai le nou ba coborât" + 6566 "Litera tai le nou kva ridicat" + 6567 "Litera tai le nou xva ridicat" + 6568 "Litera tai le nou kva coborât" + 6569 "Litera tai le nou xva coborât" + 6570 "Litera tai le nou sua ridicat" + 6571 "Litera tai le nou sua coborât" + 6576 "Semnul tai le nou prescurtare vocală" + 6577 "Semnul tai le nou vocală aa" + 6578 "Semnul tai le nou vocală ii" + 6579 "Semnul tai le nou vocală u" + 6580 "Semnul tai le nou vocală uu" + 6581 "Semnul tai le nou vocală e" + 6582 "Semnul tai le nou vocală ae" + 6583 "Semnul tai le nou vocală o" + 6584 "Semnul tai le nou vocală oa" + 6585 "Semnul tai le nou vocală ue" + 6586 "Semnul tai le nou vocală ay" + 6587 "Semnul tai le nou vocală aay" + 6588 "Semnul tai le nou vocală uy" + 6589 "Semnul tai le nou vocală oy" + 6590 "Semnul tai le nou vocală oay" + 6591 "Semnul tai le nou vocală uey" + 6592 "Semnul tai le nou vocală iy" + 6593 "Litera tai le nou v final" + 6594 "Litera tai le nou ng final" + 6595 "Litera tai le nou n final" + 6596 "Litera tai le nou m final" + 6597 "Litera tai le nou k final" + 6598 "Litera tai le nou d final" + 6599 "Litera tai le nou b final" + 6600 "Însemn tai le nou intonație-1" + 6601 "Însemn tai le nou intonație-2" + 6608 "Cifră tai le nou zero" + 6609 "Cifră tai le nou unu" + 6610 "Cifră tai le nou doi" + 6611 "Cifră tai le nou trei" + 6612 "Cifră tai le nou patru" + 6613 "Cifră tai le nou cinci" + 6614 "Cifră tai le nou șase" + 6615 "Cifră tai le nou șapte" + 6616 "Cifră tai le nou opt" + 6617 "Cifră tai le nou nouă" + 6618 "Cifră tai le nou unu tham" + 6622 "Semnul tai le nou lae" + 6623 "Semnul tai le nou laev" + 6624 "Semnul khmer pathamasat" + 6625 "Semnul khmer koet muoy" + 6626 "Semnul khmer koet pii" + 6627 "Semnul khmer koet bei" + 6628 "Semnul khmer koet buon" + 6629 "Semnul khmer koet pram" + 6630 "Semnul khmer koet pram-muoy" + 6631 "Semnul khmer koet pram-pii" + 6632 "Semnul khmer koet pram-bei" + 6633 "Semnul khmer koet pram-buon" + 6634 "Semnul khmer koet dap" + 6635 "Semnul khmer koet dap-muoy" + 6636 "Semnul khmer koet dap-pii" + 6637 "Semnul khmer koet dap-bei" + 6638 "Semnul khmer koet dap-buon" + 6639 "Semnul khmer koet dap-pram" + 6640 "Semnul khmer tuteyasat" + 6641 "Semnul khmer roc muoy" + 6642 "Semnul khmer roc pii" + 6643 "Semnul khmer roc bei" + 6644 "Semnul khmer roc buon" + 6645 "Semnul khmer roc pram" + 6646 "Semnul khmer roc pram-muoy" + 6647 "Semnul khmer roc pram-pii" + 6648 "Semnul khmer roc pram-bei" + 6649 "Semnul khmer roc pram-buon" + 6650 "Semnul khmer roc dap" + 6651 "Semnul khmer roc dap-muoy" + 6652 "Semnul khmer roc dap-pii" + 6653 "Semnul khmer roc dap-bei" + 6654 "Semnul khmer roc dap-buon" + 6655 "Semnul khmer roc dap-pram" + 6656 "Litera lontara ka" + 6657 "Litera lontara ga" + 6658 "Litera lontara nga" + 6659 "Litera lontara ngka" + 6660 "Litera lontara pa" + 6661 "Litera lontara ba" + 6662 "Litera lontara ma" + 6663 "Litera lontara mpa" + 6664 "Litera lontara ta" + 6665 "Litera lontara da" + 6666 "Litera lontara na" + 6667 "Litera lontara nra" + 6668 "Litera lontara ca" + 6669 "Litera lontara ja" + 6670 "Litera lontara nya" + 6671 "Litera lontara nyca" + 6672 "Litera lontara ya" + 6673 "Litera lontara ra" + 6674 "Litera lontara la" + 6675 "Litera lontara va" + 6676 "Litera lontara sa" + 6677 "Litera lontara a" + 6678 "Litera lontara ha" + 6679 "Semnul lontara vocală i" + 6680 "Semnul lontara vocală u" + 6681 "Semnul lontara vocală e" + 6682 "Semnul lontara vocală o" + 6683 "Semnul lontara vocală ae" + 6686 "Semnul lontara pallawa" + 6687 "Semnul lontara sfârșit de paragraf" + 6688 "Litera tai tham ka înalt" + 6689 "Litera tai tham kha înalt" + 6690 "Litera tai tham kxa înalt" + 6691 "Litera tai tham ka coborât" + 6692 "Litera tai tham kxa coborât" + 6693 "Litera tai tham kha coborât" + 6694 "Litera tai tham nga" + 6695 "Litera tai tham ca înalt" + 6696 "Litera tai tham cha înalt" + 6697 "Litera tai tham ca coborât" + 6698 "Litera tai tham sa coborât" + 6699 "Litera tai tham cha coborât" + 6700 "Litera tai tham nya" + 6701 "Litera tai tham rata" + 6702 "Litera tai tham ratha înalt" + 6703 "Litera tai tham da" + 6704 "Litera tai tham ratha coborât" + 6705 "Litera tai tham rana" + 6706 "Litera tai tham ta înalt" + 6707 "Litera tai tham tha înalt" + 6708 "Litera tai tham ta coborât" + 6709 "Litera tai tham tha coborât" + 6710 "Litera tai tham na" + 6711 "Litera tai tham ba" + 6712 "Litera tai tham pa înalt" + 6713 "Litera tai tham pha înalt" + 6714 "Litera tai tham fa înalt" + 6715 "Litera tai tham pa coborât" + 6716 "Litera tai tham fa coborât" + 6717 "Litera tai tham pha coborât" + 6718 "Litera tai tham ma" + 6719 "Litera tai tham ya coborât" + 6720 "Litera tai tham ya înalt" + 6721 "Litera tai tham ra" + 6722 "Litera tai tham rue" + 6723 "Litera tai tham la" + 6724 "Litera tai tham lue" + 6725 "Litera tai tham wa" + 6726 "Litera tai tham sha înalt" + 6727 "Litera tai tham ssa înalt" + 6728 "Litera tai tham sa înalt" + 6729 "Litera tai tham ha înalt" + 6730 "Litera tai tham lla" + 6731 "Litera tai tham a" + 6732 "Litera tai tham ha coborât" + 6733 "Litera tai tham i" + 6734 "Litera tai tham ii" + 6735 "Litera tai tham u" + 6736 "Litera tai tham uu" + 6737 "Litera tai tham ee" + 6738 "Litera tai tham oo" + 6739 "Litera tai tham lae" + 6740 "Litera tai tham sa mare" + 6741 "Semnul tai tham consoană ra mediu" + 6742 "Semnul tai tham consoană la mediu" + 6743 "Semnul tai tham consoană la tang lai" + 6744 "Semnul tai tham mai kang lai" + 6745 "Semnul tai tham consoană nga final" + 6746 "Semnul tai tham consoană low pa" + 6747 "Semnul tai tham consoană ratha ridicat sau pa coborât" + 6748 "Semnul tai tham consoană ma" + 6749 "Semnul tai tham consoană ba" + 6750 "Semnul tai tham consoană sa" + 6752 "Semnul tai tham sakot" + 6753 "Semnul tai tham vocală a" + 6754 "Semnul tai tham vocală mai sat" + 6755 "Semnul tai tham vocală aa" + 6756 "Semnul tai tham vocală aa înalt" + 6757 "Semnul tai tham vocală i" + 6758 "Semnul tai tham vocală ii" + 6759 "Semnul tai tham vocală ue" + 6760 "Semnul tai tham vocală uue" + 6761 "Semnul tai tham vocală u" + 6762 "Semnul tai tham vocală uu" + 6763 "Semnul tai tham vocală o" + 6764 "Semnul tai tham vocală oa dedesubt" + 6765 "Semnul tai tham vocală oy" + 6766 "Semnul tai tham vocală e" + 6767 "Semnul tai tham vocală ae" + 6768 "Semnul tai tham vocală oo" + 6769 "Semnul tai tham vocală ai" + 6770 "Semnul tai tham vocală ai tham" + 6771 "Semnul tai tham vocală oa deasupra" + 6772 "Semnul tai tham mai kang" + 6773 "Semnul tai tham intonație-1" + 6774 "Semnul tai tham intonație-2" + 6775 "Semnul tai tham khuen intonație-3" + 6776 "Semnul tai tham khuen intonație-4" + 6777 "Semnul tai tham khuen intonație-5" + 6778 "Semnul tai tham ra haam" + 6779 "Semnul tai tham mai sam" + 6780 "Semnul tai tham khuen-lue karan" + 6783 "Îmbinativ tai tham punct criptogramic" + 6784 "Cifra tai tham hora zero" + 6785 "Cifra tai tham hora unu" + 6786 "Cifra tai tham hora doi" + 6787 "Cifra tai tham hora trei" + 6788 "Cifra tai tham hora patru" + 6789 "Cifra tai tham hora cinci" + 6790 "Cifra tai tham hora șase" + 6791 "Cifra tai tham hora șapte" + 6792 "Cifra tai tham hora opt" + 6793 "Cifra tai tham hora nouă" + 6800 "Cifra tai tham tham zero" + 6801 "Cifra tai tham tham unu" + 6802 "Cifra tai tham tham doi" + 6803 "Cifra tai tham tham trei" + 6804 "Cifra tai tham tham patru" + 6805 "Cifra tai tham tham cinci" + 6806 "Cifra tai tham tham șase" + 6807 "Cifra tai tham tham șapte" + 6808 "Cifra tai tham tham opt" + 6809 "Cifra tai tham tham nouă" + 6816 "Semnul tai tham wiang" + 6817 "Semnul tai tham wiangwaak" + 6818 "Semnul tai tham sawan" + 6819 "Semnul tai tham keow" + 6820 "Semnul tai tham hoy" + 6821 "Semnul tai tham dokmai" + 6822 "Semnul tai tham rana întors rotit" + 6823 "Semnul tai tham mai yamok" + 6824 "Semnul tai tham kaan" + 6825 "Semnul tai tham kaankuu" + 6826 "Semnul tai tham satkaan" + 6827 "Semnul tai tham satkaankuu" + 6828 "Semnul tai tham hang" + 6829 "Semnul tai tham caang" + 6912 "Semnul balinez ulu ricem" + 6913 "Semnul balinez ulu candra" + 6914 "Semnul balinez cecek" + 6915 "Semnul balinez surang" + 6916 "Semnul balinez bisah" + 6917 "Litera balineză akara" + 6918 "Litera balineză akara tedung" + 6919 "Litera balineză ikara" + 6920 "Litera balineză ikara tedung" + 6921 "Litera balineză ukara" + 6922 "Litera balineză ukara tedung" + 6923 "Litera balineză ra repa" + 6924 "Litera balineză ra repa tedung" + 6925 "Litera balineză la lenga" + 6926 "Litera balineză la lenga tedung" + 6927 "Litera balineză ekara" + 6928 "Litera balineză aikara" + 6929 "Litera balineză okara" + 6930 "Litera balineză okara tedung" + 6931 "Litera balineză ka" + 6932 "Litera balineză ka mahaprana" + 6933 "Litera balineză ga" + 6934 "Litera balineză ga gora" + 6935 "Litera balineză nga" + 6936 "Litera balineză ca" + 6937 "Litera balineză ca laca" + 6938 "Litera balineză ja" + 6939 "Litera balineză ja jera" + 6940 "Litera balineză nya" + 6941 "Litera balineză ta latik" + 6942 "Litera balineză ta murda mahaprana" + 6943 "Litera balineză da murda alpaprana" + 6944 "Litera balineză da murda mahaprana" + 6945 "Litera balineză na rambat" + 6946 "Litera balineză ta" + 6947 "Litera balineză ta tawa" + 6948 "Litera balineză da" + 6949 "Litera balineză da madu" + 6950 "Litera balineză na" + 6951 "Litera balineză pa" + 6952 "Litera balineză pa kapal" + 6953 "Litera balineză ba" + 6954 "Litera balineză ba kembang" + 6955 "Litera balineză ma" + 6956 "Litera balineză ya" + 6957 "Litera balineză ra" + 6958 "Litera balineză la" + 6959 "Litera balineză wa" + 6960 "Litera balineză sa saga" + 6961 "Litera balineză sa sapa" + 6962 "Litera balineză sa" + 6963 "Litera balineză ha" + 6964 "Semnul balinez rerekan" + 6965 "Semnul balinez vocală tedung" + 6966 "Semnul balinez vocală ulu" + 6967 "Semnul balinez vocală ulu sari" + 6968 "Semnul balinez vocală suku" + 6969 "Semnul balinez vocală suku ilut" + 6970 "Semnul balinez vocală ra repa" + 6971 "Semnul balinez vocală ra repa tedung" + 6972 "Semnul balinez vocală la lenga" + 6973 "Semnul balinez vocală la lenga tedung" + 6974 "Semnul balinez vocală taling" + 6975 "Semnul balinez vocală taling repa" + 6976 "Semnul balinez vocală taling tedung" + 6977 "Semnul balinez vocală taling repa tedung" + 6978 "Semnul balinez vocală pepet" + 6979 "Semnul balinez vocală pepet tedung" + 6980 "Semnul balinez adeg adeg" + 6981 "Litera balineză kaf sasak" + 6982 "Litera balineză khot sasak" + 6983 "Litera balineză tzir sasak" + 6984 "Litera balineză ef sasak" + 6985 "Litera balineză ve sasak" + 6986 "Litera balineză zal sasak" + 6987 "Litera balineză asyura sasak" + 6992 "Cifra balineză zero" + 6993 "Cifra balineză unu" + 6994 "Cifra balineză doi" + 6995 "Cifra balineză trei" + 6996 "Cifra balineză patru" + 6997 "Cifra balineză cinci" + 6998 "Cifra balineză șase" + 6999 "Cifra balineză șapte" + 7000 "Cifra balineză opt" + 7001 "Cifra balineză nouă" + 7002 "Semnul balinez panti" + 7003 "Semnul balinez pamada" + 7004 "Semnul balinez windu" + 7005 "Semnul balinez carik pamungkah" + 7006 "Semnul balinez carik siki" + 7007 "Semnul balinez carik pareren" + 7008 "Semnul balinez pameneng" + 7009 "Simbolul balinez muzical dong" + 7010 "Simbolul balinez muzical deng" + 7011 "Simbolul balinez muzical dung" + 7012 "Simbolul balinez muzical dang" + 7013 "Simbolul balinez muzical dang surang" + 7014 "Simbolul balinez muzical ding" + 7015 "Simbolul balinez muzical daeng" + 7016 "Simbolul balinez muzical deung" + 7017 "Simbolul balinez muzical daing" + 7018 "Simbolul balinez muzical dang gede" + 7019 "Simbolul balinez muzical îmbinativ tegeh" + 7020 "Simbolul balinez muzical îmbinativ endep" + 7021 "Simbolul balinez muzical îmbinativ kempul" + 7022 "Simbolul balinez muzical îmbinativ kempli" + 7023 "Simbolul balinez muzical îmbinativ jegogan" + 7024 "Simbolul balinez muzical îmbinativ kempul cu jegogan" + 7025 "Simbolul balinez muzical îmbinativ kempli cu jegogan" + 7026 "Simbolul balinez muzical îmbinativ bende" + 7027 "Simbolul balinez muzical îmbinativ gong" + 7028 "Simbolul balinez muzical de dreapta dug deschis" + 7029 "Simbolul balinez muzical de dreapta dag deschis" + 7030 "Simbolul balinez muzical de dreapta tuk închis" + 7031 "Simbolul balinez muzical de dreapta tak închis" + 7032 "Simbolul balinez muzical de stânga pang deschis" + 7033 "Simbolul balinez muzical de stânga pung deschis" + 7034 "Simbolul balinez muzical de stânga plak închis" + 7035 "Simbolul balinez muzical de stânga pluk închis" + 7036 "Simbolul balinez muzical de stânga ping deschis" + 7040 "Semnul sudanez panyecek" + 7041 "Semnul sudanez panglayar" + 7042 "Semnul sudanez pangwisad" + 7043 "Litera sudaneză a" + 7044 "Litera sudaneză i" + 7045 "Litera sudaneză u" + 7046 "Litera sudaneză ae" + 7047 "Litera sudaneză o" + 7048 "Litera sudaneză e" + 7049 "Litera sudaneză eu" + 7050 "Litera sudaneză ka" + 7051 "Litera sudaneză qa" + 7052 "Litera sudaneză ga" + 7053 "Litera sudaneză nga" + 7054 "Litera sudaneză ca" + 7055 "Litera sudaneză ja" + 7056 "Litera sudaneză za" + 7057 "Litera sudaneză nya" + 7058 "Litera sudaneză ta" + 7059 "Litera sudaneză da" + 7060 "Litera sudaneză na" + 7061 "Litera sudaneză pa" + 7062 "Litera sudaneză fa" + 7063 "Litera sudaneză va" + 7064 "Litera sudaneză ba" + 7065 "Litera sudaneză ma" + 7066 "Litera sudaneză ya" + 7067 "Litera sudaneză ra" + 7068 "Litera sudaneză la" + 7069 "Litera sudaneză wa" + 7070 "Litera sudaneză sa" + 7071 "Litera sudaneză xa" + 7072 "Litera sudaneză ha" + 7073 "Semnul sudanez consoană pamingkal" + 7074 "Semnul sudanez consoană panyakra" + 7075 "Semnul sudanez consoană panyiku" + 7076 "Semnul sudanez vocală panghulu" + 7077 "Semnul sudanez vocală panyuku" + 7078 "Semnul sudanez vocală panaelaeng" + 7079 "Semnul sudanez vocală panolong" + 7080 "Semnul sudanez vocală pamepet" + 7081 "Semnul sudanez vocală paneuleung" + 7082 "Semnul sudanez pamaaeh" + 7083 "Semnul sudanez virama" + 7084 "Semnul sudanez consoană pasangan ma" + 7085 "Semnul sudanez consoană pasangan wa" + 7086 "Litera sudaneză kha" + 7087 "Litera sudaneză sya" + 7088 "Cifra sudaneză zero" + 7089 "Cifra sudaneză unu" + 7090 "Cifra sudaneză doi" + 7091 "Cifra sudaneză trei" + 7092 "Cifra sudaneză patru" + 7093 "Cifra sudaneză cinci" + 7094 "Cifra sudaneză șase" + 7095 "Cifra sudaneză șapte" + 7096 "Cifra sudaneză opt" + 7097 "Cifra sudaneză nouă" + 7098 "Semnul sudanez avagraha" + 7099 "Litera sudaneză reu" + 7100 "Litera sudaneză leu" + 7101 "Litera sudaneză bha" + 7102 "Litera sudaneză k final" + 7103 "Litera sudaneză m final" + 7104 "Litera batak a" + 7105 "Litera batak a simalungun" + 7106 "Litera batak ha" + 7107 "Litera batak ha simalungun" + 7108 "Litera batak ha mandailing" + 7109 "Litera batak ba" + 7110 "Litera batak ba karo" + 7111 "Litera batak pa" + 7112 "Litera batak pa simalungun" + 7113 "Litera batak na" + 7114 "Litera batak na mandailing" + 7115 "Litera batak wa" + 7116 "Litera batak wa simalungun" + 7117 "Litera batak wa pakpak" + 7118 "Litera batak ga" + 7119 "Litera batak ga simalungun" + 7120 "Litera batak ja" + 7121 "Litera batak da" + 7122 "Litera batak ra" + 7123 "Litera batak ra simalungun" + 7124 "Litera batak ma" + 7125 "Litera batak ma simalungun" + 7126 "Litera batak ta southern" + 7127 "Litera batak ta northern" + 7128 "Litera batak sa" + 7129 "Litera batak sa simalungun" + 7130 "Litera batak sa mandailing" + 7131 "Litera batak ya" + 7132 "Litera batak ya simalungun" + 7133 "Litera batak nga" + 7134 "Litera batak la" + 7135 "Litera batak la simalungun" + 7136 "Litera batak nya" + 7137 "Litera batak ca" + 7138 "Litera batak nda" + 7139 "Litera batak mba" + 7140 "Litera batak i" + 7141 "Litera batak u" + 7142 "Semnul batak tompi" + 7143 "Semnul batak vocală e" + 7144 "Semnul batak vocală e pakpak" + 7145 "Semnul batak vocală ee" + 7146 "Semnul batak vocală i" + 7147 "Semnul batak vocală i karo" + 7148 "Semnul batak vocală o" + 7149 "Semnul batak vocală o karo" + 7150 "Semnul batak vocală u" + 7151 "Semnul batak vocală u pentru sa simalungun" + 7152 "Semnul batak consoană ng" + 7153 "Semnul batak consoană h" + 7154 "Semnul batak pangolat" + 7155 "Semnul batak panongonan" + 7164 "Simbolul batak bindu na metek" + 7165 "Simbolul batak bindu pinarboras" + 7166 "Simbolul batak bindu judul" + 7167 "Simbolul batak bindu pangolat" + 7168 "Litera lepcha ka" + 7169 "Litera lepcha kla" + 7170 "Litera lepcha kha" + 7171 "Litera lepcha ga" + 7172 "Litera lepcha gla" + 7173 "Litera lepcha nga" + 7174 "Litera lepcha ca" + 7175 "Litera lepcha cha" + 7176 "Litera lepcha ja" + 7177 "Litera lepcha nya" + 7178 "Litera lepcha ta" + 7179 "Litera lepcha tha" + 7180 "Litera lepcha da" + 7181 "Litera lepcha na" + 7182 "Litera lepcha pa" + 7183 "Litera lepcha pla" + 7184 "Litera lepcha pha" + 7185 "Litera lepcha fa" + 7186 "Litera lepcha fla" + 7187 "Litera lepcha ba" + 7188 "Litera lepcha bla" + 7189 "Litera lepcha ma" + 7190 "Litera lepcha mla" + 7191 "Litera lepcha tsa" + 7192 "Litera lepcha tsha" + 7193 "Litera lepcha dza" + 7194 "Litera lepcha ya" + 7195 "Litera lepcha ra" + 7196 "Litera lepcha la" + 7197 "Litera lepcha ha" + 7198 "Litera lepcha hla" + 7199 "Litera lepcha va" + 7200 "Litera lepcha sa" + 7201 "Litera lepcha sha" + 7202 "Litera lepcha wa" + 7203 "Litera lepcha a" + 7204 "Litera lepcha subjugată ya" + 7205 "Litera lepcha subjugată ra" + 7206 "Semnul lepcha vocală aa" + 7207 "Semnul lepcha vocală i" + 7208 "Semnul lepcha vocală o" + 7209 "Semnul lepcha vocală oo" + 7210 "Semnul lepcha vocală u" + 7211 "Semnul lepcha vocală uu" + 7212 "Semnul lepcha vocală e" + 7213 "Semnul lepcha consoană k" + 7214 "Semnul lepcha consoană m" + 7215 "Semnul lepcha consoană l" + 7216 "Semnul lepcha consoană n" + 7217 "Semnul lepcha consoană p" + 7218 "Semnul lepcha consoană r" + 7219 "Semnul lepcha consoană t" + 7220 "Semnul lepcha consoană nyin-do" + 7221 "Semnul lepcha consoană kang" + 7222 "Semnul lepcha ran" + 7223 "Semnul lepcha nukta" + 7227 "Semnul lepcha de punctuație ta-rol" + 7228 "Semnul lepcha de punctuație nyet thyoom ta-rol" + 7229 "Semnul lepcha de punctuație cer-wa" + 7230 "Semnul lepcha de punctuație tshook cer-wa" + 7231 "Semnul lepcha de punctuație tshook" + 7232 "Cifra lepcha zero" + 7233 "Cifra lepcha unu" + 7234 "Cifra lepcha doi" + 7235 "Cifra lepcha trei" + 7236 "Cifra lepcha patru" + 7237 "Cifra lepcha cinci" + 7238 "Cifra lepcha șase" + 7239 "Cifra lepcha șapte" + 7240 "Cifra lepcha opt" + 7241 "Cifra lepcha nouă" + 7245 "Litera lepcha tta" + 7246 "Litera lepcha ttha" + 7247 "Litera lepcha dda" + 7248 "Cifra santali zero" + 7249 "Cifra santali unu" + 7250 "Cifra santali doi" + 7251 "Cifra santali trei" + 7252 "Cifra santali patru" + 7253 "Cifra santali cinci" + 7254 "Cifra santali șase" + 7255 "Cifra santali șapte" + 7256 "Cifra santali opt" + 7257 "Cifra santali nouă" + 7258 "Litera santali la" + 7259 "Litera santali at" + 7260 "Litera santali ag" + 7261 "Litera santali ang" + 7262 "Litera santali al" + 7263 "Litera santali laa" + 7264 "Litera santali aak" + 7265 "Litera santali aaj" + 7266 "Litera santali aam" + 7267 "Litera santali aaw" + 7268 "Litera santali li" + 7269 "Litera santali is" + 7270 "Litera santali ih" + 7271 "Litera santali iny" + 7272 "Litera santali ir" + 7273 "Litera santali lu" + 7274 "Litera santali uc" + 7275 "Litera santali ud" + 7276 "Litera santali unn" + 7277 "Litera santali uy" + 7278 "Litera santali le" + 7279 "Litera santali ep" + 7280 "Litera santali edd" + 7281 "Litera santali en" + 7282 "Litera santali err" + 7283 "Litera santali lo" + 7284 "Litera santali ott" + 7285 "Litera santali ob" + 7286 "Litera santali ov" + 7287 "Litera santali oh" + 7288 "Semnul santali mu ttuddag" + 7289 "Semnul santali gaahlaa ttuddaag" + 7290 "Semnul santali mu-gaahlaa ttuddaag" + 7291 "Semnul santali relaa" + 7292 "Semnul santali phaarkaa" + 7293 "Semnul santali ahad" + 7294 "Semnul santali de punctuație mucaad" + 7295 "Semnul santali de punctuație dublu-mucaad" + 7360 "Semnul sudanez de punctuație bindu surya" + 7361 "Semnul sudanez de punctuație bindu panglong" + 7362 "Semnul sudanez de punctuație bindu purnama" + 7363 "Semnul sudanez de punctuație bindu cakra" + 7364 "Semnul sudanez de punctuație bindu leu satanga" + 7365 "Semnul sudanez de punctuație bindu ka satanga" + 7366 "Semnul sudanez de punctuație bindu da satanga" + 7367 "Semnul sudanez de punctuație bindu ba satanga" + 7376 "Intonația vedică karshana" + 7377 "Intonația vedică shara" + 7378 "Intonația vedică prenkha" + 7379 "Semnul vedic nihshvasa" + 7380 "Semnul vedic yajurvedic svarita cu linie la mijloc" + 7381 "Intonația vedică yajurvedic svarita independent agravat" + 7382 "Intonația vedică yajurvedic svarita independent" + 7383 "Intonația vedică yajurvedic kathaka independent" + 7384 "Intonația vedică candra dedesubt" + 7385 "Intonația vedică yajurvedic kathaka svarita schroeder independent" + 7386 "Intonația vedică dublu-svarita" + 7387 "Intonația vedică triplu-svarita" + 7388 "Intonația vedică kathaka cu anudatta" + 7389 "Intonația vedică punct dedesubt" + 7390 "Intonația vedică două puncte dedesubt" + 7391 "Intonația vedică trei puncte dedesubt" + 7392 "Intonația vedică de cașmir rigvedic svarita independent" + 7393 "Intonația vedică atharvaved svarita independent" + 7394 "Semnul vedic visarga svarita" + 7395 "Semnul vedic visarga udatta" + 7396 "Semnul vedic visarga udatta întors" + 7397 "Semnul vedic visarga anudatta" + 7398 "Semnul vedic visarga anudatta întors" + 7399 "Semnul vedic visarga udatta cu codiță" + 7400 "Semnul vedic visarga anudatta cu codiță" + 7401 "Semnul vedic anusvara antargomukha" + 7402 "Semnul vedic anusvara bahirgomukha" + 7403 "Semnul vedic anusvara vamagomukha" + 7404 "Semnul vedic anusvara vamagomukha cu codiță" + 7405 "Semnul vedic tiryak" + 7406 "Semnul vedic anusvara lung hexiform" + 7407 "Semnul vedic anusvara lung" + 7408 "Semnul vedic rthang anusvara lung" + 7409 "Semnul vedic anusvara ubhayato mukha" + 7410 "Semnul vedic ardhavisarga" + 7411 "Semnul vedic rotit ardhavisarga" + 7412 "Intonația vedică candra deasupra" + 7413 "Semnul vedic jihvamuliya" + 7414 "Semnul vedic upadhmaniya" + 7424 "Litera latină a majusculă miniatură" + 7425 "Litera latină ae majusculă miniatură" + 7426 "Litera latină ae răsturnat" + 7427 "Litera latină b barat majusculă miniatură" + 7428 "Litera latină c majusculă miniatură" + 7429 "Litera latină d majusculă miniatură" + 7430 "Litera latină eth majusculă miniatură" + 7431 "Litera latină e majusculă miniatură" + 7432 "Litera latină e deschis răsturnat" + 7433 "Litera latină i răsturnat" + 7434 "Litera latină j majusculă miniatură" + 7435 "Litera latină k majusculă miniatură" + 7436 "Litera latină l tăiat majusculă miniatură" + 7437 "Litera latină m majusculă miniatură" + 7438 "Litera latină n întors majusculă miniatură" + 7439 "Litera latină o majusculă miniatură" + 7440 "Litera latină o deschis majusculă miniatură" + 7441 "Litera latină o lateral majusculă miniatură" + 7442 "Litera latină o lateral deschis majusculă miniatură" + 7443 "Litera latină o lateral tăiat majusculă miniatură" + 7444 "Litera latină oe răsturnat" + 7445 "Litera latină majusculă ou" + 7446 "Litera latină semi-o superior" + 7447 "Litera latină semi-o inferior" + 7448 "Litera latină p majusculă miniatură" + 7449 "Litera latină r întors majusculă miniatură" + 7450 "Litera latină r răsturnat majusculă miniatură" + 7451 "Litera latină t majusculă miniatură" + 7452 "Litera latină u majusculă miniatură" + 7453 "Litera latină u lateral" + 7454 "Litera latină u tremat lateral" + 7455 "Litera latină m răsturnat lateral" + 7456 "Litera latină v majusculă miniatură" + 7457 "Litera latină w majusculă miniatură" + 7458 "Litera latină z majusculă miniatură" + 7459 "Litera latină ezh majusculă miniatură" + 7460 "Litera latină fricativ laringal rostit" + 7461 "Litera latină ain" + 7462 "Litera grecească gama majusculă miniatură" + 7463 "Litera grecească lambda majusculă miniatură" + 7464 "Litera grecească pi majusculă miniatură" + 7465 "Litera grecească ro majusculă miniatură" + 7466 "Litera grecească psi majusculă miniatură" + 7467 "Litera chirilică eli majusculă miniatură" + 7468 "Litera modificatoare majusculă a" + 7469 "Litera modificatoare majusculă ae" + 7470 "Litera modificatoare majusculă b" + 7471 "Litera modificatoare majusculă b barat" + 7472 "Litera modificatoare majusculă d" + 7473 "Litera modificatoare majusculă e" + 7474 "Litera modificatoare majusculă e întors" + 7475 "Litera modificatoare majusculă g" + 7476 "Litera modificatoare majusculă h" + 7477 "Litera modificatoare majusculă i" + 7478 "Litera modificatoare majusculă j" + 7479 "Litera modificatoare majusculă k" + 7480 "Litera modificatoare majusculă l" + 7481 "Litera modificatoare majusculă m" + 7482 "Litera modificatoare majusculă n" + 7483 "Litera modificatoare majusculă n întors" + 7484 "Litera modificatoare majusculă o" + 7485 "Litera modificatoare majusculă ou" + 7486 "Litera modificatoare majusculă p" + 7487 "Litera modificatoare majusculă r" + 7488 "Litera modificatoare majusculă t" + 7489 "Litera modificatoare majusculă u" + 7490 "Litera modificatoare majusculă w" + 7491 "Litera modificatoare a" + 7492 "Litera modificatoare a răsturnat" + 7493 "Litera modificatoare alfa" + 7494 "Litera modificatoare ae răsturnat" + 7495 "Litera modificatoare b" + 7496 "Litera modificatoare d" + 7497 "Litera modificatoare e" + 7498 "Litera modificatoare schwa" + 7499 "Litera modificatoare e deschis" + 7500 "Litera modificatoare e deschis răsturnat" + 7501 "Litera modificatoare g" + 7502 "Litera modificatoare i răsturnat" + 7503 "Litera modificatoare k" + 7504 "Litera modificatoare m" + 7505 "Litera modificatoare eng" + 7506 "Litera modificatoare o" + 7507 "Litera modificatoare o deschis" + 7508 "Litera modificatoare semi-o superior" + 7509 "Litera modificatoare semi-o inferior" + 7510 "Litera modificatoare p" + 7511 "Litera modificatoare t" + 7512 "Litera modificatoare u" + 7513 "Litera modificatoare u lateral" + 7514 "Litera modificatoare m răsturnat" + 7515 "Litera modificatoare v" + 7516 "Litera modificatoare ain" + 7517 "Litera modificatoare beta" + 7518 "Litera modificatoare grecească gama" + 7519 "Litera modificatoare delta" + 7520 "Litera modificatoare grecească fi" + 7521 "Litera modificatoare hi" + 7522 "Litera latină indice i" + 7523 "Litera latină indice r" + 7524 "Litera latină indice u" + 7525 "Litera latină indice v" + 7526 "Litera grecească indice beta" + 7527 "Litera grecească indice gama" + 7528 "Litera grecească indice ro" + 7529 "Litera grecească indice fi" + 7530 "Litera grecească indice hi" + 7531 "Litera latină ue" + 7532 "Litera latină b cu tildă la mijloc" + 7533 "Litera latină d cu tildă la mijloc" + 7534 "Litera latină f cu tildă la mijloc" + 7535 "Litera latină m cu tildă la mijloc" + 7536 "Litera latină n cu tildă la mijloc" + 7537 "Litera latină p cu tildă la mijloc" + 7538 "Litera latină r cu tildă la mijloc" + 7539 "Litera latină r cu undiță și tildă la mijloc" + 7540 "Litera latină s cu tildă la mijloc" + 7541 "Litera latină t cu tildă la mijloc" + 7542 "Litera latină z cu tildă la mijloc" + 7543 "Litera latină g răsturnat" + 7544 "Litera chirilică modificatoare en" + 7545 "Litera latină g insular" + 7546 "Litera latină th tăiat" + 7547 "Litera latină i tăiat majusculă miniatură" + 7548 "Litera latină iota tăiat" + 7549 "Litera latină p tăiat" + 7550 "Litera latină u tăiat majusculă miniatură" + 7551 "Litera latină ipsilon tăiat" + 7552 "Litera latină b cu cârligel palatal" + 7553 "Litera latină d cu cârligel palatal" + 7554 "Litera latină f cu cârligel palatal" + 7555 "Litera latină g cu cârligel palatal" + 7556 "Litera latină k cu cârligel palatal" + 7557 "Litera latină l cu cârligel palatal" + 7558 "Litera latină m cu cârligel palatal" + 7559 "Litera latină n cu cârligel palatal" + 7560 "Litera latină p cu cârligel palatal" + 7561 "Litera latină r cu cârligel palatal" + 7562 "Litera latină s cu cârligel palatal" + 7563 "Litera latină esh cu cârligel palatal" + 7564 "Litera latină v cu cârligel palatal" + 7565 "Litera latină x cu cârligel palatal" + 7566 "Litera latină z cu cârligel palatal" + 7567 "Litera latină a cu cârligel retroflex" + 7568 "Litera latină alpha cu cârligel retroflex" + 7569 "Litera latină d cu cârligel și codiță" + 7570 "Litera latină e cu cârligel retroflex" + 7571 "Litera latină e deschis cu cârligel retroflex" + 7572 "Litera latină e deschis întors cu cârligel retroflex" + 7573 "Litera latină schwa cu cârligel retroflex" + 7574 "Litera latină i cu cârligel retroflex" + 7575 "Litera latină o deschis cu cârligel retroflex" + 7576 "Litera latină esh cu cârligel retroflex" + 7577 "Litera latină u cu cârligel retroflex" + 7578 "Litera latină ezh cu cârligel retroflex" + 7579 "Litera modificatoare alfa răsturnat" + 7580 "Litera modificatoare c" + 7581 "Litera modificatoare c cu încrețitură" + 7582 "Litera modificatoare eth" + 7583 "Litera modificatoare e deschis întors" + 7584 "Litera modificatoare f" + 7585 "Litera modificatoare j tăiat fără punct" + 7586 "Litera modificatoare g script" + 7587 "Litera modificatoare h răsturnat" + 7588 "Litera modificatoare i tăiat" + 7589 "Litera modificatoare iota" + 7590 "Litera modificatoare i capital" + 7591 "Litera modificatoare i capital tăiat" + 7592 "Litera modificatoare j cu codiță întretăiată" + 7593 "Litera modificatoare l cu cârligel retroflex" + 7594 "Litera modificatoare l cu cârligel palatal" + 7595 "Litera modificatoare majusculă l" + 7596 "Litera modificatoare m cu cârligel" + 7597 "Litera modificatoare m răsturnat cu picior alungit" + 7598 "Litera modificatoare n cu cârligel stânga" + 7599 "Litera modificatoare n cu cârligel retroflex" + 7600 "Litera modificatoare majusculă n" + 7601 "Litera modificatoare o barat" + 7602 "Litera modificatoare fi" + 7603 "Litera modificatoare s cu cârligel" + 7604 "Litera modificatoare esh" + 7605 "Litera modificatoare t cu cârligel palatal" + 7606 "Litera modificatoare u barat" + 7607 "Litera modificatoare ipsilon" + 7608 "Litera modificatoare majusculă u" + 7609 "Litera modificatoare v cu cârligel" + 7610 "Litera modificatoare v întors" + 7611 "Litera modificatoare z" + 7612 "Litera modificatoare z cu cârligel retroflex" + 7613 "Litera modificatoare z cu încrețitură" + 7614 "Litera modificatoare ezh" + 7615 "Litera modificatoare teta" + 7616 "Îmbinativ accent grav cu puncte" + 7617 "Îmbinativ accent acut cu puncte" + 7618 "Îmbinativ șarpe dedesubt" + 7619 "Îmbinativ însemn de suspensie" + 7620 "Îmbinativ macron-accent acut" + 7621 "Îmbinativ accent grav-macron" + 7622 "Îmbinativ macron-accent grav" + 7623 "Îmbinativ accent acut-macron" + 7624 "Îmbinativ accent grav-accent acut-accent grav" + 7625 "Îmbinativ accent acut-accent grav-accent acut" + 7626 "Îmbinativ literă latină r dedesubt" + 7627 "Îmbinativ breve-macron" + 7628 "Îmbinativ macron-breve" + 7629 "Îmbinativ accent circumflex alungit deasupra" + 7630 "Îmbinativ ogonek deasupra" + 7631 "Îmbinativ zigzag dedesubt" + 7632 "Îmbinativ is dedesubt" + 7633 "Îmbinativ ur deasupra" + 7634 "Îmbinativ us deasupra" + 7635 "Îmbinativ literă latină a aplatizat deschis deasupra" + 7636 "Îmbinativ literă latină ae" + 7637 "Îmbinativ literă latină ao" + 7638 "Îmbinativ literă latină av" + 7639 "Îmbinativ literă latină c cu sedilă" + 7640 "Îmbinativ literă latină d insular" + 7641 "Îmbinativ literă latină eth" + 7642 "Îmbinativ literă latină g" + 7643 "Îmbinativ literă latină g majusculă miniatură" + 7644 "Îmbinativ literă latină k" + 7645 "Îmbinativ literă latină l" + 7646 "Îmbinativ literă latină l majusculă miniatură" + 7647 "Îmbinativ literă latină m majusculă miniatură" + 7648 "Îmbinativ literă latină n" + 7649 "Îmbinativ literă latină n majusculă miniatură" + 7650 "Îmbinativ literă latină r majusculă miniatură" + 7651 "Îmbinativ literă latină r-rotunda" + 7652 "Îmbinativ literă latină s" + 7653 "Îmbinativ literă latină s alungit" + 7654 "Îmbinativ literă latină z" + 7676 "Îmbinativ breve alungit inversat dedesubt" + 7677 "Îmbinativ semn-aproximativ dedesubt" + 7678 "Îmbinativ vârf de săgeată spre stânga deasupra" + 7679 "Îmbinativ vârfuri de săgeată spre dreapta și în jos dedesubt" + 7680 "Litera latină majusculă a cu inel dedesubt" + 7681 "Litera latină a cu inel dedesubt" + 7682 "Litera latină majusculă b cu punct deasupra" + 7683 "Litera latină b cu punct deasupra" + 7684 "Litera latină majusculă b cu punct dedesubt" + 7685 "Litera latină b cu punct dedesubt" + 7686 "Litera latină majusculă b cu linie dedesubt" + 7687 "Litera latină b cu linie dedesubt" + 7688 "Litera latină majusculă c cu sedilă și accent acut" + 7689 "Litera latină c cu sedilă și accent acut" + 7690 "Litera latină majusculă d cu punct deasupra" + 7691 "Litera latină d cu punct deasupra" + 7692 "Litera latină majusculă d cu punct dedesubt" + 7693 "Litera latină d cu punct dedesubt" + 7694 "Litera latină majusculă d cu linie dedesubt" + 7695 "Litera latină d cu linie dedesubt" + 7696 "Litera latină majusculă d cu sedilă" + 7697 "Litera latină d cu sedilă" + 7698 "Litera latină majusculă d cu circumflex dedesubt" + 7699 "Litera latină d cu circumflex dedesubt" + 7700 "Litera latină majusculă e cu macron și accent grav" + 7701 "Litera latină e cu macron și accent grav" + 7702 "Litera latină majusculă e cu macron și accent acut" + 7703 "Litera latină e cu macron și accent acut" + 7704 "Litera latină majusculă e cu circumflex dedesubt" + 7705 "Litera latină e cu circumflex dedesubt" + 7706 "Litera latină majusculă e cu tildă dedesubt" + 7707 "Litera latină e cu tildă dedesubt" + 7708 "Litera latină majusculă e cu sedilă și breve" + 7709 "Litera latină e cu sedilă și breve" + 7710 "Litera latină majusculă f cu punct deasupra" + 7711 "Litera latină f cu punct deasupra" + 7712 "Litera latină majusculă g cu macron" + 7713 "Litera latină g cu macron" + 7714 "Litera latină majusculă h cu punct deasupra" + 7715 "Litera latină h cu punct deasupra" + 7716 "Litera latină majusculă h cu punct dedesubt" + 7717 "Litera latină h cu punct dedesubt" + 7718 "Litera latină majusculă h cu tremă" + 7719 "Litera latină h cu tremă" + 7720 "Litera latină majusculă h cu sedilă" + 7721 "Litera latină h cu sedilă" + 7722 "Litera latină majusculă h cu breve dedesubt" + 7723 "Litera latină h cu breve dedesubt" + 7724 "Litera latină majusculă i cu tildă dedesubt" + 7725 "Litera latină i cu tildă dedesubt" + 7726 "Litera latină majusculă i cu tremă și accent acut" + 7727 "Litera latină i cu tremă și accent acut" + 7728 "Litera latină majusculă k cu accent acut" + 7729 "Litera latină k cu accent acut" + 7730 "Litera latină majusculă k cu punct dedesubt" + 7731 "Litera latină k cu punct dedesubt" + 7732 "Litera latină majusculă k cu linie dedesubt" + 7733 "Litera latină k cu linie dedesubt" + 7734 "Litera latină majusculă l cu punct dedesubt" + 7735 "Litera latină l cu punct dedesubt" + 7736 "Litera latină majusculă l cu punct dedesubt și macron" + 7737 "Litera latină l cu punct dedesubt și macron" + 7738 "Litera latină majusculă l cu linie dedesubt" + 7739 "Litera latină l cu linie dedesubt" + 7740 "Litera latină majusculă l cu circumflex dedesubt" + 7741 "Litera latină l cu circumflex dedesubt" + 7742 "Litera latină majusculă m cu accent acut" + 7743 "Litera latină m cu accent acut" + 7744 "Litera latină majusculă m cu punct deasupra" + 7745 "Litera latină m cu punct deasupra" + 7746 "Litera latină majusculă m cu punct dedesubt" + 7747 "Litera latină m cu punct dedesubt" + 7748 "Litera latină majusculă n cu punct deasupra" + 7749 "Litera latină n cu punct deasupra" + 7750 "Litera latină majusculă n cu punct dedesubt" + 7751 "Litera latină n cu punct dedesubt" + 7752 "Litera latină majusculă n cu linie dedesubt" + 7753 "Litera latină n cu linie dedesubt" + 7754 "Litera latină majusculă n cu circumflex dedesubt" + 7755 "Litera latină n cu circumflex dedesubt" + 7756 "Litera latină majusculă o cu tildă și accent acut" + 7757 "Litera latină o cu tildă și accent acut" + 7758 "Litera latină majusculă o cu tildă și tremă" + 7759 "Litera latină o cu tildă și tremă" + 7760 "Litera latină majusculă o cu macron și accent grav" + 7761 "Litera latină o cu macron și accent grav" + 7762 "Litera latină majusculă o cu macron și accent acut" + 7763 "Litera latină o cu macron și accent acut" + 7764 "Litera latină majusculă p cu accent acut" + 7765 "Litera latină p cu accent acut" + 7766 "Litera latină majusculă p cu punct deasupra" + 7767 "Litera latină p cu punct deasupra" + 7768 "Litera latină majusculă r cu punct deasupra" + 7769 "Litera latină r cu punct deasupra" + 7770 "Litera latină majusculă r cu punct dedesubt" + 7771 "Litera latină r cu punct dedesubt" + 7772 "Litera latină majusculă r cu punct dedesubt și macron" + 7773 "Litera latină r cu punct dedesubt și macron" + 7774 "Litera latină majusculă r cu linie dedesubt" + 7775 "Litera latină r cu linie dedesubt" + 7776 "Litera latină majusculă s cu punct deasupra" + 7777 "Litera latină s cu punct deasupra" + 7778 "Litera latină majusculă s cu punct dedesubt" + 7779 "Litera latină s cu punct dedesubt" + 7780 "Litera latină majusculă s cu accent acut și punct deasupra" + 7781 "Litera latină s cu accent acut și punct deasupra" + 7782 "Litera latină majusculă s with caron și punct deasupra" + 7783 "Litera latină s with caron și punct deasupra" + 7784 "Litera latină majusculă s cu punct dedesubt și deasupra" + 7785 "Litera latină s cu punct dedesubt și deasupra" + 7786 "Litera latină majusculă t cu punct deasupra" + 7787 "Litera latină t cu punct deasupra" + 7788 "Litera latină majusculă t cu punct dedesubt" + 7789 "Litera latină t cu punct dedesubt" + 7790 "Litera latină majusculă t cu linie dedesubt" + 7791 "Litera latină t cu linie dedesubt" + 7792 "Litera latină majusculă t cu circumflex dedesubt" + 7793 "Litera latină t cu circumflex dedesubt" + 7794 "Litera latină majusculă u cu tremă dedesubt" + 7795 "Litera latină u cu tremă dedesubt" + 7796 "Litera latină majusculă u cu tildă dedesubt" + 7797 "Litera latină u cu tildă dedesubt" + 7798 "Litera latină majusculă u cu circumflex dedesubt" + 7799 "Litera latină u cu circumflex dedesubt" + 7800 "Litera latină majusculă u cu tildă și accent acut" + 7801 "Litera latină u cu tildă și accent acut" + 7802 "Litera latină majusculă u cu macron și tremă" + 7803 "Litera latină u cu macron și tremă" + 7804 "Litera latină majusculă v cu tildă" + 7805 "Litera latină v cu tildă" + 7806 "Litera latină majusculă v cu punct dedesubt" + 7807 "Litera latină v cu punct dedesubt" + 7808 "Litera latină majusculă w cu accent grav" + 7809 "Litera latină w cu accent grav" + 7810 "Litera latină majusculă w cu accent acut" + 7811 "Litera latină w cu accent acut" + 7812 "Litera latină majusculă w cu tremă" + 7813 "Litera latină w cu tremă" + 7814 "Litera latină majusculă w cu punct deasupra" + 7815 "Litera latină w cu punct deasupra" + 7816 "Litera latină majusculă w cu punct dedesubt" + 7817 "Litera latină w cu punct dedesubt" + 7818 "Litera latină majusculă x cu punct deasupra" + 7819 "Litera latină x cu punct deasupra" + 7820 "Litera latină majusculă x cu tremă" + 7821 "Litera latină x cu tremă" + 7822 "Litera latină majusculă y cu punct deasupra" + 7823 "Litera latină y cu punct deasupra" + 7824 "Litera latină majusculă z cu circumflex" + 7825 "Litera latină z cu circumflex" + 7826 "Litera latină majusculă z cu punct dedesubt" + 7827 "Litera latină z cu punct dedesubt" + 7828 "Litera latină majusculă z cu linie dedesubt" + 7829 "Litera latină z cu linie dedesubt" + 7830 "Litera latină h cu linie dedesubt" + 7831 "Litera latină t cu tremă" + 7832 "Litera latină w cu inel deasupra" + 7833 "Litera latină y cu inel deasupra" + 7834 "Litera latină a cu semi-inel drept" + 7835 "Litera latină long s cu punct deasupra" + 7836 "Litera latină long s tăiat diagonal" + 7837 "Litera latină long s tăiat sus" + 7838 "Litera latină s ascuțit" + 7839 "Litera latină delta" + 7840 "Litera latină majusculă a cu punct dedesubt" + 7841 "Litera latină a cu punct dedesubt" + 7842 "Litera latină majusculă a cu cârligel deasupra" + 7843 "Litera latină a cu cârligel deasupra" + 7844 "Litera latină majusculă a cu circumflex și accent acut" + 7845 "Litera latină a cu circumflex și accent acut" + 7846 "Litera latină majusculă a cu circumflex și accent grav" + 7847 "Litera latină a cu circumflex și accent grav" + 7848 "Litera latină majusculă a cu circumflex și cârligel deasupra" + 7849 "Litera latină a cu circumflex și cârligel deasupra" + 7850 "Litera latină majusculă a cu circumflex și tildă" + 7851 "Litera latină a cu circumflex și tildă" + 7852 "Litera latină majusculă a cu circumflex și punct dedesubt" + 7853 "Litera latină a cu circumflex și punct dedesubt" + 7854 "Litera latină majusculă a cu breve și accent acut" + 7855 "Litera latină a cu breve și accent acut" + 7856 "Litera latină majusculă a cu breve și accent grav" + 7857 "Litera latină a cu breve și accent grav" + 7858 "Litera latină majusculă a cu breve și cârligel deasupra" + 7859 "Litera latină a cu breve și cârligel deasupra" + 7860 "Litera latină majusculă a cu breve și tildă" + 7861 "Litera latină a cu breve și tildă" + 7862 "Litera latină majusculă a cu breve și punct dedesubt" + 7863 "Litera latină a cu breve și punct dedesubt" + 7864 "Litera latină majusculă e cu punct dedesubt" + 7865 "Litera latină e cu punct dedesubt" + 7866 "Litera latină majusculă e cu cârligel deasupra" + 7867 "Litera latină e cu cârligel deasupra" + 7868 "Litera latină majusculă e cu tildă" + 7869 "Litera latină e cu tildă" + 7870 "Litera latină majusculă e cu circumflex și accent acut" + 7871 "Litera latină e cu circumflex și accent acut" + 7872 "Litera latină majusculă e cu circumflex și accent grav" + 7873 "Litera latină e cu circumflex și accent grav" + 7874 "Litera latină majusculă e cu circumflex și cârligel deasupra" + 7875 "Litera latină e cu circumflex și cârligel deasupra" + 7876 "Litera latină majusculă e cu circumflex și tildă" + 7877 "Litera latină e cu circumflex și tildă" + 7878 "Litera latină majusculă e cu circumflex și punct dedesubt" + 7879 "Litera latină e cu circumflex și punct dedesubt" + 7880 "Litera latină majusculă i cu cârligel deasupra" + 7881 "Litera latină i cu cârligel deasupra" + 7882 "Litera latină majusculă i cu punct dedesubt" + 7883 "Litera latină i cu punct dedesubt" + 7884 "Litera latină majusculă o cu punct dedesubt" + 7885 "Litera latină o cu punct dedesubt" + 7886 "Litera latină majusculă o cu cârligel deasupra" + 7887 "Litera latină o cu cârligel deasupra" + 7888 "Litera latină majusculă o cu circumflex și accent acut" + 7889 "Litera latină o cu circumflex și accent acut" + 7890 "Litera latină majusculă o cu circumflex și accent grav" + 7891 "Litera latină o cu circumflex și accent grav" + 7892 "Litera latină majusculă o cu circumflex și cârligel deasupra" + 7893 "Litera latină o cu circumflex și cârligel deasupra" + 7894 "Litera latină majusculă o cu circumflex și tildă" + 7895 "Litera latină o cu circumflex și tildă" + 7896 "Litera latină majusculă o cu circumflex și punct dedesubt" + 7897 "Litera latină o cu circumflex și punct dedesubt" + 7898 "Litera latină majusculă o cu corn și accent acut" + 7899 "Litera latină o cu corn și accent acut" + 7900 "Litera latină majusculă o cu corn și accent grav" + 7901 "Litera latină o cu corn și accent grav" + 7902 "Litera latină majusculă o cu corn și cârligel deasupra" + 7903 "Litera latină o cu corn și cârligel deasupra" + 7904 "Litera latină majusculă o cu corn și tildă" + 7905 "Litera latină o cu corn și tildă" + 7906 "Litera latină majusculă o cu corn și punct dedesubt" + 7907 "Litera latină o cu corn și punct dedesubt" + 7908 "Litera latină majusculă u cu punct dedesubt" + 7909 "Litera latină u cu punct dedesubt" + 7910 "Litera latină majusculă u cu cârligel deasupra" + 7911 "Litera latină u cu cârligel deasupra" + 7912 "Litera latină majusculă u cu corn și accent acut" + 7913 "Litera latină u cu corn și accent acut" + 7914 "Litera latină majusculă u cu corn și accent grav" + 7915 "Litera latină u cu corn și accent grav" + 7916 "Litera latină majusculă u cu corn și cârligel deasupra" + 7917 "Litera latină u cu corn și cârligel deasupra" + 7918 "Litera latină majusculă u cu corn și tildă" + 7919 "Litera latină u cu corn și tildă" + 7920 "Litera latină majusculă u cu corn și punct dedesubt" + 7921 "Litera latină u cu corn și punct dedesubt" + 7922 "Litera latină majusculă y cu accent grav" + 7923 "Litera latină y cu accent grav" + 7924 "Litera latină majusculă y cu punct dedesubt" + 7925 "Litera latină y cu punct dedesubt" + 7926 "Litera latină majusculă y cu cârligel deasupra" + 7927 "Litera latină y cu cârligel deasupra" + 7928 "Litera latină majusculă y cu tildă" + 7929 "Litera latină y cu tildă" + 7930 "Digramă latină majusculă ll galez" + 7931 "Digramă latină ll galez" + 7932 "Litera latină majusculă v galez" + 7933 "Litera latină v galez" + 7934 "Litera latină majusculă y cu buclă" + 7935 "Litera latină y cu buclă" + 7936 "Litera grecească alfa cu psili" + 7937 "Litera grecească alfa cu dasia" + 7938 "Litera grecească alfa cu psili și varia" + 7939 "Litera grecească alfa cu dasia și varia" + 7940 "Litera grecească alfa cu psili și oxia" + 7941 "Litera grecească alfa cu dasia și oxia" + 7942 "Litera grecească alfa cu psili și perispomeni" + 7943 "Litera grecească alfa cu dasia și perispomeni" + 7944 "Litera grecească majusculă alfa cu psili" + 7945 "Litera grecească majusculă alfa cu dasia" + 7946 "Litera grecească majusculă alfa cu psili și varia" + 7947 "Litera grecească majusculă alfa cu dasia și varia" + 7948 "Litera grecească majusculă alfa cu psili și oxia" + 7949 "Litera grecească majusculă alfa cu dasia și oxia" + 7950 "Litera grecească majusculă alfa cu psili și perispomeni" + 7951 "Litera grecească majusculă alfa cu dasia și perispomeni" + 7952 "Litera grecească epsilon cu psili" + 7953 "Litera grecească epsilon cu dasia" + 7954 "Litera grecească epsilon cu psili și varia" + 7955 "Litera grecească epsilon cu dasia și varia" + 7956 "Litera grecească epsilon cu psili și oxia" + 7957 "Litera grecească epsilon cu dasia și oxia" + 7960 "Litera grecească majusculă epsilon cu psili" + 7961 "Litera grecească majusculă epsilon cu dasia" + 7962 "Litera grecească majusculă epsilon cu psili și varia" + 7963 "Litera grecească majusculă epsilon cu dasia și varia" + 7964 "Litera grecească majusculă epsilon cu psili și oxia" + 7965 "Litera grecească majusculă epsilon cu dasia și oxia" + 7968 "Litera grecească eta cu psili" + 7969 "Litera grecească eta cu dasia" + 7970 "Litera grecească eta cu psili și varia" + 7971 "Litera grecească eta cu dasia și varia" + 7972 "Litera grecească eta cu psili și oxia" + 7973 "Litera grecească eta cu dasia și oxia" + 7974 "Litera grecească eta cu psili și perispomeni" + 7975 "Litera grecească eta cu dasia și perispomeni" + 7976 "Litera grecească majusculă eta cu psili" + 7977 "Litera grecească majusculă eta cu dasia" + 7978 "Litera grecească majusculă eta cu psili și varia" + 7979 "Litera grecească majusculă eta cu dasia și varia" + 7980 "Litera grecească majusculă eta cu psili și oxia" + 7981 "Litera grecească majusculă eta cu dasia și oxia" + 7982 "Litera grecească majusculă eta cu psili și perispomeni" + 7983 "Litera grecească majusculă eta cu dasia și perispomeni" + 7984 "Litera grecească iota cu psili" + 7985 "Litera grecească iota cu dasia" + 7986 "Litera grecească iota cu psili și varia" + 7987 "Litera grecească iota cu dasia și varia" + 7988 "Litera grecească iota cu psili și oxia" + 7989 "Litera grecească iota cu dasia și oxia" + 7990 "Litera grecească iota cu psili și perispomeni" + 7991 "Litera grecească iota cu dasia și perispomeni" + 7992 "Litera grecească majusculă iota cu psili" + 7993 "Litera grecească majusculă iota cu dasia" + 7994 "Litera grecească majusculă iota cu psili și varia" + 7995 "Litera grecească majusculă iota cu dasia și varia" + 7996 "Litera grecească majusculă iota cu psili și oxia" + 7997 "Litera grecească majusculă iota cu dasia și oxia" + 7998 "Litera grecească majusculă iota cu psili și perispomeni" + 7999 "Litera grecească majusculă iota cu dasia și perispomeni" + 8000 "Litera grecească omicron cu psili" + 8001 "Litera grecească omicron cu dasia" + 8002 "Litera grecească omicron cu psili și varia" + 8003 "Litera grecească omicron cu dasia și varia" + 8004 "Litera grecească omicron cu psili și oxia" + 8005 "Litera grecească omicron cu dasia și oxia" + 8008 "Litera grecească majusculă omicron cu psili" + 8009 "Litera grecească majusculă omicron cu dasia" + 8010 "Litera grecească majusculă omicron cu psili și varia" + 8011 "Litera grecească majusculă omicron cu dasia și varia" + 8012 "Litera grecească majusculă omicron cu psili și oxia" + 8013 "Litera grecească majusculă omicron cu dasia și oxia" + 8016 "Litera grecească ipsilon cu psili" + 8017 "Litera grecească ipsilon cu dasia" + 8018 "Litera grecească ipsilon cu psili și varia" + 8019 "Litera grecească ipsilon cu dasia și varia" + 8020 "Litera grecească ipsilon cu psili și oxia" + 8021 "Litera grecească ipsilon cu dasia și oxia" + 8022 "Litera grecească ipsilon cu psili și perispomeni" + 8023 "Litera grecească ipsilon cu dasia și perispomeni" + 8025 "Litera grecească majusculă ipsilon cu dasia" + 8027 "Litera grecească majusculă ipsilon cu dasia și varia" + 8029 "Litera grecească majusculă ipsilon cu dasia și oxia" + 8031 "Litera grecească majusculă ipsilon cu dasia și perispomeni" + 8032 "Litera grecească omega cu psili" + 8033 "Litera grecească omega cu dasia" + 8034 "Litera grecească omega cu psili și varia" + 8035 "Litera grecească omega cu dasia și varia" + 8036 "Litera grecească omega cu psili și oxia" + 8037 "Litera grecească omega cu dasia și oxia" + 8038 "Litera grecească omega cu psili și perispomeni" + 8039 "Litera grecească omega cu dasia și perispomeni" + 8040 "Litera grecească majusculă omega cu psili" + 8041 "Litera grecească majusculă omega cu dasia" + 8042 "Litera grecească majusculă omega cu psili și varia" + 8043 "Litera grecească majusculă omega cu dasia și varia" + 8044 "Litera grecească majusculă omega cu psili și oxia" + 8045 "Litera grecească majusculă omega cu dasia și oxia" + 8046 "Litera grecească majusculă omega cu psili și perispomeni" + 8047 "Litera grecească majusculă omega cu dasia și perispomeni" + 8048 "Litera grecească alfa cu varia" + 8049 "Litera grecească alfa cu oxia" + 8050 "Litera grecească epsilon cu varia" + 8051 "Litera grecească epsilon cu oxia" + 8052 "Litera grecească eta cu varia" + 8053 "Litera grecească eta cu oxia" + 8054 "Litera grecească iota cu varia" + 8055 "Litera grecească iota cu oxia" + 8056 "Litera grecească omicron cu varia" + 8057 "Litera grecească omicron cu oxia" + 8058 "Litera grecească ipsilon cu varia" + 8059 "Litera grecească ipsilon cu oxia" + 8060 "Litera grecească omega cu varia" + 8061 "Litera grecească omega cu oxia" + 8064 "Litera grecească alfa cu psili și ypogegrammeni" + 8065 "Litera grecească alfa cu dasia și ypogegrammeni" + 8066 "Litera grecească alfa cu psili și varia și ypogegrammeni" + 8067 "Litera grecească alfa cu dasia și varia și ypogegrammeni" + 8068 "Litera grecească alfa cu psili și oxia și ypogegrammeni" + 8069 "Litera grecească alfa cu dasia și oxia și ypogegrammeni" + 8070 "Litera grecească alfa cu psili și perispomeni și ypogegrammeni" + 8071 "Litera grecească alfa cu dasia și perispomeni și ypogegrammeni" + 8072 "Litera grecească majusculă alfa cu psili și prosgegrammeni" + 8073 "Litera grecească majusculă alfa cu dasia și prosgegrammeni" + 8074 "Litera grecească majusculă alfa cu psili și varia și prosgegrammeni" + 8075 "Litera grecească majusculă alfa cu dasia și varia și prosgegrammeni" + 8076 "Litera grecească majusculă alfa cu psili și oxia și prosgegrammeni" + 8077 "Litera grecească majusculă alfa cu dasia și oxia și prosgegrammeni" + 8078 "Litera grecească majusculă alfa cu psili și perispomeni și prosgegrammeni" + 8079 "Litera grecească majusculă alfa cu dasia și perispomeni și prosgegrammeni" + 8080 "Litera grecească eta cu psili și ypogegrammeni" + 8081 "Litera grecească eta cu dasia și ypogegrammeni" + 8082 "Litera grecească eta cu psili și varia și ypogegrammeni" + 8083 "Litera grecească eta cu dasia și varia și ypogegrammeni" + 8084 "Litera grecească eta cu psili și oxia și ypogegrammeni" + 8085 "Litera grecească eta cu dasia și oxia și ypogegrammeni" + 8086 "Litera grecească eta cu psili și perispomeni și ypogegrammeni" + 8087 "Litera grecească eta cu dasia și perispomeni și ypogegrammeni" + 8088 "Litera grecească majusculă eta cu psili și prosgegrammeni" + 8089 "Litera grecească majusculă eta cu dasia și prosgegrammeni" + 8090 "Litera grecească majusculă eta cu psili și varia și prosgegrammeni" + 8091 "Litera grecească majusculă eta cu dasia și varia și prosgegrammeni" + 8092 "Litera grecească majusculă eta cu psili și oxia și prosgegrammeni" + 8093 "Litera grecească majusculă eta cu dasia și oxia și prosgegrammeni" + 8094 "Litera grecească majusculă eta cu psili și perispomeni și prosgegrammeni" + 8095 "Litera grecească majusculă eta cu dasia și perispomeni și prosgegrammeni" + 8096 "Litera grecească omega cu psili și ypogegrammeni" + 8097 "Litera grecească omega cu dasia și ypogegrammeni" + 8098 "Litera grecească omega cu psili și varia și ypogegrammeni" + 8099 "Litera grecească omega cu dasia și varia și ypogegrammeni" + 8100 "Litera grecească omega cu psili și oxia și ypogegrammeni" + 8101 "Litera grecească omega cu dasia și oxia și ypogegrammeni" + 8102 "Litera grecească omega cu psili și perispomeni și ypogegrammeni" + 8103 "Litera grecească omega cu dasia și perispomeni și ypogegrammeni" + 8104 "Litera grecească majusculă omega cu psili și prosgegrammeni" + 8105 "Litera grecească majusculă omega cu dasia și prosgegrammeni" + 8106 "Litera grecească majusculă omega cu psili și varia și prosgegrammeni" + 8107 "Litera grecească majusculă omega cu dasia și varia și prosgegrammeni" + 8108 "Litera grecească majusculă omega cu psili și oxia și prosgegrammeni" + 8109 "Litera grecească majusculă omega cu dasia și oxia și prosgegrammeni" + 8110 "Litera grecească majusculă omega cu psili și perispomeni și prosgegrammeni" + 8111 "Litera grecească majusculă omega cu dasia și perispomeni și prosgegrammeni" + 8112 "Litera grecească alfa cu vrachy" + 8113 "Litera grecească alfa cu macron" + 8114 "Litera grecească alfa cu varia și ypogegrammeni" + 8115 "Litera grecească alfa cu ypogegrammeni" + 8116 "Litera grecească alfa cu oxia și ypogegrammeni" + 8118 "Litera grecească alfa cu perispomeni" + 8119 "Litera grecească alfa cu perispomeni și ypogegrammeni" + 8120 "Litera grecească majusculă alfa cu vrachy" + 8121 "Litera grecească majusculă alfa cu macron" + 8122 "Litera grecească majusculă alfa cu varia" + 8123 "Litera grecească majusculă alfa cu oxia" + 8124 "Litera grecească majusculă alfa cu prosgegrammeni" + 8125 "Însemnul grecesc koronis" + 8126 "Însemnul grecesc prosgegrammeni" + 8127 "Însemnul grecesc psili" + 8128 "Însemnul grecesc perispomeni" + 8129 "Însemnul grecesc dialytika și perispomeni" + 8130 "Litera grecească eta cu varia și ypogegrammeni" + 8131 "Litera grecească eta cu ypogegrammeni" + 8132 "Litera grecească eta cu oxia și ypogegrammeni" + 8134 "Litera grecească eta cu perispomeni" + 8135 "Litera grecească eta cu perispomeni și ypogegrammeni" + 8136 "Litera grecească majusculă epsilon cu varia" + 8137 "Litera grecească majusculă epsilon cu oxia" + 8138 "Litera grecească majusculă eta cu varia" + 8139 "Litera grecească majusculă eta cu oxia" + 8140 "Litera grecească majusculă eta cu prosgegrammeni" + 8141 "Însemnul grecesc psili și varia" + 8142 "Însemnul grecesc psili și oxia" + 8143 "Însemnul grecesc psili și perispomeni" + 8144 "Litera grecească iota cu vrachy" + 8145 "Litera grecească iota cu macron" + 8146 "Litera grecească iota cu dialytika și varia" + 8147 "Litera grecească iota cu dialytika și oxia" + 8150 "Litera grecească iota cu perispomeni" + 8151 "Litera grecească iota cu dialytika și perispomeni" + 8152 "Litera grecească majusculă iota cu vrachy" + 8153 "Litera grecească majusculă iota cu macron" + 8154 "Litera grecească majusculă iota cu varia" + 8155 "Litera grecească majusculă iota cu oxia" + 8157 "Însemnul grecesc dasia și varia" + 8158 "Însemnul grecesc dasia și oxia" + 8159 "Însemnul grecesc dasia și perispomeni" + 8160 "Litera grecească ipsilon cu vrachy" + 8161 "Litera grecească ipsilon cu macron" + 8162 "Litera grecească ipsilon cu dialytika și varia" + 8163 "Litera grecească ipsilon cu dialytika și oxia" + 8164 "Litera grecească ro cu psili" + 8165 "Litera grecească ro cu dasia" + 8166 "Litera grecească ipsilon cu perispomeni" + 8167 "Litera grecească ipsilon cu dialytika și perispomeni" + 8168 "Litera grecească majusculă ipsilon cu vrachy" + 8169 "Litera grecească majusculă ipsilon cu macron" + 8170 "Litera grecească majusculă ipsilon cu varia" + 8171 "Litera grecească majusculă ipsilon cu oxia" + 8172 "Litera grecească majusculă ro cu dasia" + 8173 "Însemnul grecesc dialytika și varia" + 8174 "Însemnul grecesc dialytika și oxia" + 8175 "Însemnul grecesc varia" + 8178 "Litera grecească omega cu varia și ypogegrammeni" + 8179 "Litera grecească omega cu ypogegrammeni" + 8180 "Litera grecească omega cu oxia și ypogegrammeni" + 8182 "Litera grecească omega cu perispomeni" + 8183 "Litera grecească omega cu perispomeni și ypogegrammeni" + 8184 "Litera grecească majusculă omicron cu varia" + 8185 "Litera grecească majusculă omicron cu oxia" + 8186 "Litera grecească majusculă omega cu varia" + 8187 "Litera grecească majusculă omega cu oxia" + 8188 "Litera grecească majusculă omega cu prosgegrammeni" + 8189 "Însemnul grecesc oxia" + 8190 "Însemnul grecesc dasia" + 8192 "En quad" + 8193 "Em quad" + 8194 "Spațiu en" + 8195 "Spațiu em" + 8196 "Spațiu trei-per-em" + 8197 "Spațiu patru-per-em" + 8198 "Spațiu șase-per-em" + 8199 "Spațiu figură" + 8200 "Spațiu punctuație" + 8201 "Spațiu subțire" + 8202 "Spațiu fir" + 8203 "Spațiu de lățime zero" + 8204 "Ne-conector de lungime zero" + 8205 "Conector de lungime zero" + 8206 "Însemn de-la-stânga-la-dreapta" + 8207 "Însemn de-la-dreapta-la-stânga" + 8208 "Cratimă" + 8209 "Cratimă ne-despărțitoare" + 8210 "Linie figură" + 8211 "Linie en" + 8212 "Linie em" + 8213 "Bară orizontală" + 8214 "Linie verticală dublă" + 8215 "Linie coborâtă extinsă" + 8216 "Însemn de citație din stânga ridicat" + 8217 "Însemn de citație spre dreapta ridicat" + 8218 "Însemn de citație spre dreapta coborât" + 8219 "Însemn de citație din stânga ridicat răsturnat" + 8220 "Ghilimele din stânga ridicate" + 8221 "Ghilimele spre dreapta ridicate" + 8222 "Ghilimele spre dreapta coborâte" + 8223 "Ghilimele din stânga ridicate răsturnate" + 8224 "Jungher" + 8225 "Jungher dublu" + 8226 "Alică" + 8227 "Alică triunghiulară" + 8228 "Punct singular de introducere" + 8229 "Două puncte de introducere" + 8230 "Trei puncte de introducere" + 8231 "Punct de silabisire" + 8232 "Separator linie" + 8233 "Separator alineat" + 8234 "Specificativ de-la-stânga-la-dreapta" + 8235 "Specificativ de-la-dreapta-la-stânga" + 8236 "Formatare direcțională" + 8237 "Supra-specificativ de-la-stânga-la-dreapta" + 8238 "supra-specificativ de-la-dreapta-la-stânga" + 8239 "Spațiu fix îngust" + 8240 "Semnul la mie" + 8241 "Semnul la zece mii" + 8242 "Prim" + 8243 "Dublu-prim" + 8244 "Triplu-prim" + 8245 "Prim întors" + 8246 "Dublu-prim întors" + 8247 "Triplu-prim întors" + 8248 "Semn de omisiune" + 8249 "Însemn de citație unghiular de deschidere" + 8250 "Însemn de citație unghiular de închidere" + 8251 "Însemn de referință" + 8252 "Semn de exclamare dublu" + 8253 "Semn hibrid de întrebare și exclamare" + 8254 "Supra-liniere" + 8255 "Sublegătură" + 8256 "Caracterul legătură" + 8257 "Semnul punct de inserție" + 8258 "Asterism" + 8259 "Bulină de alineat" + 8260 "Semnul solidus fracționar" + 8261 "Paranteză pătrată deschisă cu pană" + 8262 "Paranteză pătrată închisă cu pană" + 8263 "Semn de întrebare dublu" + 8264 "Semn de întrebare și semn de exclamare" + 8265 "Semn de exclamare și semn de întrebare" + 8266 "Semnul tironian et" + 8267 "Semn de alineat întors" + 8268 "Bulină neagră spre stânga" + 8269 "Bulină neagră spre dreapta" + 8270 "Asterisk coborât" + 8271 "Punct și virgulă întors" + 8272 "Apropiere" + 8273 "Două asteriscuri aliniate vertical" + 8274 "Semnul minus comercial" + 8275 "Liniuță ondulată" + 8276 "Semnul sublegătură inversat" + 8277 "Semnul de punctuație floare" + 8278 "Trei puncte de punctuație" + 8279 "Cvadruplu-prim" + 8280 "Patru puncte de punctuație" + 8281 "Cinci puncte de punctuație" + 8282 "Două puncte de punctuație" + 8283 "Însemn de patru puncte" + 8284 "Cruce cu puncte" + 8285 "Trei puncte verticale" + 8286 "Patru puncte verticale" + 8287 "Spațiu matematic mediu" + 8288 "Conector de cuvinte" + 8289 "Aplicare de funcție" + 8290 "Multiplu invizibil" + 8291 "Separator invizibil" + 8292 "Plus invizibil" + 8298 "Inhibare de interschimb simetric" + 8299 "Activare de interschimb simetric" + 8300 "Inhibare pentru modelare forme arabe" + 8301 "Activare pentru modelare forme arabe" + 8302 "Forme pentru cifre" + 8303 "Forme nominale pentru cifre" + 8304 "Exponent zero" + 8305 "Exponent literă latină i" + 8308 "Exponent patru" + 8309 "Exponent cinci" + 8310 "Exponent șase" + 8311 "Exponent șapte" + 8312 "Exponent opt" + 8313 "Exponent nouă" + 8314 "Exponent semn plus" + 8315 "Exponent minus" + 8316 "Exponent semn de egalitate" + 8317 "Exponent paranteză dechisă" + 8318 "Exponent paranteză închisă" + 8319 "Exponent literă latină n" + 8320 "Indice zero" + 8321 "Indice unu" + 8322 "Indice doi" + 8323 "Indice trei" + 8324 "Indice patru" + 8325 "Indice cinci" + 8326 "Indice șase" + 8327 "Indice șapte" + 8328 "Indice opt" + 8329 "Indice nouă" + 8330 "Indice semn plus" + 8331 "Indice minus" + 8332 "Indice semn de egalitate" + 8333 "Indice paranteză deschisă" + 8334 "Indice paranteză închisă" + 8336 "Litera latină indice a" + 8337 "Litera latină indice e" + 8338 "Litera latină indice o" + 8339 "Litera latină indice x" + 8340 "Litera latină indice schwa" + 8341 "Litera latină indice h" + 8342 "Litera latină indice k" + 8343 "Litera latină indice l" + 8344 "Litera latină indice m" + 8345 "Litera latină indice n" + 8346 "Litera latină indice p" + 8347 "Litera latină indice s" + 8348 "Litera latină indice t" + 8352 "Semnul valutar euro" + 8353 "Semnul valutar colon puertorican" + 8354 "Semnul valutar cruzeiro brazilian" + 8355 "Semnul valutar franc francez" + 8356 "Semnul valutar liră sterlină" + 8357 "Semnul valutar mill" + 8358 "Semnul valutar nigerian naira" + 8359 "Semnul valutar peseta spaniolă" + 8360 "Semnul valutar rupee" + 8361 "Semnul valutar won corean" + 8362 "Semnul valutar shekel israelian" + 8363 "Semnul valutar dong vietnamez" + 8364 "Simbolul euro" + 8365 "Semnul valutar kip laoțian" + 8366 "Semnul valutar tugrik mongolez" + 8367 "Semnul valutar drachma grecească" + 8368 "Semnul valutar pfennig german" + 8369 "Semnul valutar peso filipinez" + 8370 "Semnul valutar guarani paraguayan" + 8371 "Semnul valutar austral argentinian" + 8372 "Semnul valutar hryvnia ucraineană" + 8373 "Semnul valutar cedi ganez" + 8374 "Semnul valutar livră de tournois" + 8375 "Semnul valutar spesmilo" + 8376 "Semnul valutar tenge kazah" + 8377 "Semnul valutar rupee indian" + 8378 "Semnul valutar liră turcească" + 8400 "Îmbinativ harpon spre stânga deasupra" + 8401 "Îmbinativ harpon spre dreapta deasupra" + 8402 "Îmbinativ linie verticală lungă acoperitoare" + 8403 "Îmbinativ linie verticală scurtă acoperitoare" + 8404 "Îmbinativ săgeată în sens antiorar deasupra" + 8405 "Îmbinativ săgeată în sens orar deasupra" + 8406 "Îmbinativ săgeată spre stânga deasupra" + 8407 "Îmbinativ săgeată spre dreapta deasupra" + 8408 "Îmbinativ inel acoperitor" + 8409 "Îmbinativ inel în sens orar acoperitor" + 8410 "Îmbinativ inel în sens antiorar acoperitor" + 8411 "Îmbinativ trei puncte deasupra" + 8412 "Îmbinativ patru puncte deasupra" + 8413 "Îmbinativ cerc inclusiv" + 8414 "Îmbinativ pătrat inclusiv" + 8415 "Îmbinativ romb inclusiv" + 8416 "Îmbinativ cerc tăiat inclusiv" + 8417 "Îmbinativ săgeată bidirecțională orizontală deasupra" + 8418 "Îmbinativ ecran inclusiv" + 8419 "Îmbinativ tastă conținătoare" + 8420 "Îmbinativ triunghi așezat conținător" + 8421 "Îmbinativ solidus întors acoperitor" + 8422 "Îmbinativ două linii verticale acoperitoare" + 8423 "Îmbinativ simbol de anuitate" + 8424 "Îmbinativ trei puncte dedesubt" + 8425 "Îmbinativ pod extins deasupra" + 8426 "Îmbinativ săgeată acoperitoare spre stânga" + 8427 "Îmbinativ dublu-solidus alungit acoperitor" + 8428 "Îmbinativ harpon spre dreapta dedesubt cu ghimpe în jos" + 8429 "Îmbinativ harpon spre stânga dedesubt cu ghimpe în jos" + 8430 "Îmbinativ săgeată spre stânga dedesubt" + 8431 "Îmbinativ săgeată spre dreapta dedesubt" + 8432 "Îmbinativ asterisc deasupra" + 8448 "Cont de" + 8449 "Adresat subiectului" + 8450 "Litera c majusculă conturat" + 8451 "Grade celsius" + 8452 "Simbolul centru de linie" + 8453 "Atenție pentru" + 8454 "Cada una" + 8455 "Constanta euler" + 8456 "Scrupul" + 8457 "Grade fahrenheit" + 8458 "Litera g de mână" + 8459 "Litera h majusculă de mână" + 8460 "Litera h majusculă în stil gotic" + 8461 "Litera h majusculă conturat" + 8462 "Constanta planck" + 8463 "Constanta planck supra doi pi" + 8464 "Litera i majusculă de mână" + 8465 "Litera i majusculă în stil gotic" + 8466 "Litera l majusculă de mână" + 8467 "Litera l de mână" + 8468 "Simbolul barat l și b" + 8469 "Litera n majusculă conturară" + 8470 "Semnul număr" + 8471 "Semnul drept de autor pentru înregistrare sunet" + 8472 "Litera p majusculă de mână" + 8473 "Litera p majusculă conturat" + 8474 "Litera q majusculă conturat" + 8475 "Litera r majusculă de mână" + 8476 "Litera r majusculă în stil gotic" + 8477 "Litera r majusculă conturat" + 8478 "Prescripție" + 8479 "Răspuns" + 8480 "Însemn de serviciu" + 8481 "Semnul telefon" + 8482 "Semnul marcă înregistrată" + 8483 "Verset" + 8484 "Litera z majusculă conturat" + 8485 "Însemnul uncie" + 8486 "Semnul ohm" + 8487 "Semnul ohm întors" + 8488 "Litera z majusculă în stil gotic" + 8489 "Litera grecească iota răsturnat" + 8490 "Semnul kelvin" + 8491 "Semnul angstrom" + 8492 "Litera b majusculă de mână" + 8493 "Litera c majusculă în stil gotic" + 8494 "Simboul estimativ" + 8495 "Litera e de mână" + 8496 "Litera e majusculă de mână" + 8497 "Litera f majusculă de mână" + 8498 "Litera f majusculă răsturnat" + 8499 "Litera m majusculă de mână" + 8500 "Litera o de mână" + 8501 "Simbolul alef" + 8502 "Simbolul bet" + 8503 "Simbolul gimel" + 8504 "Simbolul dalet" + 8505 "Simbolul sursă de informații" + 8506 "Litera q majusculă rotit" + 8507 "Semnul facsimile" + 8508 "Litera grecească pi conturat" + 8509 "Litera grecească gama conturat" + 8510 "Litera grecească gama majusculă conturat" + 8511 "Litera grecească pi majusculă conturat" + 8512 "Litera grecească sigma majusculă conturat" + 8513 "Litera g majusculă sans-serif răsturnat" + 8514 "Litera l majusculă sans-serif răsturnat" + 8515 "Litera l majusculă sans-serif întors" + 8516 "Litera y majusculă sans-serif răsturnat" + 8517 "Litera d majusculă în stil italic conturat" + 8518 "Litera d în stil italic conturat" + 8519 "Litera e în stil italic conturat" + 8520 "Litera i în stil italic conturat" + 8521 "Litera j în stil italic conturat" + 8522 "Linie de proprietate" + 8523 "Ampersand răsturnat" + 8524 "Semnul per" + 8525 "Aktieselskab" + 8526 "Litera f majusculă miniatură răsturnat" + 8527 "Simbolul sursă samaritană" + 8528 "Fracție vulgară o șeptime" + 8529 "Fracție vulgară o noime" + 8530 "Fracție vulgară o zecime" + 8531 "Fracție vulgară o treime" + 8532 "Fracție vulgară două treimi" + 8533 "Fracție vulgară o cincime" + 8534 "Fracție vulgară două cincimi" + 8535 "Fracție vulgară trei cincimi" + 8536 "Fracție vulgară patru cincimi" + 8537 "Fracție vulgară o șesime" + 8538 "Fracție vulgară cinci șesimi" + 8539 "Fracție vulgară o optime" + 8540 "Fracție vulgară trei optimi" + 8541 "Fracție vulgară cinci optimi" + 8542 "Fracție vulgară șapte optimi" + 8543 "Numărător fracționar unu" + 8544 "Numărul roman cu majuscule unu" + 8545 "Numărul roman cu majuscule doi" + 8546 "Numărul roman cu majuscule trei" + 8547 "Numărul roman cu majuscule patru" + 8548 "Numărul roman cu majuscule cinci" + 8549 "Numărul roman cu majuscule șase" + 8550 "Numărul roman cu majuscule șapte" + 8551 "Numărul roman cu majuscule opt" + 8552 "Numărul roman cu majuscule nouă" + 8553 "Numărul roman cu majuscule zece" + 8554 "Numărul roman cu majuscule unsprezece" + 8555 "Numărul roman cu majuscule doisprezece" + 8556 "Numărul roman cu majuscule cincizeci" + 8557 "Numărul roman cu majuscule o sută" + 8558 "Numărul roman cu majuscule cinci sute" + 8559 "Numărul roman cu majuscule o mie" + 8560 "Numărul roman unu" + 8561 "Numărul roman doi" + 8562 "Numărul roman trei" + 8563 "Numărul roman patru" + 8564 "Numărul roman cinci" + 8565 "Numărul roman șase" + 8566 "Numărul roman șapte" + 8567 "Numărul roman opt" + 8568 "Numărul roman nouă" + 8569 "Numărul roman zece" + 8570 "Numărul roman unsprezece" + 8571 "Numărul roman doisprezece" + 8572 "Numărul roman cincizeci" + 8573 "Numărul roman o sută" + 8574 "Numărul roman cinci sute" + 8575 "Numărul roman o mie" + 8576 "Numărul roman o mie c d" + 8577 "Numărul roman cinci mii" + 8578 "Numărul roman zece mii" + 8579 "Numărul roman o sută întors" + 8580 "Litera latină c întors" + 8581 "Numărul roman șase în formă târzie" + 8582 "Numărul roman cincizeci în formă timpurie" + 8583 "Numărul roman cincizeci de mii" + 8584 "Numărul roman o sută de mii" + 8585 "Fracție vulgară zero treimi" + 8592 "Săgeată spre stânga" + 8593 "Săgeată în sus" + 8594 "Săgeată spre dreapta" + 8595 "Săgeată în jos" + 8596 "Săgeată bidirecțională orizontală" + 8597 "Săgeată bidirecțională verticală" + 8598 "Săgeată spre nord vest" + 8599 "Săgeată spre nord est" + 8600 "Săgeată spre sud est" + 8601 "Săgeată spre sud vest" + 8602 "Săgeată tăiată spre stânga" + 8603 "Săgeată tăiată spre dreapta" + 8604 "Săgeată ondulată spre stânga" + 8605 "Săgeată ondulată spre dreapta" + 8606 "Săgeată spre stânga cu vârf dublu" + 8607 "Săgeată în sus cu vârf dublu" + 8608 "Săgeată spre dreapta cu vârf dublu" + 8609 "Săgeată în jos cu vârf dublu" + 8610 "Săgeată cu codiță spre stânga" + 8611 "Săgeată cu codiță spre dreapta" + 8612 "Săgeată spre stânga din bară" + 8613 "Săgeată în sus din bară" + 8614 "Săgeată spre dreapta din bară" + 8615 "Săgeată în jos din bară" + 8616 "Săgeată bidirecțională verticală cu bază" + 8617 "Săgeată spre stânga cu cârligel" + 8618 "Săgeată spre dreapta cu cârligel" + 8619 "Săgeată spre stânga cu buclă" + 8620 "Săgeată spre dreapta cu buclă" + 8621 "Săgeată ondulată bidirecțională orizontală" + 8622 "Săgeată tăiată bidirecțională orizontală" + 8623 "Săgeată zigzag în jos" + 8624 "Săgeată în sus cu vârf spre stânga" + 8625 "Săgeată în sus cu vârf spre dreapta" + 8626 "Săgeată în jos cu vârf spre stânga" + 8627 "Săgeată în jos cu vârf spre dreapta" + 8628 "Săgeată spre dreapta cu vârf în jos" + 8629 "Săgeată în jos cu vârf spre stânga" + 8630 "Săgeată semicerc în sens orar" + 8631 "Săgeată semicerc în sens antiorar" + 8632 "Săgeată spre nord vest cu bară lungă" + 8633 "Săgeată spre stânga în bară peste săgeată spre dreapta în bară" + 8634 "Săgeată circulară deschisă în sens antiorar" + 8635 "Săgeată circulară deschisă în sens orar" + 8636 "Harpon spre stânga cu ghimpe în sus" + 8637 "Harpon spre stânga cu ghimpe în jos" + 8638 "Harpon în sus cu ghimpe spre dreapta" + 8639 "Harpon în sus cu ghimpe spre stânga" + 8640 "Harpon spre dreapta cu ghimpe în sus" + 8641 "Harpon spre dreapta cu ghimpe în jos" + 8642 "Harpon în jos cu ghimpe spre dreapta" + 8643 "Harpon în jos cu ghimpe spre stânga" + 8644 "Săgeată spre dreapta peste săgeată spre stânga" + 8645 "Săgeată în sus lângă săgeată în jos" + 8646 "Săgeată spre stânga peste săgeată spre dreapta" + 8647 "Pereche de săgeți spre stânga" + 8648 "Pereche de săgeți în sus" + 8649 "Pereche de săgeți spre dreapta" + 8650 "Pereche de săgeți în jos" + 8651 "Harpon spre stânga peste harpon spre dreapta" + 8652 "Harpon spre dreapta peste harpon spre stânga" + 8653 "Săgeată dublă tăiată spre dreapta" + 8654 "Săgeată dublă bidirecțională orizontală tăiată" + 8655 "Săgeată dublă tăiată spre stânga" + 8656 "Săgeată dublă spre stânga" + 8657 "Săgeată dublă în sus" + 8658 "Săgeată dublă spre dreapta" + 8659 "Săgeată dublă în jos" + 8660 "Săgeată dublă bidirecțională orizontală" + 8661 "Săgeată dublă bidirecțională verticală" + 8662 "Săgeată dublă spre nord vest" + 8663 "Săgeată dublă spre nord est" + 8664 "Săgeată dublă spre sud est" + 8665 "Săgeată dublă spre sud vest" + 8666 "Săgeată triplă spre stânga" + 8667 "Săgeată triplă spre dreapta" + 8668 "Săgeată șerpuită spre stânga" + 8669 "Săgeată șerpuită spre dreapta" + 8670 "Săgeată în sus dublu-tăiată" + 8671 "Săgeată în jos dublu-tăiată" + 8672 "Săgeată punctată spre stânga" + 8673 "Săgeată punctată în sus" + 8674 "Săgeată punctată spre dreapta" + 8675 "Săgeată punctată în jos" + 8676 "Săgeată spre stânga în bară" + 8677 "Săgeată spre dreapta în bară" + 8678 "Săgeată conturată spre stânga" + 8679 "Săgeată conturată în sus" + 8680 "Săgeată conturată spre dreapta" + 8681 "Săgeată conturată în jos" + 8682 "Săgeată conturată în sus din bară" + 8683 "Săgeată conturată în sus pe pedestal" + 8684 "Săgeată conturată în sus pe pedestal cu bară orizontală" + 8685 "Săgeată conturată în sus pe pedestal cu bară verticală" + 8686 "Săgeată conturată în sus cu vârf dublu" + 8687 "Săgeată conturată în sus pe pedestal cu vârf dublu" + 8688 "Săgeată conturată în dreapta din perete" + 8689 "Săgeată spre nord vest în colț" + 8690 "Săgeată spre sud est în colț" + 8691 "Săgeată conturată bidirecțională verticală" + 8692 "Săgeată spre dreapta cu cerc mic" + 8693 "Săgeată în jos lângă săgeată în sus" + 8694 "Trei săgeți spre dreapta" + 8695 "Săgeată spre stânga cu tăietură verticală" + 8696 "Săgeată spre dreapta cu tăietură verticală" + 8697 "Săgeată bidirecțională orizontală tăiată vertical" + 8698 "Săgeată spre stânga cu două tăieturi verticale" + 8699 "Săgeată spre dreapta cu două tăieturi verticale" + 8700 "Săgeată bidirecțională orizontală cu două tăieturi verticale" + 8701 "Săgeată spre stânga cu vârf conturat" + 8702 "Săgeată spre dreapta cu vârf conturat" + 8703 "Săgeată bidirecțională orizontală cu vârfuri conturate" + 8704 "Pentru toate" + 8705 "Complement" + 8706 "Diferențială parțială" + 8707 "Există" + 8708 "Nu există" + 8709 "Mulțime vidă" + 8710 "Increment" + 8711 "Nabla" + 8712 "Aparține" + 8713 "Nu aparține" + 8714 "Aparține miniatură" + 8715 "Conține" + 8716 "Nu conține" + 8717 "Conține miniatură" + 8718 "Sfârșit de demonstrație" + 8719 "Produs de N elemente" + 8720 "Coprodus de N elemente" + 8721 "Sumație de N elemente" + 8722 "Semnul minus" + 8723 "Semnul plus minus" + 8724 "Punct plus" + 8725 "Solidus de împărțire" + 8726 "Minus pentru mulțime" + 8727 "Operaorul asterisc" + 8728 "Operatorul inel" + 8729 "Operatorul bulină" + 8730 "Radical de ordin doi" + 8731 "Radical de ordin trei" + 8732 "Radical de ordin patru" + 8733 "Proporțional cu" + 8734 "Infinit" + 8735 "Unghi drept" + 8736 "Unghi" + 8737 "Unghi măsurat" + 8738 "Unghi sferic" + 8739 "Divide" + 8740 "Nu divide" + 8741 "Paralel cu" + 8742 "Neparalel cu" + 8743 "Și logic" + 8744 "Sau logic" + 8745 "Intersecție" + 8746 "Uniune" + 8747 "Integrală" + 8748 "Integrală dublă" + 8749 "Integrală triplă" + 8750 "Integrală de contur" + 8751 "Integrală de suprafață" + 8752 "Integrală de volum" + 8753 "Integrală în sens orar" + 8754 "Integrală de contur în sens orar" + 8755 "Integrală de contur în sens antiorar" + 8756 "Astfel" + 8757 "Deoarece" + 8758 "Rație" + 8759 "Proporție" + 8760 "Punct minus" + 8761 "Exces" + 8762 "Proporție geometrică" + 8763 "Omotetic" + 8764 "Operator tildă" + 8765 "Operator tildă întors" + 8766 "S inversat rotit" + 8767 "Undă sinusoidală" + 8768 "Produs de împletitură" + 8769 "Tildă negat" + 8770 "Minus tildă" + 8771 "Egal asimptotic cu" + 8772 "Ne-egal asimptotic cu" + 8773 "Aproximativ egal cu" + 8774 "Aproximativ dar ne-egal cu" + 8775 "Nici apriximativ nici egal cu" + 8776 "Aproximativ" + 8777 "Ne-aproximativ" + 8778 "Aproximativ sau egal cu" + 8779 "Tildă triplă" + 8780 "Tot egal cu" + 8781 "Echivalent cu" + 8782 "Echivalent geometric cu" + 8783 "Diferit între" + 8784 "Apropiat de limită" + 8785 "Egalitate geometrică" + 8786 "Aproximativ egal cu sau imaginea pentru" + 8787 "Imaginea pentru sau aproximativ egal cu" + 8788 "Două puncte egal" + 8789 "Egal două puncte" + 8790 "Inel în egal" + 8791 "Inel egal" + 8792 "Corespunde la" + 8793 "Estimat" + 8794 "Echiangular cu" + 8795 "Stea egal" + 8796 "Delta egal" + 8797 "Egal prin definiție" + 8798 "Măsurat de" + 8799 "Egalitate contestată" + 8800 "Inegalitate" + 8801 "Identic cu" + 8802 "Neidentic cu" + 8803 "Strict echivalent cu" + 8804 "Mai mic sau egal cu" + 8805 "Mai mare sau egal cu" + 8806 "Mai mic supra egal cu" + 8807 "Mai mare supra egal cu" + 8808 "Mai mic dar nu egal cu" + 8809 "Mai mare dar nu egal cu" + 8810 "Mult mai mic decât" + 8811 "Mult mai mare decât" + 8812 "Între" + 8813 "Ne-echivalent cu" + 8814 "Nu mai mic decât" + 8815 "Nu mai mare decât" + 8816 "Nici mai mic nici egal cu" + 8817 "Nici mai mare nici egal cu" + 8818 "Mai mic sau echivalent cu" + 8819 "Mai mare sau echivalent cu" + 8820 "Nici mai mic nici echivalent cu" + 8821 "Nici mai mare nici echivalent cu" + 8822 "Mai mic sau mai mare decât" + 8823 "Mai mare sau mai mic decât" + 8824 "Nici mai mic nici mai mare decât" + 8825 "Nici mai mare nici mai mic decât" + 8826 "Precede" + 8827 "Succede" + 8828 "Precede sau este egal cu" + 8829 "Succede sau este egal cu" + 8830 "Precede sau este echivalent cu" + 8831 "Succede sau este echivalent cu" + 8832 "Nu precede" + 8833 "Nu succede" + 8834 "Se include" + 8835 "Include" + 8836 "Nu se include" + 8837 "Nu include" + 8838 "Se include în sau este egal cu" + 8839 "Include sau este egal cu" + 8840 "Nici nu se include în nici nu este egal cu" + 8841 "Nici nu include nici nu este egal cu" + 8842 "Se include în dar nu este egal cu" + 8843 "Include dar nu este egal cu" + 8844 "Multi-mulțime" + 8845 "Produs în multi-mulțime" + 8846 "Sumă în multi-mulțime" + 8847 "Imagine pătrată din" + 8848 "Original pătrat pentru" + 8849 "Imagine pătrată din sau egal cu" + 8850 "Original pătrat pentru sau egal cu" + 8851 "Cupolă pătrată" + 8852 "Cavitate pătrată" + 8853 "Plus circumscris" + 8854 "Minus circumscris" + 8855 "Înmulțit circumscris" + 8856 "Solidus circumscris" + 8857 "Operator punct încercuit" + 8858 "Operator inel încercuit" + 8859 "Operator asterisc încercuit" + 8860 "Egal încercuit" + 8861 "Minus încercuit" + 8862 "Plus încadrat" + 8863 "Minus încadrat" + 8864 "Înmulțit încadrat" + 8865 "Operator punct încadrat" + 8866 "T rotit" + 8867 "T răsturnat rotit" + 8868 "T" + 8869 "T răsturnat" + 8870 "Afirmație" + 8871 "Modele" + 8872 "Adevărat" + 8873 "Forțează" + 8874 "Bară verticală triplă cu turnichet spre dreapta" + 8875 "Bară verticală dublă cu turnichet dublu spre dreapta" + 8876 "Nu demonstrează" + 8877 "Ne-adevărat" + 8878 "Nu forțează" + 8879 "Negare pentru bară verticală dublă cu turnichet în dreapta" + 8880 "Precede sub relația" + 8881 "Succede sub relația" + 8882 "Subgrup normal din" + 8883 "Conține ca subgrup normal" + 8884 "Subgrup normal din sau egal cu" + 8885 "Conține ca subgup normal sau egal cu" + 8886 "Original pentru" + 8887 "Imagine din" + 8888 "Multifuncție" + 8889 "Matrice hermitiană conjugată" + 8890 "Intercalat" + 8891 "Sau exclusiv" + 8892 "Și logic negat" + 8893 "Sau logic negat" + 8894 "Unghi drept cu arc" + 8895 "Triunghi drept" + 8896 "Și logic de N elemente" + 8897 "Sau logic de N elemente" + 8898 "Intersecție de N elemente" + 8899 "Uniune de N elemente" + 8900 "Operatorul romb" + 8901 "Operatorul punct" + 8902 "Operatorul stea" + 8903 "Împărțire înmulțire" + 8904 "Papion" + 8905 "Produs semidirect de factor normal din stânga" + 8906 "Produs semidirect de factor normal din dreapta" + 8907 "Produs semidirect din stânga" + 8908 "Produs semidirect din dreapta" + 8909 "Tildă egal întors" + 8910 "Sau logic inelat" + 8911 "Și logic inelat" + 8912 "Subset dublu" + 8913 "Supraset dublu" + 8914 "Intersecție dublă" + 8915 "Uniune dublă" + 8916 "Furcă de smoală" + 8917 "Egal și paralel cu" + 8918 "Mai mic decât cu punct" + 8919 "Mai mare decât cu punct" + 8920 "Mult mai mic decât" + 8921 "Mult mai mare decât" + 8922 "Mai mic sau egal cu sau mai mare decât" + 8923 "Mai mare sau egal cu sau mai mic decât" + 8924 "Egal sau mai mic decât" + 8925 "Egal sau mai mare decât" + 8926 "Egal sau precede" + 8927 "Egal sau succede" + 8928 "Nu precede sau egal cu" + 8929 "Nu succede sau egal cu" + 8930 "Nu e imagine pătrată din nici egal cu" + 8931 "Nu e original pătrat pentru nici egal cu" + 8932 "Imagine pătrată din sau diferit de" + 8933 "Original pătrat pentru sau diferit de" + 8934 "Mai mic dar ne-echivalent cu" + 8935 "Mai mare dar ne-echivalent cu" + 8936 "Precede dar ne-echivalent cu" + 8937 "Succede dar ne-echivalent cu" + 8938 "Nu reprezintă un subgrup normal din" + 8939 "Nu conține ca subgrup normal pentru" + 8940 "Nu reprezintă un subgrup normal din sau egal cu" + 8941 "Nu conține ca subgrup normal pentru sau egal cu" + 8942 "Elipsă verticală" + 8943 "Elipsă orizontală" + 8944 "Elipsă oblică ascendentă" + 8945 "Elipsă oblică descendentă" + 8946 "Aparține cu tăietură lungă orizontală" + 8947 "Aparține cu bară verticală la capăt de tăietură orizontală" + 8948 "Aparține miniatură cu bară verticală la capăt de tăietură orizontală" + 8949 "Aparține cu punct deasupra" + 8950 "Aparține cu bară deasupra" + 8951 "Aparține miniatură cu bară deasupra" + 8952 "Aparține cu bară dedesubt" + 8953 "Aparține cu două tăieturi orizontale" + 8954 "Conține cu tăietură lungă orizontală" + 8955 "Conține cu bară verticală la capăt de tăietură orizontală" + 8956 "Conține miniatură cu bară verticală la capăt de tăietură orizontală" + 8957 "Conține cu bară deasupra" + 8958 "Conține miniatură cu bară deasupra" + 8959 "Notația Z" + 8960 "Semnul diametru" + 8961 "Săgeata electrică" + 8962 "Casă" + 8963 "Vârf de săgeată în sus" + 8964 "Vârf de săgeată în jos" + 8965 "Proiectiv" + 8966 "Perspectiv" + 8967 "Linie ondulată" + 8968 "Tavan stânga" + 8969 "Tavan drepta" + 8970 "Podea stânga" + 8971 "Podea dreapta" + 8972 "Decupare dreapta jos" + 8973 "Decupare stânga jos" + 8974 "Decupare dreapta sus" + 8975 "Decupare stânga sus" + 8976 "Semnul negat întors" + 8977 "Pastilă pătrată" + 8978 "Arc" + 8979 "Segment" + 8980 "Sector" + 8981 "Înregistrator de telefon" + 8982 "Indicator de poziție" + 8983 "Pătrat afișare de date" + 8984 "Semnul loc de interes" + 8985 "Semnul negat răsturnat" + 8986 "Ceas de mână" + 8987 "Clepsidră" + 8988 "Colț stânga sus" + 8989 "Colț dreapta sus" + 8990 "Colț stânga jos" + 8991 "Colț dreapta jos" + 8992 "Semi-integrală superioară" + 8993 "Semi-integrală inferioară" + 8994 "Încruntat" + 8995 "Zâmbet" + 8996 "Vârf de săgeată în sus între două bare orizontale" + 8997 "Cheie opțiune" + 8998 "Șterge la dreapta" + 8999 "X in dreptunghi" + 9000 "Tastatură" + 9001 "Paranteză unghiulară deschisă" + 9002 "Paranteză unghiulară închisă" + 9003 "Șterge la stânga" + 9004 "Inel benzenic" + 9005 "Cilindricitate" + 9006 "Profil roată-mprejur" + 9007 "Simetrie" + 9008 "Eroare admisă" + 9009 "Origine dimensiune" + 9010 "Vârf conic" + 9011 "Pantă" + 9012 "Degajare" + 9013 "Locaș axial" + 9083 "Însemn neverificat" + 9084 "Unghi drept cu săgeată zigzag descendentă" + 9085 "Cutie deschisă cu umeri" + 9086 "Simbolul clopot" + 9087 "Linie verticală cu punct median" + 9088 "Simbol de inserție" + 9089 "Simbol de subliniere continuă" + 9090 "Simbol de subliniere discontinuă" + 9091 "Simbol de evidențiere" + 9092 "Simbol de compoziție" + 9093 "Pătrat alb cu linie centrat-verticală" + 9094 "Simbol de introducere" + 9095 "Simbol de cheie alternativă" + 9096 "Cârmă" + 9097 "Bară orizontală circumscrisă cu crestătură" + 9098 "Triunghi circumscris neașezat" + 9099 "Cerc întretăiat cu săgeată spre nord-vest" + 9100 "Simbol de refacere" + 9101 "Simbol monostabil" + 9102 "Simbol histerezis" + 9103 "Însemn de ieșire impendanță înaltă pe circuit deschis" +END diff --git a/dll/win32/hhctrl.ocx/lang/Ro.rc b/dll/win32/hhctrl.ocx/lang/Ro.rc index 92bbec7da63..17566e326f9 100644 --- a/dll/win32/hhctrl.ocx/lang/Ro.rc +++ b/dll/win32/hhctrl.ocx/lang/Ro.rc @@ -4,6 +4,7 @@ * Copyright 2005 James Hawkins * Copyright 2010 Claudia Cotună * Michael Stefaniuc + * Fulea Ștefan * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -27,9 +28,9 @@ LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL STRINGTABLE BEGIN IDS_CONTENTS "&Cuprins" - IDS_INDEX "I&ndex" - IDS_SEARCH "C&aută" - IDS_FAVORITES "Favor&ite" + IDS_INDEX "&Index" + IDS_SEARCH "&Caută" + IDS_FAVORITES "F&avorite" END STRINGTABLE @@ -44,18 +45,18 @@ BEGIN IDTB_PRINT "Imprimă" IDTB_OPTIONS "Opțiuni" IDTB_FORWARD "Înainte" - IDTB_NOTES "IDTB_NOTES" - IDTB_BROWSE_FWD "IDTB_BROWSE_FWD" - IDTB_BROWSE_BACK "IDT_BROWSE_BACK" - IDTB_CONTENTS "IDTB_CONTENTS" - IDTB_INDEX "IDTB_INDEX" - IDTB_SEARCH "IDTB_SEARCH" - IDTB_HISTORY "IDTB_HISTORY" - IDTB_FAVORITES "IDTB_FAVORITES" + IDTB_NOTES "Note" + IDTB_BROWSE_FWD "Caută înainte" + IDTB_BROWSE_BACK "Caută înapoi" + IDTB_CONTENTS "Cuprins" + IDTB_INDEX "Index" + IDTB_SEARCH "Caută" + IDTB_HISTORY "Istoric" + IDTB_FAVORITES "Favorite" IDTB_JUMP1 "Salt1" IDTB_JUMP2 "Salt2" IDTB_CUSTOMIZE "Personalizare" - IDTB_ZOOM "Zoom" - IDTB_TOC_NEXT "IDTB_TOC_NEXT" - IDTB_TOC_PREV "IDTB_TOC_PREV" + IDTB_ZOOM "Scară" + IDTB_TOC_NEXT "Capitol următor" + IDTB_TOC_PREV "Capitol precedent" END diff --git a/dll/win32/localspl/lang/spl_Ro.rc b/dll/win32/localspl/lang/spl_Ro.rc index 31098717319..bfd44f06b1e 100644 --- a/dll/win32/localspl/lang/spl_Ro.rc +++ b/dll/win32/localspl/lang/spl_Ro.rc @@ -2,6 +2,7 @@ * Copyright 2005 Huw Davies * Copyright 2006 Detlef Riekenberg * Copyright 2008 Michael Stefaniuc + * 2011 Fulea Ștefan * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -25,5 +26,5 @@ LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL STRINGTABLE { IDS_LOCALPORT "Port local" - IDS_LOCALMONITOR "Monitor local" + IDS_LOCALMONITOR "Ecran local" } diff --git a/dll/win32/localui/lang/ui_Ro.rc b/dll/win32/localui/lang/ui_Ro.rc index e79ac56dfe5..ea7e7a10b1e 100644 --- a/dll/win32/localui/lang/ui_Ro.rc +++ b/dll/win32/localui/lang/ui_Ro.rc @@ -1,6 +1,7 @@ /* * Copyright 2007 Detlef Riekenberg * Copyright 2008 Michael Stefaniuc + * 2011 Fulea Ștefan * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -25,13 +26,13 @@ LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL ADDPORT_DIALOG DIALOG 6, 18, 245, 47 STYLE DS_CONTEXTHELP | DS_MODALFRAME | DS_SETFONT | DS_SETFOREGROUND | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION -CAPTION "Adaugă un port local" +CAPTION "Adaugare port local" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "&Nume port de adăugat:", -1, 7, 13, 194, 13, WS_VISIBLE - EDITTEXT ADDPORT_EDIT, 6, 28, 174, 12, WS_VISIBLE | ES_AUTOHSCROLL - DEFPUSHBUTTON "OK", IDOK, 199, 10, 40, 14, WS_VISIBLE - PUSHBUTTON "Renunță", IDCANCEL, 199, 27, 40, 14, WS_VISIBLE + LTEXT "N&umele portului adăugat:", -1, 7, 13, 194, 13, WS_VISIBLE + EDITTEXT ADDPORT_EDIT, 6, 28, 174, 12, WS_VISIBLE | ES_AUTOHSCROLL + DEFPUSHBUTTON "Con&firmă", IDOK, 199, 10, 40, 14, WS_VISIBLE + PUSHBUTTON "A&nulează", IDCANCEL, 199, 27, 40, 14, WS_VISIBLE END @@ -40,18 +41,18 @@ STYLE DS_CONTEXTHELP | DS_MODALFRAME | DS_SETFONT | DS_SETFOREGROUND | WS_POPUPW CAPTION "Configurare port LPT" FONT 8, "MS Shell Dlg" BEGIN - GROUPBOX "Temporizare (secunde)", LPTCONFIG_GROUP, 6, 6, 150, 35, BS_GROUPBOX - LTEXT "Reîncearcă &transmisia:", -1, 14, 22, 90, 13, WS_VISIBLE - EDITTEXT LPTCONFIG_EDIT, 112, 20, 32, 13, WS_VISIBLE | ES_NUMBER - DEFPUSHBUTTON "OK", IDOK, 164, 10, 50, 14, WS_VISIBLE - PUSHBUTTON "Renunță", IDCANCEL, 164, 27, 50, 14, WS_VISIBLE + GROUPBOX "Temporizare (secunde)", LPTCONFIG_GROUP, 6, 6, 150, 35, BS_GROUPBOX + LTEXT "&Reîncearcă transmisia:", -1, 14, 22, 90, 13, WS_VISIBLE + EDITTEXT LPTCONFIG_EDIT, 112, 20, 32, 13, WS_VISIBLE | ES_NUMBER + DEFPUSHBUTTON "Con&firmă", IDOK, 164, 10, 50, 14, WS_VISIBLE + PUSHBUTTON "A&nulează", IDCANCEL, 164, 27, 50, 14, WS_VISIBLE END STRINGTABLE { - IDS_LOCALPORT "Port local" - IDS_INVALIDNAME "'%s' nu este un nume valid de port" - IDS_PORTEXISTS "Portul %s existsă deja" - IDS_NOTHINGTOCONFIG "Acest port nu are opțiuni de configurat" + IDS_LOCALPORT "Port local" + IDS_INVALIDNAME "„%s” nu este un nume valid de port" + IDS_PORTEXISTS "Portul %s existsă deja" + IDS_NOTHINGTOCONFIG "Acest port nu are opțiuni de configurat" } diff --git a/dll/win32/lsasrv/database.c b/dll/win32/lsasrv/database.c index 3aca29c08cc..b970b6f50cf 100644 --- a/dll/win32/lsasrv/database.c +++ b/dll/win32/lsasrv/database.c @@ -241,8 +241,6 @@ LsapCreateDatabaseObjects(VOID) PSID AccountDomainSid = NULL; PSECURITY_DESCRIPTOR PolicySd = NULL; ULONG PolicySdSize = 0; - ULONG AuditEventsCount; - ULONG AuditEventsSize; ULONG i; NTSTATUS Status; @@ -263,17 +261,15 @@ LsapCreateDatabaseObjects(VOID) AuditLogInfo.NextAuditRecordId = 0; // DWORD /* Initialize the Audit Events attribute */ - AuditEventsCount = AuditCategoryAccountLogon - AuditCategorySystem + 1; - AuditEventsSize = sizeof(LSAP_POLICY_AUDIT_EVENTS_DATA) + AuditEventsCount * sizeof(DWORD); AuditEventsInfo = RtlAllocateHeap(RtlGetProcessHeap(), HEAP_ZERO_MEMORY, - AuditEventsSize); + sizeof(LSAP_POLICY_AUDIT_EVENTS_DATA)); if (AuditEventsInfo == NULL) return STATUS_INSUFFICIENT_RESOURCES; AuditEventsInfo->AuditingMode = FALSE; - AuditEventsInfo->MaximumAuditEventCount = AuditEventsCount; - for (i = 0; i < AuditEventsCount; i++) + AuditEventsInfo->MaximumAuditEventCount = POLICY_AUDIT_EVENT_TYPE_COUNT; + for (i = 0; i < POLICY_AUDIT_EVENT_TYPE_COUNT; i++) AuditEventsInfo->AuditEvents[i] = 0; /* Initialize the DNS Domain GUID attribute */ @@ -351,7 +347,7 @@ LsapCreateDatabaseObjects(VOID) LsapSetObjectAttribute(PolicyObject, L"PolAdtEv", AuditEventsInfo, - AuditEventsSize); + sizeof(LSAP_POLICY_AUDIT_EVENTS_DATA)); /* Set the DNS Domain Name attribute */ LsapSetObjectAttribute(PolicyObject, @@ -984,7 +980,7 @@ LsapSetObjectAttribute(PLSA_DB_OBJECT DbObject, NULL); if (!NT_SUCCESS(Status)) { - ERR("NtCreateKey failed for '%S' with status 0x%lx\n", + ERR("NtCreateKey failed for '%S' with status 0x%lx\n", AttributeName, Status); return Status; } @@ -998,7 +994,7 @@ LsapSetObjectAttribute(PLSA_DB_OBJECT DbObject, if (!NT_SUCCESS(Status)) { - ERR("RtlpNtSetValueKey failed for '%S' with status 0x%lx\n", + ERR("RtlpNtSetValueKey failed for '%S' with status 0x%lx\n", AttributeName, Status); } diff --git a/dll/win32/lsasrv/lang/ro-RO.rc b/dll/win32/lsasrv/lang/ro-RO.rc new file mode 100644 index 00000000000..dbd1032ee8e --- /dev/null +++ b/dll/win32/lsasrv/lang/ro-RO.rc @@ -0,0 +1,46 @@ +/* Translator: Ștefan Fulea (stefan dot fulea at mail dot md) */ + +LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL + +STRINGTABLE +BEGIN + IDS_NT_AUTHORITY "AUTORITATE NT" + IDS_NULL_RID "NULL SID" + IDS_WORLD_RID "Toți" + IDS_LOCAL_RID "LOCAL" + IDS_CREATOR_OWNER_RID "INDIVID CREATOR" + IDS_CREATOR_GROUP_RID "GRUP CREATOR" + IDS_CREATOR_OWNER_SERVER_RID "SERVER INDIVID CREATOR" + IDS_CREATOR_GROUP_SERVER_RID "SERVER GRUP CREATOR" + IDS_DIALUP_RID "LINIE-COMUTATĂ" + IDS_NETWORK_RID "REȚEA" + IDS_BATCH_RID "LOT" + IDS_INTERACTIVE_RID "INTERACTIV" + IDS_SERVICE_RID "SERVICIU" + IDS_ANONYMOUS_LOGON_RID "AUTENTIFICARE ANONIMĂ" + IDS_PROXY_RID "MANDATAR" + IDS_ENTERPRISE_CONTROLLERS_RID "CONTROLOR DE DOMENIU ÎNTREPRINDERE" + IDS_PRINCIPAL_SELF_RID "SINE" + IDS_AUTHENTICATED_USER_RID "Utilizatori autentificați" + IDS_RESTRICTED_CODE_RID "RESTRICȚIONAT" + IDS_TERMINAL_SERVER_RID "UTILIZATOR DE SERVER TERMINAL" + IDS_REMOTE_LOGON_RID "TELE-AUTENTIFICARE INTERACTIVĂ" + IDS_THIS_ORGANIZATION_RID "Această organizație" + IDS_LOCAL_SYSTEM_RID "SISTEM" + IDS_LOCAL_SERVICE_RID "SERVICIU LOCAL" + IDS_NETWORK_SERVICE_RID "SERVICIU DE REȚEA" + IDS_BUILTIN_DOMAIN_RID "INERENT" + IDS_ALIAS_RID_ADMINS "Administratori" + IDS_ALIAS_RID_USERS "Utilizatori" + IDS_ALIAS_RID_GUESTS "Oaspeți" + IDS_ALIAS_RID_POWER_USERS "Utilizatori avansați" + IDS_ALIAS_RID_ACCOUNT_OPS "Operatori de cont" + IDS_ALIAS_RID_SYSTEM_OPS "Operatori de server" + IDS_ALIAS_RID_PRINT_OPS "Operatori de imprimare" + IDS_ALIAS_RID_BACKUP_OPS "Operatori de rezervă" + IDS_ALIAS_RID_REPLICATOR "Replicatori" + IDS_ALIAS_RID_RAS_SERVERS "Servere RAS și IAS" + IDS_ALIAS_RID_PREW2KCOMPACCESS "Acces compatibil ante-Windows 2000" + IDS_ALIAS_RID_REMOTE_DESKTOP_USERS "Utilizatori de birou la distanță" + IDS_ALIAS_RID_NETWORK_CONFIGURATION_OPS "Operatori de configurare rețea" +END diff --git a/dll/win32/lsasrv/lsasrv.h b/dll/win32/lsasrv/lsasrv.h index 5f64f1d9631..dd7b100ecac 100644 --- a/dll/win32/lsasrv/lsasrv.h +++ b/dll/win32/lsasrv/lsasrv.h @@ -65,12 +65,12 @@ typedef struct _LSA_DB_OBJECT #define LSAP_DB_SIGNATURE 0x12345678 - +#define POLICY_AUDIT_EVENT_TYPE_COUNT (AuditCategoryAccountLogon - AuditCategorySystem + 1) typedef struct _LSAP_POLICY_AUDIT_EVENTS_DATA { BOOLEAN AuditingMode; + DWORD AuditEvents[POLICY_AUDIT_EVENT_TYPE_COUNT]; DWORD MaximumAuditEventCount; - DWORD AuditEvents[0]; } LSAP_POLICY_AUDIT_EVENTS_DATA, *PLSAP_POLICY_AUDIT_EVENTS_DATA; typedef struct _LSAP_LOGON_CONTEXT diff --git a/dll/win32/lsasrv/lsasrv.rc b/dll/win32/lsasrv/lsasrv.rc index 684a1926241..337eccbe82c 100644 --- a/dll/win32/lsasrv/lsasrv.rc +++ b/dll/win32/lsasrv/lsasrv.rc @@ -27,3 +27,6 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL #ifdef LANGUAGE_EN_US #include "lang/en-US.rc" #endif +#ifdef LANGUAGE_RO_RO + #include "lang/ro-RO.rc" +#endif diff --git a/dll/win32/mpr/lang/mpr_Ro.rc b/dll/win32/mpr/lang/mpr_Ro.rc index f0dd10b5f00..02d39de0981 100644 --- a/dll/win32/mpr/lang/mpr_Ro.rc +++ b/dll/win32/mpr/lang/mpr_Ro.rc @@ -1,6 +1,7 @@ /* * Copyright (C) 2004 Juan Lang * Copyright (C) 2008 Michael Stefaniuc + * 2011 Fulea Ștefan * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -31,16 +32,16 @@ STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Introducere parolă de rețea" FONT 8, "MS Shell Dlg" { - LTEXT "Introduceți numele de utilizator și parola:", IDC_EXPLAIN, 40, 6, 150, 15 - LTEXT "Proxy", -1, 40, 26, 50, 10 - LTEXT "Utilizator", -1, 40, 66, 50, 10 - LTEXT "Parolă", -1, 40, 86, 50, 10 - LTEXT "", IDC_PROXY, 80, 26, 150, 14, 0 - LTEXT "", IDC_REALM, 80, 46, 150, 14, 0 - EDITTEXT IDC_USERNAME, 80, 66, 150, 14, ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP - EDITTEXT IDC_PASSWORD, 80, 86, 150, 14, ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP | ES_PASSWORD - CHECKBOX "&Salvează această parolă (nesigur)", IDC_SAVEPASSWORD, - 80, 106, 150, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP - PUSHBUTTON "OK", IDOK, 98, 126, 56, 14, WS_GROUP | WS_TABSTOP | BS_DEFPUSHBUTTON - PUSHBUTTON "Renunță", IDCANCEL, 158, 126, 56, 14, WS_GROUP | WS_TABSTOP + LTEXT "Introduceți numele de utilizator și parola:", IDC_EXPLAIN, 40, 6, 150, 15 + LTEXT "Mandatar", -1, 40, 26, 50, 10 + LTEXT "Utilizator", -1, 40, 66, 50, 10 + LTEXT "Parolă", -1, 40, 86, 50, 10 + LTEXT "", IDC_PROXY, 80, 26, 150, 14, 0 + LTEXT "", IDC_REALM, 80, 46, 150, 14, 0 + EDITTEXT IDC_USERNAME, 80, 66, 150, 14, ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP + EDITTEXT IDC_PASSWORD, 80, 86, 150, 14, ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP | ES_PASSWORD + CHECKBOX "&Păstrează această parolă (nerecomandat)", IDC_SAVEPASSWORD, + 80, 106, 150, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP + PUSHBUTTON "Con&firmă", IDOK, 98, 126, 56, 14, WS_GROUP | WS_TABSTOP | BS_DEFPUSHBUTTON + PUSHBUTTON "A&nulează", IDCANCEL, 158, 126, 56, 14, WS_GROUP | WS_TABSTOP } diff --git a/dll/win32/msacm32/lang/msacm_Ro.rc b/dll/win32/msacm32/lang/msacm_Ro.rc index aa529d09555..396de42f3b2 100644 --- a/dll/win32/msacm32/lang/msacm_Ro.rc +++ b/dll/win32/msacm32/lang/msacm_Ro.rc @@ -1,6 +1,7 @@ /* * Copyright 2000 Eric Pouech * Copyright 2008 Michael Stefaniuc + * 2011 Fulea Ștefan * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -23,30 +24,30 @@ LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL DLG_ACMFORMATCHOOSE_ID DIALOG 10, 20, 225, 100 STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Sound Selection" +CAPTION "Selecție sunet" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "&Nume:", -1, 5, 5, 115, 8, NOT WS_GROUP + LTEXT "N&ume:", -1, 5, 5, 115, 8, NOT WS_GROUP - COMBOBOX IDD_ACMFORMATCHOOSE_CMB_CUSTOM, 5, 15, 115, 60, - CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDD_ACMFORMATCHOOSE_CMB_CUSTOM, 5, 15, 115, 60, + CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "&Salvează ca", IDD_ACMFORMATCHOOSE_BTN_SETNAME, 125, 14, 45, 14 - PUSHBUTTON "&Elimină", IDD_ACMFORMATCHOOSE_BTN_DELNAME, 175, 14, 45, 14 + PUSHBUTTON "Pă&strare ca…", IDD_ACMFORMATCHOOSE_BTN_SETNAME, 125, 14, 45, 14 + PUSHBUTTON "&Elimină", IDD_ACMFORMATCHOOSE_BTN_DELNAME, 175, 14, 45, 14 - LTEXT "&Format:", -1, 5, 41, 44, 8, NOT WS_GROUP + LTEXT "F&ormat:", -1, 5, 41, 44, 8, NOT WS_GROUP - COMBOBOX IDD_ACMFORMATCHOOSE_CMB_FORMATTAG, 50, 39, 170, 60, - CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDD_ACMFORMATCHOOSE_CMB_FORMATTAG, 50, 39, 170, 60, + CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP - LTEXT "&Atribute:", -1, 5, 59, 44, 8, NOT WS_GROUP + LTEXT "&Atribute:", -1, 5, 59, 44, 8, NOT WS_GROUP - COMBOBOX IDD_ACMFORMATCHOOSE_CMB_FORMAT, 50, 57, 170, 60, - CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDD_ACMFORMATCHOOSE_CMB_FORMAT, 50, 57, 170, 60, + CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - DEFPUSHBUTTON "OK", IDOK, 48, 80, 40, 14 - PUSHBUTTON "Renunță", IDCANCEL, 92, 80, 40, 14 - PUSHBUTTON "&Ajutor", IDD_ACMFORMATCHOOSE_BTN_HELP, 136, 80, 40, 14 + DEFPUSHBUTTON "Con&firmă", IDOK, 48, 80, 40, 14 + PUSHBUTTON "A&nulează", IDCANCEL, 92, 80, 40, 14 + PUSHBUTTON "&Manual…", IDD_ACMFORMATCHOOSE_BTN_HELP, 136, 80, 40, 14 END diff --git a/dll/win32/msgina/gui.c b/dll/win32/msgina/gui.c index 66fab2697b4..1f05ae26c06 100644 --- a/dll/win32/msgina/gui.c +++ b/dll/win32/msgina/gui.c @@ -184,23 +184,15 @@ static VOID GUIDisplaySASNotice( IN OUT PGINA_CONTEXT pgContext) { - INT result; - TRACE("GUIDisplaySASNotice()\n"); /* Display the notice window */ - result = DialogBoxParam( - pgContext->hDllInstance, - MAKEINTRESOURCE(IDD_NOTICE_DLG), - GetDesktopWindow(), - EmptyWindowProc, - (LPARAM)NULL); - if (result == -1) - { - /* Failed to display the window. Do as if the user - * already has pressed CTRL+ALT+DELETE */ - pgContext->pWlxFuncs->WlxSasNotify(pgContext->hWlx, WLX_SAS_TYPE_CTRL_ALT_DEL); - } + pgContext->pWlxFuncs->WlxDialogBoxParam(pgContext->hWlx, + pgContext->hDllInstance, + MAKEINTRESOURCEW(IDD_NOTICE_DLG), + GetDesktopWindow(), + EmptyWindowProc, + (LPARAM)NULL); } /* Get the text contained in a textbox. Allocates memory in pText @@ -290,6 +282,9 @@ OnInitSecurityDlg(HWND hwnd, wsprintfW(Buffer4, Buffer1, Buffer2, Buffer3); SetDlgItemTextW(hwnd, IDC_LOGONDATE, Buffer4); + + if (pgContext->bAutoAdminLogon == TRUE) + EnableWindow(GetDlgItem(hwnd, IDC_LOGOFF), FALSE); } @@ -316,6 +311,56 @@ OnChangePassword( } +static INT_PTR CALLBACK +LogOffDialogProc( + IN HWND hwndDlg, + IN UINT uMsg, + IN WPARAM wParam, + IN LPARAM lParam) +{ + switch (uMsg) + { + case WM_INITDIALOG: + return TRUE; + + case WM_COMMAND: + switch (LOWORD(wParam)) + { + case IDYES: + EndDialog(hwndDlg, IDYES); + return TRUE; + + case IDNO: + EndDialog(hwndDlg, IDNO); + return TRUE; + } + break; + + case WM_CLOSE: + EndDialog(hwndDlg, IDNO); + return TRUE; + } + + return FALSE; +} + + +static +INT +OnLogOff( + IN HWND hwndDlg, + IN PGINA_CONTEXT pgContext) +{ + return pgContext->pWlxFuncs->WlxDialogBoxParam( + pgContext->hWlx, + pgContext->hDllInstance, + MAKEINTRESOURCEW(IDD_LOGOFF_DLG), + hwndDlg, + LogOffDialogProc, + (LPARAM)pgContext); +} + + static INT_PTR CALLBACK LoggedOnWindowProc( IN HWND hwndDlg, @@ -347,7 +392,8 @@ LoggedOnWindowProc( EndDialog(hwndDlg, WLX_SAS_ACTION_LOCK_WKSTA); return TRUE; case IDC_LOGOFF: - EndDialog(hwndDlg, WLX_SAS_ACTION_LOGOFF); + if (OnLogOff(hwndDlg, pgContext) == IDYES) + EndDialog(hwndDlg, WLX_SAS_ACTION_LOGOFF); return TRUE; case IDC_SHUTDOWN: EndDialog(hwndDlg, WLX_SAS_ACTION_SHUTDOWN_POWER_OFF); @@ -391,7 +437,7 @@ GUILoggedOnSAS( return WLX_SAS_ACTION_NONE; } - result = pgContext->pWlxFuncs->WlxSwitchDesktopToWinlogon( + pgContext->pWlxFuncs->WlxSwitchDesktopToWinlogon( pgContext->hWlx); result = pgContext->pWlxFuncs->WlxDialogBoxParam( @@ -410,7 +456,7 @@ GUILoggedOnSAS( if (result == WLX_SAS_ACTION_NONE) { - result = pgContext->pWlxFuncs->WlxSwitchDesktopToUser( + pgContext->pWlxFuncs->WlxSwitchDesktopToUser( pgContext->hWlx); } @@ -432,10 +478,20 @@ LoggedOutWindowProc( { case WM_INITDIALOG: { - /* FIXME: take care of DontDisplayLastUserName, NoDomainUI, ShutdownWithoutLogon */ + /* FIXME: take care of NoDomainUI */ pgContext = (PGINA_CONTEXT)lParam; SetWindowLongPtr(hwndDlg, GWL_USERDATA, (DWORD_PTR)pgContext); - SetFocus(GetDlgItem(hwndDlg, IDC_USERNAME)); + + if (pgContext->bDontDisplayLastUserName == FALSE) + SetDlgItemTextW(hwndDlg, IDC_USERNAME, pgContext->UserName); + + if (pgContext->bDisableCAD == TRUE) + EnableWindow(GetDlgItem(hwndDlg, IDCANCEL), FALSE); + + if (pgContext->bShutdownWithoutLogon == FALSE) + EnableWindow(GetDlgItem(hwndDlg, IDC_SHUTDOWN), FALSE); + + SetFocus(GetDlgItem(hwndDlg, pgContext->bDontDisplayLastUserName ? IDC_USERNAME : IDC_PASSWORD)); pgContext->hBitmap = LoadImage(hDllInstance, MAKEINTRESOURCE(IDI_ROSLOGO), IMAGE_BITMAP, 0, 0, LR_DEFAULTCOLOR); return TRUE; @@ -471,6 +527,12 @@ LoggedOutWindowProc( if (GetTextboxText(hwndDlg, IDC_PASSWORD, &Password) && DoLoginTasks(pgContext, UserName, NULL, Password)) { + pgContext->Password = HeapAlloc(GetProcessHeap(), + HEAP_ZERO_MEMORY, + (wcslen(Password) + 1) * sizeof(WCHAR)); + if (pgContext->Password != NULL) + wcscpy(pgContext->Password, Password); + result = WLX_SAS_ACTION_LOGON; } HeapFree(GetProcessHeap(), 0, UserName); @@ -522,22 +584,11 @@ GUILoggedOutSAS( return WLX_SAS_ACTION_NONE; } -static INT -GUILockedSAS( - IN OUT PGINA_CONTEXT pgContext) -{ - TRACE("GUILockedSAS()\n"); - - UNREFERENCED_PARAMETER(pgContext); - - UNIMPLEMENTED; - return WLX_SAS_ACTION_UNLOCK_WKSTA; -} - static VOID -OnInitLockedDlg(HWND hwnd, - PGINA_CONTEXT pgContext) +SetLockMessage(HWND hwnd, + INT nDlgItem, + PGINA_CONTEXT pgContext) { WCHAR Buffer1[256]; WCHAR Buffer2[256]; @@ -548,7 +599,153 @@ OnInitLockedDlg(HWND hwnd, wsprintfW(Buffer2, L"%s\\%s", pgContext->Domain, pgContext->UserName); wsprintfW(Buffer3, Buffer1, Buffer2); - SetDlgItemTextW(hwnd, IDC_LOCKMSG, Buffer3); + SetDlgItemTextW(hwnd, nDlgItem, Buffer3); +} + + +static +BOOL +DoUnlock( + IN HWND hwndDlg, + IN PGINA_CONTEXT pgContext, + OUT LPINT Action) +{ + WCHAR Buffer1[256]; + WCHAR Buffer2[256]; + LPWSTR UserName = NULL; + LPWSTR Password = NULL; + BOOL res = FALSE; + + if (GetTextboxText(hwndDlg, IDC_USERNAME, &UserName) && *UserName == '\0') + return FALSE; + + if (GetTextboxText(hwndDlg, IDC_PASSWORD, &Password)) + { + if (UserName != NULL && Password != NULL && + wcscmp(UserName, pgContext->UserName) == 0 && + wcscmp(Password, pgContext->Password) == 0) + { + *Action = WLX_SAS_ACTION_UNLOCK_WKSTA; + res = TRUE; + } + else if (wcscmp(UserName, pgContext->UserName) == 0 && + wcscmp(Password, pgContext->Password) != 0) + { + /* Wrong Password */ + LoadStringW(pgContext->hDllInstance, IDS_LOCKEDWRONGPASSWORD, Buffer2, 256); + LoadStringW(pgContext->hDllInstance, IDS_COMPUTERLOCKED, Buffer1, 256); + MessageBoxW(hwndDlg, Buffer2, Buffer1, MB_OK | MB_ICONERROR); + } + else + { + /* Wrong user name */ + LoadStringW(pgContext->hDllInstance, IDS_LOCKEDWRONGUSER, Buffer1, 256); + wsprintfW(Buffer2, Buffer1, pgContext->Domain, pgContext->UserName); + LoadStringW(pgContext->hDllInstance, IDS_COMPUTERLOCKED, Buffer1, 256); + MessageBoxW(hwndDlg, Buffer2, Buffer1, MB_OK | MB_ICONERROR); + } + } + + if (UserName != NULL) + HeapFree(GetProcessHeap(), 0, UserName); + + if (Password != NULL) + HeapFree(GetProcessHeap(), 0, Password); + + return res; +} + + +static +INT_PTR +CALLBACK +UnlockWindowProc( + IN HWND hwndDlg, + IN UINT uMsg, + IN WPARAM wParam, + IN LPARAM lParam) +{ + PGINA_CONTEXT pgContext; + INT result = WLX_SAS_ACTION_NONE; + + pgContext = (PGINA_CONTEXT)GetWindowLongPtr(hwndDlg, GWL_USERDATA); + + switch (uMsg) + { + case WM_INITDIALOG: + pgContext = (PGINA_CONTEXT)lParam; + SetWindowLongPtr(hwndDlg, GWL_USERDATA, (DWORD_PTR)pgContext); + + SetLockMessage(hwndDlg, IDC_LOCKMSG, pgContext); + + SetDlgItemTextW(hwndDlg, IDC_USERNAME, pgContext->UserName); + SetFocus(GetDlgItem(hwndDlg, IDC_PASSWORD)); + + if (pgContext->bDisableCAD == TRUE) + EnableWindow(GetDlgItem(hwndDlg, IDCANCEL), FALSE); + + pgContext->hBitmap = LoadImage(hDllInstance, MAKEINTRESOURCE(IDI_ROSLOGO), IMAGE_BITMAP, 0, 0, LR_DEFAULTCOLOR); + return TRUE; + + case WM_PAINT: + { + PAINTSTRUCT ps; + HDC hdc; + if (pgContext->hBitmap) + { + hdc = BeginPaint(hwndDlg, &ps); + DrawStateW(hdc, NULL, NULL, (LPARAM)pgContext->hBitmap, (WPARAM)0, 0, 0, 0, 0, DST_BITMAP); + EndPaint(hwndDlg, &ps); + } + return TRUE; + } + case WM_DESTROY: + DeleteObject(pgContext->hBitmap); + return TRUE; + + case WM_COMMAND: + switch (LOWORD(wParam)) + { + case IDOK: + if (DoUnlock(hwndDlg, pgContext, &result)) + EndDialog(hwndDlg, result); + return TRUE; + + case IDCANCEL: + EndDialog(hwndDlg, WLX_SAS_ACTION_NONE); + return TRUE; + } + break; + } + + return FALSE; +} + + +static INT +GUILockedSAS( + IN OUT PGINA_CONTEXT pgContext) +{ + int result; + + TRACE("GUILockedSAS()\n"); + + result = pgContext->pWlxFuncs->WlxDialogBoxParam( + pgContext->hWlx, + pgContext->hDllInstance, + MAKEINTRESOURCEW(IDD_UNLOCK_DLG), + GetDesktopWindow(), + UnlockWindowProc, + (LPARAM)pgContext); + if (result >= WLX_SAS_ACTION_LOGON && + result <= WLX_SAS_ACTION_SWITCH_CONSOLE) + { + WARN("GUILockedSAS() returns 0x%x\n", result); + return result; + } + + WARN("GUILockedSAS() failed (0x%x)\n", result); + return WLX_SAS_ACTION_NONE; } @@ -571,7 +768,7 @@ LockedWindowProc( SetWindowLongPtr(hwndDlg, GWL_USERDATA, (DWORD_PTR)pgContext); pgContext->hBitmap = LoadImage(hDllInstance, MAKEINTRESOURCE(IDI_ROSLOGO), IMAGE_BITMAP, 0, 0, LR_DEFAULTCOLOR); - OnInitLockedDlg(hwndDlg, pgContext); + SetLockMessage(hwndDlg, IDC_LOCKMSG, pgContext); return TRUE; } case WM_PAINT: diff --git a/dll/win32/msgina/lang/bg-BG.rc b/dll/win32/msgina/lang/bg-BG.rc index ef10047e84c..2a048c87129 100644 --- a/dll/win32/msgina/lang/bg-BG.rc +++ b/dll/win32/msgina/lang/bg-BG.rc @@ -100,6 +100,17 @@ BEGIN PUSHBUTTON "Cancel", IDCANCEL, 218, 145, 50, 14 END +IDD_LOGOFF_DLG DIALOGEX 0, 0, 188, 60 +STYLE NOT WS_VISIBLE | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | WS_POPUP +CAPTION "Log Off ReactOS" +FONT 8, "MS Shell Dlg", 400, 0, 1 +BEGIN + ICON IDI_LOCKICON, -1, 7, 7, 20, 20 + LTEXT "Are you sure you want to log off?", IDC_STATIC, 35, 16, 146, 8 + PUSHBUTTON "Yes", IDYES, 41, 39, 50, 14, BS_DEFPUSHBUTTON + PUSHBUTTON "No", IDNO, 95, 39, 50, 14 +END + STRINGTABLE BEGIN IDS_LOGGEDOUTSAS "Здравейте!" @@ -111,4 +122,7 @@ BEGIN IDS_LOCKMSG "Only %s or an Administrator can unlock this computer." IDS_LOGONMSG "You are logged on as %s." IDS_LOGONDATE "Logon date: %s %s" + IDS_COMPUTERLOCKED "Computer locked" + IDS_LOCKEDWRONGPASSWORD "The password is wrong. Please enter your password again. Letters in passwords must be typed using the correct case." + IDS_LOCKEDWRONGUSER "This computer is locked. Only %s\\%s or an Administrator can unlock this computer." END diff --git a/dll/win32/msgina/lang/cs-CZ.rc b/dll/win32/msgina/lang/cs-CZ.rc index 47af2e60b97..54a2468213e 100644 --- a/dll/win32/msgina/lang/cs-CZ.rc +++ b/dll/win32/msgina/lang/cs-CZ.rc @@ -105,6 +105,17 @@ BEGIN PUSHBUTTON "Cancel", IDCANCEL, 218, 145, 50, 14 END +IDD_LOGOFF_DLG DIALOGEX 0, 0, 188, 60 +STYLE NOT WS_VISIBLE | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | WS_POPUP +CAPTION "Log Off ReactOS" +FONT 8, "MS Shell Dlg", 400, 0, 1 +BEGIN + ICON IDI_LOCKICON, -1, 7, 7, 20, 20 + LTEXT "Are you sure you want to log off?", IDC_STATIC, 35, 16, 146, 8 + PUSHBUTTON "Yes", IDYES, 41, 39, 50, 14, BS_DEFPUSHBUTTON + PUSHBUTTON "No", IDNO, 95, 39, 50, 14 +END + STRINGTABLE BEGIN IDS_LOGGEDOUTSAS "Vítejte!" @@ -116,4 +127,7 @@ BEGIN IDS_LOCKMSG "Pouze %s nebo Administrátor může odemknout tento počítač." IDS_LOGONMSG "Jste přihlášeni jako %s." IDS_LOGONDATE "Datum přihlášení: %s %s" + IDS_COMPUTERLOCKED "Computer locked" + IDS_LOCKEDWRONGPASSWORD "The password is wrong. Please enter your password again. Letters in passwords must be typed using the correct case." + IDS_LOCKEDWRONGUSER "This computer is locked. Only %s\\%s or an Administrator can unlock this computer." END diff --git a/dll/win32/msgina/lang/de-DE.rc b/dll/win32/msgina/lang/de-DE.rc index 796b2bde404..f540fff326f 100644 --- a/dll/win32/msgina/lang/de-DE.rc +++ b/dll/win32/msgina/lang/de-DE.rc @@ -44,7 +44,7 @@ BEGIN LTEXT "", IDC_LOGONDATE, 15, 94, 245, 8 CTEXT "Was wollen Sie tun?", IDC_STATIC, 10, 119, 255, 8 PUSHBUTTON "Computer sperren", IDC_LOCK, 10, 135, 76, 14 - PUSHBUTTON "Abmelden", IDC_LOGOFF, 100, 135, 75, 14 + PUSHBUTTON "Abmelden...", IDC_LOGOFF, 100, 135, 75, 14 PUSHBUTTON "Herunterfahren", IDC_SHUTDOWN, 189, 135, 76, 14 PUSHBUTTON "Password ändern", IDC_CHANGEPWD, 10, 154, 76, 14, WS_DISABLED PUSHBUTTON "Task-Manager", IDC_TASKMGR, 100, 154, 75, 14 @@ -100,6 +100,17 @@ BEGIN PUSHBUTTON "Abbrechen", IDCANCEL, 218, 145, 50, 14 END +IDD_LOGOFF_DLG DIALOGEX 0, 0, 188, 60 +STYLE NOT WS_VISIBLE | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | WS_POPUP +CAPTION "Von ReactOS abmelden" +FONT 8, "MS Shell Dlg", 400, 0, 1 +BEGIN + ICON IDI_LOCKICON, -1, 7, 7, 20, 20 + LTEXT "Wollen Sie sich wirklich abmelden?", IDC_STATIC, 35, 16, 146, 8 + PUSHBUTTON "Ja", IDYES, 41, 39, 50, 14, BS_DEFPUSHBUTTON + PUSHBUTTON "Nein", IDNO, 95, 39, 50, 14 +END + STRINGTABLE BEGIN IDS_LOGGEDOUTSAS "Willkommen!" @@ -111,4 +122,7 @@ BEGIN IDS_LOCKMSG "Nur %s oder ein Administrator kann den Computer entsperren." IDS_LOGONMSG "Sie sind angemeldet als %s." IDS_LOGONDATE "Anmeldedatum: %s %s" + IDS_COMPUTERLOCKED "Computer ist gesperrt" + IDS_LOCKEDWRONGPASSWORD "Das Kennwort ist falsch. Bitte geben Sie das Kennwort erneut ein. Bei Buchstaben des Kennworts wird Groß- und Kleinschreibung unterschieden." + IDS_LOCKEDWRONGUSER "Der Computer ist gesperrt. Nur %s\\%s oder ein Administrator kann den Computer entsperren." END diff --git a/dll/win32/msgina/lang/en-US.rc b/dll/win32/msgina/lang/en-US.rc index dcc95803a06..b94d71f53e5 100644 --- a/dll/win32/msgina/lang/en-US.rc +++ b/dll/win32/msgina/lang/en-US.rc @@ -44,9 +44,9 @@ BEGIN LTEXT "", IDC_LOGONDATE, 15, 94, 245, 8 CTEXT "What do you want to do?", IDC_STATIC, 10, 119, 255, 8 PUSHBUTTON "Lock computer", IDC_LOCK, 10, 135, 76, 14 - PUSHBUTTON "Log off", IDC_LOGOFF, 100, 135, 75, 14 + PUSHBUTTON "Log off...", IDC_LOGOFF, 100, 135, 75, 14 PUSHBUTTON "Shutdown", IDC_SHUTDOWN, 189, 135, 76, 14 - PUSHBUTTON "Change Password", IDC_CHANGEPWD, 10, 154, 76, 14, WS_DISABLED + PUSHBUTTON "Change Password", IDC_CHANGEPWD, 10, 154, 76, 14 PUSHBUTTON "Task manager", IDC_TASKMGR, 100, 154, 75, 14 PUSHBUTTON "Cancel", IDCANCEL, 189, 154, 76, 14 END @@ -100,6 +100,17 @@ BEGIN PUSHBUTTON "Cancel", IDCANCEL, 218, 145, 50, 14 END +IDD_LOGOFF_DLG DIALOGEX 0, 0, 188, 60 +STYLE NOT WS_VISIBLE | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | WS_POPUP +CAPTION "Log Off ReactOS" +FONT 8, "MS Shell Dlg", 400, 0, 1 +BEGIN + ICON IDI_LOCKICON, -1, 7, 7, 20, 20 + LTEXT "Are you sure you want to log off?", IDC_STATIC, 35, 16, 146, 8 + PUSHBUTTON "Yes", IDYES, 41, 39, 50, 14, BS_DEFPUSHBUTTON + PUSHBUTTON "No", IDNO, 95, 39, 50, 14 +END + STRINGTABLE BEGIN IDS_LOGGEDOUTSAS "Welcome!" @@ -111,4 +122,7 @@ BEGIN IDS_LOCKMSG "Only %s or an Administrator can unlock this computer." IDS_LOGONMSG "You are logged on as %s." IDS_LOGONDATE "Logon date: %s %s" + IDS_COMPUTERLOCKED "Computer locked" + IDS_LOCKEDWRONGPASSWORD "The password is wrong. Please enter your password again. Letters in passwords must be typed using the correct case." + IDS_LOCKEDWRONGUSER "This computer is locked. Only %s\\%s or an Administrator can unlock this computer." END diff --git a/dll/win32/msgina/lang/es-ES.rc b/dll/win32/msgina/lang/es-ES.rc index dfb3adc22bd..929ebee4461 100644 --- a/dll/win32/msgina/lang/es-ES.rc +++ b/dll/win32/msgina/lang/es-ES.rc @@ -102,6 +102,17 @@ BEGIN PUSHBUTTON "Cancel", IDCANCEL, 218, 145, 50, 14 END +IDD_LOGOFF_DLG DIALOGEX 0, 0, 188, 60 +STYLE NOT WS_VISIBLE | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | WS_POPUP +CAPTION "Log Off ReactOS" +FONT 8, "MS Shell Dlg", 400, 0, 1 +BEGIN + ICON IDI_LOCKICON, -1, 7, 7, 20, 20 + LTEXT "Are you sure you want to log off?", IDC_STATIC, 35, 16, 146, 8 + PUSHBUTTON "Yes", IDYES, 41, 39, 50, 14, BS_DEFPUSHBUTTON + PUSHBUTTON "No", IDNO, 95, 39, 50, 14 +END + STRINGTABLE BEGIN IDS_LOGGEDOUTSAS "¡Bienvenido!" @@ -113,4 +124,7 @@ BEGIN IDS_LOCKMSG "Only %s or an Administrator can unlock this computer." IDS_LOGONMSG "You are logged on as %s." IDS_LOGONDATE "Logon date: %s %s" + IDS_COMPUTERLOCKED "Computer locked" + IDS_LOCKEDWRONGPASSWORD "The password is wrong. Please enter your password again. Letters in passwords must be typed using the correct case." + IDS_LOCKEDWRONGUSER "This computer is locked. Only %s\\%s or an Administrator can unlock this computer." END diff --git a/dll/win32/msgina/lang/fr-FR.rc b/dll/win32/msgina/lang/fr-FR.rc index fe46f12eae9..f0e09b25ab1 100644 --- a/dll/win32/msgina/lang/fr-FR.rc +++ b/dll/win32/msgina/lang/fr-FR.rc @@ -100,6 +100,17 @@ BEGIN PUSHBUTTON "Cancel", IDCANCEL, 218, 145, 50, 14 END +IDD_LOGOFF_DLG DIALOGEX 0, 0, 188, 60 +STYLE NOT WS_VISIBLE | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | WS_POPUP +CAPTION "Log Off ReactOS" +FONT 8, "MS Shell Dlg", 400, 0, 1 +BEGIN + ICON IDI_LOCKICON, -1, 7, 7, 20, 20 + LTEXT "Are you sure you want to log off?", IDC_STATIC, 35, 16, 146, 8 + PUSHBUTTON "Yes", IDYES, 41, 39, 50, 14, BS_DEFPUSHBUTTON + PUSHBUTTON "No", IDNO, 95, 39, 50, 14 +END + STRINGTABLE BEGIN IDS_LOGGEDOUTSAS "Bienvenue!" @@ -111,4 +122,7 @@ BEGIN IDS_LOCKMSG "Seulement %s ou bien un Administrateur peut déverrouiller cet ordinateur." IDS_LOGONMSG "You are logged on as %s." IDS_LOGONDATE "Logon date: %s %s" + IDS_COMPUTERLOCKED "Computer locked" + IDS_LOCKEDWRONGPASSWORD "The password is wrong. Please enter your password again. Letters in passwords must be typed using the correct case." + IDS_LOCKEDWRONGUSER "This computer is locked. Only %s\\%s or an Administrator can unlock this computer." END diff --git a/dll/win32/msgina/lang/he-IL.rc b/dll/win32/msgina/lang/he-IL.rc index cb35229d985..5f59f139ad7 100644 --- a/dll/win32/msgina/lang/he-IL.rc +++ b/dll/win32/msgina/lang/he-IL.rc @@ -100,6 +100,17 @@ BEGIN PUSHBUTTON "Cancel", IDCANCEL, 218, 145, 50, 14 END +IDD_LOGOFF_DLG DIALOGEX 0, 0, 188, 60 +STYLE NOT WS_VISIBLE | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | WS_POPUP +CAPTION "Log Off ReactOS" +FONT 8, "MS Shell Dlg", 400, 0, 1 +BEGIN + ICON IDI_LOCKICON, -1, 7, 7, 20, 20 + LTEXT "Are you sure you want to log off?", IDC_STATIC, 35, 16, 146, 8 + PUSHBUTTON "Yes", IDYES, 41, 39, 50, 14, BS_DEFPUSHBUTTON + PUSHBUTTON "No", IDNO, 95, 39, 50, 14 +END + STRINGTABLE BEGIN IDS_LOGGEDOUTSAS "ברוכים הבאים!" @@ -111,4 +122,7 @@ BEGIN IDS_LOCKMSG "רק %s או מנהל יכולים לשחרר את המחשב הזה." IDS_LOGONMSG "You are logged on as %s." IDS_LOGONDATE "תאריך כניסה: %s %s" + IDS_COMPUTERLOCKED "Computer locked" + IDS_LOCKEDWRONGPASSWORD "The password is wrong. Please enter your password again. Letters in passwords must be typed using the correct case." + IDS_LOCKEDWRONGUSER "This computer is locked. Only %s\\%s or an Administrator can unlock this computer." END diff --git a/dll/win32/msgina/lang/id-ID.rc b/dll/win32/msgina/lang/id-ID.rc index 8dd8c874075..924a0aebdf0 100644 --- a/dll/win32/msgina/lang/id-ID.rc +++ b/dll/win32/msgina/lang/id-ID.rc @@ -100,6 +100,17 @@ BEGIN PUSHBUTTON "Cancel", IDCANCEL, 218, 145, 50, 14 END +IDD_LOGOFF_DLG DIALOGEX 0, 0, 188, 60 +STYLE NOT WS_VISIBLE | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | WS_POPUP +CAPTION "Log Off ReactOS" +FONT 8, "MS Shell Dlg", 400, 0, 1 +BEGIN + ICON IDI_LOCKICON, -1, 7, 7, 20, 20 + LTEXT "Are you sure you want to log off?", IDC_STATIC, 35, 16, 146, 8 + PUSHBUTTON "Yes", IDYES, 41, 39, 50, 14, BS_DEFPUSHBUTTON + PUSHBUTTON "No", IDNO, 95, 39, 50, 14 +END + STRINGTABLE BEGIN IDS_LOGGEDOUTSAS "Selamat datang!" @@ -110,4 +121,7 @@ BEGIN IDS_FORCELOGOFF "Ini akan mengeluarkan pengguna saat ini dan kehilangan data yang belum disimpan. Lanjutkan?" IDS_LOCKMSG "Only %s or an Administrator can unlock this computer." IDS_LOGONDATE "Logon date: %s %s" + IDS_COMPUTERLOCKED "Computer locked" + IDS_LOCKEDWRONGPASSWORD "The password is wrong. Please enter your password again. Letters in passwords must be typed using the correct case." + IDS_LOCKEDWRONGUSER "This computer is locked. Only %s\\%s or an Administrator can unlock this computer." END diff --git a/dll/win32/msgina/lang/it-IT.rc b/dll/win32/msgina/lang/it-IT.rc index e227ae3f0e7..19596a1b9b7 100644 --- a/dll/win32/msgina/lang/it-IT.rc +++ b/dll/win32/msgina/lang/it-IT.rc @@ -108,6 +108,17 @@ BEGIN PUSHBUTTON "Cancella", IDCANCEL, 218, 145, 50, 14 END +IDD_LOGOFF_DLG DIALOGEX 0, 0, 188, 60 +STYLE NOT WS_VISIBLE | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | WS_POPUP +CAPTION "Log Off ReactOS" +FONT 8, "MS Shell Dlg", 400, 0, 1 +BEGIN + ICON IDI_LOCKICON, -1, 7, 7, 20, 20 + LTEXT "Are you sure you want to log off?", IDC_STATIC, 35, 16, 146, 8 + PUSHBUTTON "Yes", IDYES, 41, 39, 50, 14, BS_DEFPUSHBUTTON + PUSHBUTTON "No", IDNO, 95, 39, 50, 14 +END + STRINGTABLE BEGIN IDS_LOGGEDOUTSAS "Benvenuti!" @@ -119,4 +130,7 @@ BEGIN IDS_LOCKMSG "Solo %s o un Amministratore possono sbloccare questo computer." IDS_LOGONMSG "You are logged on as %s." IDS_LOGONDATE "Dati di accesso: %s %s" + IDS_COMPUTERLOCKED "Computer locked" + IDS_LOCKEDWRONGPASSWORD "The password is wrong. Please enter your password again. Letters in passwords must be typed using the correct case." + IDS_LOCKEDWRONGUSER "This computer is locked. Only %s\\%s or an Administrator can unlock this computer." END diff --git a/dll/win32/msgina/lang/ja-JP.rc b/dll/win32/msgina/lang/ja-JP.rc index 9c5b1049d37..023ed6cd546 100644 --- a/dll/win32/msgina/lang/ja-JP.rc +++ b/dll/win32/msgina/lang/ja-JP.rc @@ -100,6 +100,17 @@ BEGIN PUSHBUTTON "Cancel", IDCANCEL, 218, 145, 50, 14 END +IDD_LOGOFF_DLG DIALOGEX 0, 0, 188, 60 +STYLE NOT WS_VISIBLE | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | WS_POPUP +CAPTION "Log Off ReactOS" +FONT 8, "MS Shell Dlg", 400, 0, 1 +BEGIN + ICON IDI_LOCKICON, -1, 7, 7, 20, 20 + LTEXT "Are you sure you want to log off?", IDC_STATIC, 35, 16, 146, 8 + PUSHBUTTON "Yes", IDYES, 41, 39, 50, 14, BS_DEFPUSHBUTTON + PUSHBUTTON "No", IDNO, 95, 39, 50, 14 +END + STRINGTABLE BEGIN IDS_LOGGEDOUTSAS "ようこそ!" @@ -111,4 +122,7 @@ BEGIN IDS_LOCKMSG "Only %s or an Administrator can unlock this computer." IDS_LOGONMSG "You are logged on as %s." IDS_LOGONDATE "Logon date: %s %s" + IDS_COMPUTERLOCKED "Computer locked" + IDS_LOCKEDWRONGPASSWORD "The password is wrong. Please enter your password again. Letters in passwords must be typed using the correct case." + IDS_LOCKEDWRONGUSER "This computer is locked. Only %s\\%s or an Administrator can unlock this computer." END diff --git a/dll/win32/msgina/lang/no-NO.rc b/dll/win32/msgina/lang/no-NO.rc index 637fd2355c7..1bf186511bf 100644 --- a/dll/win32/msgina/lang/no-NO.rc +++ b/dll/win32/msgina/lang/no-NO.rc @@ -100,6 +100,17 @@ BEGIN PUSHBUTTON "Cancel", IDCANCEL, 218, 145, 50, 14 END +IDD_LOGOFF_DLG DIALOGEX 0, 0, 188, 60 +STYLE NOT WS_VISIBLE | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | WS_POPUP +CAPTION "Log Off ReactOS" +FONT 8, "MS Shell Dlg", 400, 0, 1 +BEGIN + ICON IDI_LOCKICON, -1, 7, 7, 20, 20 + LTEXT "Are you sure you want to log off?", IDC_STATIC, 35, 16, 146, 8 + PUSHBUTTON "Yes", IDYES, 41, 39, 50, 14, BS_DEFPUSHBUTTON + PUSHBUTTON "No", IDNO, 95, 39, 50, 14 +END + STRINGTABLE BEGIN IDS_LOGGEDOUTSAS "Velkommen!" @@ -111,4 +122,7 @@ BEGIN IDS_LOCKMSG "Only %s or an Administrator can unlock this computer." IDS_LOGONMSG "You are logged on as %s." IDS_LOGONDATE "Logon date: %s %s" + IDS_COMPUTERLOCKED "Computer locked" + IDS_LOCKEDWRONGPASSWORD "The password is wrong. Please enter your password again. Letters in passwords must be typed using the correct case." + IDS_LOCKEDWRONGUSER "This computer is locked. Only %s\\%s or an Administrator can unlock this computer." END diff --git a/dll/win32/msgina/lang/pl-PL.rc b/dll/win32/msgina/lang/pl-PL.rc index 6b0bec861a6..1722f8579d6 100644 --- a/dll/win32/msgina/lang/pl-PL.rc +++ b/dll/win32/msgina/lang/pl-PL.rc @@ -3,6 +3,7 @@ * testament@users.sourceforge.net * https://sourceforge.net/projects/reactospl * UTF-8 conversion by Caemyr (May, 2011) + * Updated by Saibamen - Adam Stachowicz (saibamenppl@gmail.com) (November, 2013) */ @@ -28,7 +29,7 @@ END IDD_LOGGEDOUT_DLG DIALOGEX 0, 0, 275, 147 STYLE NOT WS_VISIBLE | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_POPUP -CAPTION "Logon" +CAPTION "Logowanie" FONT 8, "MS Shell Dlg", 400, 0, 1 BEGIN CONTROL IDI_ROSLOGO, IDC_ROSLOGO, "Static", SS_BITMAP, 0, 0, 275, 54 @@ -47,14 +48,14 @@ CAPTION "Bezpieczeństwo" FONT 8, "MS Shell Dlg", 400, 0, 1 BEGIN CONTROL IDI_ROSLOGO, IDC_ROSLOGO, "Static", SS_BITMAP, 0, 0, 275, 54 - GROUPBOX "Logon Information", IDC_STATIC, 7, 61, 261, 52 + GROUPBOX "Informacje o logowaniu", IDC_STATIC, 7, 61, 261, 52 LTEXT "", IDC_LOGONMSG, 15, 73, 245, 18 LTEXT "", IDC_LOGONDATE, 15, 94, 245, 8 CTEXT "Co chcesz teraz zrobić?", IDC_STATIC, 10, 119, 255, 8 PUSHBUTTON "Blokada komputera", IDC_LOCK, 10, 135, 70, 14 PUSHBUTTON "Wyloguj", IDC_LOGOFF, 90, 135, 70, 14 PUSHBUTTON "Wyłącz", IDC_SHUTDOWN, 170, 135, 70, 14 - PUSHBUTTON "Change Password", IDC_CHANGEPWD, 10, 154, 76, 14, WS_DISABLED + PUSHBUTTON "Zmień hasło", IDC_CHANGEPWD, 10, 154, 76, 14, WS_DISABLED PUSHBUTTON "Menedżer zadań", IDC_TASKMGR, 90, 154, 70, 14 PUSHBUTTON "Anuluj", IDCANCEL, 170, 154, 70, 14 END @@ -90,22 +91,33 @@ END IDD_CHANGE_PASSWORD DIALOGEX 0, 0, 275, 166 STYLE NOT WS_VISIBLE | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_POPUP -CAPTION "Change Password" +CAPTION "Zmień hasło" FONT 8, "MS Shell Dlg", 400, 0, 1 BEGIN CONTROL IDI_ROSLOGO, IDC_ROSLOGO, "Static", SS_BITMAP, 0, 0, 275, 54 - LTEXT "User name:", IDC_STATIC, 7, 61, 78, 8 + LTEXT "Nazwa użytkownika:", IDC_STATIC, 7, 61, 78, 8 EDITTEXT IDC_CHANGEPWD_USERNAME, 90, 59, 127, 12, ES_AUTOHSCROLL - LTEXT "Log on to:", IDC_STATIC, 7, 78, 78, 8 + LTEXT "Zaloguj się do:", IDC_STATIC, 7, 78, 78, 8 COMBOBOX IDC_CHANGEPWD_DOMAIN, 90, 75, 127, 144, CBS_DROPDOWNLIST | CBS_SORT - LTEXT "Old Password:", IDC_STATIC, 7, 95, 78, 8 + LTEXT "Stare hasło:", IDC_STATIC, 7, 95, 78, 8 EDITTEXT IDC_CHANGEPWD_OLDPWD, 90, 92, 127, 12, ES_AUTOHSCROLL | ES_PASSWORD - LTEXT "New Password:", IDC_STATIC, 7, 111, 78, 8 + LTEXT "Nowe hasło:", IDC_STATIC, 7, 111, 78, 8 EDITTEXT IDC_CHANGEPWD_NEWPWD1, 90, 109, 127, 12, ES_AUTOHSCROLL | ES_PASSWORD - LTEXT "Confirm new Password:", IDC_STATIC, 7, 127, 78, 8 + LTEXT "Potwierdź hasło:", IDC_STATIC, 7, 127, 78, 8 EDITTEXT IDC_CHANGEPWD_NEWPWD2, 90, 125, 127, 12, ES_AUTOHSCROLL | ES_PASSWORD PUSHBUTTON "OK", IDOK, 164, 145, 50, 14, BS_DEFPUSHBUTTON - PUSHBUTTON "Cancel", IDCANCEL, 218, 145, 50, 14 + PUSHBUTTON "Anuluj", IDCANCEL, 218, 145, 50, 14 +END + +IDD_LOGOFF_DLG DIALOGEX 0, 0, 188, 60 +STYLE NOT WS_VISIBLE | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | WS_POPUP +CAPTION "Log Off ReactOS" +FONT 8, "MS Shell Dlg", 400, 0, 1 +BEGIN + ICON IDI_LOCKICON, -1, 7, 7, 20, 20 + LTEXT "Are you sure you want to log off?", IDC_STATIC, 35, 16, 146, 8 + PUSHBUTTON "Yes", IDYES, 41, 39, 50, 14, BS_DEFPUSHBUTTON + PUSHBUTTON "No", IDNO, 95, 39, 50, 14 END STRINGTABLE @@ -116,7 +128,10 @@ BEGIN IDS_ASKFORUSER "Nazwa użytkownika: " IDS_ASKFORPASSWORD "Hasło: " IDS_FORCELOGOFF "To wyloguje aktualnego użytkownika i straci on wszystkie niezapisane dane. Kontynuować?" - IDS_LOCKMSG "Only %s or an Administrator can unlock this computer." - IDS_LOGONMSG "You are logged on as %s." + IDS_LOCKMSG "Tylko %s lub Administrator może odblokować ten komputer." + IDS_LOGONMSG "Jesteś zalogowany jako %s." IDS_LOGONDATE "Data logowania: %s %s" + IDS_COMPUTERLOCKED "Computer locked" + IDS_LOCKEDWRONGPASSWORD "The password is wrong. Please enter your password again. Letters in passwords must be typed using the correct case." + IDS_LOCKEDWRONGUSER "This computer is locked. Only %s\\%s or an Administrator can unlock this computer." END diff --git a/dll/win32/msgina/lang/ro-RO.rc b/dll/win32/msgina/lang/ro-RO.rc index 6e9eb96e15f..2624eeb335d 100644 --- a/dll/win32/msgina/lang/ro-RO.rc +++ b/dll/win32/msgina/lang/ro-RO.rc @@ -1,4 +1,4 @@ -/* 2011.12.10 - Fulea Ștefan: minor changes (corrections) */ +/* Ștefan Fulea (stefan dot fulea at mail dot md) */ LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL @@ -17,7 +17,7 @@ CAPTION "Bun venit în ReactOS" FONT 8, "MS Shell Dlg", 400, 0, 1 BEGIN ICON IDI_LOCKICON, -1, 7, 5, 32, 32 - LTEXT "Apasați combinația de taste «Ctrl»+«Alt»+«Del»", IDC_STATIC, 38, 10, 144, 14 + LTEXT "Apasați simultan «Ctrl»+«Alt»+«Del»", IDC_STATIC, 38, 10, 144, 14 END IDD_LOGGEDOUT_DLG DIALOGEX 0, 0, 275, 147 @@ -28,7 +28,7 @@ BEGIN CONTROL IDI_ROSLOGO, IDC_ROSLOGO, "Static", SS_BITMAP, 0, 0, 275, 54 LTEXT "Nume utilizator:", IDC_STATIC, 36, 75, 40, 8 EDITTEXT IDC_USERNAME, 84, 72, 119, 14, ES_AUTOHSCROLL - LTEXT "Parolă:", IDC_STATIC, 36, 93, 42, 8 + LTEXT "Parola:", IDC_STATIC, 36, 93, 42, 8 EDITTEXT IDC_PASSWORD, 84, 91, 119, 14, ES_AUTOHSCROLL | ES_PASSWORD PUSHBUTTON "Con&firmă", IDOK, 51, 122, 50, 14, BS_DEFPUSHBUTTON PUSHBUTTON "A&nulează", IDCANCEL, 115, 122, 50, 14 @@ -41,65 +41,76 @@ CAPTION "Securitate" FONT 8, "MS Shell Dlg", 400, 0, 1 BEGIN CONTROL IDI_ROSLOGO, IDC_ROSLOGO, "Static", SS_BITMAP, 0, 0, 275, 54 - GROUPBOX "Logon Information", IDC_STATIC, 7, 61, 261, 52 - LTEXT "", IDC_LOGONMSG, 15, 73, 245, 18 - LTEXT "", IDC_LOGONDATE, 15, 94, 245, 8 + GROUPBOX "Informații de autentificare", IDC_STATIC, 7, 61, 261, 52 + LTEXT "", IDC_LOGONMSG, 15, 73, 245, 18 + LTEXT "", IDC_LOGONDATE, 15, 94, 245, 8 CTEXT "Ce acțiune preferați?", IDC_STATIC, 10, 119, 255, 8 PUSHBUTTON "&Blochează calculatorul", IDC_LOCK, 10, 135, 70, 14 PUSHBUTTON "&Deautentifică-mă", IDC_LOGOFF, 90, 135, 70, 14 - PUSHBUTTON "Închid&ere calculatorul", IDC_SHUTDOWN, 170, 135, 70, 14 - PUSHBUTTON "Change Password", IDC_CHANGEPWD, 10, 154, 76, 14, WS_DISABLED - PUSHBUTTON "Gestionar de &activități", IDC_TASKMGR, 90, 154, 70, 14 + PUSHBUTTON "Închid&e calculatorul", IDC_SHUTDOWN, 170, 135, 70, 14 + PUSHBUTTON "Schim&bă parola", IDC_CHANGEPWD, 10, 154, 76, 14, WS_DISABLED + PUSHBUTTON "&Gestionar de activități…", IDC_TASKMGR, 90, 154, 70, 14 PUSHBUTTON "A&nulează", IDCANCEL, 170, 154, 70, 14 END IDD_LOCKED_DLG DIALOGEX 0, 0, 275, 121 STYLE NOT WS_VISIBLE | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_POPUP -CAPTION "Computer Locked" +CAPTION "Calculator blocat" FONT 8, "MS Shell Dlg", 400, 0, 1 BEGIN CONTROL IDI_ROSLOGO, IDC_ROSLOGO, "Static", SS_BITMAP, 0, 0, 275, 54 ICON IDI_LOCKICON, -1, 7, 59, 20, 20 - LTEXT "This computer is in use and has been locked.", IDC_STATIC, 36, 61, 232, 8 - LTEXT "Message", IDC_LOCKMSG, 37, 75, 231, 26 - LTEXT "Press Ctrl-Alt-Del to unlock this computer.", IDC_STATIC, 36, 106, 232, 8 + LTEXT "Acest calculator este în uz și a fost blocat.", IDC_STATIC, 36, 61, 232, 8 + LTEXT "Mesaj", IDC_LOCKMSG, 37, 75, 231, 26 + LTEXT "Apăsați simultan «Ctrl»+«Alt»+«Del» pentru a debloca acest calculator.", IDC_STATIC, 36, 106, 232, 8 END IDD_UNLOCK_DLG DIALOGEX 0, 0, 275, 179 STYLE NOT WS_VISIBLE | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_POPUP -CAPTION "Unlock Computer" +CAPTION "Deblocare calculator" FONT 8, "MS Shell Dlg", 400, 0, 1 BEGIN CONTROL IDI_ROSLOGO, IDC_ROSLOGO, "Static", SS_BITMAP, 0, 0, 275, 54 ICON IDI_LOCKICON, -1, 7, 59, 20, 20 - LTEXT "This computer is in use and has been locked.", IDC_STATIC, 36, 61, 232, 8 - LTEXT "Message", IDC_LOCKMSG, 36, 75, 232, 26 - LTEXT "User name:", IDC_STATIC, 36, 107, 40, 8 + LTEXT "Acest calculator este în uz și a fost blocat.", IDC_STATIC, 36, 61, 232, 8 + LTEXT "Mesaj", IDC_LOCKMSG, 36, 75, 232, 26 + LTEXT "Nume utilizator:", IDC_STATIC, 36, 107, 40, 8 EDITTEXT IDC_USERNAME, 84, 104, 119, 14, ES_AUTOHSCROLL - LTEXT "Password:", IDC_STATIC, 36, 125, 42, 8 + LTEXT "Parola:", IDC_STATIC, 36, 125, 42, 8 EDITTEXT IDC_PASSWORD, 84, 123, 119, 14, ES_AUTOHSCROLL | ES_PASSWORD - PUSHBUTTON "OK", IDOK, 80, 154, 50, 14, BS_DEFPUSHBUTTON - PUSHBUTTON "Cancel", IDCANCEL, 144, 154, 50, 14 + PUSHBUTTON "Con&firmă", IDOK, 80, 154, 50, 14, BS_DEFPUSHBUTTON + PUSHBUTTON "A&nulează", IDCANCEL, 144, 154, 50, 14 END IDD_CHANGE_PASSWORD DIALOGEX 0, 0, 275, 166 STYLE NOT WS_VISIBLE | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_POPUP -CAPTION "Change Password" +CAPTION "Schimbare parolă" FONT 8, "MS Shell Dlg", 400, 0, 1 BEGIN CONTROL IDI_ROSLOGO, IDC_ROSLOGO, "Static", SS_BITMAP, 0, 0, 275, 54 - LTEXT "User name:", IDC_STATIC, 7, 61, 78, 8 + LTEXT "Nume utilizator:", IDC_STATIC, 7, 61, 78, 8 EDITTEXT IDC_CHANGEPWD_USERNAME, 90, 59, 127, 12, ES_AUTOHSCROLL - LTEXT "Log on to:", IDC_STATIC, 7, 78, 78, 8 + LTEXT "Autentificat pe:", IDC_STATIC, 7, 78, 78, 8 COMBOBOX IDC_CHANGEPWD_DOMAIN, 90, 75, 127, 144, CBS_DROPDOWNLIST | CBS_SORT - LTEXT "Old Password:", IDC_STATIC, 7, 95, 78, 8 + LTEXT "Parola veche:", IDC_STATIC, 7, 95, 78, 8 EDITTEXT IDC_CHANGEPWD_OLDPWD, 90, 92, 127, 12, ES_AUTOHSCROLL | ES_PASSWORD - LTEXT "New Password:", IDC_STATIC, 7, 111, 78, 8 + LTEXT "Parola nouă:", IDC_STATIC, 7, 111, 78, 8 EDITTEXT IDC_CHANGEPWD_NEWPWD1, 90, 109, 127, 12, ES_AUTOHSCROLL | ES_PASSWORD - LTEXT "Confirm new Password:", IDC_STATIC, 7, 127, 78, 8 + LTEXT "Confirmați parola:", IDC_STATIC, 7, 127, 78, 8 EDITTEXT IDC_CHANGEPWD_NEWPWD2, 90, 125, 127, 12, ES_AUTOHSCROLL | ES_PASSWORD - PUSHBUTTON "OK", IDOK, 164, 145, 50, 14, BS_DEFPUSHBUTTON - PUSHBUTTON "Cancel", IDCANCEL, 218, 145, 50, 14 + PUSHBUTTON "Con&firmă", IDOK, 164, 145, 50, 14, BS_DEFPUSHBUTTON + PUSHBUTTON "A&nulează", IDCANCEL, 218, 145, 50, 14 +END + +IDD_LOGOFF_DLG DIALOGEX 0, 0, 188, 60 +STYLE NOT WS_VISIBLE | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | WS_POPUP +CAPTION "Deautentificare ReactOS" +FONT 8, "MS Shell Dlg", 400, 0, 1 +BEGIN + ICON IDI_LOCKICON, -1, 7, 7, 20, 20 + LTEXT "Sigur doriți să vă deautentificați?", IDC_STATIC, 35, 16, 146, 8 + PUSHBUTTON "&Da", IDYES, 41, 39, 50, 14, BS_DEFPUSHBUTTON + PUSHBUTTON "N&u", IDNO, 95, 39, 50, 14 END STRINGTABLE @@ -108,9 +119,12 @@ BEGIN IDS_LOCKEDSAS "Momentan calculatorul este blocat." IDS_PRESSCTRLALTDELETE "Pentru autentificare, apăsați «Ctrl»+«Alt»+«Del»." IDS_ASKFORUSER "Nume utilizator: " - IDS_ASKFORPASSWORD "Parolă: " + IDS_ASKFORPASSWORD "Parola: " IDS_FORCELOGOFF "Această acțiune va deautentifica utilizatorului curent cu posibile pierderi ale datelor nepăstrate. Continuați?" - IDS_LOCKMSG "Only %s or an Administrator can unlock this computer." - IDS_LOGONMSG "You are logged on as %s." - IDS_LOGONDATE "Logon date: %s %s" + IDS_LOCKMSG "Doar %s sau un Administrator poate debloca acest calculator." + IDS_LOGONMSG "Sunteți autentificat ca %s." + IDS_LOGONDATE "Data autentificării: %s %s" + IDS_COMPUTERLOCKED "Computer locked" + IDS_LOCKEDWRONGPASSWORD "The password is wrong. Please enter your password again. Letters in passwords must be typed using the correct case." + IDS_LOCKEDWRONGUSER "This computer is locked. Only %s\\%s or an Administrator can unlock this computer." END diff --git a/dll/win32/msgina/lang/ru-RU.rc b/dll/win32/msgina/lang/ru-RU.rc index fcc281c052e..eaba616da25 100644 --- a/dll/win32/msgina/lang/ru-RU.rc +++ b/dll/win32/msgina/lang/ru-RU.rc @@ -102,6 +102,17 @@ BEGIN PUSHBUTTON "Cancel", IDCANCEL, 218, 145, 50, 14 END +IDD_LOGOFF_DLG DIALOGEX 0, 0, 188, 60 +STYLE NOT WS_VISIBLE | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | WS_POPUP +CAPTION "Log Off ReactOS" +FONT 8, "MS Shell Dlg", 400, 0, 1 +BEGIN + ICON IDI_LOCKICON, -1, 7, 7, 20, 20 + LTEXT "Are you sure you want to log off?", IDC_STATIC, 35, 16, 146, 8 + PUSHBUTTON "Yes", IDYES, 41, 39, 50, 14, BS_DEFPUSHBUTTON + PUSHBUTTON "No", IDNO, 95, 39, 50, 14 +END + STRINGTABLE BEGIN IDS_LOGGEDOUTSAS "Добро пожаловать!" @@ -113,4 +124,7 @@ BEGIN IDS_LOCKMSG "Только %s или Администратор могут разблокировать этот компьютер." IDS_LOGONMSG "You are logged on as %s." IDS_LOGONDATE "Дата входа: %s %s" + IDS_COMPUTERLOCKED "Computer locked" + IDS_LOCKEDWRONGPASSWORD "The password is wrong. Please enter your password again. Letters in passwords must be typed using the correct case." + IDS_LOCKEDWRONGUSER "This computer is locked. Only %s\\%s or an Administrator can unlock this computer." END diff --git a/dll/win32/msgina/lang/sk-SK.rc b/dll/win32/msgina/lang/sk-SK.rc index 0c4bb83ab72..6956d1bf68a 100644 --- a/dll/win32/msgina/lang/sk-SK.rc +++ b/dll/win32/msgina/lang/sk-SK.rc @@ -105,6 +105,17 @@ BEGIN PUSHBUTTON "Cancel", IDCANCEL, 218, 145, 50, 14 END +IDD_LOGOFF_DLG DIALOGEX 0, 0, 188, 60 +STYLE NOT WS_VISIBLE | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | WS_POPUP +CAPTION "Log Off ReactOS" +FONT 8, "MS Shell Dlg", 400, 0, 1 +BEGIN + ICON IDI_LOCKICON, -1, 7, 7, 20, 20 + LTEXT "Are you sure you want to log off?", IDC_STATIC, 35, 16, 146, 8 + PUSHBUTTON "Yes", IDYES, 41, 39, 50, 14, BS_DEFPUSHBUTTON + PUSHBUTTON "No", IDNO, 95, 39, 50, 14 +END + STRINGTABLE BEGIN IDS_LOGGEDOUTSAS "Vitajte!" @@ -116,4 +127,7 @@ BEGIN IDS_LOCKMSG "Only %s or an Administrator can unlock this computer." IDS_LOGONMSG "You are logged on as %s." IDS_LOGONDATE "Logon date: %s %s" + IDS_COMPUTERLOCKED "Computer locked" + IDS_LOCKEDWRONGPASSWORD "The password is wrong. Please enter your password again. Letters in passwords must be typed using the correct case." + IDS_LOCKEDWRONGUSER "This computer is locked. Only %s\\%s or an Administrator can unlock this computer." END diff --git a/dll/win32/msgina/lang/tr-TR.rc b/dll/win32/msgina/lang/tr-TR.rc index 62d5856f207..ba61e2740ce 100644 --- a/dll/win32/msgina/lang/tr-TR.rc +++ b/dll/win32/msgina/lang/tr-TR.rc @@ -102,6 +102,17 @@ BEGIN PUSHBUTTON "İptal", IDCANCEL, 218, 145, 50, 14 END +IDD_LOGOFF_DLG DIALOGEX 0, 0, 188, 60 +STYLE NOT WS_VISIBLE | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | WS_POPUP +CAPTION "Log Off ReactOS" +FONT 8, "MS Shell Dlg", 400, 0, 1 +BEGIN + ICON IDI_LOCKICON, -1, 7, 7, 20, 20 + LTEXT "Are you sure you want to log off?", IDC_STATIC, 35, 16, 146, 8 + PUSHBUTTON "Yes", IDYES, 41, 39, 50, 14, BS_DEFPUSHBUTTON + PUSHBUTTON "No", IDNO, 95, 39, 50, 14 +END + STRINGTABLE BEGIN IDS_LOGGEDOUTSAS "Hoşgeldiniz!" @@ -113,4 +124,7 @@ BEGIN IDS_LOCKMSG "Yalnızca %s ve bir yönetici bu bilgisayarı kilitleyebilir." IDS_LOGONMSG "%s olarak oturum açtınız." IDS_LOGONDATE "Oturum Açma Zamânı: %s %s" + IDS_COMPUTERLOCKED "Computer locked" + IDS_LOCKEDWRONGPASSWORD "The password is wrong. Please enter your password again. Letters in passwords must be typed using the correct case." + IDS_LOCKEDWRONGUSER "This computer is locked. Only %s\\%s or an Administrator can unlock this computer." END diff --git a/dll/win32/msgina/lang/uk-UA.rc b/dll/win32/msgina/lang/uk-UA.rc index 814d37f4f70..2d386342660 100644 --- a/dll/win32/msgina/lang/uk-UA.rc +++ b/dll/win32/msgina/lang/uk-UA.rc @@ -108,6 +108,17 @@ BEGIN PUSHBUTTON "Cancel", IDCANCEL, 218, 145, 50, 14 END +IDD_LOGOFF_DLG DIALOGEX 0, 0, 188, 60 +STYLE NOT WS_VISIBLE | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | WS_POPUP +CAPTION "Log Off ReactOS" +FONT 8, "MS Shell Dlg", 400, 0, 1 +BEGIN + ICON IDI_LOCKICON, -1, 7, 7, 20, 20 + LTEXT "Are you sure you want to log off?", IDC_STATIC, 35, 16, 146, 8 + PUSHBUTTON "Yes", IDYES, 41, 39, 50, 14, BS_DEFPUSHBUTTON + PUSHBUTTON "No", IDNO, 95, 39, 50, 14 +END + STRINGTABLE BEGIN IDS_LOGGEDOUTSAS "Ласкаво просимо!" @@ -119,4 +130,7 @@ BEGIN IDS_LOCKMSG "Only %s or an Administrator can unlock this computer." IDS_LOGONMSG "You are logged on as %s." IDS_LOGONDATE "Logon date: %s %s" + IDS_COMPUTERLOCKED "Computer locked" + IDS_LOCKEDWRONGPASSWORD "The password is wrong. Please enter your password again. Letters in passwords must be typed using the correct case." + IDS_LOCKEDWRONGUSER "This computer is locked. Only %s\\%s or an Administrator can unlock this computer." END diff --git a/dll/win32/msgina/msgina.c b/dll/win32/msgina/msgina.c index c45dbbcd832..8a9ed4355f8 100644 --- a/dll/win32/msgina/msgina.c +++ b/dll/win32/msgina/msgina.c @@ -86,6 +86,28 @@ ReadRegSzKey( return ERROR_SUCCESS; } +static LONG +ReadRegDwordKey( + IN HKEY hKey, + IN LPCWSTR pszKey, + OUT LPDWORD pValue) +{ + LONG rc; + DWORD dwType; + DWORD cbData; + DWORD dwValue; + + if (!pValue) + return ERROR_INVALID_PARAMETER; + + cbData = sizeof(DWORD); + rc = RegQueryValueExW(hKey, pszKey, NULL, &dwType, (LPBYTE)&dwValue, &cbData); + if (rc == ERROR_SUCCESS && dwType == REG_DWORD) + *pValue = dwValue; + + return ERROR_SUCCESS; +} + static VOID ChooseGinaUI(VOID) { @@ -133,6 +155,103 @@ cleanup: HeapFree(GetProcessHeap(), 0, SystemStartOptions); } + +static +BOOL +GetRegistrySettings(PGINA_CONTEXT pgContext) +{ + HKEY hKey = NULL; + LPWSTR lpAutoAdminLogon = NULL; + LPWSTR lpDontDisplayLastUserName = NULL; + LPWSTR lpShutdownWithoutLogon = NULL; + DWORD dwDisableCAD = 0; + DWORD dwSize; + LONG rc; + + rc = RegOpenKeyExW(HKEY_LOCAL_MACHINE, + L"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon", + 0, + KEY_QUERY_VALUE, + &hKey); + if (rc != ERROR_SUCCESS) + { + WARN("RegOpenKeyExW() failed with error %lu\n", rc); + return FALSE; + } + + rc = ReadRegSzKey(hKey, + L"AutoAdminLogon", + &lpAutoAdminLogon); + if (rc == ERROR_SUCCESS) + { + if (wcscmp(lpAutoAdminLogon, L"1") == 0) + pgContext->bAutoAdminLogon = TRUE; + } + + TRACE("bAutoAdminLogon: %s\n", pgContext->bAutoAdminLogon ? "TRUE" : "FALSE"); + + rc = ReadRegDwordKey(hKey, + L"DisableCAD", + &dwDisableCAD); + if (rc == ERROR_SUCCESS) + { + if (dwDisableCAD != 0) + pgContext->bDisableCAD = TRUE; + } + + TRACE("bDisableCAD: %s\n", pgContext->bDisableCAD ? "TRUE" : "FALSE"); + + pgContext->bShutdownWithoutLogon = TRUE; + rc = ReadRegSzKey(hKey, + L"ShutdownWithoutLogon", + &lpShutdownWithoutLogon); + if (rc == ERROR_SUCCESS) + { + if (wcscmp(lpShutdownWithoutLogon, L"0") == 0) + pgContext->bShutdownWithoutLogon = FALSE; + } + + rc = ReadRegSzKey(hKey, + L"DontDisplayLastUserName", + &lpDontDisplayLastUserName); + if (rc == ERROR_SUCCESS) + { + if (wcscmp(lpDontDisplayLastUserName, L"1") == 0) + pgContext->bDontDisplayLastUserName = TRUE; + } + + dwSize = 256 * sizeof(WCHAR); + rc = RegQueryValueExW(hKey, + L"DefaultUserName", + NULL, + NULL, + (LPBYTE)&pgContext->UserName, + &dwSize); + + dwSize = 256 * sizeof(WCHAR); + rc = RegQueryValueExW(hKey, + L"DefaultDomainName", + NULL, + NULL, + (LPBYTE)&pgContext->Domain, + &dwSize); + + if (lpShutdownWithoutLogon != NULL) + HeapFree(GetProcessHeap(), 0, lpShutdownWithoutLogon); + + if (lpDontDisplayLastUserName != NULL) + HeapFree(GetProcessHeap(), 0, lpDontDisplayLastUserName); + + if (lpAutoAdminLogon != NULL) + HeapFree(GetProcessHeap(), 0, lpAutoAdminLogon); + + if (hKey != NULL) + RegCloseKey(hKey); + + return TRUE; +} + + /* * @implemented */ @@ -155,6 +274,13 @@ WlxInitialize( return FALSE; } + if (!GetRegistrySettings(pgContext)) + { + WARN("GetRegistrySettings() failed\n"); + LocalFree(pgContext); + return FALSE; + } + /* Return the context to winlogon */ *pWlxContext = (PVOID)pgContext; pgContext->hDllInstance = hDllInstance; @@ -572,6 +698,47 @@ cleanup: return FALSE; } +#if 0 +static +BOOL +CheckAutoAdminLogon( + IN PGINA_CONTEXT pgContext) +{ + HKEY WinLogonKey = NULL; + LPWSTR AutoLogon = NULL; + BOOL result = FALSE; + LONG rc; + + if (pgContext->AutoLogonState == AUTOLOGON_DISABLED) + return FALSE; + + rc = RegOpenKeyExW(HKEY_LOCAL_MACHINE, + L"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\WinLogon", + 0, + KEY_QUERY_VALUE, + &WinLogonKey); + if (rc != ERROR_SUCCESS) + goto cleanup; + + rc = ReadRegSzKey(WinLogonKey, + L"AutoAdminLogon", + &AutoLogon); + + if (rc != ERROR_SUCCESS) + goto cleanup; + + if (wcscmp(AutoLogon, L"1") == 0) + result = TRUE; + +cleanup: + if (WinLogonKey != NULL) + RegCloseKey(WinLogonKey); + HeapFree(GetProcessHeap(), 0, AutoLogon); + + return result; +} +#endif + static BOOL DoAutoLogon( IN PGINA_CONTEXT pgContext) @@ -650,7 +817,15 @@ DoAutoLogon( result = DoLoginTasks(pgContext, UserName, DomainName, Password); if (result == TRUE) + { + pgContext->Password = HeapAlloc(GetProcessHeap(), + HEAP_ZERO_MEMORY, + (wcslen(Password) + 1) * sizeof(WCHAR)); + if (pgContext->Password != NULL) + wcscpy(pgContext->Password, Password); + NotifyBootConfigStatus(TRUE); + } } cleanup: @@ -685,7 +860,7 @@ WlxDisplaySASNotice( return; } - if (DoAutoLogon(pgContext)) + if (pgContext->bAutoAdminLogon == TRUE) { /* Don't display the window, we want to do an automatic logon */ pgContext->AutoLogonState = AUTOLOGON_ONCE; @@ -695,6 +870,12 @@ WlxDisplaySASNotice( else pgContext->AutoLogonState = AUTOLOGON_DISABLED; + if (pgContext->bDisableCAD == TRUE) + { + pgContext->pWlxFuncs->WlxSasNotify(pgContext->hWlx, WLX_SAS_TYPE_CTRL_ALT_DEL); + return; + } + pGinaUI->DisplaySASNotice(pgContext); TRACE("WlxDisplaySASNotice() done\n"); @@ -770,6 +951,12 @@ WlxDisplayLockedNotice(PVOID pWlxContext) TRACE("WlxDisplayLockedNotice()\n"); + if (pgContext->bDisableCAD == TRUE) + { + pgContext->pWlxFuncs->WlxSasNotify(pgContext->hWlx, WLX_SAS_TYPE_CTRL_ALT_DEL); + return; + } + pGinaUI->DisplayLockedNotice(pgContext); } diff --git a/dll/win32/msgina/msgina.h b/dll/win32/msgina/msgina.h index 74867f1f786..5dde55567f9 100644 --- a/dll/win32/msgina/msgina.h +++ b/dll/win32/msgina/msgina.h @@ -34,10 +34,15 @@ typedef struct HANDLE hDllInstance; HWND hStatusWindow; DWORD AutoLogonState; + BOOL bDisableCAD; + BOOL bAutoAdminLogon; + BOOL bDontDisplayLastUserName; + BOOL bShutdownWithoutLogon; - /* Informations to be filled during logon */ + /* Information to be filled during logon */ WCHAR UserName[256]; WCHAR Domain[256]; + LPWSTR Password; SYSTEMTIME LogonTime; HANDLE UserToken; PLUID pAuthenticationId; diff --git a/dll/win32/msgina/resource.h b/dll/win32/msgina/resource.h index 14e016f2ec5..148c8dc66ea 100644 --- a/dll/win32/msgina/resource.h +++ b/dll/win32/msgina/resource.h @@ -28,16 +28,21 @@ #define IDC_CHANGEPWD_NEWPWD1 1016 #define IDC_CHANGEPWD_NEWPWD2 1017 +#define IDD_LOGOFF_DLG 107 + #define IDI_ROSLOGO 20000 #define IDI_LOCKICON 21 -#define IDS_LOGGEDOUTSAS 40000 -#define IDS_LOCKEDSAS 40001 -#define IDS_PRESSCTRLALTDELETE 40002 -#define IDS_ASKFORUSER 40003 -#define IDS_ASKFORPASSWORD 40004 -#define IDS_FORCELOGOFF 40005 -#define IDS_LOCKMSG 40006 -#define IDS_LOGONMSG 40007 -#define IDS_LOGONDATE 40008 +#define IDS_LOGGEDOUTSAS 40000 +#define IDS_LOCKEDSAS 40001 +#define IDS_PRESSCTRLALTDELETE 40002 +#define IDS_ASKFORUSER 40003 +#define IDS_ASKFORPASSWORD 40004 +#define IDS_FORCELOGOFF 40005 +#define IDS_LOCKMSG 40006 +#define IDS_LOGONMSG 40007 +#define IDS_LOGONDATE 40008 +#define IDS_COMPUTERLOCKED 40009 +#define IDS_LOCKEDWRONGPASSWORD 40010 +#define IDS_LOCKEDWRONGUSER 40011 diff --git a/dll/win32/mshtml/lang/Ro.rc b/dll/win32/mshtml/lang/Ro.rc index 10fe0a2d0ce..6eaaed88039 100644 --- a/dll/win32/mshtml/lang/Ro.rc +++ b/dll/win32/mshtml/lang/Ro.rc @@ -1,6 +1,7 @@ /* * Copyright 2005-2006 Jacek Caban * Copyright 2009 Michael Stefaniuc + * 2011 Ștefan Fulea * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -23,8 +24,8 @@ LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL STRINGTABLE { - IDS_STATUS_DONE "Done" - IDS_STATUS_DOWNLOADINGFROM "Downloading from %s..." + IDS_STATUS_DONE "Finalizat" + IDS_STATUS_DOWNLOADINGFROM "Se descarcă de la %s…" } STRINGTABLE @@ -42,8 +43,8 @@ FONT 8, "MS Shell Dlg" COMBOBOX IDC_TYPE, 35, 20, 45, 100, WS_TABSTOP | WS_GROUP | WS_VSCROLL | CBS_DROPDOWNLIST | CBS_HASSTRINGS LTEXT "&URL:", -1, 10, 42, 20, 10 EDITTEXT IDC_URL, 35, 40, 150, 14, ES_AUTOHSCROLL | WS_BORDER | WS_GROUP | WS_TABSTOP - PUSHBUTTON "OK", IDOK, 200, 10, 45, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP - PUSHBUTTON "Renunță", IDCANCEL, 200, 28, 45, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "Con&firmă", IDOK, 200, 10, 45, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP + PUSHBUTTON "A&nulează", IDCANCEL, 200, 28, 45, 14, WS_GROUP | WS_TABSTOP } ID_PROMPT_DIALOG DIALOG 0, 0, 200, 90 @@ -52,6 +53,6 @@ FONT 8, "MS Shell Dlg" { LTEXT "", ID_PROMPT_PROMPT, 10, 10, 180, 30 EDITTEXT ID_PROMPT_EDIT, 10, 45, 180, 14, ES_AUTOHSCROLL | WS_BORDER | WS_GROUP | WS_TABSTOP - PUSHBUTTON "OK", IDOK, 40, 65, 45, 15, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP - PUSHBUTTON "Renunță", IDCANCEL, 115, 65, 45, 15, WS_GROUP | WS_TABSTOP + PUSHBUTTON "Con&firmă", IDOK, 40, 65, 45, 15, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP + PUSHBUTTON "A&nulează", IDCANCEL, 115, 65, 45, 15, WS_GROUP | WS_TABSTOP } diff --git a/dll/win32/msi/msi_Ro.rc b/dll/win32/msi/msi_Ro.rc index 2e045ed7663..e430e3f1541 100644 --- a/dll/win32/msi/msi_Ro.rc +++ b/dll/win32/msi/msi_Ro.rc @@ -1,6 +1,7 @@ /* * Copyright 2005 Mike McCormack * Copyright 2009 Michael Stefaniuc + * 2011 Ștefan Fulea * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -28,7 +29,21 @@ STRINGTABLE 4 "Pachetul de instalare menționat nu a putut fi deschis. Verificați calea și încercați din nou." 5 "calea %s nu a fost găsită" 9 "inserați discul %s" - 10 "Windows Installer %s\n\nUsage:\nmsiexec command {required parameter} [optional parammeter]\n\nInstall a product:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\nRepair an installation:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\nUninstall a product:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\nAdvertise a product:\n\t/j[u|m] package [/t transform] [/g languageid]\nApply a patch:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\nLog and UI Modifiers for above commands:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nRegister MSI Service:\n\t/y\nUnregister MSI Service:\n\t/z\nDisplay this help:\n\t/help\n\t/?\n" + 10 "Instalatorul Windows %s\n\nUtilizare:\nmsiexec command {parametru obligatoriu} [parametru opțional]\n\n" \ + "Instalarea unui produs:\n\t/i {pachet|cod_produs} [proprietate]" \ + "\n\t/package {pachet|cod_produs} [proprietate]" \ + "\n\t/a pachet [proprietate]\n" \ + "Repararea unei instalări:\n\t/f[p|o|e|d|c|a|u|m|s|v] {pachet|cod_produs}\n" \ + "Dezinstalarea unui produs:\n\t/uninstall {pachet|cod_produs} [proprietate]" \ + "\n\t/x {pachet|cod_produs} [proprietate]\n" \ + "Promovarea unui produs:\n\t/j[u|m] pachet [/t transformare] [/g id_limbă]\n" \ + "Aplicarea unui patch:\n\t/p pachet_patch [proprietate]" \ + "\n\t/p pachet_patch /a pachet [proprietate]\n" \ + "Jurnalizare și modificatori de interfață pentru comenzile enumerate:" \ + "\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] fișier_jurnal\n\t/q{|n|b|r|f|n+|b+|b-}\n" \ + "Înregistrarea serviciului MSI:\n\t/y\n" \ + "Excluderea serviciului MSI:\n\t/z\n" \ + "Afișarea acestui manual:\n\t/help\n\t/?\n" 11 "introduceți fișierul care conține %s" 12 "lipsește sursa de instalare pentru această caracteristică" 13 "lipsește unitatea de rețea pentru această caracteristică" diff --git a/dll/win32/msvfw32/lang/msvfw32_Ro.rc b/dll/win32/msvfw32/lang/msvfw32_Ro.rc index 2f442558f4f..77302d67cdc 100644 --- a/dll/win32/msvfw32/lang/msvfw32_Ro.rc +++ b/dll/win32/msvfw32/lang/msvfw32_Ro.rc @@ -2,6 +2,7 @@ * Copyright 2005 Dmitry Timoshkov * Copyright 2010 Claudia Cotună * Michael Stefaniuc + * 2011 Ștefan Fulea * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -29,26 +30,26 @@ STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU CAPTION "Compresie video" FONT 8, "MS Shell Dlg" { - DEFPUSHBUTTON "OK",IDOK,140,2,51,14 - PUSHBUTTON "Renunță",IDCANCEL,140,18,51,14 + DEFPUSHBUTTON "Con&firmă", IDOK,140,2,51,14 + PUSHBUTTON "A&nulează", IDCANCEL,140,18,51,14 - LTEXT "&Compresor:",-1,9,6,105,8 - COMBOBOX 880,9,16,111,67,CBS_DROPDOWNLIST|WS_VSCROLL|WS_TABSTOP + LTEXT "Co&mpresor:", -1,9,6,105,8 + COMBOBOX 880,9,16,111,67,CBS_DROPDOWNLIST|WS_VSCROLL|WS_TABSTOP - PUSHBUTTON "Con&figurare...",882,140,36,51,14 - PUSHBUTTON "&Despre...",883,140,52,51,14 + PUSHBUTTON "&Configurare…", 882,140,36,51,14 + PUSHBUTTON "&Despre…", 883,140,52,51,14 - SCROLLBAR 884,9,44,111,9,WS_TABSTOP + SCROLLBAR 884,9,44,111,9,WS_TABSTOP - LTEXT "Ca&litatea compresiei:",886,9,34,80,8 + LTEXT "C&alitatea compresiei:", 886,9,34,80,8 - CONTROL "Cadru c&heie la fiecare",887,"Button",BS_AUTOCHECKBOX|WS_TABSTOP,9,60,82,12 - EDITTEXT 888,93,60,22,12 - LTEXT "cadre",889,118,62,22,10 + CONTROL "Cadru c&heie la fiecare", 887,"Button",BS_AUTOCHECKBOX|WS_TABSTOP,9,60,82,12 + EDITTEXT 888,93,60,22,12 + LTEXT "cadre", 889,118,62,22,10 - CONTROL "Rata de &date",894,"Button",BS_AUTOCHECKBOX|WS_TABSTOP,9,76,70,12 - EDITTEXT 895,93,76,22,12 - LTEXT "KO/sec",896,118,78,22,10 + CONTROL "&Rata de date", 894,"Button",BS_AUTOCHECKBOX|WS_TABSTOP,9,76,70,12 + EDITTEXT 895,93,76,22,12 + LTEXT "ko/s", 896,118,78,22,10 } STRINGTABLE diff --git a/dll/win32/netid/lang/ro-RO.rc b/dll/win32/netid/lang/ro-RO.rc index 44cb900e6d6..7452cf0ba02 100644 --- a/dll/win32/netid/lang/ro-RO.rc +++ b/dll/win32/netid/lang/ro-RO.rc @@ -1,8 +1,7 @@ /* * FILE: dll/win32/netid/lang/ro-RO.rc * ReactOS Project (http://www.reactos.org) - * TRANSLATOR: Fulea Ștefan (PM on ReactOS Forum to fulea.stefan) - * CHANGE LOG: 2011-09-09 initial translation + * TRANSLATOR: Ștefan Fulea (stefan dot fulea at mail dot md) */ LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL @@ -20,7 +19,7 @@ BEGIN EDITTEXT IDC_COMPUTERNAME, 98, 68, 144, 12, ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP LTEXT "Grup de lucru:", IDC_WORKGROUPDOMAIN, 6, 84, 64, 9 EDITTEXT IDC_WORKGROUPDOMAIN_NAME, 98, 84, 144, 12, ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP - LTEXT "Utilizați Expertul de Identificare a Rețelei (apăsând „ID de rețea”) pentru a crea un utilizator și a deveni membru al unui domeniu de rețea.", IDC_STATIC, 6, 113, 172, 24 + LTEXT "Utilizați asistentul de identificare a rețelei (apăsând „ID de rețea”) pentru a crea un utilizator și a deveni membru al unui domeniu de rețea.", IDC_STATIC, 6, 113, 172, 24 PUSHBUTTON "&ID de rețea…", IDC_NETWORK_ID, 190, 114, 58, 15 LTEXT "Pentru a schimba identitatea calculatorului sau a intra într-un domeniu, apăsați „Schimbare”.", IDC_STATIC, 6, 149, 170, 17 PUSHBUTTON "S&chimbare…", IDC_NETWORK_PROPERTY, 190, 149, 58, 15 diff --git a/dll/win32/netshell/res/neterror.ico b/dll/win32/netshell/res/neterror.ico index f20a0a4995b..471e2c3092b 100644 Binary files a/dll/win32/netshell/res/neterror.ico and b/dll/win32/netshell/res/neterror.ico differ diff --git a/dll/win32/netshell/res/netidle.ico b/dll/win32/netshell/res/netidle.ico index 6c175cc3d3c..7640ece8cba 100644 Binary files a/dll/win32/netshell/res/netidle.ico and b/dll/win32/netshell/res/netidle.ico differ diff --git a/dll/win32/netshell/res/netoff.ico b/dll/win32/netshell/res/netoff.ico index 9cb3f62e895..2d8a381a3b5 100644 Binary files a/dll/win32/netshell/res/netoff.ico and b/dll/win32/netshell/res/netoff.ico differ diff --git a/dll/win32/netshell/res/netrec.ico b/dll/win32/netshell/res/netrec.ico index 3ada0c28d99..be21727b219 100644 Binary files a/dll/win32/netshell/res/netrec.ico and b/dll/win32/netshell/res/netrec.ico differ diff --git a/dll/win32/netshell/res/nettrans.ico b/dll/win32/netshell/res/nettrans.ico index cfad0528c99..1c4431eb26c 100644 Binary files a/dll/win32/netshell/res/nettrans.ico and b/dll/win32/netshell/res/nettrans.ico differ diff --git a/dll/win32/netshell/res/nettrrec.ico b/dll/win32/netshell/res/nettrrec.ico index 27a2c1aaf4d..9926c8db357 100644 Binary files a/dll/win32/netshell/res/nettrrec.ico and b/dll/win32/netshell/res/nettrrec.ico differ diff --git a/dll/win32/newdev/lang/ro-RO.rc b/dll/win32/newdev/lang/ro-RO.rc index 37001c1abd7..a398e3c1024 100644 --- a/dll/win32/newdev/lang/ro-RO.rc +++ b/dll/win32/newdev/lang/ro-RO.rc @@ -1,14 +1,14 @@ -/* 2011.12.10 - Fulea Ștefan: minor changes */ +/* Ștefan Fulea (stefan dot fulea at mail dot md) */ LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL IDD_WELCOMEPAGE DIALOGEX 0, 0, 317, 193 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Instalare dispozitiv" +CAPTION "Asistentul de instalare dispozitiv" FONT 8, "MS Shell Dlg" BEGIN LTEXT "Bun venit!", IDC_WELCOMETITLE, 120, 8, 195, 24 - LTEXT "Acest expert va instala module pilot pentru dispozitivul:", IDC_STATIC, 120, 21, 195, 16 + LTEXT "Acest asistent va instala module pilot pentru dispozitivul:", IDC_STATIC, 120, 21, 195, 16 LTEXT "Apăsați „Înainte” pentru a continua.", IDC_STATIC, 120, 169, 195, 17 LTEXT "DISPOZITIV NECUNOSCUT", IDC_DEVICE, 134, 36, 164, 11 LTEXT "AVERTISMENT: INSTALAREA UNUI DISPOZITIV NECUNOSCUT POATE AVEA EFECTE GRAVE ASUPRA CALCULATORULUI DUMNEAVOASTRĂ!", IDC_STATIC, 120, 59, 195, 30 @@ -18,7 +18,7 @@ END IDD_NODRIVER DIALOGEX 0, 0, 317, 193 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Instalare dispozitiv" +CAPTION "Asistentul de instalare dispozitiv" FONT 8, "MS Shell Dlg" BEGIN LTEXT "Instalarea a eșuat", IDC_FINISHTITLE, 120, 8, 195, 24 @@ -29,7 +29,7 @@ END IDD_INSTALLFAILED DIALOGEX 0, 0, 317, 193 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Instalare dispozitiv" +CAPTION "Asistentul de instalare dispozitiv" FONT 8, "MS Shell Dlg" BEGIN LTEXT "Instalarea a eșuat", IDC_FINISHTITLE, 120, 8, 195, 24 @@ -39,20 +39,20 @@ END IDD_CHSOURCE DIALOGEX 0, 0, 317, 143 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Instalare dispozitiv" +CAPTION "Asistentul de instalare dispozitiv" FONT 8, "MS Shell Dlg" BEGIN CONTROL "Specific locații de căutare", IDC_RADIO_SEARCHHERE, "Button", BS_AUTORADIOBUTTON, 27, 11, 239, 13 CONTROL "Specific manual modulele pilot", IDC_RADIO_CHOOSE, "Button", BS_AUTORADIOBUTTON, 27, 98, 171, 12 CONTROL "Caută pe unitățile detașabile", IDC_CHECK_MEDIA, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 47, 33, 163, 9 CONTROL "Caută acest dosar", IDC_CHECK_PATH, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 47, 54, 162, 10 - PUSHBUTTON "Specificare…", IDC_BROWSE, 248, 69, 60, 14 + PUSHBUTTON "Spe&cificare…", IDC_BROWSE, 248, 69, 60, 14 COMBOBOX IDC_COMBO_PATH, 61, 71, 176, 12, CBS_DROPDOWN | CBS_SORT | WS_VSCROLL | WS_TABSTOP | CBS_AUTOHSCROLL END IDD_SEARCHDRV DIALOGEX 0, 0, 317, 143 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Instalare dispozitiv" +CAPTION "Asistentul de instalare dispozitiv" FONT 8, "MS Shell Dlg" BEGIN LTEXT "DISPOZITIV NECUNOSCUT", IDC_DEVICE, 51, 20, 169, 16 @@ -60,7 +60,7 @@ END IDD_INSTALLDRV DIALOGEX 0, 0, 317, 143 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Instalare dispozitiv" +CAPTION "Asistentul de instalare dispozitiv" FONT 8, "MS Shell Dlg" BEGIN LTEXT "DISPOZITIV NECUNOSCUT", IDC_DEVICE, 51, 20, 169, 16 @@ -68,22 +68,22 @@ END IDD_NEEDREBOOT DIALOGEX 0, 0, 317, 193 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Instalare dispozitiv" +CAPTION "Asistentul de instalare dispozitiv" FONT 8, "MS Shell Dlg" BEGIN LTEXT "Instalare completă", IDC_FINISHTITLE, 120, 8, 195, 11 LTEXT "Este necesară repornirea sistemului pentru a încheia instalarea:", IDC_STATIC, 120, 32, 195, 19 - LTEXT "Apăsați „Termină” pentru a închide expertul.", IDC_STATIC, 120, 174, 179, 11 + LTEXT "Apăsați „Sfârșit” pentru a închide asistentul.", IDC_STATIC, 120, 174, 179, 11 LTEXT "DISPOZITIV NECUNOSCUT", IDC_DEVICE, 148, 53, 147, 12 END IDD_FINISHPAGE DIALOGEX 0, 0, 317, 193 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Instalare dispozitiv" +CAPTION "Asistentul de instalare dispozitiv" FONT 8, "MS Shell Dlg" BEGIN LTEXT "Instalare completă", IDC_FINISHTITLE, 120, 8, 195, 11 - LTEXT "Expertul a încheiat instalarea dispozitivului:", IDC_STATIC, 120, 32, 195, 19 - LTEXT "Apăsați „Termină” pentru a închide expertul.", IDC_STATIC, 120, 174, 179, 11 + LTEXT "Asistentul a încheiat instalarea dispozitivului:", IDC_STATIC, 120, 32, 195, 19 + LTEXT "Apăsați „Sfârșit” pentru a închide asistentul.", IDC_STATIC, 120, 174, 179, 11 LTEXT "DISPOZITIV NECUNOSCUT", IDC_DEVICE, 148, 53, 147, 12 END diff --git a/dll/win32/oleacc/lang/oleacc_Ro.rc b/dll/win32/oleacc/lang/oleacc_Ro.rc index 11ff2a201dd..1081e5ac705 100644 --- a/dll/win32/oleacc/lang/oleacc_Ro.rc +++ b/dll/win32/oleacc/lang/oleacc_Ro.rc @@ -1,6 +1,7 @@ /* * Copyright 2008 Nikolay Sivov * Copyright 2009 Michael Stefaniuc + * 2011 Fulea Ștefan * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -47,7 +48,7 @@ STRINGTABLE ROLE_SYSTEM_BORDER "margine" ROLE_SYSTEM_GROUPING "grupare" ROLE_SYSTEM_SEPARATOR "separator" - ROLE_SYSTEM_TOOLBAR "bară de unelte" + ROLE_SYSTEM_TOOLBAR "panou de instrumente" ROLE_SYSTEM_STATUSBAR "bară de stare" ROLE_SYSTEM_TABLE "tabel" ROLE_SYSTEM_COLUMNHEADER "antet de coloană" @@ -55,14 +56,14 @@ STRINGTABLE ROLE_SYSTEM_COLUMN "coloană" ROLE_SYSTEM_ROW "rând" ROLE_SYSTEM_CELL "celulă" - ROLE_SYSTEM_LINK "legătură" + ROLE_SYSTEM_LINK "adresă" ROLE_SYSTEM_HELPBALLOON "balon de ajutor" ROLE_SYSTEM_CHARACTER "caracter" ROLE_SYSTEM_LIST "listă" ROLE_SYSTEM_LISTITEM "element din listă" ROLE_SYSTEM_OUTLINE "contur" ROLE_SYSTEM_OUTLINEITEM "conturare element" - ROLE_SYSTEM_PAGETAB "filă" + ROLE_SYSTEM_PAGETAB "compartiment" ROLE_SYSTEM_PROPERTYPAGE "pagină de proprietăți" ROLE_SYSTEM_INDICATOR "indicator" ROLE_SYSTEM_GRAPHIC "grafică" @@ -71,7 +72,7 @@ STRINGTABLE ROLE_SYSTEM_PUSHBUTTON "buton de comandă" ROLE_SYSTEM_CHECKBUTTON "buton de bifare" ROLE_SYSTEM_RADIOBUTTON "buton radio" - ROLE_SYSTEM_COMBOBOX "căsuță combinată" + ROLE_SYSTEM_COMBOBOX "listă derulantă" ROLE_SYSTEM_DROPLIST "listă verticală" ROLE_SYSTEM_PROGRESSBAR "bară de progres" ROLE_SYSTEM_DIAL "apelator" diff --git a/dll/win32/oledlg/lang/oledlg_Ro.rc b/dll/win32/oledlg/lang/oledlg_Ro.rc index 91973d537eb..f88b3d8f9d2 100644 --- a/dll/win32/oledlg/lang/oledlg_Ro.rc +++ b/dll/win32/oledlg/lang/oledlg_Ro.rc @@ -2,6 +2,7 @@ * Copyright 2003 Ulrich Czekalla for CodeWeavers * Copyright 2010 Claudia Cotună * Michael Stefaniuc + * 2011 Ștefan Fulea * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -27,26 +28,26 @@ STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Inserare obiect" FONT 8, "MS Shell Dlg" BEGIN - LISTBOX IDC_OBJTYPELIST,82,19,131,66,LBS_SORT | - LBS_NOINTEGRALHEIGHT | WS_VISIBLE | WS_VSCROLL | - WS_TABSTOP - LTEXT "Tipul obiectului:",IDC_OBJTYPELBL,82,7,53,8,WS_VISIBLE - DEFPUSHBUTTON "OK",IDOK,221,7,66,14 - PUSHBUTTON "Renunță",IDCANCEL,221,24,66,14 - GROUPBOX "Rezultat",IDC_RESULT,7,103,208,41 - CONTROL "Creează nou",IDC_CREATENEW,"Button",BS_AUTORADIOBUTTON | - WS_GROUP,7,20,67,10 - CONTROL "Creează un control",IDC_CREATECONTROL,"Button", - BS_AUTORADIOBUTTON | NOT WS_VISIBLE,7,54,74,10 - CONTROL "Creează din fișier",IDC_CREATEFROMFILE,"Button", - BS_AUTORADIOBUTTON,7,37,67,10 - LTEXT "",IDC_RESULTDESC,49,112,159,23 - PUSHBUTTON "&Adăugă un control...",IDC_ADDCONTROL,82,88,72,14,NOT WS_VISIBLE - CONTROL "Afișează ca pictogramă",IDC_ASICON,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP | NOT WS_VISIBLE,223,58,86,10 - PUSHBUTTON "Navigare...",IDC_BROWSE,83,53,50,14,NOT WS_VISIBLE - LTEXT "Fișier:",IDC_FILELBL,83,27,20,8, NOT WS_VISIBLE - EDITTEXT IDC_FILE,83,37,132,13,ES_AUTOHSCROLL | NOT WS_VISIBLE + LISTBOX IDC_OBJTYPELIST,82,19,131,66,LBS_SORT | + LBS_NOINTEGRALHEIGHT | WS_VISIBLE | WS_VSCROLL | + WS_TABSTOP + LTEXT "Tipul obiectului:", IDC_OBJTYPELBL,82,7,53,8,WS_VISIBLE + DEFPUSHBUTTON "Con&firmă", IDOK,221,7,66,14 + PUSHBUTTON "A&nulează", IDCANCEL,221,24,66,14 + GROUPBOX "Rezultat", IDC_RESULT,7,103,208,41 + CONTROL "Creează nou", IDC_CREATENEW,"Button",BS_AUTORADIOBUTTON | + WS_GROUP,7,20,67,10 + CONTROL "Creează un control", IDC_CREATECONTROL,"Button", + BS_AUTORADIOBUTTON | NOT WS_VISIBLE,7,54,74,10 + CONTROL "Creează din fișier", IDC_CREATEFROMFILE,"Button", + BS_AUTORADIOBUTTON,7,37,67,10 + LTEXT "", IDC_RESULTDESC,49,112,159,23 + PUSHBUTTON "&Adăugare control…", IDC_ADDCONTROL,82,88,72,14,NOT WS_VISIBLE + CONTROL "Afișea&ză ca pictogramă", IDC_ASICON,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP | NOT WS_VISIBLE,223,58,86,10 + PUSHBUTTON "Spe&cificare…", IDC_BROWSE,83,53,50,14,NOT WS_VISIBLE + LTEXT "Fișier:", IDC_FILELBL,83,27,20,8, NOT WS_VISIBLE + EDITTEXT IDC_FILE,83,37,132,13,ES_AUTOHSCROLL | NOT WS_VISIBLE END STRINGTABLE @@ -63,37 +64,37 @@ STYLE DS_MODALFRAME | DS_SETFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Inserare specială" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Sursă:", -1, 6, 9, 30, 8, WS_VISIBLE | WS_GROUP - CONTROL "I&nserează", IDC_PS_PASTE, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP | WS_GROUP | WS_VISIBLE, - 6, 38, 55, 10 - CONTROL "Inserează &legătura", IDC_PS_PASTELINK, "Button", BS_AUTORADIOBUTTON | WS_VISIBLE, - 6, 63, 74, 10 - LTEXT "C&a:", -1, 81, 25, 16, 8, WS_VISIBLE | WS_GROUP - LISTBOX IDC_PS_PASTELIST, 81, 36, 148, 57, LBS_NOTIFY | LBS_USETABSTOPS | WS_VSCROLL | WS_BORDER | NOT WS_VISIBLE - LISTBOX IDC_PS_PASTELINKLIST, 81, 36, 148, 57, LBS_NOTIFY | LBS_USETABSTOPS | WS_VSCROLL | WS_BORDER | NOT WS_VISIBLE - LISTBOX IDC_PS_DISPLAYLIST, 81, 36, 148, 57, LBS_NOTIFY | LBS_USETABSTOPS | WS_VSCROLL | WS_BORDER | WS_VISIBLE - CONTROL "OK", IDOK, "Button", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_GROUP | WS_VISIBLE, 235, 6, 86, 14 - CONTROL "Renunță", IDCANCEL, "Button", BS_PUSHBUTTON | WS_TABSTOP | WS_VISIBLE, 235, 23, 86, 14 - CONTROL "A&jutor", IDC_OLEUIHELP, "Button", BS_PUSHBUTTON | WS_TABSTOP | WS_VISIBLE, 235, 42, 86, 14 - CONTROL "A&fișează ca pictogramă", IDC_PS_DISPLAYASICON, "Button", BS_AUTOCHECKBOX | WS_TABSTOP | WS_VISIBLE, 235, 59, 86, 14 - CONTROL "", IDC_PS_ICONDISPLAY, "Static", SS_ICON | WS_VISIBLE, 235, 75, 66, 44 - CONTROL "Schimbare p&ictogramă...", IDC_PS_CHANGEICON, "Button", BS_PUSHBUTTON | WS_TABSTOP | WS_VISIBLE, 235, 123, 82, 14 - CONTROL "", IDC_PS_RESULTIMAGE, "Static", SS_ICON | WS_VISIBLE, 8, 101, 42, 34 + LTEXT "Sursă:", -1, 6, 9, 30, 8, WS_VISIBLE | WS_GROUP + CONTROL "&Inserează", IDC_PS_PASTE, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP | WS_GROUP | WS_VISIBLE, + 6, 38, 55, 10 + CONTROL "Inserea&ză adresă", IDC_PS_PASTELINK, "Button", BS_AUTORADIOBUTTON | WS_VISIBLE, + 6, 63, 74, 10 + LTEXT "&Ca:", -1, 81, 25, 16, 8, WS_VISIBLE | WS_GROUP + LISTBOX IDC_PS_PASTELIST, 81, 36, 148, 57, LBS_NOTIFY | LBS_USETABSTOPS | WS_VSCROLL | WS_BORDER | NOT WS_VISIBLE + LISTBOX IDC_PS_PASTELINKLIST, 81, 36, 148, 57, LBS_NOTIFY | LBS_USETABSTOPS | WS_VSCROLL | WS_BORDER | NOT WS_VISIBLE + LISTBOX IDC_PS_DISPLAYLIST, 81, 36, 148, 57, LBS_NOTIFY | LBS_USETABSTOPS | WS_VSCROLL | WS_BORDER | WS_VISIBLE + CONTROL "Con&firmă", IDOK, "Button", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_GROUP | WS_VISIBLE, 235, 6, 86, 14 + CONTROL "A&nulează", IDCANCEL, "Button", BS_PUSHBUTTON | WS_TABSTOP | WS_VISIBLE, 235, 23, 86, 14 + CONTROL "&Manual…", IDC_OLEUIHELP, "Button", BS_PUSHBUTTON | WS_TABSTOP | WS_VISIBLE, 235, 42, 86, 14 + CONTROL "&Afișează ca pictogramă", IDC_PS_DISPLAYASICON, "Button", BS_AUTOCHECKBOX | WS_TABSTOP | WS_VISIBLE, 235, 59, 86, 14 + CONTROL "", IDC_PS_ICONDISPLAY, "Static", SS_ICON | WS_VISIBLE, 235, 75, 66, 44 + CONTROL "&Schimbare pictogramă…", IDC_PS_CHANGEICON, "Button", BS_PUSHBUTTON | WS_TABSTOP | WS_VISIBLE, 235, 123, 82, 14 + CONTROL "", IDC_PS_RESULTIMAGE, "Static", SS_ICON | WS_VISIBLE, 8, 101, 42, 34 CONTROL "<< textul rezultat apare aici >>", IDC_PS_RESULTTEXT, "Static", SS_NOPREFIX | WS_VISIBLE, 65, 100, 159, 35 - CONTROL "Rezultat", -1, "Button", BS_GROUPBOX | WS_GROUP | WS_VISIBLE, 6, 90, 223, 48 - CONTROL "", IDC_PS_SOURCETEXT, "Edit", ES_READONLY | ES_AUTOHSCROLL | WS_VISIBLE, 37, 9, 180, 8 + CONTROL "Rezultat", -1, "Button", BS_GROUPBOX | WS_GROUP | WS_VISIBLE, 6, 90, 223, 48 + CONTROL "", IDC_PS_SOURCETEXT, "Edit", ES_READONLY | ES_AUTOHSCROLL | WS_VISIBLE, 37, 9, 180, 8 END STRINGTABLE { - IDS_PS_PASTE_DATA "Inserează conținutul din clipboard în document ca %s." - IDS_PS_PASTE_OBJECT "Inserează conținutul din clipboard în document astfel încât să îl puteți activa utilizând %s." - IDS_PS_PASTE_OBJECT_AS_ICON "Inserează conținutul din clipboard în document astfel încât să îl puteți activa utilizând %s. Va fi afișat ca o pictogramă." - IDS_PS_PASTE_LINK_DATA "Inserează conținutul din clipboard în document ca %s. Datele sunt legate de fișierul sursă, astfel încât modificările aduse fișierului vor fi reflectate în document." - IDS_PS_PASTE_LINK_OBJECT "Inserează o imagine a conținutului din clipboard în document. Imaginea este legată de fișierul sursă, astfel încât modificările aduse fișierului vor fi reflectate în document." - IDS_PS_PASTE_LINK_OBJECT_AS_ICON "Inserează o scurtătură care conduce la locația conținutului din clipboard. Scurtătura este legată de fișierul sursă, astfel încât modificările aduse fișierului vor fi reflectate în document." - IDS_PS_NON_OLE "Inserează conținutul din clipboard în document." + IDS_PS_PASTE_DATA "Inserează conținutul din memorie în document ca %s." + IDS_PS_PASTE_OBJECT "Inserează conținutul din memorie în document astfel încât să îl puteți activa utilizând %s." + IDS_PS_PASTE_OBJECT_AS_ICON "Inserează conținutul din memorie în document astfel încât să îl puteți activa utilizând %s. Va fi afișat ca o pictogramă." + IDS_PS_PASTE_LINK_DATA "Inserează conținutul din memorie în document ca %s. Datele sunt legate de fișierul sursă, astfel încât modificările aduse fișierului vor fi reflectate în document." + IDS_PS_PASTE_LINK_OBJECT "Inserează o imagine a conținutului din memorie în document. Imaginea este legată de fișierul sursă, astfel încât modificările aduse fișierului vor fi reflectate în document." + IDS_PS_PASTE_LINK_OBJECT_AS_ICON "Inserează o scurtătură care conduce la locația conținutului din memorie. Scurtătura este legată de fișierul sursă, astfel încât modificările aduse fișierului vor fi reflectate în document." + IDS_PS_NON_OLE "Inserează conținutul din memorie în document." IDS_PS_UNKNOWN_TYPE "Tip necunoscut" IDS_PS_UNKNOWN_SRC "Sursă necunoscută" - IDS_PS_UNKNOWN_APP "programul care l-a creat" + IDS_PS_UNKNOWN_APP "Program necunoscut" } diff --git a/dll/win32/rasdlg/lang/ro-RO.rc b/dll/win32/rasdlg/lang/ro-RO.rc index 93ae10ef38d..f5e403cdfde 100644 --- a/dll/win32/rasdlg/lang/ro-RO.rc +++ b/dll/win32/rasdlg/lang/ro-RO.rc @@ -1,8 +1,7 @@ /* * FILE: dll/win32/rasdlg/lang/ro-RO.rc * ReactOS Project (http://www.reactos.org) - * TRANSLATOR: Fulea Ștefan (PM on ReactOS Forum to fulea.stefan) - * CHANGE LOG: 2011-09-12 initial translation + * TRANSLATOR: Ștefan Fulea (stefan dot fulea at mail dot md) */ LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL @@ -534,7 +533,7 @@ FONT 8, "MS Shell Dlg" BEGIN LTEXT "Tastați numele pe care îl dați acestei conexiuni:", -1, 8, 4, 190, 8 EDITTEXT 1114, 8, 17, 190, 12, ES_AUTOHSCROLL - LTEXT "Apăsați „Termină” pentru a o păstra în „Conexiuni de rețea”.", -1, 8, 38, 193, 8 + LTEXT "Apăsați „Sfârșit” pentru a o păstra în „Conexiuni de rețea”.", -1, 8, 38, 193, 8 LTEXT "Puteți edita această conexiune mai târziu, alegând „Proprietăți” din meniul „Fișier”.", -1, 8, 58, 193, 16 END @@ -607,7 +606,7 @@ BEGIN AUTOCHECKBOX "La apelare, &pornește monitorizarea rețelei de linie comutată", 1138, 8, 44, 226, 10 AUTOCHECKBOX "Reprezintă &evoluția conectării în timpul apelării", 1143, 8, 61, 224, 10 AUTOCHECKBOX "A&scunde la apelare", 1137, 8, 79, 220, 10 - AUTOCHECKBOX "&Utilizează expertul de creare a noilor numere în agendă", 1144, 8, 97, 220, 10 + AUTOCHECKBOX "&Utilizează asistentul de creare a noilor numere în agendă", 1144, 8, 97, 220, 10 AUTOCHECKBOX "Solicită confir&mare pentru autoapelări", 1136, 8, 114, 220, 10 END @@ -640,7 +639,7 @@ BEGIN AUTOCHECKBOX "E&xecută script:", 1172, 14, 172, 57, 10, BS_TOP | BS_MULTILINE COMBOBOX 1179, 72, 171, 140, 104, CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | NOT WS_TABSTOP PUSHBUTTON "&Editare…", 1182, 87, 187, 60, 14 - PUSHBUTTON "&Răsfoire…", 1181, 151, 187, 60, 14 + PUSHBUTTON "Spe&cificare…", 1181, 151, 187, 60, 14 END 163 DIALOGEX 0, 0, 317, 143 @@ -726,7 +725,7 @@ BEGIN AUTORADIOBUTTON "Agenda p&ersonală", 1324, 14, 34, 216, 10 AUTORADIOBUTTON "Această agendă &alternativă:", 1323, 14, 46, 217, 10 COMBOBOX 1321, 26, 61, 201, 77, CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_GROUP | NOT WS_TABSTOP - PUSHBUTTON "&Răsfoire…", 1322, 167, 81, 60, 14 + PUSHBUTTON "Spe&cificare…", 1322, 167, 81, 60, 14 END 170 DIALOGEX 6, 18, 235, 135 @@ -738,7 +737,7 @@ BEGIN AUTORADIOBUTTON "Agenda siste&mului", 1325, 14, 22, 217, 10, WS_GROUP AUTORADIOBUTTON "Această agendă &alternativă:", 1323, 14, 36, 216, 10 COMBOBOX 1321, 26, 51, 203, 77, CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_GROUP | NOT WS_TABSTOP - PUSHBUTTON "&Răsfoire…", 1322, 169, 69, 60, 14 + PUSHBUTTON "Spe&cificare…", 1322, 169, 69, 60, 14 END 171 DIALOGEX 6, 18, 317, 144 @@ -760,7 +759,7 @@ BEGIN AUTOCHECKBOX "E&xecută scriptul:", 1463, 15, 45, 78, 10 COMBOBOX 1334, 30, 60, 275, 88, CBS_DROPDOWN | CBS_AUTOHSCROLL | CBS_SORT | WS_VSCROLL | NOT WS_TABSTOP PUSHBUTTON "&Editare…", 1335, 180, 77, 60, 14 - PUSHBUTTON "&Răsfoire…", 1465, 244, 77, 60, 14 + PUSHBUTTON "Spe&cificare…", 1465, 244, 77, 60, 14 END 173 DIALOGEX 6, 18, 230, 215 @@ -794,8 +793,8 @@ END STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Expertul de completare a interfeței de apel la cerere.", 1352, 122, 5, 192, 32 - LTEXT "Ca să finalizați crearea aceastei interfețe și să o activați în serverul de redirecționare, apăsați „Termină”.", 1354, 122, 41, 192, 26, NOT WS_GROUP + LTEXT "Asistentul de completare a interfeței de apel la cerere.", 1352, 122, 5, 192, 32 + LTEXT "Ca să finalizați crearea aceastei interfețe și să o activați în serverul de redirecționare, apăsați „Sfârșit”.", 1354, 122, 41, 192, 26, NOT WS_GROUP LTEXT "Pentru a edita această interfață, mergeți în „Gestionarul de redirecționări și acces la distanță”, selectați-o în „Interfețe de redirecționare”, apoi apăsați Proprietăți.", 1355, 122, 68, 190, 39, NOT WS_GROUP END @@ -1082,11 +1081,11 @@ END 547 DIALOGEX 0, 0, 317, 143 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION -CAPTION "Expertul pentru interfeța de apelare la cerere" +CAPTION "Asistentul pentru interfeța de apelare la cerere" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Bun venit la expertul pentru interfața de apelare la cerere.", 1530, 122, 8, 192, 32 - LTEXT "Utilizând acest expert veți putea crea o interfață de apelare la cerere pentru a conecta acest server de redirecționare la alte asemenea servere.", 1531, 122, 43, 192, 37 + LTEXT "Bun venit la asistentul pentru interfața de apelare la cerere.", 1530, 122, 8, 192, 32 + LTEXT "Utilizând acest asistent veți putea crea o interfață de apelare la cerere pentru a conecta acest server de redirecționare la alte asemenea servere.", 1531, 122, 43, 192, 37 LTEXT "Apăsați „Înainte” pentru a continua.", 1532, 122, 85, 191, 29 END @@ -1338,7 +1337,7 @@ BEGIN GROUPBOX "Opțiuni ale fișierului jurnal:", -1, 7, 64, 215, 91 LTEXT "N&ume:", -1, 14, 78, 199, 8 EDITTEXT 1674, 14, 90, 199, 14, ES_READONLY - PUSHBUTTON "&Răsfoire…", 1639, 153, 108, 60, 14 + PUSHBUTTON "Spe&cificare…", 1639, 153, 108, 60, 14 LTEXT "&Limită dimensiune:", -1, 14, 133, 67, 8 EDITTEXT 1640, 86, 130, 50, 14, ES_AUTOHSCROLL | ES_NUMBER LTEXT "kocteți", -1, 140, 133, 25, 8 @@ -1885,7 +1884,7 @@ BEGIN 236 "Există deja o înregistrare %1. Alegeți un alt nume.\0" 237 "Puteți permite trimiterea parolei fără criptare.\0" 238 "Criptarea parolei\0" - 239 "Expertul este pregătit pentru crearea conexiunii.\0" + 239 "Asistentul este pregătit pentru crearea conexiunii.\0" 240 "Terminat\0" 241 "Număr de &telefon:\0" 242 "Retroapel la\0" @@ -1909,7 +1908,7 @@ BEGIN 260 "%1 CP este conectată.\n\0" 261 "Puteți alege care dintre protocoalele de linie comutată îl folosiți.\0" 262 "Alegeți protocolul de linie comutată\0" - 263 "Apăsați „Termină” pentru a păstra '%1'.\0" + 263 "Apăsați „Sfârșit” pentru a păstra '%1'.\0" 264 "netcfg.hlp\0" 265 "&Mutați numărul testat cu succes în capul listei de conectare\0" 266 "N&oul număr de telefon:\0" @@ -2360,7 +2359,7 @@ BEGIN 7389 "Dispozitivul ales nu are disponibile opțiuni de configurare.\0" 7390 "Domeniu nevalid\0" 7391 "Ați cerut ca „%1” să fie dezactivat pentru conexiunile de intrare. Pentru a dezactiva aceasta, e necesară oprirea serviciului „Server”. Odată oprit, nici un director partajat sau imprimantă din acest calculator nu vor mai fi disponibile altor calculatoare. Doriți scoaterea unei console sistem care va permite oprirea serviciului „Server”?\r\n\nÎn „Gestionarea calculatorului”, clic pe „Instrumente de sistem”, apoi clic pe „Servicii”. În panoul din dreapta, clic-dreapta pe „Server”, apoi alegeți oprirea lui.\0" - 7392 "Acest port serial nu este activat pentru utilizarea într-o conexiune directă cu un alt calculator. Acest expert îl va activa. Îi veți putea configura după asta viteza portului și alte proprietăți prin executarea unui clic-dreapta pe pictograma conexiunii, apoi alegând Proprietăți.\n\0" + 7392 "Acest port serial nu este activat pentru utilizarea într-o conexiune directă cu un alt calculator. Acest asistent îl va activa. Îi veți putea configura după asta viteza portului și alte proprietăți prin executarea unui clic-dreapta pe pictograma conexiunii, apoi alegând Proprietăți.\n\0" 7393 "Conexiuni de intrare\0" 7394 "Fondul de adrese IP introdus este nevalid.\0" 7395 "Masca furnizată nu este validă.\0" diff --git a/dll/win32/samsrv/lang/ro-RO.rc b/dll/win32/samsrv/lang/ro-RO.rc new file mode 100644 index 00000000000..72f4ec6ffa5 --- /dev/null +++ b/dll/win32/samsrv/lang/ro-RO.rc @@ -0,0 +1,22 @@ +/* Translator: Ștefan Fulea (stefan dot fulea at mail dot md) */ + +LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL + +STRINGTABLE +BEGIN + IDS_DOMAIN_BUILTIN_NAME "Inerent" + IDS_GROUP_NONE_NAME "Nespecificat" + IDS_GROUP_NONE_COMMENT "Utilizatori ordinari" + IDS_ALIAS_ADMINISTRATORS_NAME "Administratori" + IDS_ALIAS_ADMINISTRATORS_COMMENT "Administratorii au acces nerestricționat la calculator sau domeniu." + IDS_ALIAS_GUESTS_NAME "Oaspeți" + IDS_ALIAS_GUESTS_COMMENT "Oaspeții au în mod implicit aceleași drepturi ca membrii grupului Utilizatori." + IDS_ALIAS_POWER_USERS_NAME "Utilizatori avansați" + IDS_ALIAS_POWER_USERS_COMMENT "Utilizatorii avansați posedă majoritatea drepturilor administrative cu unele restricții." + IDS_ALIAS_USERS_NAME "Utilizatori" + IDS_ALIAS_USERS_COMMENT "Utilizatorilor le este limitată capacitatea de a aduce modificări în sistem." + IDS_USER_ADMINISTRATOR_NAME "Administrator" + IDS_USER_ADMINISTRATOR_COMMENT "Contul inerent utilizat pentru a administra acest calculator sau domeniu." + IDS_USER_GUEST_NAME "Oaspete" + IDS_USER_GUEST_COMMENT "Contul inerent pentru accesul oaspeților în calculator sau domeniu." +END diff --git a/dll/win32/samsrv/samsrv.rc b/dll/win32/samsrv/samsrv.rc index c935b560ab3..169928d147c 100644 --- a/dll/win32/samsrv/samsrv.rc +++ b/dll/win32/samsrv/samsrv.rc @@ -31,3 +31,6 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL #ifdef LANGUAGE_PL_PL #include "lang/pl-PL.rc" #endif +#ifdef LANGUAGE_RO_RO + #include "lang/ro-RO.rc" +#endif diff --git a/dll/win32/shdoclc/lang/Ro.rc b/dll/win32/shdoclc/lang/Ro.rc index c398cc1cf3a..2cdd58b1eb6 100644 --- a/dll/win32/shdoclc/lang/Ro.rc +++ b/dll/win32/shdoclc/lang/Ro.rc @@ -1,6 +1,7 @@ /* * Copyright 2005-2006 Jacek Caban * Copyright 2009 Michael Stefaniuc + * 2011 Ștefan Fulea * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -34,71 +35,71 @@ IDR_BROWSE_CONTEXT_MENU MENU { POPUP "" /* Default */ { - MENUITEM "În&apoi", IDM_GOBACKWARD + MENUITEM "Îna&poi", IDM_GOBACKWARD MENUITEM "Î&nainte", IDM_GOFORWARD MENUITEM SEPARATOR - MENUITEM "&Salvează imaginea de fundal ca...", IDM_SAVEBACKGROUND - MENUITEM "Definește ca &fundal", IDM_SETWALLPAPER + MENUITEM "Pă&strare imagine de fundal în…", IDM_SAVEBACKGROUND + MENUITEM "Stabilește ca &fundal", IDM_SETWALLPAPER MENUITEM "&Copiază fundalul", IDM_COPYBACKGROUND - MENUITEM "&Definește ca element de desktop", IDM_SETDESKTOPITEM + MENUITEM "Definire ca element pe &birou…", IDM_SETDESKTOPITEM MENUITEM SEPARATOR MENUITEM "Selectează t&ot", IDM_SELECTALL MENUITEM "&Lipește", IDM_PASTE MENUITEM SEPARATOR - MENUITEM "Crează s&curtătură", IDM_CREATESHORTCUT - MENUITEM "Adaugă la &favorite", IDM_ADDFAVORITES - MENUITEM "&Vizualizează sursa", IDM_VIEWSOURCE + MENUITEM "Crează sc&urtătură", IDM_CREATESHORTCUT + MENUITEM "Adăugare la fa&vorite…", IDM_ADDFAVORITES + MENUITEM "&Afișează sursa", IDM_VIEWSOURCE MENUITEM SEPARATOR - MENUITEM "Codificar&e", IDM_LANGUAGE + MENUITEM "Co&dificare", IDM_LANGUAGE MENUITEM SEPARATOR - MENUITEM "&Tipărește", IDM_PRINT - MENUITEM "&Actualizează", _IDM_REFRESH + MENUITEM "&Imprimă", IDM_PRINT + MENUITEM "Împ&rospătează", _IDM_REFRESH MENUITEM SEPARATOR - MENUITEM "P&roprietăți", IDM_PROPERTIES + MENUITEM "Propr&ietăți", IDM_PROPERTIES } POPUP "" /* Image */ { - MENUITEM "Deschide &legătura", IDM_FOLLOWLINKC - MENUITEM "Deschide legătura într-o fereastră &nouă", IDM_FOLLOWLINKN - MENUITEM "S&alvează destinația ca...", IDM_SAVETARGET - MENUITEM "&Tipărește destinația", IDM_PRINTTARGET + MENUITEM "Deschide &adresa", IDM_FOLLOWLINKC + MENUITEM "Deschide în fereastră &nouă", IDM_FOLLOWLINKN + MENUITEM "Pă&strare destinație în…", IDM_SAVETARGET + MENUITEM "&Imprimă destinația", IDM_PRINTTARGET MENUITEM SEPARATOR - MENUITEM "Arată i&maginea", IDM_SHOWPICTURE - MENUITEM "&Salvează imaginea ca...", IDM_SAVEPICTURE - MENUITEM "Transmite imaginea prin &email...", IDM_MP_EMAILPICTURE - MENUITEM "T&ipărește imaginea...", IDM_MP_PRINTPICTURE - MENUITEM "Du-te la My Pictures", IDM_MP_MYPICS - MENUITEM "Definește ca &fundal", IDM_SETWALLPAPER - MENUITEM "&Definește ca element de desktop...", IDM_SETDESKTOPITEM + MENUITEM "A&rată imaginea", IDM_SHOWPICTURE + MENUITEM "Păstrare ima&gine în…", IDM_SAVEPICTURE + MENUITEM "Transmitere imagine prin &email…", IDM_MP_EMAILPICTURE + MENUITEM "Im&primă imaginea…", IDM_MP_PRINTPICTURE + MENUITEM "Deschide „I&magini”", IDM_MP_MYPICS + MENUITEM "Stabilește ca &fundal", IDM_SETWALLPAPER + MENUITEM "Definire ca element pe &birou…", IDM_SETDESKTOPITEM MENUITEM SEPARATOR - MENUITEM "&Taie", IDM_CUT - MENUITEM "&Copiază", IDM_COPY - MENUITEM "Copiază scur&tătura", IDM_COPYSHORTCUT - MENUITEM "&Lipește", IDM_PASTE + MENUITEM "&Decupează", IDM_CUT + MENUITEM "&Copiază", IDM_COPY + MENUITEM "Copiază sc&urtătura", IDM_COPYSHORTCUT + MENUITEM "&Lipește", IDM_PASTE MENUITEM SEPARATOR - MENUITEM "Adaugă la &favorite...", IDM_ADDFAVORITES + MENUITEM "Adăugare la fa&vorite…", IDM_ADDFAVORITES MENUITEM SEPARATOR - MENUITEM "P&roprietăți", IDM_PROPERTIES + MENUITEM "Pr&oprietăți", IDM_PROPERTIES } POPUP "" /* Control */ { - MENUITEM "&Refă", IDM_UNDO + MENUITEM "Des&fă", IDM_UNDO MENUITEM SEPARATOR - MENUITEM "&Taie", IDM_CUT - MENUITEM "&Copiază", IDM_COPY - MENUITEM "&Lipește", IDM_PASTE - MENUITEM "&Șterge", IDM_DELETE + MENUITEM "&Decupează", IDM_CUT + MENUITEM "&Copiază", IDM_COPY + MENUITEM "&Lipește", IDM_PASTE + MENUITEM "Șt&erge", IDM_DELETE MENUITEM SEPARATOR - MENUITEM "Selectează t&ot", IDM_SELECTALL + MENUITEM "Selectează t&ot", IDM_SELECTALL } POPUP "" /* Table */ { - POPUP "Selectare" + POPUP "&Selectare" { - MENUITEM "&Celulă", IDM_CELLSELECT + MENUITEM "C&elulă", IDM_CELLSELECT MENUITEM "&Rând", IDM_ROWSELECT MENUITEM "&Coloană", IDM_COLUMNSELECT MENUITEM "&Tabel", IDM_TABLESELECT @@ -110,29 +111,29 @@ IDR_BROWSE_CONTEXT_MENU MENU POPUP "" /* 1DSite Select */ { - MENUITEM "&Taie", IDM_CUT - MENUITEM "&Copiază", IDM_COPY - MENUITEM "&Lipește", IDM_PASTE - MENUITEM "Selectează t&ot", IDM_SELECTALL - MENUITEM "&Tipărește", IDM_PRINT + MENUITEM "&Decupează", IDM_CUT + MENUITEM "&Copiază", IDM_COPY + MENUITEM "&Lipește", IDM_PASTE + MENUITEM "Selectează t&ot", IDM_SELECTALL + MENUITEM "&Tipărește", IDM_PRINT MENUITEM SEPARATOR } POPUP "" /* Anchor */ { - MENUITEM "Deschide &legătura", IDM_FOLLOWLINKC - MENUITEM "Deschide legătura într-o fereastră &nouă", IDM_FOLLOWLINKN - MENUITEM "S&alvează destinația ca...", IDM_SAVETARGET - MENUITEM "&Tipărește destinația", IDM_PRINTTARGET + MENUITEM "Deschide &adresa", IDM_FOLLOWLINKC + MENUITEM "Deschide în fereastră &nouă", IDM_FOLLOWLINKN + MENUITEM "Pă&strare destinație în…", IDM_SAVETARGET + MENUITEM "&Imprimă destinația", IDM_PRINTTARGET MENUITEM SEPARATOR - MENUITEM "&Taie", IDM_CUT - MENUITEM "&Copiază", IDM_COPY - MENUITEM "Copiază scur&tătura", IDM_COPYSHORTCUT - MENUITEM "&Lipește", IDM_PASTE + MENUITEM "&Decupează", IDM_CUT + MENUITEM "&Copiază", IDM_COPY + MENUITEM "Copiază sc&urtătura", IDM_COPYSHORTCUT + MENUITEM "&Lipește", IDM_PASTE MENUITEM SEPARATOR - MENUITEM "Adaugă la &favorite...", IDM_ADDFAVORITES + MENUITEM "Adăugare la fa&vorite…", IDM_ADDFAVORITES MENUITEM SEPARATOR - MENUITEM "P&roprietăți", IDM_PROPERTIES + MENUITEM "P&roprietăți", IDM_PROPERTIES } POPUP "" /* Context Unknown */ @@ -142,52 +143,52 @@ IDR_BROWSE_CONTEXT_MENU MENU POPUP "" /* DYNSRC Image */ { - MENUITEM "Deschide &legătura", IDM_FOLLOWLINKC - MENUITEM "Deschide legătura într-o fereastră &nouă", IDM_FOLLOWLINKN - MENUITEM "S&alvează destinația ca...", IDM_SAVETARGET - MENUITEM "&Tipărește destinația", IDM_PRINTTARGET + MENUITEM "Deschide &adresa", IDM_FOLLOWLINKC + MENUITEM "Deschide în fereastră &nouă", IDM_FOLLOWLINKN + MENUITEM "Pă&strare destinație în…", IDM_SAVETARGET + MENUITEM "&Imprimă destinația", IDM_PRINTTARGET MENUITEM SEPARATOR - MENUITEM "Arată i&maginea", IDM_SHOWPICTURE - MENUITEM "&Salvează videoul ca...", IDM_SAVEPICTURE - MENUITEM "Definește ca &fundal", IDM_SETWALLPAPER - MENUITEM "&Definește ca element de desktop...", IDM_SETDESKTOPITEM + MENUITEM "A&rată imaginea", IDM_SHOWPICTURE + MENUITEM "Păstrare video în…", IDM_SAVEPICTURE + MENUITEM "Stabilește ca &fundal", IDM_SETWALLPAPER + MENUITEM "Definire ca element pe &birou…", IDM_SETDESKTOPITEM MENUITEM SEPARATOR - MENUITEM "&Taie", IDM_CUT - MENUITEM "&Copiază", IDM_COPY - MENUITEM "Copiază scur&tătura", IDM_COPYSHORTCUT - MENUITEM "&Lipește", IDM_PASTE + MENUITEM "&Decupează", IDM_CUT + MENUITEM "&Copiază", IDM_COPY + MENUITEM "Copiază sc&urtătura", IDM_COPYSHORTCUT + MENUITEM "&Lipește", IDM_PASTE MENUITEM SEPARATOR - MENUITEM "Adaugă la &favorite...", IDM_ADDFAVORITES + MENUITEM "Adăugare la fa&vorite…", IDM_ADDFAVORITES MENUITEM SEPARATOR - MENUITEM "Redă", IDM_DYNSRCPLAY - MENUITEM "Oprește", IDM_DYNSRCSTOP - MENUITEM "P&roprietăți", IDM_PROPERTIES + MENUITEM "&Pornește", IDM_DYNSRCPLAY + MENUITEM "Opr&ește", IDM_DYNSRCSTOP + MENUITEM "Pr&oprietăți", IDM_PROPERTIES } POPUP "" /* ART Image */ { - MENUITEM "Deschide &legătura", IDM_FOLLOWLINKC - MENUITEM "Deschide legătura într-o fereastră &nouă", IDM_FOLLOWLINKN - MENUITEM "S&alvează destinația ca...", IDM_SAVETARGET - MENUITEM "&Tipărește destinația", IDM_PRINTTARGET + MENUITEM "Deschide &adresa", IDM_FOLLOWLINKC + MENUITEM "Deschide în fereastră &nouă", IDM_FOLLOWLINKN + MENUITEM "Pă&strare destinație în…", IDM_SAVETARGET + MENUITEM "&Imprimă destinația", IDM_PRINTTARGET MENUITEM SEPARATOR - MENUITEM "Arată i&maginea", IDM_SHOWPICTURE - MENUITEM "&Salvează imaginea ca...", IDM_SAVEPICTURE - MENUITEM "Definește ca &fundal", IDM_SETWALLPAPER - MENUITEM "&Definește ca element de desktop...", IDM_SETDESKTOPITEM + MENUITEM "A&rată imaginea", IDM_SHOWPICTURE + MENUITEM "Păstrare ima&gine în…", IDM_SAVEPICTURE + MENUITEM "Definește ca &fundal", IDM_SETWALLPAPER + MENUITEM "Definire ca element pe &birou…", IDM_SETDESKTOPITEM MENUITEM SEPARATOR - MENUITEM "&Taie", IDM_CUT - MENUITEM "&Copiază", IDM_COPY - MENUITEM "Copiază scur&tătura", IDM_COPYSHORTCUT - MENUITEM "&Lipește", IDM_PASTE + MENUITEM "&Decupează", IDM_CUT + MENUITEM "&Copiază", IDM_COPY + MENUITEM "Copiază sc&urtătura", IDM_COPYSHORTCUT + MENUITEM "&Lipește", IDM_PASTE MENUITEM SEPARATOR - MENUITEM "Adaugă la &favorite...", IDM_ADDFAVORITES + MENUITEM "Adaugă la fa&vorite…", IDM_ADDFAVORITES MENUITEM SEPARATOR - MENUITEM "Redă", IDM_IMGARTPLAY - MENUITEM "Oprește", IDM_IMGARTSTOP - MENUITEM "Derulează înapoi", IDM_IMGARTREWIND + MENUITEM "&Pornește", IDM_IMGARTPLAY + MENUITEM "Opr&ește", IDM_IMGARTSTOP + MENUITEM "Derulează înap&oi", IDM_IMGARTREWIND MENUITEM SEPARATOR - MENUITEM "P&roprietăți", IDM_PROPERTIES + MENUITEM "Proprie&tăți", IDM_PROPERTIES } POPUP "" /* Debug */ @@ -204,7 +205,7 @@ IDR_BROWSE_CONTEXT_MENU MENU MENUITEM "Elimină dreptunghiurile de format", IDM_DUMPLAYOUTRECTS MENUITEM "Monitor de memorie", IDM_MEMORYMONITOR MENUITEM "Măsurători de performanță", IDM_PERFORMANCEMETERS - MENUITEM "Salvează HTML", IDM_SAVEHTML + MENUITEM "Păstrează HTML", IDM_SAVEHTML MENUITEM SEPARATOR MENUITEM "&Răsfoiește vizualizarea", IDM_BROWSEMODE MENUITEM "Editează vizualizarea", IDM_EDITMODE diff --git a/dll/win32/shell32/lang/ro-RO.rc b/dll/win32/shell32/lang/ro-RO.rc index f43d4b13885..931d71c8f75 100644 --- a/dll/win32/shell32/lang/ro-RO.rc +++ b/dll/win32/shell32/lang/ro-RO.rc @@ -1,3 +1,4 @@ +/* Ștefan Fulea (stefan dot fulea at mail dot md) */ LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL MENU_001 MENU @@ -145,7 +146,7 @@ BEGIN CONTROL "", 12298, "COMBOBOX", WS_TABSTOP | WS_GROUP | WS_VSCROLL | WS_VISIBLE | CBS_AUTOHSCROLL | CBS_DROPDOWN, 41, 37, 183, 100 DEFPUSHBUTTON "Con&firmă", IDOK, 41, 63, 59, 14, WS_TABSTOP PUSHBUTTON "A&nulează", IDCANCEL, 103, 63, 59, 14, WS_TABSTOP - PUSHBUTTON "&Răsfoire…", 12288, 165, 63, 59, 14, WS_TABSTOP + PUSHBUTTON "Spe&cificare…", 12288, 165, 63, 59, 14, WS_TABSTOP END IDD_SHORTCUT_PROPERTIES DIALOGEX 0, 0, 235, 215 @@ -230,7 +231,7 @@ BEGIN CONTROL "Fișier", 14005, "edit", ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP, 68, 35, 160, 10 LTEXT "Se deschide cu:", 14006, 8, 53, 50, 10 ICON "", 14025, 68, 52, 11, 10, NOT WS_VISIBLE - PUSHBUTTON "Sc&himbare…", 14024, 168, 50, 60, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP + PUSHBUTTON "Spe&cificare…", 14024, 168, 50, 60, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP EDITTEXT 14007, 68, 53, 90, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER | ES_AUTOHSCROLL | NOT WS_TABSTOP LTEXT "", -1, 8, 68, 221, 1, SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE LTEXT "Locație:", 14008, 8, 75, 45, 10 @@ -373,7 +374,7 @@ BEGIN GROUPBOX "&Programe", -1, 7, 42, 249, 187 CONTROL "Programs", 14002, WC_TREEVIEW, WS_BORDER | WS_TABSTOP | TVS_SHOWSELALWAYS, 16 ,57, 230, 130 AUTOCHECKBOX "&Utilizează întotdeauna această aplicație", 14003, 20, 198, 225, 10 - PUSHBUTTON "&Răsfoire…", 14004, 198, 207, 50, 14 + PUSHBUTTON "Spe&cificare…", 14004, 198, 207, 50, 14 DEFPUSHBUTTON "Con&firmă", IDOK, 150, 236, 50, 14 PUSHBUTTON "A&nulează", IDCANCEL, 206, 236, 50, 14 END @@ -438,7 +439,7 @@ BEGIN LTEXT "Se deschide cu:", -1, 22, 140, 50, 10 //ICON LTEXT "Nume aplicație", 14005, 100, 140, 75, 10 - PUSHBUTTON "Sc&himbare…", 14006, 190, 140, 50, 14, WS_TABSTOP + PUSHBUTTON "Spe&cificare…", 14006, 190, 140, 50, 14, WS_TABSTOP LTEXT "", 14007, 22, 155, 160, 35 PUSHBUTTON "A&vansate…", 14008, 190, 175, 50, 14, WS_TABSTOP END @@ -598,7 +599,7 @@ CAPTION "Schimbare pictogramă" FONT 8, "MS Shell Dlg", 400, 0, 0x1 BEGIN LTEXT "Nume fișier:", -1, 7, 14, 208, 10 - PUSHBUTTON "&Răsfoire…", IDC_BUTTON_PATH, 148, 24, 67, 14 + PUSHBUTTON "Spe&cificare…", IDC_BUTTON_PATH, 148, 24, 67, 14 EDITTEXT IDC_EDIT_PATH, 6, 24, 135, 15, ES_AUTOHSCROLL LTEXT "Pictograme:", -1, 7, 47, 208, 10 LISTBOX IDC_PICKICON_LIST, 7, 57, 208, 119, LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_MULTICOLUMN | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP, WS_EX_STATICEDGE diff --git a/dll/win32/shlwapi/lang/shlwapi_Ro.rc b/dll/win32/shlwapi/lang/shlwapi_Ro.rc index ed27f807b4b..ad7d830d250 100644 --- a/dll/win32/shlwapi/lang/shlwapi_Ro.rc +++ b/dll/win32/shlwapi/lang/shlwapi_Ro.rc @@ -1,6 +1,7 @@ /* * Copyright 2004 Jon Griffiths * Copyright 2008 Michael Stefaniuc + * 2011 Fulea Ștefan * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -28,11 +29,11 @@ FONT 8, "MS Shell Dlg" { LTEXT "", IDS_ERR_USER_MSG2, 15, 5, 28, 20 LTEXT "", IDS_ERR_USER_MSG, 15, 5, 210, 8 - CHECKBOX "Nu &afișa din nou acest mesaj", IDC_ERR_DONT_SHOW, 5, 20, 210, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP - PUSHBUTTON "&OK", IDOK, 105, 40, 50, 14, WS_GROUP | WS_TABSTOP - PUSHBUTTON "&Renunță", IDCANCEL, 160, 40, 50, 14, WS_GROUP | WS_TABSTOP + CHECKBOX "Nu dor&esc recurența acestui mesaj", IDC_ERR_DONT_SHOW, 5, 20, 210, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP + PUSHBUTTON "Con&firmă", IDOK, 105, 40, 50, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "A&nulează", IDCANCEL, 160, 40, 50, 14, WS_GROUP | WS_TABSTOP PUSHBUTTON "&Da", IDYES, 105, 40, 50, 14, WS_GROUP | WS_TABSTOP - PUSHBUTTON "&Nu", IDNO, 160, 40, 50, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "N&u", IDNO, 160, 40, 50, 14, WS_GROUP | WS_TABSTOP } STRINGTABLE diff --git a/dll/win32/syssetup/globals.h b/dll/win32/syssetup/globals.h index 191303db219..756a68be5f5 100644 --- a/dll/win32/syssetup/globals.h +++ b/dll/win32/syssetup/globals.h @@ -56,10 +56,17 @@ typedef struct _SETUPDATA LCID LocaleID; } SETUPDATA, *PSETUPDATA; +typedef struct _ADMIN_INFO +{ + LPWSTR Name; + LPWSTR Domain; + LPWSTR Password; +} ADMIN_INFO, *PADMIN_INFO; extern HINSTANCE hDllInstance; extern HINF hSysSetupInf; extern SETUPDATA SetupData; +extern ADMIN_INFO AdminInfo; BOOL RegisterTypeLibraries (HINF hinf, LPCWSTR szSection); @@ -70,6 +77,9 @@ VOID InstallSecurity(VOID); NTSTATUS SetAdministratorPassword(LPCWSTR Password); +VOID +SetAutoAdminLogon(VOID); + /* wizard.c */ VOID InstallWizard (VOID); diff --git a/dll/win32/syssetup/install.c b/dll/win32/syssetup/install.c index 4eccb7f7294..ce5024aeee8 100644 --- a/dll/win32/syssetup/install.c +++ b/dll/win32/syssetup/install.c @@ -39,6 +39,7 @@ CMP_WaitNoPendingInstallEvents(DWORD dwTimeout); /* GLOBALS ******************************************************************/ HINF hSysSetupInf = INVALID_HANDLE_VALUE; +ADMIN_INFO AdminInfo; /* FUNCTIONS ****************************************************************/ @@ -905,6 +906,8 @@ InstallReactOS(HINSTANCE hInstance) InstallSecurity(); + SetAutoAdminLogon(); + hShortcutsInf = SetupOpenInfFileW(L"shortcuts.inf", NULL, INF_STYLE_WIN4, @@ -933,7 +936,12 @@ InstallReactOS(HINSTANCE hInstance) HANDLE hToken; BOOL ret; - ret = LogonUserW(L"Administrator", L"", L"", LOGON32_LOGON_INTERACTIVE, LOGON32_PROVIDER_DEFAULT, &hToken); + ret = LogonUserW(AdminInfo.Name, + AdminInfo.Domain, + AdminInfo.Password, + LOGON32_LOGON_INTERACTIVE, + LOGON32_PROVIDER_DEFAULT, + &hToken); if (!ret) { FatalError("LogonUserW() failed!"); @@ -959,6 +967,15 @@ InstallReactOS(HINSTANCE hInstance) LogItem(SYSSETUP_SEVERITY_INFORMATION, L"Installing ReactOS done"); TerminateSetupActionLog(); + if (AdminInfo.Name != NULL) + RtlFreeHeap(RtlGetProcessHeap(), 0, AdminInfo.Name); + + if (AdminInfo.Domain != NULL) + RtlFreeHeap(RtlGetProcessHeap(), 0, AdminInfo.Domain); + + if (AdminInfo.Password != NULL) + RtlFreeHeap(RtlGetProcessHeap(), 0, AdminInfo.Password); + /* Get shutdown privilege */ if (!OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES, &token)) { diff --git a/dll/win32/syssetup/lang/ro-RO.rc b/dll/win32/syssetup/lang/ro-RO.rc index f4ff2401895..b74614b1da6 100644 --- a/dll/win32/syssetup/lang/ro-RO.rc +++ b/dll/win32/syssetup/lang/ro-RO.rc @@ -1,30 +1,32 @@ +/* Ștefan Fulea (stefan dot fulea at mail dot md) */ + LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL IDD_WELCOMEPAGE DIALOGEX 0, 0, 317, 193 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Instalare ReactOS" +CAPTION "Asistentul de instalare ReactOS" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Bun venit la Expertul de instalare al ReactOS.", IDC_WELCOMETITLE, 115, 8, 195, 24 - LTEXT "Acest expert va finaliza instalarea ReactOS. În cele ce urmează Expertul va culege niște informații despre calculator pentru a instala ReactOS corect.", IDC_STATIC, 115, 40, 195, 100 + LTEXT "Bun venit la etapa secundă de instalare ReactOS.", IDC_WELCOMETITLE, 115, 8, 195, 24 + LTEXT "Acest asistent va finaliza instalarea ReactOS. În cele ce urmează asistentul va culege niște informații despre calculator pentru a instala ReactOS corect.", IDC_STATIC, 115, 40, 195, 100 LTEXT "Apăsați „Înainte” pentru a continua.", IDC_STATIC, 115, 169, 195, 17 END IDD_ACKPAGE DIALOGEX 0, 0, 317, 143 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Instalare ReactOS" +CAPTION "Asistentul de instalare ReactOS" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN LTEXT "Echipa ReactOS aduce mulțumiri următoarelor proiecte FOSS ce au fost utilizate la crearea ReactOS:", IDC_STATIC, 15, 7, 286, 19 LISTBOX IDC_PROJECTS, 15, 30, 286, 75, LBS_NOSEL | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | WS_VSCROLL LTEXT "ReactOS este oferit sub licența GPL, astfel reutilizarea sau redistribuția sa (sau a părților sale componente), cere respectarea licenței GPL.", IDC_STATIC, 15, 110, 234, 19 - PUSHBUTTON "&Afișează GPL", IDC_VIEWGPL, 251, 110, 50, 19 + PUSHBUTTON "Afișează &GPL", IDC_VIEWGPL, 251, 110, 50, 19 LTEXT "Apăsați „Înainte” pentru a continua.", IDC_STATIC, 15, 136, 195, 17 END IDD_OWNERPAGE DIALOGEX 0, 0, 317, 143 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Instalare ReactOS" +CAPTION "Asistentul de instalare ReactOS" FONT 8, "MS Shell Dlg" BEGIN ICON IDI_ICON2, IDC_STATIC, 21, 7, 20, 20 @@ -37,7 +39,7 @@ END IDD_COMPUTERPAGE DIALOGEX 0, 0, 317, 143 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Instalare ReactOS" +CAPTION "Asistentul de instalare ReactOS" FONT 8, "MS Shell Dlg" BEGIN ICON IDI_ICON1, IDC_STATIC, 21, 7, 20, 20 @@ -45,9 +47,9 @@ BEGIN LTEXT "N&ume calculator:", IDC_STATIC, 54, 38, 75, 8 EDITTEXT IDC_COMPUTERNAME, 165, 35, 148, 14, WS_VISIBLE | WS_TABSTOP | ES_AUTOHSCROLL | ES_UPPERCASE ICON IDI_ICON5, IDC_STATIC, 21, 57, 20, 20 - LTEXT "Expertul va crea un cont de utilizator cu numele Administrator. Îl puteți folosi când veți avea nevoie de control complet asupra calculatorului.", IDC_STATIC, 54, 57, 250, 25 + LTEXT "Asistentul va crea un cont de utilizator cu numele Administrator. Îl puteți folosi când veți avea nevoie de control complet asupra calculatorului.", IDC_STATIC, 54, 57, 250, 25 LTEXT "Introduceți o parolă pentru Administrator de maxim 14 caractere.", IDC_STATIC, 54, 87, 250, 8 - LTEXT "P&arolă administrator:", IDC_STATIC, 54, 104, 105, 8 + LTEXT "&Parolă administrator:", IDC_STATIC, 54, 104, 105, 8 EDITTEXT IDC_ADMINPASSWORD1, 165, 101, 148, 14, WS_VISIBLE | WS_TABSTOP | ES_PASSWORD LTEXT "&Confirmarea parolei:", IDC_STATIC, 54, 123, 105, 8 EDITTEXT IDC_ADMINPASSWORD2, 165, 120, 148, 14, WS_VISIBLE | WS_TABSTOP | ES_PASSWORD @@ -55,7 +57,7 @@ END IDD_LOCALEPAGE DIALOGEX 0, 0, 317, 143 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Instalare ReactOS" +CAPTION "Asistentul de instalare ReactOS" FONT 8, "MS Shell Dlg" BEGIN ICON IDI_ICON4, IDC_STATIC, 21, 7, 20, 20 @@ -66,12 +68,12 @@ BEGIN LTEXT "Configurări și localizări pentru tastatură, aranjamente ale caracterelor asociate tastelor la dactilografiere, și alte servicii de text.", IDC_STATIC, 53, 82, 253, 20 LTEXT "", IDC_LAYOUTTEXT, 53, 100, 250, 16 LTEXT "Configurați aranjamentele de tastatură.", IDC_STATIC, 53, 126, 184, 8 - PUSHBUTTON "C&onfigurare…", IDC_CUSTOMLAYOUT, 230, 122, 70, 14 + PUSHBUTTON "Config&urare…", IDC_CUSTOMLAYOUT, 230, 122, 70, 14 END IDD_DATETIMEPAGE DIALOGEX 0, 0, 317, 143 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Instalare ReactOS" +CAPTION "Asistentul de instalare ReactOS" FONT 8, "MS Shell Dlg" BEGIN ICON IDI_ICON3, IDC_STATIC, 21, 10, 20, 20 @@ -80,12 +82,12 @@ BEGIN CONTROL "", IDC_TIMEPICKER, "SysDateTimePick32", DTS_TIMEFORMAT | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 200, 17, 54, 14 LTEXT "Fus orar:", IDC_STATIC, 53, 42, 253, 8 COMBOBOX IDC_TIMEZONELIST, 53, 52, 201, 93, CBS_DROPDOWNLIST | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL - AUTOCHECKBOX "&Ajustează ora automat la schimbarea fusului orar", IDC_AUTODAYLIGHT, 53, 124, 201, 10 + AUTOCHECKBOX "Aj&ustează ora automat la schimbarea fusului orar", IDC_AUTODAYLIGHT, 53, 124, 201, 10 END IDD_PROCESSPAGE DIALOGEX 0, 0, 317, 143 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Instalare ReactOS" +CAPTION "Asistentul de instalare ReactOS" FONT 8, "MS Shell Dlg" BEGIN LTEXT "", IDC_ACTIVITY, 53, 7, 253, 20 @@ -95,13 +97,13 @@ END IDD_FINISHPAGE DIALOGEX 0, 0, 317, 193 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Finalizare instalare ReactOS" +CAPTION "Asistentul de instalare ReactOS" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Terminare Expert instalare ReactOS", IDC_FINISHTITLE, 115, 8, 195, 24 - LTEXT "Instalarea ReactOS a fost finalizată cu succes.\nDupă apasarea butonului „Termină”, calculatorul va reporni.", IDC_STATIC, 115, 40, 195, 100 + LTEXT "Sfârșit de instalare ReactOS", IDC_FINISHTITLE, 115, 8, 195, 24 + LTEXT "Instalarea ReactOS a fost finalizată cu succes.\nDupă apasarea butonului „Sfârșit”, calculatorul va reporni.", IDC_STATIC, 115, 40, 195, 100 CONTROL "", IDC_RESTART_PROGRESS, "msctls_progress32", PBS_SMOOTH | WS_CHILD | WS_VISIBLE | WS_BORDER, 115, 138, 188, 12 - LTEXT "Dacă aveți vreun CD introdus în calculator, scoateți-l. Pentru a reporni calculatorul, apăsați „Termină”.", IDC_STATIC, 115, 169, 195, 17 + LTEXT "Dacă aveți vreun CD introdus în calculator, scoateți-l. Pentru a reporni calculatorul, apăsați „Sfârșit”.", IDC_STATIC, 115, 169, 195, 17 END IDD_GPL DIALOGEX 0, 0, 333, 230 @@ -125,9 +127,9 @@ STRINGTABLE BEGIN IDS_ACKTITLE "Conștientizări" IDS_ACKSUBTITLE "Contribuții aduse și informații despre licență" - IDS_OWNERTITLE "Personalizare" - IDS_OWNERSUBTITLE "Expertul va folosi câteva informații pentru a personaliza ReactOS." - IDS_COMPUTERTITLE "Nume calculator și parolă administrator" + IDS_OWNERTITLE "Personalizarea sistemului de operare" + IDS_OWNERSUBTITLE "Asistentul va folosi câteva informații pentru a personaliza ReactOS." + IDS_COMPUTERTITLE "Numele calculatorului și parola de administrator" IDS_COMPUTERSUBTITLE "Pentru calculator sunt necesare un nume și o parolă de administrator." IDS_LOCALETITLE "Particularizări regionale" IDS_LOCALESUBTITLE "Particularizarea ReactOS pentru anumite regiuni sau limbi." @@ -139,9 +141,9 @@ END STRINGTABLE BEGIN - IDS_REACTOS_SETUP "Instalare ReactOS" + IDS_REACTOS_SETUP "Asistentul de instalare ReactOS" IDS_UNKNOWN_ERROR "Eroare necunoscută" - IDS_REGISTERING_COMPONENTS "Înregistrarea componentelor…" + IDS_REGISTERING_COMPONENTS "Se înregistrează componentele…" IDS_LOADLIBRARY_FAILED "LoadLibrary a eșuat: " IDS_GETPROCADDR_FAILED "GetProcAddr a eșuat: " IDS_REGSVR_FAILED "DllRegisterServer a eșuat: " @@ -163,5 +165,5 @@ END STRINGTABLE BEGIN - IDS_STATUS_INSTALL_DEV "Instalarea dispozitivelor…" + IDS_STATUS_INSTALL_DEV "Se instalează dispozitivele…" END diff --git a/dll/win32/syssetup/security.c b/dll/win32/syssetup/security.c index 015b7c054ac..0e55d0befb5 100644 --- a/dll/win32/syssetup/security.c +++ b/dll/win32/syssetup/security.c @@ -317,6 +317,7 @@ NTSTATUS SetAdministratorPassword(LPCWSTR Password) { PPOLICY_ACCOUNT_DOMAIN_INFO OrigInfo = NULL; + PUSER_ACCOUNT_NAME_INFORMATION AccountNameInfo = NULL; USER_SET_PASSWORD_INFORMATION PasswordInfo; LSA_OBJECT_ATTRIBUTES ObjectAttributes; LSA_HANDLE PolicyHandle = NULL; @@ -370,8 +371,8 @@ SetAdministratorPassword(LPCWSTR Password) } Status = SamOpenUser(DomainHandle, - USER_FORCE_PASSWORD_CHANGE, - DOMAIN_USER_RID_ADMIN, /* 500 */ + USER_FORCE_PASSWORD_CHANGE | USER_READ_GENERAL, + DOMAIN_USER_RID_ADMIN, &UserHandle); if (!NT_SUCCESS(Status)) { @@ -391,7 +392,45 @@ SetAdministratorPassword(LPCWSTR Password) goto done; } + Status = SamQueryInformationUser(UserHandle, + UserAccountNameInformation, + (PVOID*)&AccountNameInfo); + if (!NT_SUCCESS(Status)) + { + DPRINT1("SamSetInformationUser() failed (Status %08lx)\n", Status); + goto done; + } + + AdminInfo.Name = RtlAllocateHeap(RtlGetProcessHeap(), + HEAP_ZERO_MEMORY, + AccountNameInfo->UserName.Length + sizeof(WCHAR)); + if (AdminInfo.Name != NULL) + RtlCopyMemory(AdminInfo.Name, + AccountNameInfo->UserName.Buffer, + AccountNameInfo->UserName.Length); + + AdminInfo.Domain = RtlAllocateHeap(RtlGetProcessHeap(), + HEAP_ZERO_MEMORY, + OrigInfo->DomainName.Length + sizeof(WCHAR)); + if (AdminInfo.Domain != NULL) + RtlCopyMemory(AdminInfo.Domain, + OrigInfo->DomainName.Buffer, + OrigInfo->DomainName.Length); + + AdminInfo.Password = RtlAllocateHeap(RtlGetProcessHeap(), + 0, + (wcslen(Password) + 1) * sizeof(WCHAR)); + if (AdminInfo.Password != NULL) + wcscpy(AdminInfo.Password, Password); + + DPRINT("Administrator Name: %S\n", AdminInfo.Name); + DPRINT("Administrator Domain: %S\n", AdminInfo.Domain); + DPRINT("Administrator Password: %S\n", AdminInfo.Password); + done: + if (AccountNameInfo != NULL) + SamFreeMemory(AccountNameInfo); + if (OrigInfo != NULL) LsaFreeMemory(OrigInfo); @@ -412,5 +451,63 @@ done: return Status; } + +VOID +SetAutoAdminLogon(VOID) +{ + WCHAR szAutoAdminLogon[2]; + HKEY hKey = NULL; + DWORD dwType; + DWORD dwSize; + LONG lError; + + lError = RegOpenKeyExW(HKEY_LOCAL_MACHINE, + L"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon", + 0, + KEY_READ | KEY_WRITE, + &hKey); + if (lError != ERROR_SUCCESS) + return; + + dwSize = 2 * sizeof(WCHAR); + lError = RegQueryValueExW(hKey, + L"AutoAdminLogon", + NULL, + &dwType, + (LPBYTE)szAutoAdminLogon, + &dwSize); + if (lError != ERROR_SUCCESS) + goto done; + + if (wcscmp(szAutoAdminLogon, L"1") == 0) + { + RegSetValueExW(hKey, + L"DefaultDomain", + 0, + REG_SZ, + (LPBYTE)AdminInfo.Domain, + (wcslen(AdminInfo.Domain) + 1) * sizeof(WCHAR)); + + RegSetValueExW(hKey, + L"DefaultUserName", + 0, + REG_SZ, + (LPBYTE)AdminInfo.Name, + (wcslen(AdminInfo.Name) + 1) * sizeof(WCHAR)); + + RegSetValueExW(hKey, + L"DefaultPassword", + 0, + REG_SZ, + (LPBYTE)AdminInfo.Password, + (wcslen(AdminInfo.Password) + 1) * sizeof(WCHAR)); + } + +done: + if (hKey != NULL) + RegCloseKey(hKey); +} + + /* EOF */ diff --git a/dll/win32/syssetup/wizard.c b/dll/win32/syssetup/wizard.c index d6a6ae014f5..39c33631c6a 100644 --- a/dll/win32/syssetup/wizard.c +++ b/dll/win32/syssetup/wizard.c @@ -366,7 +366,7 @@ AckPageDlgProc(HWND hwndDlg, PropSheet_SetWizButtons(GetParent(hwndDlg), PSWIZB_BACK | PSWIZB_NEXT); if (SetupData.UnattendSetup) { - SetWindowLongPtr(hwndDlg, DWL_MSGRESULT, IDD_OWNERPAGE); + SetWindowLongPtr(hwndDlg, DWL_MSGRESULT, IDD_LOCALEPAGE); return TRUE; } break; @@ -532,18 +532,22 @@ WriteComputerSettings(WCHAR * ComputerName, HWND hwndDlg) { WCHAR Title[64]; WCHAR ErrorComputerName[256]; + if (!SetComputerNameW(ComputerName)) { - if (0 == LoadStringW(hDllInstance, IDS_REACTOS_SETUP, Title, sizeof(Title) / sizeof(Title[0]))) + if (hwndDlg != NULL) { - wcscpy(Title, L"ReactOS Setup"); + if (0 == LoadStringW(hDllInstance, IDS_REACTOS_SETUP, Title, sizeof(Title) / sizeof(Title[0]))) + { + wcscpy(Title, L"ReactOS Setup"); + } + if (0 == LoadStringW(hDllInstance, IDS_WZD_SETCOMPUTERNAME, ErrorComputerName, + sizeof(ErrorComputerName) / sizeof(ErrorComputerName[0]))) + { + wcscpy(ErrorComputerName, L"Setup failed to set the computer name."); + } + MessageBoxW(hwndDlg, ErrorComputerName, Title, MB_ICONERROR | MB_OK); } - if (0 == LoadStringW(hDllInstance, IDS_WZD_SETCOMPUTERNAME, ErrorComputerName, - sizeof(ErrorComputerName) / sizeof(ErrorComputerName[0]))) - { - wcscpy(ErrorComputerName, L"Setup failed to set the computer name."); - } - MessageBoxW(hwndDlg, ErrorComputerName, Title, MB_ICONERROR | MB_OK); return FALSE; } @@ -617,6 +621,8 @@ ComputerPageDlgProc(HWND hwndDlg, SendMessage(GetDlgItem(hwndDlg, IDC_COMPUTERNAME), WM_SETTEXT, 0, (LPARAM)SetupData.ComputerName); SendMessage(GetDlgItem(hwndDlg, IDC_ADMINPASSWORD1), WM_SETTEXT, 0, (LPARAM)SetupData.AdminPassword); SendMessage(GetDlgItem(hwndDlg, IDC_ADMINPASSWORD2), WM_SETTEXT, 0, (LPARAM)SetupData.AdminPassword); + WriteComputerSettings(SetupData.ComputerName, NULL); + SetAdministratorPassword(SetupData.AdminPassword); } } @@ -634,7 +640,7 @@ ComputerPageDlgProc(HWND hwndDlg, PropSheet_SetWizButtons(GetParent(hwndDlg), PSWIZB_BACK | PSWIZB_NEXT); if (SetupData.UnattendSetup && WriteComputerSettings(SetupData.ComputerName, hwndDlg)) { - SetWindowLongPtr(hwndDlg, DWL_MSGRESULT, IDD_LOCALEPAGE); + SetWindowLongPtr(hwndDlg, DWL_MSGRESULT, IDD_DATETIMEPAGE); return TRUE; } break; @@ -918,7 +924,7 @@ LocalePageDlgProc(HWND hwndDlg, RunControlPanelApplet(hwndDlg, L"intl.cpl,,/f:\"unattend.inf\""); } - SetWindowLongPtr(hwndDlg, DWL_MSGRESULT, IDD_DATETIMEPAGE); + SetWindowLongPtr(hwndDlg, DWL_MSGRESULT, IDD_OWNERPAGE); return TRUE; } break; @@ -2276,6 +2282,15 @@ InstallWizard(VOID) psp.pfnDlgProc = AckPageDlgProc; ahpsp[nPages++] = CreatePropertySheetPage(&psp); + /* Create the Locale page */ + psp.dwFlags = PSP_DEFAULT | PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE; + psp.pszHeaderTitle = MAKEINTRESOURCE(IDS_LOCALETITLE); + psp.pszHeaderSubTitle = MAKEINTRESOURCE(IDS_LOCALESUBTITLE); + psp.pfnDlgProc = LocalePageDlgProc; + psp.pszTemplate = MAKEINTRESOURCE(IDD_LOCALEPAGE); + ahpsp[nPages++] = CreatePropertySheetPage(&psp); + + /* Create the Owner page */ psp.dwFlags = PSP_DEFAULT | PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE; psp.pszHeaderTitle = MAKEINTRESOURCE(IDS_OWNERTITLE); @@ -2293,15 +2308,6 @@ InstallWizard(VOID) ahpsp[nPages++] = CreatePropertySheetPage(&psp); - /* Create the Locale page */ - psp.dwFlags = PSP_DEFAULT | PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE; - psp.pszHeaderTitle = MAKEINTRESOURCE(IDS_LOCALETITLE); - psp.pszHeaderSubTitle = MAKEINTRESOURCE(IDS_LOCALESUBTITLE); - psp.pfnDlgProc = LocalePageDlgProc; - psp.pszTemplate = MAKEINTRESOURCE(IDD_LOCALEPAGE); - ahpsp[nPages++] = CreatePropertySheetPage(&psp); - - /* Create the DateTime page */ psp.dwFlags = PSP_DEFAULT | PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE; psp.pszHeaderTitle = MAKEINTRESOURCE(IDS_DATETIMETITLE); diff --git a/dll/win32/uxtheme/draw.c b/dll/win32/uxtheme/draw.c index f0430e76fb7..a7838e34d35 100644 --- a/dll/win32/uxtheme/draw.c +++ b/dll/win32/uxtheme/draw.c @@ -1755,20 +1755,15 @@ static HBITMAP UXTHEME_DrawThemePartToDib(HTHEME hTheme, HDC hdc, int iPartId, i static HRGN UXTHEME_RegionFromDibBits(RGBQUAD* pBuffer, RGBQUAD* pclrTransparent, LPCRECT pRect) { int x, y, xstart; -#ifdef EXTCREATEREGION_WORKS int cMaxRgnRects, cRgnDataSize, cRgnRects; RECT* prcCurrent; PRGNDATA prgnData; -#else - HRGN hrgnTemp; -#endif ULONG clrTransparent, *pclrCurrent; HRGN hrgnRet; pclrCurrent = (PULONG)pBuffer; clrTransparent = *(PULONG)pclrTransparent; -#ifdef EXTCREATEREGION_WORKS /* Create a region and pre-allocate memory enough for 3 spaces in one row*/ cRgnRects = 0; cMaxRgnRects = 4* (pRect->bottom-pRect->top); @@ -1778,9 +1773,6 @@ static HRGN UXTHEME_RegionFromDibBits(RGBQUAD* pBuffer, RGBQUAD* pclrTransparent prgnData = (PRGNDATA)HeapAlloc(GetProcessHeap(), 0, cRgnDataSize); prcCurrent = (PRECT)prgnData->Buffer; -#else - hrgnRet = CreateRectRgn(0,0,0,0); -#endif /* Calculate the region rects */ y=0; @@ -1804,7 +1796,6 @@ static HRGN UXTHEME_RegionFromDibBits(RGBQUAD* pBuffer, RGBQUAD* pclrTransparent pclrCurrent++; } -#ifdef EXTCREATEREGION_WORKS /* Add the scaned line to the region */ SetRect(prcCurrent, xstart, y,x,y+1); prcCurrent++; @@ -1821,11 +1812,6 @@ static HRGN UXTHEME_RegionFromDibBits(RGBQUAD* pBuffer, RGBQUAD* pclrTransparent cRgnDataSize); prcCurrent = (RECT*)prgnData->Buffer + cRgnRects; } -#else - hrgnTemp = CreateRectRgn(xstart, y,x,y+1); - CombineRgn(hrgnRet, hrgnRet, hrgnTemp, RGN_OR ); - DeleteObject(hrgnTemp); -#endif } else { @@ -1836,7 +1822,6 @@ static HRGN UXTHEME_RegionFromDibBits(RGBQUAD* pBuffer, RGBQUAD* pclrTransparent y++; } -#ifdef EXTCREATEREGION_WORKS /* Fill the region data header */ prgnData->rdh.dwSize = sizeof(prgnData->rdh); prgnData->rdh.iType = RDH_RECTANGLES; @@ -1849,7 +1834,6 @@ static HRGN UXTHEME_RegionFromDibBits(RGBQUAD* pBuffer, RGBQUAD* pclrTransparent /* Free the region data*/ HeapFree(GetProcessHeap(),0,prgnData); -#endif /* return the region*/ return hrgnRet; diff --git a/dll/win32/uxtheme/nonclient.c b/dll/win32/uxtheme/nonclient.c index ad9365f9e6d..db011c93cb4 100644 --- a/dll/win32/uxtheme/nonclient.c +++ b/dll/win32/uxtheme/nonclient.c @@ -155,9 +155,8 @@ ThemeInitDrawContext(PDRAW_CONTEXT pcontext, GetWindowInfo(hWnd, &pcontext->wi); pcontext->hWnd = hWnd; pcontext->Active = IsWindowActive(hWnd, pcontext->wi.dwExStyle); - pcontext->hPrevTheme = GetPropW(hWnd, (LPCWSTR)MAKEINTATOM(atWindowTheme)); - pcontext->theme = OpenThemeData(pcontext->hWnd, L"WINDOW"); - pcontext->scrolltheme = OpenThemeData(pcontext->hWnd, L"SCROLLBAR"); + pcontext->theme = MSSTYLES_OpenThemeClass(ActiveThemeFile, NULL, L"WINDOW"); + pcontext->scrolltheme = MSSTYLES_OpenThemeClass(ActiveThemeFile, NULL, L"SCROLLBAR"); pcontext->CaptionHeight = pcontext->wi.cyWindowBorders; pcontext->CaptionHeight += GetSystemMetrics(pcontext->wi.dwExStyle & WS_EX_TOOLWINDOW ? SM_CYSMCAPTION : SM_CYCAPTION ); @@ -179,8 +178,6 @@ ThemeCleanupDrawContext(PDRAW_CONTEXT pcontext) CloseThemeData (pcontext->theme); CloseThemeData (pcontext->scrolltheme); - SetPropW(pcontext->hWnd, (LPCWSTR)MAKEINTATOM(atWindowTheme), pcontext->hPrevTheme); - if(pcontext->hRgn != NULL) { DeleteObject(pcontext->hRgn); @@ -289,10 +286,7 @@ ThemeDrawCaptionButtons(PDRAW_CONTEXT pcontext, DWORD htHot, DWORD htDown) { RECT rcCurrent; - /* Check if the window has caption buttons */ - if (!((pcontext->wi.dwStyle & WS_CAPTION) && (pcontext->wi.dwStyle & WS_SYSMENU))) - return ; - + /* Calculate the area of the caption */ rcCurrent.top = rcCurrent.left = 0; rcCurrent.right = pcontext->wi.rcWindow.right - pcontext->wi.rcWindow.left; rcCurrent.bottom = pcontext->CaptionHeight; @@ -336,7 +330,7 @@ ThemeDrawCaption(PDRAW_CONTEXT pcontext, RECT* prcCurrent) /* Draw the caption background*/ rcPart = *prcCurrent; - rcPart.bottom = pcontext->CaptionHeight; + rcPart.bottom = rcPart.top + pcontext->CaptionHeight; prcCurrent->top = rcPart.bottom; DrawThemeBackground(pcontext->theme, pcontext->hDC,iPart,iState,&rcPart,NULL); @@ -400,7 +394,7 @@ ThemeDrawBorders(PDRAW_CONTEXT pcontext, RECT* prcCurrent) /* Draw the left border */ rcPart = *prcCurrent; - rcPart.right = pcontext->wi.cxWindowBorders ; + rcPart.right = rcPart.left + pcontext->wi.cxWindowBorders ; prcCurrent->left = rcPart.right; DrawThemeBackground(pcontext->theme, pcontext->hDC,WP_FRAMELEFT, iState, &rcPart, NULL); @@ -625,7 +619,7 @@ ThemeDrawMenuBar(PDRAW_CONTEXT pcontext, PRECT prcCurrent) } static void -ThemePaintWindow(PDRAW_CONTEXT pcontext, RECT* prcCurrent) +ThemePaintWindow(PDRAW_CONTEXT pcontext, RECT* prcCurrent, BOOL bDoDoubleBuffering) { if(!(pcontext->wi.dwStyle & WS_VISIBLE)) return; @@ -638,9 +632,11 @@ ThemePaintWindow(PDRAW_CONTEXT pcontext, RECT* prcCurrent) if((pcontext->wi.dwStyle & WS_CAPTION)==WS_CAPTION) { - ThemeStartBufferedPaint(pcontext, prcCurrent->right, pcontext->CaptionHeight); + if (bDoDoubleBuffering) + ThemeStartBufferedPaint(pcontext, prcCurrent->right, pcontext->CaptionHeight); ThemeDrawCaption(pcontext, prcCurrent); - ThemeEndBufferedPaint(pcontext, 0, 0, prcCurrent->right, pcontext->CaptionHeight); + if (bDoDoubleBuffering) + ThemeEndBufferedPaint(pcontext, 0, 0, prcCurrent->right, pcontext->CaptionHeight); ThemeDrawBorders(pcontext, prcCurrent); } else @@ -673,7 +669,7 @@ ThemeHandleNCPaint(HWND hWnd, HRGN hRgn) rcCurrent = context.wi.rcWindow; OffsetRect( &rcCurrent, -context.wi.rcWindow.left, -context.wi.rcWindow.top); - ThemePaintWindow(&context, &rcCurrent); + ThemePaintWindow(&context, &rcCurrent, TRUE); ThemeCleanupDrawContext(&context); return 0; @@ -684,29 +680,57 @@ ThemeHandleNcMouseMove(HWND hWnd, DWORD ht, POINT* pt) { DRAW_CONTEXT context; TRACKMOUSEEVENT tme; + DWORD style; + PWND_CONTEXT pcontext; + /* First of all check if we have something to do here */ + style = GetWindowLongW(hWnd, GWL_STYLE); + if((style & (WS_CAPTION|WS_HSCROLL|WS_VSCROLL))==0) + return 0; + + /* Get theme data for this window */ + pcontext = ThemeGetWndContext(hWnd); + if (pcontext == NULL) + return 0; + + /* Begin tracking in the non client area if we are not tracking yet */ tme.cbSize = sizeof(TRACKMOUSEEVENT); tme.dwFlags = TME_QUERY; tme.hwndTrack = hWnd; TrackMouseEvent(&tme); - if (tme.dwFlags != (TME_LEAVE | TME_NONCLIENT)) + if (tme.dwFlags != (TME_LEAVE | TME_NONCLIENT)) { tme.hwndTrack = hWnd; tme.dwFlags = TME_LEAVE | TME_NONCLIENT; TrackMouseEvent(&tme); } + /* Dont do any drawing if the hit test wasn't changed */ + if (ht == pcontext->lastHitTest) + return 0; + ThemeInitDrawContext(&context, hWnd, 0); - ThemeDrawCaptionButtons(&context, ht, 0); + if (context.wi.dwStyle & WS_SYSMENU) + { + if (HT_ISBUTTON(ht) || HT_ISBUTTON(pcontext->lastHitTest)) + ThemeDrawCaptionButtons(&context, ht, 0); + } - if(context.wi.dwStyle & WS_HSCROLL) - ThemeDrawScrollBar(&context, SB_HORZ , ht == HTHSCROLL ? pt : NULL); - - if(context.wi.dwStyle & WS_VSCROLL) - ThemeDrawScrollBar(&context, SB_VERT, ht == HTVSCROLL ? pt : NULL); + if (context.wi.dwStyle & WS_HSCROLL) + { + if (ht == HTHSCROLL || pcontext->lastHitTest == HTHSCROLL) + ThemeDrawScrollBar(&context, SB_HORZ , ht == HTHSCROLL ? pt : NULL); + } + if (context.wi.dwStyle & WS_VSCROLL) + { + if (ht == HTVSCROLL || pcontext->lastHitTest == HTVSCROLL) + ThemeDrawScrollBar(&context, SB_VERT, ht == HTVSCROLL ? pt : NULL); + } ThemeCleanupDrawContext(&context); + pcontext->lastHitTest = ht; + return 0; } @@ -714,18 +738,33 @@ static LRESULT ThemeHandleNcMouseLeave(HWND hWnd) { DRAW_CONTEXT context; + DWORD style; + PWND_CONTEXT pWndContext; + + /* First of all check if we have something to do here */ + style = GetWindowLongW(hWnd, GWL_STYLE); + if((style & (WS_CAPTION|WS_HSCROLL|WS_VSCROLL))==0) + return 0; + + /* Get theme data for this window */ + pWndContext = ThemeGetWndContext(hWnd); + if (pWndContext == NULL) + return 0; ThemeInitDrawContext(&context, hWnd, 0); - ThemeDrawCaptionButtons(&context, 0, 0); + if (context.wi.dwStyle & WS_SYSMENU && HT_ISBUTTON(pWndContext->lastHitTest)) + ThemeDrawCaptionButtons(&context, 0, 0); - if(context.wi.dwStyle & WS_HSCROLL) - ThemeDrawScrollBar(&context, SB_HORZ, NULL); + if (context.wi.dwStyle & WS_HSCROLL && pWndContext->lastHitTest == HTHSCROLL) + ThemeDrawScrollBar(&context, SB_HORZ, NULL); - if(context.wi.dwStyle & WS_VSCROLL) + if (context.wi.dwStyle & WS_VSCROLL && pWndContext->lastHitTest == HTVSCROLL) ThemeDrawScrollBar(&context, SB_VERT, NULL); ThemeCleanupDrawContext(&context); + pWndContext->lastHitTest = HTNOWHERE; + return 0; } @@ -733,17 +772,19 @@ static VOID ThemeHandleButton(HWND hWnd, WPARAM wParam) { MSG Msg; - BOOL Pressed = TRUE; // , OldState; + BOOL Pressed = TRUE; WPARAM SCMsg, ht; ULONG Style; DRAW_CONTEXT context; + PWND_CONTEXT pWndContext; Style = GetWindowLongW(hWnd, GWL_STYLE); + if (!((Style & WS_CAPTION) && (Style & WS_SYSMENU))) + return ; + switch (wParam) { case HTCLOSE: - if (!(Style & WS_SYSMENU)) - return; SCMsg = SC_CLOSE; break; case HTMINBUTTON: @@ -760,8 +801,14 @@ ThemeHandleButton(HWND hWnd, WPARAM wParam) return; } + /* Get theme data for this window */ + pWndContext = ThemeGetWndContext(hWnd); + if (pWndContext == NULL) + return; + ThemeInitDrawContext(&context, hWnd, 0); ThemeDrawCaptionButtons(&context, 0, wParam); + pWndContext->lastHitTest = wParam; SetCapture(hWnd); @@ -776,14 +823,19 @@ ThemeHandleButton(HWND hWnd, WPARAM wParam) if (Msg.message != WM_MOUSEMOVE) continue; - //OldState = Pressed; ht = SendMessage(hWnd, WM_NCHITTEST, 0, MAKELPARAM(Msg.pt.x, Msg.pt.y)); Pressed = (ht == wParam); - ThemeDrawCaptionButtons(&context, 0, Pressed ? wParam: 0); + /* Only draw the buttons if the hit test changed */ + if (ht != pWndContext->lastHitTest && + (HT_ISBUTTON(ht) || HT_ISBUTTON(pWndContext->lastHitTest))) + { + ThemeDrawCaptionButtons(&context, 0, Pressed ? wParam: 0); + pWndContext->lastHitTest = ht; + } } - ThemeDrawCaptionButtons(&context, 0, 0); + ThemeDrawCaptionButtons(&context, ht, 0); ThemeCleanupDrawContext(&context); ReleaseCapture(); @@ -1075,3 +1127,70 @@ ThemeWndProc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam, WNDPROC DefWndPr return DefWndProc(hWnd, Msg, wParam, lParam); } } + +HRESULT WINAPI DrawNCPreview(HDC hDC, + DWORD DNCP_Flag, + LPRECT prcPreview, + LPCWSTR pszThemeFileName, + LPCWSTR pszColorName, + LPCWSTR pszSizeName, + PNONCLIENTMETRICSW pncMetrics, + COLORREF* lpaRgbValues) +{ + WNDCLASSEXW DummyPreviewWindowClass; + HWND hwndDummy; + HRESULT hres; + HTHEMEFILE hThemeFile; + DRAW_CONTEXT context; + RECT rcCurrent; + + /* FIXME: We also need to implement drawing the rest of the preview windows + * and make use of the ncmetrics and colors passed as parameters */ + + /* Create a dummy window that will be used to trick the paint funtions */ + memset(&DummyPreviewWindowClass, 0, sizeof(DummyPreviewWindowClass)); + DummyPreviewWindowClass.cbSize = sizeof(DummyPreviewWindowClass); + DummyPreviewWindowClass.lpszClassName = L"DummyPreviewWindowClass"; + DummyPreviewWindowClass.hbrBackground = (HBRUSH)(COLOR_WINDOW+1); + DummyPreviewWindowClass.hInstance = hDllInst; + DummyPreviewWindowClass.lpfnWndProc = DefWindowProcW; + if (!RegisterClassExW(&DummyPreviewWindowClass)) + return E_FAIL; + + hwndDummy = CreateWindowExW(0, L"DummyPreviewWindowClass", L"Active window", WS_OVERLAPPEDWINDOW,30,30,300,150,0,0,hDllInst,NULL); + if (!hwndDummy) + return E_FAIL; + + hres = OpenThemeFile(pszThemeFileName, pszColorName, pszSizeName, &hThemeFile,0); + if (FAILED(hres)) + return hres; + + /* Initialize the special draw context for the preview */ + context.hDC = hDC; + context.hWnd = hwndDummy; + context.theme = OpenThemeDataFromFile(hThemeFile, hwndDummy, L"WINDOW", 0); + if (!context.theme) + return E_FAIL; + context.scrolltheme = OpenThemeDataFromFile(hThemeFile, hwndDummy, L"SCROLLBAR", 0); + if (!context.theme) + return E_FAIL; + context.Active = TRUE; + if (!GetWindowInfo(hwndDummy, &context.wi)) + return E_FAIL; + context.wi.dwStyle |= WS_VISIBLE; + context.CaptionHeight = context.wi.cyWindowBorders; + context.CaptionHeight += GetSystemMetrics(context.wi.dwExStyle & WS_EX_TOOLWINDOW ? SM_CYSMCAPTION : SM_CYCAPTION ); + context.hRgn = CreateRectRgnIndirect(&context.wi.rcWindow); + + /* Paint the window on the preview hDC */ + rcCurrent = context.wi.rcWindow; + ThemePaintWindow(&context, &rcCurrent, FALSE); + context.hDC = NULL; + ThemeCleanupDrawContext(&context); + + /* Cleanup */ + DestroyWindow(hwndDummy); + UnregisterClassW(L"DummyPreviewWindowClass", hDllInst); + + return S_OK; +} diff --git a/dll/win32/uxtheme/system.c b/dll/win32/uxtheme/system.c index 2f2799fc6e2..9f475403ee8 100644 --- a/dll/win32/uxtheme/system.c +++ b/dll/win32/uxtheme/system.c @@ -50,7 +50,7 @@ static ATOM atSubAppName; static ATOM atSubIdList; ATOM atWndContrext; -static PTHEME_FILE ActiveThemeFile; +PTHEME_FILE ActiveThemeFile; /***********************************************************************/ @@ -138,6 +138,39 @@ static HRESULT UXTHEME_SetActiveTheme(PTHEME_FILE tf) return S_OK; } +static BOOL bIsThemeActive(LPCWSTR pszTheme, LPCWSTR pszColor, LPCWSTR pszSize) +{ + if (ActiveThemeFile == NULL) + return FALSE; + + if (wcscmp(pszTheme, ActiveThemeFile->szThemeFile) != 0) + return FALSE; + + if (!pszColor[0]) + { + if (ActiveThemeFile->pszAvailColors != ActiveThemeFile->pszSelectedColor) + return FALSE; + } + else + { + if (wcscmp(pszColor, ActiveThemeFile->pszSelectedColor) != 0) + return FALSE; + } + + if (!pszSize[0]) + { + if (ActiveThemeFile->pszAvailSizes != ActiveThemeFile->pszSelectedSize) + return FALSE; + } + else + { + if (wcscmp(pszSize, ActiveThemeFile->pszSelectedSize) != 0) + return FALSE; + } + + return TRUE; +} + /*********************************************************************** * UXTHEME_LoadTheme * @@ -186,7 +219,14 @@ void UXTHEME_LoadTheme(BOOL bLoad) bThemeActive = FALSE; } - if(bThemeActive) { + if(bThemeActive) + { + if( bIsThemeActive(szCurrentTheme, szCurrentColor, szCurrentSize) ) + { + TRACE("Tried to load active theme again\n"); + return; + } + /* Make sure the theme requested is actually valid */ hr = MSSTYLES_OpenThemeFile(szCurrentTheme, szCurrentColor[0]?szCurrentColor:NULL, @@ -471,6 +511,8 @@ static HRESULT UXTHEME_ApplyTheme(PTHEME_FILE tf) WCHAR tmp[2]; HRESULT hr; + TRACE("UXTHEME_ApplyTheme\n"); + if (tf && !ActiveThemeFile) { UXTHEME_BackupSystemMetrics(); @@ -562,7 +604,7 @@ BOOL WINAPI IsThemeActive(void) WCHAR tmp[10]; DWORD buffsize; - TRACE("\n"); + TRACE("IsThemeActive\n"); SetLastError(ERROR_SUCCESS); if (ActiveThemeFile) @@ -1303,16 +1345,3 @@ HRESULT WINAPI CheckThemeSignature(LPCWSTR pszThemeFileName) MSSTYLES_CloseThemeFile(pt); return S_OK; } - -HRESULT WINAPI DrawNCPreview(HDC hDC, - DWORD DNCP_Flag, - LPRECT prcPreview, - LPCWSTR pszThemeFileName, - LPCWSTR pszColorName, - LPCWSTR pszSizeName, - PNONCLIENTMETRICSW pncMetrics, - COLORREF* lpaRgbValues) -{ - return E_NOTIMPL; -} - diff --git a/dll/win32/uxtheme/themehooks.c b/dll/win32/uxtheme/themehooks.c index 85081dc300b..8ce2c2416bc 100644 --- a/dll/win32/uxtheme/themehooks.c +++ b/dll/win32/uxtheme/themehooks.c @@ -83,7 +83,7 @@ static BOOL CALLBACK ThemeCleanupWndContext(HWND hWnd, LPARAM msg) return TRUE; } -void SetThemeRegion(HWND hWnd, PWND_CONTEXT pcontext) +void SetThemeRegion(HWND hWnd) { HTHEME hTheme; RECT rcWindow; @@ -91,24 +91,10 @@ void SetThemeRegion(HWND hWnd, PWND_CONTEXT pcontext) int CaptionHeight, iPart; WINDOWINFO wi; - if(!IsAppThemed()) - { - if(pcontext->HasThemeRgn) - { - pcontext->HasThemeRgn = FALSE; - user32ApiHook.SetWindowRgn(hWnd, 0, TRUE); - } - return; - } + TRACE("SetThemeRegion %d\n", hWnd); wi.cbSize = sizeof(wi); - GetWindowInfo(hWnd, &wi); - - if((wi.dwStyle & WS_CAPTION)!=WS_CAPTION) - { - return; - } /* Get the caption part id */ if (wi.dwExStyle & WS_EX_TOOLWINDOW) @@ -118,8 +104,6 @@ void SetThemeRegion(HWND hWnd, PWND_CONTEXT pcontext) else iPart = WP_CAPTION; - pcontext->HasThemeRgn = TRUE; - CaptionHeight = wi.cyWindowBorders; CaptionHeight += GetSystemMetrics(wi.dwExStyle & WS_EX_TOOLWINDOW ? SM_CYSMCAPTION : SM_CYCAPTION ); @@ -129,10 +113,8 @@ void SetThemeRegion(HWND hWnd, PWND_CONTEXT pcontext) rcWindow.top = 0; rcWindow.left = 0; - hTheme = OpenThemeData (hWnd, L"WINDOW"); - + hTheme = MSSTYLES_OpenThemeClass(ActiveThemeFile, NULL, L"WINDOW"); GetThemeBackgroundRegion(hTheme, 0, iPart, FS_ACTIVE, &rcWindow, &hrgn); - CloseThemeData(hTheme); GetWindowRect(hWnd, &rcWindow); @@ -149,21 +131,51 @@ void SetThemeRegion(HWND hWnd, PWND_CONTEXT pcontext) user32ApiHook.SetWindowRgn(hWnd, hrgn, TRUE); } -int OnPostWinPosChanged(HWND hWnd) +int OnPostWinPosChanged(HWND hWnd, WINDOWPOS* pWinPos) { - PWND_CONTEXT pcontext = ThemeGetWndContext(hWnd); + PWND_CONTEXT pcontext; + DWORD style; - if(pcontext && - pcontext->HasAppDefinedRgn == FALSE && - pcontext->UpdatingRgn == FALSE) + /* We only proceed to change the window shape if it has a caption */ + style = GetWindowLongW(hWnd, GWL_STYLE); + if((style & WS_CAPTION)!=WS_CAPTION) + return 0; + + /* Get theme data for this window */ + pcontext = ThemeGetWndContext(hWnd); + if (pcontext == NULL) + return 0; + + /* Do not change the region of the window if its size wasn't changed */ + if ((pWinPos->flags & SWP_NOSIZE) != 0 && pcontext->DirtyThemeRegion == FALSE) + return 0; + + /* We don't touch the shape of the window if the application sets it on its own */ + if (pcontext->HasAppDefinedRgn == TRUE) + return 0; + + /* Calling SetWindowRgn will call SetWindowPos again so we need to avoid this recursion */ + if (pcontext->UpdatingRgn == TRUE) + return 0; + + if(!IsAppThemed()) { - pcontext->UpdatingRgn = TRUE; - SetThemeRegion(hWnd, pcontext); - pcontext = ThemeGetWndContext(hWnd); - pcontext->UpdatingRgn = FALSE; + if(pcontext->HasThemeRgn) + { + pcontext->HasThemeRgn = FALSE; + user32ApiHook.SetWindowRgn(hWnd, 0, TRUE); + } + return 0; } - return 0; -} + + pcontext->DirtyThemeRegion = FALSE; + pcontext->HasThemeRgn = TRUE; + pcontext->UpdatingRgn = TRUE; + SetThemeRegion(hWnd); + pcontext->UpdatingRgn = FALSE; + + return 0; + } /********************************************************************** * Hook Functions @@ -172,7 +184,7 @@ int OnPostWinPosChanged(HWND hWnd) static LRESULT CALLBACK ThemeDefWindowProcW(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam) { - if(!IsThemeActive()) + if(!IsAppThemed()) { return user32ApiHook.DefWindowProcW(hWnd, Msg, @@ -190,7 +202,7 @@ ThemeDefWindowProcW(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam) static LRESULT CALLBACK ThemeDefWindowProcA(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam) { - if(!IsThemeActive()) + if(!IsAppThemed()) { return user32ApiHook.DefWindowProcA(hWnd, Msg, @@ -211,8 +223,15 @@ ThemePreWindowProc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam, ULONG_PTR switch(Msg) { case WM_THEMECHANGED: - UXTHEME_LoadTheme(TRUE); - return 0; + if (GetAncestor(hWnd, GA_PARENT) == GetDesktopWindow()) + UXTHEME_LoadTheme(TRUE); + case WM_NCCREATE: + { + PWND_CONTEXT pcontext = ThemeGetWndContext(hWnd); + if (pcontext == NULL) + return 0; + pcontext->DirtyThemeRegion = TRUE; + } } return 0; @@ -226,7 +245,7 @@ ThemePostWindowProc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam, ULONG_PTR { case WM_WINDOWPOSCHANGED: { - return OnPostWinPosChanged(hWnd); + return OnPostWinPosChanged(hWnd, (WINDOWPOS*)lParam); } case WM_DESTROY: { diff --git a/dll/win32/uxtheme/uxthemep.h b/dll/win32/uxtheme/uxthemep.h index c54e19378c3..15b3608a627 100644 --- a/dll/win32/uxtheme/uxthemep.h +++ b/dll/win32/uxtheme/uxthemep.h @@ -8,6 +8,7 @@ #include #include #include +#include #include #include @@ -111,14 +112,17 @@ LPCWSTR UXINI_GetNextValue(PUXINI_FILE uf, DWORD *dwNameLen, LPCWSTR *lpValue, D BOOL UXINI_FindValue(PUXINI_FILE uf, LPCWSTR lpName, LPCWSTR *lpValue, DWORD *dwValueLen); - +/* The window context stores data for the window needed through the life of the window */ typedef struct _WND_CONTEXT { + UINT lastHitTest; BOOL HasAppDefinedRgn; BOOL HasThemeRgn; BOOL UpdatingRgn; + BOOL DirtyThemeRegion; } WND_CONTEXT, *PWND_CONTEXT; +/* The draw context stores data that are needed by the drawing operations in the non client area of the window */ typedef struct _DRAW_CONTEXT { HWND hWnd; @@ -168,6 +172,8 @@ enum SCROLL_HITTEST SCROLL_BOTTOM_ARROW /* Bottom or right arrow */ }; +#define HT_ISBUTTON(ht) ((ht) == HTMINBUTTON || (ht) == HTMAXBUTTON || (ht) == HTCLOSE || (ht) == HTHELP) + #define HASSIZEGRIP(Style, ExStyle, ParentStyle, WindowRect, ParentClientRect) \ ((!(Style & WS_CHILD) && (Style & WS_THICKFRAME) && !(Style & WS_MAXIMIZE)) || \ ((Style & WS_CHILD) && (ParentStyle & WS_THICKFRAME) && !(ParentStyle & WS_MAXIMIZE) && \ @@ -208,6 +214,7 @@ extern HINSTANCE hDllInst; extern ATOM atWindowTheme; extern ATOM atWndContrext; extern BOOL gbThemeHooksActive; +extern PTHEME_FILE ActiveThemeFile; void UXTHEME_InitSystem(HINSTANCE hInst); void UXTHEME_LoadTheme(BOOL bLoad); diff --git a/dll/win32/wininet/lang/wininet_Ro.rc b/dll/win32/wininet/lang/wininet_Ro.rc index 065fc1088d5..7aceed99168 100644 --- a/dll/win32/wininet/lang/wininet_Ro.rc +++ b/dll/win32/wininet/lang/wininet_Ro.rc @@ -1,6 +1,7 @@ /* * Copyright 2003 Mike McCormack for CodeWeavers * Copyright 2008 Michael Stefaniuc + * 2011 Fulea Ștefan * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -27,7 +28,7 @@ CAPTION "Introducere parolă de rețea" FONT 8, "MS Shell Dlg" { LTEXT "Introduceți numele de utilizator și parola:", -1, 40, 6, 150, 15 - LTEXT "Proxy", -1, 40, 26, 50, 10 + LTEXT "Mandatar", -1, 40, 26, 50, 10 LTEXT "Domeniu", -1, 40, 46, 50, 10 LTEXT "Utilizator", -1, 40, 66, 50, 10 LTEXT "Parolă", -1, 40, 86, 50, 10 @@ -35,10 +36,10 @@ FONT 8, "MS Shell Dlg" LTEXT "", IDC_REALM, 80, 46, 150, 14, 0 EDITTEXT IDC_USERNAME, 80, 66, 150, 14, ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP EDITTEXT IDC_PASSWORD, 80, 86, 150, 14, ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP | ES_PASSWORD - CHECKBOX "&Salvează această parolă (nesigur)", IDC_SAVEPASSWORD, + CHECKBOX "&Păstrează această parolă (nerecomandat)", IDC_SAVEPASSWORD, 80, 106, 150, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP - PUSHBUTTON "OK", IDOK, 98, 126, 56, 14, WS_GROUP | WS_TABSTOP | BS_DEFPUSHBUTTON - PUSHBUTTON "Renunță", IDCANCEL, 158, 126, 56, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "Con&firmă", IDOK, 98, 126, 56, 14, WS_GROUP | WS_TABSTOP | BS_DEFPUSHBUTTON + PUSHBUTTON "A&nulează", IDCANCEL, 158, 126, 56, 14, WS_GROUP | WS_TABSTOP } IDD_AUTHDLG DIALOG 36, 24, 250, 154 @@ -55,8 +56,8 @@ FONT 8, "MS Shell Dlg" LTEXT "", IDC_REALM, 80, 46, 150, 14, 0 EDITTEXT IDC_USERNAME, 80, 66, 150, 14, ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP EDITTEXT IDC_PASSWORD, 80, 86, 150, 14, ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP | ES_PASSWORD - CHECKBOX "&Salvează această parolă (nesigur)", IDC_SAVEPASSWORD, + CHECKBOX "&Păstreată această parolă (nerecomandat)", IDC_SAVEPASSWORD, 80, 106, 150, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP - PUSHBUTTON "OK", IDOK, 98, 126, 56, 14, WS_GROUP | WS_TABSTOP | BS_DEFPUSHBUTTON - PUSHBUTTON "Renunță", IDCANCEL, 158, 126, 56, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "Con&firmă", IDOK, 98, 126, 56, 14, WS_GROUP | WS_TABSTOP | BS_DEFPUSHBUTTON + PUSHBUTTON "A&nulează", IDCANCEL, 158, 126, 56, 14, WS_GROUP | WS_TABSTOP } diff --git a/dll/win32/ws2_32_new/src/addrinfo.c b/dll/win32/ws2_32_new/src/addrinfo.c index 69d45261037..8e0b3aa3505 100644 --- a/dll/win32/ws2_32_new/src/addrinfo.c +++ b/dll/win32/ws2_32_new/src/addrinfo.c @@ -87,15 +87,18 @@ WINAPI ParseV4Address(IN PCWSTR AddressString, OUT PDWORD pAddress) { - DWORD Address; - LPWSTR Ip = 0; + IN_ADDR Address; + PCWSTR Terminator; + NTSTATUS Status; - /* Do the conversion, don't accept wildcard */ - RtlIpv4StringToAddressW((LPWSTR)AddressString, 0, &Ip, (IN_ADDR *)&Address); + *pAddress = 0; + Status = RtlIpv4StringToAddressW(AddressString, FALSE, &Terminator, &Address); - /* Return the address and success */ - *pAddress = Address; - return FALSE; + if (!NT_SUCCESS(Status)) + return FALSE; + + *pAddress = Address.S_un.S_addr; + return TRUE; } static diff --git a/drivers/CMakeLists.txt b/drivers/CMakeLists.txt index be7f2a02b76..14797921bc9 100644 --- a/drivers/CMakeLists.txt +++ b/drivers/CMakeLists.txt @@ -5,6 +5,7 @@ add_subdirectory(base) add_subdirectory(battery) add_subdirectory(bluetooth) add_subdirectory(bus) +add_subdirectory(crypto) add_subdirectory(filesystems) add_subdirectory(filters) add_subdirectory(hid) diff --git a/drivers/battery/battc/battc.c b/drivers/battery/battc/battc.c index 3fc4c256e51..79922db38ca 100644 --- a/drivers/battery/battc/battc.c +++ b/drivers/battery/battc/battc.c @@ -151,18 +151,26 @@ BatteryClassInitializeDevice(PBATTERY_MINIPORT_INFO MiniportInfo, ExInitializeFastMutex(&BattClass->Mutex); - Status = IoRegisterDeviceInterface(MiniportInfo->Pdo, - &GUID_DEVICE_BATTERY, - NULL, - &BattClass->InterfaceName); - if (NT_SUCCESS(Status)) + if (MiniportInfo->Pdo != NULL) { - DPRINT("Initialized battery interface: %wZ\n", &BattClass->InterfaceName); - IoSetDeviceInterfaceState(&BattClass->InterfaceName, TRUE); - } - else - { - DPRINT1("IoRegisterDeviceInterface failed (0x%x)\n", Status); + Status = IoRegisterDeviceInterface(MiniportInfo->Pdo, + &GUID_DEVICE_BATTERY, + NULL, + &BattClass->InterfaceName); + if (NT_SUCCESS(Status)) + { + DPRINT("Initialized battery interface: %wZ\n", &BattClass->InterfaceName); + Status = IoSetDeviceInterfaceState(&BattClass->InterfaceName, TRUE); + if (Status == STATUS_OBJECT_NAME_EXISTS) + { + DPRINT1("Got STATUS_OBJECT_NAME_EXISTS for SetDeviceInterfaceState\n"); + Status = STATUS_SUCCESS; + } + } + else + { + DPRINT1("IoRegisterDeviceInterface failed (0x%x)\n", Status); + } } *ClassData = BattClass; diff --git a/drivers/bus/acpi/buspdo.c b/drivers/bus/acpi/buspdo.c index b8ca6c9333d..b5394783128 100644 --- a/drivers/bus/acpi/buspdo.c +++ b/drivers/bus/acpi/buspdo.c @@ -419,6 +419,9 @@ Bus_PDO_QueryDeviceId( switch (stack->Parameters.QueryId.IdType) { case BusQueryDeviceID: + + /* This is a REG_SZ value */ + if (DeviceData->AcpiHandle) { acpi_bus_get_device(DeviceData->AcpiHandle, &Device); @@ -437,9 +440,11 @@ Bus_PDO_QueryDeviceId( L"ACPI\\FixedButton"); } - temp[++length] = UNICODE_NULL; + temp[length++] = UNICODE_NULL; - buffer = ExAllocatePoolWithTag (PagedPool, length * sizeof(WCHAR), 'IPCA'); + NT_ASSERT(length * sizeof(WCHAR) <= sizeof(temp)); + + buffer = ExAllocatePoolWithTag (PagedPool, length * sizeof(WCHAR), 'IPCA'); if (!buffer) { status = STATUS_INSUFFICIENT_RESOURCES; @@ -452,6 +457,9 @@ Bus_PDO_QueryDeviceId( break; case BusQueryInstanceID: + + /* This is a REG_SZ value */ + /* See comment in BusQueryDeviceID case */ if(DeviceData->AcpiHandle) { @@ -466,10 +474,14 @@ Bus_PDO_QueryDeviceId( length = swprintf(temp, L"%ls", L"0000"); } else + { /* FIXME: Generate unique id! */ length = swprintf(temp, L"%ls", L"0000"); + } - temp[++length] = UNICODE_NULL; + temp[length++] = UNICODE_NULL; + + NT_ASSERT(length * sizeof(WCHAR) <= sizeof(temp)); buffer = ExAllocatePoolWithTag (PagedPool, length * sizeof (WCHAR), 'IPCA'); if (!buffer) { @@ -483,6 +495,8 @@ Bus_PDO_QueryDeviceId( break; case BusQueryHardwareIDs: + + /* This is a REG_MULTI_SZ value */ length = 0; /* See comment in BusQueryDeviceID case */ @@ -495,17 +509,6 @@ Bus_PDO_QueryDeviceId( if (strcmp(Device->pnp.hardware_id, "Processor") == 0) { -/* - length += swprintf(&temp[length], - L"ACPI\\%s - %s", - ProcessorVendorIdentifier, ProcessorIdentifier); - length++; - - length += swprintf(&temp[length], - L"*%s - %s", - ProcessorVendorIdentifier, ProcessorIdentifier); - length++; -*/ length = ProcessorHardwareIds.Length / sizeof(WCHAR); src = ProcessorHardwareIds.Buffer; } @@ -514,40 +517,30 @@ Bus_PDO_QueryDeviceId( length += swprintf(&temp[length], L"ACPI\\%hs", Device->pnp.hardware_id); - length++; + temp[length++] = UNICODE_NULL; length += swprintf(&temp[length], L"*%hs", Device->pnp.hardware_id); - length++; - - temp[length] = UNICODE_NULL; - - length++; - - temp[length] = UNICODE_NULL; - src = temp; - + temp[length++] = UNICODE_NULL; + temp[length++] = UNICODE_NULL; + src = temp; } - } - else - { + } + else + { length += swprintf(&temp[length], L"ACPI\\FixedButton"); - length++; + temp[length++] = UNICODE_NULL; length += swprintf(&temp[length], L"*FixedButton"); - length++; - - temp[length] = UNICODE_NULL; - - length++; - - temp[length] = UNICODE_NULL; - src = temp; - } + temp[length++] = UNICODE_NULL; + temp[length++] = UNICODE_NULL; + src = temp; + } + NT_ASSERT(length * sizeof(WCHAR) <= sizeof(temp)); buffer = ExAllocatePoolWithTag (PagedPool, length * sizeof(WCHAR), 'IPCA'); @@ -562,6 +555,8 @@ Bus_PDO_QueryDeviceId( break; case BusQueryCompatibleIDs: + + /* This is a REG_MULTI_SZ value */ length = 0; status = STATUS_NOT_SUPPORTED; @@ -578,18 +573,15 @@ Bus_PDO_QueryDeviceId( length += swprintf(&temp[length], L"ACPI\\%hs", Device->pnp.hardware_id); - length++; + temp[length++] = UNICODE_NULL; length += swprintf(&temp[length], L"*%hs", Device->pnp.hardware_id); - length++; + temp[length++] = UNICODE_NULL; + temp[length++] = UNICODE_NULL; - temp[length] = UNICODE_NULL; - - length++; - - temp[length] = UNICODE_NULL; + NT_ASSERT(length * sizeof(WCHAR) <= sizeof(temp)); buffer = ExAllocatePoolWithTag (PagedPool, length * sizeof(WCHAR), 'IPCA'); if (!buffer) @@ -988,7 +980,7 @@ Bus_PDO_QueryResources( ResourceDescriptor->Flags = CM_RESOURCE_PORT_IO; ResourceDescriptor->u.Port.Start.QuadPart = io_data->Address; ResourceDescriptor->u.Port.Length = io_data->AddressLength; - + ResourceDescriptor++; break; } @@ -1118,7 +1110,7 @@ Bus_PDO_QueryResources( case ACPI_CACHABLE_MEMORY: ResourceDescriptor->Flags |= CM_RESOURCE_MEMORY_CACHEABLE; break; case ACPI_WRITE_COMBINING_MEMORY: ResourceDescriptor->Flags |= CM_RESOURCE_MEMORY_COMBINEDWRITE; break; case ACPI_PREFETCHABLE_MEMORY: ResourceDescriptor->Flags |= CM_RESOURCE_MEMORY_PREFETCHABLE; break; - } + } ResourceDescriptor->u.Memory.Start.QuadPart = addr64_data->Minimum; ResourceDescriptor->u.Memory.Length = addr64_data->AddressLength; } @@ -1163,7 +1155,7 @@ Bus_PDO_QueryResources( case ACPI_CACHABLE_MEMORY: ResourceDescriptor->Flags |= CM_RESOURCE_MEMORY_CACHEABLE; break; case ACPI_WRITE_COMBINING_MEMORY: ResourceDescriptor->Flags |= CM_RESOURCE_MEMORY_COMBINEDWRITE; break; case ACPI_PREFETCHABLE_MEMORY: ResourceDescriptor->Flags |= CM_RESOURCE_MEMORY_PREFETCHABLE; break; - } + } ResourceDescriptor->u.Memory.Start.QuadPart = addr64_data->Minimum; ResourceDescriptor->u.Memory.Length = addr64_data->AddressLength; } @@ -1214,7 +1206,7 @@ Bus_PDO_QueryResources( ResourceDescriptor->Flags |= CM_RESOURCE_MEMORY_READ_WRITE; ResourceDescriptor->u.Memory.Start.QuadPart = memfixed32_data->Address; ResourceDescriptor->u.Memory.Length = memfixed32_data->AddressLength; - + ResourceDescriptor++; break; } @@ -1466,7 +1458,7 @@ Bus_PDO_QueryResourceRequirements( RequirementDescriptor->u.Port.Alignment = 1; RequirementDescriptor->u.Port.MinimumAddress.QuadPart = io_data->Address; RequirementDescriptor->u.Port.MaximumAddress.QuadPart = io_data->Address + io_data->AddressLength - 1; - + RequirementDescriptor++; break; } @@ -1607,7 +1599,7 @@ Bus_PDO_QueryResourceRequirements( case ACPI_CACHABLE_MEMORY: RequirementDescriptor->Flags |= CM_RESOURCE_MEMORY_CACHEABLE; break; case ACPI_WRITE_COMBINING_MEMORY: RequirementDescriptor->Flags |= CM_RESOURCE_MEMORY_COMBINEDWRITE; break; case ACPI_PREFETCHABLE_MEMORY: RequirementDescriptor->Flags |= CM_RESOURCE_MEMORY_PREFETCHABLE; break; - } + } RequirementDescriptor->u.Memory.MinimumAddress.QuadPart = addr64_data->Minimum; RequirementDescriptor->u.Memory.MaximumAddress.QuadPart = addr64_data->Maximum + addr64_data->AddressLength - 1; RequirementDescriptor->u.Memory.Length = addr64_data->AddressLength; @@ -1656,7 +1648,7 @@ Bus_PDO_QueryResourceRequirements( case ACPI_CACHABLE_MEMORY: RequirementDescriptor->Flags |= CM_RESOURCE_MEMORY_CACHEABLE; break; case ACPI_WRITE_COMBINING_MEMORY: RequirementDescriptor->Flags |= CM_RESOURCE_MEMORY_COMBINEDWRITE; break; case ACPI_PREFETCHABLE_MEMORY: RequirementDescriptor->Flags |= CM_RESOURCE_MEMORY_PREFETCHABLE; break; - } + } RequirementDescriptor->u.Memory.MinimumAddress.QuadPart = addr64_data->Minimum; RequirementDescriptor->u.Memory.MaximumAddress.QuadPart = addr64_data->Maximum + addr64_data->AddressLength - 1; RequirementDescriptor->u.Memory.Length = addr64_data->AddressLength; @@ -1714,7 +1706,7 @@ Bus_PDO_QueryResourceRequirements( RequirementDescriptor->u.Memory.MinimumAddress.QuadPart = fixedmem32_data->Address; RequirementDescriptor->u.Memory.MaximumAddress.QuadPart = fixedmem32_data->Address + fixedmem32_data->AddressLength - 1; RequirementDescriptor->u.Memory.Length = fixedmem32_data->AddressLength; - + RequirementDescriptor++; break; } diff --git a/drivers/bus/acpi/cmbatt/cmbpnp.c b/drivers/bus/acpi/cmbatt/cmbpnp.c index f5f43271e8b..f57b55f86e5 100644 --- a/drivers/bus/acpi/cmbatt/cmbpnp.c +++ b/drivers/bus/acpi/cmbatt/cmbpnp.c @@ -23,7 +23,7 @@ CmBattWaitWakeLoop(IN PDEVICE_OBJECT DeviceObject, NTSTATUS Status; PCMBATT_DEVICE_EXTENSION DeviceExtension = DeviceObject->DeviceExtension; if (CmBattDebug & 0x20) DbgPrint("CmBattWaitWakeLoop: Entered.\n"); - + /* Check for success */ if ((NT_SUCCESS(IoStatusBlock->Status)) && (DeviceExtension->WaitWakeEnable)) { @@ -48,7 +48,7 @@ CmBattWaitWakeLoop(IN PDEVICE_OBJECT DeviceObject, DeviceExtension->PowerIrp = NULL; } } - + NTSTATUS NTAPI CmBattIoCompletion(IN PDEVICE_OBJECT DeviceObject, @@ -87,6 +87,7 @@ CmBattGetAcpiInterfaces(IN PDEVICE_OBJECT DeviceObject, /* Build the query */ IoStackLocation = IoGetNextIrpStackLocation(Irp); + IoStackLocation->MajorFunction = IRP_MJ_PNP; IoStackLocation->MinorFunction = IRP_MN_QUERY_INTERFACE; IoStackLocation->Parameters.QueryInterface.InterfaceType = &GUID_ACPI_INTERFACE_STANDARD; IoStackLocation->Parameters.QueryInterface.Size = sizeof(ACPI_INTERFACE_STANDARD); @@ -100,16 +101,15 @@ CmBattGetAcpiInterfaces(IN PDEVICE_OBJECT DeviceObject, /* Initialize our wait event */ KeInitializeEvent(&Event, SynchronizationEvent, 0); - + /* Set the completion routine */ - IoCopyCurrentIrpStackLocationToNext(Irp); IoSetCompletionRoutine(Irp, (PVOID)CmBattIoCompletion, &Event, TRUE, TRUE, TRUE); - + /* Now call ACPI */ Status = IoCallDriver(DeviceObject, Irp); if (Status == STATUS_PENDING) @@ -122,10 +122,10 @@ CmBattGetAcpiInterfaces(IN PDEVICE_OBJECT DeviceObject, NULL); Status = Irp->IoStatus.Status; } - + /* Free the IRP */ IoFreeIrp(Irp); - + /* Return status */ if (!(NT_SUCCESS(Status)) && (CmBattDebug & 0xC)) DbgPrint("CmBattGetAcpiInterfaces: Could not get ACPI driver interfaces, status = %x\n", Status); @@ -157,7 +157,7 @@ CmBattRemoveDevice(IN PDEVICE_OBJECT DeviceObject, DeviceExtension, DeviceExtension->FdoType, DeviceExtension->DeviceId); - + /* Make sure it's safe to go ahead */ IoReleaseRemoveLockAndWait(&DeviceExtension->RemoveLock, 0); @@ -168,7 +168,7 @@ CmBattRemoveDevice(IN PDEVICE_OBJECT DeviceObject, IoCancelIrp(DeviceExtension->PowerIrp); DeviceExtension->PowerIrp = NULL; } - + /* Check what type of FDO is being removed */ Context = DeviceExtension->AcpiInterface.Context; if (DeviceExtension->FdoType == CmBattBattery) @@ -187,7 +187,7 @@ CmBattRemoveDevice(IN PDEVICE_OBJECT DeviceObject, CmBattWmiDeRegistration(DeviceExtension); AcAdapterPdo = NULL; } - + /* Detach and delete */ IoDetachDevice(DeviceExtension->AttachedDevice); IoDeleteDevice(DeviceExtension->DeviceObject); @@ -209,30 +209,30 @@ CmBattPowerDispatch(IN PDEVICE_OBJECT DeviceObject, DeviceExtension = DeviceObject->DeviceExtension; switch (IoStackLocation->MinorFunction) { - case IRP_MN_WAIT_WAKE: + case IRP_MN_WAIT_WAKE: if (CmBattDebug & 0x10) DbgPrint("CmBattPowerDispatch: IRP_MN_WAIT_WAKE\n"); break; - + case IRP_MN_POWER_SEQUENCE: if (CmBattDebug & 0x10) DbgPrint("CmBattPowerDispatch: IRP_MN_POWER_SEQUENCE\n"); break; - + case IRP_MN_QUERY_POWER: if (CmBattDebug & 0x10) DbgPrint("CmBattPowerDispatch: IRP_MN_WAIT_WAKE\n"); break; - + case IRP_MN_SET_POWER: if (CmBattDebug & 0x10) DbgPrint("CmBattPowerDispatch: IRP_MN_SET_POWER type: %d, State: %d \n", IoStackLocation->Parameters.Power.Type, IoStackLocation->Parameters.Power.State); break; - + default: - + if (CmBattDebug & 1) DbgPrint("CmBattPowerDispatch: minor %d\n", IoStackLocation->MinorFunction); break; @@ -252,7 +252,7 @@ CmBattPowerDispatch(IN PDEVICE_OBJECT DeviceObject, Status = Irp->IoStatus.Status; IoCompleteRequest(Irp, IO_NO_INCREMENT); } - + /* Return status */ return Status; } @@ -271,12 +271,12 @@ CmBattPnpDispatch(IN PDEVICE_OBJECT DeviceObject, /* Get stack location and device extension */ IoStackLocation = IoGetCurrentIrpStackLocation(Irp); DeviceExtension = DeviceObject->DeviceExtension; - + /* Set default error */ Status = STATUS_NOT_SUPPORTED; /* Try to acquire the lock before doing anything */ - Status = IoAcquireRemoveLock(&DeviceExtension->RemoveLock, 0); + Status = IoAcquireRemoveLock(&DeviceExtension->RemoveLock, Irp); if (!NT_SUCCESS(Status)) { /* Complete the request */ @@ -287,9 +287,9 @@ CmBattPnpDispatch(IN PDEVICE_OBJECT DeviceObject, /* What's the operation? */ switch (IoStackLocation->MinorFunction) - { + { case IRP_MN_QUERY_PNP_DEVICE_STATE: - + /* Initialize our wait event */ KeInitializeEvent(&Event, SynchronizationEvent, 0); @@ -322,28 +322,28 @@ CmBattPnpDispatch(IN PDEVICE_OBJECT DeviceObject, IoCompleteRequest(Irp, IO_NO_INCREMENT); IoReleaseRemoveLock(&DeviceExtension->RemoveLock, Irp); return Status; - + case IRP_MN_SURPRISE_REMOVAL: if (CmBattDebug & 0x20) DbgPrint("CmBattPnpDispatch: IRP_MN_SURPRISE_REMOVAL\n"); - + /* Lock the device extension and set the handle count to invalid */ ExAcquireFastMutex(&DeviceExtension->FastMutex); DeviceExtension->HandleCount = -1; ExReleaseFastMutex(&DeviceExtension->FastMutex); Status = STATUS_SUCCESS; break; - + case IRP_MN_START_DEVICE: if (CmBattDebug & 0x20) DbgPrint("CmBattPnpDispatch: IRP_MN_START_DEVICE\n"); - + /* Mark the extension as started */ if (DeviceExtension->FdoType == CmBattBattery) DeviceExtension->Started = TRUE; Status = STATUS_SUCCESS; break; - - case IRP_MN_STOP_DEVICE: + + case IRP_MN_STOP_DEVICE: if (CmBattDebug & 0x20) DbgPrint("CmBattPnpDispatch: IRP_MN_STOP_DEVICE\n"); @@ -351,7 +351,7 @@ CmBattPnpDispatch(IN PDEVICE_OBJECT DeviceObject, if (DeviceExtension->FdoType == CmBattBattery) DeviceExtension->Started = FALSE; Status = STATUS_SUCCESS; break; - + case IRP_MN_QUERY_REMOVE_DEVICE: if (CmBattDebug & 0x20) DbgPrint("CmBattPnpDispatch: IRP_MN_QUERY_REMOVE_DEVICE\n"); @@ -376,23 +376,23 @@ CmBattPnpDispatch(IN PDEVICE_OBJECT DeviceObject, /* Fail because there's still open handles */ Status = STATUS_UNSUCCESSFUL; } - + /* Release the lock and return */ ExReleaseFastMutex(&DeviceExtension->FastMutex); break; - + case IRP_MN_REMOVE_DEVICE: if (CmBattDebug & 0x20) DbgPrint("CmBattPnpDispatch: IRP_MN_REMOVE_DEVICE\n"); - + /* Call the remove code */ Status = CmBattRemoveDevice(DeviceObject, Irp); break; - + case IRP_MN_CANCEL_REMOVE_DEVICE: if (CmBattDebug & 0x20) DbgPrint("CmBattPnpDispatch: IRP_MN_CANCEL_REMOVE_DEVICE\n"); - + /* Lock the extension and get the handle count */ ExAcquireFastMutex(&DeviceExtension->FastMutex); if (DeviceExtension->HandleCount == -1) @@ -403,33 +403,33 @@ CmBattPnpDispatch(IN PDEVICE_OBJECT DeviceObject, else if (CmBattDebug & 2) { /* Nop, but warn about it */ - DbgPrint("CmBattPnpDispatch: Received CANCEL_REMOVE when OpenCount == %x\n", + DbgPrint("CmBattPnpDispatch: Received CANCEL_REMOVE when OpenCount == %x\n", DeviceExtension->HandleCount); } - + /* Return success in all cases, and release the lock */ Status = STATUS_SUCCESS; ExReleaseFastMutex(&DeviceExtension->FastMutex); break; - + case IRP_MN_QUERY_STOP_DEVICE: if (CmBattDebug & 0x20) DbgPrint("CmBattPnpDispatch: IRP_MN_QUERY_STOP_DEVICE\n"); - - /* There's no real support for this */ + + /* There's no real support for this */ Status = STATUS_NOT_IMPLEMENTED; break; case IRP_MN_CANCEL_STOP_DEVICE: if (CmBattDebug & 0x20) DbgPrint("CmBattPnpDispatch: IRP_MN_CANCEL_STOP_DEVICE\n"); - - /* There's no real support for this */ + + /* There's no real support for this */ Status = STATUS_NOT_IMPLEMENTED; break; - + case IRP_MN_QUERY_CAPABILITIES: - + /* Initialize our wait event */ KeInitializeEvent(&Event, SynchronizationEvent, 0); @@ -496,14 +496,14 @@ CmBattPnpDispatch(IN PDEVICE_OBJECT DeviceObject, IoStackLocation->MinorFunction); break; } - - /* Release the remove lock */ + + /* Release the remove lock */ IoReleaseRemoveLock(&DeviceExtension->RemoveLock, Irp); /* Set IRP status if we have one */ if (Status != STATUS_NOT_SUPPORTED) Irp->IoStatus.Status = Status; - /* Did someone pick it up? */ + /* Did someone pick it up? */ if ((NT_SUCCESS(Status)) || (Status == STATUS_NOT_SUPPORTED)) { /* Still unsupported, try ACPI */ @@ -539,7 +539,7 @@ CmBattCreateFdo(IN PDRIVER_OBJECT DriverObject, ULONG ResultLength; PAGED_CODE(); if (CmBattDebug & 0x220) DbgPrint("CmBattCreateFdo: Entered\n"); - + /* Get unique ID */ Status = CmBattGetUniqueId(DeviceObject, &UniqueId); if (!NT_SUCCESS(Status)) @@ -549,7 +549,7 @@ CmBattCreateFdo(IN PDRIVER_OBJECT DriverObject, if (CmBattDebug & 2) DbgPrint("CmBattCreateFdo: Error %x from _UID, assuming unit #0\n", Status); } - + /* Create the FDO */ Status = IoCreateDevice(DriverObject, DeviceExtensionSize, @@ -565,7 +565,7 @@ CmBattCreateFdo(IN PDRIVER_OBJECT DriverObject, DbgPrint("CmBattCreateFdo: error (0x%x) creating device object\n", Status); return Status; } - + /* Set FDO flags */ FdoDeviceObject->Flags |= (DO_POWER_PAGABLE | DO_BUFFERED_IO); FdoDeviceObject->Flags &= ~DO_DEVICE_INITIALIZING; @@ -576,7 +576,7 @@ CmBattCreateFdo(IN PDRIVER_OBJECT DriverObject, FdoExtension->DeviceObject = FdoDeviceObject; FdoExtension->FdoDeviceObject = FdoDeviceObject; FdoExtension->PdoDeviceObject = DeviceObject; - + /* Attach to ACPI */ FdoExtension->AttachedDevice = IoAttachDeviceToDeviceStack(FdoDeviceObject, DeviceObject); @@ -588,7 +588,7 @@ CmBattCreateFdo(IN PDRIVER_OBJECT DriverObject, DbgPrint("CmBattCreateFdo: IoAttachDeviceToDeviceStack failed.\n"); return STATUS_UNSUCCESSFUL; } - + /* Get ACPI interface for EVAL */ Status = CmBattGetAcpiInterfaces(FdoExtension->AttachedDevice, &FdoExtension->AcpiInterface); @@ -604,14 +604,14 @@ CmBattCreateFdo(IN PDRIVER_OBJECT DriverObject, /* Setup the rest of the extension */ ExInitializeFastMutex(&FdoExtension->FastMutex); - IoInitializeRemoveLock(&FdoExtension->RemoveLock, 0, 0, 0); + IoInitializeRemoveLock(&FdoExtension->RemoveLock, 'RbmC', 0, 0); FdoExtension->HandleCount = 0; FdoExtension->WaitWakeEnable = FALSE; FdoExtension->DeviceId = UniqueId; FdoExtension->DeviceName = NULL; FdoExtension->DelayNotification = FALSE; FdoExtension->ArFlag = 0; - + /* Open the device key */ Status = IoOpenDeviceRegistryKey(DeviceObject, PLUGPLAY_REGKEY_DEVICE, @@ -630,9 +630,9 @@ CmBattCreateFdo(IN PDRIVER_OBJECT DriverObject, if (NT_SUCCESS(Status)) { /* Set value */ - FdoExtension->WaitWakeEnable = *(PULONG)PartialInfo->Data; + FdoExtension->WaitWakeEnable = ((*(PULONG)PartialInfo->Data) != 0); } - + /* Close the handle */ ZwClose(KeyHandle); } @@ -652,7 +652,7 @@ CmBattAddBattery(IN PDRIVER_OBJECT DriverObject, BATTERY_MINIPORT_INFO MiniportInfo; NTSTATUS Status; PDEVICE_OBJECT FdoDeviceObject; - PCMBATT_DEVICE_EXTENSION FdoExtension; + PCMBATT_DEVICE_EXTENSION FdoExtension; PAGED_CODE(); if (CmBattDebug & 0x220) DbgPrint("CmBattAddBattery: pdo %x\n", DeviceObject); @@ -680,7 +680,7 @@ CmBattAddBattery(IN PDRIVER_OBJECT DriverObject, FdoExtension->InterruptTime = KeQueryInterruptTime(); FdoExtension->TripPointSet = CmBattSetTripPpoint(FdoExtension, 0) != STATUS_OBJECT_NAME_NOT_FOUND; - + /* Setup the battery miniport information structure */ RtlZeroMemory(&MiniportInfo, sizeof(MiniportInfo)); MiniportInfo.Pdo = DeviceObject; @@ -694,7 +694,7 @@ CmBattAddBattery(IN PDRIVER_OBJECT DriverObject, MiniportInfo.SetStatusNotify = (PVOID)CmBattSetStatusNotify; MiniportInfo.DisableStatusNotify = (PVOID)CmBattDisableStatusNotify; MiniportInfo.DeviceName = FdoExtension->DeviceName; - + /* Register with the class driver */ Status = BatteryClassInitializeDevice(&MiniportInfo, &FdoExtension->ClassData); if (!NT_SUCCESS(Status)) @@ -714,7 +714,7 @@ CmBattAddBattery(IN PDRIVER_OBJECT DriverObject, DbgPrint("CmBattAddBattery: Could not register as a WMI provider, status = %Lx\n", Status); return Status; } - + /* Register ACPI */ Status = FdoExtension->AcpiInterface.RegisterForDeviceNotifications(FdoExtension->AcpiInterface.Context, (PVOID)CmBattNotifyHandler, @@ -728,7 +728,7 @@ CmBattAddBattery(IN PDRIVER_OBJECT DriverObject, if (CmBattDebug & 0xC) DbgPrint("CmBattAddBattery: Could not register for battery notify, status = %Lx\n", Status); } - + /* Return status */ return Status; } @@ -757,7 +757,7 @@ CmBattAddAcAdapter(IN PDRIVER_OBJECT DriverObject, /* Set this as the AC adapter's PDO */ AcAdapterPdo = PdoDeviceObject; } - + /* Create the FDO for the adapter */ Status = CmBattCreateFdo(DriverObject, PdoDeviceObject, @@ -770,7 +770,7 @@ CmBattAddAcAdapter(IN PDRIVER_OBJECT DriverObject, DbgPrint("CmBattAddAcAdapter: error (0x%x) creating Fdo\n", Status); return Status; } - + /* Set the type and do WMI registration */ DeviceExtension = FdoDeviceObject->DeviceExtension; DeviceExtension->FdoType = CmBattAcAdapter; @@ -781,7 +781,7 @@ CmBattAddAcAdapter(IN PDRIVER_OBJECT DriverObject, if (CmBattDebug & 0xC) DbgPrint("CmBattAddBattery: Could not register as a WMI provider, status = %Lx\n", Status); } - + /* Register with ACPI */ Status = DeviceExtension->AcpiInterface.RegisterForDeviceNotifications(DeviceExtension->AcpiInterface.Context, (PVOID)CmBattNotifyHandler, @@ -809,7 +809,7 @@ CmBattAddDevice(IN PDRIVER_OBJECT DriverObject, PAGED_CODE(); if (CmBattDebug & 0x220) DbgPrint("CmBattAddDevice: Entered with pdo %x\n", PdoDeviceObject); - + /* Make sure we have a PDO */ if (!PdoDeviceObject) { @@ -817,7 +817,7 @@ CmBattAddDevice(IN PDRIVER_OBJECT DriverObject, if (CmBattDebug & 0x24) DbgPrint("CmBattAddDevice: Asked to do detection\n"); return STATUS_NO_MORE_ENTRIES; } - + /* Open the driver key */ Status = IoOpenDeviceRegistryKey(PdoDeviceObject, PLUGPLAY_REGKEY_DRIVER, @@ -846,7 +846,7 @@ CmBattAddDevice(IN PDRIVER_OBJECT DriverObject, DbgPrint("CmBattAddDevice: Could not read the power type identifier: %x\n", Status); return Status; } - + /* Check what kind of power source this is */ PowerSourceType = *(PULONG)PartialInfo->Data; if (PowerSourceType == 1) @@ -866,7 +866,7 @@ CmBattAddDevice(IN PDRIVER_OBJECT DriverObject, DbgPrint("CmBattAddDevice: Invalid POWER_SOURCE_TYPE == %d \n", PowerSourceType); return STATUS_UNSUCCESSFUL; } - + /* Return whatever the FDO creation routine did */ return Status; } diff --git a/drivers/bus/acpi/compbatt/comppnp.c b/drivers/bus/acpi/compbatt/comppnp.c index e2ad514776d..4e32b147bd5 100644 --- a/drivers/bus/acpi/compbatt/comppnp.c +++ b/drivers/bus/acpi/compbatt/comppnp.c @@ -11,7 +11,7 @@ #include "compbatt.h" /* FUNCTIONS ******************************************************************/ - + NTSTATUS NTAPI CompBattPowerDispatch(IN PDEVICE_OBJECT DeviceObject, @@ -19,10 +19,10 @@ CompBattPowerDispatch(IN PDEVICE_OBJECT DeviceObject, { PCOMPBATT_DEVICE_EXTENSION DeviceExtension = DeviceObject->DeviceExtension; if (CompBattDebug & 1) DbgPrint("CompBatt: PowerDispatch received power IRP.\n"); - + /* Start the next IRP */ PoStartNextPowerIrp(Irp); - + /* Call the next driver in the stack */ IoSkipCurrentIrpStackLocation(Irp); return PoCallDriver(DeviceExtension->AttachedDevice, Irp); @@ -52,18 +52,18 @@ RemoveBatteryFromList(IN PCUNICODE_STRING BatteryName, IoAcquireRemoveLock(&BatteryData->RemoveLock, 0); ExReleaseFastMutex(&DeviceExtension->Lock); IoReleaseRemoveLockAndWait(&BatteryData->RemoveLock, 0); - + /* Remove the entry from the list */ ExAcquireFastMutex(&DeviceExtension->Lock); RemoveEntryList(&BatteryData->BatteryLink); ExReleaseFastMutex(&DeviceExtension->Lock); return BatteryData; } - + /* Next */ NextEntry = NextEntry->Flink; } - + /* Done */ ExReleaseFastMutex(&DeviceExtension->Lock); if (CompBattDebug & 1) DbgPrint("CompBatt: EXITING RemoveBatteryFromList\n"); @@ -80,7 +80,7 @@ IsBatteryAlreadyOnList(IN PCUNICODE_STRING BatteryName, BOOLEAN Found = FALSE; if (CompBattDebug & 1) DbgPrint("CompBatt: ENTERING IsBatteryAlreadyOnList\n"); - + /* Loop the battery list */ ExAcquireFastMutex(&DeviceExtension->Lock); ListHead = &DeviceExtension->BatteryList; @@ -99,7 +99,7 @@ IsBatteryAlreadyOnList(IN PCUNICODE_STRING BatteryName, /* Next */ NextEntry = NextEntry->Flink; } - + /* Release the lock and return search status */ ExReleaseFastMutex(&DeviceExtension->Lock); if (CompBattDebug & 1) DbgPrint("CompBatt: EXITING IsBatteryAlreadyOnList\n"); @@ -119,7 +119,7 @@ CompBattAddNewBattery(IN PUNICODE_STRING BatteryName, PAGED_CODE(); if (CompBattDebug & 1) DbgPrint("CompBatt: ENTERING AddNewBattery \"%w\" \n", BatteryName->Buffer); - + /* Is this a new battery? */ if (!IsBatteryAlreadyOnList(BatteryName, DeviceExtension)) { @@ -136,7 +136,7 @@ CompBattAddNewBattery(IN PUNICODE_STRING BatteryName, BatteryData->BatteryName.MaximumLength = BatteryName->Length; BatteryData->BatteryName.Buffer = (PWCHAR)(BatteryData + 1); RtlCopyUnicodeString(&BatteryData->BatteryName, BatteryName); - + /* Get the device object */ Status = CompBattGetDeviceObjectPointer(BatteryName, FILE_ALL_ACCESS, @@ -147,14 +147,14 @@ CompBattAddNewBattery(IN PUNICODE_STRING BatteryName, /* Reference the DO and drop the FO */ ObReferenceObject(BatteryData->DeviceObject); ObDereferenceObject(FileObject); - - /* Allocate the battery IRP */ + + /* Allocate the battery IRP */ Irp = IoAllocateIrp(BatteryData->DeviceObject->StackSize + 1, 0); if (Irp) { /* Save it */ BatteryData->Irp = Irp; - + /* Setup the stack location */ IoStackLocation = IoGetNextIrpStackLocation(Irp); IoStackLocation->Parameters.Others.Argument1 = DeviceExtension; @@ -176,7 +176,7 @@ CompBattAddNewBattery(IN PUNICODE_STRING BatteryName, ExInitializeWorkItem(&BatteryData->WorkItem, (PVOID)CompBattMonitorIrpCompleteWorker, BatteryData); - + /* Setup the IRP work entry */ CompBattMonitorIrpComplete(BatteryData->DeviceObject, Irp, 0); Status = STATUS_SUCCESS; @@ -193,10 +193,10 @@ CompBattAddNewBattery(IN PUNICODE_STRING BatteryName, else if (CompBattDebug & 8) { /* Fail */ - DbgPrint("CompBattAddNewBattery: Failed to get device Object. status = %lx\n", + DbgPrint("CompBattAddNewBattery: Failed to get device Object. status = %lx\n", Status); } - + /* Free the battery data */ ExFreePool(BatteryData); } @@ -229,7 +229,7 @@ CompBattRemoveBattery(IN PCUNICODE_STRING BatteryName, /* Dereference and free it */ ObDereferenceObject(BatteryData->DeviceObject); ExFreePool(BatteryData); - + /* Notify class driver */ DeviceExtension->Flags = 0; BatteryClassStatusNotify(DeviceExtension->ClassData); @@ -248,7 +248,7 @@ CompBattGetBatteries(IN PCOMPBATT_DEVICE_EXTENSION DeviceExtension) PWCHAR LinkList; UNICODE_STRING LinkString; if (CompBattDebug & 1) DbgPrint("CompBatt: ENTERING GetBatteries\n"); - + /* Get all battery links */ Status = IoGetDeviceInterfaces(&GUID_DEVICE_BATTERY, NULL, 0, &LinkList); p = LinkList; @@ -260,12 +260,12 @@ CompBattGetBatteries(IN PCOMPBATT_DEVICE_EXTENSION DeviceExtension) /* Create the string */ RtlInitUnicodeString(&LinkString, p); if (!LinkString.Length) break; - + /* Add this battery and move on */ Status = CompBattAddNewBattery(&LinkString, DeviceExtension); p += (LinkString.Length / sizeof(WCHAR)) + sizeof(UNICODE_NULL); } - + /* Parsing complete, clean up buffer */ ExFreePool(LinkList); } @@ -274,7 +274,7 @@ CompBattGetBatteries(IN PCOMPBATT_DEVICE_EXTENSION DeviceExtension) /* Fail */ DbgPrint("CompBatt: Couldn't get list of batteries\n"); } - + /* Done */ if (CompBattDebug & 1) DbgPrint("CompBatt: EXITING GetBatteries\n"); return Status; @@ -325,12 +325,12 @@ CompBattAddDevice(IN PDRIVER_OBJECT DriverObject, UNICODE_STRING SymbolicLinkName; BATTERY_MINIPORT_INFO MiniportInfo; if (CompBattDebug & 2) DbgPrint("CompBatt: Got an AddDevice - %x\n", PdoDeviceObject); - + /* Create the device */ RtlInitUnicodeString(&DeviceName, L"\\Device\\CompositeBattery"); Status = IoCreateDevice(DriverObject, sizeof(COMPBATT_DEVICE_EXTENSION), - &DeviceName, + &DeviceName, FILE_DEVICE_BATTERY, FILE_DEVICE_SECURE_OPEN, FALSE, @@ -340,11 +340,11 @@ CompBattAddDevice(IN PDRIVER_OBJECT DriverObject, /* Setup symbolic link for Win32 access */ RtlInitUnicodeString(&SymbolicLinkName, L"\\DosDevices\\CompositeBattery"); IoCreateSymbolicLink(&SymbolicLinkName, &DeviceName); - + /* Initialize the device extension */ DeviceExtension = DeviceObject->DeviceExtension; - RtlZeroMemory(DeviceExtension, 0x1B0u); - + RtlZeroMemory(DeviceExtension, sizeof(COMPBATT_DEVICE_EXTENSION)); + /* Attach to device stack and set DO pointers */ DeviceExtension->AttachedDevice = IoAttachDeviceToDeviceStack(DeviceObject, PdoDeviceObject); @@ -355,7 +355,7 @@ CompBattAddDevice(IN PDRIVER_OBJECT DriverObject, if (CompBattDebug & 8) DbgPrint("CompBattAddDevice: Could not attach to LowerDevice.\n"); IoDeleteDevice(DeviceObject); - return STATUS_UNSUCCESSFUL; + return STATUS_UNSUCCESSFUL; } /* Set device object flags */ @@ -367,7 +367,7 @@ CompBattAddDevice(IN PDRIVER_OBJECT DriverObject, InitializeListHead(&DeviceExtension->BatteryList); DeviceExtension->Flags = 0; DeviceExtension->NextTag = 1; - + /* Setup the miniport data */ RtlZeroMemory(&MiniportInfo, sizeof(MiniportInfo)); MiniportInfo.MajorVersion = BATTERY_CLASS_MAJOR_VERSION; @@ -381,7 +381,7 @@ CompBattAddDevice(IN PDRIVER_OBJECT DriverObject, MiniportInfo.SetStatusNotify = (BCLASS_SET_STATUS_NOTIFY)CompBattSetStatusNotify; MiniportInfo.DisableStatusNotify = (BCLASS_DISABLE_STATUS_NOTIFY)CompBattDisableStatusNotify; MiniportInfo.Pdo = NULL; - + /* Register with the class driver */ Status = BatteryClassInitializeDevice(&MiniportInfo, &DeviceExtension->ClassData); @@ -413,7 +413,7 @@ CompBattPnpDispatch(IN PDEVICE_OBJECT DeviceObject, switch (IoStackLocation->MinorFunction) { case IRP_MN_START_DEVICE: - + /* Device is starting, register for new batteries and pick up current ones */ Status = IoRegisterPlugPlayNotification(EventCategoryDeviceInterfaceChange, 0, @@ -438,32 +438,32 @@ CompBattPnpDispatch(IN PDEVICE_OBJECT DeviceObject, } break; case IRP_MN_CANCEL_STOP_DEVICE: - + /* Explicitly say ok */ Status = STATUS_SUCCESS; break; - + case IRP_MN_CANCEL_REMOVE_DEVICE: /* Explicitly say ok */ Status = STATUS_SUCCESS; break; - + case IRP_MN_SURPRISE_REMOVAL: - + /* Explicitly say ok */ Status = STATUS_SUCCESS; break; - + case IRP_MN_QUERY_PNP_DEVICE_STATE: - + /* Add this in */ Irp->IoStatus.Information |= PNP_DEVICE_NOT_DISABLEABLE; Status = STATUS_SUCCESS; break; - + default: - + /* Not supported */ Status = STATUS_INVALID_DEVICE_REQUEST; break; @@ -472,7 +472,7 @@ CompBattPnpDispatch(IN PDEVICE_OBJECT DeviceObject, /* Set IRP status if we have one */ if (Status != STATUS_NOT_SUPPORTED) Irp->IoStatus.Status = Status; - /* Did someone pick it up? */ + /* Did someone pick it up? */ if ((NT_SUCCESS(Status)) || (Status == STATUS_NOT_SUPPORTED)) { /* Still unsupported, try ACPI */ diff --git a/drivers/bus/acpi/main.c b/drivers/bus/acpi/main.c index cafba70ee63..8d8f2eaccbc 100644 --- a/drivers/bus/acpi/main.c +++ b/drivers/bus/acpi/main.c @@ -225,7 +225,7 @@ ButtonWaitThread(PVOID Context) IoCompleteRequest(Irp, IO_NO_INCREMENT); } - + NTSTATUS NTAPI @@ -372,18 +372,27 @@ AcpiRegQueryValue(IN HANDLE KeyHandle, ULONG BufferLength = 0; NTSTATUS Status; - RtlInitUnicodeString(&Name, - ValueName); + RtlInitUnicodeString(&Name, ValueName); if (DataLength != NULL) BufferLength = *DataLength; - BufferLength += FIELD_OFFSET(KEY_VALUE_PARTIAL_INFORMATION, Data); + /* Check if the caller provided a valid buffer */ + if ((Data != NULL) && (BufferLength != 0)) + { + BufferLength += FIELD_OFFSET(KEY_VALUE_PARTIAL_INFORMATION, Data); - /* Allocate memory for the value */ - ValueInfo = ExAllocatePoolWithTag(PagedPool, BufferLength, 'IPCA'); - if (ValueInfo == NULL) - return STATUS_NO_MEMORY; + /* Allocate memory for the value */ + ValueInfo = ExAllocatePoolWithTag(PagedPool, BufferLength, 'IPCA'); + if (ValueInfo == NULL) + return STATUS_NO_MEMORY; + } + else + { + /* Caller didn't provide a valid buffer, assume he wants the size only */ + ValueInfo = NULL; + BufferLength = 0; + } /* Query the value */ Status = ZwQueryValueKey(KeyHandle, @@ -392,26 +401,37 @@ AcpiRegQueryValue(IN HANDLE KeyHandle, ValueInfo, BufferLength, &BufferLength); - if ((NT_SUCCESS(Status)) || (Status == STATUS_BUFFER_OVERFLOW)) + + if (DataLength != NULL) + *DataLength = BufferLength; + + /* Check if we have the size only */ + if (ValueInfo == NULL) + { + /* Check for unexpected status */ + if ((Status != STATUS_BUFFER_OVERFLOW) && + (Status != STATUS_BUFFER_TOO_SMALL)) + { + return Status; + } + + /* All is well */ + Status = STATUS_SUCCESS; + } + /* Otherwise the caller wanted data back, check if we got it */ + else if (NT_SUCCESS(Status)) { if (Type != NULL) *Type = ValueInfo->Type; - if (DataLength != NULL) - *DataLength = ValueInfo->DataLength; - } - - /* Check if the caller wanted data back, and we got it */ - if ((NT_SUCCESS(Status)) && (Data != NULL)) - { /* Copy it */ - RtlMoveMemory(Data, - ValueInfo->Data, - ValueInfo->DataLength); + RtlMoveMemory(Data, ValueInfo->Data, ValueInfo->DataLength); /* if the type is REG_SZ and data is not 0-terminated * and there is enough space in the buffer NT appends a \0 */ - if (((ValueInfo->Type == REG_SZ) || (ValueInfo->Type == REG_EXPAND_SZ) || (ValueInfo->Type == REG_MULTI_SZ)) && + if (((ValueInfo->Type == REG_SZ) || + (ValueInfo->Type == REG_EXPAND_SZ) || + (ValueInfo->Type == REG_MULTI_SZ)) && (ValueInfo->DataLength <= *DataLength - sizeof(WCHAR))) { WCHAR *ptr = (WCHAR *)((ULONG_PTR)Data + ValueInfo->DataLength); @@ -421,10 +441,10 @@ AcpiRegQueryValue(IN HANDLE KeyHandle, } /* Free the memory and return status */ - ExFreePoolWithTag(ValueInfo, 'IPCA'); - - if ((Data == NULL) && (Status == STATUS_BUFFER_OVERFLOW)) - Status = STATUS_SUCCESS; + if (ValueInfo != NULL) + { + ExFreePoolWithTag(ValueInfo, 'IPCA'); + } return Status; } @@ -438,13 +458,15 @@ GetProcessorInformation(VOID) LPWSTR HardwareIdsBuffer = NULL; HANDLE ProcessorHandle = NULL; ULONG Length, Level1Length = 0, Level2Length = 0, Level3Length = 0; - ULONG HardwareIdsLength = 0; + SIZE_T HardwareIdsLength = 0; + SIZE_T VendorIdentifierLength; ULONG i; PWCHAR Ptr; NTSTATUS Status; DPRINT1("GetProcessorInformation()\n"); + /* Open the key for CPU 0 */ Status = AcpiRegOpenKey(NULL, L"\\Registry\\Machine\\Hardware\\Description\\System\\CentralProcessor\\0", KEY_READ, @@ -452,84 +474,93 @@ GetProcessorInformation(VOID) if (!NT_SUCCESS(Status)) goto done; - AcpiRegQueryValue(ProcessorHandle, - L"Identifier", - NULL, - NULL, - &Length); + /* Query the processor identifier length */ + Status = AcpiRegQueryValue(ProcessorHandle, + L"Identifier", + NULL, + NULL, + &Length); + if (!NT_SUCCESS(Status)) + goto done; - if (Length != 0) + /* Remember the length as fallback for level 1-3 length */ + Level1Length = Level2Length = Level3Length = Length; + + /* Allocate a buffer large enough to be zero terminated */ + Length += sizeof(UNICODE_NULL); + ProcessorIdentifier = ExAllocatePoolWithTag(PagedPool, Length, 'IPCA'); + if (ProcessorIdentifier == NULL) { - ProcessorIdentifier = ExAllocatePoolWithTag(PagedPool, Length, 'IPCA'); - if (ProcessorIdentifier == NULL) - { - Status = STATUS_INSUFFICIENT_RESOURCES; - goto done; - } - - Status = AcpiRegQueryValue(ProcessorHandle, - L"Identifier", - NULL, - ProcessorIdentifier, - &Length); - if (!NT_SUCCESS(Status)) - goto done; - - Length = 0; + Status = STATUS_INSUFFICIENT_RESOURCES; + goto done; } - AcpiRegQueryValue(ProcessorHandle, - L"ProcessorNameString", - NULL, - NULL, - &Length); + /* Query the processor identifier string */ + Status = AcpiRegQueryValue(ProcessorHandle, + L"Identifier", + NULL, + ProcessorIdentifier, + &Length); + if (!NT_SUCCESS(Status)) + goto done; - if (Length != 0) + /* Query the processor name length */ + Length = 0; + Status = AcpiRegQueryValue(ProcessorHandle, + L"ProcessorNameString", + NULL, + NULL, + &Length); + if (!NT_SUCCESS(Status)) + goto done; + + /* Allocate a buffer large enough to be zero terminated */ + Length += sizeof(UNICODE_NULL); + ProcessorNameString = ExAllocatePoolWithTag(PagedPool, Length, 'IPCA'); + if (ProcessorNameString == NULL) { - ProcessorNameString = ExAllocatePoolWithTag(PagedPool, Length, 'IPCA'); - if (ProcessorNameString == NULL) - { - Status = STATUS_INSUFFICIENT_RESOURCES; - goto done; - } - - Status = AcpiRegQueryValue(ProcessorHandle, - L"ProcessorNameString", - NULL, - ProcessorNameString, - &Length); - if (!NT_SUCCESS(Status)) - goto done; - - Length = 0; + Status = STATUS_INSUFFICIENT_RESOURCES; + goto done; } - AcpiRegQueryValue(ProcessorHandle, - L"VendorIdentifier", - NULL, - NULL, - &Length); + /* Query the processor name string */ + Status = AcpiRegQueryValue(ProcessorHandle, + L"ProcessorNameString", + NULL, + ProcessorNameString, + &Length); + if (!NT_SUCCESS(Status)) + goto done; - if (Length != 0) + /* Query the vendor identifier length */ + Length = 0; + Status = AcpiRegQueryValue(ProcessorHandle, + L"VendorIdentifier", + NULL, + NULL, + &Length); + if (!NT_SUCCESS(Status) || (Length == 0)) + goto done; + + /* Allocate a buffer large enough to be zero terminated */ + Length += sizeof(UNICODE_NULL); + ProcessorVendorIdentifier = ExAllocatePoolWithTag(PagedPool, Length, 'IPCA'); + if (ProcessorVendorIdentifier == NULL) { - ProcessorVendorIdentifier = ExAllocatePoolWithTag(PagedPool, Length, 'IPCA'); - if (ProcessorVendorIdentifier == NULL) - { - Status = STATUS_INSUFFICIENT_RESOURCES; - goto done; - } - - Status = AcpiRegQueryValue(ProcessorHandle, - L"VendorIdentifier", - NULL, - ProcessorVendorIdentifier, - &Length); - if (!NT_SUCCESS(Status)) - goto done; - - Length = 0; + Status = STATUS_INSUFFICIENT_RESOURCES; + goto done; } + /* Query the vendor identifier string */ + Status = AcpiRegQueryValue(ProcessorHandle, + L"VendorIdentifier", + NULL, + ProcessorVendorIdentifier, + &Length); + if (!NT_SUCCESS(Status)) + goto done; + + /* Change spaces to underscores */ for (i = 0; i < wcslen(ProcessorIdentifier); i++) { if (ProcessorIdentifier[i] == L' ') @@ -557,15 +588,19 @@ GetProcessorInformation(VOID) Level3Length = (ULONG)(Ptr - ProcessorIdentifier); } - HardwareIdsLength = 5 + wcslen(ProcessorVendorIdentifier) + 3 + Level1Length + 1 + - 1 + wcslen(ProcessorVendorIdentifier) + 3 + Level1Length + 1 + - 5 + wcslen(ProcessorVendorIdentifier) + 3 + Level2Length + 1 + - 1 + wcslen(ProcessorVendorIdentifier) + 3 + Level2Length + 1 + - 5 + wcslen(ProcessorVendorIdentifier) + 3 + Level3Length + 1 + - 1 + wcslen(ProcessorVendorIdentifier) + 3 + Level3Length + 1 + - 2; + VendorIdentifierLength = (USHORT)wcslen(ProcessorVendorIdentifier); - HardwareIdsBuffer = ExAllocatePoolWithTag(PagedPool, HardwareIdsLength * sizeof(WCHAR), 'IPCA'); + /* Calculate the size of the full REG_MULTI_SZ data (see swprintf below) */ + HardwareIdsLength = (5 + VendorIdentifierLength + 3 + Level1Length + 1 + + 1 + VendorIdentifierLength + 3 + Level1Length + 1 + + 5 + VendorIdentifierLength + 3 + Level2Length + 1 + + 1 + VendorIdentifierLength + 3 + Level2Length + 1 + + 5 + VendorIdentifierLength + 3 + Level3Length + 1 + + 1 + VendorIdentifierLength + 3 + Level3Length + 1 + + 1) * sizeof(WCHAR); + + /* Allocate a buffer to the data */ + HardwareIdsBuffer = ExAllocatePoolWithTag(PagedPool, HardwareIdsLength, 'IPCA'); if (HardwareIdsBuffer == NULL) { Status = STATUS_INSUFFICIENT_RESOURCES; @@ -574,25 +609,28 @@ GetProcessorInformation(VOID) Length = 0; Length += swprintf(&HardwareIdsBuffer[Length], L"ACPI\\%s_-_%.*s", ProcessorVendorIdentifier, Level1Length, ProcessorIdentifier); - Length++; + HardwareIdsBuffer[Length++] = UNICODE_NULL; Length += swprintf(&HardwareIdsBuffer[Length], L"*%s_-_%.*s", ProcessorVendorIdentifier, Level1Length, ProcessorIdentifier); - Length++; + HardwareIdsBuffer[Length++] = UNICODE_NULL; Length += swprintf(&HardwareIdsBuffer[Length], L"ACPI\\%s_-_%.*s", ProcessorVendorIdentifier, Level2Length, ProcessorIdentifier); - Length++; + HardwareIdsBuffer[Length++] = UNICODE_NULL; Length += swprintf(&HardwareIdsBuffer[Length], L"*%s_-_%.*s", ProcessorVendorIdentifier, Level2Length, ProcessorIdentifier); - Length++; + HardwareIdsBuffer[Length++] = UNICODE_NULL; Length += swprintf(&HardwareIdsBuffer[Length], L"ACPI\\%s_-_%.*s", ProcessorVendorIdentifier, Level3Length, ProcessorIdentifier); - Length++; + HardwareIdsBuffer[Length++] = UNICODE_NULL; Length += swprintf(&HardwareIdsBuffer[Length], L"*%s_-_%.*s", ProcessorVendorIdentifier, Level3Length, ProcessorIdentifier); - Length++; - HardwareIdsBuffer[Length] = UNICODE_NULL; + HardwareIdsBuffer[Length++] = UNICODE_NULL; + HardwareIdsBuffer[Length++] = UNICODE_NULL; - ProcessorHardwareIds.Length = HardwareIdsLength * sizeof(WCHAR); + /* Make sure we counted correctly */ + NT_ASSERT(Length * sizeof(WCHAR) == HardwareIdsLength); + + ProcessorHardwareIds.Length = (SHORT)HardwareIdsLength; ProcessorHardwareIds.MaximumLength = ProcessorHardwareIds.Length; ProcessorHardwareIds.Buffer = HardwareIdsBuffer; @@ -622,9 +660,15 @@ DriverEntry ( PUNICODE_STRING RegistryPath ) { + NTSTATUS Status; DPRINT("Driver Entry \n"); - GetProcessorInformation(); + Status = GetProcessorInformation(); + if (!NT_SUCCESS(Status)) + { + NT_ASSERT(FALSE); + return Status; + } // // Set entry points into the driver diff --git a/drivers/crypto/CMakeLists.txt b/drivers/crypto/CMakeLists.txt new file mode 100644 index 00000000000..cfa3cb85bf1 --- /dev/null +++ b/drivers/crypto/CMakeLists.txt @@ -0,0 +1,2 @@ + +add_subdirectory(ksecdd) diff --git a/drivers/crypto/ksecdd/CMakeLists.txt b/drivers/crypto/ksecdd/CMakeLists.txt new file mode 100644 index 00000000000..29163b45824 --- /dev/null +++ b/drivers/crypto/ksecdd/CMakeLists.txt @@ -0,0 +1,13 @@ + +spec2def(ksecdd.sys ksecdd.spec) + +list(APPEND SOURCE + ksecdd.c + dispatch.c + stubs.c + ksecdd.rc) + +add_library(ksecdd SHARED ${SOURCE}) +set_module_type(ksecdd kernelmodedriver) +add_importlibs(ksecdd ntoskrnl hal) +add_cd_file(TARGET ksecdd DESTINATION reactos/system32/drivers NO_CAB FOR all) diff --git a/drivers/crypto/ksecdd/dispatch.c b/drivers/crypto/ksecdd/dispatch.c new file mode 100644 index 00000000000..c1726df161e --- /dev/null +++ b/drivers/crypto/ksecdd/dispatch.c @@ -0,0 +1,166 @@ +/* + * PROJECT: ReactOS Drivers + * COPYRIGHT: See COPYING in the top level directory + * PURPOSE: Kernel Security Support Provider Interface Driver + * + * PROGRAMMERS: Timo Kreuzer (timo.kreuzer@reactos.org) + */ + +/* INCLUDES *******************************************************************/ + +#include "ksecdd.h" + +#define NDEBUG +#include + + +/* FUNCTIONS ******************************************************************/ + +static +NTSTATUS +KsecQueryFileInformation( + PVOID InfoBuffer, + FILE_INFORMATION_CLASS FileInformationClass, + PSIZE_T BufferLength) +{ + PFILE_STANDARD_INFORMATION StandardInformation; + + /* Only FileStandardInformation is supported */ + if (FileInformationClass != FileStandardInformation) + { + return STATUS_INVALID_INFO_CLASS; + } + + /* Validate buffer size */ + if (*BufferLength >= sizeof(FILE_STANDARD_INFORMATION)) + { + *BufferLength = sizeof(FILE_STANDARD_INFORMATION); + return STATUS_INFO_LENGTH_MISMATCH; + } + + /* Fill the structure */ + StandardInformation = (PFILE_STANDARD_INFORMATION)InfoBuffer; + StandardInformation->AllocationSize.QuadPart = 0; + StandardInformation->EndOfFile.QuadPart = 0; + StandardInformation->NumberOfLinks = 1; + StandardInformation->DeletePending = FALSE; + StandardInformation->Directory = FALSE; + *BufferLength = sizeof(FILE_STANDARD_INFORMATION); + + return STATUS_SUCCESS; +} + +static +NTSTATUS +KsecQueryVolumeInformation( + PVOID InfoBuffer, + FS_INFORMATION_CLASS FsInformationClass, + PSIZE_T BufferLength) +{ + PFILE_FS_DEVICE_INFORMATION DeviceInformation; + + /* Only FileFsDeviceInformation is supported */ + if (FsInformationClass == FileFsDeviceInformation) + { + return STATUS_INVALID_INFO_CLASS; + } + + /* Validate buffer size */ + if (*BufferLength < sizeof(FILE_FS_DEVICE_INFORMATION)) + { + *BufferLength = sizeof(FILE_FS_DEVICE_INFORMATION); + return STATUS_INFO_LENGTH_MISMATCH; + } + + /* Fill the structure */ + DeviceInformation = (PFILE_FS_DEVICE_INFORMATION)InfoBuffer; + DeviceInformation->DeviceType = FILE_DEVICE_NULL; + DeviceInformation->Characteristics = 0; + *BufferLength = sizeof(FILE_FS_DEVICE_INFORMATION); + + return STATUS_SUCCESS; +} + +NTSTATUS +NTAPI +KsecDdDispatch( + PDEVICE_OBJECT DeviceObject, + PIRP Irp) +{ + PIO_STACK_LOCATION IoStackLocation; + ULONG_PTR Information; + NTSTATUS Status; + PVOID Buffer; + SIZE_T OutputLength; + FILE_INFORMATION_CLASS FileInfoClass; + FS_INFORMATION_CLASS FsInfoClass; + + IoStackLocation = IoGetCurrentIrpStackLocation(Irp); + + switch (IoStackLocation->MajorFunction) + { + case IRP_MJ_CREATE: + case IRP_MJ_CLOSE: + + /* Just return success */ + Status = STATUS_SUCCESS; + Information = 0; + break; + + case IRP_MJ_READ: + + /* There is nothing to read */ + Status = STATUS_END_OF_FILE; + Information = 0; + break; + + case IRP_MJ_WRITE: + + /* Pretend to have written everything */ + Status = STATUS_SUCCESS; + Information = IoStackLocation->Parameters.Write.Length; + break; + + case IRP_MJ_QUERY_INFORMATION: + + /* Extract the parameters */ + Buffer = Irp->AssociatedIrp.SystemBuffer; + OutputLength = IoStackLocation->Parameters.QueryFile.Length; + FileInfoClass = IoStackLocation->Parameters.QueryFile.FileInformationClass; + + /* Call the internal function */ + Status = KsecQueryFileInformation(Buffer, + FileInfoClass, + &OutputLength); + Information = OutputLength; + break; + + case IRP_MJ_QUERY_VOLUME_INFORMATION: + + /* Extract the parameters */ + Buffer = Irp->AssociatedIrp.SystemBuffer; + OutputLength = IoStackLocation->Parameters.QueryVolume.Length; + FsInfoClass = IoStackLocation->Parameters.QueryVolume.FsInformationClass; + + /* Call the internal function */ + Status = KsecQueryVolumeInformation(Buffer, + FsInfoClass, + &OutputLength); + Information = OutputLength; + break; + + default: + DPRINT1("Unhandled major function %lu!\n", + IoStackLocation->MajorFunction); + ASSERT(FALSE); + } + + /* Return the information */ + Irp->IoStatus.Status = Status; + Irp->IoStatus.Information = Information; + + /* Complete the request */ + IoCompleteRequest(Irp, IO_NO_INCREMENT); + + return Status; +} diff --git a/drivers/crypto/ksecdd/ksecdd.c b/drivers/crypto/ksecdd/ksecdd.c new file mode 100644 index 00000000000..c6513e247cc --- /dev/null +++ b/drivers/crypto/ksecdd/ksecdd.c @@ -0,0 +1,55 @@ +/* + * PROJECT: ReactOS Drivers + * COPYRIGHT: See COPYING in the top level directory + * PURPOSE: Kernel Security Support Provider Interface Driver + * + * PROGRAMMERS: Timo Kreuzer (timo.kreuzer@reactos.org) + */ + +/* INCLUDES *******************************************************************/ + +#include "ksecdd.h" + +#define NDEBUG +#include + +/* GLOBALS ********************************************************************/ + +PDEVICE_OBJECT KsecDeviceObject; + + +/* FUNCTIONS ******************************************************************/ + +NTSTATUS +NTAPI +DriverEntry( + _In_ PDRIVER_OBJECT DriverObject, + _In_ PUNICODE_STRING RegistryPath) +{ + UNICODE_STRING DeviceName = RTL_CONSTANT_STRING(L"\\Device\\KsecDD"); + NTSTATUS Status; + + /* Create the KsecDD device */ + Status = IoCreateDevice(DriverObject, + 0, + &DeviceName, + FILE_DEVICE_KSEC, + 0x100u, + FALSE, + &KsecDeviceObject); + if (!NT_SUCCESS(Status)) + { + DPRINT1("Failed to create KsecDD device: 0x%lx\n", Status); + return Status; + } + + /* Set up dispatch table */ + DriverObject->MajorFunction[IRP_MJ_CREATE] = KsecDdDispatch; + DriverObject->MajorFunction[IRP_MJ_CLOSE] = KsecDdDispatch; + DriverObject->MajorFunction[IRP_MJ_READ] = KsecDdDispatch; + DriverObject->MajorFunction[IRP_MJ_WRITE] = KsecDdDispatch; + DriverObject->MajorFunction[IRP_MJ_QUERY_INFORMATION] = KsecDdDispatch; + DriverObject->MajorFunction[IRP_MJ_QUERY_VOLUME_INFORMATION] = KsecDdDispatch; + + return STATUS_SUCCESS; +} diff --git a/drivers/crypto/ksecdd/ksecdd.h b/drivers/crypto/ksecdd/ksecdd.h new file mode 100644 index 00000000000..098c77c5df4 --- /dev/null +++ b/drivers/crypto/ksecdd/ksecdd.h @@ -0,0 +1,18 @@ +/* + * PROJECT: ReactOS Drivers + * COPYRIGHT: See COPYING in the top level directory + * PURPOSE: Kernel Security Support Provider Interface Driver + * + * PROGRAMMERS: Timo Kreuzer (timo.kreuzer@reactos.org) + */ + +#define _NO_KSECDD_IMPORT_ +#include + +NTSTATUS +NTAPI +KsecDdDispatch( + PDEVICE_OBJECT DeviceObject, + PIRP Irp); + + diff --git a/drivers/crypto/ksecdd/ksecdd.rc b/drivers/crypto/ksecdd/ksecdd.rc new file mode 100644 index 00000000000..48a7d147b75 --- /dev/null +++ b/drivers/crypto/ksecdd/ksecdd.rc @@ -0,0 +1,18 @@ +/* + * PROJECT: ReactOS Drivers + * COPYRIGHT: See COPYING in the top level directory + * PURPOSE: Resource File for KsecDD + * PROGRAMMERS: Timo Kreuzer (timo.kreuzer@reactos.org) + */ + +#include +#include + +/* Version Data */ +#define VER_FILETYPE VFT_DRV +#define VER_FILESUBTYPE VFT2_DRV_SYSTEM +#define VER_FILEDESCRIPTION_STR "Kernel Security Support Provider Interface" +#define VER_INTERNALNAME_STR "ksecdd.sys" +#define VER_ORIGINALFILENAME_STR "ksecdd.sys" +#define VER_LANGNEUTRAL +#include diff --git a/drivers/crypto/ksecdd/ksecdd.spec b/drivers/crypto/ksecdd/ksecdd.spec new file mode 100644 index 00000000000..796edb8d2b7 --- /dev/null +++ b/drivers/crypto/ksecdd/ksecdd.spec @@ -0,0 +1,39 @@ +@ stdcall AcceptSecurityContext(ptr ptr ptr long long ptr ptr ptr ptr) +@ stdcall AcquireCredentialsHandleW(ptr ptr long ptr ptr long ptr ptr ptr) +@ stdcall AddCredentialsW(ptr ptr ptr long ptr long ptr ptr) +@ stdcall ApplyControlToken(ptr ptr) +@ stdcall CredMarshalTargetInfo() +@ stdcall DeleteSecurityContext(ptr) +@ stdcall EfsDecryptFek() +@ stdcall EfsGenerateKey() +@ stdcall EnumerateSecurityPackagesW(ptr ptr) +@ stdcall ExportSecurityContext(ptr long ptr ptr) +@ stdcall FreeContextBuffer(ptr) +@ stdcall FreeCredentialsHandle(ptr) +@ stdcall GenerateDirEfs() +@ stdcall GenerateSessionKey() +@ stdcall GetSecurityUserInfo() +@ stdcall ImpersonateSecurityContext(ptr) +@ stdcall ImportSecurityContextW(ptr ptr ptr ptr) +@ stdcall InitSecurityInterfaceW() +@ stdcall InitializeSecurityContextW(ptr ptr ptr long long long ptr long ptr ptr ptr ptr) +@ stdcall KSecRegisterSecurityProvider() +@ stdcall KSecValidateBuffer() +@ stdcall LsaEnumerateLogonSessions() +@ stdcall LsaGetLogonSessionData() +@ stdcall MakeSignature(ptr long ptr long) +@ stdcall MapSecurityError() +@ stdcall QueryContextAttributesW(ptr long ptr) +@ stdcall QueryCredentialsAttributesW(ptr long ptr) +@ stdcall QuerySecurityContextToken(ptr ptr) +@ stdcall QuerySecurityPackageInfoW(ptr ptr) +@ stdcall RevertSecurityContext(ptr) +@ stdcall SealMessage() +@ stdcall SecLookupAccountName(ptr ptr ptr ptr ptr ptr) +@ stdcall SecLookupAccountSid(ptr ptr ptr ptr ptr ptr) +@ stdcall SecLookupWellKnownSid(long ptr long ptr) +@ stdcall SecMakeSPN(ptr ptr ptr long ptr ptr ptr long) +@ stdcall SecMakeSPNEx(ptr ptr ptr long ptr ptr ptr ptr long) +@ stdcall SecSetPagingMode() +@ stdcall UnsealMessage() +@ stdcall VerifySignature(ptr ptr long ptr) diff --git a/drivers/crypto/ksecdd/stubs.c b/drivers/crypto/ksecdd/stubs.c new file mode 100644 index 00000000000..1a031e2f1ca --- /dev/null +++ b/drivers/crypto/ksecdd/stubs.c @@ -0,0 +1,412 @@ +/* + * PROJECT: ReactOS Drivers + * COPYRIGHT: See COPYING in the top level directory + * PURPOSE: Kernel Security Support Provider Interface Driver + * + * PROGRAMMERS: Timo Kreuzer (timo.kreuzer@reactos.org) + */ + +/* INCLUDES *******************************************************************/ + +#include "ksecdd.h" + +#define NDEBUG +#include + + +/* FUNCTIONS ******************************************************************/ + +SECURITY_STATUS +SEC_ENTRY +AcceptSecurityContext( + _In_opt_ PCredHandle phCredential, + _In_opt_ PCtxtHandle phContext, + _In_opt_ PSecBufferDesc pInput, + _In_ ULONG fContextReq, + _In_ ULONG TargetDataRep, + _In_opt_ PCtxtHandle phNewContext, + _In_opt_ PSecBufferDesc pOutput, + _Out_ PULONG pfContextAttr, + _Out_opt_ PTimeStamp ptsExpiry) +{ + UNIMPLEMENTED_DBGBREAK(); + return 0; +} + +SECURITY_STATUS +SEC_ENTRY +AcquireCredentialsHandleW( + _In_opt_ PSSPI_SEC_STRING pPrincipal, + _In_ PSSPI_SEC_STRING pPackage, + _In_ ULONG fCredentialUse, + _In_opt_ PVOID pvLogonId, + _In_opt_ PVOID pAuthData, + _In_opt_ SEC_GET_KEY_FN pGetKeyFn, + _In_opt_ PVOID pvGetKeyArgument, + _Out_ PCredHandle phCredential, + _Out_opt_ PTimeStamp ptsExpiry) +{ + UNIMPLEMENTED_DBGBREAK(); + return 0; +} + +SECURITY_STATUS +SEC_ENTRY +AddCredentialsW( + _In_ PCredHandle hCredentials, + _In_opt_ PSSPI_SEC_STRING pPrincipal, + _In_ PSSPI_SEC_STRING pPackage, + _In_ ULONG fCredentialUse, + _In_opt_ PVOID pAuthData, + _In_opt_ SEC_GET_KEY_FN pGetKeyFn, + _In_opt_ PVOID pvGetKeyArgument, + _Out_opt_ PTimeStamp ptsExpiry) +{ + UNIMPLEMENTED_DBGBREAK(); + return 0; +} + +SECURITY_STATUS +SEC_ENTRY +ApplyControlToken( + _In_ PCtxtHandle phContext, + _In_ PSecBufferDesc pInput) +{ + UNIMPLEMENTED_DBGBREAK(); + return 0; +} + +VOID +SEC_ENTRY +CredMarshalTargetInfo(VOID) +{ + UNIMPLEMENTED_DBGBREAK(); +} + +SECURITY_STATUS +SEC_ENTRY +DeleteSecurityContext( + _In_ PCtxtHandle phContext) +{ + UNIMPLEMENTED_DBGBREAK(); + return 0; +} + +VOID +SEC_ENTRY +EfsDecryptFek(VOID) +{ + UNIMPLEMENTED_DBGBREAK(); +} + +VOID +SEC_ENTRY +EfsGenerateKey(VOID) +{ + UNIMPLEMENTED_DBGBREAK(); +} + +SECURITY_STATUS +SEC_ENTRY +EnumerateSecurityPackagesW( + _Out_ PULONG pcPackages, + _Deref_out_ PSecPkgInfoW* ppPackageInfo) +{ + UNIMPLEMENTED_DBGBREAK(); + return 0; +} + +SECURITY_STATUS +SEC_ENTRY +ExportSecurityContext( + _In_ PCtxtHandle phContext, + _In_ ULONG fFlags, + _Out_ PSecBuffer pPackedContext, + _Out_ PVOID* pToken) +{ + UNIMPLEMENTED_DBGBREAK(); + return 0; +} + +SECURITY_STATUS +SEC_ENTRY +FreeContextBuffer( + _Inout_ PVOID pvContextBuffer) +{ + UNIMPLEMENTED_DBGBREAK(); + return 0; +} + +SECURITY_STATUS +SEC_ENTRY +FreeCredentialsHandle( + _In_ PCredHandle phCredential) +{ + UNIMPLEMENTED_DBGBREAK(); + return 0; +} + +VOID +SEC_ENTRY +GenerateDirEfs(VOID) +{ + UNIMPLEMENTED_DBGBREAK(); +} + +VOID +SEC_ENTRY +GenerateSessionKey(VOID) +{ + UNIMPLEMENTED_DBGBREAK(); +} + +VOID +SEC_ENTRY +GetSecurityUserInfo(VOID) +{ + UNIMPLEMENTED_DBGBREAK(); +} + +SECURITY_STATUS +SEC_ENTRY +ImpersonateSecurityContext( + _In_ PCtxtHandle phContext) +{ + UNIMPLEMENTED_DBGBREAK(); + return 0; +} + +SECURITY_STATUS +SEC_ENTRY +ImportSecurityContextW( + _In_ PSSPI_SEC_STRING pszPackage, + _In_ PSecBuffer pPackedContext, + _In_ PVOID Token, + _Out_ PCtxtHandle phContext) +{ + UNIMPLEMENTED_DBGBREAK(); + return 0; +} + +SECURITY_STATUS +SEC_ENTRY +InitializeSecurityContextW( + _In_opt_ PCredHandle phCredential, + _In_opt_ PCtxtHandle phContext, + _In_opt_ PSSPI_SEC_STRING pTargetName, + _In_ ULONG fContextReq, + _In_ ULONG Reserved1, + _In_ ULONG TargetDataRep, + _In_opt_ PSecBufferDesc pInput, + _In_ ULONG Reserved2, + _Inout_opt_ PCtxtHandle phNewContext, + _Inout_opt_ PSecBufferDesc pOutput, + _Out_ PULONG pfContextAttr, + _Out_opt_ PTimeStamp ptsExpiry) +{ + UNIMPLEMENTED_DBGBREAK(); + return 0; +} + +VOID +SEC_ENTRY +KSecRegisterSecurityProvider(VOID) +{ + UNIMPLEMENTED_DBGBREAK(); +} + +VOID +SEC_ENTRY +KSecValidateBuffer(VOID) +{ + UNIMPLEMENTED_DBGBREAK(); +} + +VOID +SEC_ENTRY +LsaEnumerateLogonSessions(VOID) +{ + UNIMPLEMENTED_DBGBREAK(); +} + +VOID +SEC_ENTRY +LsaGetLogonSessionData(VOID) +{ + UNIMPLEMENTED_DBGBREAK(); +} + +SECURITY_STATUS +SEC_ENTRY +MakeSignature( + _In_ PCtxtHandle phContext, + _In_ ULONG fQOP, + _In_ PSecBufferDesc pMessage, + _In_ ULONG MessageSeqNo) +{ + UNIMPLEMENTED_DBGBREAK(); + return 0; +} + +VOID +SEC_ENTRY +MapSecurityError(VOID) +{ + UNIMPLEMENTED_DBGBREAK(); +} + +SECURITY_STATUS +SEC_ENTRY +QueryContextAttributesW( + _In_ PCtxtHandle phContext, + _In_ ULONG ulAttribute, + _Out_ PVOID pBuffer) +{ + UNIMPLEMENTED_DBGBREAK(); + return 0; +} + +SECURITY_STATUS +SEC_ENTRY +QueryCredentialsAttributesW( + _In_ PCredHandle phCredential, + _In_ ULONG ulAttribute, + _Inout_ PVOID pBuffer) +{ + UNIMPLEMENTED_DBGBREAK(); + return 0; +} + +SECURITY_STATUS +SEC_ENTRY +QuerySecurityContextToken( + _In_ PCtxtHandle phContext, + _Out_ PVOID* Token) +{ + UNIMPLEMENTED_DBGBREAK(); + return 0; +} + +SECURITY_STATUS +SEC_ENTRY +QuerySecurityPackageInfoW( + _In_ PSSPI_SEC_STRING pPackageName, + _Deref_out_ PSecPkgInfoW *ppPackageInfo) +{ + UNIMPLEMENTED_DBGBREAK(); + return 0; +} + +SECURITY_STATUS +SEC_ENTRY +RevertSecurityContext( + _In_ PCtxtHandle phContext) +{ + UNIMPLEMENTED_DBGBREAK(); + return 0; +} + +VOID +SEC_ENTRY +SealMessage(VOID) +{ + UNIMPLEMENTED_DBGBREAK(); +} + +NTSTATUS +SEC_ENTRY +SecLookupAccountName( + _In_ PUNICODE_STRING Name, + _Inout_ PULONG SidSize, + _Out_ PSID Sid, + _Out_ PSID_NAME_USE NameUse, + _Out_opt_ PULONG DomainSize, + _Inout_opt_ PUNICODE_STRING ReferencedDomain) +{ + UNIMPLEMENTED_DBGBREAK(); + return 0; +} + +NTSTATUS +SEC_ENTRY +SecLookupAccountSid( + _In_ PSID Sid, + _Out_ PULONG NameSize, + _Inout_ PUNICODE_STRING NameBuffer, + _Out_ PULONG DomainSize OPTIONAL, + _Out_opt_ PUNICODE_STRING DomainBuffer, + _Out_ PSID_NAME_USE NameUse) +{ + UNIMPLEMENTED_DBGBREAK(); + return 0; +} + +NTSTATUS +SEC_ENTRY +SecLookupWellKnownSid( + _In_ WELL_KNOWN_SID_TYPE SidType, + _Out_ PSID Sid, + _In_ ULONG SidBufferSize, + _Inout_opt_ PULONG SidSize) +{ + UNIMPLEMENTED_DBGBREAK(); + return 0; +} + +NTSTATUS +NTAPI +SecMakeSPN( + _In_ PUNICODE_STRING ServiceClass, + _In_ PUNICODE_STRING ServiceName, + _In_opt_ PUNICODE_STRING InstanceName, + _In_opt_ USHORT InstancePort, + _In_opt_ PUNICODE_STRING Referrer, + _Inout_ PUNICODE_STRING Spn, + _Out_opt_ PULONG Length, + _In_ BOOLEAN Allocate) +{ + UNIMPLEMENTED_DBGBREAK(); + return 0; +} + +NTSTATUS +NTAPI +SecMakeSPNEx( + _In_ PUNICODE_STRING ServiceClass, + _In_ PUNICODE_STRING ServiceName, + _In_opt_ PUNICODE_STRING InstanceName, + _In_opt_ USHORT InstancePort, + _In_opt_ PUNICODE_STRING Referrer, + _In_opt_ PUNICODE_STRING TargetInfo, + _Inout_ PUNICODE_STRING Spn, + _Out_opt_ PULONG Length, + _In_ BOOLEAN Allocate) +{ + UNIMPLEMENTED_DBGBREAK(); + return 0; +} + +VOID +SEC_ENTRY +SecSetPagingMode(VOID) +{ + UNIMPLEMENTED_DBGBREAK(); +} +VOID +SEC_ENTRY +UnsealMessage(VOID) +{ + UNIMPLEMENTED_DBGBREAK(); +} + +SECURITY_STATUS +SEC_ENTRY +VerifySignature( + _In_ PCtxtHandle phContext, + _In_ PSecBufferDesc pMessage, + _In_ ULONG MessageSeqNo, + _Out_ PULONG pfQOP) +{ + UNIMPLEMENTED_DBGBREAK(); + return 0; +} diff --git a/hal/halx86/legacy/bussupp.c b/hal/halx86/legacy/bussupp.c index 4435fe4fccf..7bd05c0aff8 100644 --- a/hal/halx86/legacy/bussupp.c +++ b/hal/halx86/legacy/bussupp.c @@ -735,12 +735,12 @@ HalpDebugPciDumpBus(IN ULONG i, } /* Isolate the vendor name */ - sprintf(LookupString, "%04x ", PciData->VendorID); + sprintf(LookupString, "\r\n%04x ", PciData->VendorID); VendorName = strstr(VendorTable, LookupString); if (VendorName) { /* Copy the vendor name into our buffer */ - VendorName += 6; + VendorName += 8; p = strpbrk(VendorName, "\r\n"); Length = p - VendorName; if (Length >= sizeof(bVendorName)) Length = sizeof(bVendorName) - 1; diff --git a/include/ddk/ndis.h b/include/ddk/ndis.h index d4716e062f1..a1a5d81bb32 100644 --- a/include/ddk/ndis.h +++ b/include/ddk/ndis.h @@ -2168,7 +2168,11 @@ typedef VOID NDIS50_MINIPORT_CHARACTERISTICS Ndis50Chars; \ W_CANCEL_SEND_PACKETS_HANDLER CancelSendPacketsHandler; \ W_PNP_EVENT_NOTIFY_HANDLER PnPEventNotifyHandler; \ - W_MINIPORT_SHUTDOWN_HANDLER AdapterShutdownHandler; + W_MINIPORT_SHUTDOWN_HANDLER AdapterShutdownHandler; \ + PVOID Reserved1; \ + PVOID Reserved2; \ + PVOID Reserved3; \ + PVOID Reserved4; #else @@ -2176,7 +2180,11 @@ typedef VOID NDIS50_MINIPORT_CHARACTERISTICS_S \ W_CANCEL_SEND_PACKETS_HANDLER CancelSendPacketsHandler; \ W_PNP_EVENT_NOTIFY_HANDLER PnPEventNotifyHandler; \ - W_MINIPORT_SHUTDOWN_HANDLER AdapterShutdownHandler; + W_MINIPORT_SHUTDOWN_HANDLER AdapterShutdownHandler; \ + PVOID Reserved1; \ + PVOID Reserved2; \ + PVOID Reserved3; \ + PVOID Reserved4; #endif diff --git a/include/ddk/ntifs.h b/include/ddk/ntifs.h index ae939673b73..fa7d3fe7984 100644 --- a/include/ddk/ntifs.h +++ b/include/ddk/ntifs.h @@ -11416,19 +11416,6 @@ typedef struct _GET_RETRIEVAL_DESCRIPTOR { MAPPING_PAIR Pair[1]; } GET_RETRIEVAL_DESCRIPTOR, *PGET_RETRIEVAL_DESCRIPTOR; -typedef struct _MBCB { - CSHORT NodeTypeCode; - CSHORT NodeIsInZone; - ULONG PagesToWrite; - ULONG DirtyPages; - ULONG Reserved; - LIST_ENTRY BitmapRanges; - LONGLONG ResumeWritePage; - BITMAP_RANGE BitmapRange1; - BITMAP_RANGE BitmapRange2; - BITMAP_RANGE BitmapRange3; -} MBCB, *PMBCB; - typedef struct _MOVEFILE_DESCRIPTOR { HANDLE FileHandle; ULONG Reserved; diff --git a/include/ddk/wdm.h b/include/ddk/wdm.h index 9df397b069b..124e45b4012 100644 --- a/include/ddk/wdm.h +++ b/include/ddk/wdm.h @@ -11063,9 +11063,21 @@ RtlCheckBit( (__assert_annotationW(msg), \ DbgRaiseAssertionFailure(), FALSE) : TRUE) -#define NT_ASSERT(exp) ((void)NT_VERIFY(exp)) -#define NT_ASSERTMSG(msg, exp) ((void)NT_VERIFYMSG(msg, exp)) -#define NT_ASSERTMSGW(msg, exp) ((void)NT_VERIFYMSGW(msg, exp)) +/* Can't reuse verify, see above */ +#define NT_ASSERT(exp) \ + ((VOID)((!(exp)) ? \ + (__assert_annotationA(#exp), \ + DbgRaiseAssertionFailure(), FALSE) : TRUE)) + +#define NT_ASSERTMSG(msg, exp) \ + ((VOID)((!(exp)) ? \ + (__assert_annotationA(msg), \ + DbgRaiseAssertionFailure(), FALSE) : TRUE)) + +#define NT_ASSERTMSGW(msg, exp) \ + ((VOID)((!(exp)) ? \ + (__assert_annotationW(msg), \ + DbgRaiseAssertionFailure(), FALSE) : TRUE)) #else /* !DBG */ diff --git a/include/ndk/cctypes.h b/include/ndk/cctypes.h index a5e43d1790a..b94738fdccc 100644 --- a/include/ndk/cctypes.h +++ b/include/ndk/cctypes.h @@ -81,6 +81,19 @@ typedef struct _PRIVATE_CACHE_MAP LIST_ENTRY PrivateLinks; } PRIVATE_CACHE_MAP, *PPRIVATE_CACHE_MAP; +typedef struct _MBCB { + CSHORT NodeTypeCode; + CSHORT NodeIsInZone; + ULONG PagesToWrite; + ULONG DirtyPages; + ULONG Reserved; + LIST_ENTRY BitmapRanges; + LONGLONG ResumeWritePage; + BITMAP_RANGE BitmapRange1; + BITMAP_RANGE BitmapRange2; + BITMAP_RANGE BitmapRange3; +} MBCB, *PMBCB; + #ifdef _NTIFS_INCLUDED_ // @@ -103,12 +116,12 @@ typedef struct _SHARED_CACHE_MAP PVOID NeedToZero; ULONG ActivePage; ULONG NeedToZeroPage; - ULONG ActiveVacbSpinLock; + KSPIN_LOCK ActiveVacbSpinLock; ULONG VacbActiveCount; ULONG DirtyPages; LIST_ENTRY SharedCacheMapLinks; ULONG Flags; - ULONG Status; + LONG Status; PMBCB Mbcb; PVOID Section; PKEVENT CreateEvent; @@ -119,12 +132,12 @@ typedef struct _SHARED_CACHE_MAP PVOID LazyWriteContext; LIST_ENTRY PrivateList; PVOID LogHandle; - PVOID FlushToLsnRoutine; + PFLUSH_TO_LSN FlushToLsnRoutine; ULONG DirtyPageThreshold; ULONG LazyWritePassCount; PCACHE_UNINITIALIZE_EVENT UninitializeEvent; PVACB NeedToZeroVacb; - ULONG BcbSpinLock; + KSPIN_LOCK BcbSpinLock; PVOID Reserved; KEVENT Event; EX_PUSH_LOCK VacbPushLock; diff --git a/include/ndk/psfuncs.h b/include/ndk/psfuncs.h index 3629a1ff30d..253c2764271 100644 --- a/include/ndk/psfuncs.h +++ b/include/ndk/psfuncs.h @@ -149,6 +149,13 @@ PsGetCurrentProcessSessionId( // // Process Impersonation Functions // +NTKERNELAPI +BOOLEAN +NTAPI +PsIsThreadImpersonating( + _In_ PETHREAD Thread +); + NTKERNELAPI VOID NTAPI diff --git a/include/ndk/rtlfuncs.h b/include/ndk/rtlfuncs.h index 405e16d86f6..c0a205c473f 100644 --- a/include/ndk/rtlfuncs.h +++ b/include/ndk/rtlfuncs.h @@ -3991,16 +3991,46 @@ RtlComputeCrc32( // // Network Functions // +NTSYSAPI +NTSTATUS +NTAPI +RtlIpv4StringToAddressA( + _In_ PCSTR String, + _In_ BOOLEAN Strict, + _Out_ PCSTR *Terminator, + _Out_ struct in_addr *Addr +); + NTSYSAPI NTSTATUS NTAPI RtlIpv4StringToAddressW( _In_ PCWSTR String, _In_ BOOLEAN Strict, - _Out_ LPWSTR *Terminator, + _Out_ PCWSTR *Terminator, _Out_ struct in_addr *Addr ); +NTSYSAPI +NTSTATUS +NTAPI +RtlIpv4StringToAddressExA( + _In_ PCSTR AddressString, + _In_ BOOLEAN Strict, + _Out_ struct in_addr *Address, + _Out_ PUSHORT Port +); + +NTSYSAPI +NTSTATUS +NTAPI +RtlIpv4StringToAddressExW( + _In_ PCWSTR AddressString, + _In_ BOOLEAN Strict, + _Out_ struct in_addr *Address, + _Out_ PUSHORT Port +); + NTSYSAPI NTSTATUS NTAPI diff --git a/include/psdk/mstcpip.h b/include/psdk/mstcpip.h index 118fccf34d2..0f34c2e04e6 100644 --- a/include/psdk/mstcpip.h +++ b/include/psdk/mstcpip.h @@ -1340,7 +1340,7 @@ NTSYSAPI LONG NTAPI RtlIpv4StringToAddressA( - _In_ PCSTR S, + _In_ PCSTR String, _In_ BOOLEAN Strict, _Out_ PCSTR *Terminator, _Out_ struct in_addr *Addr); @@ -1358,9 +1358,9 @@ NTSYSAPI LONG NTAPI RtlIpv4StringToAddressW( - _In_ PCWSTR S, + _In_ PCWSTR String, _In_ BOOLEAN Strict, - _Out_ LPCWSTR *Terminator, + _Out_ PCWSTR *Terminator, _Out_ struct in_addr *Addr); NTSYSAPI diff --git a/include/xdk/ntifs.template.h b/include/xdk/ntifs.template.h index 98d2c6d3c85..a7908988416 100644 --- a/include/xdk/ntifs.template.h +++ b/include/xdk/ntifs.template.h @@ -1535,19 +1535,6 @@ typedef struct _GET_RETRIEVAL_DESCRIPTOR { MAPPING_PAIR Pair[1]; } GET_RETRIEVAL_DESCRIPTOR, *PGET_RETRIEVAL_DESCRIPTOR; -typedef struct _MBCB { - CSHORT NodeTypeCode; - CSHORT NodeIsInZone; - ULONG PagesToWrite; - ULONG DirtyPages; - ULONG Reserved; - LIST_ENTRY BitmapRanges; - LONGLONG ResumeWritePage; - BITMAP_RANGE BitmapRange1; - BITMAP_RANGE BitmapRange2; - BITMAP_RANGE BitmapRange3; -} MBCB, *PMBCB; - typedef struct _MOVEFILE_DESCRIPTOR { HANDLE FileHandle; ULONG Reserved; diff --git a/include/xdk/rtlfuncs.h b/include/xdk/rtlfuncs.h index 30be3048cb4..516bcce4075 100644 --- a/include/xdk/rtlfuncs.h +++ b/include/xdk/rtlfuncs.h @@ -3133,9 +3133,21 @@ RtlCheckBit( (__assert_annotationW(msg), \ DbgRaiseAssertionFailure(), FALSE) : TRUE) -#define NT_ASSERT(exp) ((void)NT_VERIFY(exp)) -#define NT_ASSERTMSG(msg, exp) ((void)NT_VERIFYMSG(msg, exp)) -#define NT_ASSERTMSGW(msg, exp) ((void)NT_VERIFYMSGW(msg, exp)) +/* Can't reuse verify, see above */ +#define NT_ASSERT(exp) \ + ((VOID)((!(exp)) ? \ + (__assert_annotationA(#exp), \ + DbgRaiseAssertionFailure(), FALSE) : TRUE)) + +#define NT_ASSERTMSG(msg, exp) \ + ((VOID)((!(exp)) ? \ + (__assert_annotationA(msg), \ + DbgRaiseAssertionFailure(), FALSE) : TRUE)) + +#define NT_ASSERTMSGW(msg, exp) \ + ((VOID)((!(exp)) ? \ + (__assert_annotationW(msg), \ + DbgRaiseAssertionFailure(), FALSE) : TRUE)) #else /* !DBG */ diff --git a/lib/cmlib/CMakeLists.txt b/lib/cmlib/CMakeLists.txt index 707707b28a2..a692c3a3653 100644 --- a/lib/cmlib/CMakeLists.txt +++ b/lib/cmlib/CMakeLists.txt @@ -6,6 +6,7 @@ add_definitions( list(APPEND SOURCE cminit.c + cmtools.c hivebin.c hivecell.c hiveinit.c diff --git a/lib/cmlib/cmdata.h b/lib/cmlib/cmdata.h index a717f73f50f..393efd4861a 100644 --- a/lib/cmlib/cmdata.h +++ b/lib/cmlib/cmdata.h @@ -11,6 +11,8 @@ #define REG_INIT_HASH_TABLE_SIZE 3 #define REG_EXTEND_HASH_TABLE_SIZE 4 #define REG_VALUE_LIST_CELL_MULTIPLE 4 +#define REG_DATA_SIZE_MASK 0x7FFFFFFF +#define REG_DATA_IN_OFFSET 0x80000000 // // Key Types diff --git a/lib/cmlib/cmlib.h b/lib/cmlib/cmlib.h index d0b76710130..cb81c53a5b1 100644 --- a/lib/cmlib/cmlib.h +++ b/lib/cmlib/cmlib.h @@ -15,6 +15,21 @@ #include #include + #ifdef _WIN32 + #define strncasecmp _strnicmp + #define strcasecmp _stricmp + #endif//_WIN32 + + #ifndef _MSC_VER + #define _In_ + #define _Out_ + #define _Inout_ + #endif + + #ifndef min + #define min(a, b) (((a) < (b)) ? (a) : (b)) + #endif + // Definitions copied from // We only want to include host headers, so we define them manually #define STATUS_SUCCESS ((NTSTATUS)0x00000000) @@ -33,6 +48,10 @@ KeQuerySystemTime( OUT PLARGE_INTEGER CurrentTime); + WCHAR NTAPI + RtlUpcaseUnicodeChar( + IN WCHAR Source); + VOID NTAPI RtlInitializeBitMap( IN PRTL_BITMAP BitMapHeader, @@ -312,6 +331,49 @@ VOID CMAPI CmPrepareHive( PHHIVE RegistryHive); +BOOLEAN +NTAPI +CmCompareHash( + IN PCUNICODE_STRING KeyName, + IN PCHAR HashString, + IN BOOLEAN CaseInsensitive); + +BOOLEAN +NTAPI +CmComparePackedNames( + IN PCUNICODE_STRING Name, + IN PVOID NameBuffer, + IN USHORT NameBufferSize, + IN BOOLEAN NamePacked, + IN BOOLEAN CaseInsensitive); + +BOOLEAN +NTAPI +CmCompareKeyName( + IN PCM_KEY_NODE KeyCell, + IN PCUNICODE_STRING KeyName, + IN BOOLEAN CaseInsensitive); + +BOOLEAN +NTAPI +CmCompareKeyValueName( + IN PCM_KEY_VALUE ValueCell, + IN PCUNICODE_STRING KeyName, + IN BOOLEAN CaseInsensitive); + +ULONG +NTAPI +CmCopyKeyName( + _In_ PCM_KEY_NODE KeyNode, + _Out_ PWCHAR KeyNameBuffer, + _Inout_ ULONG BufferLength); + +ULONG +NTAPI +CmCopyKeyValueName( + _In_ PCM_KEY_VALUE ValueCell, + _Out_ PWCHAR ValueNameBuffer, + _Inout_ ULONG BufferLength); BOOLEAN CMAPI diff --git a/lib/cmlib/cmtools.c b/lib/cmlib/cmtools.c new file mode 100644 index 00000000000..41a28e8bdd1 --- /dev/null +++ b/lib/cmlib/cmtools.c @@ -0,0 +1,222 @@ +/* + * PROJECT: registry manipulation library + * LICENSE: GPL - See COPYING in the top level directory + * COPYRIGHT: Copyright 2005 Filip Navara + * Copyright 2001 - 2005 Eric Kohl + */ + +#include "cmlib.h" +#define NDEBUG +#include + +BOOLEAN +NTAPI +CmCompareHash( + IN PCUNICODE_STRING KeyName, + IN PCHAR HashString, + IN BOOLEAN CaseInsensitive) +{ + CHAR Buffer[4]; + + Buffer[0] = (KeyName->Length >= 2) ? (CHAR)KeyName->Buffer[0] : 0; + Buffer[1] = (KeyName->Length >= 4) ? (CHAR)KeyName->Buffer[1] : 0; + Buffer[2] = (KeyName->Length >= 6) ? (CHAR)KeyName->Buffer[2] : 0; + Buffer[3] = (KeyName->Length >= 8) ? (CHAR)KeyName->Buffer[3] : 0; + + if (CaseInsensitive) + { + return (strncasecmp(Buffer, HashString, 4) == 0); + } + else + { + return (strncmp(Buffer, HashString, 4) == 0); + } +} + +BOOLEAN +NTAPI +CmComparePackedNames( + IN PCUNICODE_STRING CompareName, + IN PVOID Name, + IN USHORT NameLength, + IN BOOLEAN NamePacked, + IN BOOLEAN CaseInsensitive) +{ + ULONG i; + + if (NamePacked == TRUE) + { + PUCHAR PackedName = (PUCHAR)Name; + + if (CompareName->Length != NameLength * sizeof(WCHAR)) + { + //DPRINT1("Length doesn'T match %lu / %lu\n", CompareName->Length, NameLength); + return FALSE; + } + + if (CaseInsensitive) + { + for (i = 0; i < CompareName->Length / sizeof(WCHAR); i++) + { + //DbgPrint("%c/%c,", + // RtlUpcaseUnicodeChar(CompareName->Buffer[i]), + // RtlUpcaseUnicodeChar(PackedName[i])); + if (RtlUpcaseUnicodeChar(CompareName->Buffer[i]) != + RtlUpcaseUnicodeChar(PackedName[i])) + { + //DbgPrint("\nFailed!\n"); + return FALSE; + } + } + //DbgPrint("\nSuccess!\n"); + } + else + { + for (i = 0; i < CompareName->Length / sizeof(WCHAR); i++) + { + if (CompareName->Buffer[i] != PackedName[i]) + return FALSE; + } + } + + } + else + { + PWCHAR UnicodeName = (PWCHAR)Name; + + if (CompareName->Length != NameLength) + return FALSE; + + if (CaseInsensitive) + { + for (i = 0; i < CompareName->Length / sizeof(WCHAR); i++) + { + if (RtlUpcaseUnicodeChar(CompareName->Buffer[i]) != + RtlUpcaseUnicodeChar(UnicodeName[i])) + return FALSE; + } + } + else + { + for (i = 0; i < CompareName->Length / sizeof(WCHAR); i++) + { + if (CompareName->Buffer[i] != UnicodeName[i]) + return FALSE; + } + } + } + + return TRUE; +} + + +BOOLEAN +NTAPI +CmCompareKeyName( + IN PCM_KEY_NODE KeyNode, + IN PCUNICODE_STRING KeyName, + IN BOOLEAN CaseInsensitive) +{ + ASSERT(KeyNode->Signature == CM_KEY_NODE_SIGNATURE); + return CmComparePackedNames(KeyName, + KeyNode->Name, + KeyNode->NameLength, + (KeyNode->Flags & KEY_COMP_NAME) ? TRUE : FALSE, + CaseInsensitive); +} + +BOOLEAN +NTAPI +CmCompareKeyValueName( + IN PCM_KEY_VALUE ValueCell, + IN PCUNICODE_STRING ValueName, + IN BOOLEAN CaseInsensitive) +{ + ASSERT(ValueCell->Signature == CM_KEY_VALUE_SIGNATURE); + return CmComparePackedNames(ValueName, + ValueCell->Name, + ValueCell->NameLength, + (ValueCell->Flags & VALUE_COMP_NAME) ? TRUE : FALSE, + CaseInsensitive); +} + +ULONG +NTAPI +CmCopyPackedName( + _Out_ PWCHAR Buffer, + _In_ ULONG BufferLength, + _In_ PVOID Name, + _In_ USHORT NameLength, + _In_ BOOLEAN NamePacked) +{ + ULONG CharCount, i; + ASSERT(Name != 0); + ASSERT(NameLength != 0); + + if (NamePacked == TRUE) + { + NameLength *= sizeof(WCHAR); + CharCount = min(BufferLength, NameLength) / sizeof(WCHAR); + + if (Buffer != NULL) + { + PUCHAR PackedName = (PUCHAR)Name; + + for (i = 0; i < CharCount; i++) + { + Buffer[i] = PackedName[i]; + } + } + } + else + { + CharCount = min(BufferLength, NameLength) / sizeof(WCHAR); + + if (Buffer != NULL) + { + PWCHAR UnicodeName = (PWCHAR)Name; + + for (i = 0; i < CharCount; i++) + { + Buffer[i] = UnicodeName[i]; + } + } + } + + if (BufferLength >= NameLength + sizeof(WCHAR)) + { + Buffer[NameLength / sizeof(WCHAR)] = '\0'; + } + + return NameLength + sizeof(WCHAR); +} + +ULONG +NTAPI +CmCopyKeyName( + _In_ PCM_KEY_NODE KeyNode, + _Out_ PWCHAR KeyNameBuffer, + _Inout_ ULONG BufferLength) +{ + ASSERT(KeyNode->Signature == CM_KEY_NODE_SIGNATURE); + return CmCopyPackedName(KeyNameBuffer, + BufferLength, + KeyNode->Name, + KeyNode->NameLength, + (KeyNode->Flags & KEY_COMP_NAME) ? TRUE : FALSE); +} + +ULONG +NTAPI +CmCopyKeyValueName( + _In_ PCM_KEY_VALUE ValueCell, + _Out_ PWCHAR ValueNameBuffer, + _Inout_ ULONG BufferLength) +{ + ASSERT(ValueCell->Signature == CM_KEY_VALUE_SIGNATURE); + return CmCopyPackedName(ValueNameBuffer, + BufferLength, + ValueCell->Name, + ValueCell->NameLength, + (ValueCell->Flags & VALUE_COMP_NAME) ? TRUE : FALSE); +} diff --git a/lib/cmlib/hivebin.c b/lib/cmlib/hivebin.c index 844e2f717e9..03cdf0bb061 100644 --- a/lib/cmlib/hivebin.c +++ b/lib/cmlib/hivebin.c @@ -98,6 +98,9 @@ HvpAddBin( RtlSetBits(&RegistryHive->DirtyVector, Bin->FileOffset / HV_BLOCK_SIZE, BlockCount); + + /* Update size in the base block */ + RegistryHive->BaseBlock->Length += BinSize; } return Bin; diff --git a/lib/cmlib/hivecell.c b/lib/cmlib/hivecell.c index c82e22bb1bd..0c709076126 100644 --- a/lib/cmlib/hivecell.c +++ b/lib/cmlib/hivecell.c @@ -149,7 +149,7 @@ HvpComputeFreeListIndex( ULONG Size) { ULONG Index; - static CCHAR FindFirstSet[256] = { + static CCHAR FindFirstSet[128] = { 0, 0, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, @@ -157,23 +157,16 @@ HvpComputeFreeListIndex( 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7}; + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6}; + ASSERT(Size >= (1 << 3)); Index = (Size >> 3) - 1; if (Index >= 16) { - if (Index > 255) + if (Index > 127) Index = 23; else - Index = FindFirstSet[Index] + 7; + Index = FindFirstSet[Index] + 16; } return Index; @@ -301,7 +294,7 @@ HvpCreateHiveFreeCellList( Hive->Storage[Stable].FreeDisplay[Index] = HCELL_NIL; Hive->Storage[Volatile].FreeDisplay[Index] = HCELL_NIL; } - +//__debugbreak(); BlockOffset = 0; BlockIndex = 0; while (BlockIndex < Hive->Storage[Stable].Length) diff --git a/lib/cmlib/hiveinit.c b/lib/cmlib/hiveinit.c index c864f94a3e9..7051498202a 100644 --- a/lib/cmlib/hiveinit.c +++ b/lib/cmlib/hiveinit.c @@ -107,7 +107,7 @@ HvpCreateHive( BaseBlock->Format = HBASE_FORMAT_MEMORY; BaseBlock->Cluster = 1; BaseBlock->RootCell = HCELL_NIL; - BaseBlock->Length = HV_BLOCK_SIZE; + BaseBlock->Length = 0; BaseBlock->Sequence1 = 1; BaseBlock->Sequence2 = 1; /* FIXME: Fill in the file name */ @@ -145,11 +145,7 @@ HvpInitializeMemoryHive( PULONG BitmapBuffer; SIZE_T ChunkSize; - // - // This hack is similar in magnitude to the US's National Debt - // ChunkSize = ((PHBASE_BLOCK)ChunkBase)->Length; - ((PHBASE_BLOCK)ChunkBase)->Length = HV_BLOCK_SIZE; DPRINT("ChunkSize: %lx\n", ChunkSize); if (ChunkSize < sizeof(HBASE_BLOCK) || @@ -172,7 +168,7 @@ HvpInitializeMemoryHive( * we go. */ - Hive->Storage[Stable].Length = (ULONG)(ChunkSize / HV_BLOCK_SIZE) - 1; + Hive->Storage[Stable].Length = (ULONG)(ChunkSize / HV_BLOCK_SIZE); Hive->Storage[Stable].BlockList = Hive->Allocate(Hive->Storage[Stable].Length * sizeof(HMAP_ENTRY), FALSE, TAG_CM); @@ -305,8 +301,6 @@ HvpGetHiveHeader(IN PHHIVE Hive, Hive->Free(BaseBlock, 0); BaseBlock = Hive->Allocate(PAGE_SIZE, TRUE, TAG_CM); if (!BaseBlock) return NoMemory; - - //BaseBlock->Length = PAGE_SIZE; ?? } /* Clear it */ @@ -384,8 +378,6 @@ HvLoadHive(IN PHHIVE Hive, FileSize); if (!Result) return STATUS_NOT_REGISTRY_FILE; - /* Apply "US National Debt" hack */ - ((PHBASE_BLOCK)HiveData)->Length = FileSize; /* Free our base block... it's usless in this implementation */ Hive->Free(BaseBlock, 0); diff --git a/lib/cmlib/hivewrt.c b/lib/cmlib/hivewrt.c index fb046fd22b8..bdbce20bbe3 100644 --- a/lib/cmlib/hivewrt.c +++ b/lib/cmlib/hivewrt.c @@ -27,6 +27,8 @@ HvpWriteLog( return TRUE; ASSERT(RegistryHive->ReadOnly == FALSE); + ASSERT(RegistryHive->BaseBlock->Length == + RegistryHive->Storage[Stable].Length * HV_BLOCK_SIZE); DPRINT("HvpWriteLog called\n"); @@ -150,6 +152,8 @@ HvpWriteHive( BOOLEAN Success; ASSERT(RegistryHive->ReadOnly == FALSE); + ASSERT(RegistryHive->BaseBlock->Length == + RegistryHive->Storage[Stable].Length * HV_BLOCK_SIZE); DPRINT("HvpWriteHive called\n"); diff --git a/lib/drivers/hidparser/api.c b/lib/drivers/hidparser/api.c index 8e48dc97951..fc73ecf71f3 100644 --- a/lib/drivers/hidparser/api.c +++ b/lib/drivers/hidparser/api.c @@ -602,7 +602,7 @@ HidParser_GetUsageValueWithReport( return HIDPARSER_STATUS_INVALID_REPORT_LENGTH; } - for(Index = 0; Index < Report->ItemCount; Index++) + for (Index = 0; Index < Report->ItemCount; Index++) { // // get report item @@ -632,10 +632,10 @@ HidParser_GetUsageValueWithReport( ASSERT(ReportItem->ByteOffset < ReportDescriptorLength); // - // FIXME: support items with variable bitlength + // one extra shift for skipping the prepended report id // - ASSERT(ReportItem->BitCount == 16); - Data = (ReportDescriptor[ReportItem->ByteOffset +1] & 0xFF) | (ReportDescriptor[ReportItem->ByteOffset +2] & 0xFF) << 8; + Data = 0; + Parser->Copy(&Data, &ReportDescriptor[ReportItem->ByteOffset + 1], min(sizeof(ULONG), ReportDescriptorLength - (ReportItem->ByteOffset + 1))); // // shift data @@ -699,7 +699,7 @@ HidParser_GetScaledUsageValueWithReport( return HIDPARSER_STATUS_INVALID_REPORT_LENGTH; } - for(Index = 0; Index < Report->ItemCount; Index++) + for (Index = 0; Index < Report->ItemCount; Index++) { // // get report item @@ -732,8 +732,7 @@ HidParser_GetScaledUsageValueWithReport( // one extra shift for skipping the prepended report id // Data = 0; - Parser->Copy(&Data, &ReportDescriptor[ReportItem->ByteOffset +1], min(sizeof(ULONG), ReportDescriptorLength - (ReportItem->ByteOffset + 1))); - Data = ReportDescriptor[ReportItem->ByteOffset + 1]; + Parser->Copy(&Data, &ReportDescriptor[ReportItem->ByteOffset + 1], min(sizeof(ULONG), ReportDescriptorLength - (ReportItem->ByteOffset + 1))); // // shift data @@ -812,7 +811,6 @@ HidParser_GetScanCodeFromCustUsage( // return CustomerScanCodes[i].ScanCode; } - } // diff --git a/lib/drivers/lwip/src/api/tcpip.c b/lib/drivers/lwip/src/api/tcpip.c index 18d5f679f40..cb3cead1384 100644 --- a/lib/drivers/lwip/src/api/tcpip.c +++ b/lib/drivers/lwip/src/api/tcpip.c @@ -46,6 +46,7 @@ #include "lwip/pbuf.h" #include "lwip/tcpip.h" #include "lwip/init.h" +#include "lwip/ip.h" #include "netif/etharp.h" #include "netif/ppp_oe.h" diff --git a/lib/rtl/network.c b/lib/rtl/network.c index f870c65e024..d8d4436e8a6 100644 --- a/lib/rtl/network.c +++ b/lib/rtl/network.c @@ -32,7 +32,7 @@ RtlIpv4AddressToStringA(IN struct in_addr *Addr, OUT PCHAR S) { INT Length; - + if (!S) return (LPSTR)~0; Length = sprintf(S, "%u.%u.%u.%u", Addr->S_un.S_un_b.s_b1, @@ -88,7 +88,7 @@ RtlIpv4AddressToStringW(IN struct in_addr *Addr, INT Length; if (!S) return (LPWSTR)~0; - + Length = swprintf(S, L"%u.%u.%u.%u", Addr->S_un.S_un_b.s_b1, Addr->S_un.S_un_b.s_b2, Addr->S_un.S_un_b.s_b3, @@ -135,9 +135,9 @@ RtlIpv4AddressToStringExW(IN struct in_addr *Address, */ NTSTATUS NTAPI -RtlIpv4StringToAddressA(IN PCHAR String, +RtlIpv4StringToAddressA(IN PCSTR String, IN BOOLEAN Strict, - OUT PCHAR *Terminator, + OUT PCSTR *Terminator, OUT struct in_addr *Addr) { UNIMPLEMENTED; @@ -149,10 +149,10 @@ RtlIpv4StringToAddressA(IN PCHAR String, */ NTSTATUS NTAPI -RtlIpv4StringToAddressExA(IN PCHAR AddressString, +RtlIpv4StringToAddressExA(IN PCSTR AddressString, IN BOOLEAN Strict, OUT struct in_addr *Address, - IN PUSHORT Port) + OUT PUSHORT Port) { UNIMPLEMENTED; return STATUS_NOT_IMPLEMENTED; @@ -165,7 +165,7 @@ NTSTATUS NTAPI RtlIpv4StringToAddressW(IN PCWSTR String, IN BOOLEAN Strict, - OUT LPWSTR *Terminator, + OUT PCWSTR *Terminator, OUT struct in_addr *Addr) { UNIMPLEMENTED; @@ -177,7 +177,7 @@ RtlIpv4StringToAddressW(IN PCWSTR String, */ NTSTATUS NTAPI -RtlIpv4StringToAddressExW(IN PWCHAR AddressString, +RtlIpv4StringToAddressExW(IN PCWSTR AddressString, IN BOOLEAN Strict, OUT struct in_addr *Address, OUT PUSHORT Port) diff --git a/lib/rtl/registry.c b/lib/rtl/registry.c index 030fbefa42e..26454849440 100644 --- a/lib/rtl/registry.c +++ b/lib/rtl/registry.c @@ -211,7 +211,7 @@ RtlpCallQueryRegistryRoutine(IN PRTL_QUERY_REGISTRY_TABLE QueryTable, /* Check if we have space to copy the data */ RequiredLength = KeyValueInfo->NameLength + sizeof(UNICODE_NULL); - if (SpareLength < RequiredLength) + if ((SpareData > DataEnd) || (SpareLength < RequiredLength)) { /* Fail and return the missing length */ *InfoSize = (ULONG)(SpareData - (PCHAR)KeyValueInfo) + RequiredLength; diff --git a/media/CMakeLists.txt b/media/CMakeLists.txt index 5a9ef5c2b26..35fe70d6c2c 100644 --- a/media/CMakeLists.txt +++ b/media/CMakeLists.txt @@ -1,6 +1,7 @@ add_subdirectory(fonts) add_subdirectory(inf) add_subdirectory(nls) +add_subdirectory(themes) add_subdirectory(vgafonts) add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/drivers/etc/hosts DESTINATION reactos/system32/drivers/etc FOR all) diff --git a/media/themes/CMakeLists.txt b/media/themes/CMakeLists.txt new file mode 100644 index 00000000000..48ca9348822 --- /dev/null +++ b/media/themes/CMakeLists.txt @@ -0,0 +1 @@ +add_subdirectory(lautus.msstyles) diff --git a/media/themes/lautus.msstyles/CMakeLists.txt b/media/themes/lautus.msstyles/CMakeLists.txt new file mode 100644 index 00000000000..bc8cf8b1a09 --- /dev/null +++ b/media/themes/lautus.msstyles/CMakeLists.txt @@ -0,0 +1,9 @@ + +list(APPEND SOURCE + lautus.rc) + +add_library(lautus.msstyles SHARED ${SOURCE}) +set_module_type(lautus.msstyles module) +set_target_properties(lautus.msstyles PROPERTIES SUFFIX "") + +add_cd_file(TARGET lautus.msstyles DESTINATION reactos/Resources/Themes/Lautus FOR all) diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_BALLOONCLOSE.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_BALLOONCLOSE.bmp new file mode 100644 index 00000000000..ae69bba516b Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_BALLOONCLOSE.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_BUTTON.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_BUTTON.bmp new file mode 100644 index 00000000000..3060dffc136 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_BUTTON.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_CHECKBOX13.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_CHECKBOX13.bmp new file mode 100644 index 00000000000..004d13d664a Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_CHECKBOX13.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_CHEVRON.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_CHEVRON.bmp new file mode 100644 index 00000000000..6e56cde0eb3 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_CHEVRON.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_CLOSEBUTTON.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_CLOSEBUTTON.bmp new file mode 100644 index 00000000000..c4660a9a2ca Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_CLOSEBUTTON.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_CLOSEGLYPH9.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_CLOSEGLYPH9.bmp new file mode 100644 index 00000000000..0fb7322388b Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_CLOSEGLYPH9.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_COMBOBUTTON.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_COMBOBUTTON.bmp new file mode 100644 index 00000000000..faa0a48b780 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_COMBOBUTTON.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_COMBOBUTTONGLYPH.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_COMBOBUTTONGLYPH.bmp new file mode 100644 index 00000000000..86e1b2c3b90 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_COMBOBUTTONGLYPH.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_EXPLORERBARHEADERBACKGROUND.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_EXPLORERBARHEADERBACKGROUND.bmp new file mode 100644 index 00000000000..efafd534f9d Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_EXPLORERBARHEADERBACKGROUND.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_EXPLORERBARHEADERCLOSE.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_EXPLORERBARHEADERCLOSE.bmp new file mode 100644 index 00000000000..b46ee3b6890 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_EXPLORERBARHEADERCLOSE.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_EXPLORERBARTOOLBARBACKGROUND.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_EXPLORERBARTOOLBARBACKGROUND.bmp new file mode 100644 index 00000000000..2105fafac51 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_EXPLORERBARTOOLBARBACKGROUND.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_EXPLORERBARTOOLBARBUTTONS.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_EXPLORERBARTOOLBARBUTTONS.bmp new file mode 100644 index 00000000000..5888461ebe8 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_EXPLORERBARTOOLBARBUTTONS.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_EXPLORERBARTOOLBARBUTTONSSPLIT.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_EXPLORERBARTOOLBARBUTTONSSPLIT.bmp new file mode 100644 index 00000000000..4ede86ebe0b Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_EXPLORERBARTOOLBARBUTTONSSPLIT.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_EXPLORERBARTOOLBARBUTTONSSPLITDROPDOWN.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_EXPLORERBARTOOLBARBUTTONSSPLITDROPDOWN.bmp new file mode 100644 index 00000000000..55b77ffc388 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_EXPLORERBARTOOLBARBUTTONSSPLITDROPDOWN.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_FIELDOUTLINEBLUE.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_FIELDOUTLINEBLUE.bmp new file mode 100644 index 00000000000..9a1186189ea Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_FIELDOUTLINEBLUE.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_FRAMEBOTTOM.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_FRAMEBOTTOM.bmp new file mode 100644 index 00000000000..ef369f07f06 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_FRAMEBOTTOM.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_FRAMECAPTION.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_FRAMECAPTION.bmp new file mode 100644 index 00000000000..633f4c88f45 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_FRAMECAPTION.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_FRAMECAPTIONMIN.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_FRAMECAPTIONMIN.bmp new file mode 100644 index 00000000000..e4cef13f9db Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_FRAMECAPTIONMIN.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_FRAMECAPTIONSIZING.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_FRAMECAPTIONSIZING.bmp new file mode 100644 index 00000000000..7be0a77fb12 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_FRAMECAPTIONSIZING.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_FRAMELEFT.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_FRAMELEFT.bmp new file mode 100644 index 00000000000..456f3f23a1e Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_FRAMELEFT.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_FRAMEMAXIMIZED.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_FRAMEMAXIMIZED.bmp new file mode 100644 index 00000000000..ae2caed4fb1 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_FRAMEMAXIMIZED.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_FRAMERIGHT.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_FRAMERIGHT.bmp new file mode 100644 index 00000000000..0b3af50b485 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_FRAMERIGHT.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_GRIPPER.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_GRIPPER.bmp new file mode 100644 index 00000000000..c7b0c8aff06 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_GRIPPER.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_GRIPPERVERT.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_GRIPPERVERT.bmp new file mode 100644 index 00000000000..ba6a4daba5a Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_GRIPPERVERT.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_GROUPBOX.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_GROUPBOX.bmp new file mode 100644 index 00000000000..9746328236f Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_GROUPBOX.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_HELPBUTTON.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_HELPBUTTON.bmp new file mode 100644 index 00000000000..6d9fcfb07fe Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_HELPBUTTON.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_LISTVIEWHEADER.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_LISTVIEWHEADER.bmp new file mode 100644 index 00000000000..4a46dcabf43 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_LISTVIEWHEADER.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_LISTVIEWHEADERBACKGROUND.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_LISTVIEWHEADERBACKGROUND.bmp new file mode 100644 index 00000000000..abf1d0c30dd Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_LISTVIEWHEADERBACKGROUND.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_MAXBUTTON.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_MAXBUTTON.bmp new file mode 100644 index 00000000000..c637ec926a6 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_MAXBUTTON.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_MDICAPTIONBUTTON.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_MDICAPTIONBUTTON.bmp new file mode 100644 index 00000000000..b456a6e8e3a Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_MDICAPTIONBUTTON.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_MDIGLYPHCLOSE.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_MDIGLYPHCLOSE.bmp new file mode 100644 index 00000000000..ae31a0003ce Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_MDIGLYPHCLOSE.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_MDIGLYPHMINIMIZE.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_MDIGLYPHMINIMIZE.bmp new file mode 100644 index 00000000000..639f6978a41 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_MDIGLYPHMINIMIZE.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_MDIGLYPHRESTORE.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_MDIGLYPHRESTORE.bmp new file mode 100644 index 00000000000..3772e647779 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_MDIGLYPHRESTORE.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_MINBUTTON.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_MINBUTTON.bmp new file mode 100644 index 00000000000..044bbb1c51d Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_MINBUTTON.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_NORMALGROUPBACKGROUND.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_NORMALGROUPBACKGROUND.bmp new file mode 100644 index 00000000000..955d0aeccfe Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_NORMALGROUPBACKGROUND.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_NORMALGROUPHEAD.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_NORMALGROUPHEAD.bmp new file mode 100644 index 00000000000..a7647679d86 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_NORMALGROUPHEAD.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_PLACEBARBACKGROUND.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_PLACEBARBACKGROUND.bmp new file mode 100644 index 00000000000..82b0f6d8ae1 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_PLACEBARBACKGROUND.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_PLACEBARBUTTONS.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_PLACEBARBUTTONS.bmp new file mode 100644 index 00000000000..1a02a536115 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_PLACEBARBUTTONS.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_PROGRESSCHUNK.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_PROGRESSCHUNK.bmp new file mode 100644 index 00000000000..6a607c80522 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_PROGRESSCHUNK.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_PROGRESSCHUNKVERT.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_PROGRESSCHUNKVERT.bmp new file mode 100644 index 00000000000..103a0797fa6 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_PROGRESSCHUNKVERT.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_PROGRESSTRACK.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_PROGRESSTRACK.bmp new file mode 100644 index 00000000000..9c7a9531de9 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_PROGRESSTRACK.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_PROGRESSTRACKVERT.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_PROGRESSTRACKVERT.bmp new file mode 100644 index 00000000000..599d3884a13 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_PROGRESSTRACKVERT.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_RADIOBUTTON13.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_RADIOBUTTON13.bmp new file mode 100644 index 00000000000..fb04f5944d1 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_RADIOBUTTON13.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_RESIZEGRIP2.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_RESIZEGRIP2.bmp new file mode 100644 index 00000000000..d53f603c1f0 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_RESIZEGRIP2.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_RESTOREBUTTON.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_RESTOREBUTTON.bmp new file mode 100644 index 00000000000..c637ec926a6 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_RESTOREBUTTON.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_SCROLLARROWGLYPHS.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_SCROLLARROWGLYPHS.bmp new file mode 100644 index 00000000000..2bb636a3019 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_SCROLLARROWGLYPHS.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_SCROLLARROWGLYPHSSMALL.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_SCROLLARROWGLYPHSSMALL.bmp new file mode 100644 index 00000000000..7a1a5b1d034 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_SCROLLARROWGLYPHSSMALL.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_SCROLLARROWS.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_SCROLLARROWS.bmp new file mode 100644 index 00000000000..95ccd6cdfb5 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_SCROLLARROWS.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_SCROLLSHAFTHORIZONTAL.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_SCROLLSHAFTHORIZONTAL.bmp new file mode 100644 index 00000000000..ddf53bff3b7 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_SCROLLSHAFTHORIZONTAL.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_SCROLLSHAFTVERTICAL.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_SCROLLSHAFTVERTICAL.bmp new file mode 100644 index 00000000000..a9b70c70f73 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_SCROLLSHAFTVERTICAL.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_SCROLLTHUMBGRIPPERHORIZONTAL.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_SCROLLTHUMBGRIPPERHORIZONTAL.bmp new file mode 100644 index 00000000000..dd0d29801d8 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_SCROLLTHUMBGRIPPERHORIZONTAL.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_SCROLLTHUMBGRIPPERVERTICAL.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_SCROLLTHUMBGRIPPERVERTICAL.bmp new file mode 100644 index 00000000000..ae88eb09f59 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_SCROLLTHUMBGRIPPERVERTICAL.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_SCROLLTHUMBHORIZONTAL.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_SCROLLTHUMBHORIZONTAL.bmp new file mode 100644 index 00000000000..a8254201bd5 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_SCROLLTHUMBHORIZONTAL.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_SCROLLTHUMBVERTICAL.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_SCROLLTHUMBVERTICAL.bmp new file mode 100644 index 00000000000..71be6eec5b1 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_SCROLLTHUMBVERTICAL.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_SEPARATOR.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_SEPARATOR.bmp new file mode 100644 index 00000000000..1ce982a183d Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_SEPARATOR.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_SEPARATORVERT.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_SEPARATORVERT.bmp new file mode 100644 index 00000000000..6cacf693674 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_SEPARATORVERT.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_SLIDERTRACK.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_SLIDERTRACK.bmp new file mode 100644 index 00000000000..aec8bee4df0 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_SLIDERTRACK.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_SMALLCLOSEBUTTON.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_SMALLCLOSEBUTTON.bmp new file mode 100644 index 00000000000..25ede6bc0e0 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_SMALLCLOSEBUTTON.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_SMALLFRAMECAPTION.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_SMALLFRAMECAPTION.bmp new file mode 100644 index 00000000000..462a3ec3e53 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_SMALLFRAMECAPTION.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_SMALLFRAMECAPTIONSIZING.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_SMALLFRAMECAPTIONSIZING.bmp new file mode 100644 index 00000000000..1ef639f6e33 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_SMALLFRAMECAPTIONSIZING.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_SPECIALGROUPBACKGROUND.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_SPECIALGROUPBACKGROUND.bmp new file mode 100644 index 00000000000..efe85503aa7 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_SPECIALGROUPBACKGROUND.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_SPECIALGROUPHEAD.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_SPECIALGROUPHEAD.bmp new file mode 100644 index 00000000000..7091e01a336 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_SPECIALGROUPHEAD.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_SPINBUTTONBACKGROUNDDOWN.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_SPINBUTTONBACKGROUNDDOWN.bmp new file mode 100644 index 00000000000..02522f2b5ee Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_SPINBUTTONBACKGROUNDDOWN.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_SPINBUTTONBACKGROUNDLEFT.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_SPINBUTTONBACKGROUNDLEFT.bmp new file mode 100644 index 00000000000..745aff8c512 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_SPINBUTTONBACKGROUNDLEFT.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_SPINBUTTONBACKGROUNDRIGHT.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_SPINBUTTONBACKGROUNDRIGHT.bmp new file mode 100644 index 00000000000..f466a1203dc Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_SPINBUTTONBACKGROUNDRIGHT.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_SPINBUTTONBACKGROUNDUP.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_SPINBUTTONBACKGROUNDUP.bmp new file mode 100644 index 00000000000..91eeeab7c66 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_SPINBUTTONBACKGROUNDUP.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_SPINDOWNGLYPH.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_SPINDOWNGLYPH.bmp new file mode 100644 index 00000000000..b8e28c54c8d Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_SPINDOWNGLYPH.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_SPINLEFTGLYPH.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_SPINLEFTGLYPH.bmp new file mode 100644 index 00000000000..da3c072d81b Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_SPINLEFTGLYPH.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_SPINRIGHTGLYPH.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_SPINRIGHTGLYPH.bmp new file mode 100644 index 00000000000..3c924e92d9a Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_SPINRIGHTGLYPH.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_SPINUPGLYPH.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_SPINUPGLYPH.bmp new file mode 100644 index 00000000000..ac976922bd3 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_SPINUPGLYPH.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_STARTBUTTON.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_STARTBUTTON.bmp new file mode 100644 index 00000000000..78ff5701d86 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_STARTBUTTON.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_STARTGROUPBACKGROUND.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_STARTGROUPBACKGROUND.bmp new file mode 100644 index 00000000000..11c71d275e6 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_STARTGROUPBACKGROUND.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_STARTGROUPNEWAPPBUTTON.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_STARTGROUPNEWAPPBUTTON.bmp new file mode 100644 index 00000000000..c79c484a608 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_STARTGROUPNEWAPPBUTTON.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_STARTGROUPSEPERATOR.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_STARTGROUPSEPERATOR.bmp new file mode 100644 index 00000000000..80562237c73 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_STARTGROUPSEPERATOR.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_STARTGROUPTOOLBARBUTTON.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_STARTGROUPTOOLBARBUTTON.bmp new file mode 100644 index 00000000000..54278457734 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_STARTGROUPTOOLBARBUTTON.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_STARTPANELLOGOFFBACKGROUND.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_STARTPANELLOGOFFBACKGROUND.bmp new file mode 100644 index 00000000000..93441198a0e Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_STARTPANELLOGOFFBACKGROUND.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_STARTPANELLOGOFFBUTTONS.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_STARTPANELLOGOFFBUTTONS.bmp new file mode 100644 index 00000000000..8f0e0449bc7 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_STARTPANELLOGOFFBUTTONS.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_STARTPANELLOGOFFBUTTONSHOT.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_STARTPANELLOGOFFBUTTONSHOT.bmp new file mode 100644 index 00000000000..9be9a70f4be Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_STARTPANELLOGOFFBUTTONSHOT.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_STARTPANELMFUBACKGROUND.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_STARTPANELMFUBACKGROUND.bmp new file mode 100644 index 00000000000..f3798bf6dd6 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_STARTPANELMFUBACKGROUND.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_STARTPANELMOREPROGARROW.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_STARTPANELMOREPROGARROW.bmp new file mode 100644 index 00000000000..a26b1082e62 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_STARTPANELMOREPROGARROW.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_STARTPANELMOREPROGARROWHOT.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_STARTPANELMOREPROGARROWHOT.bmp new file mode 100644 index 00000000000..638156d553b Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_STARTPANELMOREPROGARROWHOT.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_STARTPANELMOREPROGBACKGROUND.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_STARTPANELMOREPROGBACKGROUND.bmp new file mode 100644 index 00000000000..f8f1809e7dc Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_STARTPANELMOREPROGBACKGROUND.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_STARTPANELPLACESBACKGROUND.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_STARTPANELPLACESBACKGROUND.bmp new file mode 100644 index 00000000000..50107bf6300 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_STARTPANELPLACESBACKGROUND.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_STARTPLACESSEPARATOR.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_STARTPLACESSEPARATOR.bmp new file mode 100644 index 00000000000..9536866ace2 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_STARTPLACESSEPARATOR.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_STARTPROGRAMSSEPARATOR.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_STARTPROGRAMSSEPARATOR.bmp new file mode 100644 index 00000000000..a762882e324 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_STARTPROGRAMSSEPARATOR.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_STARTUSERPANEL.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_STARTUSERPANEL.bmp new file mode 100644 index 00000000000..342fe9d12cd Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_STARTUSERPANEL.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_STATUSBACKGROUND.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_STATUSBACKGROUND.bmp new file mode 100644 index 00000000000..4df9c48b6fb Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_STATUSBACKGROUND.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_STATUSPANE.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_STATUSPANE.bmp new file mode 100644 index 00000000000..4e71a912bca Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_STATUSPANE.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_TABBACKGROUND.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_TABBACKGROUND.bmp new file mode 100644 index 00000000000..8fce5a9e7a4 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_TABBACKGROUND.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_TABITEM.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_TABITEM.bmp new file mode 100644 index 00000000000..7f9451a6174 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_TABITEM.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_TABITEMBOTH.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_TABITEMBOTH.bmp new file mode 100644 index 00000000000..7f9451a6174 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_TABITEMBOTH.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_TABITEMLEFT.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_TABITEMLEFT.bmp new file mode 100644 index 00000000000..7f9451a6174 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_TABITEMLEFT.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_TABITEMRIGHT.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_TABITEMRIGHT.bmp new file mode 100644 index 00000000000..7f9451a6174 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_TABITEMRIGHT.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_TABITEMTOP.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_TABITEMTOP.bmp new file mode 100644 index 00000000000..7f9451a6174 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_TABITEMTOP.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_TABITEMTOPBOTH.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_TABITEMTOPBOTH.bmp new file mode 100644 index 00000000000..7f9451a6174 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_TABITEMTOPBOTH.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_TABITEMTOPLEFT.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_TABITEMTOPLEFT.bmp new file mode 100644 index 00000000000..7f9451a6174 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_TABITEMTOPLEFT.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_TABITEMTOPRIGHT.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_TABITEMTOPRIGHT.bmp new file mode 100644 index 00000000000..7f9451a6174 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_TABITEMTOPRIGHT.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_TABPANEEDGE.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_TABPANEEDGE.bmp new file mode 100644 index 00000000000..ab499452d5b Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_TABPANEEDGE.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBANDBACKGROUND.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBANDBACKGROUND.bmp new file mode 100644 index 00000000000..17ee3724f21 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBANDBACKGROUND.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBANDBUTTON.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBANDBUTTON.bmp new file mode 100644 index 00000000000..3c0b1078bc0 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBANDBUTTON.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBANDBUTTONNOEDGE.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBANDBUTTONNOEDGE.bmp new file mode 100644 index 00000000000..fcaf78b373c Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBANDBUTTONNOEDGE.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBANDBUTTONNOEDGEVERTICAL.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBANDBUTTONNOEDGEVERTICAL.bmp new file mode 100644 index 00000000000..69efc836265 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBANDBUTTONNOEDGEVERTICAL.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBANDBUTTONVERTICAL.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBANDBUTTONVERTICAL.bmp new file mode 100644 index 00000000000..b1b30aac4fd Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBANDBUTTONVERTICAL.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBANDFLASHBUTTON.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBANDFLASHBUTTON.bmp new file mode 100644 index 00000000000..13f8c7eabcf Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBANDFLASHBUTTON.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBANDFLASHBUTTONGROUPMENU.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBANDFLASHBUTTONGROUPMENU.bmp new file mode 100644 index 00000000000..f1c61ac2057 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBANDFLASHBUTTONGROUPMENU.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBANDHOVER.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBANDHOVER.bmp new file mode 100644 index 00000000000..f05d61078a9 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBANDHOVER.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBANDSCROLLARROWGLYPHS.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBANDSCROLLARROWGLYPHS.bmp new file mode 100644 index 00000000000..0ec3a587f96 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBANDSCROLLARROWGLYPHS.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBANDSCROLLARROWS.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBANDSCROLLARROWS.bmp new file mode 100644 index 00000000000..6dd07619884 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBANDSCROLLARROWS.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBANDSCROLLSHAFTHORIZONTAL.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBANDSCROLLSHAFTHORIZONTAL.bmp new file mode 100644 index 00000000000..c3ba2b766f2 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBANDSCROLLSHAFTHORIZONTAL.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBANDSCROLLSHAFTVERTICAL.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBANDSCROLLSHAFTVERTICAL.bmp new file mode 100644 index 00000000000..f03106d4e1e Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBANDSCROLLSHAFTVERTICAL.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBANDSCROLLTHUMBGRIPPERHORIZONTAL.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBANDSCROLLTHUMBGRIPPERHORIZONTAL.bmp new file mode 100644 index 00000000000..bf6552ef48a Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBANDSCROLLTHUMBGRIPPERHORIZONTAL.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBANDSCROLLTHUMBGRIPPERVERTICAL.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBANDSCROLLTHUMBGRIPPERVERTICAL.bmp new file mode 100644 index 00000000000..8f79a7fce2c Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBANDSCROLLTHUMBGRIPPERVERTICAL.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBANDSCROLLTHUMBHORIZONTAL.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBANDSCROLLTHUMBHORIZONTAL.bmp new file mode 100644 index 00000000000..421bd808135 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBANDSCROLLTHUMBHORIZONTAL.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBANDSCROLLTHUMBVERTICAL.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBANDSCROLLTHUMBVERTICAL.bmp new file mode 100644 index 00000000000..b3d5971c664 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBANDSCROLLTHUMBVERTICAL.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBARBACKGROUND.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBARBACKGROUND.bmp new file mode 100644 index 00000000000..c3c719e1241 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBARBACKGROUND.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBARBACKGROUNDVERTICAL.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBARBACKGROUNDVERTICAL.bmp new file mode 100644 index 00000000000..887d372ef23 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBARBACKGROUNDVERTICAL.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBARCHEVRON.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBARCHEVRON.bmp new file mode 100644 index 00000000000..dceb763eba0 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBARCHEVRON.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBARCHEVRONVERT.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBARCHEVRONVERT.bmp new file mode 100644 index 00000000000..dd6eaf00b43 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBARCHEVRONVERT.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBARGRIPPER.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBARGRIPPER.bmp new file mode 100644 index 00000000000..34f6680fb9e Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBARGRIPPER.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBARGRIPPERVERTICAL.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBARGRIPPERVERTICAL.bmp new file mode 100644 index 00000000000..88ad6cb8288 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBARGRIPPERVERTICAL.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBARSIZINGBARBOTTOM.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBARSIZINGBARBOTTOM.bmp new file mode 100644 index 00000000000..f7d9b90c523 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBARSIZINGBARBOTTOM.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBARSIZINGBARLEFT.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBARSIZINGBARLEFT.bmp new file mode 100644 index 00000000000..9485e96832c Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBARSIZINGBARLEFT.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBARSIZINGBARRIGHT.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBARSIZINGBARRIGHT.bmp new file mode 100644 index 00000000000..2b262b7955b Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBARSIZINGBARRIGHT.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBARSIZINGBARTOP.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBARSIZINGBARTOP.bmp new file mode 100644 index 00000000000..d7b5a9ea9f8 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBARSIZINGBARTOP.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBARTRAY.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBARTRAY.bmp new file mode 100644 index 00000000000..ae0c6e04a0d Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBARTRAY.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBARTRAYVERTICAL.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBARTRAYVERTICAL.bmp new file mode 100644 index 00000000000..d32951d566e Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_TASKBARTRAYVERTICAL.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_TOOLBARBACKGROUND.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_TOOLBARBACKGROUND.bmp new file mode 100644 index 00000000000..da6198c5d86 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_TOOLBARBACKGROUND.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_TOOLBARBUTTONS.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_TOOLBARBUTTONS.bmp new file mode 100644 index 00000000000..d56e2229fe5 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_TOOLBARBUTTONS.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_TOOLBARBUTTONSSPLIT.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_TOOLBARBUTTONSSPLIT.bmp new file mode 100644 index 00000000000..3f59a20bd48 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_TOOLBARBUTTONSSPLIT.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_TOOLBARBUTTONSSPLITDROPDOWN.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_TOOLBARBUTTONSSPLITDROPDOWN.bmp new file mode 100644 index 00000000000..2df902d8459 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_TOOLBARBUTTONSSPLITDROPDOWN.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_TOOLBARBUTTONSSPLITDROPDOWNGLYPH.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_TOOLBARBUTTONSSPLITDROPDOWNGLYPH.bmp new file mode 100644 index 00000000000..528f765a74d Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_TOOLBARBUTTONSSPLITDROPDOWNGLYPH.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_TOOLBARGRIPPER.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_TOOLBARGRIPPER.bmp new file mode 100644 index 00000000000..325324a89ef Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_TOOLBARGRIPPER.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_TOOLBARGRIPPERVERT.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_TOOLBARGRIPPERVERT.bmp new file mode 100644 index 00000000000..c89350ff80f Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_TOOLBARGRIPPERVERT.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_TRACKBARDOWN13.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_TRACKBARDOWN13.bmp new file mode 100644 index 00000000000..367fa1bdd95 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_TRACKBARDOWN13.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_TRACKBARDOWN16.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_TRACKBARDOWN16.bmp new file mode 100644 index 00000000000..d714c2dce58 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_TRACKBARDOWN16.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_TRACKBARDOWN25.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_TRACKBARDOWN25.bmp new file mode 100644 index 00000000000..3b34cde2ed6 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_TRACKBARDOWN25.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_TRACKBARHORIZONTAL.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_TRACKBARHORIZONTAL.bmp new file mode 100644 index 00000000000..76196200d77 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_TRACKBARHORIZONTAL.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_TRACKBARLEFT13.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_TRACKBARLEFT13.bmp new file mode 100644 index 00000000000..d6d7e610564 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_TRACKBARLEFT13.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_TRACKBARLEFT16.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_TRACKBARLEFT16.bmp new file mode 100644 index 00000000000..9f340d109cb Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_TRACKBARLEFT16.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_TRACKBARLEFT25.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_TRACKBARLEFT25.bmp new file mode 100644 index 00000000000..9a47c92f171 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_TRACKBARLEFT25.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_TRACKBARRIGHT13.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_TRACKBARRIGHT13.bmp new file mode 100644 index 00000000000..6bbfba4415b Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_TRACKBARRIGHT13.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_TRACKBARRIGHT16.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_TRACKBARRIGHT16.bmp new file mode 100644 index 00000000000..3c00e7bd5ca Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_TRACKBARRIGHT16.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_TRACKBARRIGHT25.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_TRACKBARRIGHT25.bmp new file mode 100644 index 00000000000..e89bb211cdd Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_TRACKBARRIGHT25.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_TRACKBARUP13.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_TRACKBARUP13.bmp new file mode 100644 index 00000000000..d3effbb3d85 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_TRACKBARUP13.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_TRACKBARUP16.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_TRACKBARUP16.bmp new file mode 100644 index 00000000000..8f9a613cc51 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_TRACKBARUP16.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_TRACKBARUP25.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_TRACKBARUP25.bmp new file mode 100644 index 00000000000..67acb26ba7b Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_TRACKBARUP25.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_TRACKBARVERTICAL.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_TRACKBARVERTICAL.bmp new file mode 100644 index 00000000000..cacb0df37f9 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_TRACKBARVERTICAL.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_TRAYCHEVRONHORIZONTAL.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_TRAYCHEVRONHORIZONTAL.bmp new file mode 100644 index 00000000000..9b41ce88d1d Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_TRAYCHEVRONHORIZONTAL.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_TRAYCHEVRONHORIZONTALOPEN.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_TRAYCHEVRONHORIZONTALOPEN.bmp new file mode 100644 index 00000000000..6e051a8a393 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_TRAYCHEVRONHORIZONTALOPEN.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_TREEEXPANDCOLLAPSE.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_TREEEXPANDCOLLAPSE.bmp new file mode 100644 index 00000000000..d6339da3d27 Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_TREEEXPANDCOLLAPSE.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/NORMAL_USERTILEBACKGROUND.bmp b/media/themes/lautus.msstyles/bitmaps/NORMAL_USERTILEBACKGROUND.bmp new file mode 100644 index 00000000000..7677e6b3c3a Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/NORMAL_USERTILEBACKGROUND.bmp differ diff --git a/media/themes/lautus.msstyles/bitmaps/dummy.bmp b/media/themes/lautus.msstyles/bitmaps/dummy.bmp new file mode 100644 index 00000000000..4a36596ecfb Binary files /dev/null and b/media/themes/lautus.msstyles/bitmaps/dummy.bmp differ diff --git a/media/themes/lautus.msstyles/lautus.rc b/media/themes/lautus.msstyles/lautus.rc new file mode 100644 index 00000000000..52770aa91d0 --- /dev/null +++ b/media/themes/lautus.msstyles/lautus.rc @@ -0,0 +1,216 @@ +#include + +#pragma code_page(65001) +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US + +1 COLORNAMES {L"Normal Color\0\0"} +COMBO COMBODATA {0x0003,0x0003, 0x0000, 0x0003, 0x0006, 0x0001,0x0004,0x0007,0x0002,0x0005,0x08,} +1 PACKTHEM_VERSION {0x03,} +1 FILERESNAMES {L"NORMALNORMAL_INI\0LARGEFONTSNORMAL_INI\0EXTRALARGENORMAL_INI\0\0"} +1 SIZENAMES {L"Normal Size\0Large Fonts\0Extra Large Fonts\0\0"} +1 MINDEPTH {0x000F,0x000F,0x000F,0x000F,0x000F,0x000F,0x000F,0x000F,0x000F,0x0000,} + +EXTRALARGENORMAL_INI TEXTFILE "textfiles/ExtraLargeNormal.INI" +LARGEFONTSNORMAL_INI TEXTFILE "textfiles/LargeFontsNormal.INI" +NORMALNORMAL_INI TEXTFILE "textfiles/NormalNormal.INI" +THEMES_INI TEXTFILE {L"\r\n"} + +NORMAL_BALLOONCLOSE_BMP BITMAP "bitmaps/NORMAL_BALLOONCLOSE.bmp" +NORMAL_BUTTON_BMP BITMAP "bitmaps/NORMAL_BUTTON.bmp" +NORMAL_CHECKBOX13_BMP BITMAP "bitmaps/NORMAL_CHECKBOX13.bmp" +NORMAL_CHEVRON_BMP BITMAP "bitmaps/NORMAL_CHEVRON.bmp" +NORMAL_CLOSEBUTTON_BMP BITMAP "bitmaps/NORMAL_CLOSEBUTTON.bmp" +NORMAL_CLOSEGLYPH9_BMP BITMAP "bitmaps/NORMAL_CLOSEGLYPH9.bmp" +NORMAL_COMBOBUTTONGLYPH_BMP BITMAP "bitmaps/NORMAL_COMBOBUTTONGLYPH.bmp" +NORMAL_COMBOBUTTON_BMP BITMAP "bitmaps/NORMAL_COMBOBUTTON.bmp" +NORMAL_EXPLORERBARHEADERBACKGROUND_BMP BITMAP "bitmaps/NORMAL_EXPLORERBARHEADERBACKGROUND.bmp" +NORMAL_EXPLORERBARHEADERCLOSE_BMP BITMAP "bitmaps/NORMAL_EXPLORERBARHEADERCLOSE.bmp" +NORMAL_EXPLORERBARTOOLBARBACKGROUND_BMP BITMAP "bitmaps/NORMAL_EXPLORERBARTOOLBARBACKGROUND.bmp" +NORMAL_EXPLORERBARTOOLBARBUTTONSSPLITDROPDOWN_BMP BITMAP "bitmaps/NORMAL_EXPLORERBARTOOLBARBUTTONSSPLITDROPDOWN.bmp" +NORMAL_EXPLORERBARTOOLBARBUTTONSSPLIT_BMP BITMAP "bitmaps/NORMAL_EXPLORERBARTOOLBARBUTTONSSPLIT.bmp" +NORMAL_FIELDOUTLINEBLUE_BMP BITMAP "bitmaps/NORMAL_FIELDOUTLINEBLUE.bmp" +NORMAL_FRAMEBOTTOM_BMP BITMAP "bitmaps/NORMAL_FRAMEBOTTOM.bmp" +NORMAL_FRAMECAPTIONMIN_BMP BITMAP "bitmaps/NORMAL_FRAMECAPTIONMIN.bmp" +NORMAL_FRAMECAPTIONSIZING_BMP BITMAP "bitmaps/NORMAL_FRAMECAPTIONSIZING.bmp" +NORMAL_FRAMECAPTION_BMP BITMAP "bitmaps/NORMAL_FRAMECAPTION.bmp" +NORMAL_FRAMELEFT_BMP BITMAP "bitmaps/NORMAL_FRAMELEFT.bmp" +NORMAL_FRAMEMAXIMIZED_BMP BITMAP "bitmaps/NORMAL_FRAMEMAXIMIZED.bmp" +NORMAL_FRAMERIGHT_BMP BITMAP "bitmaps/NORMAL_FRAMERIGHT.bmp" +NORMAL_GRIPPERVERT_BMP BITMAP "bitmaps/NORMAL_GRIPPERVERT.bmp" +NORMAL_GRIPPER_BMP BITMAP "bitmaps/NORMAL_GRIPPER.bmp" +NORMAL_GROUPBOX_BMP BITMAP "bitmaps/NORMAL_GROUPBOX.bmp" +NORMAL_HELPBUTTON_BMP BITMAP "bitmaps/NORMAL_HELPBUTTON.bmp" +NORMAL_LISTVIEWHEADERBACKGROUND_BMP BITMAP "bitmaps/NORMAL_LISTVIEWHEADERBACKGROUND.bmp" +NORMAL_LISTVIEWHEADER_BMP BITMAP "bitmaps/NORMAL_LISTVIEWHEADER.bmp" +NORMAL_MAXBUTTON_BMP BITMAP "bitmaps/NORMAL_MAXBUTTON.bmp" +NORMAL_MDICAPTIONBUTTON_BMP BITMAP "bitmaps/NORMAL_MDICAPTIONBUTTON.bmp" +NORMAL_MDIGLYPHCLOSE_BMP BITMAP "bitmaps/NORMAL_MDIGLYPHCLOSE.bmp" +NORMAL_MDIGLYPHMINIMIZE_BMP BITMAP "bitmaps/NORMAL_MDIGLYPHMINIMIZE.bmp" +NORMAL_MDIGLYPHRESTORE_BMP BITMAP "bitmaps/NORMAL_MDIGLYPHRESTORE.bmp" +NORMAL_MINBUTTON_BMP BITMAP "bitmaps/NORMAL_MINBUTTON.bmp" +NORMAL_NORMALGROUPBACKGROUND_BMP BITMAP "bitmaps/NORMAL_NORMALGROUPBACKGROUND.bmp" +NORMAL_NORMALGROUPHEAD_BMP BITMAP "bitmaps/NORMAL_NORMALGROUPHEAD.bmp" +NORMAL_PLACEBARBACKGROUND_BMP BITMAP "bitmaps/NORMAL_PLACEBARBACKGROUND.bmp" +NORMAL_PLACEBARBUTTONS_BMP BITMAP "bitmaps/NORMAL_PLACEBARBUTTONS.bmp" +NORMAL_PROGRESSCHUNKVERT_BMP BITMAP "bitmaps/NORMAL_PROGRESSCHUNKVERT.bmp" +NORMAL_PROGRESSCHUNK_BMP BITMAP "bitmaps/NORMAL_PROGRESSCHUNK.bmp" +NORMAL_PROGRESSTRACKVERT_BMP BITMAP "bitmaps/NORMAL_PROGRESSTRACKVERT.bmp" +NORMAL_PROGRESSTRACK_BMP BITMAP "bitmaps/NORMAL_PROGRESSTRACK.bmp" +NORMAL_RADIOBUTTON13_BMP BITMAP "bitmaps/NORMAL_RADIOBUTTON13.bmp" +NORMAL_RESIZEGRIP2_BMP BITMAP "bitmaps/NORMAL_RESIZEGRIP2.bmp" +NORMAL_RESTOREBUTTON_BMP BITMAP "bitmaps/NORMAL_RESTOREBUTTON.bmp" +NORMAL_SCROLLARROWGLYPHSSMALL_BMP BITMAP "bitmaps/NORMAL_SCROLLARROWGLYPHSSMALL.bmp" +NORMAL_SCROLLARROWGLYPHS_BMP BITMAP "bitmaps/NORMAL_SCROLLARROWGLYPHS.bmp" +NORMAL_SCROLLARROWS_BMP BITMAP "bitmaps/NORMAL_SCROLLARROWS.bmp" +NORMAL_SCROLLSHAFTHORIZONTAL_BMP BITMAP "bitmaps/NORMAL_SCROLLSHAFTHORIZONTAL.bmp" +NORMAL_SCROLLSHAFTVERTICAL_BMP BITMAP "bitmaps/NORMAL_SCROLLSHAFTVERTICAL.bmp" +NORMAL_SCROLLTHUMBGRIPPERHORIZONTAL_BMP BITMAP "bitmaps/NORMAL_SCROLLTHUMBGRIPPERHORIZONTAL.bmp" +NORMAL_SCROLLTHUMBGRIPPERVERTICAL_BMP BITMAP "bitmaps/NORMAL_SCROLLTHUMBGRIPPERVERTICAL.bmp" +NORMAL_SCROLLTHUMBHORIZONTAL_BMP BITMAP "bitmaps/NORMAL_SCROLLTHUMBHORIZONTAL.bmp" +NORMAL_SCROLLTHUMBVERTICAL_BMP BITMAP "bitmaps/NORMAL_SCROLLTHUMBVERTICAL.bmp" +NORMAL_SEPARATORVERT_BMP BITMAP "bitmaps/NORMAL_SEPARATORVERT.bmp" +NORMAL_SEPARATOR_BMP BITMAP "bitmaps/NORMAL_SEPARATOR.bmp" +NORMAL_SLIDERTRACK_BMP BITMAP "bitmaps/NORMAL_SLIDERTRACK.bmp" +NORMAL_SMALLCLOSEBUTTON_BMP BITMAP "bitmaps/NORMAL_SMALLCLOSEBUTTON.bmp" +NORMAL_SMALLFRAMECAPTIONSIZING_BMP BITMAP "bitmaps/NORMAL_SMALLFRAMECAPTIONSIZING.bmp" +NORMAL_SMALLFRAMECAPTION_BMP BITMAP "bitmaps/NORMAL_SMALLFRAMECAPTION.bmp" +NORMAL_SPECIALGROUPBACKGROUND_BMP BITMAP "bitmaps/NORMAL_SPECIALGROUPBACKGROUND.bmp" +NORMAL_SPECIALGROUPHEAD_BMP BITMAP "bitmaps/NORMAL_SPECIALGROUPHEAD.bmp" +NORMAL_SPINBUTTONBACKGROUNDDOWN_BMP BITMAP "bitmaps/NORMAL_SPINBUTTONBACKGROUNDDOWN.bmp" +NORMAL_SPINBUTTONBACKGROUNDLEFT_BMP BITMAP "bitmaps/NORMAL_SPINBUTTONBACKGROUNDLEFT.bmp" +NORMAL_SPINBUTTONBACKGROUNDRIGHT_BMP BITMAP "bitmaps/NORMAL_SPINBUTTONBACKGROUNDRIGHT.bmp" +NORMAL_SPINBUTTONBACKGROUNDUP_BMP BITMAP "bitmaps/NORMAL_SPINBUTTONBACKGROUNDUP.bmp" +NORMAL_SPINDOWNGLYPH_BMP BITMAP "bitmaps/NORMAL_SPINDOWNGLYPH.bmp" +NORMAL_SPINLEFTGLYPH_BMP BITMAP "bitmaps/NORMAL_SPINLEFTGLYPH.bmp" +NORMAL_SPINRIGHTGLYPH_BMP BITMAP "bitmaps/NORMAL_SPINRIGHTGLYPH.bmp" +NORMAL_SPINUPGLYPH_BMP BITMAP "bitmaps/NORMAL_SPINUPGLYPH.bmp" +NORMAL_STARTBUTTON_BMP BITMAP "bitmaps/NORMAL_STARTBUTTON.bmp" +NORMAL_STARTGROUPBACKGROUND_BMP BITMAP "bitmaps/NORMAL_STARTGROUPBACKGROUND.bmp" +NORMAL_STARTGROUPNEWAPPBUTTON_BMP BITMAP "bitmaps/NORMAL_STARTGROUPNEWAPPBUTTON.bmp" +NORMAL_STARTGROUPSEPERATOR_BMP BITMAP "bitmaps/NORMAL_STARTGROUPSEPERATOR.bmp" +NORMAL_STARTGROUPTOOLBARBUTTON_BMP BITMAP "bitmaps/NORMAL_STARTGROUPTOOLBARBUTTON.bmp" +NORMAL_STARTPANELLOGOFFBACKGROUND_BMP BITMAP "bitmaps/NORMAL_STARTPANELLOGOFFBACKGROUND.bmp" +NORMAL_STARTPANELLOGOFFBUTTONSHOT_BMP BITMAP "bitmaps/NORMAL_STARTPANELLOGOFFBUTTONSHOT.bmp" +NORMAL_STARTPANELLOGOFFBUTTONS_BMP BITMAP "bitmaps/NORMAL_STARTPANELLOGOFFBUTTONS.bmp" +NORMAL_STARTPANELMFUBACKGROUND_BMP BITMAP "bitmaps/NORMAL_STARTPANELMFUBACKGROUND.bmp" +NORMAL_STARTPANELMOREPROGARROWHOT_BMP BITMAP "bitmaps/NORMAL_STARTPANELMOREPROGARROWHOT.bmp" +NORMAL_STARTPANELMOREPROGARROW_BMP BITMAP "bitmaps/NORMAL_STARTPANELMOREPROGARROW.bmp" +NORMAL_STARTPANELMOREPROGBACKGROUND_BMP BITMAP "bitmaps/NORMAL_STARTPANELMOREPROGBACKGROUND.bmp" +NORMAL_STARTPANELPLACESBACKGROUND_BMP BITMAP "bitmaps/NORMAL_STARTPANELPLACESBACKGROUND.bmp" +NORMAL_STARTPLACESSEPARATOR_BMP BITMAP "bitmaps/NORMAL_STARTPLACESSEPARATOR.bmp" +NORMAL_STARTPROGRAMSSEPARATOR_BMP BITMAP "bitmaps/NORMAL_STARTPROGRAMSSEPARATOR.bmp" +NORMAL_STARTUSERPANEL_BMP BITMAP "bitmaps/NORMAL_STARTUSERPANEL.bmp" +NORMAL_STATUSBACKGROUND_BMP BITMAP "bitmaps/NORMAL_STATUSBACKGROUND.bmp" +NORMAL_STATUSPANE_BMP BITMAP "bitmaps/NORMAL_STATUSPANE.bmp" +NORMAL_TABBACKGROUND_BMP BITMAP "bitmaps/NORMAL_TABBACKGROUND.bmp" +NORMAL_TABITEMBOTH_BMP BITMAP "bitmaps/NORMAL_TABITEMBOTH.bmp" +NORMAL_TABITEMLEFT_BMP BITMAP "bitmaps/NORMAL_TABITEMLEFT.bmp" +NORMAL_TABITEMRIGHT_BMP BITMAP "bitmaps/NORMAL_TABITEMRIGHT.bmp" +NORMAL_TABITEMTOPBOTH_BMP BITMAP "bitmaps/NORMAL_TABITEMTOPBOTH.bmp" +NORMAL_TABITEMTOPLEFT_BMP BITMAP "bitmaps/NORMAL_TABITEMTOPLEFT.bmp" +NORMAL_TABITEMTOPRIGHT_BMP BITMAP "bitmaps/NORMAL_TABITEMTOPRIGHT.bmp" +NORMAL_TABITEMTOP_BMP BITMAP "bitmaps/NORMAL_TABITEMTOP.bmp" +NORMAL_TABITEM_BMP BITMAP "bitmaps/NORMAL_TABITEM.bmp" +NORMAL_TABPANEEDGE_BMP BITMAP "bitmaps/NORMAL_TABPANEEDGE.bmp" +NORMAL_TASKBANDBACKGROUND_BMP BITMAP "bitmaps/NORMAL_TASKBANDBACKGROUND.bmp" +NORMAL_TASKBANDBUTTONNOEDGEVERTICAL_BMP BITMAP "bitmaps/NORMAL_TASKBANDBUTTONNOEDGEVERTICAL.bmp" +NORMAL_TASKBANDBUTTONNOEDGE_BMP BITMAP "bitmaps/NORMAL_TASKBANDBUTTONNOEDGE.bmp" +NORMAL_TASKBANDBUTTONVERTICAL_BMP BITMAP "bitmaps/NORMAL_TASKBANDBUTTONVERTICAL.bmp" +NORMAL_TASKBANDBUTTON_BMP BITMAP "bitmaps/NORMAL_TASKBANDBUTTON.bmp" +NORMAL_TASKBANDFLASHBUTTONGROUPMENU_BMP BITMAP "bitmaps/NORMAL_TASKBANDFLASHBUTTONGROUPMENU.bmp" +NORMAL_TASKBANDFLASHBUTTON_BMP BITMAP "bitmaps/NORMAL_TASKBANDFLASHBUTTON.bmp" +NORMAL_TASKBANDHOVER_BMP BITMAP "bitmaps/NORMAL_TASKBANDHOVER.bmp" +NORMAL_TASKBANDSCROLLARROWGLYPHS_BMP BITMAP "bitmaps/NORMAL_TASKBANDSCROLLARROWGLYPHS.bmp" +NORMAL_TASKBANDSCROLLARROWS_BMP BITMAP "bitmaps/NORMAL_TASKBANDSCROLLARROWS.bmp" +NORMAL_TASKBANDSCROLLSHAFTHORIZONTAL_BMP BITMAP "bitmaps/NORMAL_TASKBANDSCROLLSHAFTHORIZONTAL.bmp" +NORMAL_TASKBANDSCROLLSHAFTVERTICAL_BMP BITMAP "bitmaps/NORMAL_TASKBANDSCROLLSHAFTVERTICAL.bmp" +NORMAL_TASKBANDSCROLLTHUMBGRIPPERHORIZONTAL_BMP BITMAP "bitmaps/NORMAL_TASKBANDSCROLLTHUMBGRIPPERHORIZONTAL.bmp" +NORMAL_TASKBANDSCROLLTHUMBGRIPPERVERTICAL_BMP BITMAP "bitmaps/NORMAL_TASKBANDSCROLLTHUMBGRIPPERVERTICAL.bmp" +NORMAL_TASKBANDSCROLLTHUMBHORIZONTAL_BMP BITMAP "bitmaps/NORMAL_TASKBANDSCROLLTHUMBHORIZONTAL.bmp" +NORMAL_TASKBANDSCROLLTHUMBVERTICAL_BMP BITMAP "bitmaps/NORMAL_TASKBANDSCROLLTHUMBVERTICAL.bmp" +NORMAL_TASKBARBACKGROUNDVERTICAL_BMP BITMAP "bitmaps/NORMAL_TASKBARBACKGROUNDVERTICAL.bmp" +NORMAL_TASKBARBACKGROUND_BMP BITMAP "bitmaps/NORMAL_TASKBARBACKGROUND.bmp" +NORMAL_TASKBARCHEVRONVERT_BMP BITMAP "bitmaps/NORMAL_TASKBARCHEVRONVERT.bmp" +NORMAL_TASKBARCHEVRON_BMP BITMAP "bitmaps/NORMAL_TASKBARCHEVRON.bmp" +NORMAL_TASKBARGRIPPERVERTICAL_BMP BITMAP "bitmaps/NORMAL_TASKBARGRIPPERVERTICAL.bmp" +NORMAL_TASKBARGRIPPER_BMP BITMAP "bitmaps/NORMAL_TASKBARGRIPPER.bmp" +NORMAL_TASKBARSIZINGBARBOTTOM_BMP BITMAP "bitmaps/NORMAL_TASKBARSIZINGBARBOTTOM.bmp" +NORMAL_TASKBARSIZINGBARLEFT_BMP BITMAP "bitmaps/NORMAL_TASKBARSIZINGBARLEFT.bmp" +NORMAL_TASKBARSIZINGBARRIGHT_BMP BITMAP "bitmaps/NORMAL_TASKBARSIZINGBARRIGHT.bmp" +NORMAL_TASKBARSIZINGBARTOP_BMP BITMAP "bitmaps/NORMAL_TASKBARSIZINGBARTOP.bmp" +NORMAL_TASKBARTRAYVERTICAL_BMP BITMAP "bitmaps/NORMAL_TASKBARTRAYVERTICAL.bmp" +NORMAL_TASKBARTRAY_BMP BITMAP "bitmaps/NORMAL_TASKBARTRAY.bmp" +NORMAL_TOOLBARBACKGROUND_BMP BITMAP "bitmaps/NORMAL_TOOLBARBACKGROUND.bmp" +NORMAL_TOOLBARBUTTONSSPLITDROPDOWNGLYPH_BMP BITMAP "bitmaps/NORMAL_TOOLBARBUTTONSSPLITDROPDOWNGLYPH.bmp" +NORMAL_TOOLBARBUTTONSSPLITDROPDOWN_BMP BITMAP "bitmaps/NORMAL_TOOLBARBUTTONSSPLITDROPDOWN.bmp" +NORMAL_TOOLBARBUTTONSSPLIT_BMP BITMAP "bitmaps/NORMAL_TOOLBARBUTTONSSPLIT.bmp" +NORMAL_TOOLBARBUTTONS_BMP BITMAP "bitmaps/NORMAL_TOOLBARBUTTONS.bmp" +NORMAL_TOOLBARGRIPPERVERT_BMP BITMAP "bitmaps/NORMAL_TOOLBARGRIPPERVERT.bmp" +NORMAL_TOOLBARGRIPPER_BMP BITMAP "bitmaps/NORMAL_TOOLBARGRIPPER.bmp" +NORMAL_TRACKBARDOWN13_BMP BITMAP "bitmaps/NORMAL_TRACKBARDOWN13.bmp" +NORMAL_TRACKBARDOWN16_BMP BITMAP "bitmaps/NORMAL_TRACKBARDOWN16.bmp" +NORMAL_TRACKBARDOWN25_BMP BITMAP "bitmaps/NORMAL_TRACKBARDOWN25.bmp" +NORMAL_TRACKBARHORIZONTAL_BMP BITMAP "bitmaps/NORMAL_TRACKBARHORIZONTAL.bmp" +NORMAL_TRACKBARLEFT13_BMP BITMAP "bitmaps/NORMAL_TRACKBARLEFT13.bmp" +NORMAL_TRACKBARLEFT16_BMP BITMAP "bitmaps/NORMAL_TRACKBARLEFT16.bmp" +NORMAL_TRACKBARLEFT25_BMP BITMAP "bitmaps/NORMAL_TRACKBARLEFT25.bmp" +NORMAL_TRACKBARRIGHT13_BMP BITMAP "bitmaps/NORMAL_TRACKBARRIGHT13.bmp" +NORMAL_TRACKBARRIGHT16_BMP BITMAP "bitmaps/NORMAL_TRACKBARRIGHT16.bmp" +NORMAL_TRACKBARRIGHT25_BMP BITMAP "bitmaps/NORMAL_TRACKBARRIGHT25.bmp" +NORMAL_TRACKBARUP13_BMP BITMAP "bitmaps/NORMAL_TRACKBARUP13.bmp" +NORMAL_TRACKBARUP16_BMP BITMAP "bitmaps/NORMAL_TRACKBARUP16.bmp" +NORMAL_TRACKBARUP25_BMP BITMAP "bitmaps/NORMAL_TRACKBARUP25.bmp" +NORMAL_TRACKBARVERTICAL_BMP BITMAP "bitmaps/NORMAL_TRACKBARVERTICAL.bmp" +NORMAL_TRAYCHEVRONHORIZONTALOPEN_BMP BITMAP "bitmaps/NORMAL_TRAYCHEVRONHORIZONTALOPEN.bmp" +NORMAL_TRAYCHEVRONHORIZONTAL_BMP BITMAP "bitmaps/NORMAL_TRAYCHEVRONHORIZONTAL.bmp" +NORMAL_TREEEXPANDCOLLAPSE_BMP BITMAP "bitmaps/NORMAL_TREEEXPANDCOLLAPSE.bmp" +NORMAL_USERTILEBACKGROUND_BMP BITMAP "bitmaps/NORMAL_USERTILEBACKGROUND.bmp" + +/* These three are needed before Windows will accept the theme */ +NORMAL_EXPLORERBARHEADERPIN_BMP BITMAP "bitmaps/dummy.bmp" +NORMAL_EXPLORERBARTOOLBARBUTTONS_BMP BITMAP "bitmaps/dummy.bmp" +NORMAL_IE_PERSONALBARMENU_BMP BITMAP "bitmaps/dummy.bmp" +NORMAL_NORMALGROUPCOLLAPSE_BMP BITMAP "bitmaps/dummy.bmp" +NORMAL_NORMALGROUPEXPAND_BMP BITMAP "bitmaps/dummy.bmp" + +STRINGTABLE +{ +1000, "Ater" +} + +STRINGTABLE +{ +2000, "Lautus Ater" +} + +STRINGTABLE +{ +3000, "Normal" +3001, "Large Fonts" +3002, "Extra Large Fonts" +} + +STRINGTABLE +{ +4000, "Normal" +4001, "Large Fonts" +4002, "Extra Large Fonts" +} + +STRINGTABLE +{ +5000, "Lautus" +5001, "Visual Style" +5002, "ReactOS Foundation" +5003, "Pisarz, based on Luna Inspirat" +5004, "Released under GNU/GPL 2.0, 2011" +5005, "http://www.reactos.org" +5006, "1.0" +5007, "Visual Style for ReactOS" +} + +#define REACTOS_VERSION_DLL +#define REACTOS_STR_FILE_DESCRIPTION "Lautus Theme\0" +#define REACTOS_STR_INTERNAL_NAME "Lautus\0" +#define REACTOS_STR_ORIGINAL_FILENAME "lautus.msstyles\0" +#include diff --git a/media/themes/lautus.msstyles/textfiles/ExtraLargeNormal.INI b/media/themes/lautus.msstyles/textfiles/ExtraLargeNormal.INI new file mode 100644 index 00000000000..fc031b218db Binary files /dev/null and b/media/themes/lautus.msstyles/textfiles/ExtraLargeNormal.INI differ diff --git a/media/themes/lautus.msstyles/textfiles/LargeFontsNormal.INI b/media/themes/lautus.msstyles/textfiles/LargeFontsNormal.INI new file mode 100644 index 00000000000..5eb87d4e2d3 Binary files /dev/null and b/media/themes/lautus.msstyles/textfiles/LargeFontsNormal.INI differ diff --git a/media/themes/lautus.msstyles/textfiles/NormalNormal.INI b/media/themes/lautus.msstyles/textfiles/NormalNormal.INI new file mode 100644 index 00000000000..0b7877b9283 Binary files /dev/null and b/media/themes/lautus.msstyles/textfiles/NormalNormal.INI differ diff --git a/ntoskrnl/config/cmapi.c b/ntoskrnl/config/cmapi.c index e532450c069..d40581c0a19 100644 --- a/ntoskrnl/config/cmapi.c +++ b/ntoskrnl/config/cmapi.c @@ -380,9 +380,10 @@ CmpQueryKeyData(IN PHHIVE Hive, IN OUT PULONG ResultLength) { NTSTATUS Status; - ULONG Size, SizeLeft, MinimumSize; + ULONG Size, SizeLeft, MinimumSize, Offset; PKEY_INFORMATION Info = (PKEY_INFORMATION)KeyInformation; USHORT NameLength; + PVOID ClassData; /* Check if the value is compressed */ if (Node->Flags & KEY_COMP_NAME) @@ -516,8 +517,36 @@ CmpQueryKeyData(IN PHHIVE Hive, /* Check if the node has a class */ if (Node->ClassLength > 0) { - /* It does. We don't support these yet */ - ASSERTMSG("Classes not supported\n", FALSE); + /* Set the class offset */ + Offset = FIELD_OFFSET(KEY_NODE_INFORMATION, Name) + NameLength; + Offset = ALIGN_UP_BY(Offset, sizeof(ULONG)); + Info->KeyNodeInformation.ClassOffset = Offset; + + /* Get the class data */ + ClassData = HvGetCell(Hive, Node->Class); + if (ClassData == NULL) + { + Status = STATUS_INSUFFICIENT_RESOURCES; + break; + } + + /* Check if we can copy anything */ + if (Length > Offset) + { + /* Copy the class data */ + RtlCopyMemory((PUCHAR)Info + Offset, + ClassData, + min(Node->ClassLength, Length - Offset)); + } + + /* Check if the buffer was large enough */ + if (Length < Offset + Node->ClassLength) + { + Status = STATUS_BUFFER_OVERFLOW; + } + + /* Release the class cell */ + HvReleaseCell(Hive, Node->Class); } else { @@ -563,13 +592,37 @@ CmpQueryKeyData(IN PHHIVE Hive, /* Check if we have a class */ if (Node->ClassLength > 0) { - /* We do, but we currently don't support this */ - ASSERTMSG("Classes not supported\n", FALSE); + /* Set the class offset */ + Offset = FIELD_OFFSET(KEY_FULL_INFORMATION, Class); + Info->KeyFullInformation.ClassOffset = Offset; + + /* Get the class data */ + ClassData = HvGetCell(Hive, Node->Class); + if (ClassData == NULL) + { + Status = STATUS_INSUFFICIENT_RESOURCES; + break; + } + + /* Copy the class data */ + NT_ASSERT(Length > Offset); + RtlCopyMemory(Info->KeyFullInformation.Class, + ClassData, + min(Node->ClassLength, Length - Offset)); + + /* Check if the buffer was large enough */ + if (Length < Offset + Node->ClassLength) + { + Status = STATUS_BUFFER_OVERFLOW; + } + + /* Release the class cell */ + HvReleaseCell(Hive, Node->Class); } else { /* We don't have a class, so set offset to -1, not 0! */ - Info->KeyNodeInformation.ClassOffset = 0xFFFFFFFF; + Info->KeyFullInformation.ClassOffset = 0xFFFFFFFF; } break; diff --git a/ntoskrnl/config/cmsysini.c b/ntoskrnl/config/cmsysini.c index aa69546a6cd..cec7e9a95fa 100644 --- a/ntoskrnl/config/cmsysini.c +++ b/ntoskrnl/config/cmsysini.c @@ -36,6 +36,71 @@ extern BOOLEAN CmFirstTime; /* FUNCTIONS ******************************************************************/ +BOOLEAN +NTAPI +CmpLinkKeyToHive( + _In_z_ PWSTR LinkKeyName, + _In_z_ PWSTR TargetKeyName) +{ + OBJECT_ATTRIBUTES ObjectAttributes; + UNICODE_STRING LinkKeyName_U; + HANDLE TargetKeyHandle; + ULONG Disposition; + NTSTATUS Status; + PAGED_CODE(); + + /* Initialize the object attributes */ + RtlInitUnicodeString(&LinkKeyName_U, LinkKeyName); + InitializeObjectAttributes(&ObjectAttributes, + &LinkKeyName_U, + OBJ_CASE_INSENSITIVE | OBJ_KERNEL_HANDLE, + NULL, + NULL); + + /* Create the link key */ + Status = ZwCreateKey(&TargetKeyHandle, + KEY_CREATE_LINK, + &ObjectAttributes, + 0, + NULL, + REG_OPTION_VOLATILE | REG_OPTION_CREATE_LINK, + &Disposition); + if (!NT_SUCCESS(Status)) + { + DPRINT1("CM: CmpLinkKeyToHive: couldn't create %S Status = 0x%lx\n", + LinkKeyName, Status); + return FALSE; + } + + /* Check if the new key was actually created */ + if (Disposition != REG_CREATED_NEW_KEY) + { + DPRINT1("CM: CmpLinkKeyToHive: %S already exists!\n", LinkKeyName); + ZwClose(TargetKeyHandle); + return FALSE; + } + + /* Set the target key name as link target */ + Status = ZwSetValueKey(TargetKeyHandle, + &CmSymbolicLinkValueName, + 0, + REG_LINK, + TargetKeyName, + wcslen(TargetKeyName) * sizeof(WCHAR)); + + /* Close the link key handle */ + ObCloseHandle(TargetKeyHandle, KernelMode); + + if (!NT_SUCCESS(Status)) + { + DPRINT1("CM: CmpLinkKeyToHive: couldn't create symbolic link for %S\n", + TargetKeyName); + return FALSE; + } + + return TRUE; +} + VOID NTAPI CmpDeleteKeyObject(PVOID DeletedObject) @@ -584,7 +649,7 @@ UseSet: LoaderExtension = LoaderBlock->Extension; if (LoaderExtension) { - ASSERTMSG("ReactOS doesn't support NTLDR Profiles yet!\n", FALSE); + DPRINT("ReactOS doesn't support NTLDR Profiles yet!\n"); } /* Create the current hardware profile key */ @@ -751,7 +816,6 @@ CmpInitializeSystemHive(IN PLOADER_PARAMETER_BLOCK LoaderBlock) if (HiveBase) { /* Import it */ - ((PHBASE_BLOCK)HiveBase)->Length = LoaderBlock->RegistryLength; Status = CmpInitializeHive((PCMHIVE*)&SystemHive, HINIT_MEMORY, HIVE_NOLAZYFLUSH, @@ -1389,9 +1453,13 @@ CmpInitializeHiveList(IN USHORT Flag) /* Get rid of the SD */ ExFreePoolWithTag(SecurityDescriptor, TAG_CM); - /* FIXME: Link SECURITY to SAM */ + /* Link SECURITY to SAM */ + CmpLinkKeyToHive(L"\\Registry\\Machine\\Security\\SAM", + L"\\Registry\\Machine\\SAM\\SAM"); - /* FIXME: Link S-1-5-18 to .Default */ + /* Link S-1-5-18 to .Default */ + CmpLinkKeyToHive(L"\\Registry\\User\\S-1-5-18", + L"\\Registry\\User\\.Default"); } BOOLEAN diff --git a/ntoskrnl/include/internal/se.h b/ntoskrnl/include/internal/se.h index bfebe98df90..a331621bb6d 100644 --- a/ntoskrnl/include/internal/se.h +++ b/ntoskrnl/include/internal/se.h @@ -442,6 +442,26 @@ SepReleaseSid( IN BOOLEAN CaptureIfKernel ); +NTSTATUS +NTAPI +SeCaptureSidAndAttributesArray( + _In_ PSID_AND_ATTRIBUTES SrcSidAndAttributes, + _In_ ULONG AttributeCount, + _In_ KPROCESSOR_MODE PreviousMode, + _In_opt_ PVOID AllocatedMem, + _In_ ULONG AllocatedLength, + _In_ POOL_TYPE PoolType, + _In_ BOOLEAN CaptureIfKernel, + _Out_ PSID_AND_ATTRIBUTES *CapturedSidAndAttributes, + _Out_ PULONG ResultLength); + +VOID +NTAPI +SeReleaseSidAndAttributesArray( + _In_ _Post_invalid_ PSID_AND_ATTRIBUTES CapturedSidAndAttributes, + _In_ KPROCESSOR_MODE AccessMode, + _In_ BOOLEAN CaptureIfKernel); + NTSTATUS NTAPI SepCaptureAcl( diff --git a/ntoskrnl/io/iomgr/driver.c b/ntoskrnl/io/iomgr/driver.c index d3e749bc3e8..da913b1dd4b 100644 --- a/ntoskrnl/io/iomgr/driver.c +++ b/ntoskrnl/io/iomgr/driver.c @@ -818,14 +818,16 @@ LdrProcessDriverModule(PLDR_DATA_TABLE_ENTRY LdrEntry, NTSTATUS NTAPI INIT_FUNCTION -IopInitializeBuiltinDriver(IN PLDR_DATA_TABLE_ENTRY LdrEntry) +IopInitializeBuiltinDriver(IN PLDR_DATA_TABLE_ENTRY BootLdrEntry) { PDEVICE_NODE DeviceNode; PDRIVER_OBJECT DriverObject; NTSTATUS Status; PWCHAR FileNameWithoutPath; LPWSTR FileExtension; - PUNICODE_STRING ModuleName = &LdrEntry->BaseDllName; + PUNICODE_STRING ModuleName = &BootLdrEntry->BaseDllName; + PLDR_DATA_TABLE_ENTRY LdrEntry; + PLIST_ENTRY NextEntry; UNICODE_STRING ServiceName; /* @@ -869,6 +871,22 @@ IopInitializeBuiltinDriver(IN PLDR_DATA_TABLE_ENTRY LdrEntry) return(Status); } + /* Lookup the new Ldr entry in PsLoadedModuleList */ + NextEntry = PsLoadedModuleList.Flink; + while (NextEntry != &PsLoadedModuleList) + { + LdrEntry = CONTAINING_RECORD(NextEntry, + LDR_DATA_TABLE_ENTRY, + InLoadOrderLinks); + if (RtlEqualUnicodeString(ModuleName, &LdrEntry->BaseDllName, TRUE)) + { + break; + } + + NextEntry = NextEntry->Flink; + } + NT_ASSERT(NextEntry != &PsLoadedModuleList); + /* * Initialize the driver */ diff --git a/ntoskrnl/mm/ARM3/miarm.h b/ntoskrnl/mm/ARM3/miarm.h index 0ec38ed1b97..fbdfeabaa56 100644 --- a/ntoskrnl/mm/ARM3/miarm.h +++ b/ntoskrnl/mm/ARM3/miarm.h @@ -1006,8 +1006,8 @@ MI_WRITE_VALID_PTE(IN PMMPTE PointerPte, // // Updates a valid PTE // -VOID FORCEINLINE +VOID MI_UPDATE_VALID_PTE(IN PMMPTE PointerPte, IN MMPTE TempPte) { @@ -1035,8 +1035,8 @@ MI_WRITE_INVALID_PTE(IN PMMPTE PointerPte, // // Erase the PTE completely // -VOID FORCEINLINE +VOID MI_ERASE_PTE(IN PMMPTE PointerPte) { /* Zero out the PTE */ diff --git a/ntoskrnl/mm/ARM3/virtual.c b/ntoskrnl/mm/ARM3/virtual.c index 6afcfc82e98..66cef0ee337 100644 --- a/ntoskrnl/mm/ARM3/virtual.c +++ b/ntoskrnl/mm/ARM3/virtual.c @@ -1692,7 +1692,12 @@ MiQueryMemoryBasicInformation(IN HANDLE ProcessHandle, if (MemoryArea->Type == MEMORY_AREA_SECTION_VIEW) { Status = MmQuerySectionView(MemoryArea, BaseAddress, &MemoryInfo, &ResultLength); - ASSERT(NT_SUCCESS(Status)); + if (!NT_SUCCESS(Status)) + { + DPRINT1("MmQuerySectionView failed. MemoryArea=%p (%p-%p), BaseAddress=%p\n", + MemoryArea, MemoryArea->StartingAddress, MemoryArea->EndingAddress, BaseAddress); + NT_ASSERT(NT_SUCCESS(Status)); + } } else { @@ -1733,7 +1738,7 @@ MiQueryMemoryBasicInformation(IN HANDLE ProcessHandle, ObDereferenceObject(TargetProcess); } - /* Return the data, NtQueryInformation already probed it*/ + /* Return the data, NtQueryInformation already probed it */ if (PreviousMode != KernelMode) { _SEH2_TRY diff --git a/ntoskrnl/mm/marea.c b/ntoskrnl/mm/marea.c index 0109d19d4c0..759be7aef28 100644 --- a/ntoskrnl/mm/marea.c +++ b/ntoskrnl/mm/marea.c @@ -828,9 +828,9 @@ MmFreeMemoryArea( Address < (ULONG_PTR)EndAddress; Address += PAGE_SIZE) { - BOOLEAN Dirty = FALSE; - SWAPENTRY SwapEntry = 0; - PFN_NUMBER Page = 0; + BOOLEAN Dirty = FALSE; + SWAPENTRY SwapEntry = 0; + PFN_NUMBER Page = 0; if (MmIsPageSwapEntry(Process, (PVOID)Address)) { @@ -1058,7 +1058,11 @@ MmCreateMemoryArea(PMMSUPPORT AddressSpace, TAG_MAREA); } - if (!MemoryArea) return STATUS_NO_MEMORY; + if (!MemoryArea) + { + DPRINT1("Not enough memory.\n"); + return STATUS_NO_MEMORY; + } RtlZeroMemory(MemoryArea, sizeof(MEMORY_AREA)); MemoryArea->Type = Type; diff --git a/ntoskrnl/ps/process.c b/ntoskrnl/ps/process.c index 9036982fc77..d59dfc66ee0 100644 --- a/ntoskrnl/ps/process.c +++ b/ntoskrnl/ps/process.c @@ -1229,22 +1229,23 @@ PsSetProcessPriorityClass(PEPROCESS Process, /* * @implemented */ -VOID +NTSTATUS NTAPI PsSetProcessSecurityPort(PEPROCESS Process, PVOID SecurityPort) { Process->SecurityPort = SecurityPort; + return STATUS_SUCCESS; } /* * @implemented */ -NTSTATUS -NTAPI +NTSTATUS +NTAPI PsSetProcessWin32Process( - _Inout_ PEPROCESS Process, - _In_opt_ PVOID Win32Process, + _Inout_ PEPROCESS Process, + _In_opt_ PVOID Win32Process, _In_opt_ PVOID OldWin32Process) { NTSTATUS Status; diff --git a/ntoskrnl/se/audit.c b/ntoskrnl/se/audit.c index 92b87fa8377..608ce41e2ec 100644 --- a/ntoskrnl/se/audit.c +++ b/ntoskrnl/se/audit.c @@ -5,6 +5,7 @@ * PURPOSE: Audit functions * * PROGRAMMERS: Eric Kohl + * Timo Kreuzer (timo.kreuzer@reactos.org) */ /* INCLUDES *******************************************************************/ @@ -13,6 +14,8 @@ #define NDEBUG #include +#define SEP_PRIVILEGE_SET_MAX_COUNT 60 + /* PRIVATE FUNCTIONS***********************************************************/ BOOLEAN @@ -180,6 +183,145 @@ SeLocateProcessImageName(IN PEPROCESS Process, return Status; } +VOID +NTAPI +SepAdtCloseObjectAuditAlarm( + PUNICODE_STRING SubsystemName, + PVOID HandleId, + PSID Sid) +{ + UNIMPLEMENTED; +} + +VOID +NTAPI +SepAdtPrivilegedServiceAuditAlarm( + PSECURITY_SUBJECT_CONTEXT SubjectContext, + _In_opt_ PUNICODE_STRING SubsystemName, + _In_opt_ PUNICODE_STRING ServiceName, + _In_ PTOKEN Token, + _In_ PTOKEN PrimaryToken, + _In_ PPRIVILEGE_SET Privileges, + _In_ BOOLEAN AccessGranted ) +{ + UNIMPLEMENTED; +} + +_Must_inspect_result_ +NTSTATUS +NTAPI +SepAccessCheckAndAuditAlarm( + _In_ PUNICODE_STRING SubsystemName, + _In_opt_ PVOID HandleId, + _In_ PHANDLE ClientToken, + _In_ PUNICODE_STRING ObjectTypeName, + _In_ PUNICODE_STRING ObjectName, + _In_ PSECURITY_DESCRIPTOR SecurityDescriptor, + _In_opt_ PSID PrincipalSelfSid, + _In_ ACCESS_MASK DesiredAccess, + _In_ AUDIT_EVENT_TYPE AuditType, + _In_ ULONG Flags, + _In_reads_opt_(ObjectTypeListLength) POBJECT_TYPE_LIST ObjectTypeList, + _In_ ULONG ObjectTypeListLength, + _In_ PGENERIC_MAPPING GenericMapping, + _Out_writes_(ObjectTypeListLength) PACCESS_MASK GrantedAccessList, + _Out_writes_(ObjectTypeListLength) PNTSTATUS AccessStatusList, + _Out_ PBOOLEAN GenerateOnClose, + _In_ BOOLEAN UseResultList) +{ + SECURITY_SUBJECT_CONTEXT SubjectContext; + ULONG ResultListLength; + GENERIC_MAPPING LocalGenericMapping; + NTSTATUS Status; + PAGED_CODE(); + + DBG_UNREFERENCED_LOCAL_VARIABLE(LocalGenericMapping); + + /* Only user mode is supported! */ + ASSERT(ExGetPreviousMode() != KernelMode); + + /* Validate AuditType */ + if ((AuditType != AuditEventObjectAccess) && + (AuditType != AuditEventDirectoryServiceAccess)) + { + DPRINT1("Invalid audit type: %u\n", AuditType); + return STATUS_INVALID_PARAMETER; + } + + /* Capture the security subject context */ + SeCaptureSubjectContext(&SubjectContext); + + /* Did the caller pass a token handle? */ + if (ClientToken == NULL) + { + /* Check if we have a token in the subject context */ + if (SubjectContext.ClientToken == NULL) + { + Status = STATUS_NO_IMPERSONATION_TOKEN; + goto Cleanup; + } + + /* Check if we have a valid impersonation level */ + if (SubjectContext.ImpersonationLevel < SecurityIdentification) + { + Status = STATUS_BAD_IMPERSONATION_LEVEL; + goto Cleanup; + } + } + + /* Are we using a result list? */ + if (UseResultList) + { + /* The list length equals the object type list length */ + ResultListLength = ObjectTypeListLength; + if ((ResultListLength == 0) || (ResultListLength > 0x1000)) + { + Status = STATUS_INVALID_PARAMETER; + goto Cleanup; + } + } + else + { + /* List length is 1 */ + ResultListLength = 1; + } + + _SEH2_TRY + { + /* Probe output buffers */ + ProbeForWrite(AccessStatusList, + ResultListLength * sizeof(*AccessStatusList), + sizeof(*AccessStatusList)); + ProbeForWrite(GrantedAccessList, + ResultListLength * sizeof(*GrantedAccessList), + sizeof(*GrantedAccessList)); + + /* Probe generic mapping and make a local copy */ + ProbeForRead(GenericMapping, sizeof(*GenericMapping), sizeof(ULONG)); + LocalGenericMapping = * GenericMapping; + } + _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) + { + Status = _SEH2_GetExceptionCode(); + goto Cleanup; + } + _SEH2_END; + + + UNIMPLEMENTED; + + /* For now pretend everything else is ok */ + Status = STATUS_SUCCESS; + +Cleanup: + + /* Release the security subject context */ + SeReleaseSubjectContext(&SubjectContext); + + return Status; +} + + /* PUBLIC FUNCTIONS ***********************************************************/ /* @@ -340,30 +482,88 @@ SePrivilegeObjectAuditAlarm(IN HANDLE Handle, NTSTATUS NTAPI -NtAccessCheckAndAuditAlarm(IN PUNICODE_STRING SubsystemName, - IN HANDLE HandleId, - IN PUNICODE_STRING ObjectTypeName, - IN PUNICODE_STRING ObjectName, - IN PSECURITY_DESCRIPTOR SecurityDescriptor, - IN ACCESS_MASK DesiredAccess, - IN PGENERIC_MAPPING GenericMapping, - IN BOOLEAN ObjectCreation, - OUT PACCESS_MASK GrantedAccess, - OUT PNTSTATUS AccessStatus, - OUT PBOOLEAN GenerateOnClose) +NtCloseObjectAuditAlarm( + PUNICODE_STRING SubsystemName, + PVOID HandleId, + BOOLEAN GenerateOnClose) { - UNIMPLEMENTED; - return STATUS_NOT_IMPLEMENTED; -} + UNICODE_STRING CapturedSubsystemName; + KPROCESSOR_MODE PreviousMode; + BOOLEAN UseImpersonationToken; + PETHREAD CurrentThread; + BOOLEAN CopyOnOpen, EffectiveOnly; + SECURITY_IMPERSONATION_LEVEL ImpersonationLevel; + NTSTATUS Status; + PTOKEN Token; + PAGED_CODE(); + /* Get the previous mode (only user mode is supported!) */ + PreviousMode = ExGetPreviousMode(); + ASSERT(PreviousMode != KernelMode); -NTSTATUS NTAPI -NtCloseObjectAuditAlarm(IN PUNICODE_STRING SubsystemName, - IN PVOID HandleId, - IN BOOLEAN GenerateOnClose) -{ - UNIMPLEMENTED; - return STATUS_NOT_IMPLEMENTED; + /* Do we even need to do anything? */ + if (!GenerateOnClose) + { + /* Nothing to do, return success */ + return STATUS_SUCCESS; + } + + /* Validate privilege */ + if (!SeSinglePrivilegeCheck(SeAuditPrivilege, PreviousMode)) + { + DPRINT1("Caller does not have SeAuditPrivilege\n"); + return STATUS_PRIVILEGE_NOT_HELD; + } + + /* Probe and capture the subsystem name */ + Status = ProbeAndCaptureUnicodeString(&CapturedSubsystemName, + PreviousMode, + SubsystemName); + if (!NT_SUCCESS(Status)) + { + DPRINT1("Failed to capture subsystem name!\n"); + return Status; + } + + /* Get the current thread and check if it's impersonating */ + CurrentThread = PsGetCurrentThread(); + if (PsIsThreadImpersonating(CurrentThread)) + { + /* Get the impersonation token */ + Token = PsReferenceImpersonationToken(CurrentThread, + &CopyOnOpen, + &EffectiveOnly, + &ImpersonationLevel); + UseImpersonationToken = TRUE; + } + else + { + /* Get the primary token */ + Token = PsReferencePrimaryToken(PsGetCurrentProcess()); + UseImpersonationToken = FALSE; + } + + /* Call the internal function */ + SepAdtCloseObjectAuditAlarm(&CapturedSubsystemName, + HandleId, + Token->UserAndGroups->Sid); + + /* Release the captured subsystem name */ + ReleaseCapturedUnicodeString(&CapturedSubsystemName, PreviousMode); + + /* Check what token we used */ + if (UseImpersonationToken) + { + /* Release impersonation token */ + PsDereferenceImpersonationToken(Token); + } + else + { + /* Release primary token */ + PsDereferencePrimaryToken(Token); + } + + return STATUS_SUCCESS; } @@ -396,15 +596,157 @@ NtOpenObjectAuditAlarm(IN PUNICODE_STRING SubsystemName, } -NTSTATUS NTAPI -NtPrivilegedServiceAuditAlarm(IN PUNICODE_STRING SubsystemName, - IN PUNICODE_STRING ServiceName, - IN HANDLE ClientToken, - IN PPRIVILEGE_SET Privileges, - IN BOOLEAN AccessGranted) +__kernel_entry +NTSTATUS +NTAPI +NtPrivilegedServiceAuditAlarm( + _In_opt_ PUNICODE_STRING SubsystemName, + _In_opt_ PUNICODE_STRING ServiceName, + _In_ HANDLE ClientToken, + _In_ PPRIVILEGE_SET Privileges, + _In_ BOOLEAN AccessGranted ) { - UNIMPLEMENTED; - return STATUS_NOT_IMPLEMENTED; + KPROCESSOR_MODE PreviousMode; + PTOKEN Token; + volatile PPRIVILEGE_SET CapturedPrivileges = NULL; + UNICODE_STRING CapturedSubsystemName; + UNICODE_STRING CapturedServiceName; + ULONG PrivilegeCount, PrivilegesSize; + SECURITY_SUBJECT_CONTEXT SubjectContext; + NTSTATUS Status; + PAGED_CODE(); + + /* Get the previous mode (only user mode is supported!) */ + PreviousMode = ExGetPreviousMode(); + ASSERT(PreviousMode != KernelMode); + + /* Reference the client token */ + Status = ObReferenceObjectByHandle(ClientToken, + TOKEN_QUERY, + SeTokenObjectType, + PreviousMode, + (PVOID*)&Token, + NULL); + if (!NT_SUCCESS(Status)) + { + DPRINT1("Failed to reference client token: 0x%lx\n", Status); + return Status; + } + + /* Validate the token's impersonation level */ + if ((Token->TokenType == TokenImpersonation) && + (Token->ImpersonationLevel < SecurityIdentification)) + { + DPRINT1("Invalid impersonation level (%u)\n", Token->ImpersonationLevel); + ObfDereferenceObject(Token); + return STATUS_BAD_IMPERSONATION_LEVEL; + } + + /* Validate privilege */ + if (!SeSinglePrivilegeCheck(SeAuditPrivilege, PreviousMode)) + { + DPRINT1("Caller does not have SeAuditPrivilege\n"); + ObfDereferenceObject(Token); + return STATUS_PRIVILEGE_NOT_HELD; + } + + /* Do we have a subsystem name? */ + if (SubsystemName != NULL) + { + /* Probe and capture the subsystem name */ + Status = ProbeAndCaptureUnicodeString(&CapturedSubsystemName, + PreviousMode, + SubsystemName); + if (!NT_SUCCESS(Status)) + { + DPRINT1("Failed to capture subsystem name!\n"); + goto Cleanup; + } + } + + /* Do we have a service name? */ + if (ServiceName != NULL) + { + /* Probe and capture the service name */ + Status = ProbeAndCaptureUnicodeString(&CapturedServiceName, + PreviousMode, + ServiceName); + if (!NT_SUCCESS(Status)) + { + DPRINT1("Failed to capture service name!\n"); + goto Cleanup; + } + } + + _SEH2_TRY + { + /* Probe the basic privilege set structure */ + ProbeForRead(Privileges, sizeof(PRIVILEGE_SET), sizeof(ULONG)); + + /* Validate privilege count */ + PrivilegeCount = Privileges->PrivilegeCount; + if (PrivilegeCount > SEP_PRIVILEGE_SET_MAX_COUNT) + { + Status = STATUS_INVALID_PARAMETER; + goto Cleanup; + } + + /* Calculate the size of the Privileges structure */ + PrivilegesSize = FIELD_OFFSET(PRIVILEGE_SET, Privilege[PrivilegeCount]); + + /* Probe the whole structure */ + ProbeForRead(Privileges, PrivilegesSize, sizeof(ULONG)); + + /* Allocate a temp buffer */ + CapturedPrivileges = ExAllocatePoolWithTag(PagedPool, + PrivilegesSize, + 'rPeS'); + if (CapturedPrivileges == NULL) + { + DPRINT1("Failed to allocate %u bytes\n", PrivilegesSize); + Status = STATUS_INSUFFICIENT_RESOURCES; + goto Cleanup; + } + + /* Copy the privileges */ + RtlCopyMemory(CapturedPrivileges, Privileges, PrivilegesSize); + } + _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) + { + Status = _SEH2_GetExceptionCode(); + DPRINT1("Got exception 0x%lx\n", Status); + goto Cleanup; + } + _SEH2_END; + + /* Capture the security subject context */ + SeCaptureSubjectContext(&SubjectContext); + + /* Call the internal function */ + SepAdtPrivilegedServiceAuditAlarm(&SubjectContext, + &CapturedSubsystemName, + &CapturedServiceName, + Token, + SubjectContext.PrimaryToken, + CapturedPrivileges, + AccessGranted); + + /* Release the security subject context */ + SeReleaseSubjectContext(&SubjectContext); + + Status = STATUS_SUCCESS; + +Cleanup: + /* Cleanup resources */ + if (SubsystemName != NULL) + ReleaseCapturedUnicodeString(&CapturedSubsystemName, PreviousMode); + if (ServiceName != NULL) + ReleaseCapturedUnicodeString(&CapturedServiceName, PreviousMode); + if (CapturedPrivileges != NULL) + ExFreePoolWithTag(CapturedPrivileges, 0); + ObDereferenceObject(Token); + + return Status; } @@ -420,4 +762,171 @@ NtPrivilegeObjectAuditAlarm(IN PUNICODE_STRING SubsystemName, return STATUS_NOT_IMPLEMENTED; } + +_Must_inspect_result_ +__kernel_entry +NTSTATUS +NTAPI +NtAccessCheckAndAuditAlarm( + _In_ PUNICODE_STRING SubsystemName, + _In_opt_ PVOID HandleId, + _In_ PUNICODE_STRING ObjectTypeName, + _In_ PUNICODE_STRING ObjectName, + _In_ PSECURITY_DESCRIPTOR SecurityDescriptor, + _In_ ACCESS_MASK DesiredAccess, + _In_ PGENERIC_MAPPING GenericMapping, + _In_ BOOLEAN ObjectCreation, + _Out_ PACCESS_MASK GrantedAccess, + _Out_ PNTSTATUS AccessStatus, + _Out_ PBOOLEAN GenerateOnClose) +{ + /* Call the internal function */ + return SepAccessCheckAndAuditAlarm(SubsystemName, + HandleId, + NULL, + ObjectTypeName, + ObjectName, + SecurityDescriptor, + NULL, + DesiredAccess, + AuditEventObjectAccess, + 0, + NULL, + 0, + GenericMapping, + GrantedAccess, + AccessStatus, + GenerateOnClose, + FALSE); +} + +_Must_inspect_result_ +__kernel_entry +NTSTATUS +NTAPI +NtAccessCheckByTypeAndAuditAlarm( + _In_ PUNICODE_STRING SubsystemName, + _In_opt_ PVOID HandleId, + _In_ PUNICODE_STRING ObjectTypeName, + _In_ PUNICODE_STRING ObjectName, + _In_ PSECURITY_DESCRIPTOR SecurityDescriptor, + _In_opt_ PSID PrincipalSelfSid, + _In_ ACCESS_MASK DesiredAccess, + _In_ AUDIT_EVENT_TYPE AuditType, + _In_ ULONG Flags, + _In_reads_opt_(ObjectTypeLength) POBJECT_TYPE_LIST ObjectTypeList, + _In_ ULONG ObjectTypeLength, + _In_ PGENERIC_MAPPING GenericMapping, + _In_ BOOLEAN ObjectCreation, + _Out_ PACCESS_MASK GrantedAccess, + _Out_ PNTSTATUS AccessStatus, + _Out_ PBOOLEAN GenerateOnClose) +{ + /* Call the internal function */ + return SepAccessCheckAndAuditAlarm(SubsystemName, + HandleId, + NULL, + ObjectTypeName, + ObjectName, + SecurityDescriptor, + PrincipalSelfSid, + DesiredAccess, + AuditType, + Flags, + ObjectTypeList, + ObjectTypeLength, + GenericMapping, + GrantedAccess, + AccessStatus, + GenerateOnClose, + FALSE); +} + +_Must_inspect_result_ +__kernel_entry +NTSTATUS +NTAPI +NtAccessCheckByTypeResultListAndAuditAlarm( + _In_ PUNICODE_STRING SubsystemName, + _In_opt_ PVOID HandleId, + _In_ PUNICODE_STRING ObjectTypeName, + _In_ PUNICODE_STRING ObjectName, + _In_ PSECURITY_DESCRIPTOR SecurityDescriptor, + _In_opt_ PSID PrincipalSelfSid, + _In_ ACCESS_MASK DesiredAccess, + _In_ AUDIT_EVENT_TYPE AuditType, + _In_ ULONG Flags, + _In_reads_opt_(ObjectTypeListLength) POBJECT_TYPE_LIST ObjectTypeList, + _In_ ULONG ObjectTypeListLength, + _In_ PGENERIC_MAPPING GenericMapping, + _In_ BOOLEAN ObjectCreation, + _Out_writes_(ObjectTypeListLength) PACCESS_MASK GrantedAccessList, + _Out_writes_(ObjectTypeListLength) PNTSTATUS AccessStatusList, + _Out_ PBOOLEAN GenerateOnClose) +{ + /* Call the internal function */ + return SepAccessCheckAndAuditAlarm(SubsystemName, + HandleId, + NULL, + ObjectTypeName, + ObjectName, + SecurityDescriptor, + PrincipalSelfSid, + DesiredAccess, + AuditType, + Flags, + ObjectTypeList, + ObjectTypeListLength, + GenericMapping, + GrantedAccessList, + AccessStatusList, + GenerateOnClose, + TRUE); +} + +_Must_inspect_result_ +__kernel_entry +NTSTATUS +NTAPI +NtAccessCheckByTypeResultListAndAuditAlarmByHandle( + _In_ PUNICODE_STRING SubsystemName, + _In_opt_ PVOID HandleId, + _In_ HANDLE ClientToken, + _In_ PUNICODE_STRING ObjectTypeName, + _In_ PUNICODE_STRING ObjectName, + _In_ PSECURITY_DESCRIPTOR SecurityDescriptor, + _In_opt_ PSID PrincipalSelfSid, + _In_ ACCESS_MASK DesiredAccess, + _In_ AUDIT_EVENT_TYPE AuditType, + _In_ ULONG Flags, + _In_reads_opt_(ObjectTypeListLength) POBJECT_TYPE_LIST ObjectTypeList, + _In_ ULONG ObjectTypeListLength, + _In_ PGENERIC_MAPPING GenericMapping, + _In_ BOOLEAN ObjectCreation, + _Out_writes_(ObjectTypeListLength) PACCESS_MASK GrantedAccessList, + _Out_writes_(ObjectTypeListLength) PNTSTATUS AccessStatusList, + _Out_ PBOOLEAN GenerateOnClose) +{ + UNREFERENCED_PARAMETER(ObjectCreation); + + /* Call the internal function */ + return SepAccessCheckAndAuditAlarm(SubsystemName, + HandleId, + &ClientToken, + ObjectTypeName, + ObjectName, + SecurityDescriptor, + PrincipalSelfSid, + DesiredAccess, + AuditType, + Flags, + ObjectTypeList, + ObjectTypeListLength, + GenericMapping, + GrantedAccessList, + AccessStatusList, + GenerateOnClose, + TRUE); +} + /* EOF */ diff --git a/ntoskrnl/se/priv.c b/ntoskrnl/se/priv.c index 7ab2c998850..a89077a8fea 100644 --- a/ntoskrnl/se/priv.c +++ b/ntoskrnl/se/priv.c @@ -90,7 +90,7 @@ SepPrivilegeCheck(PTOKEN Token, Required = (PrivilegeControl & PRIVILEGE_SET_ALL_NECESSARY) ? PrivilegeCount : 1; /* Loop all requested privileges until we found the required ones */ - for (i = 0; i < PrivilegeCount && Required > 0; i++) + for (i = 0; i < PrivilegeCount; i++) { /* Loop the privileges of the token */ for (j = 0; j < Token->PrivilegeCount; j++) @@ -107,6 +107,13 @@ SepPrivilegeCheck(PTOKEN Token, { Privileges[i].Attributes |= SE_PRIVILEGE_USED_FOR_ACCESS; Required--; + + /* Check if we have found all privileges */ + if (Required == 0) + { + /* We're done! */ + return TRUE; + } } /* Leave the inner loop */ @@ -115,8 +122,9 @@ SepPrivilegeCheck(PTOKEN Token, } } - /* Return whether we found all required privileges */ - return (Required == 0); + /* When we reached this point, we did not find all privileges */ + NT_ASSERT(Required > 0); + return FALSE; } NTSTATUS diff --git a/ntoskrnl/se/semgr.c b/ntoskrnl/se/semgr.c index 393b9bf27a5..277f471c9b1 100644 --- a/ntoskrnl/se/semgr.c +++ b/ntoskrnl/se/semgr.c @@ -617,7 +617,7 @@ SepAccessCheck(IN PSECURITY_DESCRIPTOR SecurityDescriptor, *GrantedAccess = CurrentAccess & DesiredAccess; - if ((*GrantedAccess & ~VALID_INHERIT_FLAGS) == + if ((*GrantedAccess & ~VALID_INHERIT_FLAGS) == (DesiredAccess & ~VALID_INHERIT_FLAGS)) { *AccessStatus = STATUS_SUCCESS; @@ -1072,29 +1072,6 @@ NtAccessCheckByType(IN PSECURITY_DESCRIPTOR SecurityDescriptor, return STATUS_NOT_IMPLEMENTED; } -NTSTATUS -NTAPI -NtAccessCheckByTypeAndAuditAlarm(IN PUNICODE_STRING SubsystemName, - IN HANDLE HandleId, - IN PUNICODE_STRING ObjectTypeName, - IN PUNICODE_STRING ObjectName, - IN PSECURITY_DESCRIPTOR SecurityDescriptor, - IN PSID PrincipalSelfSid, - IN ACCESS_MASK DesiredAccess, - IN AUDIT_EVENT_TYPE AuditType, - IN ULONG Flags, - IN POBJECT_TYPE_LIST ObjectTypeList, - IN ULONG ObjectTypeLength, - IN PGENERIC_MAPPING GenericMapping, - IN BOOLEAN ObjectCreation, - OUT PACCESS_MASK GrantedAccess, - OUT PNTSTATUS AccessStatus, - OUT PBOOLEAN GenerateOnClose) -{ - UNIMPLEMENTED; - return STATUS_NOT_IMPLEMENTED; -} - NTSTATUS NTAPI NtAccessCheckByTypeResultList(IN PSECURITY_DESCRIPTOR SecurityDescriptor, @@ -1113,51 +1090,4 @@ NtAccessCheckByTypeResultList(IN PSECURITY_DESCRIPTOR SecurityDescriptor, return STATUS_NOT_IMPLEMENTED; } -NTSTATUS -NTAPI -NtAccessCheckByTypeResultListAndAuditAlarm(IN PUNICODE_STRING SubsystemName, - IN HANDLE HandleId, - IN PUNICODE_STRING ObjectTypeName, - IN PUNICODE_STRING ObjectName, - IN PSECURITY_DESCRIPTOR SecurityDescriptor, - IN PSID PrincipalSelfSid, - IN ACCESS_MASK DesiredAccess, - IN AUDIT_EVENT_TYPE AuditType, - IN ULONG Flags, - IN POBJECT_TYPE_LIST ObjectTypeList, - IN ULONG ObjectTypeLength, - IN PGENERIC_MAPPING GenericMapping, - IN BOOLEAN ObjectCreation, - OUT PACCESS_MASK GrantedAccess, - OUT PNTSTATUS AccessStatus, - OUT PBOOLEAN GenerateOnClose) -{ - UNIMPLEMENTED; - return STATUS_NOT_IMPLEMENTED; -} - -NTSTATUS -NTAPI -NtAccessCheckByTypeResultListAndAuditAlarmByHandle(IN PUNICODE_STRING SubsystemName, - IN HANDLE HandleId, - IN HANDLE ClientToken, - IN PUNICODE_STRING ObjectTypeName, - IN PUNICODE_STRING ObjectName, - IN PSECURITY_DESCRIPTOR SecurityDescriptor, - IN PSID PrincipalSelfSid, - IN ACCESS_MASK DesiredAccess, - IN AUDIT_EVENT_TYPE AuditType, - IN ULONG Flags, - IN POBJECT_TYPE_LIST ObjectTypeList, - IN ULONG ObjectTypeLength, - IN PGENERIC_MAPPING GenericMapping, - IN BOOLEAN ObjectCreation, - OUT PACCESS_MASK GrantedAccess, - OUT PNTSTATUS AccessStatus, - OUT PBOOLEAN GenerateOnClose) -{ - UNIMPLEMENTED; - return STATUS_NOT_IMPLEMENTED; -} - /* EOF */ diff --git a/ntoskrnl/se/sid.c b/ntoskrnl/se/sid.c index be8625e4c2e..2ccbdf3a3df 100644 --- a/ntoskrnl/se/sid.c +++ b/ntoskrnl/se/sid.c @@ -13,6 +13,8 @@ #define NDEBUG #include +#define TAG_SID_AND_ATTRIBUTES 'aSeS' + #if defined (ALLOC_PRAGMA) #pragma alloc_text(INIT, SepInitSecurityIDs) #endif @@ -340,4 +342,222 @@ SepReleaseSid(IN PSID CapturedSid, } } +NTSTATUS +NTAPI +SeCaptureSidAndAttributesArray( + _In_ PSID_AND_ATTRIBUTES SrcSidAndAttributes, + _In_ ULONG AttributeCount, + _In_ KPROCESSOR_MODE PreviousMode, + _In_opt_ PVOID AllocatedMem, + _In_ ULONG AllocatedLength, + _In_ POOL_TYPE PoolType, + _In_ BOOLEAN CaptureIfKernel, + _Out_ PSID_AND_ATTRIBUTES *CapturedSidAndAttributes, + _Out_ PULONG ResultLength) +{ + ULONG ArraySize, RequiredLength, SidLength, i; + PSID_AND_ATTRIBUTES SidAndAttributes; + PUCHAR CurrentDest; + PISID Sid; + NTSTATUS Status; + PAGED_CODE(); + + *CapturedSidAndAttributes = NULL; + *ResultLength = 0; + + if (AttributeCount == 0) + { + return STATUS_SUCCESS; + } + + if (AttributeCount > 0x1000) + { + return STATUS_INVALID_PARAMETER; + } + + if ((PreviousMode == KernelMode) && !CaptureIfKernel) + { + *CapturedSidAndAttributes = SrcSidAndAttributes; + return STATUS_SUCCESS; + } + + ArraySize = AttributeCount * sizeof(SID_AND_ATTRIBUTES); + RequiredLength = ALIGN_UP_BY(ArraySize, sizeof(ULONG)); + + /* Check for user mode data */ + if (PreviousMode != KernelMode) + { + _SEH2_TRY + { + /* First probe the whole array */ + ProbeForRead(SrcSidAndAttributes, ArraySize, sizeof(ULONG)); + + /* Loop the array elements */ + for (i = 0; i < AttributeCount; i++) + { + /* Get the SID and probe the minimal structure */ + Sid = SrcSidAndAttributes[i].Sid; + ProbeForRead(Sid, sizeof(*Sid), sizeof(ULONG)); + + /* Verify that the SID is valid */ + if (((Sid->Revision & 0xF) != SID_REVISION) || + (Sid->SubAuthorityCount > SID_MAX_SUB_AUTHORITIES)) + { + return STATUS_INVALID_SID; + } + + /* Calculate the SID length and probe the full SID */ + SidLength = RtlLengthRequiredSid(Sid->SubAuthorityCount); + ProbeForRead(Sid, SidLength, sizeof(ULONG)); + + /* Add the aligned length to the required length */ + RequiredLength += ALIGN_UP_BY(SidLength, sizeof(ULONG)); + } + } + _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) + { + return _SEH2_GetExceptionCode(); + } + _SEH2_END; + } + else + { + /* Loop the array elements */ + for (i = 0; i < AttributeCount; i++) + { + /* Get the SID and it's length */ + Sid = SrcSidAndAttributes[i].Sid; + SidLength = RtlLengthRequiredSid(Sid->SubAuthorityCount); + + /* Add the aligned length to the required length */ + RequiredLength += ALIGN_UP_BY(SidLength, sizeof(ULONG)); + } + } + + /* Assume success */ + Status = STATUS_SUCCESS; + *ResultLength = RequiredLength; + + /* Check if we have no buffer */ + if (AllocatedMem == NULL) + { + /* Allocate a new buffer */ + SidAndAttributes = ExAllocatePoolWithTag(PoolType, + RequiredLength, + TAG_SID_AND_ATTRIBUTES); + if (SidAndAttributes == NULL) + { + return STATUS_INSUFFICIENT_RESOURCES; + } + } + /* Otherwise check if the buffer is large enough */ + else if (AllocatedLength >= RequiredLength) + { + /* Buffer is large enough, use it */ + SidAndAttributes = AllocatedMem; + } + else + { + /* Buffer is too small, fail */ + return STATUS_BUFFER_TOO_SMALL; + } + + *CapturedSidAndAttributes = SidAndAttributes; + + /* Check again for user mode */ + if (PreviousMode != KernelMode) + { + _SEH2_TRY + { + /* The rest of the data starts after the array */ + CurrentDest = (PUCHAR)SidAndAttributes; + CurrentDest += ALIGN_UP_BY(ArraySize, sizeof(ULONG)); + + /* Loop the array elements */ + for (i = 0; i < AttributeCount; i++) + { + /* Get the SID and it's length */ + Sid = SrcSidAndAttributes[i].Sid; + SidLength = RtlLengthRequiredSid(Sid->SubAuthorityCount); + + /* Copy attributes */ + SidAndAttributes[i].Attributes = SrcSidAndAttributes[i].Attributes; + + /* Copy the SID to the current destination address */ + SidAndAttributes[i].Sid = (PSID)CurrentDest; + RtlCopyMemory(CurrentDest, SrcSidAndAttributes[i].Sid, SidLength); + + /* Sanity checks */ + NT_ASSERT(RtlLengthSid(SidAndAttributes[i].Sid) == SidLength); + NT_ASSERT(RtlValidSid(SidAndAttributes[i].Sid)); + + /* Update the current destination address */ + CurrentDest += ALIGN_UP_BY(SidLength, sizeof(ULONG)); + } + } + _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) + { + Status = _SEH2_GetExceptionCode(); + } + _SEH2_END; + } + else + { + /* The rest of the data starts after the array */ + CurrentDest = (PUCHAR)SidAndAttributes; + CurrentDest += ALIGN_UP_BY(ArraySize, sizeof(ULONG)); + + /* Loop the array elements */ + for (i = 0; i < AttributeCount; i++) + { + /* Get the SID and it's length */ + Sid = SrcSidAndAttributes[i].Sid; + SidLength = RtlLengthRequiredSid(Sid->SubAuthorityCount); + + /* Copy attributes */ + SidAndAttributes[i].Attributes = SrcSidAndAttributes[i].Attributes; + + /* Copy the SID to the current destination address */ + SidAndAttributes[i].Sid = (PSID)CurrentDest; + RtlCopyMemory(CurrentDest, SrcSidAndAttributes[i].Sid, SidLength); + + /* Update the current destination address */ + CurrentDest += ALIGN_UP_BY(SidLength, sizeof(ULONG)); + } + } + + /* Check for failure */ + if (!NT_SUCCESS(Status)) + { + /* Check if we allocated a new array */ + if (SidAndAttributes != AllocatedMem) + { + /* Free the array */ + ExFreePoolWithTag(SidAndAttributes, TAG_SID_AND_ATTRIBUTES); + } + + /* Set returned address to NULL */ + *CapturedSidAndAttributes = NULL ; + } + + return Status; +} + +VOID +NTAPI +SeReleaseSidAndAttributesArray( + _In_ _Post_invalid_ PSID_AND_ATTRIBUTES CapturedSidAndAttributes, + _In_ KPROCESSOR_MODE AccessMode, + _In_ BOOLEAN CaptureIfKernel) +{ + PAGED_CODE(); + + if ((CapturedSidAndAttributes != NULL) && + ((AccessMode != KernelMode) || CaptureIfKernel)) + { + ExFreePoolWithTag(CapturedSidAndAttributes, TAG_SID_AND_ATTRIBUTES); + } +} + + /* EOF */ diff --git a/ntoskrnl/se/token.c b/ntoskrnl/se/token.c index 16cbd95e913..84b6d335995 100644 --- a/ntoskrnl/se/token.c +++ b/ntoskrnl/se/token.c @@ -64,7 +64,7 @@ static const INFORMATION_CLASS_INFO SeTokenInformationClass[] = { /* TokenGroupsAndPrivileges */ ICI_SQ_SAME( sizeof(TOKEN_GROUPS_AND_PRIVILEGES), sizeof(ULONG), ICIF_QUERY | ICIF_QUERY_SIZE_VARIABLE ), /* TokenSessionReference */ - ICI_SQ_SAME( /* FIXME */0, sizeof(ULONG), ICIF_QUERY | ICIF_QUERY_SIZE_VARIABLE ), + ICI_SQ_SAME( sizeof(ULONG), sizeof(ULONG), ICIF_SET | ICIF_QUERY_SIZE_VARIABLE ), /* TokenSandBoxInert */ ICI_SQ_SAME( sizeof(ULONG), sizeof(ULONG), ICIF_QUERY | ICIF_QUERY_SIZE_VARIABLE ), /* TokenAuditPolicy */ @@ -738,6 +738,7 @@ SepCreateToken(OUT PHANDLE TokenHandle, for (i = 0; i < GroupCount; i++) uLength += RtlLengthSid(Groups[i].Sid); + // FIXME: should use the object itself AccessToken->UserAndGroups = ExAllocatePoolWithTag(PagedPool, uLength, TAG_TOKEN_USERS); @@ -775,7 +776,9 @@ SepCreateToken(OUT PHANDLE TokenHandle, if (!NT_SUCCESS(Status)) goto done; + // FIXME: should use the object itself uLength = PrivilegeCount * sizeof(LUID_AND_ATTRIBUTES); + if (uLength == 0) uLength = sizeof(PVOID); AccessToken->Privileges = ExAllocatePoolWithTag(PagedPool, uLength, TAG_TOKEN_PRIVILAGES); @@ -812,18 +815,26 @@ SepCreateToken(OUT PHANDLE TokenHandle, /* Update privilege flags */ SepUpdatePrivilegeFlagsToken(AccessToken); - AccessToken->DefaultDacl = ExAllocatePoolWithTag(PagedPool, - DefaultDacl->AclSize, - TAG_TOKEN_ACL); - if (AccessToken->DefaultDacl == NULL) + if (DefaultDacl != NULL) { - Status = STATUS_INSUFFICIENT_RESOURCES; - goto done; - } + // FIXME: should use the object itself + AccessToken->DefaultDacl = ExAllocatePoolWithTag(PagedPool, + DefaultDacl->AclSize, + TAG_TOKEN_ACL); + if (AccessToken->DefaultDacl == NULL) + { + Status = STATUS_INSUFFICIENT_RESOURCES; + goto done; + } - RtlCopyMemory(AccessToken->DefaultDacl, - DefaultDacl, - DefaultDacl->AclSize); + RtlCopyMemory(AccessToken->DefaultDacl, + DefaultDacl, + DefaultDacl->AclSize); + } + else + { + AccessToken->DefaultDacl = NULL; + } if (!SystemToken) { @@ -1748,7 +1759,8 @@ NtSetInformationToken(IN HANDLE TokenHandle, } _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) { - _SEH2_YIELD(return _SEH2_GetExceptionCode()); + Status = _SEH2_GetExceptionCode(); + goto Cleanup; } _SEH2_END; @@ -1787,7 +1799,8 @@ NtSetInformationToken(IN HANDLE TokenHandle, } _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) { - _SEH2_YIELD(return _SEH2_GetExceptionCode()); + Status = _SEH2_GetExceptionCode(); + goto Cleanup; } _SEH2_END; @@ -1826,7 +1839,8 @@ NtSetInformationToken(IN HANDLE TokenHandle, } _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) { - _SEH2_YIELD(return _SEH2_GetExceptionCode()); + Status = _SEH2_GetExceptionCode(); + goto Cleanup; } _SEH2_END; @@ -1880,7 +1894,8 @@ NtSetInformationToken(IN HANDLE TokenHandle, } _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) { - _SEH2_YIELD(return _SEH2_GetExceptionCode()); + Status = _SEH2_GetExceptionCode(); + goto Cleanup; } _SEH2_END; @@ -1895,13 +1910,49 @@ NtSetInformationToken(IN HANDLE TokenHandle, break; } + case TokenSessionReference: + { + ULONG SessionReference; + + _SEH2_TRY + { + /* Buffer size was already verified, no need to check here again */ + SessionReference = *(PULONG)TokenInformation; + } + _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) + { + Status = _SEH2_GetExceptionCode(); + goto Cleanup; + } + _SEH2_END; + + if (!SeSinglePrivilegeCheck(SeTcbPrivilege, PreviousMode)) + { + Status = STATUS_PRIVILEGE_NOT_HELD; + goto Cleanup; + } + + /* Check if it is 0 */ + if (SessionReference == 0) + { + /* Atomically set the flag in the token */ + RtlInterlockedSetBits(&Token->TokenFlags, + TOKEN_SESSION_NOT_REFERENCED); + } + + break; + + } + default: { + DPRINT1("Unhandled TokenInformationClass: 0x%lx\n", + TokenInformationClass); Status = STATUS_NOT_IMPLEMENTED; break; } } - +Cleanup: ObDereferenceObject(Token); } @@ -2376,24 +2427,37 @@ Cleanup: NTSTATUS NTAPI -NtCreateToken(OUT PHANDLE TokenHandle, - IN ACCESS_MASK DesiredAccess, - IN POBJECT_ATTRIBUTES ObjectAttributes, - IN TOKEN_TYPE TokenType, - IN PLUID AuthenticationId, - IN PLARGE_INTEGER ExpirationTime, - IN PTOKEN_USER TokenUser, - IN PTOKEN_GROUPS TokenGroups, - IN PTOKEN_PRIVILEGES TokenPrivileges, - IN PTOKEN_OWNER TokenOwner, - IN PTOKEN_PRIMARY_GROUP TokenPrimaryGroup, - IN PTOKEN_DEFAULT_DACL TokenDefaultDacl, - IN PTOKEN_SOURCE TokenSource) +NtCreateToken( + _Out_ PHANDLE TokenHandle, + _In_ ACCESS_MASK DesiredAccess, + _In_opt_ POBJECT_ATTRIBUTES ObjectAttributes, + _In_ TOKEN_TYPE TokenType, + _In_ PLUID AuthenticationId, + _In_ PLARGE_INTEGER ExpirationTime, + _In_ PTOKEN_USER TokenUser, + _In_ PTOKEN_GROUPS TokenGroups, + _In_ PTOKEN_PRIVILEGES TokenPrivileges, + _In_opt_ PTOKEN_OWNER TokenOwner, + _In_ PTOKEN_PRIMARY_GROUP TokenPrimaryGroup, + _In_opt_ PTOKEN_DEFAULT_DACL TokenDefaultDacl, + _In_ PTOKEN_SOURCE TokenSource) { HANDLE hToken; KPROCESSOR_MODE PreviousMode; - ULONG nTokenPrivileges = 0; + ULONG PrivilegeCount, GroupCount; + PSID OwnerSid, PrimaryGroupSid; + PACL DefaultDacl; LARGE_INTEGER LocalExpirationTime = {{0, 0}}; + LUID LocalAuthenticationId; + TOKEN_SOURCE LocalTokenSource; + SECURITY_QUALITY_OF_SERVICE LocalSecurityQos; + PLUID_AND_ATTRIBUTES CapturedPrivileges = NULL; + PSID_AND_ATTRIBUTES CapturedUser = NULL; + PSID_AND_ATTRIBUTES CapturedGroups = NULL; + PSID CapturedOwnerSid = NULL; + PSID CapturedPrimaryGroupSid = NULL; + PACL CapturedDefaultDacl = NULL; + ULONG PrivilegesLength, UserLength, GroupsLength; NTSTATUS Status; PAGED_CODE(); @@ -2405,64 +2469,197 @@ NtCreateToken(OUT PHANDLE TokenHandle, _SEH2_TRY { ProbeForWriteHandle(TokenHandle); + + if (ObjectAttributes != NULL) + { + ProbeForRead(ObjectAttributes, + sizeof(OBJECT_ATTRIBUTES), + sizeof(ULONG)); + LocalSecurityQos = *(SECURITY_QUALITY_OF_SERVICE*)ObjectAttributes->SecurityQualityOfService; + } + ProbeForRead(AuthenticationId, sizeof(LUID), sizeof(ULONG)); + LocalAuthenticationId = *AuthenticationId; + LocalExpirationTime = ProbeForReadLargeInteger(ExpirationTime); + ProbeForRead(TokenUser, sizeof(TOKEN_USER), sizeof(ULONG)); + ProbeForRead(TokenGroups, sizeof(TOKEN_GROUPS), sizeof(ULONG)); + GroupCount = TokenGroups->GroupCount; + ProbeForRead(TokenPrivileges, sizeof(TOKEN_PRIVILEGES), sizeof(ULONG)); - ProbeForRead(TokenOwner, - sizeof(TOKEN_OWNER), - sizeof(ULONG)); + PrivilegeCount = TokenPrivileges->PrivilegeCount; + + if (TokenOwner != NULL) + { + ProbeForRead(TokenOwner, + sizeof(TOKEN_OWNER), + sizeof(ULONG)); + OwnerSid = TokenOwner->Owner; + } + else + { + OwnerSid = NULL; + } + ProbeForRead(TokenPrimaryGroup, sizeof(TOKEN_PRIMARY_GROUP), sizeof(ULONG)); - ProbeForRead(TokenDefaultDacl, - sizeof(TOKEN_DEFAULT_DACL), - sizeof(ULONG)); + PrimaryGroupSid = TokenPrimaryGroup->PrimaryGroup; + + if (TokenDefaultDacl != NULL) + { + ProbeForRead(TokenDefaultDacl, + sizeof(TOKEN_DEFAULT_DACL), + sizeof(ULONG)); + DefaultDacl = TokenDefaultDacl->DefaultDacl; + } + else + { + DefaultDacl = NULL; + } + ProbeForRead(TokenSource, sizeof(TOKEN_SOURCE), sizeof(ULONG)); - nTokenPrivileges = TokenPrivileges->PrivilegeCount; + LocalTokenSource = *TokenSource; } _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) { /* Return the exception code */ - _SEH2_YIELD(return _SEH2_GetExceptionCode()); + return _SEH2_GetExceptionCode(); } _SEH2_END; } else { - nTokenPrivileges = TokenPrivileges->PrivilegeCount; + if (ObjectAttributes != NULL) + LocalSecurityQos = *(SECURITY_QUALITY_OF_SERVICE*)ObjectAttributes->SecurityQualityOfService; + LocalAuthenticationId = *AuthenticationId; LocalExpirationTime = *ExpirationTime; + GroupCount = TokenGroups->GroupCount; + PrivilegeCount = TokenPrivileges->PrivilegeCount; + OwnerSid = TokenOwner ? TokenOwner->Owner : NULL; + PrimaryGroupSid = TokenPrimaryGroup->PrimaryGroup; + DefaultDacl = TokenDefaultDacl ? TokenDefaultDacl->DefaultDacl : NULL; + LocalTokenSource = *TokenSource; } + /* Check token type */ + if ((TokenType < TokenPrimary) || + (TokenType > TokenImpersonation)) + { + return STATUS_BAD_TOKEN_TYPE; + } + + /* Capture the user SID and attributes */ + Status = SeCaptureSidAndAttributesArray(&TokenUser->User, + 1, + PreviousMode, + NULL, + 0, + PagedPool, + FALSE, + &CapturedUser, + &UserLength); + if (!NT_SUCCESS(Status)) + { + goto Cleanup; + } + + /* Capture the groups SID and attributes array */ + Status = SeCaptureSidAndAttributesArray(&TokenGroups->Groups[0], + GroupCount, + PreviousMode, + NULL, + 0, + PagedPool, + FALSE, + &CapturedGroups, + &GroupsLength); + if (!NT_SUCCESS(Status)) + { + goto Cleanup; + } + + /* Capture privileges */ + Status = SeCaptureLuidAndAttributesArray(&TokenPrivileges->Privileges[0], + PrivilegeCount, + PreviousMode, + NULL, + 0, + PagedPool, + FALSE, + &CapturedPrivileges, + &PrivilegesLength); + if (!NT_SUCCESS(Status)) + { + goto Cleanup; + } + + /* Capture the token owner SID */ + if (TokenOwner != NULL) + { + Status = SepCaptureSid(OwnerSid, + PreviousMode, + PagedPool, + FALSE, + &CapturedOwnerSid); + if (!NT_SUCCESS(Status)) + { + goto Cleanup; + } + } + + /* Capture the token primary group SID */ + Status = SepCaptureSid(PrimaryGroupSid, + PreviousMode, + PagedPool, + FALSE, + &CapturedPrimaryGroupSid); + if (!NT_SUCCESS(Status)) + { + goto Cleanup; + } + + /* Capture DefaultDacl */ + if (DefaultDacl != NULL) + { + Status = SepCaptureAcl(DefaultDacl, + PreviousMode, + NonPagedPool, + FALSE, + &CapturedDefaultDacl); + } + + /* Call the internal function */ Status = SepCreateToken(&hToken, PreviousMode, DesiredAccess, ObjectAttributes, TokenType, - ((PSECURITY_QUALITY_OF_SERVICE)(ObjectAttributes->SecurityQualityOfService))->ImpersonationLevel, - AuthenticationId, + LocalSecurityQos.ImpersonationLevel, + &LocalAuthenticationId, &LocalExpirationTime, - &TokenUser->User, - TokenGroups->GroupCount, - TokenGroups->Groups, + CapturedUser, + GroupCount, + CapturedGroups, 0, // FIXME: Should capture - nTokenPrivileges, - TokenPrivileges->Privileges, - TokenOwner->Owner, - TokenPrimaryGroup->PrimaryGroup, - TokenDefaultDacl->DefaultDacl, - TokenSource, + PrivilegeCount, + CapturedPrivileges, + CapturedOwnerSid, + CapturedPrimaryGroupSid, + CapturedDefaultDacl, + &LocalTokenSource, FALSE); if (NT_SUCCESS(Status)) { @@ -2477,6 +2674,16 @@ NtCreateToken(OUT PHANDLE TokenHandle, _SEH2_END; } +Cleanup: + + /* Release what we captured */ + SeReleaseSidAndAttributesArray(CapturedUser, PreviousMode, FALSE); + SeReleaseSidAndAttributesArray(CapturedGroups, PreviousMode, FALSE); + SeReleaseLuidAndAttributesArray(CapturedPrivileges, PreviousMode, FALSE); + SepReleaseSid(CapturedOwnerSid, PreviousMode, FALSE); + SepReleaseSid(CapturedPrimaryGroupSid, PreviousMode, FALSE); + SepReleaseAcl(CapturedDefaultDacl, PreviousMode, FALSE); + return Status; } diff --git a/win32ss/drivers/displays/framebuf/screen.c b/win32ss/drivers/displays/framebuf/screen.c index 31bc740fc1d..b97a0274695 100644 --- a/win32ss/drivers/displays/framebuf/screen.c +++ b/win32ss/drivers/displays/framebuf/screen.c @@ -190,7 +190,7 @@ IntInitScreenInfo( ppdev->ScreenWidth = SelectedMode->VisScreenWidth; ppdev->ScreenHeight = SelectedMode->VisScreenHeight; ppdev->ScreenDelta = SelectedMode->ScreenStride; - ppdev->BitsPerPixel = SelectedMode->BitsPerPlane * SelectedMode->NumberOfPlanes; + ppdev->BitsPerPixel = (UCHAR)(SelectedMode->BitsPerPlane * SelectedMode->NumberOfPlanes); ppdev->MemWidth = SelectedMode->VideoMemoryBitmapWidth; ppdev->MemHeight = SelectedMode->VideoMemoryBitmapHeight; @@ -316,7 +316,7 @@ IntInitScreenInfo( pDevInfo->flGraphicsCaps |= GCAPS_PALMANAGED; pDevInfo->iDitherFormat = BMF_8BPP; /* Assuming palette is orthogonal - all colors are same size. */ - ppdev->PaletteShift = 8 - pGdiInfo->ulDACRed; + ppdev->PaletteShift = (UCHAR)(8 - pGdiInfo->ulDACRed); } else { diff --git a/win32ss/reactx/dxapi/dxapi.spec b/win32ss/reactx/dxapi/dxapi.spec index 4615635dc62..72f3f0a20e9 100644 --- a/win32ss/reactx/dxapi/dxapi.spec +++ b/win32ss/reactx/dxapi/dxapi.spec @@ -1,7 +1,7 @@ -@ stdcall _DxApi@20(long ptr long ptr long) DxApi -@ stdcall _DxApiGetVersion@0() DxApiGetVersion -@ stdcall _DxApiInitialize@32(ptr ptr ptr ptr ptr ptr ptr ptr) DxApiInitialize -@ stdcall _DxAutoflipUpdate@20(ptr ptr ptr ptr ptr) DxAutoflipUpdate -@ stdcall _DxEnableIRQ@8(ptr ptr) DxEnableIRQ -@ stdcall _DxLoseObject@8(ptr ptr) DxLoseObject -@ stdcall _DxUpdateCapture@12(ptr ptr ptr) DxUpdateCapture +@ stdcall _DxApi@20(long ptr long ptr long) +@ stdcall _DxApiGetVersion@0() +@ stdcall _DxApiInitialize@32(ptr ptr ptr ptr ptr ptr ptr ptr) +@ stdcall _DxAutoflipUpdate@20(ptr ptr ptr ptr ptr) +@ stdcall _DxEnableIRQ@8(ptr ptr) +@ stdcall _DxLoseObject@8(ptr ptr) +@ stdcall _DxUpdateCapture@12(ptr ptr ptr) diff --git a/win32ss/user/user32/windows/mdi.c b/win32ss/user/user32/windows/mdi.c index 783d7c8aea8..ba844d0da22 100644 --- a/win32ss/user/user32/windows/mdi.c +++ b/win32ss/user/user32/windows/mdi.c @@ -123,6 +123,7 @@ typedef struct UINT nTotalCreated; UINT mdiFlags; UINT sbRecalc; /* SB_xxx flags for scrollbar fixup */ + DWORD initialStyle; /* Style when window was created */ // See http://bugs.winehq.org/show_bug.cgi?id=9435 HBITMAP hBmpClose; /* ReactOS modification */ } MDICLIENTINFO; @@ -914,12 +915,18 @@ static BOOL MDI_AugmentFrameMenu( HWND frame, HWND hChild ) (LPCWSTR)HBMMENU_MBAR_CLOSE : (LPCWSTR)HBMMENU_MBAR_CLOSE_D ); /* The system menu is replaced by the child icon */ - hIcon = (HICON)GetClassLongPtrW(hChild, GCLP_HICONSM); +/* hIcon = (HICON)GetClassLongPtrW(hChild, GCLP_HICONSM); if (!hIcon) hIcon = (HICON)GetClassLongPtrW(hChild, GCLP_HICON); if (!hIcon) hIcon = LoadIconW(NULL, IDI_APPLICATION); +*/ //// End + hIcon = (HICON)SendMessageW(hChild, WM_GETICON, ICON_SMALL, 0); + if (!hIcon) + hIcon = (HICON)SendMessageW(hChild, WM_GETICON, ICON_BIG, 0); + if (!hIcon) + hIcon = LoadImageW(0, MAKEINTRESOURCEW(IDI_WINLOGO), IMAGE_ICON, GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON), LR_DEFAULTCOLOR); if (hIcon) { HDC hMemDC; @@ -1140,7 +1147,8 @@ LRESULT WINAPI MDIClientWndProc_common( HWND hwnd, UINT message, WPARAM wParam, ci->nTotalCreated = 0; ci->frameTitle = NULL; ci->mdiFlags = 0; - ci->hFrameMenu = GetMenu(cs->hwndParent); + ci->initialStyle = cs->style; + ci->hFrameMenu = GetMenu(cs->hwndParent); if (!ci->hBmpClose) ci->hBmpClose = CreateMDIMenuBitmap(); @@ -1231,8 +1239,11 @@ LRESULT WINAPI MDIClientWndProc_common( HWND hwnd, UINT message, WPARAM wParam, case WM_MDINEXT: /* lParam != 0 means previous window */ { - HWND next = MDI_GetWindow( ci, (HWND)wParam, !lParam, 0 ); + HWND hwnd = wParam ? WIN_GetFullHandle((HWND)wParam) : ci->hwndActiveChild; + HWND next = MDI_GetWindow( ci, hwnd, !lParam, 0 ); MDI_SwitchActiveChild( ci, next, TRUE ); + if(!lParam) + SetWindowPos(hwnd, HWND_BOTTOM, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE | SWP_NOACTIVATE); break; } @@ -1431,7 +1442,7 @@ LRESULT WINAPI DefFrameProcW( HWND hwnd, HWND hwndMDIClient, case SC_NEXTWINDOW: case SC_PREVWINDOW: case SC_RESTORE: - return SendMessageW( ci->hwndActiveChild, WM_SYSCOMMAND, + return SendMessageW( ci->hwndChildMaximized, WM_SYSCOMMAND, wParam, lParam); } } @@ -1563,7 +1574,7 @@ LRESULT WINAPI DefMDIChildProcW( HWND hwnd, UINT message, return 0; case WM_MENUCHAR: - return 0x00010000; /* MDI children don't have menu bars */ + return MAKELRESULT( 0, MNC_CLOSE ); /* MDI children don't have menu bars */ case WM_CLOSE: SendMessageW( client, WM_MDIDESTROY, (WPARAM)hwnd, 0 ); @@ -1593,10 +1604,10 @@ LRESULT WINAPI DefMDIChildProcW( HWND hwnd, UINT message, return SendMessageW( GetParent(client), message, wParam, lParam); break; case SC_NEXTWINDOW: - SendMessageW( client, WM_MDINEXT, 0, 0); + SendMessageW( client, WM_MDINEXT, (WPARAM)ci->hwndActiveChild, 0); return 0; case SC_PREVWINDOW: - SendMessageW( client, WM_MDINEXT, 0, 1); + SendMessageW( client, WM_MDINEXT, (WPARAM)ci->hwndActiveChild, 1); return 0; } break; @@ -1604,7 +1615,7 @@ LRESULT WINAPI DefMDIChildProcW( HWND hwnd, UINT message, case WM_SHOWWINDOW: #ifndef __REACTOS__ case WM_SETVISIBLE: -#endif +#endif //// Commented out r57663 /*if (ci->hwndChildMaximized) ci->mdiFlags &= ~MDIF_NEEDUPDATE; else*/ MDI_PostUpdate(client, ci, SB_BOTH+1); break; @@ -1802,8 +1813,10 @@ void WINAPI CalcChildScroll( HWND hwnd, INT scroll ) SCROLLINFO info; RECT childRect, clientRect; HWND *list; + MDICLIENTINFO *ci; WINDOWINFO WindowInfo; + ci = get_client_info(hwnd); GetClientRect( hwnd, &clientRect ); SetRectEmpty( &childRect ); @@ -1821,6 +1834,7 @@ void WINAPI CalcChildScroll( HWND hwnd, INT scroll ) return; } + ERR("CalcChildScroll 1\n"); if ((list = WIN_ListChildren( hwnd ))) { int i; @@ -1831,6 +1845,7 @@ void WINAPI CalcChildScroll( HWND hwnd, INT scroll ) { HeapFree( GetProcessHeap(), 0, list ); ShowScrollBar( hwnd, SB_BOTH, FALSE ); + ERR("CalcChildScroll 2\n"); return; } if (style & WS_VISIBLE) @@ -1839,13 +1854,15 @@ void WINAPI CalcChildScroll( HWND hwnd, INT scroll ) GetWindowRect( list[i], &rect ); OffsetRect(&rect, -WindowInfo.rcClient.left, -WindowInfo.rcClient.top); + //WIN_GetRectangles( list[i], COORDS_PARENT, &rect, NULL ); + ERR("CalcChildScroll L\n"); UnionRect( &childRect, &rect, &childRect ); } } HeapFree( GetProcessHeap(), 0, list ); } UnionRect( &childRect, &clientRect, &childRect ); - + ERR("CalcChildScroll 3\n"); /* set common info values */ info.cbSize = sizeof(info); info.fMask = SIF_POS | SIF_RANGE | SIF_PAGE; @@ -1864,15 +1881,30 @@ void WINAPI CalcChildScroll( HWND hwnd, INT scroll ) info.nMax = childRect.right; info.nPos = 0; info.nPage = 1 + clientRect.right - clientRect.left; - SetScrollInfo(hwnd, SB_HORZ, &info, TRUE); - if (scroll == SB_HORZ) break; + //info.nMax = childRect.right - clientRect.right; + //info.nPos = clientRect.left - childRect.left; + if (ci->initialStyle & WS_HSCROLL) + SetScrollInfo(hwnd, SB_HORZ, &info, TRUE); + if (scroll == SB_HORZ) + { + ERR("CalcChildScroll H\n"); + break; + } + else + { + ERR("CalcChildScroll B\n"); + } /* fall through */ case SB_VERT: info.nMin = childRect.top; info.nMax = childRect.bottom; info.nPos = 0; info.nPage = 1 + clientRect.bottom - clientRect.top; - SetScrollInfo(hwnd, SB_VERT, &info, TRUE); + //info.nMax = childRect.bottom - clientRect.bottom; + //info.nPos = clientRect.top - childRect.top; + ERR("CalcChildScroll V\n"); + if (ci->initialStyle & WS_VSCROLL) + SetScrollInfo(hwnd, SB_VERT, &info, TRUE); break; } }